@quillsql/admin 1.6.3 → 1.7.0

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 (304) hide show
  1. package/dist/cjs/Admin.d.ts +14 -8
  2. package/dist/cjs/Admin.d.ts.map +1 -1
  3. package/dist/cjs/Admin.js +134 -25
  4. package/dist/cjs/AdminProvider.d.ts +26 -5
  5. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  6. package/dist/cjs/AdminProvider.js +174 -85
  7. package/dist/cjs/api/ConnectionClient.d.ts +26 -12
  8. package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
  9. package/dist/cjs/api/ConnectionClient.js +198 -31
  10. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  11. package/dist/cjs/assets/XIcon.d.ts.map +1 -1
  12. package/dist/cjs/components/CardSection.d.ts.map +1 -1
  13. package/dist/cjs/components/CardSection.js +4 -2
  14. package/dist/cjs/components/ClipboardButton.d.ts.map +1 -1
  15. package/dist/cjs/components/DashboardSelectPopover.d.ts.map +1 -1
  16. package/dist/cjs/components/DashboardSelectPopover.js +46 -7
  17. package/dist/cjs/components/DatabaseSelector.d.ts +3 -1
  18. package/dist/cjs/components/DatabaseSelector.d.ts.map +1 -1
  19. package/dist/cjs/components/DatabaseSelector.js +3 -2
  20. package/dist/cjs/components/DateRangePicker/SingleDatePicker.d.ts.map +1 -1
  21. package/dist/cjs/components/DateRangePicker/SingleDatePicker.js +31 -7
  22. package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.d.ts.map +1 -1
  23. package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.js +31 -7
  24. package/dist/cjs/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  25. package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
  26. package/dist/cjs/components/DropDownMenuWithLabel.js +8 -1
  27. package/dist/cjs/components/DynamicBanner.d.ts +3 -2
  28. package/dist/cjs/components/DynamicBanner.d.ts.map +1 -1
  29. package/dist/cjs/components/DynamicBanner.js +7 -2
  30. package/dist/cjs/components/EmptyDashboardComponent/index.d.ts.map +1 -1
  31. package/dist/cjs/components/EmptyDashboardComponent/index.js +3 -2
  32. package/dist/cjs/components/EmptyVirtualTablesComponent.d.ts.map +1 -1
  33. package/dist/cjs/components/EmptyVirtualTablesComponent.js +4 -1
  34. package/dist/cjs/components/FormTooltip.d.ts.map +1 -1
  35. package/dist/cjs/components/FormTooltip.js +4 -1
  36. package/dist/cjs/components/InputLabel.d.ts.map +1 -1
  37. package/dist/cjs/components/InputLabel.js +4 -2
  38. package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts +1 -1
  39. package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts.map +1 -1
  40. package/dist/cjs/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -1
  41. package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  42. package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +33 -14
  43. package/dist/cjs/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  44. package/dist/cjs/components/InternalDashboard/InternalDashboard.d.ts.map +1 -1
  45. package/dist/cjs/components/InternalDashboard/InternalDashboard.js +128 -35
  46. package/dist/cjs/components/OrgSelect.d.ts +0 -6
  47. package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
  48. package/dist/cjs/components/OrgSelect.js +79 -47
  49. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +8 -2
  50. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  51. package/dist/cjs/components/QuillMultiSelectWithCombo.js +351 -167
  52. package/dist/cjs/components/QuillPopover.d.ts.map +1 -1
  53. package/dist/cjs/components/QuillPopover.js +4 -5
  54. package/dist/cjs/components/QuillSelect.js +9 -9
  55. package/dist/cjs/components/QuillSelectWithCombo.d.ts +4 -3
  56. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  57. package/dist/cjs/components/QuillSelectWithCombo.js +47 -21
  58. package/dist/cjs/components/QuillToolTipPortal.d.ts.map +1 -1
  59. package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -1
  60. package/dist/cjs/components/SqlTextEditor.js +15 -2
  61. package/dist/cjs/components/Tenants/EditTenant.d.ts.map +1 -1
  62. package/dist/cjs/components/Tenants/EditTenant.js +51 -8
  63. package/dist/cjs/components/UiComponents.d.ts +16 -43
  64. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  65. package/dist/cjs/components/UiComponents.js +162 -33
  66. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  67. package/dist/cjs/forms/client_onboard/ConnectDatabase.js +163 -51
  68. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  69. package/dist/cjs/forms/client_onboard/ConnectSchema.js +36 -2
  70. package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts +2 -1
  71. package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -1
  72. package/dist/cjs/forms/client_onboard/CreateVirtualTables.js +60 -22
  73. package/dist/cjs/forms/client_onboard/__tests__/ConnectSchema.test.js +2 -1
  74. package/dist/cjs/forms/client_onboard/__tests__/CreateVirtualTables.test.js +2 -1
  75. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
  76. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.js +101 -15
  77. package/dist/cjs/hooks/useDatabaseSchema.d.ts.map +1 -1
  78. package/dist/cjs/hooks/useDatabaseSchema.js +18 -2
  79. package/dist/cjs/hooks/useLongLoading.d.ts +13 -0
  80. package/dist/cjs/hooks/useLongLoading.d.ts.map +1 -0
  81. package/dist/cjs/hooks/useLongLoading.js +67 -0
  82. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
  83. package/dist/cjs/hooks/useThrottle.d.ts.map +1 -1
  84. package/dist/cjs/icons/ArrowDownHeadIcon.d.ts.map +1 -1
  85. package/dist/cjs/icons/CheckCircleIcon.d.ts.map +1 -1
  86. package/dist/cjs/icons/ExclamationFilledIcon.d.ts.map +1 -1
  87. package/dist/cjs/icons/ExteriorLinkIcon.d.ts.map +1 -1
  88. package/dist/cjs/icons/QuestionMarkCircleIcon.d.ts.map +1 -1
  89. package/dist/cjs/modals/CodePreview.d.ts.map +1 -1
  90. package/dist/cjs/modals/CodePreview.js +7 -2
  91. package/dist/cjs/modals/CreateEnvironmentModal.d.ts +5 -0
  92. package/dist/cjs/modals/CreateEnvironmentModal.d.ts.map +1 -0
  93. package/dist/cjs/modals/CreateEnvironmentModal.js +21 -0
  94. package/dist/cjs/modals/EditEnvironmentModal.d.ts.map +1 -1
  95. package/dist/cjs/modals/EditEnvironmentModal.js +74 -17
  96. package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -1
  97. package/dist/cjs/modals/EditFiltersModal.js +19 -15
  98. package/dist/cjs/modals/NewDashboardModal.d.ts.map +1 -1
  99. package/dist/cjs/modals/NewDashboardModal.js +54 -28
  100. package/dist/cjs/modals/PromoteReportModal.d.ts.map +1 -1
  101. package/dist/cjs/modals/PromoteReportModal.js +15 -4
  102. package/dist/cjs/modals/PromoteViewModal.d.ts.map +1 -1
  103. package/dist/cjs/modals/PromoteViewModal.js +13 -2
  104. package/dist/cjs/primitives/ButtonPrimitive.d.ts.map +1 -1
  105. package/dist/cjs/primitives/ButtonPrimitive.js +10 -6
  106. package/dist/cjs/primitives/CheckboxPrimitive.d.ts.map +1 -1
  107. package/dist/cjs/primitives/CheckboxPrimitive.js +2 -0
  108. package/dist/cjs/primitives/HeaderPrimitive.d.ts.map +1 -1
  109. package/dist/cjs/primitives/HeaderPrimitive.js +11 -7
  110. package/dist/cjs/primitives/PopoverPrimitive.d.ts.map +1 -1
  111. package/dist/cjs/primitives/PopoverPrimitive.js +19 -6
  112. package/dist/cjs/primitives/SecondaryButtonPrimitive.d.ts.map +1 -1
  113. package/dist/cjs/primitives/SecondaryButtonPrimitive.js +5 -3
  114. package/dist/cjs/primitives/TogglePrimitive.d.ts.map +1 -1
  115. package/dist/cjs/public_components/ChartQueryBuilder.d.ts.map +1 -1
  116. package/dist/cjs/public_components/ChartQueryBuilder.js +17 -7
  117. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  118. package/dist/cjs/public_components/CreateEnvironment.js +68 -30
  119. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  120. package/dist/cjs/public_components/DashboardManager.js +71 -4
  121. package/dist/cjs/public_components/EnvSelectPopover.d.ts +2 -1
  122. package/dist/cjs/public_components/EnvSelectPopover.d.ts.map +1 -1
  123. package/dist/cjs/public_components/EnvSelectPopover.js +48 -8
  124. package/dist/cjs/public_components/VirtualTableManager.d.ts.map +1 -1
  125. package/dist/cjs/public_components/VirtualTableManager.js +124 -10
  126. package/dist/cjs/public_components/__tests__/CreateEnvironment.test.js +41 -2
  127. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  128. package/dist/cjs/utils/columnProcessing.d.ts +1 -0
  129. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  130. package/dist/cjs/utils/columnProcessing.js +7 -1
  131. package/dist/cjs/utils/constants.d.ts +1 -0
  132. package/dist/cjs/utils/constants.d.ts.map +1 -1
  133. package/dist/cjs/utils/constants.js +5 -1
  134. package/dist/cjs/utils/dataEditor.d.ts.map +1 -1
  135. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  136. package/dist/cjs/utils/dataFetcher.js +0 -1
  137. package/dist/cjs/utils/databases.d.ts +6 -1
  138. package/dist/cjs/utils/databases.d.ts.map +1 -1
  139. package/dist/cjs/utils/databases.js +23 -5
  140. package/dist/cjs/utils/delay.d.ts.map +1 -1
  141. package/dist/cjs/utils/filter.d.ts +17 -21
  142. package/dist/cjs/utils/filter.d.ts.map +1 -1
  143. package/dist/cjs/utils/filter.js +6 -6
  144. package/dist/cjs/utils/report.d.ts +5 -5
  145. package/dist/cjs/utils/report.d.ts.map +1 -1
  146. package/dist/cjs/utils/schema.d.ts +6 -3
  147. package/dist/cjs/utils/schema.d.ts.map +1 -1
  148. package/dist/cjs/utils/schema.js +42 -3
  149. package/dist/cjs/utils/table.d.ts.map +1 -1
  150. package/dist/cjs/utils/tenants.d.ts.map +1 -1
  151. package/dist/cjs/utils/ui.d.ts.map +1 -1
  152. package/dist/esm/Admin.d.ts +14 -8
  153. package/dist/esm/Admin.d.ts.map +1 -1
  154. package/dist/esm/Admin.js +135 -26
  155. package/dist/esm/AdminProvider.d.ts +26 -5
  156. package/dist/esm/AdminProvider.d.ts.map +1 -1
  157. package/dist/esm/AdminProvider.js +177 -88
  158. package/dist/esm/api/ConnectionClient.d.ts +26 -12
  159. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  160. package/dist/esm/api/ConnectionClient.js +196 -31
  161. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  162. package/dist/esm/assets/XIcon.d.ts.map +1 -1
  163. package/dist/esm/components/CardSection.d.ts.map +1 -1
  164. package/dist/esm/components/CardSection.js +4 -2
  165. package/dist/esm/components/ClipboardButton.d.ts.map +1 -1
  166. package/dist/esm/components/DashboardSelectPopover.d.ts.map +1 -1
  167. package/dist/esm/components/DashboardSelectPopover.js +47 -8
  168. package/dist/esm/components/DatabaseSelector.d.ts +3 -1
  169. package/dist/esm/components/DatabaseSelector.d.ts.map +1 -1
  170. package/dist/esm/components/DatabaseSelector.js +3 -2
  171. package/dist/esm/components/DateRangePicker/SingleDatePicker.d.ts.map +1 -1
  172. package/dist/esm/components/DateRangePicker/SingleDatePicker.js +31 -7
  173. package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.d.ts.map +1 -1
  174. package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.js +31 -7
  175. package/dist/esm/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  176. package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
  177. package/dist/esm/components/DropDownMenuWithLabel.js +9 -2
  178. package/dist/esm/components/DynamicBanner.d.ts +3 -2
  179. package/dist/esm/components/DynamicBanner.d.ts.map +1 -1
  180. package/dist/esm/components/DynamicBanner.js +7 -2
  181. package/dist/esm/components/EmptyDashboardComponent/index.d.ts.map +1 -1
  182. package/dist/esm/components/EmptyDashboardComponent/index.js +3 -2
  183. package/dist/esm/components/EmptyVirtualTablesComponent.d.ts.map +1 -1
  184. package/dist/esm/components/EmptyVirtualTablesComponent.js +4 -1
  185. package/dist/esm/components/FormTooltip.d.ts.map +1 -1
  186. package/dist/esm/components/FormTooltip.js +4 -1
  187. package/dist/esm/components/InputLabel.d.ts.map +1 -1
  188. package/dist/esm/components/InputLabel.js +4 -2
  189. package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts +1 -1
  190. package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts.map +1 -1
  191. package/dist/esm/components/InternalDashboard/DashboardFilter.js +1 -1
  192. package/dist/esm/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -1
  193. package/dist/esm/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  194. package/dist/esm/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +33 -11
  195. package/dist/esm/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  196. package/dist/esm/components/InternalDashboard/InternalDashboard.d.ts.map +1 -1
  197. package/dist/esm/components/InternalDashboard/InternalDashboard.js +129 -36
  198. package/dist/esm/components/OrgSelect.d.ts +0 -6
  199. package/dist/esm/components/OrgSelect.d.ts.map +1 -1
  200. package/dist/esm/components/OrgSelect.js +79 -45
  201. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +8 -2
  202. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  203. package/dist/esm/components/QuillMultiSelectWithCombo.js +351 -167
  204. package/dist/esm/components/QuillPopover.d.ts.map +1 -1
  205. package/dist/esm/components/QuillPopover.js +4 -5
  206. package/dist/esm/components/QuillSelect.js +9 -9
  207. package/dist/esm/components/QuillSelectWithCombo.d.ts +4 -3
  208. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  209. package/dist/esm/components/QuillSelectWithCombo.js +47 -21
  210. package/dist/esm/components/QuillToolTipPortal.d.ts.map +1 -1
  211. package/dist/esm/components/SqlTextEditor.d.ts.map +1 -1
  212. package/dist/esm/components/SqlTextEditor.js +15 -2
  213. package/dist/esm/components/Tenants/EditTenant.d.ts.map +1 -1
  214. package/dist/esm/components/Tenants/EditTenant.js +51 -8
  215. package/dist/esm/components/UiComponents.d.ts +16 -43
  216. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  217. package/dist/esm/components/UiComponents.js +127 -29
  218. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  219. package/dist/esm/forms/client_onboard/ConnectDatabase.js +163 -51
  220. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  221. package/dist/esm/forms/client_onboard/ConnectSchema.js +36 -2
  222. package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts +2 -1
  223. package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -1
  224. package/dist/esm/forms/client_onboard/CreateVirtualTables.js +61 -23
  225. package/dist/esm/forms/client_onboard/__tests__/ConnectSchema.test.js +2 -1
  226. package/dist/esm/forms/client_onboard/__tests__/CreateVirtualTables.test.js +2 -1
  227. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
  228. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.js +103 -17
  229. package/dist/esm/hooks/useDatabaseSchema.d.ts.map +1 -1
  230. package/dist/esm/hooks/useDatabaseSchema.js +19 -3
  231. package/dist/esm/hooks/useLongLoading.d.ts +13 -0
  232. package/dist/esm/hooks/useLongLoading.d.ts.map +1 -0
  233. package/dist/esm/hooks/useLongLoading.js +64 -0
  234. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
  235. package/dist/esm/hooks/useThrottle.d.ts.map +1 -1
  236. package/dist/esm/icons/ArrowDownHeadIcon.d.ts.map +1 -1
  237. package/dist/esm/icons/CheckCircleIcon.d.ts.map +1 -1
  238. package/dist/esm/icons/ExclamationFilledIcon.d.ts.map +1 -1
  239. package/dist/esm/icons/ExteriorLinkIcon.d.ts.map +1 -1
  240. package/dist/esm/icons/QuestionMarkCircleIcon.d.ts.map +1 -1
  241. package/dist/esm/modals/CodePreview.d.ts.map +1 -1
  242. package/dist/esm/modals/CodePreview.js +7 -2
  243. package/dist/esm/modals/CreateEnvironmentModal.d.ts +5 -0
  244. package/dist/esm/modals/CreateEnvironmentModal.d.ts.map +1 -0
  245. package/dist/esm/modals/CreateEnvironmentModal.js +15 -0
  246. package/dist/esm/modals/EditEnvironmentModal.d.ts.map +1 -1
  247. package/dist/esm/modals/EditEnvironmentModal.js +74 -17
  248. package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -1
  249. package/dist/esm/modals/EditFiltersModal.js +21 -17
  250. package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
  251. package/dist/esm/modals/NewDashboardModal.js +55 -29
  252. package/dist/esm/modals/PromoteReportModal.d.ts.map +1 -1
  253. package/dist/esm/modals/PromoteReportModal.js +15 -4
  254. package/dist/esm/modals/PromoteViewModal.d.ts.map +1 -1
  255. package/dist/esm/modals/PromoteViewModal.js +13 -2
  256. package/dist/esm/primitives/ButtonPrimitive.d.ts.map +1 -1
  257. package/dist/esm/primitives/ButtonPrimitive.js +10 -6
  258. package/dist/esm/primitives/CheckboxPrimitive.d.ts.map +1 -1
  259. package/dist/esm/primitives/CheckboxPrimitive.js +2 -0
  260. package/dist/esm/primitives/HeaderPrimitive.d.ts.map +1 -1
  261. package/dist/esm/primitives/HeaderPrimitive.js +11 -7
  262. package/dist/esm/primitives/PopoverPrimitive.d.ts.map +1 -1
  263. package/dist/esm/primitives/PopoverPrimitive.js +19 -6
  264. package/dist/esm/primitives/SecondaryButtonPrimitive.d.ts.map +1 -1
  265. package/dist/esm/primitives/SecondaryButtonPrimitive.js +5 -3
  266. package/dist/esm/primitives/TogglePrimitive.d.ts.map +1 -1
  267. package/dist/esm/public_components/ChartQueryBuilder.d.ts.map +1 -1
  268. package/dist/esm/public_components/ChartQueryBuilder.js +18 -8
  269. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  270. package/dist/esm/public_components/CreateEnvironment.js +68 -30
  271. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  272. package/dist/esm/public_components/DashboardManager.js +72 -5
  273. package/dist/esm/public_components/EnvSelectPopover.d.ts +2 -1
  274. package/dist/esm/public_components/EnvSelectPopover.d.ts.map +1 -1
  275. package/dist/esm/public_components/EnvSelectPopover.js +49 -9
  276. package/dist/esm/public_components/VirtualTableManager.d.ts.map +1 -1
  277. package/dist/esm/public_components/VirtualTableManager.js +125 -11
  278. package/dist/esm/public_components/__tests__/CreateEnvironment.test.js +41 -2
  279. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  280. package/dist/esm/utils/columnProcessing.d.ts +1 -0
  281. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  282. package/dist/esm/utils/columnProcessing.js +7 -2
  283. package/dist/esm/utils/constants.d.ts +1 -0
  284. package/dist/esm/utils/constants.d.ts.map +1 -1
  285. package/dist/esm/utils/constants.js +4 -0
  286. package/dist/esm/utils/dataEditor.d.ts.map +1 -1
  287. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  288. package/dist/esm/utils/dataFetcher.js +0 -1
  289. package/dist/esm/utils/databases.d.ts +6 -1
  290. package/dist/esm/utils/databases.d.ts.map +1 -1
  291. package/dist/esm/utils/databases.js +23 -5
  292. package/dist/esm/utils/delay.d.ts.map +1 -1
  293. package/dist/esm/utils/filter.d.ts +17 -21
  294. package/dist/esm/utils/filter.d.ts.map +1 -1
  295. package/dist/esm/utils/filter.js +5 -5
  296. package/dist/esm/utils/report.d.ts +5 -5
  297. package/dist/esm/utils/report.d.ts.map +1 -1
  298. package/dist/esm/utils/schema.d.ts +6 -3
  299. package/dist/esm/utils/schema.d.ts.map +1 -1
  300. package/dist/esm/utils/schema.js +42 -3
  301. package/dist/esm/utils/table.d.ts.map +1 -1
  302. package/dist/esm/utils/tenants.d.ts.map +1 -1
  303. package/dist/esm/utils/ui.d.ts.map +1 -1
  304. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
