@quillsql/admin 1.6.0 → 1.6.2

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 (686) hide show
  1. package/dist/cjs/Admin.d.ts +41 -87
  2. package/dist/cjs/Admin.d.ts.map +1 -1
  3. package/dist/cjs/Admin.js +358 -443
  4. package/dist/cjs/AdminProvider.d.ts +108 -49
  5. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  6. package/dist/cjs/AdminProvider.js +391 -220
  7. package/dist/cjs/api/ConnectionClient.d.ts +20 -30
  8. package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
  9. package/dist/cjs/api/ConnectionClient.js +314 -310
  10. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  11. package/dist/cjs/components/Banner/index.d.ts +0 -1
  12. package/dist/cjs/components/Banner/index.d.ts.map +1 -1
  13. package/dist/cjs/components/Banner/index.js +1 -1
  14. package/dist/cjs/components/CardSection.js +1 -1
  15. package/dist/cjs/components/CardTitle.js +1 -1
  16. package/dist/cjs/components/ClipboardButton.d.ts +8 -0
  17. package/dist/cjs/components/ClipboardButton.d.ts.map +1 -0
  18. package/dist/cjs/components/ClipboardButton.js +74 -0
  19. package/dist/cjs/components/DashboardSelectPopover.d.ts +8 -5
  20. package/dist/cjs/components/DashboardSelectPopover.d.ts.map +1 -1
  21. package/dist/cjs/components/DashboardSelectPopover.js +74 -168
  22. package/dist/cjs/components/DatabaseMismatchCard.d.ts +3 -3
  23. package/dist/cjs/components/DatabaseMismatchCard.d.ts.map +1 -1
  24. package/dist/cjs/components/DatabaseMismatchCard.js +3 -3
  25. package/dist/cjs/components/DatabaseSelector.d.ts.map +1 -1
  26. package/dist/cjs/components/DatabaseSelector.js +10 -2
  27. package/dist/cjs/components/DateRangePicker/SingleDatePicker.d.ts +10 -0
  28. package/dist/cjs/components/DateRangePicker/SingleDatePicker.d.ts.map +1 -0
  29. package/dist/cjs/components/DateRangePicker/SingleDatePicker.js +263 -0
  30. package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.d.ts +18 -0
  31. package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.d.ts.map +1 -0
  32. package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.js +288 -0
  33. package/dist/cjs/components/DateRangePicker/dateRangePickerUtils.d.ts +91 -0
  34. package/dist/cjs/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -0
  35. package/dist/cjs/components/DateRangePicker/dateRangePickerUtils.js +898 -0
  36. package/dist/cjs/components/DeleteButton.d.ts +0 -1
  37. package/dist/cjs/components/DeleteButton.d.ts.map +1 -1
  38. package/dist/cjs/components/DeleteButton.js +1 -1
  39. package/dist/cjs/components/DropDownMenu.js +1 -1
  40. package/dist/cjs/components/DropDownMenuWithLabel.d.ts +4 -3
  41. package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
  42. package/dist/cjs/components/DropDownMenuWithLabel.js +55 -59
  43. package/dist/cjs/components/DynamicBanner.d.ts +2 -5
  44. package/dist/cjs/components/DynamicBanner.d.ts.map +1 -1
  45. package/dist/cjs/components/DynamicBanner.js +3 -3
  46. package/dist/cjs/components/EmptyDashboardComponent/index.d.ts +0 -1
  47. package/dist/cjs/components/EmptyDashboardComponent/index.d.ts.map +1 -1
  48. package/dist/cjs/components/EmptyDashboardComponent/index.js +14 -11
  49. package/dist/cjs/components/EmptyVirtualTablesComponent.d.ts +4 -0
  50. package/dist/cjs/components/EmptyVirtualTablesComponent.d.ts.map +1 -0
  51. package/dist/cjs/components/EmptyVirtualTablesComponent.js +41 -0
  52. package/dist/cjs/components/ExternalLink.d.ts +4 -0
  53. package/dist/cjs/components/ExternalLink.d.ts.map +1 -0
  54. package/dist/cjs/components/ExternalLink.js +15 -0
  55. package/dist/cjs/components/FormTooltip.d.ts +8 -0
  56. package/dist/cjs/components/FormTooltip.d.ts.map +1 -0
  57. package/dist/cjs/components/FormTooltip.js +89 -0
  58. package/dist/cjs/components/InputLabel.d.ts +4 -1
  59. package/dist/cjs/components/InputLabel.d.ts.map +1 -1
  60. package/dist/cjs/components/InputLabel.js +13 -8
  61. package/dist/cjs/components/InternalDashboard/ChartSkeleton.d.ts +11 -0
  62. package/dist/cjs/components/InternalDashboard/ChartSkeleton.d.ts.map +1 -0
  63. package/dist/cjs/components/InternalDashboard/ChartSkeleton.js +21 -0
  64. package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts +20 -0
  65. package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts.map +1 -0
  66. package/dist/cjs/components/InternalDashboard/DashboardFilter.js +104 -0
  67. package/dist/cjs/components/InternalDashboard/DashboardLoadingComponent.d.ts +7 -0
  68. package/dist/cjs/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -0
  69. package/dist/cjs/components/InternalDashboard/DashboardLoadingComponent.js +22 -0
  70. package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.d.ts +37 -0
  71. package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -0
  72. package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +275 -0
  73. package/dist/cjs/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts +85 -0
  74. package/dist/cjs/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -0
  75. package/dist/cjs/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.js +534 -0
  76. package/dist/cjs/components/InternalDashboard/InternalDashboard.d.ts +17 -0
  77. package/dist/cjs/components/InternalDashboard/InternalDashboard.d.ts.map +1 -0
  78. package/dist/cjs/components/InternalDashboard/InternalDashboard.js +1947 -0
  79. package/dist/cjs/components/OrgSelect.d.ts +9 -13
  80. package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
  81. package/dist/cjs/components/OrgSelect.js +136 -119
  82. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +30 -0
  83. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -0
  84. package/dist/cjs/components/QuillMultiSelectWithCombo.js +504 -0
  85. package/dist/cjs/components/QuillPopover.d.ts +11 -0
  86. package/dist/cjs/components/QuillPopover.d.ts.map +1 -0
  87. package/dist/cjs/components/QuillPopover.js +180 -0
  88. package/dist/cjs/components/QuillSelect.d.ts +1 -1
  89. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  90. package/dist/cjs/components/QuillSelect.js +38 -16
  91. package/dist/cjs/components/QuillSelectWithCombo.d.ts +22 -0
  92. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -0
  93. package/dist/cjs/components/QuillSelectWithCombo.js +327 -0
  94. package/dist/cjs/components/QuillTab.d.ts +12 -0
  95. package/dist/cjs/components/QuillTab.d.ts.map +1 -0
  96. package/dist/cjs/components/QuillTab.js +84 -0
  97. package/dist/cjs/components/QuillToolTipPortal.d.ts +11 -0
  98. package/dist/cjs/components/QuillToolTipPortal.d.ts.map +1 -0
  99. package/dist/cjs/components/QuillToolTipPortal.js +108 -0
  100. package/dist/cjs/components/SegmentedControl.d.ts +10 -2
  101. package/dist/cjs/components/SegmentedControl.d.ts.map +1 -1
  102. package/dist/cjs/components/SegmentedControl.js +27 -22
  103. package/dist/cjs/components/SqlTextEditor.d.ts +6 -1
  104. package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -1
  105. package/dist/cjs/components/SqlTextEditor.js +62 -13
  106. package/dist/cjs/components/StepDisplay.d.ts.map +1 -1
  107. package/dist/cjs/components/StepDisplay.js +2 -2
  108. package/dist/cjs/components/Tenants/EditTenant.d.ts +41 -0
  109. package/dist/cjs/components/Tenants/EditTenant.d.ts.map +1 -0
  110. package/dist/cjs/components/Tenants/EditTenant.js +760 -0
  111. package/dist/cjs/components/UiComponents.d.ts +35 -6
  112. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  113. package/dist/cjs/components/UiComponents.js +237 -30
  114. package/dist/cjs/components/VirtualTableTile.d.ts +7 -0
  115. package/dist/cjs/components/VirtualTableTile.d.ts.map +1 -0
  116. package/dist/cjs/components/VirtualTableTile.js +51 -0
  117. package/dist/cjs/components/index.d.ts +5 -5
  118. package/dist/cjs/components/index.d.ts.map +1 -1
  119. package/dist/cjs/components/index.js +1 -1
  120. package/dist/cjs/constants/dataTypes.d.ts +2 -0
  121. package/dist/cjs/constants/dataTypes.d.ts.map +1 -0
  122. package/dist/cjs/constants/dataTypes.js +23 -0
  123. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts +15 -6
  124. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  125. package/dist/cjs/forms/client_onboard/ConnectDatabase.js +214 -109
  126. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts +13 -9
  127. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  128. package/dist/cjs/forms/client_onboard/ConnectSchema.js +158 -236
  129. package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts +47 -0
  130. package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -0
  131. package/dist/cjs/forms/client_onboard/CreateVirtualTables.js +396 -0
  132. package/dist/cjs/forms/client_onboard/__tests__/ConnectDatabase.test.d.ts +2 -0
  133. package/dist/cjs/forms/client_onboard/__tests__/ConnectDatabase.test.d.ts.map +1 -0
  134. package/dist/cjs/forms/client_onboard/__tests__/ConnectDatabase.test.js +571 -0
  135. package/dist/cjs/forms/client_onboard/__tests__/ConnectSchema.test.d.ts +2 -0
  136. package/dist/cjs/forms/client_onboard/__tests__/ConnectSchema.test.d.ts.map +1 -0
  137. package/dist/cjs/forms/client_onboard/__tests__/ConnectSchema.test.js +459 -0
  138. package/dist/cjs/forms/client_onboard/__tests__/CreateVirtualTables.test.d.ts +2 -0
  139. package/dist/cjs/forms/client_onboard/__tests__/CreateVirtualTables.test.d.ts.map +1 -0
  140. package/dist/cjs/forms/client_onboard/__tests__/CreateVirtualTables.test.js +385 -0
  141. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.d.ts +20 -0
  142. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -0
  143. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.js +294 -0
  144. package/dist/cjs/hooks/useDashboardManager.d.ts +16 -0
  145. package/dist/cjs/hooks/useDashboardManager.d.ts.map +1 -0
  146. package/dist/cjs/hooks/useDashboardManager.js +113 -0
  147. package/dist/cjs/hooks/useDatabaseSchema.d.ts +5 -0
  148. package/dist/cjs/hooks/useDatabaseSchema.d.ts.map +1 -0
  149. package/dist/cjs/hooks/useDatabaseSchema.js +54 -0
  150. package/dist/cjs/hooks/useItemBeingEdited.d.ts +1 -2
  151. package/dist/cjs/hooks/useItemBeingEdited.d.ts.map +1 -1
  152. package/dist/cjs/hooks/useItemBeingEdited.js +2 -14
  153. package/dist/cjs/hooks/useOnClickOutside.d.ts +4 -1
  154. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
  155. package/dist/cjs/hooks/useOnClickOutside.js +50 -7
  156. package/dist/cjs/hooks/useTenants.d.ts +13 -0
  157. package/dist/cjs/hooks/useTenants.d.ts.map +1 -0
  158. package/dist/cjs/hooks/useTenants.js +174 -0
  159. package/dist/cjs/hooks/useThrottle.d.ts +2 -0
  160. package/dist/cjs/hooks/useThrottle.d.ts.map +1 -0
  161. package/dist/cjs/hooks/useThrottle.js +14 -0
  162. package/dist/cjs/icons/CheckCircleIcon.d.ts +5 -0
  163. package/dist/cjs/icons/CheckCircleIcon.d.ts.map +1 -0
  164. package/dist/cjs/icons/CheckCircleIcon.js +5 -0
  165. package/dist/cjs/icons/DownChevronIcon.d.ts +2 -0
  166. package/dist/cjs/icons/DownChevronIcon.d.ts.map +1 -0
  167. package/dist/cjs/icons/DownChevronIcon.js +7 -0
  168. package/dist/cjs/icons/ExclamationFilledIcon.d.ts +5 -0
  169. package/dist/cjs/icons/ExclamationFilledIcon.d.ts.map +1 -0
  170. package/dist/cjs/icons/ExclamationFilledIcon.js +5 -0
  171. package/dist/cjs/icons/ExteriorLinkIcon.d.ts +5 -0
  172. package/dist/cjs/icons/ExteriorLinkIcon.d.ts.map +1 -0
  173. package/dist/cjs/icons/ExteriorLinkIcon.js +5 -0
  174. package/dist/cjs/icons/GlobeIcon.d.ts +5 -0
  175. package/dist/cjs/icons/GlobeIcon.d.ts.map +1 -0
  176. package/dist/cjs/icons/GlobeIcon.js +15 -0
  177. package/dist/cjs/icons/InformationCircleIcon.d.ts +4 -0
  178. package/dist/cjs/icons/InformationCircleIcon.d.ts.map +1 -0
  179. package/dist/cjs/icons/InformationCircleIcon.js +7 -0
  180. package/dist/cjs/icons/LeftChevronIcon.d.ts +2 -0
  181. package/dist/cjs/icons/LeftChevronIcon.d.ts.map +1 -0
  182. package/dist/cjs/icons/LeftChevronIcon.js +7 -0
  183. package/dist/cjs/icons/QuestionMarkCircleIcon.d.ts +5 -0
  184. package/dist/cjs/icons/QuestionMarkCircleIcon.d.ts.map +1 -0
  185. package/dist/cjs/icons/QuestionMarkCircleIcon.js +5 -0
  186. package/dist/cjs/icons/RightChevronIcon.d.ts +2 -0
  187. package/dist/cjs/icons/RightChevronIcon.d.ts.map +1 -0
  188. package/dist/cjs/icons/RightChevronIcon.js +7 -0
  189. package/dist/cjs/icons/XMarkIcon.d.ts +0 -1
  190. package/dist/cjs/icons/XMarkIcon.d.ts.map +1 -1
  191. package/dist/cjs/icons/XMarkIcon.js +1 -1
  192. package/dist/cjs/index.d.ts +2 -3
  193. package/dist/cjs/index.d.ts.map +1 -1
  194. package/dist/cjs/index.js +6 -7
  195. package/dist/cjs/modals/CodePreview.d.ts +6 -0
  196. package/dist/cjs/modals/CodePreview.d.ts.map +1 -0
  197. package/dist/cjs/modals/CodePreview.js +151 -0
  198. package/dist/cjs/modals/EditEnvironmentModal.d.ts +15 -0
  199. package/dist/cjs/modals/EditEnvironmentModal.d.ts.map +1 -0
  200. package/dist/cjs/modals/EditEnvironmentModal.js +551 -0
  201. package/dist/cjs/modals/EditFiltersModal.d.ts +14 -10
  202. package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -1
  203. package/dist/cjs/modals/EditFiltersModal.js +1220 -254
  204. package/dist/cjs/modals/NewDashboardModal.d.ts +6 -8
  205. package/dist/cjs/modals/NewDashboardModal.d.ts.map +1 -1
  206. package/dist/cjs/modals/NewDashboardModal.js +147 -146
  207. package/dist/cjs/modals/PromoteDashboardModal.d.ts +16 -0
  208. package/dist/cjs/modals/PromoteDashboardModal.d.ts.map +1 -0
  209. package/dist/cjs/modals/PromoteDashboardModal.js +56 -0
  210. package/dist/cjs/modals/PromoteReportModal.d.ts +15 -0
  211. package/dist/cjs/modals/PromoteReportModal.d.ts.map +1 -0
  212. package/dist/cjs/modals/PromoteReportModal.js +128 -0
  213. package/dist/cjs/modals/PromoteViewModal.d.ts +5 -4
  214. package/dist/cjs/modals/PromoteViewModal.d.ts.map +1 -1
  215. package/dist/cjs/modals/PromoteViewModal.js +65 -91
  216. package/dist/cjs/modals/ReorderDashboardModal.d.ts +1 -2
  217. package/dist/cjs/modals/ReorderDashboardModal.d.ts.map +1 -1
  218. package/dist/cjs/modals/ReorderDashboardModal.js +34 -20
  219. package/dist/cjs/modals/SavedQueriesModal.d.ts +7 -0
  220. package/dist/cjs/modals/SavedQueriesModal.d.ts.map +1 -0
  221. package/dist/cjs/modals/SavedQueriesModal.js +128 -0
  222. package/dist/cjs/modals/index.d.ts +0 -1
  223. package/dist/cjs/modals/index.d.ts.map +1 -1
  224. package/dist/cjs/modals/index.js +1 -3
  225. package/dist/cjs/primitives/ButtonPrimitive.d.ts +3 -1
  226. package/dist/cjs/primitives/ButtonPrimitive.d.ts.map +1 -1
  227. package/dist/cjs/primitives/ButtonPrimitive.js +24 -16
  228. package/dist/cjs/primitives/CheckboxPrimitive.d.ts +12 -0
  229. package/dist/cjs/primitives/CheckboxPrimitive.d.ts.map +1 -0
  230. package/dist/cjs/primitives/CheckboxPrimitive.js +29 -0
  231. package/dist/cjs/primitives/HeaderPrimitive.d.ts.map +1 -1
  232. package/dist/cjs/primitives/HeaderPrimitive.js +1 -1
  233. package/dist/cjs/primitives/MiniButtonPrimitive.d.ts +7 -0
  234. package/dist/cjs/primitives/MiniButtonPrimitive.d.ts.map +1 -0
  235. package/dist/cjs/primitives/MiniButtonPrimitive.js +56 -0
  236. package/dist/cjs/primitives/ModalPrimitive.d.ts +2 -10
  237. package/dist/cjs/primitives/ModalPrimitive.d.ts.map +1 -1
  238. package/dist/cjs/primitives/ModalPrimitive.js +6 -6
  239. package/dist/cjs/primitives/PlaceholderPrimitive.d.ts +5 -0
  240. package/dist/cjs/primitives/PlaceholderPrimitive.d.ts.map +1 -0
  241. package/dist/cjs/primitives/PlaceholderPrimitive.js +18 -0
  242. package/dist/cjs/primitives/PopoverPrimitive.d.ts +8 -0
  243. package/dist/cjs/primitives/PopoverPrimitive.d.ts.map +1 -0
  244. package/dist/cjs/primitives/PopoverPrimitive.js +53 -0
  245. package/dist/cjs/primitives/SecondaryButtonPrimitive.d.ts +3 -1
  246. package/dist/cjs/primitives/SecondaryButtonPrimitive.d.ts.map +1 -1
  247. package/dist/cjs/primitives/SecondaryButtonPrimitive.js +13 -10
  248. package/dist/cjs/primitives/TextInputPrimitive.d.ts +8 -2
  249. package/dist/cjs/primitives/TextInputPrimitive.d.ts.map +1 -1
  250. package/dist/cjs/primitives/TextInputPrimitive.js +131 -21
  251. package/dist/cjs/primitives/TogglePrimitive.d.ts +6 -3
  252. package/dist/cjs/primitives/TogglePrimitive.d.ts.map +1 -1
  253. package/dist/cjs/primitives/TogglePrimitive.js +10 -7
  254. package/dist/cjs/primitives/index.d.ts +1 -1
  255. package/dist/cjs/primitives/index.d.ts.map +1 -1
  256. package/dist/cjs/primitives/index.js +3 -3
  257. package/dist/cjs/public_components/ChartQueryBuilder.d.ts +9 -0
  258. package/dist/cjs/public_components/ChartQueryBuilder.d.ts.map +1 -0
  259. package/dist/cjs/public_components/ChartQueryBuilder.js +131 -0
  260. package/dist/cjs/public_components/CreateEnvironment.d.ts +2 -1
  261. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  262. package/dist/cjs/public_components/CreateEnvironment.js +168 -78
  263. package/dist/cjs/public_components/DashboardManager.d.ts +2 -2
  264. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  265. package/dist/cjs/public_components/DashboardManager.js +354 -196
  266. package/dist/cjs/public_components/EnvSelectPopover.d.ts +12 -0
  267. package/dist/cjs/public_components/EnvSelectPopover.d.ts.map +1 -0
  268. package/dist/cjs/public_components/EnvSelectPopover.js +144 -0
  269. package/dist/cjs/public_components/VirtualTableManager.d.ts +7 -0
  270. package/dist/cjs/public_components/VirtualTableManager.d.ts.map +1 -0
  271. package/dist/cjs/public_components/VirtualTableManager.js +731 -0
  272. package/dist/cjs/public_components/__tests__/CreateEnvironment.test.d.ts +2 -0
  273. package/dist/cjs/public_components/__tests__/CreateEnvironment.test.d.ts.map +1 -0
  274. package/dist/cjs/public_components/__tests__/CreateEnvironment.test.js +685 -0
  275. package/dist/cjs/utils/astProcessing.d.ts +15 -0
  276. package/dist/cjs/utils/astProcessing.d.ts.map +1 -0
  277. package/dist/cjs/utils/astProcessing.js +105 -0
  278. package/dist/cjs/utils/astProcessing.uspec.d.ts +2 -0
  279. package/dist/cjs/utils/astProcessing.uspec.d.ts.map +1 -0
  280. package/dist/cjs/utils/astProcessing.uspec.js +30 -0
  281. package/dist/cjs/utils/columnProcessing.d.ts +15 -0
  282. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -0
  283. package/dist/cjs/utils/columnProcessing.js +208 -0
  284. package/dist/cjs/utils/constants.d.ts +4 -21
  285. package/dist/cjs/utils/constants.d.ts.map +1 -1
  286. package/dist/cjs/utils/constants.js +20 -11
  287. package/dist/cjs/utils/dataEditor.d.ts +4 -3
  288. package/dist/cjs/utils/dataEditor.d.ts.map +1 -1
  289. package/dist/cjs/utils/dataEditor.js +69 -119
  290. package/dist/cjs/utils/dataFetcher.d.ts +20 -2
  291. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  292. package/dist/cjs/utils/dataFetcher.js +46 -56
  293. package/dist/cjs/utils/databases.d.ts +20 -9
  294. package/dist/cjs/utils/databases.d.ts.map +1 -1
  295. package/dist/cjs/utils/databases.js +66 -28
  296. package/dist/cjs/utils/filter.d.ts +222 -0
  297. package/dist/cjs/utils/filter.d.ts.map +1 -0
  298. package/dist/cjs/utils/filter.js +347 -0
  299. package/dist/cjs/utils/monacoAutocomplete.d.ts +22 -0
  300. package/dist/cjs/utils/monacoAutocomplete.d.ts.map +1 -0
  301. package/dist/cjs/utils/monacoAutocomplete.js +355 -0
  302. package/dist/cjs/utils/report.d.ts +120 -0
  303. package/dist/cjs/utils/report.d.ts.map +1 -0
  304. package/dist/cjs/utils/report.js +109 -0
  305. package/dist/cjs/utils/schema.d.ts +43 -26
  306. package/dist/cjs/utils/schema.d.ts.map +1 -1
  307. package/dist/cjs/utils/schema.js +175 -0
  308. package/dist/cjs/utils/table.d.ts +70 -4
  309. package/dist/cjs/utils/table.d.ts.map +1 -1
  310. package/dist/cjs/utils/tenants.d.ts +48 -0
  311. package/dist/cjs/utils/tenants.d.ts.map +1 -0
  312. package/dist/cjs/utils/tenants.js +37 -0
  313. package/dist/cjs/utils/textProcessing.js +1 -2
  314. package/dist/cjs/utils/ui.d.ts +2 -0
  315. package/dist/cjs/utils/ui.d.ts.map +1 -0
  316. package/dist/cjs/utils/ui.js +18 -0
  317. package/dist/cjs/utils/validation.d.ts +2 -0
  318. package/dist/cjs/utils/validation.d.ts.map +1 -0
  319. package/dist/cjs/utils/validation.js +77 -0
  320. package/dist/cjs/utils/validation.uspec.d.ts +2 -0
  321. package/dist/cjs/utils/validation.uspec.d.ts.map +1 -0
  322. package/dist/cjs/utils/validation.uspec.js +53 -0
  323. package/dist/esm/Admin.d.ts +41 -87
  324. package/dist/esm/Admin.d.ts.map +1 -1
  325. package/dist/esm/Admin.js +355 -409
  326. package/dist/esm/AdminProvider.d.ts +108 -49
  327. package/dist/esm/AdminProvider.d.ts.map +1 -1
  328. package/dist/esm/AdminProvider.js +391 -221
  329. package/dist/esm/api/ConnectionClient.d.ts +20 -30
  330. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  331. package/dist/esm/api/ConnectionClient.js +303 -295
  332. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  333. package/dist/esm/components/Banner/index.d.ts +0 -1
  334. package/dist/esm/components/Banner/index.d.ts.map +1 -1
  335. package/dist/esm/components/ClipboardButton.d.ts +8 -0
  336. package/dist/esm/components/ClipboardButton.d.ts.map +1 -0
  337. package/dist/esm/components/ClipboardButton.js +69 -0
  338. package/dist/esm/components/DashboardSelectPopover.d.ts +8 -5
  339. package/dist/esm/components/DashboardSelectPopover.d.ts.map +1 -1
  340. package/dist/esm/components/DashboardSelectPopover.js +72 -169
  341. package/dist/esm/components/DatabaseMismatchCard.d.ts +3 -3
  342. package/dist/esm/components/DatabaseMismatchCard.d.ts.map +1 -1
  343. package/dist/esm/components/DatabaseMismatchCard.js +2 -2
  344. package/dist/esm/components/DatabaseSelector.d.ts.map +1 -1
  345. package/dist/esm/components/DatabaseSelector.js +9 -1
  346. package/dist/esm/components/DateRangePicker/SingleDatePicker.d.ts +10 -0
  347. package/dist/esm/components/DateRangePicker/SingleDatePicker.d.ts.map +1 -0
  348. package/dist/esm/components/DateRangePicker/SingleDatePicker.js +227 -0
  349. package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.d.ts +18 -0
  350. package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.d.ts.map +1 -0
  351. package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.js +282 -0
  352. package/dist/esm/components/DateRangePicker/dateRangePickerUtils.d.ts +91 -0
  353. package/dist/esm/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -0
  354. package/dist/esm/components/DateRangePicker/dateRangePickerUtils.js +883 -0
  355. package/dist/esm/components/DeleteButton.d.ts +0 -1
  356. package/dist/esm/components/DeleteButton.d.ts.map +1 -1
  357. package/dist/esm/components/DropDownMenuWithLabel.d.ts +4 -3
  358. package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
  359. package/dist/esm/components/DropDownMenuWithLabel.js +36 -53
  360. package/dist/esm/components/DynamicBanner.d.ts +2 -5
  361. package/dist/esm/components/DynamicBanner.d.ts.map +1 -1
  362. package/dist/esm/components/DynamicBanner.js +2 -2
  363. package/dist/esm/components/EmptyDashboardComponent/index.d.ts +0 -1
  364. package/dist/esm/components/EmptyDashboardComponent/index.d.ts.map +1 -1
  365. package/dist/esm/components/EmptyDashboardComponent/index.js +13 -10
  366. package/dist/esm/components/EmptyVirtualTablesComponent.d.ts +4 -0
  367. package/dist/esm/components/EmptyVirtualTablesComponent.d.ts.map +1 -0
  368. package/dist/esm/components/EmptyVirtualTablesComponent.js +38 -0
  369. package/dist/esm/components/ExternalLink.d.ts +4 -0
  370. package/dist/esm/components/ExternalLink.d.ts.map +1 -0
  371. package/dist/esm/components/ExternalLink.js +9 -0
  372. package/dist/esm/components/FormTooltip.d.ts +8 -0
  373. package/dist/esm/components/FormTooltip.d.ts.map +1 -0
  374. package/dist/esm/components/FormTooltip.js +84 -0
  375. package/dist/esm/components/InputLabel.d.ts +4 -1
  376. package/dist/esm/components/InputLabel.d.ts.map +1 -1
  377. package/dist/esm/components/InputLabel.js +10 -8
  378. package/dist/esm/components/InternalDashboard/ChartSkeleton.d.ts +11 -0
  379. package/dist/esm/components/InternalDashboard/ChartSkeleton.d.ts.map +1 -0
  380. package/dist/esm/components/InternalDashboard/ChartSkeleton.js +16 -0
  381. package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts +20 -0
  382. package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts.map +1 -0
  383. package/dist/esm/components/InternalDashboard/DashboardFilter.js +101 -0
  384. package/dist/esm/components/InternalDashboard/DashboardLoadingComponent.d.ts +7 -0
  385. package/dist/esm/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -0
  386. package/dist/esm/components/InternalDashboard/DashboardLoadingComponent.js +15 -0
  387. package/dist/esm/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.d.ts +37 -0
  388. package/dist/esm/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -0
  389. package/dist/esm/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +269 -0
  390. package/dist/esm/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts +85 -0
  391. package/dist/esm/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -0
  392. package/dist/esm/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.js +520 -0
  393. package/dist/esm/components/InternalDashboard/InternalDashboard.d.ts +17 -0
  394. package/dist/esm/components/InternalDashboard/InternalDashboard.d.ts.map +1 -0
  395. package/dist/esm/components/InternalDashboard/InternalDashboard.js +1940 -0
  396. package/dist/esm/components/OrgSelect.d.ts +9 -13
  397. package/dist/esm/components/OrgSelect.d.ts.map +1 -1
  398. package/dist/esm/components/OrgSelect.js +134 -117
  399. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +30 -0
  400. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -0
  401. package/dist/esm/components/QuillMultiSelectWithCombo.js +466 -0
  402. package/dist/esm/components/QuillPopover.d.ts +11 -0
  403. package/dist/esm/components/QuillPopover.d.ts.map +1 -0
  404. package/dist/esm/components/QuillPopover.js +144 -0
  405. package/dist/esm/components/QuillSelect.d.ts +1 -1
  406. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  407. package/dist/esm/components/QuillSelect.js +39 -16
  408. package/dist/esm/components/QuillSelectWithCombo.d.ts +22 -0
  409. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -0
  410. package/dist/esm/components/QuillSelectWithCombo.js +291 -0
  411. package/dist/esm/components/QuillTab.d.ts +12 -0
  412. package/dist/esm/components/QuillTab.d.ts.map +1 -0
  413. package/dist/esm/components/QuillTab.js +81 -0
  414. package/dist/esm/components/QuillToolTipPortal.d.ts +11 -0
  415. package/dist/esm/components/QuillToolTipPortal.d.ts.map +1 -0
  416. package/dist/esm/components/QuillToolTipPortal.js +104 -0
  417. package/dist/esm/components/SegmentedControl.d.ts +10 -2
  418. package/dist/esm/components/SegmentedControl.d.ts.map +1 -1
  419. package/dist/esm/components/SegmentedControl.js +26 -20
  420. package/dist/esm/components/SqlTextEditor.d.ts +6 -1
  421. package/dist/esm/components/SqlTextEditor.d.ts.map +1 -1
  422. package/dist/esm/components/SqlTextEditor.js +60 -11
  423. package/dist/esm/components/StepDisplay.d.ts.map +1 -1
  424. package/dist/esm/components/StepDisplay.js +1 -1
  425. package/dist/esm/components/Tenants/EditTenant.d.ts +41 -0
  426. package/dist/esm/components/Tenants/EditTenant.d.ts.map +1 -0
  427. package/dist/esm/components/Tenants/EditTenant.js +754 -0
  428. package/dist/esm/components/UiComponents.d.ts +35 -6
  429. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  430. package/dist/esm/components/UiComponents.js +231 -28
  431. package/dist/esm/components/VirtualTableTile.d.ts +7 -0
  432. package/dist/esm/components/VirtualTableTile.d.ts.map +1 -0
  433. package/dist/esm/components/VirtualTableTile.js +48 -0
  434. package/dist/esm/components/index.d.ts +5 -5
  435. package/dist/esm/components/index.d.ts.map +1 -1
  436. package/dist/esm/components/index.js +5 -5
  437. package/dist/esm/constants/dataTypes.d.ts +2 -0
  438. package/dist/esm/constants/dataTypes.d.ts.map +1 -0
  439. package/dist/esm/constants/dataTypes.js +20 -0
  440. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts +15 -6
  441. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  442. package/dist/esm/forms/client_onboard/ConnectDatabase.js +216 -111
  443. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +13 -9
  444. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  445. package/dist/esm/forms/client_onboard/ConnectSchema.js +160 -238
  446. package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts +47 -0
  447. package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -0
  448. package/dist/esm/forms/client_onboard/CreateVirtualTables.js +388 -0
  449. package/dist/esm/forms/client_onboard/__tests__/ConnectDatabase.test.d.ts +2 -0
  450. package/dist/esm/forms/client_onboard/__tests__/ConnectDatabase.test.d.ts.map +1 -0
  451. package/dist/esm/forms/client_onboard/__tests__/ConnectDatabase.test.js +566 -0
  452. package/dist/esm/forms/client_onboard/__tests__/ConnectSchema.test.d.ts +2 -0
  453. package/dist/esm/forms/client_onboard/__tests__/ConnectSchema.test.d.ts.map +1 -0
  454. package/dist/esm/forms/client_onboard/__tests__/ConnectSchema.test.js +454 -0
  455. package/dist/esm/forms/client_onboard/__tests__/CreateVirtualTables.test.d.ts +2 -0
  456. package/dist/esm/forms/client_onboard/__tests__/CreateVirtualTables.test.d.ts.map +1 -0
  457. package/dist/esm/forms/client_onboard/__tests__/CreateVirtualTables.test.js +380 -0
  458. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.d.ts +20 -0
  459. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -0
  460. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.js +288 -0
  461. package/dist/esm/hooks/useDashboardManager.d.ts +16 -0
  462. package/dist/esm/hooks/useDashboardManager.d.ts.map +1 -0
  463. package/dist/esm/hooks/useDashboardManager.js +109 -0
  464. package/dist/esm/hooks/useDatabaseSchema.d.ts +5 -0
  465. package/dist/esm/hooks/useDatabaseSchema.d.ts.map +1 -0
  466. package/dist/esm/hooks/useDatabaseSchema.js +50 -0
  467. package/dist/esm/hooks/useItemBeingEdited.d.ts +1 -2
  468. package/dist/esm/hooks/useItemBeingEdited.d.ts.map +1 -1
  469. package/dist/esm/hooks/useItemBeingEdited.js +3 -15
  470. package/dist/esm/hooks/useOnClickOutside.d.ts +4 -1
  471. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
  472. package/dist/esm/hooks/useOnClickOutside.js +49 -8
  473. package/dist/esm/hooks/useTenants.d.ts +13 -0
  474. package/dist/esm/hooks/useTenants.d.ts.map +1 -0
  475. package/dist/esm/hooks/useTenants.js +170 -0
  476. package/dist/esm/hooks/useThrottle.d.ts +2 -0
  477. package/dist/esm/hooks/useThrottle.d.ts.map +1 -0
  478. package/dist/esm/hooks/useThrottle.js +11 -0
  479. package/dist/esm/icons/CheckCircleIcon.d.ts +5 -0
  480. package/dist/esm/icons/CheckCircleIcon.d.ts.map +1 -0
  481. package/dist/esm/icons/CheckCircleIcon.js +3 -0
  482. package/dist/esm/icons/DownChevronIcon.d.ts +2 -0
  483. package/dist/esm/icons/DownChevronIcon.d.ts.map +1 -0
  484. package/dist/esm/icons/DownChevronIcon.js +4 -0
  485. package/dist/esm/icons/ExclamationFilledIcon.d.ts +5 -0
  486. package/dist/esm/icons/ExclamationFilledIcon.d.ts.map +1 -0
  487. package/dist/esm/icons/ExclamationFilledIcon.js +3 -0
  488. package/dist/esm/icons/ExteriorLinkIcon.d.ts +5 -0
  489. package/dist/esm/icons/ExteriorLinkIcon.d.ts.map +1 -0
  490. package/dist/esm/icons/ExteriorLinkIcon.js +3 -0
  491. package/dist/esm/icons/GlobeIcon.d.ts +5 -0
  492. package/dist/esm/icons/GlobeIcon.d.ts.map +1 -0
  493. package/dist/esm/icons/GlobeIcon.js +12 -0
  494. package/dist/esm/icons/InformationCircleIcon.d.ts +4 -0
  495. package/dist/esm/icons/InformationCircleIcon.d.ts.map +1 -0
  496. package/dist/esm/icons/InformationCircleIcon.js +4 -0
  497. package/dist/esm/icons/LeftChevronIcon.d.ts +2 -0
  498. package/dist/esm/icons/LeftChevronIcon.d.ts.map +1 -0
  499. package/dist/esm/icons/LeftChevronIcon.js +4 -0
  500. package/dist/esm/icons/QuestionMarkCircleIcon.d.ts +5 -0
  501. package/dist/esm/icons/QuestionMarkCircleIcon.d.ts.map +1 -0
  502. package/dist/esm/icons/QuestionMarkCircleIcon.js +3 -0
  503. package/dist/esm/icons/RightChevronIcon.d.ts +2 -0
  504. package/dist/esm/icons/RightChevronIcon.d.ts.map +1 -0
  505. package/dist/esm/icons/RightChevronIcon.js +4 -0
  506. package/dist/esm/icons/XMarkIcon.d.ts +0 -1
  507. package/dist/esm/icons/XMarkIcon.d.ts.map +1 -1
  508. package/dist/esm/index.d.ts +2 -3
  509. package/dist/esm/index.d.ts.map +1 -1
  510. package/dist/esm/index.js +3 -3
  511. package/dist/esm/modals/CodePreview.d.ts +6 -0
  512. package/dist/esm/modals/CodePreview.d.ts.map +1 -0
  513. package/dist/esm/modals/CodePreview.js +145 -0
  514. package/dist/esm/modals/EditEnvironmentModal.d.ts +15 -0
  515. package/dist/esm/modals/EditEnvironmentModal.d.ts.map +1 -0
  516. package/dist/esm/modals/EditEnvironmentModal.js +545 -0
  517. package/dist/esm/modals/EditFiltersModal.d.ts +14 -10
  518. package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -1
  519. package/dist/esm/modals/EditFiltersModal.js +1227 -255
  520. package/dist/esm/modals/NewDashboardModal.d.ts +6 -8
  521. package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
  522. package/dist/esm/modals/NewDashboardModal.js +148 -146
  523. package/dist/esm/modals/PromoteDashboardModal.d.ts +16 -0
  524. package/dist/esm/modals/PromoteDashboardModal.d.ts.map +1 -0
  525. package/dist/esm/modals/PromoteDashboardModal.js +53 -0
  526. package/dist/esm/modals/PromoteReportModal.d.ts +15 -0
  527. package/dist/esm/modals/PromoteReportModal.d.ts.map +1 -0
  528. package/dist/esm/modals/PromoteReportModal.js +125 -0
  529. package/dist/esm/modals/PromoteViewModal.d.ts +5 -4
  530. package/dist/esm/modals/PromoteViewModal.d.ts.map +1 -1
  531. package/dist/esm/modals/PromoteViewModal.js +65 -91
  532. package/dist/esm/modals/ReorderDashboardModal.d.ts +1 -2
  533. package/dist/esm/modals/ReorderDashboardModal.d.ts.map +1 -1
  534. package/dist/esm/modals/ReorderDashboardModal.js +34 -20
  535. package/dist/esm/modals/SavedQueriesModal.d.ts +7 -0
  536. package/dist/esm/modals/SavedQueriesModal.d.ts.map +1 -0
  537. package/dist/esm/modals/SavedQueriesModal.js +125 -0
  538. package/dist/esm/modals/index.d.ts +0 -1
  539. package/dist/esm/modals/index.d.ts.map +1 -1
  540. package/dist/esm/modals/index.js +0 -1
  541. package/dist/esm/primitives/ButtonPrimitive.d.ts +3 -1
  542. package/dist/esm/primitives/ButtonPrimitive.d.ts.map +1 -1
  543. package/dist/esm/primitives/ButtonPrimitive.js +25 -17
  544. package/dist/esm/primitives/CheckboxPrimitive.d.ts +12 -0
  545. package/dist/esm/primitives/CheckboxPrimitive.d.ts.map +1 -0
  546. package/dist/esm/primitives/CheckboxPrimitive.js +27 -0
  547. package/dist/esm/primitives/HeaderPrimitive.d.ts.map +1 -1
  548. package/dist/esm/primitives/HeaderPrimitive.js +1 -1
  549. package/dist/esm/primitives/MiniButtonPrimitive.d.ts +7 -0
  550. package/dist/esm/primitives/MiniButtonPrimitive.d.ts.map +1 -0
  551. package/dist/esm/primitives/MiniButtonPrimitive.js +54 -0
  552. package/dist/esm/primitives/ModalPrimitive.d.ts +2 -10
  553. package/dist/esm/primitives/ModalPrimitive.d.ts.map +1 -1
  554. package/dist/esm/primitives/ModalPrimitive.js +7 -7
  555. package/dist/esm/primitives/PlaceholderPrimitive.d.ts +5 -0
  556. package/dist/esm/primitives/PlaceholderPrimitive.d.ts.map +1 -0
  557. package/dist/esm/primitives/PlaceholderPrimitive.js +15 -0
  558. package/dist/esm/primitives/PopoverPrimitive.d.ts +8 -0
  559. package/dist/esm/primitives/PopoverPrimitive.d.ts.map +1 -0
  560. package/dist/esm/primitives/PopoverPrimitive.js +49 -0
  561. package/dist/esm/primitives/SecondaryButtonPrimitive.d.ts +3 -1
  562. package/dist/esm/primitives/SecondaryButtonPrimitive.d.ts.map +1 -1
  563. package/dist/esm/primitives/SecondaryButtonPrimitive.js +14 -11
  564. package/dist/esm/primitives/TextInputPrimitive.d.ts +8 -2
  565. package/dist/esm/primitives/TextInputPrimitive.d.ts.map +1 -1
  566. package/dist/esm/primitives/TextInputPrimitive.js +100 -23
  567. package/dist/esm/primitives/TogglePrimitive.d.ts +6 -3
  568. package/dist/esm/primitives/TogglePrimitive.d.ts.map +1 -1
  569. package/dist/esm/primitives/TogglePrimitive.js +10 -7
  570. package/dist/esm/primitives/index.d.ts +1 -1
  571. package/dist/esm/primitives/index.d.ts.map +1 -1
  572. package/dist/esm/primitives/index.js +1 -1
  573. package/dist/esm/public_components/ChartQueryBuilder.d.ts +9 -0
  574. package/dist/esm/public_components/ChartQueryBuilder.d.ts.map +1 -0
  575. package/dist/esm/public_components/ChartQueryBuilder.js +125 -0
  576. package/dist/esm/public_components/CreateEnvironment.d.ts +2 -1
  577. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  578. package/dist/esm/public_components/CreateEnvironment.js +152 -72
  579. package/dist/esm/public_components/DashboardManager.d.ts +2 -2
  580. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  581. package/dist/esm/public_components/DashboardManager.js +358 -200
  582. package/dist/esm/public_components/EnvSelectPopover.d.ts +12 -0
  583. package/dist/esm/public_components/EnvSelectPopover.d.ts.map +1 -0
  584. package/dist/esm/public_components/EnvSelectPopover.js +138 -0
  585. package/dist/esm/public_components/VirtualTableManager.d.ts +7 -0
  586. package/dist/esm/public_components/VirtualTableManager.d.ts.map +1 -0
  587. package/dist/esm/public_components/VirtualTableManager.js +723 -0
  588. package/dist/esm/public_components/__tests__/CreateEnvironment.test.d.ts +2 -0
  589. package/dist/esm/public_components/__tests__/CreateEnvironment.test.d.ts.map +1 -0
  590. package/dist/esm/public_components/__tests__/CreateEnvironment.test.js +680 -0
  591. package/dist/esm/utils/astProcessing.d.ts +15 -0
  592. package/dist/esm/utils/astProcessing.d.ts.map +1 -0
  593. package/dist/esm/utils/astProcessing.js +98 -0
  594. package/dist/esm/utils/astProcessing.uspec.d.ts +2 -0
  595. package/dist/esm/utils/astProcessing.uspec.d.ts.map +1 -0
  596. package/dist/esm/utils/astProcessing.uspec.js +28 -0
  597. package/dist/esm/utils/columnProcessing.d.ts +15 -0
  598. package/dist/esm/utils/columnProcessing.d.ts.map +1 -0
  599. package/dist/esm/utils/columnProcessing.js +200 -0
  600. package/dist/esm/utils/constants.d.ts +4 -21
  601. package/dist/esm/utils/constants.d.ts.map +1 -1
  602. package/dist/esm/utils/constants.js +18 -9
  603. package/dist/esm/utils/dataEditor.d.ts +4 -3
  604. package/dist/esm/utils/dataEditor.d.ts.map +1 -1
  605. package/dist/esm/utils/dataEditor.js +65 -115
  606. package/dist/esm/utils/dataFetcher.d.ts +20 -2
  607. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  608. package/dist/esm/utils/dataFetcher.js +44 -53
  609. package/dist/esm/utils/databases.d.ts +20 -9
  610. package/dist/esm/utils/databases.d.ts.map +1 -1
  611. package/dist/esm/utils/databases.js +63 -25
  612. package/dist/esm/utils/filter.d.ts +222 -0
  613. package/dist/esm/utils/filter.d.ts.map +1 -0
  614. package/dist/esm/utils/filter.js +343 -0
  615. package/dist/esm/utils/monacoAutocomplete.d.ts +22 -0
  616. package/dist/esm/utils/monacoAutocomplete.d.ts.map +1 -0
  617. package/dist/esm/utils/monacoAutocomplete.js +350 -0
  618. package/dist/esm/utils/report.d.ts +120 -0
  619. package/dist/esm/utils/report.d.ts.map +1 -0
  620. package/dist/esm/utils/report.js +106 -0
  621. package/dist/esm/utils/schema.d.ts +43 -26
  622. package/dist/esm/utils/schema.d.ts.map +1 -1
  623. package/dist/esm/utils/schema.js +171 -1
  624. package/dist/esm/utils/table.d.ts +70 -4
  625. package/dist/esm/utils/table.d.ts.map +1 -1
  626. package/dist/esm/utils/tenants.d.ts +48 -0
  627. package/dist/esm/utils/tenants.d.ts.map +1 -0
  628. package/dist/esm/utils/tenants.js +31 -0
  629. package/dist/esm/utils/ui.d.ts +2 -0
  630. package/dist/esm/utils/ui.d.ts.map +1 -0
  631. package/dist/esm/utils/ui.js +14 -0
  632. package/dist/esm/utils/validation.d.ts +2 -0
  633. package/dist/esm/utils/validation.d.ts.map +1 -0
  634. package/dist/esm/utils/validation.js +74 -0
  635. package/dist/esm/utils/validation.uspec.d.ts +2 -0
  636. package/dist/esm/utils/validation.uspec.d.ts.map +1 -0
  637. package/dist/esm/utils/validation.uspec.js +51 -0
  638. package/package.json +22 -8
  639. package/dist/cjs/components/EnvSelectPopover.d.ts +0 -13
  640. package/dist/cjs/components/EnvSelectPopover.d.ts.map +0 -1
  641. package/dist/cjs/components/EnvSelectPopover.js +0 -224
  642. package/dist/cjs/components/SqlViewTile.d.ts +0 -8
  643. package/dist/cjs/components/SqlViewTile.d.ts.map +0 -1
  644. package/dist/cjs/components/SqlViewTile.js +0 -69
  645. package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts +0 -24
  646. package/dist/cjs/forms/client_onboard/CreateSqlViews.d.ts.map +0 -1
  647. package/dist/cjs/forms/client_onboard/CreateSqlViews.js +0 -237
  648. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts +0 -26
  649. package/dist/cjs/forms/sql_views/CreateEditSqlView.d.ts.map +0 -1
  650. package/dist/cjs/forms/sql_views/CreateEditSqlView.js +0 -177
  651. package/dist/cjs/modals/PromoteDashModal.d.ts +0 -17
  652. package/dist/cjs/modals/PromoteDashModal.d.ts.map +0 -1
  653. package/dist/cjs/modals/PromoteDashModal.js +0 -133
  654. package/dist/cjs/primitives/SelectPrimitive.d.ts +0 -16
  655. package/dist/cjs/primitives/SelectPrimitive.d.ts.map +0 -1
  656. package/dist/cjs/primitives/SelectPrimitive.js +0 -43
  657. package/dist/cjs/public_components/DashboardBuilder.d.ts +0 -7
  658. package/dist/cjs/public_components/DashboardBuilder.d.ts.map +0 -1
  659. package/dist/cjs/public_components/DashboardBuilder.js +0 -309
  660. package/dist/cjs/public_components/SQLViewManager.d.ts +0 -5
  661. package/dist/cjs/public_components/SQLViewManager.d.ts.map +0 -1
  662. package/dist/cjs/public_components/SQLViewManager.js +0 -387
  663. package/dist/esm/components/EnvSelectPopover.d.ts +0 -13
  664. package/dist/esm/components/EnvSelectPopover.d.ts.map +0 -1
  665. package/dist/esm/components/EnvSelectPopover.js +0 -221
  666. package/dist/esm/components/SqlViewTile.d.ts +0 -8
  667. package/dist/esm/components/SqlViewTile.d.ts.map +0 -1
  668. package/dist/esm/components/SqlViewTile.js +0 -40
  669. package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts +0 -24
  670. package/dist/esm/forms/client_onboard/CreateSqlViews.d.ts.map +0 -1
  671. package/dist/esm/forms/client_onboard/CreateSqlViews.js +0 -229
  672. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts +0 -26
  673. package/dist/esm/forms/sql_views/CreateEditSqlView.d.ts.map +0 -1
  674. package/dist/esm/forms/sql_views/CreateEditSqlView.js +0 -171
  675. package/dist/esm/modals/PromoteDashModal.d.ts +0 -17
  676. package/dist/esm/modals/PromoteDashModal.d.ts.map +0 -1
  677. package/dist/esm/modals/PromoteDashModal.js +0 -130
  678. package/dist/esm/primitives/SelectPrimitive.d.ts +0 -16
  679. package/dist/esm/primitives/SelectPrimitive.d.ts.map +0 -1
  680. package/dist/esm/primitives/SelectPrimitive.js +0 -41
  681. package/dist/esm/public_components/DashboardBuilder.d.ts +0 -7
  682. package/dist/esm/public_components/DashboardBuilder.d.ts.map +0 -1
  683. package/dist/esm/public_components/DashboardBuilder.js +0 -303
  684. package/dist/esm/public_components/SQLViewManager.d.ts +0 -5
  685. package/dist/esm/public_components/SQLViewManager.d.ts.map +0 -1
  686. package/dist/esm/public_components/SQLViewManager.js +0 -381
