@quillsql/react 2.9.3 → 2.9.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 (691) hide show
  1. package/dist/cjs/AddToDashboardModal.d.ts.map +1 -0
  2. package/dist/cjs/AddToDashboardModal.js +1438 -0
  3. package/dist/cjs/BarList.d.ts.map +1 -0
  4. package/dist/cjs/BarList.js +286 -0
  5. package/dist/cjs/Chart.d.ts.map +1 -0
  6. package/dist/cjs/Chart.js +381 -0
  7. package/dist/cjs/ChartBuilder.d.ts.map +1 -0
  8. package/dist/cjs/ChartBuilder.js +680 -0
  9. package/dist/cjs/ChartEditor.d.ts.map +1 -0
  10. package/dist/cjs/ChartEditor.js +84 -0
  11. package/dist/cjs/Context.d.ts.map +1 -0
  12. package/dist/cjs/Context.js +227 -0
  13. package/dist/cjs/Dashboard.d.ts.map +1 -0
  14. package/dist/cjs/Dashboard.js +1195 -0
  15. package/dist/cjs/DateRangePicker/Calendar.d.ts.map +1 -0
  16. package/dist/cjs/DateRangePicker/Calendar.js +171 -0
  17. package/dist/cjs/DateRangePicker/DateRangePicker.d.ts.map +1 -0
  18. package/dist/cjs/DateRangePicker/DateRangePicker.js +150 -0
  19. package/dist/cjs/DateRangePicker/DateRangePickerButton.d.ts.map +1 -0
  20. package/dist/cjs/DateRangePicker/DateRangePickerButton.js +138 -0
  21. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -0
  22. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +460 -0
  23. package/dist/cjs/DateRangePicker/index.d.ts.map +1 -0
  24. package/dist/cjs/DateRangePicker/index.js +9 -0
  25. package/dist/cjs/PieChart.d.ts.map +1 -0
  26. package/dist/cjs/PieChart.js +567 -0
  27. package/dist/cjs/QuillProvider.d.ts.map +1 -0
  28. package/dist/cjs/QuillProvider.js +32 -0
  29. package/dist/cjs/ReportBuilder.d.ts.map +1 -0
  30. package/dist/cjs/ReportBuilder.js +993 -0
  31. package/dist/cjs/SQLEditor.d.ts.map +1 -0
  32. package/dist/cjs/SQLEditor.js +511 -0
  33. package/dist/cjs/Table.d.ts.map +1 -0
  34. package/dist/cjs/Table.js +579 -0
  35. package/dist/cjs/TableChart.d.ts.map +1 -0
  36. package/dist/cjs/TableChart.js +317 -0
  37. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -0
  38. package/dist/cjs/assets/ArrowDownHeadIcon.js +5 -0
  39. package/dist/cjs/assets/ArrowDownIcon.d.ts.map +1 -0
  40. package/dist/cjs/assets/ArrowDownIcon.js +5 -0
  41. package/dist/cjs/assets/ArrowDownRightIcon.d.ts.map +1 -0
  42. package/dist/cjs/assets/ArrowDownRightIcon.js +5 -0
  43. package/dist/cjs/assets/ArrowLeftHeadIcon.d.ts.map +1 -0
  44. package/dist/cjs/assets/ArrowLeftHeadIcon.js +5 -0
  45. package/dist/cjs/assets/ArrowRightHeadIcon.d.ts.map +1 -0
  46. package/dist/cjs/assets/ArrowRightHeadIcon.js +5 -0
  47. package/dist/cjs/assets/ArrowRightIcon.d.ts.map +1 -0
  48. package/dist/cjs/assets/ArrowRightIcon.js +5 -0
  49. package/dist/cjs/assets/ArrowUpHeadIcon.d.ts.map +1 -0
  50. package/dist/cjs/assets/ArrowUpHeadIcon.js +5 -0
  51. package/dist/cjs/assets/ArrowUpIcon.d.ts.map +1 -0
  52. package/dist/cjs/assets/ArrowUpIcon.js +5 -0
  53. package/dist/cjs/assets/ArrowUpRightIcon.d.ts.map +1 -0
  54. package/dist/cjs/assets/ArrowUpRightIcon.js +5 -0
  55. package/dist/cjs/assets/CalendarIcon.d.ts.map +1 -0
  56. package/dist/cjs/assets/CalendarIcon.js +5 -0
  57. package/dist/cjs/assets/CalendarNormalIcon.d.ts.map +1 -0
  58. package/dist/cjs/assets/CalendarNormalIcon.js +5 -0
  59. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -0
  60. package/dist/cjs/assets/DoubleArrowLeftHeadIcon.js +5 -0
  61. package/dist/cjs/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -0
  62. package/dist/cjs/assets/DoubleArrowRightHeadIcon.js +5 -0
  63. package/dist/cjs/assets/ExclamationFilledIcon.d.ts.map +1 -0
  64. package/dist/cjs/assets/ExclamationFilledIcon.js +5 -0
  65. package/dist/cjs/assets/FilterIcon.d.ts.map +1 -0
  66. package/dist/cjs/assets/FilterIcon.js +5 -0
  67. package/dist/cjs/assets/LoadingSpinner.d.ts.map +1 -0
  68. package/dist/cjs/assets/LoadingSpinner.js +5 -0
  69. package/dist/cjs/assets/RefreshIcon.d.ts.map +1 -0
  70. package/dist/cjs/assets/RefreshIcon.js +5 -0
  71. package/dist/cjs/assets/SearchIcon.d.ts.map +1 -0
  72. package/dist/cjs/assets/SearchIcon.js +5 -0
  73. package/dist/cjs/assets/UpLeftArrowsIcon.d.ts.map +1 -0
  74. package/dist/cjs/assets/UpLeftArrowsIcon.js +5 -0
  75. package/dist/cjs/assets/XCircleIcon.d.ts.map +1 -0
  76. package/dist/cjs/assets/XCircleIcon.js +5 -0
  77. package/dist/cjs/assets/XIcon.d.ts.map +1 -0
  78. package/dist/cjs/assets/XIcon.js +5 -0
  79. package/dist/cjs/assets/index.d.ts.map +1 -0
  80. package/dist/cjs/assets/index.js +48 -0
  81. package/dist/cjs/components/Banner/index.d.ts.map +1 -0
  82. package/dist/cjs/components/Banner/index.js +27 -0
  83. package/dist/cjs/components/BigModal/BigModal.d.ts.map +1 -0
  84. package/dist/cjs/components/BigModal/BigModal.js +87 -0
  85. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -0
  86. package/dist/cjs/components/Chart/BarChart.js +63 -0
  87. package/dist/cjs/components/Chart/ChartTooltip.d.ts.map +1 -0
  88. package/dist/cjs/components/Chart/ChartTooltip.js +235 -0
  89. package/dist/cjs/components/Chart/ChartTooltipFrame.d.ts.map +1 -0
  90. package/dist/cjs/components/Chart/ChartTooltipFrame.js +15 -0
  91. package/dist/cjs/components/Chart/ChartTooltipGroup.d.ts.map +1 -0
  92. package/dist/cjs/components/Chart/ChartTooltipGroup.js +29 -0
  93. package/dist/cjs/components/Chart/ChartTooltipRow.d.ts.map +1 -0
  94. package/dist/cjs/components/Chart/ChartTooltipRow.js +44 -0
  95. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -0
  96. package/dist/cjs/components/Chart/LineChart.js +74 -0
  97. package/dist/cjs/components/Dropdown/Dropdown.d.ts.map +1 -0
  98. package/dist/cjs/components/Dropdown/Dropdown.js +99 -0
  99. package/dist/cjs/components/Dropdown/DropdownItem.d.ts.map +1 -0
  100. package/dist/cjs/components/Dropdown/DropdownItem.js +67 -0
  101. package/dist/cjs/components/Dropdown/index.d.ts.map +1 -0
  102. package/dist/cjs/components/Dropdown/index.js +10 -0
  103. package/dist/cjs/components/Modal/Modal.d.ts.map +1 -0
  104. package/dist/cjs/components/Modal/Modal.js +90 -0
  105. package/dist/cjs/components/Modal/index.d.ts.map +1 -0
  106. package/dist/cjs/components/Modal/index.js +8 -0
  107. package/dist/cjs/components/QuillCard.d.ts.map +1 -0
  108. package/dist/cjs/components/QuillCard.js +56 -0
  109. package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -0
  110. package/dist/cjs/components/SqlTextEditor.js +44 -0
  111. package/dist/cjs/components/UiComponents.d.ts.map +1 -0
  112. package/dist/cjs/components/UiComponents.js +260 -0
  113. package/dist/cjs/components/selectUtils.d.ts.map +1 -0
  114. package/dist/cjs/components/selectUtils.js +47 -0
  115. package/dist/cjs/contexts/BaseColorContext.d.ts.map +1 -0
  116. package/dist/cjs/contexts/BaseColorContext.js +5 -0
  117. package/dist/cjs/contexts/HoveredValueContext.d.ts.map +1 -0
  118. package/dist/cjs/contexts/HoveredValueContext.js +7 -0
  119. package/dist/cjs/contexts/RootStylesContext.d.ts.map +1 -0
  120. package/dist/cjs/contexts/RootStylesContext.js +5 -0
  121. package/dist/cjs/contexts/SelectedValueContext.d.ts.map +1 -0
  122. package/dist/cjs/contexts/SelectedValueContext.js +8 -0
  123. package/dist/cjs/contexts/index.d.ts.map +1 -0
  124. package/dist/cjs/contexts/index.js +14 -0
  125. package/dist/cjs/hooks/index.d.ts.map +1 -0
  126. package/dist/cjs/hooks/index.js +14 -0
  127. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -0
  128. package/dist/cjs/hooks/useDashboard.js +53 -0
  129. package/dist/cjs/hooks/useInternalState.d.ts.map +1 -0
  130. package/dist/cjs/hooks/useInternalState.js +16 -0
  131. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -0
  132. package/dist/cjs/hooks/useOnClickOutside.js +20 -0
  133. package/dist/cjs/hooks/useOnWindowResize.d.ts.map +1 -0
  134. package/dist/cjs/hooks/useOnWindowResize.js +16 -0
  135. package/dist/cjs/hooks/useQuill.d.ts.map +1 -0
  136. package/dist/cjs/hooks/useQuill.js +87 -0
  137. package/dist/cjs/hooks/useSelectOnKeyDown.d.ts.map +1 -0
  138. package/dist/cjs/hooks/useSelectOnKeyDown.js +65 -0
  139. package/dist/cjs/index.d.ts.map +1 -0
  140. package/dist/cjs/index.js +33 -0
  141. package/dist/cjs/internals/ReportBuilder/PivotList.d.ts.map +1 -0
  142. package/dist/cjs/internals/ReportBuilder/PivotList.js +61 -0
  143. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -0
  144. package/dist/cjs/internals/ReportBuilder/PivotModal.js +873 -0
  145. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.d.ts.map +1 -0
  146. package/dist/cjs/internals/ReportBuilder/PivotModal.spec.js +213 -0
  147. package/dist/cjs/lib/font.d.ts.map +1 -0
  148. package/dist/cjs/lib/font.js +16 -0
  149. package/dist/cjs/lib/index.d.ts.map +1 -0
  150. package/dist/cjs/lib/index.js +19 -0
  151. package/dist/cjs/lib/inputTypes.d.ts.map +1 -0
  152. package/dist/cjs/lib/inputTypes.js +56 -0
  153. package/dist/cjs/lib/utils.d.ts.map +1 -0
  154. package/dist/cjs/lib/utils.js +45 -0
  155. package/dist/cjs/utils/aggregate.d.ts.map +1 -0
  156. package/dist/cjs/utils/aggregate.js +429 -0
  157. package/dist/cjs/utils/axisFormatter.d.ts.map +1 -0
  158. package/dist/cjs/utils/axisFormatter.js +189 -0
  159. package/dist/cjs/utils/color.d.ts.map +1 -0
  160. package/dist/{utils/colorToHex.js → cjs/utils/color.js} +110 -2
  161. package/dist/cjs/utils/crypto.d.ts.map +1 -0
  162. package/dist/cjs/utils/crypto.js +10 -0
  163. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -0
  164. package/dist/cjs/utils/dataFetcher.js +68 -0
  165. package/dist/cjs/utils/dates.d.ts.map +1 -0
  166. package/dist/cjs/utils/dates.js +37 -0
  167. package/dist/cjs/utils/downloadCSV.d.ts.map +1 -0
  168. package/dist/cjs/utils/downloadCSV.js +28 -0
  169. package/dist/cjs/utils/getDomain.d.ts.map +1 -0
  170. package/dist/cjs/utils/getDomain.js +31 -0
  171. package/dist/cjs/utils/merge.d.ts.map +1 -0
  172. package/dist/cjs/utils/merge.js +49 -0
  173. package/dist/cjs/utils/valueFormatter.d.ts.map +1 -0
  174. package/dist/cjs/utils/valueFormatter.js +170 -0
  175. package/dist/cjs/utils/valueFormatterCSV.d.ts.map +1 -0
  176. package/dist/cjs/utils/valueFormatterCSV.js +94 -0
  177. package/dist/esm/AddToDashboardModal.d.ts +82 -0
  178. package/dist/esm/AddToDashboardModal.d.ts.map +1 -0
  179. package/dist/esm/BarList.d.ts +22 -0
  180. package/dist/esm/BarList.d.ts.map +1 -0
  181. package/dist/esm/Chart.d.ts +12 -0
  182. package/dist/esm/Chart.d.ts.map +1 -0
  183. package/dist/esm/ChartBuilder.d.ts +45 -0
  184. package/dist/esm/ChartBuilder.d.ts.map +1 -0
  185. package/dist/esm/ChartEditor.d.ts +26 -0
  186. package/dist/esm/ChartEditor.d.ts.map +1 -0
  187. package/dist/esm/Context.d.ts +53 -0
  188. package/dist/esm/Context.d.ts.map +1 -0
  189. package/dist/esm/Dashboard.d.ts +73 -0
  190. package/dist/esm/Dashboard.d.ts.map +1 -0
  191. package/dist/{Dashboard.js → esm/Dashboard.js} +8 -0
  192. package/dist/esm/DateRangePicker/Calendar.d.ts +17 -0
  193. package/dist/esm/DateRangePicker/Calendar.d.ts.map +1 -0
  194. package/dist/esm/DateRangePicker/DateRangePicker.d.ts +39 -0
  195. package/dist/esm/DateRangePicker/DateRangePicker.d.ts.map +1 -0
  196. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts +23 -0
  197. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts.map +1 -0
  198. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +44 -0
  199. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -0
  200. package/dist/esm/DateRangePicker/index.d.ts +3 -0
  201. package/dist/esm/DateRangePicker/index.d.ts.map +1 -0
  202. package/dist/esm/PieChart.d.ts +59 -0
  203. package/dist/esm/PieChart.d.ts.map +1 -0
  204. package/dist/esm/QuillProvider.d.ts +40 -0
  205. package/dist/esm/QuillProvider.d.ts.map +1 -0
  206. package/dist/esm/ReportBuilder.d.ts +41 -0
  207. package/dist/esm/ReportBuilder.d.ts.map +1 -0
  208. package/dist/esm/SQLEditor.d.ts +50 -0
  209. package/dist/esm/SQLEditor.d.ts.map +1 -0
  210. package/dist/esm/Table.d.ts +38 -0
  211. package/dist/esm/Table.d.ts.map +1 -0
  212. package/dist/esm/TableChart.d.ts +15 -0
  213. package/dist/esm/TableChart.d.ts.map +1 -0
  214. package/dist/esm/assets/ArrowDownHeadIcon.d.ts +5 -0
  215. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -0
  216. package/dist/esm/assets/ArrowDownIcon.d.ts +5 -0
  217. package/dist/esm/assets/ArrowDownIcon.d.ts.map +1 -0
  218. package/dist/esm/assets/ArrowDownRightIcon.d.ts +5 -0
  219. package/dist/esm/assets/ArrowDownRightIcon.d.ts.map +1 -0
  220. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts +5 -0
  221. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts.map +1 -0
  222. package/dist/esm/assets/ArrowRightHeadIcon.d.ts +5 -0
  223. package/dist/esm/assets/ArrowRightHeadIcon.d.ts.map +1 -0
  224. package/dist/esm/assets/ArrowRightIcon.d.ts +5 -0
  225. package/dist/esm/assets/ArrowRightIcon.d.ts.map +1 -0
  226. package/dist/esm/assets/ArrowUpHeadIcon.d.ts +5 -0
  227. package/dist/esm/assets/ArrowUpHeadIcon.d.ts.map +1 -0
  228. package/dist/esm/assets/ArrowUpIcon.d.ts +5 -0
  229. package/dist/esm/assets/ArrowUpIcon.d.ts.map +1 -0
  230. package/dist/esm/assets/ArrowUpRightIcon.d.ts +5 -0
  231. package/dist/esm/assets/ArrowUpRightIcon.d.ts.map +1 -0
  232. package/dist/esm/assets/CalendarIcon.d.ts +5 -0
  233. package/dist/esm/assets/CalendarIcon.d.ts.map +1 -0
  234. package/dist/esm/assets/CalendarNormalIcon.d.ts +5 -0
  235. package/dist/esm/assets/CalendarNormalIcon.d.ts.map +1 -0
  236. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts +5 -0
  237. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -0
  238. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts +5 -0
  239. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -0
  240. package/dist/esm/assets/ExclamationFilledIcon.d.ts +5 -0
  241. package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -0
  242. package/dist/esm/assets/FilterIcon.d.ts +5 -0
  243. package/dist/esm/assets/FilterIcon.d.ts.map +1 -0
  244. package/dist/esm/assets/LoadingSpinner.d.ts +5 -0
  245. package/dist/esm/assets/LoadingSpinner.d.ts.map +1 -0
  246. package/dist/esm/assets/RefreshIcon.d.ts +5 -0
  247. package/dist/esm/assets/RefreshIcon.d.ts.map +1 -0
  248. package/dist/esm/assets/SearchIcon.d.ts +5 -0
  249. package/dist/esm/assets/SearchIcon.d.ts.map +1 -0
  250. package/dist/esm/assets/UpLeftArrowsIcon.d.ts +5 -0
  251. package/dist/esm/assets/UpLeftArrowsIcon.d.ts.map +1 -0
  252. package/dist/esm/assets/XCircleIcon.d.ts +5 -0
  253. package/dist/esm/assets/XCircleIcon.d.ts.map +1 -0
  254. package/dist/esm/assets/XIcon.d.ts +5 -0
  255. package/dist/esm/assets/XIcon.d.ts.map +1 -0
  256. package/dist/esm/assets/index.d.ts +22 -0
  257. package/dist/esm/assets/index.d.ts.map +1 -0
  258. package/dist/esm/components/Banner/index.d.ts +3 -0
  259. package/dist/esm/components/Banner/index.d.ts.map +1 -0
  260. package/dist/esm/components/BigModal/BigModal.d.ts +15 -0
  261. package/dist/esm/components/BigModal/BigModal.d.ts.map +1 -0
  262. package/dist/esm/components/Chart/BarChart.d.ts +15 -0
  263. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -0
  264. package/dist/esm/components/Chart/ChartTooltip.d.ts +29 -0
  265. package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -0
  266. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts +6 -0
  267. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts.map +1 -0
  268. package/dist/esm/components/Chart/ChartTooltipGroup.d.ts +11 -0
  269. package/dist/esm/components/Chart/ChartTooltipGroup.d.ts.map +1 -0
  270. package/dist/esm/components/Chart/ChartTooltipRow.d.ts +8 -0
  271. package/dist/esm/components/Chart/ChartTooltipRow.d.ts.map +1 -0
  272. package/dist/esm/components/Chart/LineChart.d.ts +13 -0
  273. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -0
  274. package/dist/esm/components/Dropdown/Dropdown.d.ts +14 -0
  275. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -0
  276. package/dist/esm/components/Dropdown/DropdownItem.d.ts +11 -0
  277. package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -0
  278. package/dist/esm/components/Dropdown/index.d.ts +3 -0
  279. package/dist/esm/components/Dropdown/index.d.ts.map +1 -0
  280. package/dist/esm/components/Modal/Modal.d.ts +15 -0
  281. package/dist/esm/components/Modal/Modal.d.ts.map +1 -0
  282. package/dist/esm/components/Modal/index.d.ts +2 -0
  283. package/dist/esm/components/Modal/index.d.ts.map +1 -0
  284. package/dist/esm/components/QuillCard.d.ts +14 -0
  285. package/dist/esm/components/QuillCard.d.ts.map +1 -0
  286. package/dist/esm/components/SqlTextEditor.d.ts +7 -0
  287. package/dist/esm/components/SqlTextEditor.d.ts.map +1 -0
  288. package/dist/esm/components/UiComponents.d.ts +113 -0
  289. package/dist/esm/components/UiComponents.d.ts.map +1 -0
  290. package/dist/esm/components/selectUtils.d.ts +10 -0
  291. package/dist/esm/components/selectUtils.d.ts.map +1 -0
  292. package/dist/esm/contexts/BaseColorContext.d.ts +4 -0
  293. package/dist/esm/contexts/BaseColorContext.d.ts.map +1 -0
  294. package/dist/esm/contexts/HoveredValueContext.d.ts +8 -0
  295. package/dist/esm/contexts/HoveredValueContext.d.ts.map +1 -0
  296. package/dist/esm/contexts/RootStylesContext.d.ts +4 -0
  297. package/dist/esm/contexts/RootStylesContext.d.ts.map +1 -0
  298. package/dist/esm/contexts/SelectedValueContext.d.ts +8 -0
  299. package/dist/esm/contexts/SelectedValueContext.d.ts.map +1 -0
  300. package/dist/esm/contexts/index.d.ts +5 -0
  301. package/dist/esm/contexts/index.d.ts.map +1 -0
  302. package/dist/esm/hooks/index.d.ts +5 -0
  303. package/dist/esm/hooks/index.d.ts.map +1 -0
  304. package/dist/esm/hooks/useDashboard.d.ts +7 -0
  305. package/dist/esm/hooks/useDashboard.d.ts.map +1 -0
  306. package/dist/esm/hooks/useInternalState.d.ts +4 -0
  307. package/dist/esm/hooks/useInternalState.d.ts.map +1 -0
  308. package/dist/esm/hooks/useOnClickOutside.d.ts +3 -0
  309. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -0
  310. package/dist/esm/hooks/useOnWindowResize.d.ts +5 -0
  311. package/dist/esm/hooks/useOnWindowResize.d.ts.map +1 -0
  312. package/dist/esm/hooks/useQuill.d.ts +46 -0
  313. package/dist/esm/hooks/useQuill.d.ts.map +1 -0
  314. package/dist/esm/hooks/useSelectOnKeyDown.d.ts +3 -0
  315. package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +1 -0
  316. package/dist/esm/index.d.ts +14 -0
  317. package/dist/esm/index.d.ts.map +1 -0
  318. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +34 -0
  319. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -0
  320. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +62 -0
  321. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -0
  322. package/dist/esm/internals/ReportBuilder/PivotModal.spec.d.ts +2 -0
  323. package/dist/esm/internals/ReportBuilder/PivotModal.spec.d.ts.map +1 -0
  324. package/dist/esm/lib/font.d.ts +14 -0
  325. package/dist/esm/lib/font.d.ts.map +1 -0
  326. package/dist/esm/lib/index.d.ts +4 -0
  327. package/dist/esm/lib/index.d.ts.map +1 -0
  328. package/dist/esm/lib/inputTypes.d.ts +21 -0
  329. package/dist/esm/lib/inputTypes.d.ts.map +1 -0
  330. package/dist/esm/lib/utils.d.ts +10 -0
  331. package/dist/esm/lib/utils.d.ts.map +1 -0
  332. package/dist/esm/utils/aggregate.d.ts +4 -0
  333. package/dist/esm/utils/aggregate.d.ts.map +1 -0
  334. package/dist/esm/utils/axisFormatter.d.ts +20 -0
  335. package/dist/esm/utils/axisFormatter.d.ts.map +1 -0
  336. package/dist/esm/utils/color.d.ts +13 -0
  337. package/dist/esm/utils/color.d.ts.map +1 -0
  338. package/dist/esm/utils/crypto.d.ts +2 -0
  339. package/dist/esm/utils/crypto.d.ts.map +1 -0
  340. package/dist/esm/utils/dataFetcher.d.ts +3 -0
  341. package/dist/esm/utils/dataFetcher.d.ts.map +1 -0
  342. package/dist/esm/utils/dates.d.ts +10 -0
  343. package/dist/esm/utils/dates.d.ts.map +1 -0
  344. package/dist/esm/utils/downloadCSV.d.ts +4 -0
  345. package/dist/esm/utils/downloadCSV.d.ts.map +1 -0
  346. package/dist/esm/utils/getDomain.d.ts +8 -0
  347. package/dist/esm/utils/getDomain.d.ts.map +1 -0
  348. package/dist/esm/utils/merge.d.ts +2 -0
  349. package/dist/esm/utils/merge.d.ts.map +1 -0
  350. package/dist/esm/utils/valueFormatter.d.ts +17 -0
  351. package/dist/esm/utils/valueFormatter.d.ts.map +1 -0
  352. package/dist/esm/utils/valueFormatterCSV.d.ts +17 -0
  353. package/dist/esm/utils/valueFormatterCSV.d.ts.map +1 -0
  354. package/package.json +11 -4
  355. package/dist/AddToDashboardModal.d.ts.map +0 -1
  356. package/dist/AddToDashboardModal.js.map +0 -1
  357. package/dist/BarList.d.ts.map +0 -1
  358. package/dist/BarList.js.map +0 -1
  359. package/dist/Chart.d.ts.map +0 -1
  360. package/dist/Chart.js.map +0 -1
  361. package/dist/ChartBuilder.d.ts.map +0 -1
  362. package/dist/ChartBuilder.js.map +0 -1
  363. package/dist/ChartEditor.d.ts.map +0 -1
  364. package/dist/ChartEditor.js.map +0 -1
  365. package/dist/Context.d.ts.map +0 -1
  366. package/dist/Context.js.map +0 -1
  367. package/dist/Dashboard.d.ts.map +0 -1
  368. package/dist/Dashboard.js.map +0 -1
  369. package/dist/DateRangePicker/Calendar.d.ts.map +0 -1
  370. package/dist/DateRangePicker/DateRangePicker.d.ts.map +0 -1
  371. package/dist/DateRangePicker/DateRangePicker.js.map +0 -1
  372. package/dist/DateRangePicker/DateRangePickerButton.d.ts.map +0 -1
  373. package/dist/DateRangePicker/DateRangePickerButton.js.map +0 -1
  374. package/dist/DateRangePicker/dateRangePickerUtils.d.ts.map +0 -1
  375. package/dist/DateRangePicker/index.d.ts.map +0 -1
  376. package/dist/PieChart.d.ts.map +0 -1
  377. package/dist/QuillProvider.d.ts.map +0 -1
  378. package/dist/ReportBuilder.d.ts.map +0 -1
  379. package/dist/ReportBuilder.js.map +0 -1
  380. package/dist/SQLEditor.d.ts.map +0 -1
  381. package/dist/SQLEditor.js.map +0 -1
  382. package/dist/Table.d.ts.map +0 -1
  383. package/dist/Table.js.map +0 -1
  384. package/dist/TableChart.d.ts.map +0 -1
  385. package/dist/TableChart.js.map +0 -1
  386. package/dist/api/ServerClient.d.ts +0 -30
  387. package/dist/api/ServerClient.d.ts.map +0 -1
  388. package/dist/api/ServerClient.js +0 -39
  389. package/dist/api/ServerClient.js.map +0 -1
  390. package/dist/assets/ArrowDownHeadIcon.d.ts.map +0 -1
  391. package/dist/assets/ArrowDownHeadIcon.js.map +0 -1
  392. package/dist/assets/ArrowDownIcon.d.ts.map +0 -1
  393. package/dist/assets/ArrowDownRightIcon.d.ts.map +0 -1
  394. package/dist/assets/ArrowLeftHeadIcon.d.ts.map +0 -1
  395. package/dist/assets/ArrowRightHeadIcon.d.ts.map +0 -1
  396. package/dist/assets/ArrowRightIcon.d.ts.map +0 -1
  397. package/dist/assets/ArrowUpHeadIcon.d.ts.map +0 -1
  398. package/dist/assets/ArrowUpIcon.d.ts.map +0 -1
  399. package/dist/assets/ArrowUpRightIcon.d.ts.map +0 -1
  400. package/dist/assets/CalendarIcon.d.ts.map +0 -1
  401. package/dist/assets/CalendarNormalIcon.d.ts.map +0 -1
  402. package/dist/assets/DoubleArrowLeftHeadIcon.d.ts.map +0 -1
  403. package/dist/assets/DoubleArrowRightHeadIcon.d.ts.map +0 -1
  404. package/dist/assets/ExclamationFilledIcon.d.ts.map +0 -1
  405. package/dist/assets/FilterIcon.d.ts.map +0 -1
  406. package/dist/assets/LoadingSpinner.d.ts.map +0 -1
  407. package/dist/assets/RefreshIcon.d.ts.map +0 -1
  408. package/dist/assets/SearchIcon.d.ts.map +0 -1
  409. package/dist/assets/UpLeftArrowsIcon.d.ts.map +0 -1
  410. package/dist/assets/XCircleIcon.d.ts.map +0 -1
  411. package/dist/assets/XIcon.d.ts.map +0 -1
  412. package/dist/assets/index.d.ts.map +0 -1
  413. package/dist/components/Banner/index.d.ts.map +0 -1
  414. package/dist/components/Banner/index.js.map +0 -1
  415. package/dist/components/BigModal/BigModal.d.ts.map +0 -1
  416. package/dist/components/Chart/BarChart.d.ts.map +0 -1
  417. package/dist/components/Chart/BarChart.js.map +0 -1
  418. package/dist/components/Chart/ChartTooltip.d.ts.map +0 -1
  419. package/dist/components/Chart/ChartTooltip.js.map +0 -1
  420. package/dist/components/Chart/ChartTooltipFrame.d.ts.map +0 -1
  421. package/dist/components/Chart/ChartTooltipFrame.js.map +0 -1
  422. package/dist/components/Chart/ChartTooltipGroup.d.ts.map +0 -1
  423. package/dist/components/Chart/ChartTooltipGroup.js.map +0 -1
  424. package/dist/components/Chart/ChartTooltipRow.d.ts.map +0 -1
  425. package/dist/components/Chart/ChartTooltipRow.js.map +0 -1
  426. package/dist/components/Chart/LineChart.d.ts.map +0 -1
  427. package/dist/components/Chart/LineChart.js.map +0 -1
  428. package/dist/components/Dropdown/Dropdown.d.ts.map +0 -1
  429. package/dist/components/Dropdown/DropdownItem.d.ts.map +0 -1
  430. package/dist/components/Dropdown/index.d.ts.map +0 -1
  431. package/dist/components/Modal/Modal.d.ts.map +0 -1
  432. package/dist/components/Modal/index.d.ts.map +0 -1
  433. package/dist/components/QuillCard.d.ts.map +0 -1
  434. package/dist/components/ReportBuilder/ColumnSelector.d.ts +0 -37
  435. package/dist/components/ReportBuilder/ColumnSelector.d.ts.map +0 -1
  436. package/dist/components/ReportBuilder/ColumnSelector.js +0 -135
  437. package/dist/components/ReportBuilder/ColumnSelector.js.map +0 -1
  438. package/dist/components/ReportBuilder/FiltersModal.d.ts +0 -40
  439. package/dist/components/ReportBuilder/FiltersModal.d.ts.map +0 -1
  440. package/dist/components/ReportBuilder/FiltersModal.js +0 -273
  441. package/dist/components/ReportBuilder/FiltersModal.js.map +0 -1
  442. package/dist/components/ReportBuilder/SortModal.d.ts +0 -28
  443. package/dist/components/ReportBuilder/SortModal.d.ts.map +0 -1
  444. package/dist/components/ReportBuilder/SortModal.js +0 -41
  445. package/dist/components/ReportBuilder/SortModal.js.map +0 -1
  446. package/dist/components/SqlTextEditor.d.ts.map +0 -1
  447. package/dist/components/SqlTextEditor.js.map +0 -1
  448. package/dist/components/UiComponents.d.ts.map +0 -1
  449. package/dist/components/UiComponents.js.map +0 -1
  450. package/dist/components/selectUtils.d.ts.map +0 -1
  451. package/dist/contexts/BaseColorContext.d.ts.map +0 -1
  452. package/dist/contexts/HoveredValueContext.d.ts.map +0 -1
  453. package/dist/contexts/RootStylesContext.d.ts.map +0 -1
  454. package/dist/contexts/SelectedValueContext.d.ts.map +0 -1
  455. package/dist/contexts/index.d.ts.map +0 -1
  456. package/dist/hooks/index.d.ts.map +0 -1
  457. package/dist/hooks/useDashboard.d.ts.map +0 -1
  458. package/dist/hooks/useInternalState.d.ts.map +0 -1
  459. package/dist/hooks/useOnClickOutside.d.ts.map +0 -1
  460. package/dist/hooks/useOnWindowResize.d.ts.map +0 -1
  461. package/dist/hooks/useQuill.d.ts.map +0 -1
  462. package/dist/hooks/useQuill.js.map +0 -1
  463. package/dist/hooks/useSelectOnKeyDown.d.ts.map +0 -1
  464. package/dist/index.d.ts.map +0 -1
  465. package/dist/internals/ReportBuilder/PivotList.d.ts.map +0 -1
  466. package/dist/internals/ReportBuilder/PivotList.js.map +0 -1
  467. package/dist/internals/ReportBuilder/PivotModal.d.ts.map +0 -1
  468. package/dist/internals/ReportBuilder/PivotModal.js.map +0 -1
  469. package/dist/internals/ReportBuilder/PivotModal.spec.d.ts.map +0 -1
  470. package/dist/lib/font.d.ts.map +0 -1
  471. package/dist/lib/index.d.ts.map +0 -1
  472. package/dist/lib/inputTypes.d.ts.map +0 -1
  473. package/dist/lib/utils.d.ts.map +0 -1
  474. package/dist/test-data/tables.d.ts +0 -2
  475. package/dist/test-data/tables.d.ts.map +0 -1
  476. package/dist/test-data/tables.js +0 -63
  477. package/dist/test-data/tables.js.map +0 -1
  478. package/dist/utils/aggregate.d.ts.map +0 -1
  479. package/dist/utils/ast.d.ts +0 -18
  480. package/dist/utils/ast.d.ts.map +0 -1
  481. package/dist/utils/ast.js +0 -310
  482. package/dist/utils/ast.js.map +0 -1
  483. package/dist/utils/axisFormatter.d.ts.map +0 -1
  484. package/dist/utils/axisFormatter.js.map +0 -1
  485. package/dist/utils/color.d.ts.map +0 -1
  486. package/dist/utils/color.js.map +0 -1
  487. package/dist/utils/colorToHex.d.ts +0 -144
  488. package/dist/utils/colorToHex.d.ts.map +0 -1
  489. package/dist/utils/colorToHex.js.map +0 -1
  490. package/dist/utils/crypto.d.ts.map +0 -1
  491. package/dist/utils/crypto.js.map +0 -1
  492. package/dist/utils/dataFetcher.d.ts.map +0 -1
  493. package/dist/utils/dataFetcher.js.map +0 -1
  494. package/dist/utils/dates.d.ts.map +0 -1
  495. package/dist/utils/dates.js.map +0 -1
  496. package/dist/utils/downloadCSV.d.ts.map +0 -1
  497. package/dist/utils/getDomain.d.ts.map +0 -1
  498. package/dist/utils/getDomain.js.map +0 -1
  499. package/dist/utils/merge.d.ts.map +0 -1
  500. package/dist/utils/merge.js.map +0 -1
  501. package/dist/utils/schema.d.ts +0 -27
  502. package/dist/utils/schema.d.ts.map +0 -1
  503. package/dist/utils/schema.js +0 -140
  504. package/dist/utils/schema.js.map +0 -1
  505. package/dist/utils/sorting.d.ts +0 -5
  506. package/dist/utils/sorting.d.ts.map +0 -1
  507. package/dist/utils/sorting.js +0 -14
  508. package/dist/utils/sorting.js.map +0 -1
  509. package/dist/utils/textFormatting.d.ts +0 -4
  510. package/dist/utils/textFormatting.d.ts.map +0 -1
  511. package/dist/utils/textFormatting.js +0 -37
  512. package/dist/utils/textFormatting.js.map +0 -1
  513. package/dist/utils/valueFormatter.d.ts.map +0 -1
  514. package/dist/utils/valueFormatter.js.map +0 -1
  515. package/dist/utils/valueFormatterCSV.d.ts.map +0 -1
  516. package/dist/utils/valueFormatterCSV.js.map +0 -1
  517. /package/dist/{AddToDashboardModal.d.ts → cjs/AddToDashboardModal.d.ts} +0 -0
  518. /package/dist/{BarList.d.ts → cjs/BarList.d.ts} +0 -0
  519. /package/dist/{Chart.d.ts → cjs/Chart.d.ts} +0 -0
  520. /package/dist/{ChartBuilder.d.ts → cjs/ChartBuilder.d.ts} +0 -0
  521. /package/dist/{ChartEditor.d.ts → cjs/ChartEditor.d.ts} +0 -0
  522. /package/dist/{Context.d.ts → cjs/Context.d.ts} +0 -0
  523. /package/dist/{Dashboard.d.ts → cjs/Dashboard.d.ts} +0 -0
  524. /package/dist/{DateRangePicker → cjs/DateRangePicker}/Calendar.d.ts +0 -0
  525. /package/dist/{DateRangePicker → cjs/DateRangePicker}/DateRangePicker.d.ts +0 -0
  526. /package/dist/{DateRangePicker → cjs/DateRangePicker}/DateRangePickerButton.d.ts +0 -0
  527. /package/dist/{DateRangePicker → cjs/DateRangePicker}/dateRangePickerUtils.d.ts +0 -0
  528. /package/dist/{DateRangePicker → cjs/DateRangePicker}/index.d.ts +0 -0
  529. /package/dist/{PieChart.d.ts → cjs/PieChart.d.ts} +0 -0
  530. /package/dist/{QuillProvider.d.ts → cjs/QuillProvider.d.ts} +0 -0
  531. /package/dist/{ReportBuilder.d.ts → cjs/ReportBuilder.d.ts} +0 -0
  532. /package/dist/{SQLEditor.d.ts → cjs/SQLEditor.d.ts} +0 -0
  533. /package/dist/{Table.d.ts → cjs/Table.d.ts} +0 -0
  534. /package/dist/{TableChart.d.ts → cjs/TableChart.d.ts} +0 -0
  535. /package/dist/{assets → cjs/assets}/ArrowDownHeadIcon.d.ts +0 -0
  536. /package/dist/{assets → cjs/assets}/ArrowDownIcon.d.ts +0 -0
  537. /package/dist/{assets → cjs/assets}/ArrowDownRightIcon.d.ts +0 -0
  538. /package/dist/{assets → cjs/assets}/ArrowLeftHeadIcon.d.ts +0 -0
  539. /package/dist/{assets → cjs/assets}/ArrowRightHeadIcon.d.ts +0 -0
  540. /package/dist/{assets → cjs/assets}/ArrowRightIcon.d.ts +0 -0
  541. /package/dist/{assets → cjs/assets}/ArrowUpHeadIcon.d.ts +0 -0
  542. /package/dist/{assets → cjs/assets}/ArrowUpIcon.d.ts +0 -0
  543. /package/dist/{assets → cjs/assets}/ArrowUpRightIcon.d.ts +0 -0
  544. /package/dist/{assets → cjs/assets}/CalendarIcon.d.ts +0 -0
  545. /package/dist/{assets → cjs/assets}/CalendarNormalIcon.d.ts +0 -0
  546. /package/dist/{assets → cjs/assets}/DoubleArrowLeftHeadIcon.d.ts +0 -0
  547. /package/dist/{assets → cjs/assets}/DoubleArrowRightHeadIcon.d.ts +0 -0
  548. /package/dist/{assets → cjs/assets}/ExclamationFilledIcon.d.ts +0 -0
  549. /package/dist/{assets → cjs/assets}/FilterIcon.d.ts +0 -0
  550. /package/dist/{assets → cjs/assets}/LoadingSpinner.d.ts +0 -0
  551. /package/dist/{assets → cjs/assets}/RefreshIcon.d.ts +0 -0
  552. /package/dist/{assets → cjs/assets}/SearchIcon.d.ts +0 -0
  553. /package/dist/{assets → cjs/assets}/UpLeftArrowsIcon.d.ts +0 -0
  554. /package/dist/{assets → cjs/assets}/XCircleIcon.d.ts +0 -0
  555. /package/dist/{assets → cjs/assets}/XIcon.d.ts +0 -0
  556. /package/dist/{assets → cjs/assets}/index.d.ts +0 -0
  557. /package/dist/{components → cjs/components}/Banner/index.d.ts +0 -0
  558. /package/dist/{components → cjs/components}/BigModal/BigModal.d.ts +0 -0
  559. /package/dist/{components → cjs/components}/Chart/BarChart.d.ts +0 -0
  560. /package/dist/{components → cjs/components}/Chart/ChartTooltip.d.ts +0 -0
  561. /package/dist/{components → cjs/components}/Chart/ChartTooltipFrame.d.ts +0 -0
  562. /package/dist/{components → cjs/components}/Chart/ChartTooltipGroup.d.ts +0 -0
  563. /package/dist/{components → cjs/components}/Chart/ChartTooltipRow.d.ts +0 -0
  564. /package/dist/{components → cjs/components}/Chart/LineChart.d.ts +0 -0
  565. /package/dist/{components → cjs/components}/Dropdown/Dropdown.d.ts +0 -0
  566. /package/dist/{components → cjs/components}/Dropdown/DropdownItem.d.ts +0 -0
  567. /package/dist/{components → cjs/components}/Dropdown/index.d.ts +0 -0
  568. /package/dist/{components → cjs/components}/Modal/Modal.d.ts +0 -0
  569. /package/dist/{components → cjs/components}/Modal/index.d.ts +0 -0
  570. /package/dist/{components → cjs/components}/QuillCard.d.ts +0 -0
  571. /package/dist/{components → cjs/components}/SqlTextEditor.d.ts +0 -0
  572. /package/dist/{components → cjs/components}/UiComponents.d.ts +0 -0
  573. /package/dist/{components → cjs/components}/selectUtils.d.ts +0 -0
  574. /package/dist/{contexts → cjs/contexts}/BaseColorContext.d.ts +0 -0
  575. /package/dist/{contexts → cjs/contexts}/HoveredValueContext.d.ts +0 -0
  576. /package/dist/{contexts → cjs/contexts}/RootStylesContext.d.ts +0 -0
  577. /package/dist/{contexts → cjs/contexts}/SelectedValueContext.d.ts +0 -0
  578. /package/dist/{contexts → cjs/contexts}/index.d.ts +0 -0
  579. /package/dist/{hooks → cjs/hooks}/index.d.ts +0 -0
  580. /package/dist/{hooks → cjs/hooks}/useDashboard.d.ts +0 -0
  581. /package/dist/{hooks → cjs/hooks}/useInternalState.d.ts +0 -0
  582. /package/dist/{hooks → cjs/hooks}/useOnClickOutside.d.ts +0 -0
  583. /package/dist/{hooks → cjs/hooks}/useOnWindowResize.d.ts +0 -0
  584. /package/dist/{hooks → cjs/hooks}/useQuill.d.ts +0 -0
  585. /package/dist/{hooks → cjs/hooks}/useSelectOnKeyDown.d.ts +0 -0
  586. /package/dist/{index.d.ts → cjs/index.d.ts} +0 -0
  587. /package/dist/{internals → cjs/internals}/ReportBuilder/PivotList.d.ts +0 -0
  588. /package/dist/{internals → cjs/internals}/ReportBuilder/PivotModal.d.ts +0 -0
  589. /package/dist/{internals → cjs/internals}/ReportBuilder/PivotModal.spec.d.ts +0 -0
  590. /package/dist/{lib → cjs/lib}/font.d.ts +0 -0
  591. /package/dist/{lib → cjs/lib}/index.d.ts +0 -0
  592. /package/dist/{lib → cjs/lib}/inputTypes.d.ts +0 -0
  593. /package/dist/{lib → cjs/lib}/utils.d.ts +0 -0
  594. /package/dist/{utils → cjs/utils}/aggregate.d.ts +0 -0
  595. /package/dist/{utils → cjs/utils}/axisFormatter.d.ts +0 -0
  596. /package/dist/{utils → cjs/utils}/color.d.ts +0 -0
  597. /package/dist/{utils → cjs/utils}/crypto.d.ts +0 -0
  598. /package/dist/{utils → cjs/utils}/dataFetcher.d.ts +0 -0
  599. /package/dist/{utils → cjs/utils}/dates.d.ts +0 -0
  600. /package/dist/{utils → cjs/utils}/downloadCSV.d.ts +0 -0
  601. /package/dist/{utils → cjs/utils}/getDomain.d.ts +0 -0
  602. /package/dist/{utils → cjs/utils}/merge.d.ts +0 -0
  603. /package/dist/{utils → cjs/utils}/valueFormatter.d.ts +0 -0
  604. /package/dist/{utils → cjs/utils}/valueFormatterCSV.d.ts +0 -0
  605. /package/dist/{AddToDashboardModal.js → esm/AddToDashboardModal.js} +0 -0
  606. /package/dist/{BarList.js → esm/BarList.js} +0 -0
  607. /package/dist/{Chart.js → esm/Chart.js} +0 -0
  608. /package/dist/{ChartBuilder.js → esm/ChartBuilder.js} +0 -0
  609. /package/dist/{ChartEditor.js → esm/ChartEditor.js} +0 -0
  610. /package/dist/{Context.js → esm/Context.js} +0 -0
  611. /package/dist/{DateRangePicker → esm/DateRangePicker}/Calendar.js +0 -0
  612. /package/dist/{DateRangePicker → esm/DateRangePicker}/DateRangePicker.js +0 -0
  613. /package/dist/{DateRangePicker → esm/DateRangePicker}/DateRangePickerButton.js +0 -0
  614. /package/dist/{DateRangePicker → esm/DateRangePicker}/dateRangePickerUtils.js +0 -0
  615. /package/dist/{DateRangePicker → esm/DateRangePicker}/index.js +0 -0
  616. /package/dist/{PieChart.js → esm/PieChart.js} +0 -0
  617. /package/dist/{QuillProvider.js → esm/QuillProvider.js} +0 -0
  618. /package/dist/{ReportBuilder.js → esm/ReportBuilder.js} +0 -0
  619. /package/dist/{SQLEditor.js → esm/SQLEditor.js} +0 -0
  620. /package/dist/{Table.js → esm/Table.js} +0 -0
  621. /package/dist/{TableChart.js → esm/TableChart.js} +0 -0
  622. /package/dist/{assets → esm/assets}/ArrowDownHeadIcon.js +0 -0
  623. /package/dist/{assets → esm/assets}/ArrowDownIcon.js +0 -0
  624. /package/dist/{assets → esm/assets}/ArrowDownRightIcon.js +0 -0
  625. /package/dist/{assets → esm/assets}/ArrowLeftHeadIcon.js +0 -0
  626. /package/dist/{assets → esm/assets}/ArrowRightHeadIcon.js +0 -0
  627. /package/dist/{assets → esm/assets}/ArrowRightIcon.js +0 -0
  628. /package/dist/{assets → esm/assets}/ArrowUpHeadIcon.js +0 -0
  629. /package/dist/{assets → esm/assets}/ArrowUpIcon.js +0 -0
  630. /package/dist/{assets → esm/assets}/ArrowUpRightIcon.js +0 -0
  631. /package/dist/{assets → esm/assets}/CalendarIcon.js +0 -0
  632. /package/dist/{assets → esm/assets}/CalendarNormalIcon.js +0 -0
  633. /package/dist/{assets → esm/assets}/DoubleArrowLeftHeadIcon.js +0 -0
  634. /package/dist/{assets → esm/assets}/DoubleArrowRightHeadIcon.js +0 -0
  635. /package/dist/{assets → esm/assets}/ExclamationFilledIcon.js +0 -0
  636. /package/dist/{assets → esm/assets}/FilterIcon.js +0 -0
  637. /package/dist/{assets → esm/assets}/LoadingSpinner.js +0 -0
  638. /package/dist/{assets → esm/assets}/RefreshIcon.js +0 -0
  639. /package/dist/{assets → esm/assets}/SearchIcon.js +0 -0
  640. /package/dist/{assets → esm/assets}/UpLeftArrowsIcon.js +0 -0
  641. /package/dist/{assets → esm/assets}/XCircleIcon.js +0 -0
  642. /package/dist/{assets → esm/assets}/XIcon.js +0 -0
  643. /package/dist/{assets → esm/assets}/index.js +0 -0
  644. /package/dist/{components → esm/components}/Banner/index.js +0 -0
  645. /package/dist/{components → esm/components}/BigModal/BigModal.js +0 -0
  646. /package/dist/{components → esm/components}/Chart/BarChart.js +0 -0
  647. /package/dist/{components → esm/components}/Chart/ChartTooltip.js +0 -0
  648. /package/dist/{components → esm/components}/Chart/ChartTooltipFrame.js +0 -0
  649. /package/dist/{components → esm/components}/Chart/ChartTooltipGroup.js +0 -0
  650. /package/dist/{components → esm/components}/Chart/ChartTooltipRow.js +0 -0
  651. /package/dist/{components → esm/components}/Chart/LineChart.js +0 -0
  652. /package/dist/{components → esm/components}/Dropdown/Dropdown.js +0 -0
  653. /package/dist/{components → esm/components}/Dropdown/DropdownItem.js +0 -0
  654. /package/dist/{components → esm/components}/Dropdown/index.js +0 -0
  655. /package/dist/{components → esm/components}/Modal/Modal.js +0 -0
  656. /package/dist/{components → esm/components}/Modal/index.js +0 -0
  657. /package/dist/{components → esm/components}/QuillCard.js +0 -0
  658. /package/dist/{components → esm/components}/SqlTextEditor.js +0 -0
  659. /package/dist/{components → esm/components}/UiComponents.js +0 -0
  660. /package/dist/{components → esm/components}/selectUtils.js +0 -0
  661. /package/dist/{contexts → esm/contexts}/BaseColorContext.js +0 -0
  662. /package/dist/{contexts → esm/contexts}/HoveredValueContext.js +0 -0
  663. /package/dist/{contexts → esm/contexts}/RootStylesContext.js +0 -0
  664. /package/dist/{contexts → esm/contexts}/SelectedValueContext.js +0 -0
  665. /package/dist/{contexts → esm/contexts}/index.js +0 -0
  666. /package/dist/{hooks → esm/hooks}/index.js +0 -0
  667. /package/dist/{hooks → esm/hooks}/useDashboard.js +0 -0
  668. /package/dist/{hooks → esm/hooks}/useInternalState.js +0 -0
  669. /package/dist/{hooks → esm/hooks}/useOnClickOutside.js +0 -0
  670. /package/dist/{hooks → esm/hooks}/useOnWindowResize.js +0 -0
  671. /package/dist/{hooks → esm/hooks}/useQuill.js +0 -0
  672. /package/dist/{hooks → esm/hooks}/useSelectOnKeyDown.js +0 -0
  673. /package/dist/{index.js → esm/index.js} +0 -0
  674. /package/dist/{internals → esm/internals}/ReportBuilder/PivotList.js +0 -0
  675. /package/dist/{internals → esm/internals}/ReportBuilder/PivotModal.js +0 -0
  676. /package/dist/{internals → esm/internals}/ReportBuilder/PivotModal.spec.js +0 -0
  677. /package/dist/{lib → esm/lib}/font.js +0 -0
  678. /package/dist/{lib → esm/lib}/index.js +0 -0
  679. /package/dist/{lib → esm/lib}/inputTypes.js +0 -0
  680. /package/dist/{lib → esm/lib}/utils.js +0 -0
  681. /package/dist/{utils → esm/utils}/aggregate.js +0 -0
  682. /package/dist/{utils → esm/utils}/axisFormatter.js +0 -0
  683. /package/dist/{utils → esm/utils}/color.js +0 -0
  684. /package/dist/{utils → esm/utils}/crypto.js +0 -0
  685. /package/dist/{utils → esm/utils}/dataFetcher.js +0 -0
  686. /package/dist/{utils → esm/utils}/dates.js +0 -0
  687. /package/dist/{utils → esm/utils}/downloadCSV.js +0 -0
  688. /package/dist/{utils → esm/utils}/getDomain.js +0 -0
  689. /package/dist/{utils → esm/utils}/merge.js +0 -0
  690. /package/dist/{utils → esm/utils}/valueFormatter.js +0 -0
  691. /package/dist/{utils → esm/utils}/valueFormatterCSV.js +0 -0