+ import { fieldTypeToDataTypeID } from '../utils/columnProcessing';
1
2
  import { QUILL_SERVER } from '../utils/constants';
2
3
  import { quillFetch } from '../utils/dataFetcher';
3
- export async function testConnectionString(queryEndpoint, connectionString, databaseType, getToken, clientId) {
4
+ export async function testConnectionString(queryEndpoint, connectionString, databaseType, getToken, clientId, queryHeaders) {
4
5
  const controller = new AbortController();
5
6
  const timeoutId = setTimeout(() => controller.abort(), 10000); // 10 second timeout
6
7
  try {
@@ -25,6 +26,7 @@ export async function testConnectionString(queryEndpoint, connectionString, data
25
26
  const { data } = await quillFetch({
26
27
  client: {
27
28
  queryEndpoint,
29
+ queryHeaders,
28
30
  clientId: clientId,
29
31
  withCredentials: false,
30
32
  },
@@ -48,10 +50,13 @@ export async function testConnectionString(queryEndpoint, connectionString, data
48
50
  throw error;
49
51
  }
50
52
  }
51
- export async function getTablesBySchema(queryEndpoint, clientId, schema, getToken) {
53
+ // Unused
54
+ // If to be used, make work with self-hosted
55
+ export async function getTablesBySchema(queryEndpoint, clientId, schema, getToken, queryHeaders) {
52
56
  const results = await quillFetch({
53
57
  client: {
54
58
  queryEndpoint,
59
+ queryHeaders,
55
60
  clientId,
56
61
  withCredentials: false,
57
62
  },
@@ -69,10 +74,11 @@ export async function getTablesBySchema(queryEndpoint, clientId, schema, getToke
69
74
  throw new Error(results.error);
70
75
  }
71
76
  }
72
- export async function setSchemaNames(queryEndpoint, clientId, schemaNames, getToken) {
77
+ export async function setSchemaNames(queryEndpoint, clientId, schemaNames, getToken, queryHeaders) {
73
78
  await quillFetch({
74
79
  client: {
75
80
  queryEndpoint,
81
+ queryHeaders,
76
82
  clientId,
77
83
  withCredentials: false,
78
84
  },
@@ -84,11 +90,13 @@ export async function setSchemaNames(queryEndpoint, clientId, schemaNames, getTo
84
90
  getToken,
85
91
  });
86
92
  }
87
- // Unused?
88
- export async function getTableInfo(queryEndpoint, clientId, schema, table, getToken) {
93
+ // Unused
94
+ // If to be used, make work with self-hosted
95
+ export async function getTableInfo(queryEndpoint, clientId, schema, table, getToken, queryHeaders) {
89
96
  const results = await quillFetch({
90
97
  client: {
91
98
  queryEndpoint,
99
+ queryHeaders,
92
100
  clientId,
93
101
  withCredentials: false,
94
102
  },
@@ -107,45 +115,136 @@ export async function getTableInfo(queryEndpoint, clientId, schema, table, getTo
107
115
  throw new Error(results.error);
108
116
  }
109
117
  }
110
- export async function getTableColumnsBySchema(queryEndpoint, clientId, getToken, schemas) {
111
- const results = await quillFetch({
118
+ export async function getSchemaTables(schemas, databaseType, queryEndpoint, clientId, getToken, queryHeaders) {
119
+ const schemaMap = {};
120
+ const { queries } = await quillFetch({
112
121
  client: {
113
122
  queryEndpoint,
123
+ queryHeaders,
114
124
  clientId,
115
125
  withCredentials: false,
116
126
  },
117
- task: 'table-info-by-schema',
127
+ task: 'get-tables-by-schemas',
118
128
  metadata: {
119
- clientId,
129
+ databaseType,
120
130
  schemas,
121
131
  },
122
132
  getToken,
123
133
  });
124
- if (results.status === 'error') {
125
- throw new Error(results.error);
134
+ const queryResults = queries?.queryResults || [];
135
+ if (queryResults.length !== schemas.length) {
136
+ throw new Error('Error fetching tables by schemas');
126
137
  }
127
- const formattedResults = results.data.columnsByTable.map((table) => {
128
- return {
129
- tableName: table.tableName,
130
- displayName: table.displayName,
131
- columns: table.columns.map((column) => {
132
- return {
133
- columnName: column.columnName,
134
- displayName: column.displayName,
135
- fieldType: column.fieldType,
136
- dataTypeId: column.dataTypeId,
137
- field: column.columnName,
138
- };
139
- }),
140
- };
138
+ const allTables = [];
139
+ for (let i = 0; i < queryResults.length; i++) {
140
+ const queryResult = queryResults[i];
141
+ const schema = schemas[i] || '';
142
+ const tables = queryResult.rows.map((row) => {
143
+ if (!schemaMap[schema]) {
144
+ schemaMap[schema] = [];
145
+ }
146
+ schemaMap[schema].push(row['table_name'] || row['TABLE_NAME']);
147
+ return {
148
+ tableName: row['table_name'] || row['TABLE_NAME'],
149
+ schemaName: row['table_schema'] || row['TABLE_SCHEMA'],
150
+ catalogName: row['table_catalog'] || row['TABLE_CATALOG'],
151
+ };
152
+ });
153
+ allTables.push(...tables);
154
+ }
155
+ return { tables: allTables.flat(), schema: schemaMap };
156
+ }
157
+ export async function getTableColumns(tables, databaseType, queryEndpoint, clientId, getToken, queryHeaders) {
158
+ const { queries } = await quillFetch({
159
+ client: {
160
+ queryEndpoint,
161
+ queryHeaders,
162
+ clientId,
163
+ withCredentials: false,
164
+ },
165
+ task: 'get-schema-table-columns',
166
+ metadata: {
167
+ databaseType,
168
+ tables,
169
+ },
170
+ getToken,
141
171
  });
142
- return { columnsByTable: formattedResults, schema: results.data.schema };
172
+ const queryResults = queries?.queryResults || [];
173
+ if (queryResults.length !== tables.length) {
174
+ throw new Error('Error fetching table columns');
175
+ }
176
+ const columnsByTable = [];
177
+ for (let i = 0; i < queryResults.length; i++) {
178
+ const queryResult = queryResults[i];
179
+ const table = tables[i];
180
+ const columns = queryResult.rows.map((row) => {
181
+ const fieldType = row['fieldType'] || row['dataType'];
182
+ return {
183
+ columnName: row['columnName'],
184
+ displayName: row['columnName'],
185
+ fieldType: fieldType,
186
+ dataTypeId: fieldTypeToDataTypeID(fieldType?.toLowerCase()),
187
+ field: row['columnName'],
188
+ };
189
+ });
190
+ columnsByTable.push({
191
+ tableName: `${table.catalogName ? `${table.catalogName}.` : ''}${table.schemaName}.${table.tableName}`,
192
+ displayName: `${table.catalogName ? `${table.catalogName}.` : ''}${table.schemaName}.${table.tableName}`,
193
+ columns,
194
+ });
195
+ }
196
+ return columnsByTable;
197
+ }
198
+ // Different logic for self-hosted because there might not be a database connection string
199
+ // to rely on in the backend
200
+ export async function getTableColumnsBySchema(isSelfHosted, queryEndpoint, clientId, databaseType, getToken, schemas, queryHeaders) {
201
+ if (isSelfHosted) {
202
+ const { tables, schema } = await getSchemaTables(schemas, databaseType, queryEndpoint, clientId, getToken, queryHeaders);
203
+ const columnsByTable = await getTableColumns(tables, databaseType, queryEndpoint, clientId, getToken, queryHeaders);
204
+ return { columnsByTable, schema };
205
+ }
206
+ else {
207
+ const results = await quillFetch({
208
+ client: {
209
+ queryEndpoint,
210
+ queryHeaders,
211
+ clientId,
212
+ withCredentials: false,
213
+ },
214
+ task: 'table-info-by-schema',
215
+ metadata: {
216
+ clientId,
217
+ schemas,
218
+ },
219
+ getToken,
220
+ });
221
+ if (results.status === 'error') {
222
+ throw new Error(results.error);
223
+ }
224
+ const formattedResults = results.data.columnsByTable.map((table) => {
225
+ return {
226
+ tableName: table.tableName,
227
+ displayName: table.displayName || table.tableName,
228
+ columns: table.columns.map((column) => {
229
+ return {
230
+ columnName: column.columnName,
231
+ displayName: column.displayName,
232
+ fieldType: column.fieldType,
233
+ dataTypeId: column.dataTypeId,
234
+ field: column.columnName,
235
+ };
236
+ }),
237
+ };
238
+ });
239
+ return { columnsByTable: formattedResults, schema: results.data.schema };
240
+ }
143
241
  }
144
242
  // Unused?
145
- export async function getVirtualTables(queryEndpoint, tableSchemas, customerNameField, clientId, getToken) {
243
+ export async function getVirtualTables(queryEndpoint, tableSchemas, customerNameField, clientId, getToken, queryHeaders) {
146
244
  const { data: results } = await quillFetch({
147
245
  client: {
148
246
  queryEndpoint,
247
+ queryHeaders,
149
248
  clientId,
150
249
  withCredentials: false,
151
250
  },
@@ -165,12 +264,14 @@ export async function getVirtualTables(queryEndpoint, tableSchemas, customerName
165
264
  }
166
265
  return results.notSureWhatThisIs.sqlQueries;
167
266
  }
168
- export async function getVirtualTableData(clientId, query, databaseType, queryEndpoint, getToken) {
267
+ // TODO: Check that works with self-hosted
268
+ export async function getVirtualTableData(clientId, query, databaseType, queryEndpoint, getToken, eventTracking, queryHeaders) {
169
269
  let queryAst = undefined;
170
270
  try {
171
271
  const { data } = await quillFetch({
172
272
  client: {
173
273
  queryEndpoint,
274
+ queryHeaders,
174
275
  clientId,
175
276
  withCredentials: false,
176
277
  },
@@ -191,6 +292,16 @@ export async function getVirtualTableData(clientId, query, databaseType, queryEn
191
292
  }
192
293
  }
193
294
  catch (e) {
295
+ eventTracking?.logError?.({
296
+ type: 'network',
297
+ severity: 'medium',
298
+ message: 'Error getting AST',
299
+ errorMessage: e.message,
300
+ errorStack: e.stack,
301
+ errorData: {
302
+ function: 'getVirtualTableData',
303
+ },
304
+ });
194
305
  return {
195
306
  success: false,
196
307
  error: 'Invalid SQL Query',
@@ -200,6 +311,7 @@ export async function getVirtualTableData(clientId, query, databaseType, queryEn
200
311
  const results = await quillFetch({
201
312
  client: {
202
313
  queryEndpoint,
314
+ queryHeaders,
203
315
  clientId,
204
316
  withCredentials: false,
205
317
  },
@@ -278,10 +390,11 @@ export async function getVirtualTableData(clientId, query, databaseType, queryEn
278
390
  : { ...results, ...queryAst };
279
391
  }
280
392
  // Unused?
281
- export async function getAST(query, clientId, queryEndpoint, getToken) {
393
+ export async function getAST(query, clientId, queryEndpoint, getToken, queryHeaders) {
282
394
  const { data } = await quillFetch({
283
395
  client: {
284
396
  queryEndpoint,
397
+ queryHeaders,
285
398
  clientId,
286
399
  withCredentials: false,
287
400
  },
@@ -296,10 +409,11 @@ export async function getAST(query, clientId, queryEndpoint, getToken) {
296
409
  return data;
297
410
  }
298
411
  // Unused?
299
- export async function getQueryFromAI(aiPrompt, columnsByTable, queryEndpoint, clientId, getToken) {
412
+ export async function getQueryFromAI(aiPrompt, columnsByTable, queryEndpoint, clientId, getToken, queryHeaders) {
300
413
  const { data: results } = await quillFetch({
301
414
  client: {
302
415
  queryEndpoint,
416
+ queryHeaders,
303
417
  clientId,
304
418
  withCredentials: false,
305
419
  },
@@ -313,13 +427,15 @@ export async function getQueryFromAI(aiPrompt, columnsByTable, queryEndpoint, cl
313
427
  });
314
428
  return results?.message || '';
315
429
  }
316
- export async function getQueryFromAiWithConnection(queryEndpoint, aiPrompt, clientId, getToken, schemaNames) {
430
+ // TODO: Check that works with self-hosted
431
+ export async function getQueryFromAiWithConnection(isSelfHosted, databaseSchema, queryEndpoint, aiPrompt, clientId, getToken, schemaNames, queryHeaders) {
317
432
  if (aiPrompt.trim().length > 500) {
318
433
  return '';
319
434
  }
320
435
  const { data: results } = await quillFetch({
321
436
  client: {
322
437
  queryEndpoint,
438
+ queryHeaders,
323
439
  clientId,
324
440
  withCredentials: false,
325
441
  },
@@ -328,6 +444,7 @@ export async function getQueryFromAiWithConnection(queryEndpoint, aiPrompt, clie
328
444
  prompt: aiPrompt,
329
445
  clientId,
330
446
  schemaNames,
447
+ databaseSchema: isSelfHosted ? databaseSchema : undefined,
331
448
  },
332
449
  getToken,
333
450
  });
@@ -338,6 +455,7 @@ export async function createVirtualTable(viewInfo, client, tableData, currentTab
338
455
  const { data: queryAstRaw } = await quillFetch({
339
456
  client: {
340
457
  queryEndpoint,
458
+ queryHeaders,
341
459
  clientId,
342
460
  withCredentials: false,
343
461
  },
@@ -349,6 +467,7 @@ export async function createVirtualTable(viewInfo, client, tableData, currentTab
349
467
  },
350
468
  getToken,
351
469
  });
470
+ // Check for missing tenant field
352
471
  const missingField = ownerTenantFields.find((field) => tableData &&
353
472
  !tableData.fields.find((col) => col.name === field?.replaceAll('"', '')));
354
473
  const failingTenant = client.allTenantTypes.find((tenant) => tenant.tenantField === missingField);
@@ -356,8 +475,28 @@ export async function createVirtualTable(viewInfo, client, tableData, currentTab
356
475
  return {
357
476
  success: false,
358
477
  failingTenant,
478
+ failingTenantErrorType: 'missing',
359
479
  };
360
480
  }
481
+ // Check for type mismatches
482
+ if (tableData) {
483
+ const typeMismatchedTenant = ownerTenantFields.find((owner) => {
484
+ const tenant = client.allTenantTypes?.find((t) => t.tenantField === owner);
485
+ const tableDataField = tableData.fields.find((col) => col.name === owner?.replaceAll('"', ''));
486
+ return ((tenant?.fieldType === 'string' &&
487
+ isNumberType(tableDataField?.fieldType ?? '')) ||
488
+ (tenant?.fieldType === 'number' &&
489
+ isStringType(tableDataField?.fieldType ?? '')));
490
+ });
491
+ if (typeMismatchedTenant) {
492
+ const tenant = client.allTenantTypes?.find((t) => t.tenantField === typeMismatchedTenant);
493
+ return {
494
+ success: false,
495
+ failingTenant: tenant,
496
+ failingTenantErrorType: 'type_mismatch',
497
+ };
498
+ }
499
+ }
361
500
  if (!queryAstRaw || queryAstRaw.success === false) {
362
501
  return {
363
502
  success: false,
@@ -378,6 +517,7 @@ export async function createVirtualTable(viewInfo, client, tableData, currentTab
378
517
  const results = await quillFetch({
379
518
  client: {
380
519
  queryEndpoint,
520
+ queryHeaders,
381
521
  clientId,
382
522
  withCredentials: false,
383
523
  },
@@ -393,3 +533,28 @@ export async function createVirtualTable(viewInfo, client, tableData, currentTab
393
533
  });
394
534
  return { ...results.data, success: true };
395
535
  }
536
+ // Helper functions for type checking
537
+ function isNumberType(type) {
538
+ const numberTypes = [
539
+ 'int',
540
+ 'integer',
541
+ 'bigint',
542
+ 'smallint',
543
+ 'decimal',
544
+ 'numeric',
545
+ 'float',
546
+ 'double',
547
+ 'real',
548
+ ];
549
+ return numberTypes.some((t) => type.toLowerCase().includes(t));
550
+ }
551
+ function isStringType(type) {
552
+ const stringTypes = [
553
+ 'char',
554
+ 'varchar',
555
+ 'text',
556
+ 'string',
557
+ 'character varying',
558
+ ];
559
+ return stringTypes.some((t) => type.toLowerCase().includes(t));
560
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"ArrowDownHeadIcon.d.ts","sourceRoot":"","sources":["../../../src/assets/ArrowDownHeadIcon.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,iBAAiB;;6CActB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"ArrowDownHeadIcon.d.ts","sourceRoot":"","sources":["../../../src/assets/ArrowDownHeadIcon.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,iBAAiB,GAAI;;CAAY,4CActC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"XIcon.d.ts","sourceRoot":"","sources":["../../../src/assets/XIcon.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,KAAK;;6CAcV,CAAC;AACF,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"XIcon.d.ts","sourceRoot":"","sources":["../../../src/assets/XIcon.tsx"],"names":[],"mappings":"AAGA,QAAA,MAAM,KAAK,GAAI;;CAAY,4CAc1B,CAAC;AACF,eAAe,KAAK,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"CardSection.d.ts","sourceRoot":"","sources":["../../../src/components/CardSection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE1C,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAazE"}
1
+ {"version":3,"file":"CardSection.d.ts","sourceRoot":"","sources":["../../../src/components/CardSection.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAG1C,MAAM,CAAC,OAAO,UAAU,WAAW,CAAC,KAAK,EAAE,iBAAiB,GAAG,GAAG,CAAC,OAAO,CAgBzE"}
@@ -1,8 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useAdmin } from '../AdminProvider';
2
3
  export default function CardSection(props) {
4
+ const { state: { theme }, } = useAdmin();
3
5
  return (_jsx("div", { style: {
4
- fontFamily: 'Inter; Helvetica',
5
- color: '#364153',
6
+ fontFamily: theme?.fontFamily,
7
+ color: theme?.primaryTextColor,
6
8
  fontSize: 16,
7
9
  fontWeight: '600',
8
10
  }, children: props.children }));
@@ -1 +1 @@
1
- {"version":3,"file":"ClipboardButton.d.ts","sourceRoot":"","sources":["../../../src/components/ClipboardButton.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAY,MAAM,OAAO,CAAC;AAGvD,QAAA,MAAM,eAAe,qCAIlB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,aAAa,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,4CAsHA,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"ClipboardButton.d.ts","sourceRoot":"","sources":["../../../src/components/ClipboardButton.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAY,MAAM,OAAO,CAAC;AAGvD,QAAA,MAAM,eAAe,GAAI,kCAItB;IACD,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,aAAa,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,4CAsHA,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DashboardSelectPopover.d.ts","sourceRoot":"","sources":["../../../src/components/DashboardSelectPopover.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,UAAU,2BAA2B;IACnC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,wBAAwB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,UAAU,EACV,YAAY,EACZ,SAAS,EACT,KAAK,EACL,wBAAwB,EACxB,mBAAmB,EACnB,SAAS,EACT,SAAS,GACV,EAAE,2BAA2B,2CA8J7B"}
1
+ {"version":3,"file":"DashboardSelectPopover.d.ts","sourceRoot":"","sources":["../../../src/components/DashboardSelectPopover.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAI7C,UAAU,2BAA2B;IACnC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,UAAU,CAAC;IAClB,wBAAwB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAAC,EAC7C,UAAU,EACV,YAAY,EACZ,SAAS,EACT,KAAK,EACL,wBAAwB,EACxB,mBAAmB,EACnB,SAAS,EACT,SAAS,GACV,EAAE,2BAA2B,2CAsM7B"}
@@ -1,15 +1,27 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useMemo, useState } from 'react';
3
- import { ListboxRow, ListboxTextInput, Popover } from './OrgSelect';
3
+ import { ListboxRow, Popover } from './OrgSelect';
4
4
  import MiniButtonPrimitive from '../primitives/MiniButtonPrimitive';
5
5
  import { LoadingSpinner } from './UiComponents';
6
+ import { ListboxTextInput } from './QuillMultiSelectWithCombo';
7
+ import { useAdmin } from '../AdminProvider';
6
8
  export default function DashboardSelectPopover({ dashboards, setDashboard, dashboard, theme, setSelectedEditDashboard, onClickNewDashboard, parentRef, isLoading, }) {
7
9
  const [isOpen, setIsOpen] = useState(false);
10
+ const { eventTracking } = useAdmin();
8
11
  const [searchQuery, setSearchQuery] = useState('');
9
12
  const filteredDashboards = useMemo(() => {
10
13
  return dashboards.filter((dashboard) => dashboard?.toLowerCase().includes(searchQuery.toLowerCase()));
11
14
  }, [dashboards, searchQuery]);
12
15
  const handleItemClick = (selectedDashboard) => {
16
+ eventTracking?.addBreadcrumb?.({
17
+ message: 'Set dashboard in DashboardSelectPopover',
18
+ data: {
19
+ dashboard: selectedDashboard,
20
+ },
21
+ category: 'navigation',
22
+ level: 'info',
23
+ timestamp: Date.now(),
24
+ });
13
25
  setDashboard(selectedDashboard);
14
26
  setIsOpen(false);
15
27
  };
@@ -19,23 +31,47 @@ export default function DashboardSelectPopover({ dashboards, setDashboard, dashb
19
31
  marginTop: '0px',
20
32
  marginBottom: '4px',
21
33
  fontWeight: '600',
34
+ fontFamily: theme.fontFamily,
22
35
  color: theme.secondaryTextColor,
23
36
  }, children: "Dashboard" }), _jsx(Popover, { parentRef: parentRef, label: dashboard ?? 'Select dashboard', isOpen: isOpen, onClose: () => setIsOpen(false), style: {
24
37
  boxSizing: 'border-box',
25
38
  fontSize: 14,
26
39
  maxHeight: '50vh',
27
- }, setIsOpen: setIsOpen, onClick: () => { }, children: !isLoading ? (_jsxs(_Fragment, { children: [_jsx(ListboxTextInput, { id: "quill-search-bar", placeholder: "Search", value: searchQuery, onChange: setSearchQuery }), _jsx("div", { style: { height: 9, width: 230, borderTop: '1px solid #e7e7e7' } }), _jsxs("div", { style: { paddingTop: 8, paddingBottom: 8 }, children: [filteredDashboards.map((item) => (_jsx(ListboxRow, { setSelected: dashboard && dashboard !== item
40
+ }, setIsOpen: setIsOpen, onClick: () => { }, children: !isLoading ? (_jsxs(_Fragment, { children: [_jsx(ListboxTextInput, { id: "quill-search-bar", placeholder: "Search", value: searchQuery, width: 180, onChange: setSearchQuery }), _jsx("div", { style: {
41
+ height: 9,
42
+ width: 230,
43
+ borderTop: `1px solid ${theme?.borderColor ?? '#e7e7e7'}`,
44
+ } }), _jsxs("div", { style: { paddingTop: 8, paddingBottom: 8 }, children: [filteredDashboards.map((item) => (_jsx(ListboxRow, { setSelected: dashboard && dashboard !== item
28
45
  ? () => handleItemClick(item)
29
46
  : undefined, item: item, isSelected: dashboard === item, hoverActions: (item) => (_jsx(MiniButtonPrimitive, { label: "Manage", onClick: () => {
47
+ eventTracking?.addBreadcrumb?.({
48
+ message: 'Opened manage dashboard in DashboardSelectPopover',
49
+ data: {
50
+ dashboard: item,
51
+ },
52
+ category: 'interaction',
53
+ level: 'info',
54
+ timestamp: Date.now(),
55
+ });
30
56
  setSelectedEditDashboard(item);
31
57
  setIsOpen(false);
32
58
  }, style: {
33
59
  marginRight: -8,
34
60
  marginTop: 'auto',
35
61
  marginBottom: 'auto',
36
- } })) }, item))), _jsx("div", { className: 'quill-list-select', style: { paddingBottom: 6, cursor: 'pointer' }, children: _jsxs("div", { onClick: onClickNewDashboard, style: {
62
+ fontFamily: theme.fontFamily,
63
+ color: theme.secondaryTextColor,
64
+ backgroundColor: theme.backgroundColor,
65
+ } })) }, item))), _jsx("div", { className: 'quill-list-select', style: { paddingBottom: 6, cursor: 'pointer' }, children: _jsxs("div", { onClick: () => {
66
+ onClickNewDashboard();
67
+ eventTracking?.addBreadcrumb?.({
68
+ message: 'Opened create new dashboard in DashboardSelectPopover',
69
+ category: 'navigation',
70
+ level: 'info',
71
+ timestamp: Date.now(),
72
+ });
73
+ }, style: {
37
74
  height: 42,
38
- color: '#384151',
39
75
  width: 216,
40
76
  borderRadius: 6,
41
77
  textAlign: 'left',
@@ -49,15 +85,18 @@ export default function DashboardSelectPopover({ dashboards, setDashboard, dashb
49
85
  textOverflow: 'ellipsis',
50
86
  whiteSpace: 'nowrap',
51
87
  overflow: 'hidden',
88
+ fontFamily: theme.fontFamily,
52
89
  }, children: [_jsx("style", { children: `
53
90
  .quill-list-select > div {
54
- background-color: white;
91
+ background-color: ${theme?.backgroundColor};
92
+ color: ${theme?.primaryTextColor};
55
93
  }
56
94
  .quill-list-selected > div {
57
- background-color: rgba(56, 65, 81, 0.04);
58
- }
95
+ background-color: ${theme?.hoverBackgroundColor};
96
+ color: ${theme?.hoverTextColor};
59
97
  .quill-list-select:hover > div {
60
- background-color: rgba(56, 65, 81, 0.04);
98
+ background-color: ${theme?.hoverBackgroundColor};
99
+ color: ${theme?.hoverTextColor};
61
100
  }` }), _jsxs("div", { style: {
62
101
  textOverflow: 'ellipsis',
63
102
  whiteSpace: 'nowrap',
@@ -1,4 +1,5 @@
1
1
  import { CSSProperties } from 'react';
2
+ import { QuillTheme } from '../Admin';
2
3
  interface DatabaseSelectorProps {
3
4
  label: string;
4
5
  imageUrl: string;
@@ -6,7 +7,8 @@ interface DatabaseSelectorProps {
6
7
  onDatabaseSelect: (database: string) => void;
7
8
  containerStyle?: CSSProperties;
8
9
  databaseType: string;
10
+ theme: QuillTheme;
9
11
  }
10
- export default function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerStyle, databaseType, }: DatabaseSelectorProps): import("react/jsx-runtime").JSX.Element;
12
+ export default function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerStyle, databaseType, theme, }: DatabaseSelectorProps): import("react/jsx-runtime").JSX.Element;
11
13
  export {};
12
14
  //# sourceMappingURL=DatabaseSelector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseSelector.d.ts","sourceRoot":"","sources":["../../../src/components/DatabaseSelector.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE7C,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,KAAK,EACL,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,YAAiB,GAClB,EAAE,qBAAqB,2CA6CvB"}
1
+ {"version":3,"file":"DatabaseSelector.d.ts","sourceRoot":"","sources":["../../../src/components/DatabaseSelector.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,UAAU,qBAAqB;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,KAAK,EACL,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,YAAiB,EACjB,KAAK,GACN,EAAE,qBAAqB,2CA8CvB"}
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- export default function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerStyle, databaseType = '', }) {
2
+ export default function DatabaseSelector({ label, imageUrl, value, onDatabaseSelect, containerStyle, databaseType = '', theme, }) {
3
3
  return (_jsxs("div", { style: {
4
4
  ...containerStyle,
5
5
  height: 128,
@@ -24,7 +24,8 @@ export default function DatabaseSelector({ label, imageUrl, value, onDatabaseSel
24
24
  } }), _jsx("h1", { style: {
25
25
  fontSize: 14,
26
26
  fontWeight: '500',
27
- color: '#212121',
27
+ color: theme?.secondaryTextColor,
28
+ fontFamily: theme?.fontFamily,
28
29
  marginTop: 10,
29
30
  }, children: label })] }));
30
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SingleDatePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/DateRangePicker/SingleDatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAgB3D,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,UAAiB,GAClB,EAAE,mBAAmB,2CA+VrB"}
1
+ {"version":3,"file":"SingleDatePicker.d.ts","sourceRoot":"","sources":["../../../../src/components/DateRangePicker/SingleDatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAgB3D,MAAM,WAAW,mBAAmB;IAClC,YAAY,CAAC,EAAE,IAAI,CAAC;IACpB,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,KAAK,IAAI,CAAC;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,UAAiB,GAClB,EAAE,mBAAmB,2CAqXrB"}
@@ -115,10 +115,6 @@ export function SingleDatePicker({ selectedDate, onChangeDate, disabled, style,
115
115
  alignItems: 'center',
116
116
  borderColor: theme?.borderColor,
117
117
  fontFamily: theme?.fontFamily,
118
- color: theme?.primaryTextColor,
119
- backgroundColor: disabled
120
- ? theme?.hoverBackgroundColor
121
- : theme?.backgroundColor,
122
118
  padding: '8px 12px',
123
119
  fontSize: 14,
124
120
  margin: 0,
@@ -132,7 +128,9 @@ export function SingleDatePicker({ selectedDate, onChangeDate, disabled, style,
132
128
  minHeight: 40,
133
129
  maxHeight: 40,
134
130
  gap: 10,
135
- }, disabled: disabled, onClick: () => setShowModal((prevShowModal) => !prevShowModal), className: "quill-date-range-picker-button", children: [_jsx("style", { children: ` .quill-date-range-picker-button { background: ${theme?.backgroundColor}; } .quill-date-range-picker-button:hover { background: ${theme?.hoverBackgroundColor}; }` }), _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", height: "15.5px", width: "15.5px", style: { marginTop: -1.5 }, children: [_jsx("rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", ry: "2" }), _jsx("line", { x1: "16", x2: "16", y1: "2", y2: "6" }), _jsx("line", { x1: "8", x2: "8", y1: "2", y2: "6" }), _jsx("line", { x1: "3", x2: "21", y1: "10", y2: "10" })] }), ignoreYear
131
+ opacity: disabled ? 0.5 : 1,
132
+ }, disabled: disabled, onClick: () => setShowModal((prevShowModal) => !prevShowModal), className: "quill-date-range-picker-button", children: [_jsx("style", { children: ` .quill-date-range-picker-button { background: ${theme?.backgroundColor}; color: ${theme?.primaryTextColor}; }
133
+ .quill-date-range-picker-button:hover { background: ${theme?.hoverBackgroundColor}; color: ${theme?.hoverTextColor}; }` }), _jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", height: "15.5px", width: "15.5px", style: { marginTop: -1.5 }, children: [_jsx("rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", ry: "2" }), _jsx("line", { x1: "16", x2: "16", y1: "2", y2: "6" }), _jsx("line", { x1: "8", x2: "8", y1: "2", y2: "6" }), _jsx("line", { x1: "3", x2: "21", y1: "10", y2: "10" })] }), ignoreYear
136
134
  ? selectedDate
137
135
  ? `Start on ${format(selectedDate, 'MMM dd')}`
138
136
  : 'Select Date'
@@ -175,7 +173,20 @@ export function SingleDatePicker({ selectedDate, onChangeDate, disabled, style,
175
173
  visibility: ignoreYear && currentMonth.getMonth() === 0
176
174
  ? 'hidden'
177
175
  : 'visible',
178
- }, className: "quill-calendar-button", children: [_jsx("style", { children: `.quill-calendar-button { background-color: ${theme.backgroundColor}; } .quill-calendar-button:hover { background-color: ${theme.hoverBackgroundColor}; }` }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: theme.chartLabelColor, height: "24px", width: "24px", children: _jsx("path", { d: "M10.8284 12.0007L15.7782 16.9504L14.364 18.3646L8 12.0007L14.364 5.63672L15.7782 7.05093L10.8284 12.0007Z" }) })] }), _jsx("div", { style: {
176
+ }, className: "quill-calendar-button", children: [_jsx("style", { children: `
177
+ .quill-calendar-button {
178
+ background-color: ${theme.backgroundColor};
179
+ }
180
+ .quill-calendar-button:hover {
181
+ background-color: ${theme.hoverBackgroundColor};
182
+ }
183
+ .quill-calendar-button svg {
184
+ fill: ${theme.chartLabelColor};
185
+ }
186
+ .quill-calendar-button:hover svg {
187
+ fill: ${theme.hoverTextColor};
188
+ }
189
+ ` }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", height: "24px", width: "24px", children: _jsx("path", { d: "M10.8284 12.0007L15.7782 16.9504L14.364 18.3646L8 12.0007L14.364 5.63672L15.7782 7.05093L10.8284 12.0007Z" }) })] }), _jsx("div", { style: {
179
190
  fontFamily: theme.fontFamily,
180
191
  fontSize: 14,
181
192
  color: theme.primaryTextColor,
@@ -198,7 +209,20 @@ export function SingleDatePicker({ selectedDate, onChangeDate, disabled, style,
198
209
  visibility: ignoreYear && currentMonth.getMonth() === 11
199
210
  ? 'hidden'
200
211
  : 'visible',
201
- }, className: "quill-calendar-button", children: [_jsx("style", { children: `.quill-calendar-button { background-color: ${theme.backgroundColor}; } .quill-calendar-button:hover { background-color: ${theme.hoverBackgroundColor}; }` }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: theme.chartLabelColor, height: "24px", width: "24px", children: _jsx("path", { d: "M13.1717 12.0007L8.22192 7.05093L9.63614 5.63672L16.0001 12.0007L9.63614 18.3646L8.22192 16.9504L13.1717 12.0007Z" }) })] })] }), _jsx("div", { style: {
212
+ }, className: "quill-calendar-button", children: [_jsx("style", { children: `
213
+ .quill-calendar-button {
214
+ background-color: ${theme.backgroundColor};
215
+ }
216
+ .quill-calendar-button:hover {
217
+ background-color: ${theme.hoverBackgroundColor};
218
+ }
219
+ .quill-calendar-button svg {
220
+ fill: ${theme.chartLabelColor};
221
+ }
222
+ .quill-calendar-button:hover svg {
223
+ fill: ${theme.hoverTextColor};
224
+ }
225
+ ` }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", height: "24px", width: "24px", children: _jsx("path", { d: "M13.1717 12.0007L8.22192 7.05093L9.63614 5.63672L16.0001 12.0007L9.63614 18.3646L8.22192 16.9504L13.1717 12.0007Z" }) })] })] }), _jsx("div", { style: {
202
226
  display: 'grid',
203
227
  gridTemplateColumns: 'repeat(7, 1fr)',
204
228
  marginTop: 8,