@@ -1,152 +1,196 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useEffect, useRef, useState } from 'react';
2
+ import { useCallback, useEffect, useRef, useState } from 'react';
3
3
  import { useAdmin } from '../AdminProvider';
4
4
  import { OrgSelect, EnvSelectPopover, DashboardSelectPopover, } from '../components';
5
- import { PromoteDashModal, ReorderDashboardModal } from '../modals';
6
- import { Dashboard, useDashboard } from '@quillsql/react';
7
- import { ReportWrapper } from '../Admin';
8
- import { ButtonPrimitive, HeaderPrimitive, ModalPrimitive, SecondaryButtonPrimitive, SelectPrimitive, TextInputPrimitive, } from '../primitives';
5
+ import { useDashboard, useDashboards } from '@quillsql/react';
6
+ import { deleteReport, ReportWrapper } from '../Admin';
7
+ import { ButtonPrimitive, HeaderPrimitive, ModalPrimitive, SecondaryButtonPrimitive, TextInputPrimitive, CheckboxPrimitive, } from '../primitives';
9
8
  import { NewDashboardModal } from '../modals/NewDashboardModal';
10
- import { QUILL_SERVER } from '../utils/constants';
11
- import EmptyDashboardComponent from '../components/EmptyDashboardComponent';
12
9
  import DatabaseMismatchCard from '../components/DatabaseMismatchCard';