@@ -0,0 +1,1438 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.formatDateBuckets = exports.isArrayOfValidDates = exports.isValidDate = exports.ChartForm = void 0;
30
+ const jsx_runtime_1 = require("react/jsx-runtime");
31
+ // @ts-nocheck
32
+ const react_1 = __importStar(require("react"));
33
+ const date_fns_1 = require("date-fns");
34
+ const dataFetcher_1 = require("./utils/dataFetcher");
35
+ const Context_1 = require("./Context");
36
+ const date_fns_2 = require("date-fns");
37
+ const Chart_1 = __importDefault(require("./Chart"));
38
+ const ReportBuilder_1 = require("./ReportBuilder");
39
+ const aggregate_1 = require("./utils/aggregate");
40
+ const assets_1 = require("./assets");
41
+ const merge_1 = require("./utils/merge");
42
+ function convertPostgresColumn(column) {
43
+ let format;
44
+ switch (column.dataTypeID) {
45
+ case 20: // int8
46
+ case 21: // int2
47
+ case 23: // int4
48
+ format = 'whole_number';
49
+ break;
50
+ case 700: // float4
51
+ case 701: // float8
52
+ case 1700: // numeric
53
+ format = 'two_decimal_places';
54
+ break;
55
+ case 1082: // date
56
+ case 1083: // time
57
+ case 1184: // timestamptz
58
+ case 1114: // timestamp
59
+ format = 'MMM_dd_yyyy';
60
+ break;
61
+ case 1043: // varchar
62
+ default:
63
+ format = 'string';
64
+ }
65
+ return {
66
+ label: column.name,
67
+ field: column.field,
68
+ format: format,
69
+ };
70
+ }
71
+ function updateLabels(yAxisFields, values) {
72
+ return yAxisFields.map((item, index) => {
73
+ const updatedItem = { ...item };
74
+ if (values[`yAxisLabel-${index}`]) {
75
+ updatedItem.label = values[`yAxisLabel-${index}`];
76
+ }
77
+ if (values[`yAxisField-${index}`]) {
78
+ updatedItem.field = values[`yAxisField-${index}`];
79
+ }
80
+ if (values[`yAxisFormat-${index}`]) {
81
+ updatedItem.format = values[`yAxisFormat-${index}`];
82
+ }
83
+ return updatedItem;
84
+ });
85
+ }
86
+ const DefaultSelectComponent = function DefaultSelect({ onChange, value, options, form, field, theme, }) {
87
+ return ((0, jsx_runtime_1.jsxs)("div", { style: { position: 'relative' }, children: [(0, jsx_runtime_1.jsx)("select", { onChange: event => onChange(event.target.value), value: value, id: 'reportbuilderdropdown', style: {
88
+ width: 200,
89
+ outline: 'none',
90
+ textAlign: 'left',
91
+ whiteSpace: 'nowrap',
92
+ overflow: 'hidden',
93
+ textOverflow: 'ellipsis',
94
+ WebkitAppearance: 'none',
95
+ borderRadius: 6,
96
+ paddingLeft: 12,
97
+ paddingRight: 12,
98
+ height: 38,
99
+ borderWidth: theme.borderWidth,
100
+ borderColor: theme.borderColor,
101
+ boxSizing: 'border-box',
102
+ background: theme.backgroundColor,
103
+ color: theme.primaryTextColor,
104
+ boxShadow: '0 1px 2px 0 rgba(0,0,0,.05)',
105
+ fontFamily: theme.fontFamily,
106
+ }, children: options.map((option, index) => ((0, jsx_runtime_1.jsx)("option", { value: option.value, children: option.label }, option.label + index))) }), (0, jsx_runtime_1.jsx)(assets_1.ArrowDownHeadIcon, { style: {
107
+ height: '20px',
108
+ width: '20px',
109
+ flex: 'none',
110
+ position: 'absolute',
111
+ right: 8,
112
+ top: 9,
113
+ color: theme?.secondaryTextColor,
114
+ }, "aria-hidden": "true" })] }));
115
+ };
116
+ const MemoizedDefaultSelectComponent = react_1.default.memo(DefaultSelectComponent);
117
+ const DefaultTextInputComponent = function DefaultText({ onChange, value, id, theme, placeholder, }) {
118
+ return ((0, jsx_runtime_1.jsx)("input", { style: {
119
+ outline: 'none',
120
+ textAlign: 'left',
121
+ whiteSpace: 'nowrap',
122
+ overflow: 'hidden',
123
+ textOverflow: 'ellipsis',
124
+ borderRadius: 6,
125
+ paddingLeft: 12,
126
+ paddingRight: 12,
127
+ margin: 0,
128
+ paddingTop: 0,
129
+ paddingBottom: 0,
130
+ boxSizing: 'border-box',
131
+ width: 200,
132
+ height: 38,
133
+ borderWidth: theme.borderWidth,
134
+ borderColor: theme.borderColor,
135
+ borderStyle: 'solid',
136
+ background: theme.backgroundColor,
137
+ color: theme.primaryTextColor,
138
+ boxShadow: '0 1px 2px 0 rgba(0,0,0,.05)',
139
+ fontFamily: theme.fontFamily,
140
+ }, id: id, onChange: onChange, value: value, placeholder: placeholder }));
141
+ };
142
+ const MemoizedDefaultTextInputComponent = react_1.default.memo(DefaultTextInputComponent);
143
+ function AddToDashboardModal({ isOpen, setIsOpen, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, rows, columns, query, report, ModalComponent, formHeaderStyle, formLabelStyle, showTableFormatOptions = false, showDateFieldOptions = false, showAccessControlOptions = false, onAddToDashboardComplete, fields, }) {
144
+ const [theme] = (0, react_1.useContext)(Context_1.ThemeContext);
145
+ const [client] = (0, react_1.useContext)(Context_1.ClientContext);
146
+ const [schema, setSchema] = (0, react_1.useContext)(Context_1.SchemaContext);
147
+ // const [organization, setOrganization] = useState([]);
148
+ const { dispatch } = (0, react_1.useContext)(Context_1.DashboardContext);
149
+ const { dashboardFilters } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
150
+ // showTableFormatOptions = false;
151
+ // showDateFieldOptions = false;
152
+ // showAccessControlOptions = false;3
153
+ (0, react_1.useEffect)(() => {
154
+ let isSubscribed = true;
155
+ async function getSchema() {
156
+ if (!schema || !schema.length) {
157
+ const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `schema2/${client.publicKey}/`, null, 'GET');
158
+ if (isSubscribed) {
159
+ setSchema(resp.tables);
160
+ }
161
+ }
162
+ }
163
+ if (isSubscribed) {
164
+ getSchema();
165
+ }
166
+ return () => {
167
+ isSubscribed = false;
168
+ };
169
+ }, [schema]);
170
+ const editChart = async ({ report, setIsSubmitting, values, yAxisFields, columns, query, buckets, showTableFormatOptions, }) => {
171
+ const { publicKey, customerId } = client;
172
+ const { xAxisLabel, chartName, chartType, xAxisField, xAxisFormat, dashboardName, dateFieldTable, dateField, template, } = values;
173
+ if (!chartName) {
174
+ alert('Please enter a chart name');
175
+ return;
176
+ }
177
+ if (!dashboardName) {
178
+ alert('Please choose a dashboard name');
179
+ return;
180
+ }
181
+ if (!xAxisLabel && chartType !== 'pie' && chartType !== 'table') {
182
+ alert('Please enter a label for the x-axis');
183
+ return;
184
+ }
185
+ if (!xAxisField) {
186
+ alert('Please enter a label for the x-axis');
187
+ return;
188
+ }
189
+ if (!yAxisFields.map(field => field.label).every(Boolean) &&
190
+ chartType !== 'pie' &&
191
+ chartType !== 'table') {
192
+ alert('Please enter a label for the y-axis');
193
+ return;
194
+ }
195
+ if (!columns.map((yAxisField, _) => yAxisField.label).every(Boolean) &&
196
+ showTableFormatOptions &&
197
+ chartType !== 'table') {
198
+ alert('Please enter a label for the table y-axis');
199
+ return;
200
+ }
201
+ setIsSubmitting(true);
202
+ if (!client) {
203
+ return;
204
+ }
205
+ let defaultDateField;
206
+ if (!showDateFieldOptions) {
207
+ const result = await getReferencedTables(client, query, schema);
208
+ defaultDateField = {
209
+ table: result[0].name,
210
+ field: result[0].columns[0].name,
211
+ };
212
+ }
213
+ const hostedBody = {
214
+ metadata: customerId
215
+ ? report
216
+ ? {
217
+ dashboardItemId: report._id,
218
+ name: chartName,
219
+ xAxisField,
220
+ yAxisFields,
221
+ xAxisLabel,
222
+ xAxisFormat,
223
+ chartType,
224
+ dashboardName,
225
+ columns: showTableFormatOptions && chartType !== 'table'
226
+ ? columns
227
+ : [
228
+ ...yAxisFields,
229
+ {
230
+ field: xAxisField,
231
+ label: xAxisLabel,
232
+ format: xAxisFormat,
233
+ },
234
+ ],
235
+ dateField: showDateFieldOptions
236
+ ? { table: dateFieldTable, field: dateField }
237
+ : defaultDateField,
238
+ query: query,
239
+ task: 'create',
240
+ orgId: customerId,
241
+ template: template,
242
+ buckets,
243
+ clientId: publicKey,
244
+ }
245
+ : {
246
+ name: chartName,
247
+ xAxisField,
248
+ yAxisFields,
249
+ xAxisLabel,
250
+ xAxisFormat,
251
+ chartType,
252
+ dashboardName,
253
+ columns: showTableFormatOptions && chartType !== 'table'
254
+ ? columns
255
+ : [...yAxisFields],
256
+ dateField: showDateFieldOptions
257
+ ? { table: dateFieldTable, field: dateField }
258
+ : defaultDateField,
259
+ query: query,
260
+ task: 'create',
261
+ orgId: customerId,
262
+ template: template,
263
+ buckets,
264
+ clientId: publicKey,
265
+ }
266
+ : {
267
+ name: chartName,
268
+ xAxisField,
269
+ yAxisFields,
270
+ xAxisLabel,
271
+ xAxisFormat,
272
+ chartType,
273
+ dashboardName,
274
+ columns: showTableFormatOptions && chartType !== 'table'
275
+ ? columns
276
+ : [
277
+ ...yAxisFields,
278
+ {
279
+ field: xAxisField,
280
+ label: xAxisLabel,
281
+ format: xAxisFormat,
282
+ },
283
+ ],
284
+ dateField: showDateFieldOptions
285
+ ? { table: dateFieldTable, field: dateField }
286
+ : defaultDateField,
287
+ query: query,
288
+ task: 'create',
289
+ template: template,
290
+ buckets,
291
+ clientId: publicKey,
292
+ },
293
+ };
294
+ const cloudBody = report
295
+ ? {
296
+ dashboardItemId: report._id,
297
+ name: chartName,
298
+ xAxisField,
299
+ yAxisFields,
300
+ xAxisLabel,
301
+ xAxisFormat,
302
+ chartType,
303
+ dashboardName,
304
+ columns: showTableFormatOptions
305
+ ? columns
306
+ : [
307
+ ...yAxisFields,
308
+ {
309
+ field: xAxisField,
310
+ label: xAxisLabel,
311
+ format: xAxisFormat,
312
+ },
313
+ ],
314
+ dateField: showDateFieldOptions
315
+ ? { table: dateFieldTable, field: dateField }
316
+ : defaultDateField,
317
+ query: query,
318
+ template: template,
319
+ buckets,
320
+ }
321
+ : {
322
+ name: chartName,
323
+ xAxisField,
324
+ yAxisFields,
325
+ xAxisLabel,
326
+ xAxisFormat,
327
+ chartType,
328
+ dashboardName,
329
+ columns: showTableFormatOptions
330
+ ? columns
331
+ : [
332
+ ...yAxisFields,
333
+ {
334
+ field: xAxisField,
335
+ label: xAxisLabel,
336
+ format: xAxisFormat,
337
+ },
338
+ ],
339
+ dateField: showDateFieldOptions
340
+ ? { table: dateFieldTable, field: dateField }
341
+ : defaultDateField,
342
+ query: query,
343
+ template: template,
344
+ buckets,
345
+ };
346
+ const searchParams = new URLSearchParams(customerId
347
+ ? {
348
+ clientId: publicKey,
349
+ customerId: customerId,
350
+ }
351
+ : { clientId: publicKey }).toString();
352
+ const resp = await (0, dataFetcher_1.getData)(client, `dashedit2?${searchParams}`, 'same-origin', hostedBody, cloudBody);
353
+ if (resp) {
354
+ if (resp.compareRows) {
355
+ (0, merge_1.mergeComparisonRange)(resp);
356
+ }
357
+ dispatch({
358
+ type: 'UPDATE_DASHBOARD_ITEM',
359
+ id: resp._id,
360
+ data: {
361
+ ...resp,
362
+ rows,
363
+ fields,
364
+ filtersApplied: dashboardFilters
365
+ },
366
+ });
367
+ }
368
+ setIsOpen(false);
369
+ if (onAddToDashboardComplete) {
370
+ onAddToDashboardComplete();
371
+ }
372
+ if (!resp) {
373
+ return;
374
+ }
375
+ };
376
+ return (
377
+ // <BigModal theme={theme} showModal={isOpen} setShowModal={setIsOpen}>
378
+ (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: ModalComponent ? ((0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: isOpen, title: 'Add to dashboard', onClose: () => setIsOpen(false), children: (0, jsx_runtime_1.jsx)(ChartForm, { editChart: editChart, theme: theme, schema: schema, data: rows, fields: columns, report: report, query: query, client: client,
379
+ // organizationName={organization?.name}
380
+ SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, formHeaderStyle: formHeaderStyle, formLabelStyle: formLabelStyle, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, newFields: fields }) })) : ((0, jsx_runtime_1.jsx)(QuillModal, { isOpen: isOpen, onClose: () => setIsOpen(false), title: 'Add to dashboard', children: (0, jsx_runtime_1.jsx)(ChartForm, { editChart: editChart, theme: theme, schema: schema, data: rows, fields: columns, report: report, client: client, query: query,
381
+ // organizationName={organization?.name}
382
+ SelectComponent: SelectComponent, TextInputComponent: TextInputComponent, ButtonComponent: ButtonComponent, SecondaryButtonComponent: SecondaryButtonComponent, formHeaderStyle: formHeaderStyle, formLabelStyle: formLabelStyle, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, newFields: fields }) })) }));
383
+ }
384
+ exports.default = AddToDashboardModal;
385
+ function QuillModal({ isOpen, onClose, setIsOpen, title, children }) {
386
+ const scrollPosition = 0;
387
+ // useEffect(() => {
388
+ // if (isOpen) {
389
+ // scrollPosition = window.scrollY;
390
+ // // document.body.style.overflow = 'hidden';
391
+ // // document.body.style.position = 'fixed';
392
+ // // document.body.style.top = `-${scrollPosition}px`;
393
+ // // document.body.style.width = '100%';
394
+ // } else {
395
+ // document.body.style.removeProperty('overflow');
396
+ // document.body.style.removeProperty('position');
397
+ // document.body.style.removeProperty('top');
398
+ // document.body.style.removeProperty('width');
399
+ // // Restore the scroll position
400
+ // window.scrollTo(0, scrollPosition);
401
+ // }
402
+ // }, [isOpen]);
403
+ if (!isOpen) {
404
+ return null;
405
+ }
406
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { style: {
407
+ position: 'fixed',
408
+ top: '0',
409
+ right: '0',
410
+ bottom: '0',
411
+ left: '0',
412
+ zIndex: '50',
413
+ backgroundColor: 'rgba(255, 255, 255, 0.8)',
414
+ backdropFilter: 'blur(5px)',
415
+ }, onClick: onClose }), (0, jsx_runtime_1.jsx)("div", { style: {
416
+ // position: "absolute",
417
+ position: 'fixed',
418
+ left: '50%',
419
+ top: '50%',
420
+ zIndex: '50',
421
+ // width: "100%",
422
+ maxWidth: 1024,
423
+ maxHeight: '90vh',
424
+ display: 'flex',
425
+ justifyContent: 'center',
426
+ alignItems: 'center',
427
+ transform: 'translateX(-50%) translateY(-50%)',
428
+ background: 'white',
429
+ borderRadius: 8,
430
+ borderStyle: 'solid',
431
+ borderWidth: 1,
432
+ borderColor: '#e7e7e7',
433
+ overflow: 'hidden',
434
+ // zIndex: 1000,
435
+ }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
436
+ // width: "80%",
437
+ maxHeight: '90vh',
438
+ overflowY: 'scroll',
439
+ // maxWidth: "700px",
440
+ backgroundColor: '#ffffff',
441
+ // padding: "20px",
442
+ // borderRadius: "8px",
443
+ display: 'flex',
444
+ flexDirection: 'column',
445
+ alignItems: 'center',
446
+ }, children: [(0, jsx_runtime_1.jsx)("h2", { style: {
447
+ marginLeft: 35,
448
+ marginTop: 25,
449
+ fontSize: 18,
450
+ fontWeight: '600',
451
+ width: '100%',
452
+ textAlign: 'left',
453
+ }, children: title }), children] }) })] }));
454
+ }
455
+ function ChartForm({ data, fields, theme, saveVisualization, report, editChart, schema, query, organizationName, SelectComponent, TextInputComponent, client, ButtonComponent, SecondaryButtonComponent, formHeaderStyle, formLabelStyle, showTableFormatOptions, showDateFieldOptions, showAccessControlOptions, newFields, }) {
456
+ if (report) {
457
+ newFields = report.fields;
458
+ }
459
+ const fieldOptions = data?.length
460
+ ? Object.keys(data[0]).map(field => ({
461
+ value: field,
462
+ label: field,
463
+ }))
464
+ : fields.map(field => ({
465
+ value: field.field,
466
+ label: field.field,
467
+ }));
468
+ const xAxisOptions = data?.length
469
+ ? Object.keys(data[0])
470
+ .filter(option => (0, ReportBuilder_1.getPostgresBasicType)(newFields.find(field => field.name === option)) === 'date' ||
471
+ (0, ReportBuilder_1.getPostgresBasicType)(newFields.find(field => field.name === option)) === 'string')
472
+ .map(field => ({
473
+ value: field,
474
+ label: field,
475
+ }))
476
+ : fields
477
+ .filter(option => {
478
+ return ((0, ReportBuilder_1.getPostgresBasicType)(newFields.find(field => field.name === option.field)) === 'date' ||
479
+ (0, ReportBuilder_1.getPostgresBasicType)(newFields.find(field => field.name === option.field)) === 'string');
480
+ })
481
+ .map(field => ({
482
+ value: field.field,
483
+ label: field.field,
484
+ }));
485
+ const yAxisOptions = data?.length
486
+ ? Object.keys(data[0])
487
+ .filter(option => (0, ReportBuilder_1.getPostgresBasicType)(newFields.find(field => field.name === option)) === 'number')
488
+ .map(field => ({
489
+ value: field,
490
+ label: field,
491
+ }))
492
+ : fields
493
+ .filter(option => {
494
+ return ((0, ReportBuilder_1.getPostgresBasicType)(newFields.find(field => field.name === option.field)) === 'number');
495
+ })
496
+ .map(field => ({
497
+ value: field.field,
498
+ label: field.field,
499
+ }));
500
+ const [dateFieldOptions, setDateFieldOptions] = (0, react_1.useState)([]);
501
+ const [formValues, setFormValues] = (0, react_1.useState)({});
502
+ (0, react_1.useEffect)(() => {
503
+ const fetchReferencedTables = async () => {
504
+ if (!query) {
505
+ return;
506
+ }
507
+ const result = await getReferencedTables(client, query, schema);
508
+ setDateFieldOptions(result);
509
+ };
510
+ fetchReferencedTables();
511
+ }, [query, schema]);
512
+ return ((0, jsx_runtime_1.jsx)(FormikForm, { data: data, xAxisOptions: xAxisOptions, yAxisOptions: yAxisOptions, fieldOptions: fieldOptions, dateFieldOptions: dateFieldOptions, theme: theme, saveVisualization: saveVisualization, report: report, editChart: editChart, client: client, fields: fields, newFields: newFields, query: query, showTableFormatOptions: showTableFormatOptions, showDateFieldOptions: showDateFieldOptions, showAccessControlOptions: showAccessControlOptions, organizationName: organizationName, SelectComponent: SelectComponent
513
+ ? ({ onChange, value, options, form, field, }) => {
514
+ const handleChange = async (option) => {
515
+ if (onChange) {
516
+ onChange(option);
517
+ return;
518
+ }
519
+ await form.setFieldValue(field.name, option);
520
+ form.setFieldTouched(field.name, true);
521
+ };
522
+ return ((0, jsx_runtime_1.jsx)(SelectComponent, { onChange: event => handleChange(event.target.value), value: value, options: options }));
523
+ }
524
+ : MemoizedDefaultSelectComponent, TextInputComponent: TextInputComponent
525
+ ? TextInputComponent
526
+ : MemoizedDefaultTextInputComponent, ButtonComponent: ButtonComponent
527
+ ? ButtonComponent
528
+ : ({ onClick, label }) => {
529
+ return ((0, jsx_runtime_1.jsx)("div", { style: {
530
+ height: 38,
531
+ background: theme.primaryButtonColor,
532
+ color: theme.backgroundColor,
533
+ display: 'flex',
534
+ borderRadius: 6,
535
+ alignItems: 'center',
536
+ justifyContent: 'center',
537
+ outline: 'none',
538
+ cursor: 'pointer',
539
+ fontFamily: theme.fontFamily,
540
+ fontWeight: theme.buttonFontWeight || 600,
541
+ border: 'none',
542
+ fontSize: 14,
543
+ }, onClick: onClick, children: label }));
544
+ }, SecondaryButtonComponent: ButtonComponent
545
+ ? ButtonComponent
546
+ : ({ onClick, label }) => {
547
+ return ((0, jsx_runtime_1.jsx)("div", { style: {
548
+ height: 38,
549
+ background: theme.backgroundColor,
550
+ borderWidth: theme.borderWidth,
551
+ borderColor: theme.borderColor,
552
+ color: theme.primaryTextColor,
553
+ display: 'flex',
554
+ borderRadius: 6,
555
+ alignItems: 'center',
556
+ justifyContent: 'center',
557
+ outline: 'none',
558
+ cursor: 'pointer',
559
+ fontFamily: theme.fontFamily,
560
+ fontWeight: theme.buttonFontWeight || 600,
561
+ fontSize: 14,
562
+ }, onClick: onClick, children: label }));
563
+ }, formHeaderStyle: formHeaderStyle, formLabelStyle: formLabelStyle }));
564
+ }
565
+ exports.ChartForm = ChartForm;
566
+ function isValidDate(d) {
567
+ return d instanceof Date && !isNaN(d);
568
+ }
569
+ exports.isValidDate = isValidDate;
570
+ const isArrayOfValidDates = (arr, field) => arr.every(d => new Date(d[field]) instanceof Date && !isNaN(new Date(d[field])));
571
+ exports.isArrayOfValidDates = isArrayOfValidDates;
572
+ function formatDateBuckets(startDate, endDate) {
573
+ // Calculate the distance in hours
574
+ const distanceInHours = Math.abs((0, date_fns_2.differenceInHours)(endDate, startDate));
575
+ // Check if the distance is less than or equal to one hour
576
+ if (distanceInHours <= 1) {
577
+ return {
578
+ unit: 'hour',
579
+ format: 'h a',
580
+ startOf: date_fns_2.startOfHour,
581
+ };
582
+ }
583
+ // Calculate the distance in days
584
+ const distanceInDays = Math.abs((0, date_fns_2.differenceInDays)(endDate, startDate));
585
+ // Check if the distance is less than or equal to one day
586
+ if (distanceInDays <= 1) {
587
+ return {
588
+ unit: 'day',
589
+ format: 'MMM d',
590
+ startOf: date_fns_2.startOfDay,
591
+ };
592
+ }
593
+ // Calculate the distance in months
594
+ const distanceInMonths = Math.abs((0, date_fns_2.differenceInMonths)(endDate, startDate));
595
+ // Check if the distance is less than or equal to one month
596
+ if (distanceInMonths <= 1) {
597
+ return {
598
+ unit: 'month',
599
+ format: 'MMM yyyy',
600
+ startOf: date_fns_2.startOfMonth,
601
+ };
602
+ }
603
+ // Calculate the distance in years
604
+ const distanceInYears = Math.abs((0, date_fns_2.differenceInYears)(endDate, startDate));
605
+ // Check if the distance is less than or equal to one year
606
+ if (distanceInYears <= 1) {
607
+ return {
608
+ unit: 'year',
609
+ format: 'yyyy',
610
+ startOf: date_fns_2.startOfYear,
611
+ };
612
+ }
613
+ // Otherwise, the distance is more than one year
614
+ return {
615
+ unit: 'year',
616
+ format: 'yyyy',
617
+ startOf: date_fns_2.startOfYear,
618
+ };
619
+ }
620
+ exports.formatDateBuckets = formatDateBuckets;
621
+ const FormTextInput = ({ field, form, ...props }) => {
622
+ const { theme, wider } = props;
623
+ return ((0, jsx_runtime_1.jsx)("input", { className: `px-[12px] text-sm h-[38px] py-1.5 shadow-sm w-[245px] border-[#E7E7E7] ${'text-[#212121]'} border-[1px] bg-[white] rounded-md`, type: "text", ...field, ...props }));
624
+ };
625
+ const POSTGRES_DATE_TYPES = [
626
+ 'timestamp',
627
+ 'date',
628
+ 'timestamptz',
629
+ 'time',
630
+ 'timetz',
631
+ ];
632
+ async function getReferencedTables(client, sqlQuery, dbTables) {
633
+ // const parser = new Parser();
634
+ const tables = [];
635
+ const withAliases = [];
636
+ const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `astify`, { query: sqlQuery });
637
+ let ast = resp.ast;
638
+ ast = ast.length ? ast[0] : ast;
639
+ if (ast.with && ast.with.length) {
640
+ for (let i = 0; i < ast.with.length; i++) {
641
+ withAliases.push(ast.with[i].name.value);
642
+ for (let j = 0; j < ast.with[i].stmt.from.length; j++)
643
+ tables.push(ast.with[i].stmt.from[j].table);
644
+ }
645
+ }
646
+ const tablesInQuery = [...tables, ...ast.from.map(elem => elem.table)].filter(elem => !withAliases.includes(elem));
647
+ return dbTables
648
+ .filter(table => tablesInQuery.includes(table.displayName))
649
+ .map(table => {
650
+ return {
651
+ name: table.displayName,
652
+ columns: table.columns.filter(column => POSTGRES_DATE_TYPES.includes(column.fieldType)),
653
+ };
654
+ })
655
+ .filter(table => table.columns.length > 0);
656
+ }
657
+ const X_FORMAT_OPTIONS = [
658
+ { value: 'whole_number', label: 'whole number' },
659
+ { value: 'one_decimal_place', label: 'one decimal place' },
660
+ { value: 'two_decimal_places', label: 'two decimal places' },
661
+ { value: 'dollar_amount', label: 'dollar amount' },
662
+ { value: 'dollar_cents', label: 'dollar and cent amount' },
663
+ { value: 'MMM_yyyy', label: 'month' },
664
+ { value: 'MMM_dd-MMM_dd', label: 'week' },
665
+ { value: 'MMM_dd_yyyy', label: 'day' },
666
+ { value: 'MMM_dd_hh:mm_ap_pm', label: 'day and time' },
667
+ { value: 'hh_ap_pm', label: 'hour' },
668
+ { value: 'percent', label: 'percent' },
669
+ { value: 'string', label: 'string' },
670
+ { value: 'dynamic', label: 'dynamic' },
671
+ ];
672
+ const Y_FORMAT_OPTIONS = [
673
+ { value: 'whole_number', label: 'whole number' },
674
+ { value: 'one_decimal_place', label: 'one decimal place' },
675
+ { value: 'two_decimal_places', label: 'two decimal places' },
676
+ { value: 'dollar_amount', label: 'dollar amount' },
677
+ { value: 'dollar_cents', label: 'dollar and cent amount' },
678
+ { value: 'MMM_yyyy', label: 'month' },
679
+ { value: 'MMM_dd-MMM_dd', label: 'week' },
680
+ { value: 'MMM_dd_yyyy', label: 'day' },
681
+ { value: 'MMM_dd_hh:mm_ap_pm', label: 'day and time' },
682
+ { value: 'hh_ap_pm', label: 'hour' },
683
+ { value: 'percent', label: 'percent' },
684
+ { value: 'string', label: 'string' },
685
+ ];
686
+ const handleBucketData = (dashboardItem, bucketFields, dateFilter) => {
687
+ return (0, aggregate_1.aggregate)(dashboardItem, bucketFields, dateFilter);
688
+ };
689
+ function FormikForm({ data, xAxisOptions, yAxisOptions, fieldOptions, dateFieldOptions, theme, report, editChart, fields, newFields, query, client, SelectComponent, TextInputComponent, ButtonComponent, SecondaryButtonComponent, organizationName, formHeaderStyle, formLabelStyle, showTableFormatOptions, showDateFieldOptions, showAccessControlOptions, }) {
690
+ // fieldOptions.sort((a, b) => {
691
+ // if (a.value === 'created_at') return -1;
692
+ // if (b.value === 'created_at') return 1;
693
+ // return 0;
694
+ // });
695
+ function postgresFormatMap(postgresType) {
696
+ if (postgresType === 'string')
697
+ return 'string';
698
+ if (postgresType === 'number')
699
+ return 'whole_number';
700
+ if (postgresType === 'date')
701
+ return 'dynamic';
702
+ }
703
+ X_FORMAT_OPTIONS.sort((a, b) => {
704
+ if (a.value === 'dynamic')
705
+ return -1;
706
+ if (b.value === 'dynamic')
707
+ return 1;
708
+ return 0;
709
+ });
710
+ const { dashboardFilters, dashboardFiltersDispatch } = (0, react_1.useContext)(Context_1.DashboardFiltersContext);
711
+ const [rows, setRows] = (0, react_1.useState)(null);
712
+ const [isSubmitting, setIsSubmitting] = (0, react_1.useState)(false);
713
+ const [xAxisField, setXAxisField] = (0, react_1.useState)(report?.xAxisField ||
714
+ (xAxisOptions && xAxisOptions.length && xAxisOptions[0].value) ||
715
+ '');
716
+ const [xAxisLabel, setXAxisLabel] = (0, react_1.useState)(report?.xAxisLabel || '');
717
+ const [xAxisFormat, setXAxisFormat] = (0, react_1.useState)(report?.xAxisFormat ||
718
+ (X_FORMAT_OPTIONS.length && X_FORMAT_OPTIONS[0].value) ||
719
+ '');
720
+ const [chartName, setChartName] = (0, react_1.useState)(report?.name || '');
721
+ const [chartType, setChartType] = (0, react_1.useState)(report?.chartType || 'column');
722
+ const [dateFieldTable, setDateFieldTable] = (0, react_1.useState)((dateFieldOptions.length && dateFieldOptions[0].name) || '');
723
+ const [dateField, setDateField] = (0, react_1.useState)((dateFieldOptions.length && dateFieldOptions[0].columns[0].name) || '');
724
+ const [template, setTemplate] = (0, react_1.useState)(report?.template || false);
725
+ const [chartConfig, setChartConfig] = (0, react_1.useState)({});
726
+ const { dateFilter, setDateFilter } = (0, react_1.useContext)(Context_1.DateFilterContext);
727
+ const [yAxisFields, setYAxisFields] = (0, react_1.useState)(report
728
+ ? report.yAxisFields
729
+ : [
730
+ {
731
+ field: yAxisOptions.length > 1
732
+ ? yAxisOptions[1].value
733
+ : yAxisOptions[0].value,
734
+ label: '',
735
+ format: 'whole_number',
736
+ },
737
+ ]);
738
+ const [bucketFields, setBucketFields] = (0, react_1.useState)((report && report.buckets) || []);
739
+ const [columns, setColumns] = (0, react_1.useState)(report && report.columns.length
740
+ ? report.columns
741
+ : fields?.length
742
+ ? fields.map(field => convertPostgresColumn(field))
743
+ : []);
744
+ function removeQuotes(str) {
745
+ if (str.startsWith('"') && str.endsWith('"')) {
746
+ return str.slice(1, -1);
747
+ }
748
+ else {
749
+ return str;
750
+ }
751
+ }
752
+ const processFilter = (filter, value = null) => {
753
+ //for dateObjects only, since values are arrays for dateObjects
754
+ const { selectedValue: _, ...filterWithoutSelectedValue } = filter; // _ is a throwaway variable
755
+ let selectedValue;
756
+ let selectedElem;
757
+ if (filter.filterType === 'string') {
758
+ selectedElem = filter.options.find(elem => elem[removeQuotes(filter.field)] === value);
759
+ if (selectedElem) {
760
+ selectedValue = selectedElem[removeQuotes(filter.field)];
761
+ }
762
+ return {
763
+ ...filterWithoutSelectedValue,
764
+ ...(selectedValue ? { selectedValue } : {}),
765
+ };
766
+ }
767
+ if (filter.filterType === 'date' || filter.filterType === 'date_range') {
768
+ if (value[2]) {
769
+ selectedElem = filter.options.find(elem => {
770
+ return value[2] === elem[removeQuotes(filter.field)][2];
771
+ });
772
+ if (selectedElem) {
773
+ selectedValue = selectedElem[removeQuotes(filter.field)];
774
+ }
775
+ }
776
+ return {
777
+ startDate: value ? value[0] : filter.startDate,
778
+ endDate: value ? value[1] : filter.endDate,
779
+ filterType: 'date_range',
780
+ ...(selectedValue ? { selectedValue } : {}),
781
+ field: 'date_range',
782
+ options: options,
783
+ label: 'Date',
784
+ };
785
+ }
786
+ };
787
+ const handleAddYAxisField = () => {
788
+ setYAxisFields([
789
+ ...yAxisFields,
790
+ { label: '', field: '', format: 'whole_number' },
791
+ ]);
792
+ };
793
+ const handleAddBucket = () => {
794
+ const bucketPossibilities = xAxisOptions.filter(option => (0, ReportBuilder_1.getPostgresBasicType)(newFields.find(field => field.name === option.value)) === 'date');
795
+ if (!bucketPossibilities.length) {
796
+ alert('No possible buckets');
797
+ return;
798
+ }
799
+ setBucketFields([
800
+ ...bucketFields,
801
+ {
802
+ field: bucketPossibilities[0].value,
803
+ },
804
+ ]);
805
+ setXAxisField(bucketPossibilities[0].value);
806
+ if (bucketPossibilities[0].value === dateField) {
807
+ setXAxisFormat('dynamic');
808
+ }
809
+ else {
810
+ setXAxisFormat(postgresFormatMap((0, ReportBuilder_1.getPostgresBasicType)(newFields.find(field => field.name === bucketPossibilities[0].value))));
811
+ }
812
+ };
813
+ const [dashboardOptions, setDashboardOptions] = (0, react_1.useState)([]);
814
+ const [dashboardName, setDashboardName] = (0, react_1.useState)(report?.dashboardName || dashboardOptions[0]);
815
+ (0, react_1.useEffect)(() => {
816
+ if (!report && dashboardOptions && dashboardOptions.length) {
817
+ setDashboardName(dashboardOptions[0].value);
818
+ }
819
+ }, [dashboardOptions]);
820
+ const values = {
821
+ xAxisLabel,
822
+ chartName,
823
+ chartType,
824
+ xAxisField,
825
+ xAxisFormat,
826
+ dashboardName,
827
+ dateFieldTable,
828
+ dateField,
829
+ };
830
+ const [selectedTabIndex, setSelectedTabIndex] = (0, react_1.useState)(report && report.template ? 1 : 0);
831
+ react_1.default.useEffect(() => {
832
+ async function getDashboards() {
833
+ const { publicKey, customerId, queryEndpoint } = client;
834
+ if (customerId || queryEndpoint) {
835
+ try {
836
+ let responseData;
837
+ // Add query parameters to the URL
838
+ const searchParams = new URLSearchParams({
839
+ publicKey: publicKey,
840
+ orgId: customerId,
841
+ name: name,
842
+ }).toString();
843
+ const hostedBody = {
844
+ metadata: customerId
845
+ ? { orgId: customerId, name, task: 'config' }
846
+ : { name: dashboardName, task: 'config' },
847
+ };
848
+ const resp = await (0, dataFetcher_1.getData)(client, `dashconfig?${searchParams}`, 'omit', hostedBody, null, 'GET');
849
+ const bigFilterObj = {};
850
+ if (resp.dateFilter && Object.keys(resp.dateFilter).length) {
851
+ if (resp.dateFilter.initialRange === 'LAST_90_DAYS') {
852
+ const filter = {
853
+ startDate: (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 90 }),
854
+ endDate: new Date(),
855
+ filterType: 'date_range',
856
+ selectedValue: [
857
+ (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 90 }),
858
+ new Date(),
859
+ '90d',
860
+ ],
861
+ field: 'date_range',
862
+ label: 'Date',
863
+ };
864
+ dashboardFiltersDispatch({
865
+ type: 'ADD_DASHBOARD_FILTER',
866
+ id: 'date_range',
867
+ data: {
868
+ ...filter,
869
+ },
870
+ });
871
+ setDateFilter(filter);
872
+ bigFilterObj[filter.field] = filter;
873
+ }
874
+ else if (resp.dateFilter.initialRange === 'LAST_30_DAYS') {
875
+ const filter = {
876
+ startDate: (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 30 }),
877
+ endDate: new Date(),
878
+ filterType: 'date_range',
879
+ selectedValue: [
880
+ (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 30 }),
881
+ new Date(),
882
+ 't',
883
+ ],
884
+ options: options,
885
+ field: 'date_range',
886
+ label: 'Date',
887
+ };
888
+ dashboardFiltersDispatch({
889
+ type: 'ADD_DASHBOARD_FILTER',
890
+ id: 'date_range',
891
+ data: {
892
+ ...filter,
893
+ },
894
+ });
895
+ setDateFilter(filter);
896
+ bigFilterObj[filter.field] = filter;
897
+ // return;
898
+ }
899
+ else if (resp.dateFilter.initialRange === 'CURRENT_MONTH') {
900
+ const filter = {
901
+ startDate: (0, date_fns_2.startOfMonth)(new Date()),
902
+ endDate: new Date(),
903
+ filterType: 'date_range',
904
+ selectedValue: [(0, date_fns_2.startOfMonth)(new Date()), new Date(), 'm'],
905
+ options: options,
906
+ field: 'date_range',
907
+ label: 'Date',
908
+ };
909
+ dashboardFiltersDispatch({
910
+ type: 'ADD_DASHBOARD_FILTER',
911
+ id: 'date_range',
912
+ data: {
913
+ ...filter,
914
+ },
915
+ });
916
+ setDateFilter(filter);
917
+ bigFilterObj[filter.field] = filter;
918
+ }
919
+ else {
920
+ const filter = {
921
+ startDate: (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 90 }),
922
+ endDate: new Date(),
923
+ filterType: 'date_range',
924
+ selectedValue: [
925
+ (0, date_fns_1.sub)((0, date_fns_1.startOfToday)(), { days: 90 }),
926
+ new Date(),
927
+ '90d',
928
+ ],
929
+ options: options,
930
+ field: 'date_range',
931
+ label: 'Date',
932
+ };
933
+ dashboardFiltersDispatch({
934
+ type: 'ADD_DASHBOARD_FILTER',
935
+ id: 'date_range',
936
+ data: {
937
+ ...filter,
938
+ },
939
+ });
940
+ setDateFilter(filter);
941
+ bigFilterObj[filter.field] = filter;
942
+ }
943
+ }
944
+ if (resp.filters && resp.filters.length) {
945
+ Object.values(resp.filters)
946
+ .filter(filter => filter.filterType !== 'date')
947
+ .forEach(filter => {
948
+ // processFilter(filter);
949
+ bigFilterObj[filter.field] = processFilter(filter);
950
+ });
951
+ }
952
+ dashboardFiltersDispatch({
953
+ type: 'ADD_DASHBOARD_FILTERS',
954
+ id: 'tons',
955
+ data: bigFilterObj,
956
+ });
957
+ if (!resp.dateFilter) {
958
+ setDateFilter(null);
959
+ }
960
+ }
961
+ catch (error) {
962
+ console.error('Error fetching data:', error);
963
+ }
964
+ }
965
+ }
966
+ getDashboards();
967
+ }, [dashboardName, client]);
968
+ (0, react_1.useEffect)(() => {
969
+ async function getDashNames() {
970
+ const resp = await (0, dataFetcher_1.getDataFromCloud)(client, `dashnames/${client.publicKey}/`, null, 'GET');
971
+ setDashboardOptions(resp.dashboardNames
972
+ .filter(elem => elem !== null)
973
+ .map(key => ({ label: key, value: key })));
974
+ }
975
+ getDashNames();
976
+ }, []);
977
+ (0, react_1.useEffect)(() => {
978
+ // if (!dateField) {
979
+ // return;
980
+ // }
981
+ // if (
982
+ // (!bucketFields.length && chartType === 'column') ||
983
+ // chartType === 'line'
984
+ // ) {
985
+ // handleAddBucket();
986
+ // return;
987
+ // }
988
+ if ((bucketFields.length && chartType === 'metric') ||
989
+ chartType === 'table' ||
990
+ chartType === 'pie') {
991
+ handleDeleteBucketField(0);
992
+ return;
993
+ }
994
+ }, [chartType, dateField]);
995
+ (0, react_1.useEffect)(() => {
996
+ if (dateFieldOptions.length) {
997
+ setDateFieldTable(dateFieldOptions[0].name);
998
+ setDateField(dateFieldOptions[0].columns[0].name);
999
+ }
1000
+ }, [dateFieldOptions]);
1001
+ const handleDeleteYAxisField = index => {
1002
+ setYAxisFields(yAxisFields => yAxisFields.filter((_, i) => index !== i));
1003
+ };
1004
+ const handleDeleteBucketField = index => {
1005
+ setBucketFields(bucketFields => bucketFields.filter((_, i) => index !== i));
1006
+ setXAxisField(xAxisOptions[0].value);
1007
+ setXAxisLabel('');
1008
+ };
1009
+ const handleBucketFieldChange = (index, value) => {
1010
+ if (!dateField) {
1011
+ return;
1012
+ }
1013
+ const newBucketFields = [...bucketFields];
1014
+ newBucketFields[index] = { ...newBucketFields[index], field: value };
1015
+ setBucketFields(newBucketFields);
1016
+ setXAxisField(value);
1017
+ if (value === dateField) {
1018
+ setXAxisFormat('dynamic');
1019
+ }
1020
+ else {
1021
+ setXAxisFormat(postgresFormatMap((0, ReportBuilder_1.getPostgresBasicType)(newFields.find(field => field.name === value))));
1022
+ }
1023
+ };
1024
+ const handleXAxisFieldChange = value => {
1025
+ if (!dateField) {
1026
+ return;
1027
+ }
1028
+ // const newXAxisField = {
1029
+ // format: xAxisFormat,
1030
+ // label: xAxisLabel,
1031
+ // field: value,
1032
+ // };
1033
+ setXAxisField(value);
1034
+ // TODO: MAKE DATE FIELD NOT HARD CODED
1035
+ if (value === dateField) {
1036
+ setXAxisFormat('dynamic');
1037
+ }
1038
+ else {
1039
+ setXAxisFormat(postgresFormatMap((0, ReportBuilder_1.getPostgresBasicType)(newFields.find(field => field.name === value))));
1040
+ }
1041
+ if (bucketFields.length > 0) {
1042
+ const newBucketFields = [...bucketFields];
1043
+ newBucketFields[0] = { ...newBucketFields[0], field: value };
1044
+ setBucketFields(newBucketFields);
1045
+ }
1046
+ };
1047
+ const handleYAxisFieldChange = (index, value) => {
1048
+ const newYAxisFields = [...yAxisFields];
1049
+ newYAxisFields[index] = {
1050
+ ...newYAxisFields[index],
1051
+ field: value,
1052
+ format: postgresFormatMap(newFields.find(field => field.name === value)),
1053
+ };
1054
+ setYAxisFields(newYAxisFields);
1055
+ };
1056
+ const handleYAxisFieldFormatChange = (index, value) => {
1057
+ const newYAxisFields = [...yAxisFields];
1058
+ newYAxisFields[index] = { ...newYAxisFields[index], format: value };
1059
+ setYAxisFields(newYAxisFields);
1060
+ };
1061
+ const handleYAxisLabelChange = (index, value) => {
1062
+ const newYAxisFields = [...yAxisFields];
1063
+ newYAxisFields[index] = { ...newYAxisFields[index], label: value };
1064
+ setYAxisFields(newYAxisFields);
1065
+ };
1066
+ const handleColumnFieldChange = (index, value) => {
1067
+ const newColumns = [...columns];
1068
+ newColumns[index] = { ...newColumns[index], field: value };
1069
+ setColumns(newColumns);
1070
+ };
1071
+ const handleColumnFormatChange = (index, value) => {
1072
+ const newColumns = [...columns];
1073
+ newColumns[index] = { ...newColumns[index], format: value };
1074
+ setColumns(newColumns);
1075
+ };
1076
+ const handleColumnLabelChange = (index, value) => {
1077
+ const newColumns = [...columns];
1078
+ newColumns[index] = { ...newColumns[index], label: value };
1079
+ setColumns(newColumns);
1080
+ };
1081
+ (0, react_1.useEffect)(() => {
1082
+ const now = new Date();
1083
+ if (!dateFilter ||
1084
+ (dateFilter && dateFilter.startDate && dateFilter.endDate)) {
1085
+ setChartConfig(handleBucketData({
1086
+ xAxisField,
1087
+ xAxisLabel,
1088
+ xAxisFormat,
1089
+ chartName,
1090
+ chartType,
1091
+ dashboardName,
1092
+ dateFieldTable,
1093
+ dateField,
1094
+ template,
1095
+ yAxisFields: yAxisFields,
1096
+ rows: data,
1097
+ fields: newFields,
1098
+ columns: columns,
1099
+ }, bucketFields, dateFilter));
1100
+ }
1101
+ }, [
1102
+ xAxisField,
1103
+ xAxisLabel,
1104
+ xAxisFormat,
1105
+ chartName,
1106
+ chartType,
1107
+ dashboardName,
1108
+ dateFieldTable,
1109
+ dateField,
1110
+ template,
1111
+ yAxisFields,
1112
+ bucketFields,
1113
+ columns,
1114
+ dateFilter,
1115
+ ]);
1116
+ return ((0, jsx_runtime_1.jsx)("div", { style: { display: 'inline-block' }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
1117
+ display: 'flex',
1118
+ flexDirection: 'column',
1119
+ paddingLeft: 25,
1120
+ paddingRight: chartConfig.chartType === 'pie' ? 25 : undefined,
1121
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
1122
+ display: 'flex',
1123
+ flexDirection: 'column',
1124
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: { height: 20 } }), (0, jsx_runtime_1.jsx)("div", { style: {
1125
+ marginRight: chartConfig.chartType === 'pie' ||
1126
+ chartConfig.chartType === 'table'
1127
+ ? undefined
1128
+ : 25,
1129
+ marginLeft: chartConfig.chartType === 'pie' ||
1130
+ chartConfig.chartType === 'table'
1131
+ ? undefined
1132
+ : -25,
1133
+ }, children: Object.keys(chartConfig).length > 0 && ((0, jsx_runtime_1.jsx)(Chart_1.default, { config: chartConfig, colors: theme.chartColors, containerStyle: {
1134
+ width: chartConfig.chartType === 'table'
1135
+ ? 640
1136
+ : 'calc(100% - 24px)',
1137
+ height: 300,
1138
+ } })) }), (0, jsx_runtime_1.jsx)("div", { style: { height: 40 } }), showTableFormatOptions || showDateFieldOptions ? ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("div", { style: formHeaderStyle || {
1139
+ fontFamily: theme.fontFamily,
1140
+ color: theme.primaryTextColor,
1141
+ fontSize: theme.fontSize + 2,
1142
+ fontWeight: 600,
1143
+ }, children: 'Chart' }) })) : null, (0, jsx_runtime_1.jsxs)("div", { style: {
1144
+ display: 'flex',
1145
+ flexDirection: 'row',
1146
+ alignItems: 'center',
1147
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', marginTop: 8 }, children: [(0, jsx_runtime_1.jsx)("div", { style: formLabelStyle || {
1148
+ color: theme.secondaryTextColor,
1149
+ fontFamily: theme?.fontFamily,
1150
+ fontSize: theme?.fontSize || '14px',
1151
+ fontWeight: theme.labelFontWeight || '600',
1152
+ }, children: "Name" }), (0, jsx_runtime_1.jsx)("div", { style: { minWidth: 200, marginTop: 6 }, children: (0, jsx_runtime_1.jsx)(TextInputComponent, { onChange: e => setChartName(e.target.value), value: chartName, theme: theme, placeholder: 'Enter a chart name' }) })] }), (0, jsx_runtime_1.jsx)("div", { style: { width: 20 } }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', marginTop: 8 }, children: [(0, jsx_runtime_1.jsx)("div", { style: formLabelStyle || {
1153
+ color: theme.secondaryTextColor,
1154
+ fontFamily: theme?.fontFamily,
1155
+ fontSize: theme?.fontSize || '14px',
1156
+ fontWeight: theme.labelFontWeight || '600',
1157
+ }, children: "Dashboard name" }), (0, jsx_runtime_1.jsx)("div", { style: { minWidth: 200, marginTop: 6 }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { onChange: value => setDashboardName(value), value: dashboardName, theme: theme, options: dashboardOptions }) })] }), (0, jsx_runtime_1.jsx)("div", { style: { width: 20 } }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column', marginTop: 8 }, children: [(0, jsx_runtime_1.jsx)("div", { style: formLabelStyle || {
1158
+ color: theme.secondaryTextColor,
1159
+ fontFamily: theme?.fontFamily,
1160
+ fontSize: theme?.fontSize || '14px',
1161
+ fontWeight: theme.labelFontWeight || '600',
1162
+ }, children: "Chart type" }), (0, jsx_runtime_1.jsx)("div", { style: { minWidth: 200, marginTop: 6 }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { onChange: e => setChartType(e), value: chartType, options: [
1163
+ { label: 'column', value: 'column' },
1164
+ { label: 'bar', value: 'bar' },
1165
+ { label: 'line', value: 'line' },
1166
+ { label: 'pie', value: 'pie' },
1167
+ { label: 'metric', value: 'metric' },
1168
+ { label: 'table', value: 'table' },
1169
+ ], theme: theme }) })] })] })] }), chartType !== 'table' &&
1170
+ chartType !== 'metric' &&
1171
+ chartType !== 'pie' && ((0, jsx_runtime_1.jsxs)("div", { style: {
1172
+ display: 'flex',
1173
+ flexDirection: 'column',
1174
+ marginTop: 20,
1175
+ maxWidth: 200,
1176
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: formLabelStyle || {
1177
+ color: theme.secondaryTextColor,
1178
+ fontFamily: theme?.fontFamily,
1179
+ fontSize: theme?.fontSize || '14px',
1180
+ fontWeight: theme.labelFontWeight || '600',
1181
+ }, children: "Buckets" }), (0, jsx_runtime_1.jsx)("div", { style: {
1182
+ maxWidth: 200,
1183
+ // marginTop: 6,
1184
+ display: 'flex',
1185
+ flexDirection: 'column',
1186
+ }, children: bucketFields.map((bucketField, index) => ((0, jsx_runtime_1.jsxs)("div", { style: {
1187
+ display: 'flex',
1188
+ flexDirection: 'row',
1189
+ alignItems: 'center',
1190
+ marginTop: index === 0 ? 6 : 10,
1191
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: { minWidth: 200 }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { onChange: option => handleBucketFieldChange(index, option), value: bucketField.field,
1192
+ // TODO: PROB FILTER OUT NUMBERS LMAO (SO DATE AND STRING ONLY)
1193
+ options: xAxisOptions, theme: theme }) }), (0, jsx_runtime_1.jsx)("div", { onClick: () => handleDeleteBucketField(index), style: {
1194
+ cursor: 'pointer',
1195
+ paddingLeft: 6,
1196
+ paddingTop: 9,
1197
+ paddingBottom: 9,
1198
+ paddingRight: 6,
1199
+ maxHeight: 38,
1200
+ display: 'flex',
1201
+ alignItems: 'center',
1202
+ justifyContent: 'center',
1203
+ }, children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: theme?.secondaryTextColor, height: "20", width: "20", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z", clipRule: "evenodd" }) }) })] }, `bucketField-${index}`))) }), !bucketFields.length && ((0, jsx_runtime_1.jsx)("div", { style: { marginTop: 12 }, children: (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: handleAddBucket, label: "Add bucket +" }) }))] })), (0, jsx_runtime_1.jsx)("div", { style: {
1204
+ display: 'flex',
1205
+ flexDirection: 'row',
1206
+ alignItems: 'center',
1207
+ // justifyContent: 'space-between',
1208
+ marginTop: 20,
1209
+ }, children: chartType !== 'table' && ((0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)("div", { style: formLabelStyle || {
1210
+ color: theme.secondaryTextColor,
1211
+ fontFamily: theme?.fontFamily,
1212
+ fontSize: theme?.fontSize || '14px',
1213
+ fontWeight: theme.labelFontWeight || '600',
1214
+ }, children: chartType === 'pie' ? 'Category column' : 'x-axis column' }), (0, jsx_runtime_1.jsx)("div", { style: { height: 6 } }), (0, jsx_runtime_1.jsxs)("div", { style: {
1215
+ display: 'flex',
1216
+ flexDirection: 'row',
1217
+ alignItems: 'center',
1218
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: { minWidth: 200 }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { onChange: e => handleXAxisFieldChange(e), value: xAxisField, options: xAxisOptions, theme: theme }) }), (0, jsx_runtime_1.jsx)("div", { style: { width: 20 } }), (0, jsx_runtime_1.jsx)("div", { style: { minWidth: 200 }, children: (0, jsx_runtime_1.jsx)(TextInputComponent, { onChange: e => setXAxisLabel(e.target.value), value: xAxisLabel, theme: theme, placeholder: 'Enter a label' }) }), (0, jsx_runtime_1.jsx)("div", { style: { width: 20 } }), (0, jsx_runtime_1.jsx)("div", { style: { minWidth: 200 }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { onChange: e => setXAxisFormat(e), value: xAxisFormat, options: X_FORMAT_OPTIONS, theme: theme }) })] })] })) }), (0, jsx_runtime_1.jsxs)("div", { style: {
1219
+ display: 'flex',
1220
+ flexDirection: 'row',
1221
+ alignItems: 'flex-start',
1222
+ // justifyContent: 'space-between',
1223
+ marginTop: 20,
1224
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)("div", { style: formLabelStyle || {
1225
+ color: theme.secondaryTextColor,
1226
+ fontFamily: theme?.fontFamily,
1227
+ fontSize: theme?.fontSize || '14px',
1228
+ fontWeight: theme.labelFontWeight || '600',
1229
+ }, children: chartType === 'table'
1230
+ ? 'Columns'
1231
+ : chartType === 'pie'
1232
+ ? 'Quantity column'
1233
+ : 'y-axis columns' }), (0, jsx_runtime_1.jsxs)("div", { style: {
1234
+ display: 'flex',
1235
+ flexDirection: 'column',
1236
+ }, children: [yAxisFields.map((yAxisField, index) => ((0, jsx_runtime_1.jsx)("div", { style: {
1237
+ display: 'flex',
1238
+ flexDirection: 'row',
1239
+ alignItems: 'center',
1240
+ marginTop: index === 0 ? 6 : 10,
1241
+ }, children: (0, jsx_runtime_1.jsx)("div", { style: { minWidth: 200 }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { onChange: option => handleYAxisFieldChange(index, option), value: yAxisField.field, options: chartType === 'table' ? fieldOptions : yAxisOptions, theme: theme }) }) }, `yAxisField-${index}`))), chartType !== 'pie' && ((0, jsx_runtime_1.jsx)("div", { style: { marginTop: 12 }, children: (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: handleAddYAxisField, label: "Add column +" }) })), (0, jsx_runtime_1.jsx)("div", { style: { height: 10 } })] })] }), (0, jsx_runtime_1.jsx)("div", { style: { width: 20 } }), (0, jsx_runtime_1.jsxs)("div", { style: {
1242
+ display: 'flex',
1243
+ flexDirection: 'column',
1244
+ justifyContent: 'flex-start',
1245
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: formLabelStyle || {
1246
+ color: 'transparent',
1247
+ fontFamily: theme?.fontFamily,
1248
+ fontSize: theme?.fontSize || '14px',
1249
+ fontWeight: theme.labelFontWeight || '600',
1250
+ }, children: "y-axis label" }), chartType !== 'pie' &&
1251
+ yAxisFields.map((yAxisField, index) => ((0, jsx_runtime_1.jsxs)("div", { style: {
1252
+ display: 'flex',
1253
+ flexDirection: 'row',
1254
+ // alignItems: 'center',
1255
+ marginTop: index === 0 ? 6 : 10,
1256
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: { minWidth: 200 }, children: (0, jsx_runtime_1.jsx)(TextInputComponent, { value: yAxisFields[index].label, onChange: e => {
1257
+ handleYAxisLabelChange(index, e.target.value);
1258
+ }, theme: theme, placeholder: 'Enter a label' }) }), (0, jsx_runtime_1.jsx)("div", { style: { width: 20 } }), (0, jsx_runtime_1.jsx)("div", { style: { minWidth: 200 }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { onChange: value => handleYAxisFieldFormatChange(index, value), value: yAxisField.format, options: Y_FORMAT_OPTIONS, theme: theme }) }), (0, jsx_runtime_1.jsx)("div", { onClick: () => index > 0 ? handleDeleteYAxisField(index) : undefined, style: {
1259
+ cursor: index > 0 ? 'pointer' : undefined,
1260
+ paddingLeft: 6,
1261
+ paddingTop: 12,
1262
+ paddingBottom: 12,
1263
+ paddingRight: 6,
1264
+ maxHeight: 38,
1265
+ display: 'flex',
1266
+ alignItems: 'center',
1267
+ justifyContent: 'center',
1268
+ }, children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: index > 0 ? theme?.secondaryTextColor : 'rgba(0,0,0,0)', height: "20", width: "20", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z", clipRule: "evenodd" }) }) })] }, `yAxisField-${index}`)))] })] }), (0, jsx_runtime_1.jsx)("div", { style: { height: 20 } }), showTableFormatOptions && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { style: formHeaderStyle || {
1269
+ fontFamily: theme.fontFamily,
1270
+ color: theme.primaryTextColor,
1271
+ fontSize: theme.fontSize + 2,
1272
+ fontWeight: 600,
1273
+ // marginTop: 20,
1274
+ }, children: 'Table' }), (0, jsx_runtime_1.jsx)("div", { style: { height: 8 } })] })), showTableFormatOptions && chartType !== 'table' && ((0, jsx_runtime_1.jsx)("div", { style: formLabelStyle || {
1275
+ color: theme.secondaryTextColor,
1276
+ fontFamily: theme?.fontFamily,
1277
+ fontSize: theme?.fontSize || '14px',
1278
+ fontWeight: theme.labelFontWeight || '600',
1279
+ }, children: 'Columns' })), showTableFormatOptions && chartType !== 'table' && ((0, jsx_runtime_1.jsxs)("div", { style: {
1280
+ display: 'flex',
1281
+ flexDirection: 'row',
1282
+ alignItems: 'flex-start',
1283
+ marginTop: 6,
1284
+ // justifyContent: 'space-between',
1285
+ // marginTop: 8,
1286
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: { display: 'flex', flexDirection: 'column' }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
1287
+ display: 'flex',
1288
+ flexDirection: 'column',
1289
+ }, children: [columns.map((yAxisField, index) => ((0, jsx_runtime_1.jsx)("div", { style: {
1290
+ display: 'flex',
1291
+ flexDirection: 'row',
1292
+ alignItems: 'center',
1293
+ marginTop: index === 0 ? 6 : 10,
1294
+ }, children: (0, jsx_runtime_1.jsx)("div", { style: { minWidth: 200 }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { value: yAxisField.field, onChange: option => {
1295
+ handleColumnFieldChange(index, option);
1296
+ }, options: fieldOptions, theme: theme }) }) }, `column-${index}`))), (0, jsx_runtime_1.jsx)("div", { style: { height: 10 } })] }) }), (0, jsx_runtime_1.jsx)("div", { style: { width: 20 } }), (0, jsx_runtime_1.jsx)("div", { style: {
1297
+ display: 'flex',
1298
+ flexDirection: 'column',
1299
+ justifyContent: 'flex-start',
1300
+ }, children: columns.map((yAxisField, index) => ((0, jsx_runtime_1.jsxs)("div", { style: {
1301
+ display: 'flex',
1302
+ flexDirection: 'row',
1303
+ alignItems: 'center',
1304
+ marginTop: index === 0 ? 6 : 10,
1305
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: { minWidth: 200 }, children: (0, jsx_runtime_1.jsx)(TextInputComponent, { theme: theme, placeholder: "Enter column label", value: yAxisField.label, onChange: event => handleColumnLabelChange(index, event.target.value) }) }), (0, jsx_runtime_1.jsx)("div", { style: { width: 20 } }), (0, jsx_runtime_1.jsx)("div", { style: { minWidth: 200 }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { value: yAxisField.format, onChange: option => handleColumnFormatChange(index, option), options: Y_FORMAT_OPTIONS, theme: theme }) })] }, `column-${index}`))) })] })), showDateFieldOptions && (0, jsx_runtime_1.jsx)("div", { style: { height: 20 } }), showDateFieldOptions && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { style: formHeaderStyle || {
1306
+ fontFamily: theme.fontFamily,
1307
+ color: theme.primaryTextColor,
1308
+ fontSize: theme.fontSize + 2,
1309
+ fontWeight: 600,
1310
+ // marginTop: 20,
1311
+ }, children: 'Filters' }), (0, jsx_runtime_1.jsx)("div", { style: { height: 8 } })] })), showDateFieldOptions && ((0, jsx_runtime_1.jsxs)("div", { style: {
1312
+ display: 'flex',
1313
+ flexDirection: 'row',
1314
+ alignItems: 'center',
1315
+ }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)("div", { style: formLabelStyle || {
1316
+ color: theme.secondaryTextColor,
1317
+ fontFamily: theme?.fontFamily,
1318
+ fontSize: theme?.fontSize || '14px',
1319
+ fontWeight: theme.labelFontWeight || '600',
1320
+ }, children: "Date field table" }), (0, jsx_runtime_1.jsx)("div", { style: { minWidth: 200, marginTop: 6 }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { options: !dateFieldOptions.length
1321
+ ? [{ label: '', value: '' }]
1322
+ : dateFieldOptions.map(elem => {
1323
+ return { label: elem.name, value: elem.name };
1324
+ }), onChange: e => setDateFieldTable(e), value: dateFieldTable, theme: theme }) })] }), (0, jsx_runtime_1.jsx)("div", { style: { width: 20 } }), (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)("div", { style: formLabelStyle || {
1325
+ color: theme.secondaryTextColor,
1326
+ fontFamily: theme?.fontFamily,
1327
+ fontSize: theme?.fontSize || '14px',
1328
+ fontWeight: theme.labelFontWeight || '600',
1329
+ }, children: "Date field" }), (0, jsx_runtime_1.jsx)("div", { style: { minWidth: 200, marginTop: 6 }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { options: !dateFieldOptions.length
1330
+ ? [{ label: '', value: '' }]
1331
+ : dateFieldOptions.filter(elem => elem.name === dateFieldTable // Replace `values.dateFieldTable` with your state variable or prop
1332
+ ).length
1333
+ ? dateFieldOptions
1334
+ .filter(elem => elem.name === dateFieldTable)[0]
1335
+ .columns.map(elem => {
1336
+ return { label: elem.name, value: elem.name };
1337
+ })
1338
+ : [{ label: '', value: '' }], onChange: value => setDateField(value), value: dateField, theme: theme }) })] })] })), showAccessControlOptions && ((0, jsx_runtime_1.jsxs)("div", { style: {
1339
+ display: 'flex',
1340
+ flexDirection: 'column',
1341
+ marginTop: 40,
1342
+ marginBottom: 40,
1343
+ }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
1344
+ fontFamily: theme.fontFamily,
1345
+ color: theme.primaryTextColor,
1346
+ fontSize: theme.fontSize + 2,
1347
+ fontWeight: 600,
1348
+ }, children: 'Access Control' }), (0, jsx_runtime_1.jsx)("div", { style: { height: 12 } }), (0, jsx_runtime_1.jsxs)("div", { style: {
1349
+ padding: '1px',
1350
+ display: 'flex',
1351
+ flexDirection: 'row',
1352
+ fontSize: '14px',
1353
+ fontWeight: '500',
1354
+ height: '32px',
1355
+ width: '640px',
1356
+ color: '#212121',
1357
+ backgroundColor: 'rgba(33, 33, 33, 0.03)',
1358
+ borderRadius: '6px',
1359
+ }, children: [(0, jsx_runtime_1.jsx)("div", { onClick: () => {
1360
+ setSelectedTabIndex(0);
1361
+ setTemplate(false);
1362
+ }, style: {
1363
+ width: '100%',
1364
+ borderRadius: '6px', // Equivalent to rounded-md
1365
+ padding: '4px', // Equivalent to py-1
1366
+ fontSize: '14px', // Equivalent to text-sm
1367
+ fontWeight: '500', // Equivalent to font-medium
1368
+ display: 'flex',
1369
+ flexDirection: 'column',
1370
+ alignItems: 'center',
1371
+ justifyContent: 'center',
1372
+ cursor: 'pointer',
1373
+ borderColor: '#E7E7E7',
1374
+ borderWidth: selectedTabIndex === 0 ? 1 : 0,
1375
+ borderStyle: 'solid',
1376
+ color: selectedTabIndex === 0
1377
+ ? '#212121'
1378
+ : 'rgba(33, 33, 33, 0.3)', // Color and its hover state
1379
+ backgroundColor: selectedTabIndex === 0
1380
+ ? 'white'
1381
+ : 'rgba(255, 255, 255, 0.12)', // Background and its hover state
1382
+ boxShadow: selectedTabIndex === 0
1383
+ ? '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)'
1384
+ : undefined, // Shadow when selected
1385
+ outline: 'none', // focus:outline-none
1386
+ }, children: `This Organization${organizationName ? ` (${organizationName})` : ``}` }), (0, jsx_runtime_1.jsx)("div", { onClick: () => {
1387
+ setSelectedTabIndex(1);
1388
+ setTemplate(true);
1389
+ }, style: {
1390
+ width: '100%',
1391
+ borderRadius: '6px', // Equivalent to rounded-md
1392
+ padding: '4px', // Equivalent to py-1
1393
+ fontSize: '14px', // Equivalent to text-sm
1394
+ fontWeight: '500', // Equivalent to font-medium
1395
+ display: 'flex',
1396
+ flexDirection: 'column',
1397
+ alignItems: 'center',
1398
+ justifyContent: 'center',
1399
+ cursor: 'pointer',
1400
+ borderColor: '#E7E7E7',
1401
+ borderWidth: selectedTabIndex === 1 ? 1 : 0,
1402
+ borderStyle: 'solid',
1403
+ color: selectedTabIndex === 1
1404
+ ? '#212121'
1405
+ : 'rgba(33, 33, 33, 0.3)', // Color and its hover state
1406
+ backgroundColor: selectedTabIndex === 1
1407
+ ? 'white'
1408
+ : 'rgba(255, 255, 255, 0.12)', // Background and its hover state
1409
+ boxShadow: selectedTabIndex === 1
1410
+ ? '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)'
1411
+ : undefined, // Shadow when selected
1412
+ outline: 'none', // focus:outline-none
1413
+ }, children: 'Global (All Organizations)' })] })] })), (0, jsx_runtime_1.jsx)("div", { style: { paddingRight: 25 }, children: (0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: () => {
1414
+ const { xAxisField, xAxisLabel, xAxisFormat, chartName, chartType, dashboardName, dateFieldTable, dateField, template, } = chartConfig;
1415
+ if (isSubmitting === false) {
1416
+ editChart({
1417
+ setIsSubmitting,
1418
+ report,
1419
+ values: {
1420
+ xAxisField,
1421
+ xAxisLabel,
1422
+ xAxisFormat,
1423
+ chartName,
1424
+ chartType,
1425
+ dashboardName,
1426
+ dateFieldTable,
1427
+ dateField,
1428
+ template,
1429
+ },
1430
+ yAxisFields,
1431
+ columns,
1432
+ query,
1433
+ buckets: bucketFields,
1434
+ showTableFormatOptions,
1435
+ });
1436
+ }
1437
+ }, label: report ? 'Save changes' : 'Add to dashboard' }) }), (0, jsx_runtime_1.jsx)("div", { style: { height: 20 } })] }) }));
1438
+ }