@quillsql/react 2.12.37 → 2.12.38

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 (448) hide show
  1. package/dist/esm/Chart.d.ts +204 -0
  2. package/dist/esm/Chart.d.ts.map +1 -0
  3. package/dist/esm/Chart.js +431 -0
  4. package/dist/esm/ChartBuilder.d.ts +339 -0
  5. package/dist/esm/ChartBuilder.d.ts.map +1 -0
  6. package/dist/esm/ChartBuilder.js +1312 -0
  7. package/dist/esm/ChartEditor.d.ts +209 -0
  8. package/dist/esm/ChartEditor.d.ts.map +1 -0
  9. package/dist/esm/ChartEditor.js +182 -0
  10. package/dist/esm/Context.d.ts +14 -0
  11. package/dist/esm/Context.d.ts.map +1 -0
  12. package/dist/esm/Context.js +269 -0
  13. package/dist/esm/Dashboard.d.ts +279 -0
  14. package/dist/esm/Dashboard.d.ts.map +1 -0
  15. package/dist/esm/Dashboard.js +660 -0
  16. package/dist/esm/DateRangePicker/Calendar.d.ts +17 -0
  17. package/dist/esm/DateRangePicker/Calendar.d.ts.map +1 -0
  18. package/dist/esm/DateRangePicker/Calendar.js +164 -0
  19. package/dist/esm/DateRangePicker/DateRangePicker.d.ts +39 -0
  20. package/dist/esm/DateRangePicker/DateRangePicker.d.ts.map +1 -0
  21. package/dist/esm/DateRangePicker/DateRangePicker.js +95 -0
  22. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts +22 -0
  23. package/dist/esm/DateRangePicker/DateRangePickerButton.d.ts.map +1 -0
  24. package/dist/esm/DateRangePicker/DateRangePickerButton.js +134 -0
  25. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts +25 -0
  26. package/dist/esm/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -0
  27. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +260 -0
  28. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +80 -0
  29. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -0
  30. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +521 -0
  31. package/dist/esm/DateRangePicker/index.d.ts +3 -0
  32. package/dist/esm/DateRangePicker/index.d.ts.map +1 -0
  33. package/dist/esm/DateRangePicker/index.js +2 -0
  34. package/dist/esm/QuillProvider.d.ts +163 -0
  35. package/dist/esm/QuillProvider.d.ts.map +1 -0
  36. package/dist/esm/QuillProvider.js +104 -0
  37. package/dist/esm/ReportBuilder.d.ts +318 -0
  38. package/dist/esm/ReportBuilder.d.ts.map +1 -0
  39. package/dist/esm/ReportBuilder.js +3279 -0
  40. package/dist/esm/SQLEditor.d.ts +272 -0
  41. package/dist/esm/SQLEditor.d.ts.map +1 -0
  42. package/dist/esm/SQLEditor.js +510 -0
  43. package/dist/esm/Table.d.ts +167 -0
  44. package/dist/esm/Table.d.ts.map +1 -0
  45. package/dist/esm/Table.js +215 -0
  46. package/dist/esm/TableChart.d.ts +15 -0
  47. package/dist/esm/TableChart.d.ts.map +1 -0
  48. package/dist/esm/TableChart.js +95 -0
  49. package/dist/esm/assets/ArrowDownHeadIcon.d.ts +5 -0
  50. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -0
  51. package/dist/esm/assets/ArrowDownHeadIcon.js +3 -0
  52. package/dist/esm/assets/ArrowDownIcon.d.ts +5 -0
  53. package/dist/esm/assets/ArrowDownIcon.d.ts.map +1 -0
  54. package/dist/esm/assets/ArrowDownIcon.js +3 -0
  55. package/dist/esm/assets/ArrowDownRightIcon.d.ts +5 -0
  56. package/dist/esm/assets/ArrowDownRightIcon.d.ts.map +1 -0
  57. package/dist/esm/assets/ArrowDownRightIcon.js +3 -0
  58. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts +5 -0
  59. package/dist/esm/assets/ArrowLeftHeadIcon.d.ts.map +1 -0
  60. package/dist/esm/assets/ArrowLeftHeadIcon.js +3 -0
  61. package/dist/esm/assets/ArrowRightHeadIcon.d.ts +5 -0
  62. package/dist/esm/assets/ArrowRightHeadIcon.d.ts.map +1 -0
  63. package/dist/esm/assets/ArrowRightHeadIcon.js +3 -0
  64. package/dist/esm/assets/ArrowRightIcon.d.ts +5 -0
  65. package/dist/esm/assets/ArrowRightIcon.d.ts.map +1 -0
  66. package/dist/esm/assets/ArrowRightIcon.js +3 -0
  67. package/dist/esm/assets/ArrowUpHeadIcon.d.ts +5 -0
  68. package/dist/esm/assets/ArrowUpHeadIcon.d.ts.map +1 -0
  69. package/dist/esm/assets/ArrowUpHeadIcon.js +3 -0
  70. package/dist/esm/assets/ArrowUpIcon.d.ts +5 -0
  71. package/dist/esm/assets/ArrowUpIcon.d.ts.map +1 -0
  72. package/dist/esm/assets/ArrowUpIcon.js +3 -0
  73. package/dist/esm/assets/ArrowUpRightIcon.d.ts +5 -0
  74. package/dist/esm/assets/ArrowUpRightIcon.d.ts.map +1 -0
  75. package/dist/esm/assets/ArrowUpRightIcon.js +3 -0
  76. package/dist/esm/assets/CalendarIcon.d.ts +5 -0
  77. package/dist/esm/assets/CalendarIcon.d.ts.map +1 -0
  78. package/dist/esm/assets/CalendarIcon.js +3 -0
  79. package/dist/esm/assets/CalendarNormalIcon.d.ts +5 -0
  80. package/dist/esm/assets/CalendarNormalIcon.d.ts.map +1 -0
  81. package/dist/esm/assets/CalendarNormalIcon.js +3 -0
  82. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts +5 -0
  83. package/dist/esm/assets/DoubleArrowLeftHeadIcon.d.ts.map +1 -0
  84. package/dist/esm/assets/DoubleArrowLeftHeadIcon.js +3 -0
  85. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts +5 -0
  86. package/dist/esm/assets/DoubleArrowRightHeadIcon.d.ts.map +1 -0
  87. package/dist/esm/assets/DoubleArrowRightHeadIcon.js +3 -0
  88. package/dist/esm/assets/ExclamationFilledIcon.d.ts +5 -0
  89. package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -0
  90. package/dist/esm/assets/ExclamationFilledIcon.js +3 -0
  91. package/dist/esm/assets/FilterIcon.d.ts +5 -0
  92. package/dist/esm/assets/FilterIcon.d.ts.map +1 -0
  93. package/dist/esm/assets/FilterIcon.js +3 -0
  94. package/dist/esm/assets/LoadingSpinner.d.ts +5 -0
  95. package/dist/esm/assets/LoadingSpinner.d.ts.map +1 -0
  96. package/dist/esm/assets/LoadingSpinner.js +3 -0
  97. package/dist/esm/assets/RefreshIcon.d.ts +5 -0
  98. package/dist/esm/assets/RefreshIcon.d.ts.map +1 -0
  99. package/dist/esm/assets/RefreshIcon.js +3 -0
  100. package/dist/esm/assets/SearchIcon.d.ts +5 -0
  101. package/dist/esm/assets/SearchIcon.d.ts.map +1 -0
  102. package/dist/esm/assets/SearchIcon.js +3 -0
  103. package/dist/esm/assets/UpLeftArrowsIcon.d.ts +5 -0
  104. package/dist/esm/assets/UpLeftArrowsIcon.d.ts.map +1 -0
  105. package/dist/esm/assets/UpLeftArrowsIcon.js +3 -0
  106. package/dist/esm/assets/XCircleIcon.d.ts +5 -0
  107. package/dist/esm/assets/XCircleIcon.d.ts.map +1 -0
  108. package/dist/esm/assets/XCircleIcon.js +3 -0
  109. package/dist/esm/assets/XIcon.d.ts +5 -0
  110. package/dist/esm/assets/XIcon.d.ts.map +1 -0
  111. package/dist/esm/assets/XIcon.js +3 -0
  112. package/dist/esm/assets/index.d.ts +22 -0
  113. package/dist/esm/assets/index.d.ts.map +1 -0
  114. package/dist/esm/assets/index.js +21 -0
  115. package/dist/esm/components/Banner/index.d.ts +3 -0
  116. package/dist/esm/components/Banner/index.d.ts.map +1 -0
  117. package/dist/esm/components/Banner/index.js +24 -0
  118. package/dist/esm/components/BigModal/BigModal.d.ts +15 -0
  119. package/dist/esm/components/BigModal/BigModal.d.ts.map +1 -0
  120. package/dist/esm/components/BigModal/BigModal.js +56 -0
  121. package/dist/esm/components/Chart/BarChart.d.ts +23 -0
  122. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -0
  123. package/dist/esm/components/Chart/BarChart.js +110 -0
  124. package/dist/esm/components/Chart/BarList.d.ts +27 -0
  125. package/dist/esm/components/Chart/BarList.d.ts.map +1 -0
  126. package/dist/esm/components/Chart/BarList.js +148 -0
  127. package/dist/esm/components/Chart/ChartError.d.ts +10 -0
  128. package/dist/esm/components/Chart/ChartError.d.ts.map +1 -0
  129. package/dist/esm/components/Chart/ChartError.js +65 -0
  130. package/dist/esm/components/Chart/ChartSkeleton.d.ts +8 -0
  131. package/dist/esm/components/Chart/ChartSkeleton.d.ts.map +1 -0
  132. package/dist/esm/components/Chart/ChartSkeleton.js +19 -0
  133. package/dist/esm/components/Chart/ChartTooltip.d.ts +31 -0
  134. package/dist/esm/components/Chart/ChartTooltip.d.ts.map +1 -0
  135. package/dist/esm/components/Chart/ChartTooltip.js +234 -0
  136. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts +6 -0
  137. package/dist/esm/components/Chart/ChartTooltipFrame.d.ts.map +1 -0
  138. package/dist/esm/components/Chart/ChartTooltipFrame.js +14 -0
  139. package/dist/esm/components/Chart/ChartTooltipGroup.d.ts +11 -0
  140. package/dist/esm/components/Chart/ChartTooltipGroup.d.ts.map +1 -0
  141. package/dist/esm/components/Chart/ChartTooltipGroup.js +23 -0
  142. package/dist/esm/components/Chart/ChartTooltipRow.d.ts +8 -0
  143. package/dist/esm/components/Chart/ChartTooltipRow.d.ts.map +1 -0
  144. package/dist/esm/components/Chart/ChartTooltipRow.js +41 -0
  145. package/dist/esm/components/Chart/LineChart.d.ts +29 -0
  146. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -0
  147. package/dist/esm/components/Chart/LineChart.js +163 -0
  148. package/dist/esm/components/Chart/PieChart.d.ts +62 -0
  149. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -0
  150. package/dist/esm/components/Chart/PieChart.js +195 -0
  151. package/dist/esm/components/Dashboard/ChartComponent.d.ts +4 -0
  152. package/dist/esm/components/Dashboard/ChartComponent.d.ts.map +1 -0
  153. package/dist/esm/components/Dashboard/ChartComponent.js +60 -0
  154. package/dist/esm/components/Dashboard/DashboardFilter.d.ts +38 -0
  155. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -0
  156. package/dist/esm/components/Dashboard/DashboardFilter.js +89 -0
  157. package/dist/esm/components/Dashboard/DashboardSection.d.ts +7 -0
  158. package/dist/esm/components/Dashboard/DashboardSection.d.ts.map +1 -0
  159. package/dist/esm/components/Dashboard/DashboardSection.js +22 -0
  160. package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts +3 -0
  161. package/dist/esm/components/Dashboard/DashboardSectionContainer.d.ts.map +1 -0
  162. package/dist/esm/components/Dashboard/DashboardSectionContainer.js +10 -0
  163. package/dist/esm/components/Dashboard/DataLoader.d.ts +44 -0
  164. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -0
  165. package/dist/esm/components/Dashboard/DataLoader.js +190 -0
  166. package/dist/esm/components/Dashboard/MetricComponent.d.ts +4 -0
  167. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -0
  168. package/dist/esm/components/Dashboard/MetricComponent.js +133 -0
  169. package/dist/esm/components/Dashboard/TableComponent.d.ts +15 -0
  170. package/dist/esm/components/Dashboard/TableComponent.d.ts.map +1 -0
  171. package/dist/esm/components/Dashboard/TableComponent.js +62 -0
  172. package/dist/esm/components/Dropdown/Dropdown.d.ts +14 -0
  173. package/dist/esm/components/Dropdown/Dropdown.d.ts.map +1 -0
  174. package/dist/esm/components/Dropdown/Dropdown.js +69 -0
  175. package/dist/esm/components/Dropdown/DropdownItem.d.ts +11 -0
  176. package/dist/esm/components/Dropdown/DropdownItem.d.ts.map +1 -0
  177. package/dist/esm/components/Dropdown/DropdownItem.js +37 -0
  178. package/dist/esm/components/Dropdown/index.d.ts +3 -0
  179. package/dist/esm/components/Dropdown/index.d.ts.map +1 -0
  180. package/dist/esm/components/Dropdown/index.js +2 -0
  181. package/dist/esm/components/Modal/Modal.d.ts +15 -0
  182. package/dist/esm/components/Modal/Modal.d.ts.map +1 -0
  183. package/dist/esm/components/Modal/Modal.js +64 -0
  184. package/dist/esm/components/Modal/index.d.ts +2 -0
  185. package/dist/esm/components/Modal/index.d.ts.map +1 -0
  186. package/dist/esm/components/Modal/index.js +1 -0
  187. package/dist/esm/components/QuillCard.d.ts +9 -0
  188. package/dist/esm/components/QuillCard.d.ts.map +1 -0
  189. package/dist/esm/components/QuillCard.js +56 -0
  190. package/dist/esm/components/QuillMultiSelect.d.ts +11 -0
  191. package/dist/esm/components/QuillMultiSelect.d.ts.map +1 -0
  192. package/dist/esm/components/QuillMultiSelect.js +193 -0
  193. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +11 -0
  194. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -0
  195. package/dist/esm/components/QuillMultiSelectWithCombo.js +215 -0
  196. package/dist/esm/components/QuillSelect.d.ts +6 -0
  197. package/dist/esm/components/QuillSelect.d.ts.map +1 -0
  198. package/dist/esm/components/QuillSelect.js +136 -0
  199. package/dist/esm/components/QuillSelectWithCombo.d.ts +6 -0
  200. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -0
  201. package/dist/esm/components/QuillSelectWithCombo.js +163 -0
  202. package/dist/esm/components/QuillTable.d.ts +31 -0
  203. package/dist/esm/components/QuillTable.d.ts.map +1 -0
  204. package/dist/esm/components/QuillTable.js +261 -0
  205. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts +34 -0
  206. package/dist/esm/components/ReportBuilder/AddColumnModal.d.ts.map +1 -0
  207. package/dist/esm/components/ReportBuilder/AddColumnModal.js +145 -0
  208. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts +26 -0
  209. package/dist/esm/components/ReportBuilder/AddLimitPopover.d.ts.map +1 -0
  210. package/dist/esm/components/ReportBuilder/AddLimitPopover.js +36 -0
  211. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts +23 -0
  212. package/dist/esm/components/ReportBuilder/AddSortPopover.d.ts.map +1 -0
  213. package/dist/esm/components/ReportBuilder/AddSortPopover.js +73 -0
  214. package/dist/esm/components/ReportBuilder/FilterModal.d.ts +30 -0
  215. package/dist/esm/components/ReportBuilder/FilterModal.d.ts.map +1 -0
  216. package/dist/esm/components/ReportBuilder/FilterModal.js +576 -0
  217. package/dist/esm/components/ReportBuilder/ast.d.ts +523 -0
  218. package/dist/esm/components/ReportBuilder/ast.d.ts.map +1 -0
  219. package/dist/esm/components/ReportBuilder/ast.js +230 -0
  220. package/dist/esm/components/ReportBuilder/bigDateMap.d.ts +7 -0
  221. package/dist/esm/components/ReportBuilder/bigDateMap.d.ts.map +1 -0
  222. package/dist/esm/components/ReportBuilder/bigDateMap.js +687 -0
  223. package/dist/esm/components/ReportBuilder/constants.d.ts +117 -0
  224. package/dist/esm/components/ReportBuilder/constants.d.ts.map +1 -0
  225. package/dist/esm/components/ReportBuilder/constants.js +161 -0
  226. package/dist/esm/components/ReportBuilder/convert.d.ts +65 -0
  227. package/dist/esm/components/ReportBuilder/convert.d.ts.map +1 -0
  228. package/dist/esm/components/ReportBuilder/convert.js +717 -0
  229. package/dist/esm/components/ReportBuilder/operators.d.ts +462 -0
  230. package/dist/esm/components/ReportBuilder/operators.d.ts.map +1 -0
  231. package/dist/esm/components/ReportBuilder/operators.js +581 -0
  232. package/dist/esm/components/ReportBuilder/pivot.d.ts +16 -0
  233. package/dist/esm/components/ReportBuilder/pivot.d.ts.map +1 -0
  234. package/dist/esm/components/ReportBuilder/pivot.js +1 -0
  235. package/dist/esm/components/ReportBuilder/postgres.d.ts +150 -0
  236. package/dist/esm/components/ReportBuilder/postgres.d.ts.map +1 -0
  237. package/dist/esm/components/ReportBuilder/postgres.js +355 -0
  238. package/dist/esm/components/ReportBuilder/schema.d.ts +23 -0
  239. package/dist/esm/components/ReportBuilder/schema.d.ts.map +1 -0
  240. package/dist/esm/components/ReportBuilder/schema.js +1 -0
  241. package/dist/esm/components/ReportBuilder/ui.d.ts +119 -0
  242. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -0
  243. package/dist/esm/components/ReportBuilder/ui.js +382 -0
  244. package/dist/esm/components/ReportBuilder/util.d.ts +76 -0
  245. package/dist/esm/components/ReportBuilder/util.d.ts.map +1 -0
  246. package/dist/esm/components/ReportBuilder/util.js +729 -0
  247. package/dist/esm/components/UiComponents.d.ts +221 -0
  248. package/dist/esm/components/UiComponents.d.ts.map +1 -0
  249. package/dist/esm/components/UiComponents.js +571 -0
  250. package/dist/esm/components/selectUtils.d.ts +9 -0
  251. package/dist/esm/components/selectUtils.d.ts.map +1 -0
  252. package/dist/esm/components/selectUtils.js +17 -0
  253. package/dist/esm/contexts/BaseColorContext.d.ts +4 -0
  254. package/dist/esm/contexts/BaseColorContext.d.ts.map +1 -0
  255. package/dist/esm/contexts/BaseColorContext.js +3 -0
  256. package/dist/esm/contexts/HoveredValueContext.d.ts +8 -0
  257. package/dist/esm/contexts/HoveredValueContext.d.ts.map +1 -0
  258. package/dist/esm/contexts/HoveredValueContext.js +5 -0
  259. package/dist/esm/contexts/RootStylesContext.d.ts +4 -0
  260. package/dist/esm/contexts/RootStylesContext.d.ts.map +1 -0
  261. package/dist/esm/contexts/RootStylesContext.js +3 -0
  262. package/dist/esm/contexts/SelectedValueContext.d.ts +8 -0
  263. package/dist/esm/contexts/SelectedValueContext.d.ts.map +1 -0
  264. package/dist/esm/contexts/SelectedValueContext.js +6 -0
  265. package/dist/esm/contexts/index.d.ts +5 -0
  266. package/dist/esm/contexts/index.d.ts.map +1 -0
  267. package/dist/esm/contexts/index.js +4 -0
  268. package/dist/esm/hooks/index.d.ts +6 -0
  269. package/dist/esm/hooks/index.d.ts.map +1 -0
  270. package/dist/esm/hooks/index.js +5 -0
  271. package/dist/esm/hooks/useAstToFilterTree.d.ts +11 -0
  272. package/dist/esm/hooks/useAstToFilterTree.d.ts.map +1 -0
  273. package/dist/esm/hooks/useAstToFilterTree.js +24 -0
  274. package/dist/esm/hooks/useDashboard.d.ts +7 -0
  275. package/dist/esm/hooks/useDashboard.d.ts.map +1 -0
  276. package/dist/esm/hooks/useDashboard.js +69 -0
  277. package/dist/esm/hooks/useExport.d.ts +6 -0
  278. package/dist/esm/hooks/useExport.d.ts.map +1 -0
  279. package/dist/esm/hooks/useExport.js +125 -0
  280. package/dist/esm/hooks/useFormat.d.ts +5 -0
  281. package/dist/esm/hooks/useFormat.d.ts.map +1 -0
  282. package/dist/esm/hooks/useFormat.js +25 -0
  283. package/dist/esm/hooks/useInternalState.d.ts +4 -0
  284. package/dist/esm/hooks/useInternalState.d.ts.map +1 -0
  285. package/dist/esm/hooks/useInternalState.js +14 -0
  286. package/dist/esm/hooks/useOnClickOutside.d.ts +3 -0
  287. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -0
  288. package/dist/esm/hooks/useOnClickOutside.js +18 -0
  289. package/dist/esm/hooks/useOnWindowResize.d.ts +5 -0
  290. package/dist/esm/hooks/useOnWindowResize.d.ts.map +1 -0
  291. package/dist/esm/hooks/useOnWindowResize.js +14 -0
  292. package/dist/esm/hooks/useQuill.d.ts +37 -0
  293. package/dist/esm/hooks/useQuill.d.ts.map +1 -0
  294. package/dist/esm/hooks/useQuill.js +182 -0
  295. package/dist/esm/hooks/useSelectOnKeyDown.d.ts +3 -0
  296. package/dist/esm/hooks/useSelectOnKeyDown.d.ts.map +1 -0
  297. package/dist/esm/hooks/useSelectOnKeyDown.js +63 -0
  298. package/dist/esm/hooks/useTheme.d.ts +7 -0
  299. package/dist/esm/hooks/useTheme.d.ts.map +1 -0
  300. package/dist/esm/hooks/useTheme.js +10 -0
  301. package/dist/esm/index.d.ts +29 -0
  302. package/dist/esm/index.d.ts.map +1 -0
  303. package/dist/esm/index.js +16 -0
  304. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts +28 -0
  305. package/dist/esm/internals/ReportBuilder/PivotForm.d.ts.map +1 -0
  306. package/dist/esm/internals/ReportBuilder/PivotForm.js +62 -0
  307. package/dist/esm/internals/ReportBuilder/PivotList.d.ts +39 -0
  308. package/dist/esm/internals/ReportBuilder/PivotList.d.ts.map +1 -0
  309. package/dist/esm/internals/ReportBuilder/PivotList.js +89 -0
  310. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +146 -0
  311. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -0
  312. package/dist/esm/internals/ReportBuilder/PivotModal.js +1210 -0
  313. package/dist/esm/lib/font.d.ts +14 -0
  314. package/dist/esm/lib/font.d.ts.map +1 -0
  315. package/dist/esm/lib/font.js +13 -0
  316. package/dist/esm/lib/index.d.ts +4 -0
  317. package/dist/esm/lib/index.d.ts.map +1 -0
  318. package/dist/esm/lib/index.js +3 -0
  319. package/dist/esm/lib/inputTypes.d.ts +21 -0
  320. package/dist/esm/lib/inputTypes.d.ts.map +1 -0
  321. package/dist/esm/lib/inputTypes.js +55 -0
  322. package/dist/esm/lib/utils.d.ts +10 -0
  323. package/dist/esm/lib/utils.d.ts.map +1 -0
  324. package/dist/esm/lib/utils.js +35 -0
  325. package/dist/esm/models/Columns.d.ts +12 -0
  326. package/dist/esm/models/Columns.d.ts.map +1 -0
  327. package/dist/esm/models/Columns.js +1 -0
  328. package/dist/esm/models/Filter.d.ts +118 -0
  329. package/dist/esm/models/Filter.d.ts.map +1 -0
  330. package/dist/esm/models/Filter.js +98 -0
  331. package/dist/esm/models/Pagination.d.ts +10 -0
  332. package/dist/esm/models/Pagination.d.ts.map +1 -0
  333. package/dist/esm/models/Pagination.js +1 -0
  334. package/dist/esm/models/Pivots.d.ts +2 -0
  335. package/dist/esm/models/Pivots.d.ts.map +1 -0
  336. package/dist/esm/models/Pivots.js +1 -0
  337. package/dist/esm/models/Report.d.ts +103 -0
  338. package/dist/esm/models/Report.d.ts.map +1 -0
  339. package/dist/esm/models/Report.js +1 -0
  340. package/dist/esm/models/Tables.d.ts +8 -0
  341. package/dist/esm/models/Tables.d.ts.map +1 -0
  342. package/dist/esm/models/Tables.js +1 -0
  343. package/dist/esm/utils/aggregate.d.ts +4 -0
  344. package/dist/esm/utils/aggregate.d.ts.map +1 -0
  345. package/dist/esm/utils/aggregate.js +422 -0
  346. package/dist/esm/utils/astFilterProcessing.d.ts +36 -0
  347. package/dist/esm/utils/astFilterProcessing.d.ts.map +1 -0
  348. package/dist/esm/utils/astFilterProcessing.js +8084 -0
  349. package/dist/esm/utils/astProcessing.d.ts +26 -0
  350. package/dist/esm/utils/astProcessing.d.ts.map +1 -0
  351. package/dist/esm/utils/astProcessing.js +254 -0
  352. package/dist/esm/utils/axisFormatter.d.ts +20 -0
  353. package/dist/esm/utils/axisFormatter.d.ts.map +1 -0
  354. package/dist/esm/utils/axisFormatter.js +179 -0
  355. package/dist/esm/utils/color.d.ts +44 -0
  356. package/dist/esm/utils/color.d.ts.map +1 -0
  357. package/dist/esm/utils/color.js +425 -0
  358. package/dist/esm/utils/columnProcessing.d.ts +13 -0
  359. package/dist/esm/utils/columnProcessing.d.ts.map +1 -0
  360. package/dist/esm/utils/columnProcessing.js +260 -0
  361. package/dist/esm/utils/constants.d.ts +2 -0
  362. package/dist/esm/utils/constants.d.ts.map +1 -0
  363. package/dist/esm/utils/constants.js +1 -0
  364. package/dist/esm/utils/crypto.d.ts +2 -0
  365. package/dist/esm/utils/crypto.d.ts.map +1 -0
  366. package/dist/esm/utils/crypto.js +10 -0
  367. package/dist/esm/utils/csv.d.ts +6 -0
  368. package/dist/esm/utils/csv.d.ts.map +1 -0
  369. package/dist/esm/utils/csv.js +78 -0
  370. package/dist/esm/utils/dashboard.d.ts +13 -0
  371. package/dist/esm/utils/dashboard.d.ts.map +1 -0
  372. package/dist/esm/utils/dashboard.js +171 -0
  373. package/dist/esm/utils/dataFetcher.d.ts +3 -0
  374. package/dist/esm/utils/dataFetcher.d.ts.map +1 -0
  375. package/dist/esm/utils/dataFetcher.js +205 -0
  376. package/dist/esm/utils/dataProcessing.d.ts +11 -0
  377. package/dist/esm/utils/dataProcessing.d.ts.map +1 -0
  378. package/dist/esm/utils/dataProcessing.js +162 -0
  379. package/dist/esm/utils/dates.d.ts +20 -0
  380. package/dist/esm/utils/dates.d.ts.map +1 -0
  381. package/dist/esm/utils/dates.js +95 -0
  382. package/dist/esm/utils/error.d.ts +5 -0
  383. package/dist/esm/utils/error.d.ts.map +1 -0
  384. package/dist/esm/utils/error.js +8 -0
  385. package/dist/esm/utils/errorProcessing.d.ts +2 -0
  386. package/dist/esm/utils/errorProcessing.d.ts.map +1 -0
  387. package/dist/esm/utils/errorProcessing.js +5 -0
  388. package/dist/esm/utils/filterConstants.d.ts +34 -0
  389. package/dist/esm/utils/filterConstants.d.ts.map +1 -0
  390. package/dist/esm/utils/filterConstants.js +33 -0
  391. package/dist/esm/utils/filterProcessing.d.ts +10 -0
  392. package/dist/esm/utils/filterProcessing.d.ts.map +1 -0
  393. package/dist/esm/utils/filterProcessing.js +232 -0
  394. package/dist/esm/utils/getDomain.d.ts +8 -0
  395. package/dist/esm/utils/getDomain.d.ts.map +1 -0
  396. package/dist/esm/utils/getDomain.js +52 -0
  397. package/dist/esm/utils/logging.d.ts +2 -0
  398. package/dist/esm/utils/logging.d.ts.map +1 -0
  399. package/dist/esm/utils/logging.js +7 -0
  400. package/dist/esm/utils/merge.d.ts +2 -0
  401. package/dist/esm/utils/merge.d.ts.map +1 -0
  402. package/dist/esm/utils/merge.js +18 -0
  403. package/dist/esm/utils/monacoConfig.d.ts +21 -0
  404. package/dist/esm/utils/monacoConfig.d.ts.map +1 -0
  405. package/dist/esm/utils/monacoConfig.js +319 -0
  406. package/dist/esm/utils/paginationProcessing.d.ts +5 -0
  407. package/dist/esm/utils/paginationProcessing.d.ts.map +1 -0
  408. package/dist/esm/utils/paginationProcessing.js +25 -0
  409. package/dist/esm/utils/parserBigQuery.d.ts +6 -0
  410. package/dist/esm/utils/parserBigQuery.d.ts.map +1 -0
  411. package/dist/esm/utils/parserBigQuery.js +52 -0
  412. package/dist/esm/utils/parserPostgres.d.ts +3 -0
  413. package/dist/esm/utils/parserPostgres.d.ts.map +1 -0
  414. package/dist/esm/utils/parserPostgres.js +37 -0
  415. package/dist/esm/utils/pivotConstructor.d.ts +7 -0
  416. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -0
  417. package/dist/esm/utils/pivotConstructor.js +151 -0
  418. package/dist/esm/utils/pivotProcessing.d.ts +17 -0
  419. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -0
  420. package/dist/esm/utils/pivotProcessing.js +132 -0
  421. package/dist/esm/utils/queryConstructor.d.ts +7 -0
  422. package/dist/esm/utils/queryConstructor.d.ts.map +1 -0
  423. package/dist/esm/utils/queryConstructor.js +226 -0
  424. package/dist/esm/utils/report.d.ts +10 -0
  425. package/dist/esm/utils/report.d.ts.map +1 -0
  426. package/dist/esm/utils/report.js +186 -0
  427. package/dist/esm/utils/schema.d.ts +6 -0
  428. package/dist/esm/utils/schema.d.ts.map +1 -0
  429. package/dist/esm/utils/schema.js +153 -0
  430. package/dist/esm/utils/styles.d.ts +17 -0
  431. package/dist/esm/utils/styles.d.ts.map +1 -0
  432. package/dist/esm/utils/styles.js +16 -0
  433. package/dist/esm/utils/tableProcessing.d.ts +45 -0
  434. package/dist/esm/utils/tableProcessing.d.ts.map +1 -0
  435. package/dist/esm/utils/tableProcessing.js +300 -0
  436. package/dist/esm/utils/textProcessing.d.ts +6 -0
  437. package/dist/esm/utils/textProcessing.d.ts.map +1 -0
  438. package/dist/esm/utils/textProcessing.js +49 -0
  439. package/dist/esm/utils/validation.d.ts +9 -0
  440. package/dist/esm/utils/validation.d.ts.map +1 -0
  441. package/dist/esm/utils/validation.js +20 -0
  442. package/dist/esm/utils/valueFormatter.d.ts +29 -0
  443. package/dist/esm/utils/valueFormatter.d.ts.map +1 -0
  444. package/dist/esm/utils/valueFormatter.js +342 -0
  445. package/dist/esm/utils/width.d.ts +12 -0
  446. package/dist/esm/utils/width.d.ts.map +1 -0
  447. package/dist/esm/utils/width.js +21 -0
  448. package/package.json +1 -1