13
- import { MemoizedModal } from '../components/UiComponents';
10
+ import { MemoizedButton, MemoizedModal, QuillErrorMessageComponent, } from '../components/UiComponents';
14
11
  import { QuillSelectComponent } from '../components/QuillSelect';
15
12
  import { EditFiltersModal } from '../modals/EditFiltersModal';
16
- export default function DashboardManager({ navigateToDashboardBuilder, containerStyle, }) {
17
- const { state, dispatch } = useAdmin();
13
+ import ChartQueryBuilder from './ChartQueryBuilder';
14
+ import { EditEnvironmentModal } from '../modals/EditEnvironmentModal';
15
+ import { PromoteDashboardModal } from '../modals/PromoteDashboardModal';
16
+ import { SAVED_QUERIES_DASHBOARD } from '../utils/constants';
17
+ import { QuillSelectComponentWithCombo } from '../components/QuillSelectWithCombo';
18
+ import { useDashboardManager } from '../hooks/useDashboardManager';
19
+ import equal from 'fast-deep-equal';
20
+ import { Popover } from '../primitives/PopoverPrimitive';
21
+ import CodePreview from '../modals/CodePreview';
22
+ import SavedQueriesModal from '../modals/SavedQueriesModal';
23
+ import { InternalDashboard } from '../components/InternalDashboard/InternalDashboard';
24
+ export default function DashboardManager({ navigateToVirtualTableManager: navigateToVirtualTableManager, containerStyle, }) {
25
+ const { state, dispatch, clientLoading, setClient, getToken, quillFetchWithToken, } = useAdmin();
18
26
  const parentRef = useRef(null);
19
- const [initialLoad, setInitialLoad] = useState(true);
20
- const [dashboards, setDashboards] = useState([]);
21
- const [reloadFlag, setReloadFlag] = useState(false);
22
- const [selectedReorderDashboard, setSelectedReorderDashboard] = useState('');
27
+ const envSelectPopoverRef = useRef(null);
28
+ const dashboardSelectPopoverRef = useRef(null);
29
+ // const [selectedReorderDashboard, setSelectedReorderDashboard] = useState('');
23
30
  const [newDashboardModalIsOpen, setNewDashboardModalIsOpen] = useState(false);
24
31
  const [editFilterModalIsOpen, setEditFilterModalIsOpen] = useState(false);
25
- const { reload: reloadDashboard } = useDashboard(state.selectedDashboard?.name);
26
- const [isReorderDashboardModalOpen, setIsReorderDashboardModalOpen] = useState(false);
27
- const [dashboardData, setDashboardData] = useState(null);
28
- const [isPromoteDashModalOpen, setIsPromoteDashModalOpen] = useState(false);
29
- // A useless flag that just turns itself off.
32
+ const [promoteModalIsOpen, setPromoteModalIsOpen] = useState(false);
33
+ const [editEnvironmentModalIsOpen, setEditEnvironmentModalIsOpen] = useState(false);
34
+ //FIXME: we don't want to lift up this state
35
+ const [userFilters, setUserFilters] = useState([]);
36
+ const { data: dashboardConfig, reload: reloadDashboard } = useDashboard(state.selectedDashboard, userFilters);
37
+ const { dashboards, isLoading: dashboardsLoading } = useDashboards();
38
+ const { setSelectedDashboard } = useDashboardManager();
39
+ // const [editMode, setEditMode] = useState(true);
40
+ const [autoPromoteVirtualTables, setAutoPromoteVirtualTables] = useState(true);
30
41
  useEffect(() => {
31
- if (reloadFlag) {
32
- setReloadFlag(false);
33
- }
34
- }, [reloadFlag]);
35
- async function getDashNames(dashboardName) {
36
- const response = await fetch(`${state.queryEndpoint}`, {
37
- method: 'POST',
38
- headers: {
39
- ...state.queryHeaders,
40
- 'Content-Type': 'application/json',
41
- },
42
- body: JSON.stringify({
43
- metadata: {
44
- clientId: state.client._id,
45
- publicKey: state.client._id,
46
- task: 'dashboards',
47
- databaseType: state.client.databaseType,
48
- },
49
- }),
50
- });
51
- // If you need to retrieve the JSON data from the response:
52
- const data = await response.json();
53
- setInitialLoad(false);
54
- if (!data.data.dashboardNames || !data.data.dashboardNames.length) {
55
- dispatch({ type: 'SET_DASHBOARDS', payload: [] });
56
- return;
57
- }
58
- let selectedDashboard = data.data.dashboards.find((dash) => {
59
- return dash.name === dashboardName;
60
- });
61
- if (!selectedDashboard) {
62
- selectedDashboard = data.data.dashboards[0];
63
- }
64
- dispatch({ type: 'SET_DASHBOARDS', payload: data.data.dashboards });
65
- dispatch({
66
- type: 'SET_SELECTED_DASHBOARD',
67
- payload: selectedDashboard,
68
- });
69
- }
70
- useEffect(() => {
71
- if (navigateToDashboardBuilder) {
42
+ if (navigateToVirtualTableManager) {
72
43
  dispatch({
73
- type: 'SET_NAVIGATE_TO_DASHBOARD_BUILDER',
74
- payload: navigateToDashboardBuilder,
44
+ type: 'SET_NAVIGATE_TO_VIRTUAL_TABLE_BUILDER',
45
+ payload: navigateToVirtualTableManager,
75
46
  });
76
47
  }
77
48
  else {
78
49
  console.warn('navigateToDashboardBuilder is not defined');
79
50
  }
80
51
  }, []);
81
- useEffect(() => {
82
- let isSubscribed = true;
83
- if (isSubscribed) {
84
- getDashNames(state.selectedDashboard?.name || '');
85
- }
86
- return () => {
87
- isSubscribed = false;
88
- };
89
- }, [state.environment, state.client]);
90
- // MMTODO: Idk if this is needed
91
- // const handleSetOrganization = (org) => {
92
- // setOrganization(null);
93
- // setTimeout(() => setOrganization(org), 50);
94
- // };
95
- // MMTODO: Not sure if this actually does anything
96
- useEffect(() => {
97
- async function getDashboardData(dashboard, setData) {
98
- let responseData;
99
- if (state.queryEndpoint) {
100
- const response = await fetch(state.queryEndpoint, {
101
- method: 'POST',
102
- headers: {
103
- ...state.queryHeaders,
104
- 'Content-Type': 'application/json',
105
- },
106
- body: JSON.stringify({
107
- metadata: {
108
- orgId: state.organizationId || '*',
109
- task: 'config',
110
- name: dashboard,
111
- clientId: state.client._id,
112
- databaseType: state.client.databaseType,
113
- },
114
- }),
115
- credentials: state.withCredentials ? 'include' : 'omit', // If withCredentials is true, set to 'include'. Otherwise, set to 'omit'.
116
- });
117
- responseData = (await response.json()).data;
52
+ const handleClickReport = useCallback((elem) => {
53
+ dispatch({ type: 'SET_REPORT_ID', payload: elem.id });
54
+ dispatch({
55
+ type: 'SET_ACTIVE_COMPONENT',
56
+ payload: 'Report',
57
+ });
58
+ }, [dispatch]);
59
+ const hoverActions = (data) => {
60
+ return (_jsx("div", { style: {
61
+ display: 'flex',
62
+ flexDirection: 'row',
63
+ gap: 4,
64
+ }, children: _jsxs("button", { style: {
65
+ height: 36,
66
+ color: state.theme?.secondaryTextColor,
67
+ border: '1px solid #e7e7e7',
68
+ borderRadius: 6,
69
+ outline: 'none',
70
+ cursor: 'pointer',
71
+ fontFamily: state.theme?.fontFamily,
72
+ fontWeight: state.theme?.buttonFontWeight || 500,
73
+ fontSize: 14,
74
+ padding: '0px 12px',
75
+ display: 'flex',
76
+ flexDirection: 'row',
77
+ alignItems: 'center',
78
+ gap: 4,
79
+ }, onClick: async (event) => {
80
+ event.stopPropagation();
81
+ if (await deleteReport(data.id, state, getToken)) {
82
+ reloadDashboard(undefined, false, {
83
+ report: { id: data.id },
84
+ action: 'delete',
85
+ });
86
+ }
87
+ }, className: "secondary-button-quill", children: [_jsx("style", { children: `.secondary-button-quill { background: white } .secondary-button-quill:hover { background: #F4F4F5 }` }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", height: 14, width: 14, children: _jsx("path", { fillRule: "evenodd", d: "M8.75 1A2.75 2.75 0 0 0 6 3.75v.443c-.795.077-1.584.176-2.365.298a.75.75 0 1 0 .23 1.482l.149-.022.841 10.518A2.75 2.75 0 0 0 7.596 19h4.807a2.75 2.75 0 0 0 2.742-2.53l.841-10.52.149.023a.75.75 0 0 0 .23-1.482A41.03 41.03 0 0 0 14 4.193V3.75A2.75 2.75 0 0 0 11.25 1h-2.5ZM10 4c.84 0 1.673.025 2.5.075V3.75c0-.69-.56-1.25-1.25-1.25h-2.5c-.69 0-1.25.56-1.25 1.25v.325C8.327 4.025 9.16 4 10 4ZM8.58 7.72a.75.75 0 0 0-1.5.06l.3 7.5a.75.75 0 1 0 1.5-.06l-.3-7.5Zm4.34.06a.75.75 0 1 0-1.5-.06l-.3 7.5a.75.75 0 1 0 1.5.06l.3-7.5Z", clipRule: "evenodd" }) })] }) }));
88
+ };
89
+ const handlePromote = async (selectedToClient, skipWarning = false) => {
90
+ try {
91
+ const respJson = await quillFetchWithToken({
92
+ client: {
93
+ queryEndpoint: state.queryEndpoint,
94
+ clientId: state.client._id,
95
+ withCredentials: !!state.withCredentials,
96
+ queryHeaders: state.queryHeaders,
97
+ },
98
+ task: 'promote-dashboard',
99
+ metadata: {
100
+ clientId: state.client._id,
101
+ dashboardName: state.selectedDashboard,
102
+ fromClientId: state.client._id,
103
+ toClientId: selectedToClient._id,
104
+ skipWarning,
105
+ addMissingTables: autoPromoteVirtualTables,
106
+ },
107
+ adminMode: true,
108
+ });
109
+ if (respJson?.error) {
110
+ alert(respJson?.error);
111
+ return;
112
+ }
113
+ const data = respJson?.data;
114
+ let alertMsg = 'Dashboard promoted successfully.';
115
+ if (data.error) {
116
+ alert(data.error);
117
+ return;
118
+ }
119
+ else if (!skipWarning && data.warning) {
120
+ if (confirm(`${data.warning}\n\nContinue?`)) {
121
+ handlePromote(selectedToClient, true);
122
+ }
123
+ return;
124
+ }
125
+ if (data.logs?.length > 0) {
126
+ alertMsg += `\n\n${data.logs.join('\n\n')}`;
118
127
  }
119
- else {
120
- const url = new URL(`${QUILL_SERVER}/dashconfig`);
121
- // Setting the search parameters for the URL
122
- url.search = new URLSearchParams({
123
- orgId: state.organizationId,
124
- publicKey: state.client._id,
125
- name: dashboard,
126
- }).toString();
127
- const response2 = await fetch(url, {
128
- method: 'GET',
129
- headers: {
130
- Authorization: 'Bearer ', // Ensure you append your token after 'Bearer ' if needed
131
- environment: state.environment,
132
- },
128
+ if (data.hints?.removedFilters) {
129
+ const plural = data.hints.removedFilters.length > 1;
130
+ alertMsg += `${alertMsg ? '\n\n' : ''}The following filter${plural ? 's were' : ' was'} removed because they are not compatible with the virtual tables in the target client: ${data.hints.removedFilters.join(', ')}`;
131
+ }
132
+ if (data.hints?.failedTables) {
133
+ alertMsg += `${alertMsg ? '\n\n' : ''}`;
134
+ const failedTableMessages = [];
135
+ Object.entries(data.hints.failedTables).forEach(([key, value]) => {
136
+ const plural = value.affected.length > 1;
137
+ failedTableMessages.push(`${autoPromoteVirtualTables ? `Couldn't promote virtual table ${key}: (${value.error})` : `Missing virtual table ${key}`}\nAffected item${plural ? 's' : ''} ${value.affected.join(', ')}`);
133
138
  });
134
- // If you need to retrieve the JSON data from the response:
135
- responseData = await response2.json();
139
+ alertMsg += failedTableMessages.join('\n\n');
140
+ }
141
+ if (alertMsg) {
142
+ alert(alertMsg);
136
143
  }
137
- setData(responseData);
144
+ setPromoteModalIsOpen(false);
145
+ setEditFilterModalIsOpen(false);
146
+ // setSelectedDashboard(null); // Keep the current selected dashboard (copied into new client)
147
+ dispatch({
148
+ type: 'SET_REPORT_ID',
149
+ payload: undefined,
150
+ });
151
+ setClient(selectedToClient);
138
152
  }
139
- if (state.selectedDashboard && state.client) {
140
- getDashboardData(state.selectedDashboard.name, setDashboardData);
153
+ catch (error) {
154
+ console.error('Promotion failed:', error);
155
+ alert('Could not promote this dashboard.');
141
156
  }
142
- }, [state.selectedDashboard, state.organizationId, state.client]);
143
- return (_jsxs("div", { style: containerStyle, children: [_jsxs("div", { style: {
157
+ };
158
+ return (_jsxs("div", { style: containerStyle, children: [(state.activeComponent === 'Report Builder' ||
159
+ state.activeComponent === 'SQL Editor') && (_jsx(ChartQueryBuilder, { activeComponent: state.activeComponent, destinationDashboard: state.selectedDashboard ??
160
+ dashboards?.filter((d) => d.name !== SAVED_QUERIES_DASHBOARD)?.[0]
161
+ ?.name ??
162
+ '', onExit: (report) => {
163
+ dispatch({
164
+ type: 'SET_ACTIVE_COMPONENT',
165
+ payload: 'Dashboards',
166
+ });
167
+ dispatch({
168
+ type: 'SET_REPORT_ID',
169
+ payload: undefined,
170
+ });
171
+ dispatch({
172
+ type: 'SET_ACTIVE_QUERY',
173
+ payload: '',
174
+ });
175
+ dispatch({
176
+ type: 'SET_ACTIVE_SAVED_QUERY_REPORT_ID',
177
+ payload: '',
178
+ });
179
+ // quill-saved-queries is a hidden dashboard
180
+ if (report?.dashboardName === SAVED_QUERIES_DASHBOARD) {
181
+ reloadDashboard(SAVED_QUERIES_DASHBOARD, false, report ? { report, action: 'upsert' } : undefined);
182
+ }
183
+ else {
184
+ reloadDashboard(state.selectedDashboard || undefined, false, report ? { report, action: 'upsert' } : undefined);
185
+ }
186
+ } })), !(state.activeComponent === 'Report Builder' ||
187
+ state.activeComponent === 'SQL Editor') && (_jsxs("div", { style: {
144
188
  display: 'flex',
145
189
  flexDirection: 'column',
146
190
  paddingTop: '0px',
147
191
  position: 'relative',
192
+ minHeight: '100%',
148
193
  }, ref: parentRef, children: [_jsx("div", { style: {
149
- // width: 'calc(100vw - 30px)',
150
194
  display: 'flex',
151
195
  position: 'sticky',
152
196
  backgroundColor: 'white',
@@ -167,59 +211,114 @@ export default function DashboardManager({ navigateToDashboardBuilder, container
167
211
  borderStyle: 'solid',
168
212
  borderColor: state.theme?.borderColor,
169
213
  paddingBottom: 20,
170
- // boxShadow: "0px 1px 4px 0px rgba(0, 0, 0, 0.07)",
171
- // paddingRight: '50px',
172
- // position: 'absolute'
173
- // // zIndex: 10
174
214
  }, children: _jsxs("div", { style: {
175
215
  width: '100%',
176
216
  display: 'flex',
177
217
  flexDirection: 'row',
178
218
  alignItems: 'flex-end',
179
219
  justifyContent: 'space-between',
180
- }, children: [_jsxs("div", { style: { gap: 16, display: 'flex', flexDirection: 'row' }, children: [!!state.dashboards.length && (_jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx("h1", { style: {
181
- fontSize: '14px',
182
- paddingTop: '0px',
183
- marginTop: '0px',
184
- marginBottom: '4px',
185
- fontWeight: '600',
186
- color: state.theme.secondaryTextColor,
187
- userSelect: 'none',
188
- }, children: "Dashboard" }), _jsx(DashboardSelectPopover, { dashboards: state.dashboards.length
189
- ? state.dashboards.map((elem) => {
190
- return { value: elem.name, label: elem.name };
191
- })
192
- : [], setDashboard: (dashboard) => {
193
- const selectedDashboard = state.dashboards.find((dash) => {
194
- return dash.name === dashboard;
195
- });
220
+ }, children: [_jsxs("div", { style: {
221
+ gap: 16,
222
+ display: 'flex',
223
+ flexDirection: 'row',
224
+ alignItems: 'flex-end',
225
+ marginRight: 12,
226
+ }, children: [_jsx("div", { style: { display: 'flex', flexDirection: 'column' }, ref: envSelectPopoverRef, children: _jsx(EnvSelectPopover, { clients: state.clients, client: state.client, setClient: (client) => {
227
+ setSelectedDashboard(null);
228
+ setClient(client, true);
229
+ }, onSelectedEditEnvironment: () => {
230
+ setEditEnvironmentModalIsOpen(true);
231
+ }, theme: state.theme, parentRef: envSelectPopoverRef, isLoading: clientLoading }) }), _jsx("div", { style: { display: 'flex', flexDirection: 'column' }, ref: dashboardSelectPopoverRef, children: _jsx(DashboardSelectPopover, { dashboards: dashboards?.filter((d) => d.name !== SAVED_QUERIES_DASHBOARD)?.length
232
+ ? dashboards
233
+ .map((elem) => {
234
+ return elem.name;
235
+ })
236
+ .filter((name) => name !== SAVED_QUERIES_DASHBOARD)
237
+ : [], setDashboard: (dashboard) => {
238
+ setSelectedDashboard(dashboard);
239
+ dispatch({
240
+ type: 'SET_REPORT_ID',
241
+ payload: undefined,
242
+ });
243
+ }, dashboard: state.selectedDashboard ?? null, theme: state.theme, onClickNewDashboard: () => {
244
+ setNewDashboardModalIsOpen(true);
245
+ }, setSelectedEditDashboard: (dashboard) => {
246
+ if (state.selectedDashboard !== dashboard) {
247
+ setSelectedDashboard(dashboard);
196
248
  dispatch({
197
- type: 'SET_SELECTED_DASHBOARD',
198
- payload: selectedDashboard,
249
+ type: 'SET_REPORT_ID',
250
+ payload: undefined,
199
251
  });
200
- }, dashboard: state.selectedDashboard
201
- ? state.selectedDashboard.name
202
- : '', theme: state.theme, onClickNewDashboard: () => {
203
- setNewDashboardModalIsOpen(true);
204
- }, setSelectedEditDashboard: (d) => {
205
- setEditFilterModalIsOpen(true);
206
- } })] })), _jsxs("div", { style: { display: 'flex', flexDirection: 'column' }, children: [_jsx("h1", { style: {
207
- fontSize: '14px',
208
- paddingTop: '0px',
209
- marginTop: '0px',
210
- marginBottom: '4px',
211
- fontWeight: '600',
212
- color: state.theme.secondaryTextColor,
213
- fontFamily: state.theme.fontFamily,
214
- userSelect: 'none',
215
- }, children: "Environment" }), _jsx(EnvSelectPopover, { setEnvironment: (env) => dispatch({ type: 'SET_ENVIRONMENT', payload: env }), environment: state.environment, clients: state.clients, client: state.client, setClient: (client) => dispatch({ type: 'SET_CLIENT', payload: client }), theme: state.theme, showPromote: true, handlePromote: () => setIsPromoteDashModalOpen(true) })] })] }), !!state.dashboards.length && !state.databaseTypeMismatch.show && (_jsx(OrgSelect, { parentRef: parentRef, environment: state.environment, setEnvironment: (env) => dispatch({ type: 'SET_ENVIRONMENT', payload: env }), organizations: state.organizations, theme: state.theme, organizationId: state.organizationId, setOrganizationId: (id) => dispatch({ type: 'SET_ORGANIZATION_ID', payload: id }) }))] }) }), state.databaseTypeMismatch.show ? (_jsx(DatabaseMismatchCard, { environemntName: state.client.name, environemntDatabaseType: state.client.databaseType, backendDatabaseType: state.databaseTypeMismatch.backendDatabaseType })) : (_jsxs(_Fragment, { children: [_jsxs("div", { style: { display: 'inline-block' }, children: [!state.dashboards.length && !initialLoad && (_jsx("div", { style: {
252
+ }
253
+ setEditFilterModalIsOpen(true);
254
+ }, parentRef: dashboardSelectPopoverRef, isLoading: clientLoading || dashboardsLoading }) }), state.client?.name !== undefined &&
255
+ !state.databaseTypeMismatch.show && (_jsx(OrgSelect, { isLoading: clientLoading }))] }), !!(dashboards?.filter((d) => d.name !== SAVED_QUERIES_DASHBOARD)
256
+ ?.length && !(clientLoading || dashboardsLoading)) && (_jsxs("div", { style: { display: 'flex', flexDirection: 'row', gap: 12 }, children: [_jsx(SecondaryButtonPrimitive, { onClick: () => {
257
+ if (!state.selectedDashboard) {
258
+ return;
259
+ }
260
+ dispatch({
261
+ type: 'SET_ACTIVE_COMPONENT',
262
+ payload: 'CodePreview',
263
+ });
264
+ }, label: "Embed Preview" }), _jsx(Popover, { content: _jsxs("div", { style: {
265
+ display: 'flex',
266
+ flexDirection: 'column',
267
+ gap: 12,
268
+ minWidth: 170,
269
+ }, children: [_jsx(SecondaryButtonPrimitive, { onClick: () => {
270
+ if (!state.selectedDashboard) {
271
+ return;
272
+ }
273
+ dispatch({
274
+ type: 'SET_ACTIVE_COMPONENT',
275
+ payload: 'Report Builder',
276
+ });
277
+ }, label: "Report Builder \u2197" }), _jsx(SecondaryButtonPrimitive, { onClick: () => {
278
+ if (!state.selectedDashboard) {
279
+ return;
280
+ }
281
+ dispatch({
282
+ type: 'SET_ACTIVE_COMPONENT',
283
+ payload: 'SQL Editor',
284
+ });
285
+ }, label: "SQL Editor \u2197" }), _jsx(SecondaryButtonPrimitive, { onClick: () => {
286
+ if (!state.selectedDashboard) {
287
+ return;
288
+ }
289
+ dispatch({
290
+ type: 'SET_ACTIVE_COMPONENT',
291
+ payload: 'SavedQueries',
292
+ });
293
+ }, label: "Saved Queries \u2197" })] }), trigger: _jsx(ButtonPrimitive
294
+ // onClick={() => {
295
+ // if (!state.selectedDashboard) {
296
+ // return;
297
+ // }
298
+ // dispatch({
299
+ // type: 'SET_ACTIVE_COMPONENT',
300
+ // payload: 'Query Builder',
301
+ // });
302
+ // }}
303
+ , {
304
+ // onClick={() => {
305
+ // if (!state.selectedDashboard) {
306
+ // return;
307
+ // }
308
+ // dispatch({
309
+ // type: 'SET_ACTIVE_COMPONENT',
310
+ // payload: 'Query Builder',
311
+ // });
312
+ // }}
313
+ onClick: () => { }, label: "Add Chart +" }) })] }))] }) }), state.databaseTypeMismatch.show ? (_jsx(DatabaseMismatchCard, { environmentName: state.client.name, environmentDatabaseType: state.client.databaseType, backendDatabaseType: state.databaseTypeMismatch.backendDatabaseType })) : (_jsxs(_Fragment, { children: [_jsxs("div", { style: { display: 'flex', flexGrow: 1 }, children: [!dashboards?.filter((d) => d.name !== SAVED_QUERIES_DASHBOARD)
314
+ ?.length &&
315
+ !clientLoading &&
316
+ !dashboardsLoading && (_jsx("div", { style: {
216
317
  width: '100%',
217
318
  display: 'flex',
218
319
  flexDirection: 'column',
219
320
  alignItems: 'center',
220
321
  }, children: _jsxs("div", { style: {
221
- height: 80,
222
- width: 260,
223
322
  borderRadius: 6,
224
323
  marginTop: 100,
225
324
  display: 'flex',
@@ -227,64 +326,123 @@ export default function DashboardManager({ navigateToDashboardBuilder, container
227
326
  alignItems: 'center',
228
327
  justifyContent: 'center',
229
328
  gap: 20,
230
- }, className: "hover-dash-rect", onClick: () => {
231
- setNewDashboardModalIsOpen(true);
232
- }, children: [_jsx("style", { children: ` .hover-dash-rect { background: white; border: 1px dashed #e7e7e7; } .hover-dash-rect:hover { background: white; box-shadow: 0px 1px 24px 0px rgba(0, 0, 0, 0.07); border: 1px solid #e7e7e7; } ` }), _jsxs("div", { style: {
329
+ padding: 16,
330
+ border: '1px solid #e7e7e7',
331
+ boxShadow: '0px 1px 12px rgba(0, 0, 0, 0.07)',
332
+ }, children: [_jsxs("div", { style: {
233
333
  display: 'flex',
234
334
  flexDirection: 'row',
235
335
  alignItems: 'center',
236
336
  justifyContent: 'center',
237
337
  width: 260,
238
338
  }, children: [_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#565656", height: 26, width: 26, children: [_jsx("path", { fillRule: "evenodd", d: "M2.25 13.5a8.25 8.25 0 0 1 8.25-8.25.75.75 0 0 1 .75.75v6.75H18a.75.75 0 0 1 .75.75 8.25 8.25 0 0 1-16.5 0Z", clipRule: "evenodd" }), _jsx("path", { fillRule: "evenodd", d: "M12.75 3a.75.75 0 0 1 .75-.75 8.25 8.25 0 0 1 8.25 8.25.75.75 0 0 1-.75.75h-7.5a.75.75 0 0 1-.75-.75V3Z", clipRule: "evenodd" })] }), _jsx("div", { style: {
239
- fontSize: 14,
339
+ fontSize: 16,
240
340
  fontWeight: 500,
241
341
  color: '#565656',
242
- // border: '1px solid #e7e7e7',
243
342
  paddingTop: 8,
244
343
  paddingBottom: 8,
245
344
  paddingRight: 12,
246
345
  paddingLeft: 12,
247
346
  borderRadius: 4,
248
347
  cursor: 'pointer',
249
- }, className: "quill-hover-button", children: "Create new dashboard" })] })] }) })), reloadFlag
250
- ? null
251
- : (state.dashboards.length || initialLoad) && (_jsx(Dashboard, { name: state.selectedDashboard?.name, containerStyle: { padding: 25 }, onClickReport: (elem) => {
252
- dispatch({ type: 'SET_REPORT_ID', payload: elem._id });
348
+ }, className: "quill-hover-button", children: "No dashboards created yet." })] }), _jsx("div", { style: { paddingBottom: 8 }, children: _jsx(MemoizedButton, { label: 'Create dashboard', style: { fontSize: 14 }, onClick: () => {
349
+ setNewDashboardModalIsOpen(true);
350
+ } }) })] }) })), clientLoading ||
351
+ dashboardsLoading ||
352
+ dashboards?.filter((d) => d.name !== SAVED_QUERIES_DASHBOARD)
353
+ .length ? (_jsx("div", { style: { width: '100%', position: 'relative' }, children: _jsx(InternalDashboard, { name: state.selectedDashboard ?? '', containerStyle: { padding: 25, width: '100%' }, onClickReport: handleClickReport, hoverActions: hoverActions, onUserFiltersUpdated: setUserFilters, parentLoading: clientLoading || dashboardsLoading, onManageDashboard: () => {
354
+ setEditFilterModalIsOpen(true);
355
+ } }) })) : null] }), !clientLoading && !dashboardsLoading && (_jsxs(_Fragment, { children: [_jsx(EditEnvironmentModal, { isOpen: editEnvironmentModalIsOpen, setIsOpen: setEditEnvironmentModalIsOpen, onSave: async () => {
356
+ await reloadDashboard(state.selectedDashboard ?? undefined);
357
+ }, ModalComponent: ModalPrimitive, ButtonComponent: ButtonPrimitive, SelectComponent: QuillSelectComponentWithCombo, SecondaryButtonComponent: SecondaryButtonPrimitive, TextInputComponent: TextInputPrimitive, HeaderComponent: HeaderPrimitive }, state.client._id), state.selectedDashboard && editFilterModalIsOpen && (_jsx(EditFiltersModal, { selectedDashboardName: state.selectedDashboard, isOpen: editFilterModalIsOpen, setIsOpen: setEditFilterModalIsOpen,
358
+ // openEditOrderModal={(dashboardName: string): void => {
359
+ // setSelectedReorderDashboard(dashboardName);
360
+ // setIsReorderDashboardModalOpen(true);
361
+ // }}
362
+ openPromoteModal: () => setPromoteModalIsOpen(true), onSave: async (name) => {
363
+ dispatch({
364
+ type: 'SET_SELECTED_DASHBOARD_NAME',
365
+ payload: {
366
+ dashboard: name,
367
+ },
368
+ });
369
+ // dispatch({
370
+ // type: 'SET_SELECTED_TENANT_VALUES',
371
+ // payload: undefined,
372
+ // });
373
+ // dispatch({
374
+ // type: 'SET_SELECTED_DASHBOARD_TENANT_IDS',
375
+ // payload: undefined,
376
+ // });
377
+ // reloadDashboard(name ?? undefined, true);
378
+ }, ModalComponent: ModalPrimitive, ButtonComponent: MemoizedButton, SecondaryButtonComponent: SecondaryButtonPrimitive, TextInputComponent: TextInputPrimitive, HeaderComponent: HeaderPrimitive, SelectComponent: QuillSelectComponent, ErrorComponent: QuillErrorMessageComponent, dashNames: dashboards ?? [] }, state.selectedDashboard + state.client._id)), _jsx(NewDashboardModal, { isOpen: newDashboardModalIsOpen, setIsOpen: setNewDashboardModalIsOpen, onSave: async (name, owner) => {
379
+ if (!(dashboards?.filter((d) => d.name !== SAVED_QUERIES_DASHBOARD)?.length ?? 0) ||
380
+ ((dashboards?.filter((d) => d.name !== SAVED_QUERIES_DASHBOARD)?.length ?? 0) === 1 &&
381
+ dashboards?.filter((d) => d.name !== SAVED_QUERIES_DASHBOARD)?.[0]?.name === name)) {
253
382
  dispatch({
254
- type: 'SET_ACTIVE_COMPONENT',
255
- payload: 'Report',
383
+ type: 'SET_CLIENTS',
384
+ // Set the dashboard name we just created as the default dashboard
385
+ payload: [
386
+ ...state.clients.map((client) => {
387
+ return {
388
+ ...client,
389
+ defaultDashboard: client.id === state.client.id
390
+ ? { name, owner }
391
+ : client.defaultDashboard,
392
+ };
393
+ }),
394
+ ],
256
395
  });
257
- }, EmptyDashboardComponent: EmptyDashboardComponent }))] }), state.selectedDashboard && (_jsx(PromoteDashModal, { clientId: state.client._id, client: state.client, clients: state.clients, isOpen: isPromoteDashModalOpen, setIsOpen: setIsPromoteDashModalOpen, ModalComponent: ModalPrimitive, dashboards: state.dashboards, selectedDashboard: state.selectedDashboard?.name, theme: state.theme, ButtonComponent: ButtonPrimitive })), state.selectedDashboard && (_jsx(EditFiltersModal, { selectedDashboard: state.selectedDashboard, dashboardData: state.selectedDashboard, isOpen: editFilterModalIsOpen, setIsOpen: setEditFilterModalIsOpen, openEditOrderModal: (dashboardName) => {
258
- setSelectedReorderDashboard(dashboardName);
259
- setIsReorderDashboardModalOpen(true);
260
- }, onSave: async (dashName) => {
261
- await getDashNames(dashName);
262
- setReloadFlag(true);
263
- reloadDashboard(dashName);
264
- }, client: state.client, ModalComponent: ModalPrimitive, ButtonComponent: ButtonPrimitive, SecondaryButtonComponent: SecondaryButtonPrimitive, TextInputComponent: TextInputPrimitive, HeaderComponent: HeaderPrimitive, SelectComponent: QuillSelectComponent, dashNames: state.dashboards })), _jsx(NewDashboardModal, { isOpen: newDashboardModalIsOpen, setIsOpen: setNewDashboardModalIsOpen, openEditOrderModal: (dashboardName) => {
265
- setSelectedReorderDashboard(dashboardName);
266
- setIsReorderDashboardModalOpen(true);
267
- }, onSave: (dashboard) => {
268
- dispatch({
269
- type: 'SET_SELECTED_DASHBOARD',
270
- payload: dashboard,
271
- });
272
- dispatch({
273
- type: 'SET_DASHBOARDS',
274
- payload: [...state.dashboards, { ...dashboard }],
275
- });
276
- setReloadFlag(true);
277
- reloadDashboard(state.selectedDashboard?.name);
278
- }, client: state.client, ModalComponent: ModalPrimitive, ButtonComponent: ButtonPrimitive, SecondaryButtonComponent: SecondaryButtonPrimitive, TextInputComponent: TextInputPrimitive, HeaderComponent: HeaderPrimitive, SelectComponent: QuillSelectComponent, dashNames: state.dashboards }), _jsx(ReorderDashboardModal, { organizationId: state.organizationId, isOpen: isReorderDashboardModalOpen, client: state.client, onSave: () => {
279
- setReloadFlag(true);
280
- reloadDashboard(state.selectedDashboard?.name);
281
- }, setIsOpen: setIsReorderDashboardModalOpen, ModalComponent: ModalPrimitive, ButtonComponent: ButtonPrimitive, selectedDashboard: selectedReorderDashboard })] }))] }), _jsx(ReportWrapper, { isOpen: state.activeComponent === 'Report', setIsOpen: (isOpen) => {
396
+ dispatch({
397
+ type: 'SET_CLIENT',
398
+ payload: {
399
+ ...state.client,
400
+ defaultDashboard: { name, owner },
401
+ },
402
+ });
403
+ }
404
+ setSelectedDashboard(name);
405
+ }, ModalComponent: ModalPrimitive, ButtonComponent: ButtonPrimitive, SecondaryButtonComponent: SecondaryButtonPrimitive, TextInputComponent: TextInputPrimitive, HeaderComponent: HeaderPrimitive, SelectComponent: QuillSelectComponent, dashNames: dashboards }), _jsx(PromoteDashboardModal, { isOpen: promoteModalIsOpen, setIsOpen: setPromoteModalIsOpen, autoPromoteVirtualTables: autoPromoteVirtualTables, setAutoPromoteVirtualTables: setAutoPromoteVirtualTables, ModalComponent: ModalPrimitive, ButtonComponent: MemoizedButton, SelectComponent: QuillSelectComponent, HeaderComponent: HeaderPrimitive, CheckboxComponent: CheckboxPrimitive, ErrorComponent: QuillErrorMessageComponent, handlePromote: async (selectedToClient) => {
406
+ await handlePromote(selectedToClient);
407
+ } })] }))] }))] })), !clientLoading &&
408
+ !dashboardsLoading &&
409
+ state.activeComponent === 'Report' && (_jsx(ReportWrapper, { isOpen: !clientLoading &&
410
+ !dashboardsLoading &&
411
+ state.activeComponent === 'Report', setIsOpen: (isOpen) => {
282
412
  dispatch({
283
413
  type: 'SET_ACTIVE_COMPONENT',
284
414
  payload: isOpen ? 'Report' : 'Dashboards',
285
415
  });
286
- }, ButtonComponent: ButtonPrimitive, SecondaryButtonComponent: SecondaryButtonPrimitive, ModalComponent: MemoizedModal, SelectComponent: SelectPrimitive, OrganizationSelectComponent: OrgSelect, organizationId: state.organizationId, queryEndpoint: state.queryEndpoint, queryHeaders: state.queryHeaders, withCredentials: state.withCredentials, reloadDashboard: () => {
287
- setReloadFlag(true);
288
- reloadDashboard(state.selectedDashboard?.name);
416
+ }, ModalComponent: MemoizedModal, reloadDashboard: async (reportAction) => {
417
+ // hard reload the dashboard if the flags on the changed report don't match the previous ones
418
+ const oldReport = Object.values(dashboardConfig?.sections ?? {})
419
+ .flat()
420
+ .find((report) => report.id === reportAction?.report?.id);
421
+ const hardReload = reportAction?.report &&
422
+ oldReport &&
423
+ (!equal(oldReport.flags ?? {}, reportAction.report.flags ?? {}) ||
424
+ !equal(oldReport.filterMap ?? {}, reportAction.report.filterMap ?? {}));
425
+ if (hardReload) {
426
+ dispatch({ type: 'SET_REPORT_ID', payload: null });
427
+ dispatch({
428
+ type: 'SET_ACTIVE_COMPONENT',
429
+ payload: 'Dashboards',
430
+ });
431
+ }
432
+ await reloadDashboard(state.selectedDashboard ?? undefined, hardReload, reportAction);
433
+ } })), state.activeComponent === 'CodePreview' && (_jsx(CodePreview, { ModalComponent: MemoizedModal, isOpen: !clientLoading &&
434
+ !dashboardsLoading &&
435
+ state.activeComponent === 'CodePreview', setIsOpen: (isOpen) => {
436
+ dispatch({
437
+ type: 'SET_ACTIVE_COMPONENT',
438
+ payload: isOpen ? 'Report' : 'Dashboards',
439
+ });
440
+ } })), _jsx(SavedQueriesModal, { ModalComponent: MemoizedModal, clientId: state.client.id, isOpen: !clientLoading &&
441
+ !dashboardsLoading &&
442
+ state.activeComponent === 'SavedQueries', setIsOpen: (isOpen) => {
443
+ dispatch({
444
+ type: 'SET_ACTIVE_COMPONENT',
445
+ payload: isOpen ? 'SavedQueries' : 'Dashboards',
446
+ });
289
447
  } })] }));
290
448
  }