@@ -0,0 +1,261 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useContext, useEffect, useState } from 'react';
3
+ import { compareValues } from '../utils/valueFormatter';
4
+ import { ThemeContext } from '../Context';
5
+ import { QuillLoadingComponent } from './UiComponents';
6
+ export default function QuillTable({ rows, rowCount, columns, isLoading, currentPage, sort, hideCSVDownloadButton = true, containerStyle, className, LoadingComponent = QuillLoadingComponent, rowsPerPage = 10, emptyStateLabel = 'No results', downloadCSV, onPageChange, onSortChange, }) {
7
+ const [activeRows, setActiveRows] = useState([]);
8
+ const [pageIndex, setPageIndex] = useState(currentPage || 0);
9
+ const [maxPage, setMaxPage] = useState(1);
10
+ const [sortColumn, setSortColumn] = useState(sort?.field || '');
11
+ const [sortDirection, setSortDirection] = useState(sort?.direction || 'desc');
12
+ const [theme] = useContext(ThemeContext);
13
+ const [isPaginating, setIsPaginating] = useState(true);
14
+ const [initialLoad, setInitialLoad] = useState(isLoading);
15
+ useEffect(() => {
16
+ setSortColumn(sort?.field || '');
17
+ setSortDirection(sort?.direction || 'desc');
18
+ }, [sort]);
19
+ useEffect(() => {
20
+ setIsPaginating(true);
21
+ if (rows?.length === 0 && isLoading) {
22
+ return;
23
+ }
24
+ const start = pageIndex * rowsPerPage;
25
+ const end = (pageIndex + 1) * rowsPerPage;
26
+ if (rowCount && onSortChange && rowCount !== rows.length) {
27
+ setMaxPage(Math.ceil(rowCount / rowsPerPage));
28
+ setActiveRows(rows.slice(start, end));
29
+ }
30
+ else {
31
+ const sortedRows = [...rows];
32
+ if (sortColumn) {
33
+ sortedRows.sort((a, b) => {
34
+ const result = compareValues(a, b, sortColumn);
35
+ return sortDirection === 'asc' ? result : -result;
36
+ });
37
+ }
38
+ setMaxPage(Math.ceil(sortedRows.length / rowsPerPage));
39
+ setActiveRows(sortedRows.slice(start, end));
40
+ }
41
+ setIsPaginating(false);
42
+ setInitialLoad(false);
43
+ }, [pageIndex, rows, sortColumn, sortDirection, columns, rowCount]);
44
+ const increasePage = () => {
45
+ if (pageIndex + 1 === maxPage) {
46
+ return;
47
+ }
48
+ setPageIndex((pageIndex) => pageIndex + 1);
49
+ onPageChange && onPageChange(pageIndex + 1);
50
+ };
51
+ const decreasePage = () => {
52
+ if (pageIndex === 0) {
53
+ return;
54
+ }
55
+ setPageIndex((pageIndex) => pageIndex - 1);
56
+ onPageChange && onPageChange(pageIndex - 1);
57
+ };
58
+ const toggleSort = (column) => {
59
+ if (sortColumn === column.field) {
60
+ setSortDirection(sortDirection === 'asc' ? 'desc' : 'asc');
61
+ setPageIndex(0);
62
+ if (onSortChange) {
63
+ onSortChange({
64
+ field: column.field,
65
+ direction: sortDirection === 'asc' ? 'desc' : 'asc',
66
+ });
67
+ }
68
+ }
69
+ else {
70
+ setSortColumn(column.field);
71
+ setSortDirection('desc');
72
+ setPageIndex(0);
73
+ if (onSortChange) {
74
+ onSortChange({
75
+ field: column.field,
76
+ direction: 'desc',
77
+ });
78
+ }
79
+ }
80
+ };
81
+ if (initialLoad) {
82
+ return (_jsx("div", { style: {
83
+ height: '100%',
84
+ ...containerStyle,
85
+ }, className: className, children: _jsx(LoadingComponent, {}) }));
86
+ }
87
+ return (_jsx("div", { style: {
88
+ width: '100%',
89
+ height: '100%',
90
+ overflow: 'auto',
91
+ display: 'flex',
92
+ flexDirection: 'column',
93
+ ...containerStyle,
94
+ }, className: className, children: _jsx("div", { style: {
95
+ height: '100%',
96
+ width: '100%',
97
+ overflow: 'auto',
98
+ borderRadius: 6,
99
+ border: '1px solid #E7E7E7',
100
+ padding: 0,
101
+ margin: 0,
102
+ boxSizing: 'border-box',
103
+ outline: 'none',
104
+ }, children: _jsxs("div", { role: "table", className: "table", style: {
105
+ display: 'flex',
106
+ flexDirection: 'column',
107
+ minWidth: '0px',
108
+ width: '100%',
109
+ height: '100%',
110
+ }, children: [_jsxs("div", { style: { overflow: 'auto', flexGrow: 1 }, children: [_jsx("div", { className: "thead", children: _jsx("div", { role: "row", className: "tr", style: {
111
+ display: 'flex',
112
+ flex: '1 0 auto',
113
+ minWidth: '100px',
114
+ boxSizing: 'border-box',
115
+ }, children: columns &&
116
+ columns.map((column, index) => (_jsxs("div", { onClick: () => {
117
+ toggleSort(column);
118
+ }, style: {
119
+ boxSizing: 'border-box',
120
+ flex: '150 0 auto',
121
+ minWidth: '50px',
122
+ width: '150px',
123
+ position: 'relative',
124
+ cursor: 'pointer',
125
+ background: 'rgb(249, 250, 251)',
126
+ borderRight: index + 1 === columns.length
127
+ ? '0px solid #E7E7E7'
128
+ : '1px solid #E7E7E7',
129
+ borderBottom: '1px solid #E7E7E7',
130
+ whiteSpace: 'nowrap',
131
+ alignItems: 'center',
132
+ overflowX: 'visible',
133
+ margin: '0px',
134
+ textOverflow: 'ellipsis',
135
+ minHeight: '36px',
136
+ userSelect: 'none',
137
+ paddingLeft: 16,
138
+ paddingRight: 16,
139
+ display: 'flex',
140
+ flexDirection: 'row',
141
+ justifyContent: 'space-between',
142
+ }, children: [_jsx("div", { "aria-haspopup": "dialog", "aria-expanded": "false", "aria-controls": "mantine-r6-dropdown", style: {
143
+ // fontFamily:
144
+ // 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',
145
+ WebkitTapHighlightColor: 'transparent',
146
+ fontFamily: theme?.fontFamily,
147
+ // color: 'rgb(55, 65, 81)',
148
+ color: theme?.primaryTextColor,
149
+ textDecoration: 'none',
150
+ fontSize: theme?.fontSizeSmall || '14px',
151
+ fontWeight: theme?.fontWeightMedium || '500',
152
+ lineHeight: '20px', // 1.25rem * 16px = 20px
153
+ textOverflow: 'ellipsis',
154
+ whiteSpace: 'nowrap',
155
+ overflow: 'hidden',
156
+ }, children: column.label || column.field }), column.field === sortColumn && (_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: theme?.primaryTextColor, height: "14px", width: "14px", style: {
157
+ transform: sortDirection === 'desc'
158
+ ? 'rotate(180deg)'
159
+ : undefined,
160
+ }, children: _jsx("path", { fillRule: "evenodd", d: "M10 3a.75.75 0 01.75.75v10.638l3.96-4.158a.75.75 0 111.08 1.04l-5.25 5.5a.75.75 0 01-1.08 0l-5.25-5.5a.75.75 0 111.08-1.04l3.96 4.158V3.75A.75.75 0 0110 3z", clipRule: "evenodd" }) }))] }, 'sqlcol' + index))) }) }), (isPaginating || isLoading) && (_jsx("div", { className: className, children: _jsx(LoadingComponent, {}) })), (activeRows && activeRows.length === 0) ||
161
+ (columns && columns.length === 0) ? (_jsx("div", { style: {
162
+ padding: '30px 0',
163
+ display: isPaginating || isLoading ? 'none' : 'flex',
164
+ flex: '1 0 auto',
165
+ margin: 'auto',
166
+ justifyContent: 'center',
167
+ alignItems: 'center',
168
+ fontSize: 13,
169
+ color: theme?.secondaryTextColor || 'rgb(55, 65, 81)',
170
+ }, children: emptyStateLabel })) : (_jsx("div", { role: "rowgroup", className: "tbody", children: activeRows &&
171
+ activeRows.map((row, rowIndex) => (_jsx("div", { role: "row", className: "tr", style: {
172
+ display: isPaginating || isLoading ? 'none' : 'flex',
173
+ flex: '1 0 auto',
174
+ minWidth: '100px',
175
+ boxSizing: 'border-box',
176
+ }, children: columns.map((column, columnIndex) => (_jsx("div", { role: "cell", style: {
177
+ boxSizing: 'border-box',
178
+ flex: '150 0 auto',
179
+ minWidth: '50px',
180
+ width: '150px',
181
+ display: 'flex',
182
+ margin: '0px',
183
+ textOverflow: 'ellipsis',
184
+ minHeight: '36px',
185
+ borderRight: columnIndex + 1 === columns.length
186
+ ? '0px solid #E7E7E7'
187
+ : '1px solid #E7E7E7',
188
+ overflow: 'hidden',
189
+ borderTop: rowIndex > 0 ? '1px solid #E7E7E7' : undefined,
190
+ borderBottom: rowIndex === activeRows?.length - 1
191
+ ? '1px solid #E7E7E7'
192
+ : undefined,
193
+ userSelect: 'none',
194
+ }, children: _jsx("div", { style: {
195
+ lineHeight: '24px',
196
+ width: '100%',
197
+ display: 'flex',
198
+ cursor: 'default',
199
+ position: 'relative',
200
+ userSelect: 'none',
201
+ }, "data-testid": "static-cell", children: _jsx("div", { "aria-haspopup": "dialog", "aria-expanded": "false", style: {
202
+ fontFamily: theme?.fontFamily ||
203
+ 'Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"',
204
+ WebkitTapHighlightColor: 'transparent',
205
+ // color: 'rgb(55, 65, 81)',
206
+ color: theme?.secondaryTextColor ||
207
+ 'rgb(55, 65, 81)',
208
+ textDecoration: 'none',
209
+ fontWeight: 400,
210
+ fontSize: theme?.fontSizeSmall || '14px',
211
+ lineHeight: '20px',
212
+ textOverflow: 'ellipsis',
213
+ whiteSpace: 'nowrap',
214
+ overflow: 'hidden',
215
+ padding: '8px 16px',
216
+ userSelect: 'none',
217
+ }, children: typeof row[column.field] === 'object'
218
+ ? JSON.stringify(row[column.field])
219
+ : typeof row[column.field] === 'boolean'
220
+ ? row[column.field].toString()
221
+ : row[column.field] }) }) }, 'sqlcell' + columnIndex))) }, 'sqlrow' + rowIndex))) }))] }), _jsx("div", { style: {
222
+ display: 'flex',
223
+ minWidth: '100px',
224
+ height: 38,
225
+ borderTop: '1px solid #E7E7E7',
226
+ background: '#F9FAFB',
227
+ width: '100%',
228
+ }, children: _jsxs("div", { style: {
229
+ display: 'flex',
230
+ flexDirection: 'row',
231
+ alignItems: 'center',
232
+ justifyContent: 'space-between',
233
+ width: '100%',
234
+ height: 37,
235
+ }, children: [!hideCSVDownloadButton ? (_jsx("button", { onClick: downloadCSV, style: {
236
+ fontSize: 14,
237
+ paddingLeft: 12,
238
+ fontFamily: theme?.fontFamily,
239
+ color: theme?.primaryTextColor,
240
+ background: 'transparent',
241
+ fontWeight: 500,
242
+ cursor: 'pointer',
243
+ border: 'none',
244
+ }, children: "Download CSV" })) : (_jsx("div", {})), rows.length === 0 || isLoading ? null : (_jsxs("div", { style: {
245
+ display: 'flex',
246
+ flexDirection: 'row',
247
+ alignItems: 'center',
248
+ }, children: [_jsxs("div", { style: {
249
+ fontSize: 12,
250
+ fontFamily: theme?.fontFamily,
251
+ color: theme?.primaryTextColor,
252
+ }, children: [pageIndex + 1, ' of ', maxPage] }), _jsx("div", { style: { width: 8 } }), _jsx("button", { onClick: decreasePage, style: {
253
+ cursor: 'pointer',
254
+ border: 'none',
255
+ background: 'transparent',
256
+ }, children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: theme?.chartLabelFontFamily || theme?.fontFamily, height: "16px", width: "16px", children: _jsx("path", { fillRule: "evenodd", d: "M12.79 5.23a.75.75 0 01-.02 1.06L8.832 10l3.938 3.71a.75.75 0 11-1.04 1.08l-4.5-4.25a.75.75 0 010-1.08l4.5-4.25a.75.75 0 011.06.02z", clipRule: "evenodd" }) }) }), _jsx("button", { onClick: increasePage, style: {
257
+ cursor: 'pointer',
258
+ border: 'none',
259
+ background: 'transparent',
260
+ }, children: _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: theme?.chartLabelFontFamily || theme?.fontFamily, height: "16px", width: "16px", children: _jsx("path", { fillRule: "evenodd", d: "M7.21 14.77a.75.75 0 01.02-1.06L11.168 10 7.23 6.29a.75.75 0 111.04-1.08l4.5 4.25a.75.75 0 010 1.08l-4.5 4.25a.75.75 0 01-1.06-.02z", clipRule: "evenodd" }) }) }), _jsx("div", { style: { width: 12 } })] }))] }) })] }) }) }));
261
+ }
@@ -0,0 +1,34 @@
1
+ /// <reference types="react" />
2
+ import { TextInputComponentProps } from '../UiComponents';
3
+ export default function AddColumnModal({ onSave, orderedColumnNames, setOrderedColumnNames, selectedColumns, setSelectedColumns, isSelectedAllColumns, clearAllState, nameToColumn, baseAst, setBaseAst, pivot, initialTableName, defaultAST, defaultTable, setPivot, schemaLoading, TextInput, SelectColumn, SecondaryButton, Button, ColumnSearchEmptyState, LoadingComponent, }: {
4
+ onSave: any;
5
+ orderedColumnNames: any;
6
+ setOrderedColumnNames: any;
7
+ selectedColumns: any;
8
+ setSelectedColumns: any;
9
+ isSelectedAllColumns: any;
10
+ clearAllState: any;
11
+ nameToColumn: any;
12
+ baseAst: any;
13
+ setBaseAst: any;
14
+ pivot: any;
15
+ initialTableName: any;
16
+ defaultAST: any;
17
+ defaultTable: any;
18
+ setPivot: any;
19
+ schemaLoading?: boolean;
20
+ TextInput: (props: TextInputComponentProps) => JSX.Element;
21
+ SelectColumn: (props: {
22
+ label: string;
23
+ isSelected: boolean;
24
+ setSelected: () => void;
25
+ DragHandle: ({ dragIcon }: {
26
+ dragIcon: () => JSX.Element;
27
+ }) => JSX.Element;
28
+ }) => JSX.Element;
29
+ SecondaryButton: any;
30
+ Button: any;
31
+ ColumnSearchEmptyState: () => JSX.Element;
32
+ LoadingComponent: () => JSX.Element;
33
+ }): import("react/jsx-runtime").JSX.Element;
34
+ //# sourceMappingURL=AddColumnModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddColumnModal.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddColumnModal.tsx"],"names":[],"mappings":";AAiBA,OAAO,EAGL,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AAGzB,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,MAAM,EACN,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,aAAa,EACb,YAAY,EACZ,OAAO,EACP,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,SAAS,EACT,YAAY,EACZ,eAAe,EACf,MAAM,EACN,sBAAoD,EACpD,gBAAwC,GACzC,EAAE;IACD,MAAM,EAAE,GAAG,CAAC;IACZ,kBAAkB,EAAE,GAAG,CAAC;IACxB,qBAAqB,EAAE,GAAG,CAAC;IAC3B,eAAe,EAAE,GAAG,CAAC;IACrB,kBAAkB,EAAE,GAAG,CAAC;IACxB,oBAAoB,EAAE,GAAG,CAAC;IAC1B,aAAa,EAAE,GAAG,CAAC;IACnB,YAAY,EAAE,GAAG,CAAC;IAClB,OAAO,EAAE,GAAG,CAAC;IACb,UAAU,EAAE,GAAG,CAAC;IAChB,KAAK,EAAE,GAAG,CAAC;IACX,gBAAgB,EAAE,GAAG,CAAC;IACtB,UAAU,EAAE,GAAG,CAAC;IAChB,YAAY,EAAE,GAAG,CAAC;IAClB,QAAQ,EAAE,GAAG,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,SAAS,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC3D,YAAY,EAAE,CAAC,KAAK,EAAE;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,OAAO,CAAC;QACpB,WAAW,EAAE,MAAM,IAAI,CAAC;QACxB,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE;YAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,OAAO,CAAA;SAAE,KAAK,GAAG,CAAC,OAAO,CAAC;KAC5E,KAAK,GAAG,CAAC,OAAO,CAAC;IAClB,eAAe,EAAE,GAAG,CAAC;IACrB,MAAM,EAAE,GAAG,CAAC;IACZ,sBAAsB,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;IAC1C,gBAAgB,EAAE,MAAM,GAAG,CAAC,OAAO,CAAC;CACrC,2CAqNA"}
@@ -0,0 +1,145 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useRef, useEffect } from 'react';
3
+ import { DndContext, closestCenter, KeyboardSensor, PointerSensor, useSensor, useSensors, } from '@dnd-kit/core';
4
+ import { arrayMove, SortableContext, sortableKeyboardCoordinates, verticalListSortingStrategy, useSortable, } from '@dnd-kit/sortable';
5
+ import { CSS as DND_CSS } from '@dnd-kit/utilities';
6
+ import { QuillColumnSearchEmptyState, QuillLoadingComponent, } from '../UiComponents';
7
+ import { snakeAndCamelCaseToTitleCase } from '../../utils/textProcessing';
8
+ export default function AddColumnModal({ onSave, orderedColumnNames, setOrderedColumnNames, selectedColumns, setSelectedColumns, isSelectedAllColumns, clearAllState, nameToColumn, baseAst, setBaseAst, pivot, initialTableName, defaultAST, defaultTable, setPivot, schemaLoading, TextInput, SelectColumn, SecondaryButton, Button, ColumnSearchEmptyState = QuillColumnSearchEmptyState, LoadingComponent = QuillLoadingComponent, }) {
9
+ const [search, setSearch] = useState('');
10
+ const [searchResults, setSearchResults] = useState(orderedColumnNames);
11
+ const textInputContainerRef = useRef(null);
12
+ const sensors = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor, {
13
+ coordinateGetter: sortableKeyboardCoordinates,
14
+ }));
15
+ // When a drag event ends, switch the item order.
16
+ function handleDragEnd(event) {
17
+ const { active, over } = event;
18
+ if (!active || !over)
19
+ return;
20
+ if (active.id !== over.id) {
21
+ setOrderedColumnNames((orderedColumnNames) => {
22
+ const oldIndex = orderedColumnNames.indexOf(active.id);
23
+ const newIndex = orderedColumnNames.indexOf(over.id);
24
+ return arrayMove(orderedColumnNames, oldIndex, newIndex);
25
+ });
26
+ }
27
+ }
28
+ const getColumnsInPivot = () => {
29
+ if (!pivot)
30
+ return [];
31
+ const { valueField, rowField, columnField } = pivot;
32
+ return [valueField, rowField, columnField].filter(Boolean);
33
+ };
34
+ useEffect(() => {
35
+ setSearchResults(orderedColumnNames
36
+ .filter((row) => {
37
+ const [table] = row.split('.');
38
+ const selectedTable = selectedColumns[0]?.split('.')[0];
39
+ return selectedColumns.length === 0 || selectedTable === table;
40
+ })
41
+ .filter((row) => search.length === 0 ||
42
+ row.includes(search) ||
43
+ snakeAndCamelCaseToTitleCase(row)
44
+ .toLowerCase()
45
+ .includes(search.toLowerCase())));
46
+ }, [search, orderedColumnNames, selectedColumns]);
47
+ return (_jsxs("div", { style: {
48
+ display: 'flex',
49
+ flexDirection: 'column',
50
+ gap: 2,
51
+ minWidth: 300,
52
+ maxHeight: 600,
53
+ paddingLeft: 16,
54
+ paddingRight: 16,
55
+ paddingBottom: 16,
56
+ }, children: [_jsx("div", { ref: textInputContainerRef, style: {
57
+ position: 'relative',
58
+ display: 'flex',
59
+ flexDirection: 'row',
60
+ alignItems: 'center',
61
+ marginTop: 2,
62
+ marginBottom: 6,
63
+ }, children: _jsx(TextInput, { id: 'add_column_search_bar', value: search, placeholder: 'Search...', width: 400, onChange: (e) => setSearch(e.target.value) }) }), schemaLoading ? (_jsx(LoadingComponent, {})) : (_jsx(DndContext, { sensors: sensors, collisionDetection: closestCenter, onDragEnd: handleDragEnd, children: _jsx(SortableContext, { items: orderedColumnNames, strategy: verticalListSortingStrategy, children: _jsxs("div", { style: {
64
+ display: 'flex',
65
+ flexDirection: 'column',
66
+ gap: 8,
67
+ overflowY: 'auto',
68
+ maxWidth: '400px',
69
+ }, children: [searchResults.map((value) => {
70
+ return (_jsx(SortableItem, { selectedColumns: selectedColumns, setSelectedColumns: setSelectedColumns, id: value, label: value
71
+ .split('.')
72
+ .map((v) => snakeAndCamelCaseToTitleCase(v))
73
+ .join(' | '), SelectColumn: SelectColumn }, value));
74
+ }), search.length > 0 && searchResults.length === 0 && (_jsx(ColumnSearchEmptyState, {}))] }) }) })), _jsxs("div", { style: {
75
+ display: 'flex',
76
+ width: '100%',
77
+ flexDirection: 'row',
78
+ gap: 8,
79
+ justifyContent: 'end',
80
+ marginTop: 12,
81
+ }, children: [selectedColumns.length > 0 && (_jsx(SecondaryButton, { onClick: () => setSelectedColumns([]), label: "Clear" })), selectedColumns.length > 0 && !isSelectedAllColumns() && (_jsx(SecondaryButton, { onClick: () => setSelectedColumns(searchResults.filter((row) => {
82
+ const [table] = row.split('.');
83
+ return selectedColumns[0].startsWith(table);
84
+ })), label: "Select all" })), _jsx(Button, { onClick: () => {
85
+ // follow the ordering of the ordered column names
86
+ let tableName = initialTableName;
87
+ const orderedSelectedColumns = [];
88
+ for (const value of orderedColumnNames) {
89
+ const [table, column] = value.split('.');
90
+ if (selectedColumns.includes(value)) {
91
+ tableName = table;
92
+ orderedSelectedColumns.push(column);
93
+ }
94
+ }
95
+ if (orderedSelectedColumns.length === 0) {
96
+ clearAllState();
97
+ return;
98
+ }
99
+ // If there is already an AST saved in state, only update the columns
100
+ // otherwise fill in the defaultAST shape and also update columns.
101
+ const fallbackAST = {
102
+ ...defaultAST,
103
+ from: [{ ...defaultTable, table: tableName }],
104
+ columns: orderedSelectedColumns.map((name) => nameToColumn(name)),
105
+ };
106
+ const newBaseAst = {
107
+ ...baseAst,
108
+ from: [{ ...defaultTable, table: tableName }],
109
+ columns: baseAst?.columns.length
110
+ ? orderedSelectedColumns.map((name) => nameToColumn(name))
111
+ : baseAst?.columns,
112
+ };
113
+ const newAst = baseAst ? newBaseAst : fallbackAST;
114
+ setBaseAst(newAst);
115
+ // If the user deleted a column that was in the pivot, delete the Pivot
116
+ const columnInAST = (col) => newAst.columns.find((c) => c.expr?.value === col ||
117
+ c.expr?.column === col ||
118
+ c.as === col);
119
+ if (pivot &&
120
+ !getColumnsInPivot().every((c) => columnInAST(c))) {
121
+ setPivot(null);
122
+ }
123
+ onSave();
124
+ }, label: "Select columns" })] })] }));
125
+ }
126
+ const SortableItem = ({ id, label, setSelectedColumns, selectedColumns, SelectColumn, }) => {
127
+ const { attributes, listeners, setNodeRef, transform, transition } = useSortable({ id: id });
128
+ const style = {
129
+ transform: DND_CSS.Transform.toString(transform),
130
+ transition,
131
+ };
132
+ const handleSelect = () => {
133
+ setSelectedColumns((selectedColumns) => {
134
+ if (selectedColumns.includes(id)) {
135
+ return selectedColumns.filter((column) => column !== id);
136
+ }
137
+ else {
138
+ return [...selectedColumns, id];
139
+ }
140
+ });
141
+ };
142
+ return (_jsx("div", { style: { userSelect: 'none', ...style }, ref: setNodeRef, children: _jsx(SelectColumn, { isSelected: selectedColumns?.includes(id), setSelected: handleSelect, label: snakeAndCamelCaseToTitleCase(label), DragHandle: (props) => (_jsx("div", { style: {
143
+ cursor: 'grab',
144
+ }, ...attributes, ...listeners, children: _jsx(props.dragIcon, {}) })) }) }));
145
+ };
@@ -0,0 +1,26 @@
1
+ /// <reference types="react" />
2
+ import { ButtonComponentProps, TextInputComponentProps } from '../UiComponents';
3
+ import { LimitPopoverComponentProps } from './ui';
4
+ export declare const LimitSentence: ({ limit, handleDelete, setOpenPopover, onSave, popoverTitle, LimitPopover, EditPopover, TextInput, Button, SecondaryButton, }: {
5
+ limit: any;
6
+ handleDelete: () => void;
7
+ setOpenPopover: (arg: any) => void;
8
+ onSave: (column: any, direction: any) => void;
9
+ popoverTitle?: string | undefined;
10
+ LimitPopover: (props: LimitPopoverComponentProps) => JSX.Element;
11
+ EditPopover: any;
12
+ TextInput: any;
13
+ Button: (props: ButtonComponentProps) => JSX.Element;
14
+ SecondaryButton: (props: ButtonComponentProps) => JSX.Element;
15
+ }) => import("react/jsx-runtime").JSX.Element;
16
+ export interface AddLimitPopoverProps {
17
+ onSave: (limit: number) => void;
18
+ initialLimit?: number;
19
+ isEdit?: boolean;
20
+ onDelete?: () => void;
21
+ TextInput?: (props: TextInputComponentProps) => JSX.Element;
22
+ Button?: (props: ButtonComponentProps) => JSX.Element;
23
+ SecondaryButton?: (props: ButtonComponentProps) => JSX.Element;
24
+ }
25
+ export declare const AddLimitPopover: ({ onSave, initialLimit, isEdit, onDelete, TextInput, Button, SecondaryButton, }: AddLimitPopoverProps) => import("react/jsx-runtime").JSX.Element;
26
+ //# sourceMappingURL=AddLimitPopover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddLimitPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddLimitPopover.tsx"],"names":[],"mappings":";AACA,OAAO,EACL,oBAAoB,EAIpB,uBAAuB,EACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,0BAA0B,EAAE,MAAM,MAAM,CAAC;AAElD,eAAO,MAAM,aAAa;WAYjB,GAAG;kBACI,MAAM,IAAI;0BACF,GAAG,KAAK,IAAI;qBACjB,GAAG,aAAa,GAAG,KAAK,IAAI;;0BAEvB,0BAA0B,KAAK,WAAW;iBACnD,GAAG;eACL,GAAG;oBACE,oBAAoB,KAAK,WAAW;6BAC3B,oBAAoB,KAAK,WAAW;6CAiC9D,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,GAAG,CAAC,OAAO,CAAC;IAC5D,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;IACtD,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,oBAAoB,KAAK,GAAG,CAAC,OAAO,CAAC;CAChE;AAED,eAAO,MAAM,eAAe,oFAQzB,oBAAoB,4CA8CtB,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { MemoizedButton, MemoizedSecondaryButton, QuillTextInput, } from '../UiComponents';
4
+ export const LimitSentence = ({ limit, handleDelete, setOpenPopover, onSave, popoverTitle = 'Edit limit', LimitPopover, EditPopover, TextInput = QuillTextInput, Button = MemoizedButton, SecondaryButton = MemoizedSecondaryButton, }) => {
5
+ const [isOpen, setIsOpen] = useState(false);
6
+ const handleClickDelete = () => {
7
+ setOpenPopover(null);
8
+ handleDelete();
9
+ };
10
+ return (_jsx("div", { style: { width: '100%' }, children: _jsx(LimitPopover, { isOpen: isOpen, setIsOpen: setIsOpen, limitLabel: `limit ${limit.value[0].value}`, onClickDelete: handleClickDelete, popoverTitle: popoverTitle, popoverChildren: _jsx(EditPopover, { onSave: (column, direction) => {
11
+ setIsOpen(false);
12
+ onSave(column, direction);
13
+ }, isEdit: true, onDelete: handleClickDelete, initialLimit: limit.value[0].value, TextInput: TextInput, Button: Button, SecondaryButton: SecondaryButton }) }) }));
14
+ };
15
+ export const AddLimitPopover = ({ onSave, initialLimit = 10, isEdit = false, onDelete = () => { }, TextInput = QuillTextInput, Button = MemoizedButton, SecondaryButton = MemoizedSecondaryButton, }) => {
16
+ const [limit, setLimit] = useState(initialLimit);
17
+ return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 12 }, children: [_jsx("div", { style: {
18
+ display: 'flex',
19
+ flexDirection: 'row',
20
+ gap: 12,
21
+ padding: '6px 0px',
22
+ }, children: _jsx(TextInput, { id: 'add_limit_input', label: "Limit", value: limit.toString() ?? initialLimit.toString(), width: 200,
23
+ // style={{ minHeight: 32, padding: '6px 12px' }}
24
+ onChange: (e) => {
25
+ if (Number.isNaN(parseFloat(e.target.value || '0'))) {
26
+ alert('Please input a number.');
27
+ return;
28
+ }
29
+ setLimit(parseFloat(e.target.value || '0'));
30
+ } }) }), _jsx("div", { style: {
31
+ display: 'flex',
32
+ flexDirection: 'row',
33
+ justifyContent: 'end',
34
+ gap: 12,
35
+ }, children: isEdit ? (_jsxs(_Fragment, { children: [_jsx(SecondaryButton, { onClick: onDelete, label: "Delete" }), _jsx(Button, { onClick: () => onSave(limit), label: "Edit limit" })] })) : (_jsx(Button, { onClick: () => onSave(limit), label: "Add limit" })) })] }));
36
+ };
@@ -0,0 +1,23 @@
1
+ /// <reference types="react" />
2
+ import { ButtonComponentProps, SelectComponentProps } from '../UiComponents';
3
+ import { SortPopoverComponentProps } from './ui';
4
+ export declare const SortSentence: ({ sortData, keyPrefix, columns, handleDelete, setEditPopoverKey, setOpenPopover, setActiveEditItem, setIsPending, setActivePath, onSave, popoverTitle, SortPopover, EditPopover, Select, Button, SecondaryButton, }: {
5
+ sortData: any;
6
+ columns: any;
7
+ setIsPending: any;
8
+ setEditPopoverKey: any;
9
+ setActiveEditItem: any;
10
+ setOpenPopover: any;
11
+ setActivePath: any;
12
+ keyPrefix?: any;
13
+ handleDelete: any;
14
+ onSave: any;
15
+ popoverTitle?: string | undefined;
16
+ SortPopover: (props: SortPopoverComponentProps) => JSX.Element;
17
+ EditPopover: any;
18
+ Select?: ((props: SelectComponentProps) => JSX.Element) | undefined;
19
+ Button?: ((props: ButtonComponentProps) => JSX.Element) | undefined;
20
+ SecondaryButton?: ((props: ButtonComponentProps) => JSX.Element) | undefined;
21
+ }) => import("react/jsx-runtime").JSX.Element | null;
22
+ export declare const AddSortPopover: ({ onSave, columns, isEdit, onDelete, column, direction, Select, Button, SecondaryButton, }: any) => import("react/jsx-runtime").JSX.Element;
23
+ //# sourceMappingURL=AddSortPopover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AddSortPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/ReportBuilder/AddSortPopover.tsx"],"names":[],"mappings":";AAEA,OAAO,EACL,oBAAoB,EAGpB,oBAAoB,EACrB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,yBAAyB,EAAE,MAAM,MAAM,CAAC;AAkBjD,eAAO,MAAM,YAAY;cAkBb,GAAG;aACJ,GAAG;kBACE,GAAG;uBACE,GAAG;uBACH,GAAG;oBACN,GAAG;mBACJ,GAAG;gBACN,GAAG;kBACD,GAAG;YACT,GAAG;;yBAEU,yBAAyB,KAAK,WAAW;iBACjD,GAAG;sBACC,oBAAoB,KAAK,WAAW;sBACpC,oBAAoB,KAAK,WAAW;+BAC3B,oBAAoB,KAAK,WAAW;oDAqD/D,CAAC;AAEF,eAAO,MAAM,cAAc,+FAUxB,GAAG,4CAmEL,CAAC"}
@@ -0,0 +1,73 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { useState } from 'react';
3
+ import { QuillSelectComponent } from '../QuillSelect';
4
+ import { MemoizedButton, MemoizedSecondaryButton, } from '../UiComponents';
5
+ import { snakeAndCamelCaseToTitleCase } from '../../utils/textProcessing';
6
+ import { extractColumnish } from './ast';
7
+ const SORT_VALUE_TO_LABEL = {
8
+ ASC: 'ascending',
9
+ DESC: 'descending',
10
+ };
11
+ function parseColumn(sortData) {
12
+ let column = undefined;
13
+ if (sortData && sortData.expr && sortData.expr.column) {
14
+ column = extractColumnish(sortData.expr);
15
+ }
16
+ else if (sortData && sortData.expr) {
17
+ column = sortData.expr.value;
18
+ }
19
+ return column || '';
20
+ }
21
+ export const SortSentence = ({ sortData, keyPrefix, columns, handleDelete, setEditPopoverKey, setOpenPopover, setActiveEditItem, setIsPending, setActivePath, onSave, popoverTitle = 'Edit Sort', SortPopover, EditPopover, Select = QuillSelectComponent, Button = MemoizedButton, SecondaryButton = MemoizedSecondaryButton, }) => {
22
+ const [isOpen, setIsOpen] = useState(false);
23
+ const handleSetIsOpen = (isOpen) => {
24
+ setIsOpen(isOpen);
25
+ if (!isOpen) {
26
+ setIsPending(false);
27
+ setActiveEditItem(null);
28
+ setActivePath(null);
29
+ }
30
+ };
31
+ const handleClickDelete = (e) => {
32
+ e.stopPropagation(); // don't call onClick handler
33
+ setIsPending(false);
34
+ handleDelete(keyPrefix);
35
+ setActiveEditItem(null);
36
+ setOpenPopover(null);
37
+ setEditPopoverKey(null);
38
+ };
39
+ if (!sortData && (!sortData.expr.column || !sortData.expr.value)) {
40
+ return null;
41
+ }
42
+ return (_jsx("div", { children: _jsx(SortPopover, { isOpen: isOpen, setIsOpen: handleSetIsOpen, sortLabel: `${snakeAndCamelCaseToTitleCase(parseColumn(sortData))} ${SORT_VALUE_TO_LABEL[sortData.type] || SORT_VALUE_TO_LABEL.ASC}`, onClickDelete: handleClickDelete, popoverTitle: popoverTitle, popoverChildren: _jsx(EditPopover, { onSave: (column, direction) => {
43
+ setIsOpen(false);
44
+ onSave(column, direction);
45
+ }, columns: columns, isEdit: true, onDelete: handleClickDelete, column: sortData.expr.column || sortData.expr.value, direction: sortData.type, Select: Select, Button: Button, SecondaryButton: SecondaryButton }) }) }));
46
+ };
47
+ export const AddSortPopover = ({ onSave, columns, isEdit, onDelete, column, direction, Select = QuillSelectComponent, Button = MemoizedButton, SecondaryButton = MemoizedSecondaryButton, }) => {
48
+ const [sortColumn, setSortColumn] = useState(column || '');
49
+ const [sortDirection, setSortDirection] = useState(direction || 'ASC');
50
+ return (_jsxs("div", { style: { display: 'flex', flexDirection: 'column', gap: 12 }, children: [_jsxs("div", { style: {
51
+ display: 'flex',
52
+ flexDirection: 'row',
53
+ gap: 12,
54
+ padding: '6px 0px',
55
+ }, children: [_jsx(Select, { label: "Sort Column", value: sortColumn, onChange: (e) => {
56
+ setSortColumn(e.target.value);
57
+ }, options: [
58
+ ...columns.map((column) => ({
59
+ label: snakeAndCamelCaseToTitleCase(column.split('.')[1] || ''),
60
+ value: column.split('.')[1],
61
+ })),
62
+ ], width: 200 }), _jsx(Select, { label: "Sort Direction", value: sortDirection, onChange: (e) => {
63
+ setSortDirection(e.target.value);
64
+ }, options: [
65
+ { label: 'Ascending', value: 'ASC' },
66
+ { label: 'Descending', value: 'DESC' },
67
+ ], width: 200 })] }), _jsx("div", { style: {
68
+ display: 'flex',
69
+ flexDirection: 'row',
70
+ justifyContent: 'end',
71
+ gap: 12,
72
+ }, children: isEdit ? (_jsxs(_Fragment, { children: [_jsx(SecondaryButton, { onClick: onDelete, label: "Delete" }), _jsx(Button, { onClick: () => onSave(sortColumn, sortDirection), label: "Edit sort" })] })) : (_jsx(Button, { onClick: () => onSave(sortColumn, sortDirection), label: "Add sort" })) })] }));
73
+ };