@quillsql/admin 1.7.1 → 1.7.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 (749) hide show
  1. package/dist/index.cjs +28479 -0
  2. package/dist/index.d.cts +78 -0
  3. package/dist/index.d.ts +78 -0
  4. package/dist/index.js +28539 -0
  5. package/package.json +11 -10
  6. package/dist/cjs/Admin.d.ts +0 -28
  7. package/dist/cjs/Admin.d.ts.map +0 -1
  8. package/dist/cjs/Admin.js +0 -637
  9. package/dist/cjs/AdminProvider.d.ts +0 -44
  10. package/dist/cjs/AdminProvider.d.ts.map +0 -1
  11. package/dist/cjs/AdminProvider.js +0 -565
  12. package/dist/cjs/api/ConnectionClient.d.ts +0 -41
  13. package/dist/cjs/api/ConnectionClient.d.ts.map +0 -1
  14. package/dist/cjs/api/ConnectionClient.js +0 -575
  15. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts +0 -5
  16. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +0 -1
  17. package/dist/cjs/assets/ArrowDownHeadIcon.js +0 -5
  18. package/dist/cjs/assets/XIcon.d.ts +0 -5
  19. package/dist/cjs/assets/XIcon.d.ts.map +0 -1
  20. package/dist/cjs/assets/XIcon.js +0 -5
  21. package/dist/cjs/assets/index.d.ts +0 -3
  22. package/dist/cjs/assets/index.d.ts.map +0 -1
  23. package/dist/cjs/assets/index.js +0 -10
  24. package/dist/cjs/components/Banner/index.d.ts +0 -2
  25. package/dist/cjs/components/Banner/index.d.ts.map +0 -1
  26. package/dist/cjs/components/Banner/index.js +0 -33
  27. package/dist/cjs/components/CardSection.d.ts +0 -3
  28. package/dist/cjs/components/CardSection.d.ts.map +0 -1
  29. package/dist/cjs/components/CardSection.js +0 -14
  30. package/dist/cjs/components/CardTitle.d.ts +0 -3
  31. package/dist/cjs/components/CardTitle.d.ts.map +0 -1
  32. package/dist/cjs/components/CardTitle.js +0 -14
  33. package/dist/cjs/components/ClipboardButton.d.ts +0 -8
  34. package/dist/cjs/components/ClipboardButton.d.ts.map +0 -1
  35. package/dist/cjs/components/ClipboardButton.js +0 -74
  36. package/dist/cjs/components/DashboardSelectPopover.d.ts +0 -14
  37. package/dist/cjs/components/DashboardSelectPopover.d.ts.map +0 -1
  38. package/dist/cjs/components/DashboardSelectPopover.js +0 -123
  39. package/dist/cjs/components/DatabaseMismatchCard.d.ts +0 -6
  40. package/dist/cjs/components/DatabaseMismatchCard.d.ts.map +0 -1
  41. package/dist/cjs/components/DatabaseMismatchCard.js +0 -18
  42. package/dist/cjs/components/DatabaseSelector.d.ts +0 -14
  43. package/dist/cjs/components/DatabaseSelector.d.ts.map +0 -1
  44. package/dist/cjs/components/DatabaseSelector.js +0 -34
  45. package/dist/cjs/components/DateRangePicker/SingleDatePicker.d.ts +0 -10
  46. package/dist/cjs/components/DateRangePicker/SingleDatePicker.d.ts.map +0 -1
  47. package/dist/cjs/components/DateRangePicker/SingleDatePicker.js +0 -287
  48. package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.d.ts +0 -18
  49. package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.d.ts.map +0 -1
  50. package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.js +0 -312
  51. package/dist/cjs/components/DateRangePicker/dateRangePickerUtils.d.ts +0 -91
  52. package/dist/cjs/components/DateRangePicker/dateRangePickerUtils.d.ts.map +0 -1
  53. package/dist/cjs/components/DateRangePicker/dateRangePickerUtils.js +0 -898
  54. package/dist/cjs/components/DeleteButton.d.ts +0 -2
  55. package/dist/cjs/components/DeleteButton.d.ts.map +0 -1
  56. package/dist/cjs/components/DeleteButton.js +0 -13
  57. package/dist/cjs/components/DropDownMenu.d.ts +0 -10
  58. package/dist/cjs/components/DropDownMenu.d.ts.map +0 -1
  59. package/dist/cjs/components/DropDownMenu.js +0 -42
  60. package/dist/cjs/components/DropDownMenuWithLabel.d.ts +0 -14
  61. package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +0 -1
  62. package/dist/cjs/components/DropDownMenuWithLabel.js +0 -136
  63. package/dist/cjs/components/DynamicBanner.d.ts +0 -9
  64. package/dist/cjs/components/DynamicBanner.d.ts.map +0 -1
  65. package/dist/cjs/components/DynamicBanner.js +0 -27
  66. package/dist/cjs/components/EmptyDashboardComponent/index.d.ts +0 -2
  67. package/dist/cjs/components/EmptyDashboardComponent/index.d.ts.map +0 -1
  68. package/dist/cjs/components/EmptyDashboardComponent/index.js +0 -49
  69. package/dist/cjs/components/EmptyVirtualTablesComponent.d.ts +0 -4
  70. package/dist/cjs/components/EmptyVirtualTablesComponent.d.ts.map +0 -1
  71. package/dist/cjs/components/EmptyVirtualTablesComponent.js +0 -44
  72. package/dist/cjs/components/ExternalLink.d.ts +0 -4
  73. package/dist/cjs/components/ExternalLink.d.ts.map +0 -1
  74. package/dist/cjs/components/ExternalLink.js +0 -15
  75. package/dist/cjs/components/FormTooltip.d.ts +0 -8
  76. package/dist/cjs/components/FormTooltip.d.ts.map +0 -1
  77. package/dist/cjs/components/FormTooltip.js +0 -92
  78. package/dist/cjs/components/InputLabel.d.ts +0 -6
  79. package/dist/cjs/components/InputLabel.d.ts.map +0 -1
  80. package/dist/cjs/components/InputLabel.js +0 -20
  81. package/dist/cjs/components/InternalDashboard/ChartSkeleton.d.ts +0 -11
  82. package/dist/cjs/components/InternalDashboard/ChartSkeleton.d.ts.map +0 -1
  83. package/dist/cjs/components/InternalDashboard/ChartSkeleton.js +0 -21
  84. package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts +0 -20
  85. package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts.map +0 -1
  86. package/dist/cjs/components/InternalDashboard/DashboardFilter.js +0 -104
  87. package/dist/cjs/components/InternalDashboard/DashboardLoadingComponent.d.ts +0 -7
  88. package/dist/cjs/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +0 -1
  89. package/dist/cjs/components/InternalDashboard/DashboardLoadingComponent.js +0 -22
  90. package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.d.ts +0 -37
  91. package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.d.ts.map +0 -1
  92. package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +0 -294
  93. package/dist/cjs/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts +0 -85
  94. package/dist/cjs/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +0 -1
  95. package/dist/cjs/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.js +0 -534
  96. package/dist/cjs/components/InternalDashboard/InternalDashboard.d.ts +0 -17
  97. package/dist/cjs/components/InternalDashboard/InternalDashboard.d.ts.map +0 -1
  98. package/dist/cjs/components/InternalDashboard/InternalDashboard.js +0 -2040
  99. package/dist/cjs/components/OrgSelect.d.ts +0 -25
  100. package/dist/cjs/components/OrgSelect.d.ts.map +0 -1
  101. package/dist/cjs/components/OrgSelect.js +0 -275
  102. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +0 -36
  103. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +0 -1
  104. package/dist/cjs/components/QuillMultiSelectWithCombo.js +0 -688
  105. package/dist/cjs/components/QuillPopover.d.ts +0 -11
  106. package/dist/cjs/components/QuillPopover.d.ts.map +0 -1
  107. package/dist/cjs/components/QuillPopover.js +0 -179
  108. package/dist/cjs/components/QuillSelect.d.ts +0 -3
  109. package/dist/cjs/components/QuillSelect.d.ts.map +0 -1
  110. package/dist/cjs/components/QuillSelect.js +0 -159
  111. package/dist/cjs/components/QuillSelectWithCombo.d.ts +0 -23
  112. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +0 -1
  113. package/dist/cjs/components/QuillSelectWithCombo.js +0 -353
  114. package/dist/cjs/components/QuillTab.d.ts +0 -12
  115. package/dist/cjs/components/QuillTab.d.ts.map +0 -1
  116. package/dist/cjs/components/QuillTab.js +0 -84
  117. package/dist/cjs/components/QuillToolTipPortal.d.ts +0 -11
  118. package/dist/cjs/components/QuillToolTipPortal.d.ts.map +0 -1
  119. package/dist/cjs/components/QuillToolTipPortal.js +0 -108
  120. package/dist/cjs/components/SegmentedControl.d.ts +0 -15
  121. package/dist/cjs/components/SegmentedControl.d.ts.map +0 -1
  122. package/dist/cjs/components/SegmentedControl.js +0 -59
  123. package/dist/cjs/components/SqlTextEditor.d.ts +0 -12
  124. package/dist/cjs/components/SqlTextEditor.d.ts.map +0 -1
  125. package/dist/cjs/components/SqlTextEditor.js +0 -106
  126. package/dist/cjs/components/StepDisplay.d.ts +0 -10
  127. package/dist/cjs/components/StepDisplay.d.ts.map +0 -1
  128. package/dist/cjs/components/StepDisplay.js +0 -18
  129. package/dist/cjs/components/Tenants/EditTenant.d.ts +0 -41
  130. package/dist/cjs/components/Tenants/EditTenant.d.ts.map +0 -1
  131. package/dist/cjs/components/Tenants/EditTenant.js +0 -803
  132. package/dist/cjs/components/UiComponents.d.ts +0 -110
  133. package/dist/cjs/components/UiComponents.d.ts.map +0 -1
  134. package/dist/cjs/components/UiComponents.js +0 -561
  135. package/dist/cjs/components/VirtualTableTile.d.ts +0 -7
  136. package/dist/cjs/components/VirtualTableTile.d.ts.map +0 -1
  137. package/dist/cjs/components/VirtualTableTile.js +0 -51
  138. package/dist/cjs/components/index.d.ts +0 -6
  139. package/dist/cjs/components/index.d.ts.map +0 -1
  140. package/dist/cjs/components/index.js +0 -16
  141. package/dist/cjs/constants/dataTypes.d.ts +0 -2
  142. package/dist/cjs/constants/dataTypes.d.ts.map +0 -1
  143. package/dist/cjs/constants/dataTypes.js +0 -23
  144. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts +0 -21
  145. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +0 -1
  146. package/dist/cjs/forms/client_onboard/ConnectDatabase.js +0 -418
  147. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts +0 -20
  148. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +0 -1
  149. package/dist/cjs/forms/client_onboard/ConnectSchema.js +0 -207
  150. package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts +0 -40
  151. package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts.map +0 -1
  152. package/dist/cjs/forms/client_onboard/CreateVirtualTables.js +0 -385
  153. package/dist/cjs/forms/client_onboard/__tests__/ConnectDatabase.test.d.ts +0 -2
  154. package/dist/cjs/forms/client_onboard/__tests__/ConnectDatabase.test.d.ts.map +0 -1
  155. package/dist/cjs/forms/client_onboard/__tests__/ConnectDatabase.test.js +0 -571
  156. package/dist/cjs/forms/client_onboard/__tests__/ConnectSchema.test.d.ts +0 -2
  157. package/dist/cjs/forms/client_onboard/__tests__/ConnectSchema.test.d.ts.map +0 -1
  158. package/dist/cjs/forms/client_onboard/__tests__/ConnectSchema.test.js +0 -460
  159. package/dist/cjs/forms/client_onboard/__tests__/CreateVirtualTables.test.d.ts +0 -2
  160. package/dist/cjs/forms/client_onboard/__tests__/CreateVirtualTables.test.d.ts.map +0 -1
  161. package/dist/cjs/forms/client_onboard/__tests__/CreateVirtualTables.test.js +0 -386
  162. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.d.ts +0 -20
  163. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +0 -1
  164. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.js +0 -380
  165. package/dist/cjs/hooks/useAdmin.d.ts +0 -16
  166. package/dist/cjs/hooks/useAdmin.d.ts.map +0 -1
  167. package/dist/cjs/hooks/useAdmin.js +0 -13
  168. package/dist/cjs/hooks/useDashboardManager.d.ts +0 -16
  169. package/dist/cjs/hooks/useDashboardManager.d.ts.map +0 -1
  170. package/dist/cjs/hooks/useDashboardManager.js +0 -113
  171. package/dist/cjs/hooks/useDatabaseSchema.d.ts +0 -5
  172. package/dist/cjs/hooks/useDatabaseSchema.d.ts.map +0 -1
  173. package/dist/cjs/hooks/useDatabaseSchema.js +0 -70
  174. package/dist/cjs/hooks/useItemBeingEdited.d.ts +0 -3
  175. package/dist/cjs/hooks/useItemBeingEdited.d.ts.map +0 -1
  176. package/dist/cjs/hooks/useItemBeingEdited.js +0 -18
  177. package/dist/cjs/hooks/useLongLoading.d.ts +0 -13
  178. package/dist/cjs/hooks/useLongLoading.d.ts.map +0 -1
  179. package/dist/cjs/hooks/useLongLoading.js +0 -67
  180. package/dist/cjs/hooks/useOnClickOutside.d.ts +0 -6
  181. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +0 -1
  182. package/dist/cjs/hooks/useOnClickOutside.js +0 -63
  183. package/dist/cjs/hooks/useTenants.d.ts +0 -13
  184. package/dist/cjs/hooks/useTenants.d.ts.map +0 -1
  185. package/dist/cjs/hooks/useTenants.js +0 -174
  186. package/dist/cjs/hooks/useThrottle.d.ts +0 -2
  187. package/dist/cjs/hooks/useThrottle.d.ts.map +0 -1
  188. package/dist/cjs/hooks/useThrottle.js +0 -14
  189. package/dist/cjs/icons/ArrowDownHeadIcon.d.ts +0 -5
  190. package/dist/cjs/icons/ArrowDownHeadIcon.d.ts.map +0 -1
  191. package/dist/cjs/icons/ArrowDownHeadIcon.js +0 -5
  192. package/dist/cjs/icons/CheckCircleIcon.d.ts +0 -5
  193. package/dist/cjs/icons/CheckCircleIcon.d.ts.map +0 -1
  194. package/dist/cjs/icons/CheckCircleIcon.js +0 -5
  195. package/dist/cjs/icons/DownChevronIcon.d.ts +0 -2
  196. package/dist/cjs/icons/DownChevronIcon.d.ts.map +0 -1
  197. package/dist/cjs/icons/DownChevronIcon.js +0 -7
  198. package/dist/cjs/icons/ExclamationFilledIcon.d.ts +0 -5
  199. package/dist/cjs/icons/ExclamationFilledIcon.d.ts.map +0 -1
  200. package/dist/cjs/icons/ExclamationFilledIcon.js +0 -5
  201. package/dist/cjs/icons/ExteriorLinkIcon.d.ts +0 -5
  202. package/dist/cjs/icons/ExteriorLinkIcon.d.ts.map +0 -1
  203. package/dist/cjs/icons/ExteriorLinkIcon.js +0 -5
  204. package/dist/cjs/icons/GlobeIcon.d.ts +0 -5
  205. package/dist/cjs/icons/GlobeIcon.d.ts.map +0 -1
  206. package/dist/cjs/icons/GlobeIcon.js +0 -15
  207. package/dist/cjs/icons/InformationCircleIcon.d.ts +0 -4
  208. package/dist/cjs/icons/InformationCircleIcon.d.ts.map +0 -1
  209. package/dist/cjs/icons/InformationCircleIcon.js +0 -7
  210. package/dist/cjs/icons/LeftChevronIcon.d.ts +0 -2
  211. package/dist/cjs/icons/LeftChevronIcon.d.ts.map +0 -1
  212. package/dist/cjs/icons/LeftChevronIcon.js +0 -7
  213. package/dist/cjs/icons/QuestionMarkCircleIcon.d.ts +0 -5
  214. package/dist/cjs/icons/QuestionMarkCircleIcon.d.ts.map +0 -1
  215. package/dist/cjs/icons/QuestionMarkCircleIcon.js +0 -5
  216. package/dist/cjs/icons/RightChevronIcon.d.ts +0 -2
  217. package/dist/cjs/icons/RightChevronIcon.d.ts.map +0 -1
  218. package/dist/cjs/icons/RightChevronIcon.js +0 -7
  219. package/dist/cjs/icons/XMarkIcon.d.ts +0 -2
  220. package/dist/cjs/icons/XMarkIcon.d.ts.map +0 -1
  221. package/dist/cjs/icons/XMarkIcon.js +0 -14
  222. package/dist/cjs/icons/index.d.ts +0 -2
  223. package/dist/cjs/icons/index.d.ts.map +0 -1
  224. package/dist/cjs/icons/index.js +0 -8
  225. package/dist/cjs/index.d.ts +0 -6
  226. package/dist/cjs/index.d.ts.map +0 -1
  227. package/dist/cjs/index.js +0 -17
  228. package/dist/cjs/modals/CodePreview.d.ts +0 -6
  229. package/dist/cjs/modals/CodePreview.d.ts.map +0 -1
  230. package/dist/cjs/modals/CodePreview.js +0 -156
  231. package/dist/cjs/modals/CreateEnvironmentModal.d.ts +0 -5
  232. package/dist/cjs/modals/CreateEnvironmentModal.d.ts.map +0 -1
  233. package/dist/cjs/modals/CreateEnvironmentModal.js +0 -21
  234. package/dist/cjs/modals/EditEnvironmentModal.d.ts +0 -15
  235. package/dist/cjs/modals/EditEnvironmentModal.d.ts.map +0 -1
  236. package/dist/cjs/modals/EditEnvironmentModal.js +0 -608
  237. package/dist/cjs/modals/EditFiltersModal.d.ts +0 -21
  238. package/dist/cjs/modals/EditFiltersModal.d.ts.map +0 -1
  239. package/dist/cjs/modals/EditFiltersModal.js +0 -1315
  240. package/dist/cjs/modals/NewDashboardModal.d.ts +0 -15
  241. package/dist/cjs/modals/NewDashboardModal.d.ts.map +0 -1
  242. package/dist/cjs/modals/NewDashboardModal.js +0 -327
  243. package/dist/cjs/modals/PromoteDashboardModal.d.ts +0 -16
  244. package/dist/cjs/modals/PromoteDashboardModal.d.ts.map +0 -1
  245. package/dist/cjs/modals/PromoteDashboardModal.js +0 -56
  246. package/dist/cjs/modals/PromoteReportModal.d.ts +0 -15
  247. package/dist/cjs/modals/PromoteReportModal.d.ts.map +0 -1
  248. package/dist/cjs/modals/PromoteReportModal.js +0 -139
  249. package/dist/cjs/modals/PromoteViewModal.d.ts +0 -14
  250. package/dist/cjs/modals/PromoteViewModal.d.ts.map +0 -1
  251. package/dist/cjs/modals/PromoteViewModal.js +0 -93
  252. package/dist/cjs/modals/ReorderDashboardModal.d.ts +0 -10
  253. package/dist/cjs/modals/ReorderDashboardModal.d.ts.map +0 -1
  254. package/dist/cjs/modals/ReorderDashboardModal.js +0 -253
  255. package/dist/cjs/modals/SavedQueriesModal.d.ts +0 -7
  256. package/dist/cjs/modals/SavedQueriesModal.d.ts.map +0 -1
  257. package/dist/cjs/modals/SavedQueriesModal.js +0 -128
  258. package/dist/cjs/modals/TenantFieldModal.d.ts +0 -9
  259. package/dist/cjs/modals/TenantFieldModal.d.ts.map +0 -1
  260. package/dist/cjs/modals/TenantFieldModal.js +0 -54
  261. package/dist/cjs/modals/index.d.ts +0 -3
  262. package/dist/cjs/modals/index.d.ts.map +0 -1
  263. package/dist/cjs/modals/index.js +0 -10
  264. package/dist/cjs/models/AdminContext.d.ts +0 -158
  265. package/dist/cjs/models/AdminContext.d.ts.map +0 -1
  266. package/dist/cjs/models/AdminContext.js +0 -5
  267. package/dist/cjs/models/Provider.d.ts +0 -45
  268. package/dist/cjs/models/Provider.d.ts.map +0 -1
  269. package/dist/cjs/models/Provider.js +0 -21
  270. package/dist/cjs/models/Tenant.d.ts +0 -39
  271. package/dist/cjs/models/Tenant.d.ts.map +0 -1
  272. package/dist/cjs/models/Tenant.js +0 -2
  273. package/dist/cjs/primitives/ButtonPrimitive.d.ts +0 -16
  274. package/dist/cjs/primitives/ButtonPrimitive.d.ts.map +0 -1
  275. package/dist/cjs/primitives/ButtonPrimitive.js +0 -63
  276. package/dist/cjs/primitives/CheckboxPrimitive.d.ts +0 -12
  277. package/dist/cjs/primitives/CheckboxPrimitive.d.ts.map +0 -1
  278. package/dist/cjs/primitives/CheckboxPrimitive.js +0 -31
  279. package/dist/cjs/primitives/HeaderPrimitive.d.ts +0 -9
  280. package/dist/cjs/primitives/HeaderPrimitive.d.ts.map +0 -1
  281. package/dist/cjs/primitives/HeaderPrimitive.js +0 -15
  282. package/dist/cjs/primitives/MiniButtonPrimitive.d.ts +0 -7
  283. package/dist/cjs/primitives/MiniButtonPrimitive.d.ts.map +0 -1
  284. package/dist/cjs/primitives/MiniButtonPrimitive.js +0 -56
  285. package/dist/cjs/primitives/ModalPrimitive.d.ts +0 -4
  286. package/dist/cjs/primitives/ModalPrimitive.d.ts.map +0 -1
  287. package/dist/cjs/primitives/ModalPrimitive.js +0 -48
  288. package/dist/cjs/primitives/PlaceholderPrimitive.d.ts +0 -5
  289. package/dist/cjs/primitives/PlaceholderPrimitive.d.ts.map +0 -1
  290. package/dist/cjs/primitives/PlaceholderPrimitive.js +0 -18
  291. package/dist/cjs/primitives/PopoverPrimitive.d.ts +0 -8
  292. package/dist/cjs/primitives/PopoverPrimitive.d.ts.map +0 -1
  293. package/dist/cjs/primitives/PopoverPrimitive.js +0 -66
  294. package/dist/cjs/primitives/SecondaryButtonPrimitive.d.ts +0 -12
  295. package/dist/cjs/primitives/SecondaryButtonPrimitive.d.ts.map +0 -1
  296. package/dist/cjs/primitives/SecondaryButtonPrimitive.js +0 -29
  297. package/dist/cjs/primitives/TextInputPrimitive.d.ts +0 -19
  298. package/dist/cjs/primitives/TextInputPrimitive.d.ts.map +0 -1
  299. package/dist/cjs/primitives/TextInputPrimitive.js +0 -136
  300. package/dist/cjs/primitives/TogglePrimitive.d.ts +0 -9
  301. package/dist/cjs/primitives/TogglePrimitive.d.ts.map +0 -1
  302. package/dist/cjs/primitives/TogglePrimitive.js +0 -50
  303. package/dist/cjs/primitives/index.d.ts +0 -7
  304. package/dist/cjs/primitives/index.d.ts.map +0 -1
  305. package/dist/cjs/primitives/index.js +0 -18
  306. package/dist/cjs/public_components/ChartQueryBuilder.d.ts +0 -9
  307. package/dist/cjs/public_components/ChartQueryBuilder.d.ts.map +0 -1
  308. package/dist/cjs/public_components/ChartQueryBuilder.js +0 -142
  309. package/dist/cjs/public_components/CreateEnvironment.d.ts +0 -7
  310. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +0 -1
  311. package/dist/cjs/public_components/CreateEnvironment.js +0 -295
  312. package/dist/cjs/public_components/DashboardManager.d.ts +0 -6
  313. package/dist/cjs/public_components/DashboardManager.d.ts.map +0 -1
  314. package/dist/cjs/public_components/DashboardManager.js +0 -523
  315. package/dist/cjs/public_components/EnvSelectPopover.d.ts +0 -13
  316. package/dist/cjs/public_components/EnvSelectPopover.d.ts.map +0 -1
  317. package/dist/cjs/public_components/EnvSelectPopover.js +0 -184
  318. package/dist/cjs/public_components/VirtualTableManager.d.ts +0 -6
  319. package/dist/cjs/public_components/VirtualTableManager.d.ts.map +0 -1
  320. package/dist/cjs/public_components/VirtualTableManager.js +0 -829
  321. package/dist/cjs/public_components/__tests__/CreateEnvironment.test.d.ts +0 -2
  322. package/dist/cjs/public_components/__tests__/CreateEnvironment.test.d.ts.map +0 -1
  323. package/dist/cjs/public_components/__tests__/CreateEnvironment.test.js +0 -724
  324. package/dist/cjs/utils/astProcessing.d.ts +0 -15
  325. package/dist/cjs/utils/astProcessing.d.ts.map +0 -1
  326. package/dist/cjs/utils/astProcessing.js +0 -105
  327. package/dist/cjs/utils/astProcessing.uspec.d.ts +0 -2
  328. package/dist/cjs/utils/astProcessing.uspec.d.ts.map +0 -1
  329. package/dist/cjs/utils/astProcessing.uspec.js +0 -30
  330. package/dist/cjs/utils/columnProcessing.d.ts +0 -17
  331. package/dist/cjs/utils/columnProcessing.d.ts.map +0 -1
  332. package/dist/cjs/utils/columnProcessing.js +0 -231
  333. package/dist/cjs/utils/constants.d.ts +0 -10
  334. package/dist/cjs/utils/constants.d.ts.map +0 -1
  335. package/dist/cjs/utils/constants.js +0 -28
  336. package/dist/cjs/utils/dataEditor.d.ts +0 -5
  337. package/dist/cjs/utils/dataEditor.d.ts.map +0 -1
  338. package/dist/cjs/utils/dataEditor.js +0 -94
  339. package/dist/cjs/utils/dataFetcher.d.ts +0 -21
  340. package/dist/cjs/utils/dataFetcher.d.ts.map +0 -1
  341. package/dist/cjs/utils/dataFetcher.js +0 -57
  342. package/dist/cjs/utils/databases.d.ts +0 -61
  343. package/dist/cjs/utils/databases.d.ts.map +0 -1
  344. package/dist/cjs/utils/databases.js +0 -155
  345. package/dist/cjs/utils/delay.d.ts +0 -2
  346. package/dist/cjs/utils/delay.d.ts.map +0 -1
  347. package/dist/cjs/utils/delay.js +0 -7
  348. package/dist/cjs/utils/filter.d.ts +0 -218
  349. package/dist/cjs/utils/filter.d.ts.map +0 -1
  350. package/dist/cjs/utils/filter.js +0 -347
  351. package/dist/cjs/utils/monacoAutocomplete.d.ts +0 -22
  352. package/dist/cjs/utils/monacoAutocomplete.d.ts.map +0 -1
  353. package/dist/cjs/utils/monacoAutocomplete.js +0 -355
  354. package/dist/cjs/utils/report.d.ts +0 -120
  355. package/dist/cjs/utils/report.d.ts.map +0 -1
  356. package/dist/cjs/utils/report.js +0 -109
  357. package/dist/cjs/utils/schema.d.ts +0 -48
  358. package/dist/cjs/utils/schema.d.ts.map +0 -1
  359. package/dist/cjs/utils/schema.js +0 -216
  360. package/dist/cjs/utils/table.d.ts +0 -85
  361. package/dist/cjs/utils/table.d.ts.map +0 -1
  362. package/dist/cjs/utils/table.js +0 -15
  363. package/dist/cjs/utils/tenants.d.ts +0 -11
  364. package/dist/cjs/utils/tenants.d.ts.map +0 -1
  365. package/dist/cjs/utils/tenants.js +0 -37
  366. package/dist/cjs/utils/textProcessing.d.ts +0 -2
  367. package/dist/cjs/utils/textProcessing.d.ts.map +0 -1
  368. package/dist/cjs/utils/textProcessing.js +0 -8
  369. package/dist/cjs/utils/ui.d.ts +0 -2
  370. package/dist/cjs/utils/ui.d.ts.map +0 -1
  371. package/dist/cjs/utils/ui.js +0 -18
  372. package/dist/cjs/utils/validation.d.ts +0 -2
  373. package/dist/cjs/utils/validation.d.ts.map +0 -1
  374. package/dist/cjs/utils/validation.js +0 -77
  375. package/dist/cjs/utils/validation.uspec.d.ts +0 -2
  376. package/dist/cjs/utils/validation.uspec.d.ts.map +0 -1
  377. package/dist/cjs/utils/validation.uspec.js +0 -53
  378. package/dist/esm/Admin.d.ts +0 -28
  379. package/dist/esm/Admin.d.ts.map +0 -1
  380. package/dist/esm/Admin.js +0 -632
  381. package/dist/esm/AdminProvider.d.ts +0 -44
  382. package/dist/esm/AdminProvider.d.ts.map +0 -1
  383. package/dist/esm/AdminProvider.js +0 -559
  384. package/dist/esm/api/ConnectionClient.d.ts +0 -41
  385. package/dist/esm/api/ConnectionClient.d.ts.map +0 -1
  386. package/dist/esm/api/ConnectionClient.js +0 -560
  387. package/dist/esm/assets/ArrowDownHeadIcon.d.ts +0 -5
  388. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +0 -1
  389. package/dist/esm/assets/ArrowDownHeadIcon.js +0 -3
  390. package/dist/esm/assets/XIcon.d.ts +0 -5
  391. package/dist/esm/assets/XIcon.d.ts.map +0 -1
  392. package/dist/esm/assets/XIcon.js +0 -3
  393. package/dist/esm/assets/index.d.ts +0 -3
  394. package/dist/esm/assets/index.d.ts.map +0 -1
  395. package/dist/esm/assets/index.js +0 -2
  396. package/dist/esm/components/Banner/index.d.ts +0 -2
  397. package/dist/esm/components/Banner/index.d.ts.map +0 -1
  398. package/dist/esm/components/Banner/index.js +0 -27
  399. package/dist/esm/components/CardSection.d.ts +0 -3
  400. package/dist/esm/components/CardSection.d.ts.map +0 -1
  401. package/dist/esm/components/CardSection.js +0 -11
  402. package/dist/esm/components/CardTitle.d.ts +0 -3
  403. package/dist/esm/components/CardTitle.d.ts.map +0 -1
  404. package/dist/esm/components/CardTitle.js +0 -11
  405. package/dist/esm/components/ClipboardButton.d.ts +0 -8
  406. package/dist/esm/components/ClipboardButton.d.ts.map +0 -1
  407. package/dist/esm/components/ClipboardButton.js +0 -69
  408. package/dist/esm/components/DashboardSelectPopover.d.ts +0 -14
  409. package/dist/esm/components/DashboardSelectPopover.d.ts.map +0 -1
  410. package/dist/esm/components/DashboardSelectPopover.js +0 -117
  411. package/dist/esm/components/DatabaseMismatchCard.d.ts +0 -6
  412. package/dist/esm/components/DatabaseMismatchCard.d.ts.map +0 -1
  413. package/dist/esm/components/DatabaseMismatchCard.js +0 -15
  414. package/dist/esm/components/DatabaseSelector.d.ts +0 -14
  415. package/dist/esm/components/DatabaseSelector.d.ts.map +0 -1
  416. package/dist/esm/components/DatabaseSelector.js +0 -31
  417. package/dist/esm/components/DateRangePicker/SingleDatePicker.d.ts +0 -10
  418. package/dist/esm/components/DateRangePicker/SingleDatePicker.d.ts.map +0 -1
  419. package/dist/esm/components/DateRangePicker/SingleDatePicker.js +0 -251
  420. package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.d.ts +0 -18
  421. package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.d.ts.map +0 -1
  422. package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.js +0 -306
  423. package/dist/esm/components/DateRangePicker/dateRangePickerUtils.d.ts +0 -91
  424. package/dist/esm/components/DateRangePicker/dateRangePickerUtils.d.ts.map +0 -1
  425. package/dist/esm/components/DateRangePicker/dateRangePickerUtils.js +0 -883
  426. package/dist/esm/components/DeleteButton.d.ts +0 -2
  427. package/dist/esm/components/DeleteButton.d.ts.map +0 -1
  428. package/dist/esm/components/DeleteButton.js +0 -10
  429. package/dist/esm/components/DropDownMenu.d.ts +0 -10
  430. package/dist/esm/components/DropDownMenu.d.ts.map +0 -1
  431. package/dist/esm/components/DropDownMenu.js +0 -39
  432. package/dist/esm/components/DropDownMenuWithLabel.d.ts +0 -14
  433. package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +0 -1
  434. package/dist/esm/components/DropDownMenuWithLabel.js +0 -97
  435. package/dist/esm/components/DynamicBanner.d.ts +0 -9
  436. package/dist/esm/components/DynamicBanner.d.ts.map +0 -1
  437. package/dist/esm/components/DynamicBanner.js +0 -21
  438. package/dist/esm/components/EmptyDashboardComponent/index.d.ts +0 -2
  439. package/dist/esm/components/EmptyDashboardComponent/index.d.ts.map +0 -1
  440. package/dist/esm/components/EmptyDashboardComponent/index.js +0 -46
  441. package/dist/esm/components/EmptyVirtualTablesComponent.d.ts +0 -4
  442. package/dist/esm/components/EmptyVirtualTablesComponent.d.ts.map +0 -1
  443. package/dist/esm/components/EmptyVirtualTablesComponent.js +0 -41
  444. package/dist/esm/components/ExternalLink.d.ts +0 -4
  445. package/dist/esm/components/ExternalLink.d.ts.map +0 -1
  446. package/dist/esm/components/ExternalLink.js +0 -9
  447. package/dist/esm/components/FormTooltip.d.ts +0 -8
  448. package/dist/esm/components/FormTooltip.d.ts.map +0 -1
  449. package/dist/esm/components/FormTooltip.js +0 -87
  450. package/dist/esm/components/InputLabel.d.ts +0 -6
  451. package/dist/esm/components/InputLabel.d.ts.map +0 -1
  452. package/dist/esm/components/InputLabel.js +0 -14
  453. package/dist/esm/components/InternalDashboard/ChartSkeleton.d.ts +0 -11
  454. package/dist/esm/components/InternalDashboard/ChartSkeleton.d.ts.map +0 -1
  455. package/dist/esm/components/InternalDashboard/ChartSkeleton.js +0 -16
  456. package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts +0 -20
  457. package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts.map +0 -1
  458. package/dist/esm/components/InternalDashboard/DashboardFilter.js +0 -101
  459. package/dist/esm/components/InternalDashboard/DashboardLoadingComponent.d.ts +0 -7
  460. package/dist/esm/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +0 -1
  461. package/dist/esm/components/InternalDashboard/DashboardLoadingComponent.js +0 -15
  462. package/dist/esm/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.d.ts +0 -37
  463. package/dist/esm/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.d.ts.map +0 -1
  464. package/dist/esm/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +0 -291
  465. package/dist/esm/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts +0 -85
  466. package/dist/esm/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +0 -1
  467. package/dist/esm/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.js +0 -520
  468. package/dist/esm/components/InternalDashboard/InternalDashboard.d.ts +0 -17
  469. package/dist/esm/components/InternalDashboard/InternalDashboard.d.ts.map +0 -1
  470. package/dist/esm/components/InternalDashboard/InternalDashboard.js +0 -2033
  471. package/dist/esm/components/OrgSelect.d.ts +0 -25
  472. package/dist/esm/components/OrgSelect.d.ts.map +0 -1
  473. package/dist/esm/components/OrgSelect.js +0 -267
  474. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +0 -36
  475. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +0 -1
  476. package/dist/esm/components/QuillMultiSelectWithCombo.js +0 -650
  477. package/dist/esm/components/QuillPopover.d.ts +0 -11
  478. package/dist/esm/components/QuillPopover.d.ts.map +0 -1
  479. package/dist/esm/components/QuillPopover.js +0 -143
  480. package/dist/esm/components/QuillSelect.d.ts +0 -3
  481. package/dist/esm/components/QuillSelect.d.ts.map +0 -1
  482. package/dist/esm/components/QuillSelect.js +0 -153
  483. package/dist/esm/components/QuillSelectWithCombo.d.ts +0 -23
  484. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +0 -1
  485. package/dist/esm/components/QuillSelectWithCombo.js +0 -317
  486. package/dist/esm/components/QuillTab.d.ts +0 -12
  487. package/dist/esm/components/QuillTab.d.ts.map +0 -1
  488. package/dist/esm/components/QuillTab.js +0 -81
  489. package/dist/esm/components/QuillToolTipPortal.d.ts +0 -11
  490. package/dist/esm/components/QuillToolTipPortal.d.ts.map +0 -1
  491. package/dist/esm/components/QuillToolTipPortal.js +0 -104
  492. package/dist/esm/components/SegmentedControl.d.ts +0 -15
  493. package/dist/esm/components/SegmentedControl.d.ts.map +0 -1
  494. package/dist/esm/components/SegmentedControl.js +0 -56
  495. package/dist/esm/components/SqlTextEditor.d.ts +0 -12
  496. package/dist/esm/components/SqlTextEditor.d.ts.map +0 -1
  497. package/dist/esm/components/SqlTextEditor.js +0 -100
  498. package/dist/esm/components/StepDisplay.d.ts +0 -10
  499. package/dist/esm/components/StepDisplay.d.ts.map +0 -1
  500. package/dist/esm/components/StepDisplay.js +0 -15
  501. package/dist/esm/components/Tenants/EditTenant.d.ts +0 -41
  502. package/dist/esm/components/Tenants/EditTenant.d.ts.map +0 -1
  503. package/dist/esm/components/Tenants/EditTenant.js +0 -797
  504. package/dist/esm/components/UiComponents.d.ts +0 -110
  505. package/dist/esm/components/UiComponents.d.ts.map +0 -1
  506. package/dist/esm/components/UiComponents.js +0 -510
  507. package/dist/esm/components/VirtualTableTile.d.ts +0 -7
  508. package/dist/esm/components/VirtualTableTile.d.ts.map +0 -1
  509. package/dist/esm/components/VirtualTableTile.js +0 -48
  510. package/dist/esm/components/index.d.ts +0 -6
  511. package/dist/esm/components/index.d.ts.map +0 -1
  512. package/dist/esm/components/index.js +0 -5
  513. package/dist/esm/constants/dataTypes.d.ts +0 -2
  514. package/dist/esm/constants/dataTypes.d.ts.map +0 -1
  515. package/dist/esm/constants/dataTypes.js +0 -20
  516. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts +0 -21
  517. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +0 -1
  518. package/dist/esm/forms/client_onboard/ConnectDatabase.js +0 -412
  519. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +0 -20
  520. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +0 -1
  521. package/dist/esm/forms/client_onboard/ConnectSchema.js +0 -201
  522. package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts +0 -40
  523. package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts.map +0 -1
  524. package/dist/esm/forms/client_onboard/CreateVirtualTables.js +0 -378
  525. package/dist/esm/forms/client_onboard/__tests__/ConnectDatabase.test.d.ts +0 -2
  526. package/dist/esm/forms/client_onboard/__tests__/ConnectDatabase.test.d.ts.map +0 -1
  527. package/dist/esm/forms/client_onboard/__tests__/ConnectDatabase.test.js +0 -566
  528. package/dist/esm/forms/client_onboard/__tests__/ConnectSchema.test.d.ts +0 -2
  529. package/dist/esm/forms/client_onboard/__tests__/ConnectSchema.test.d.ts.map +0 -1
  530. package/dist/esm/forms/client_onboard/__tests__/ConnectSchema.test.js +0 -455
  531. package/dist/esm/forms/client_onboard/__tests__/CreateVirtualTables.test.d.ts +0 -2
  532. package/dist/esm/forms/client_onboard/__tests__/CreateVirtualTables.test.d.ts.map +0 -1
  533. package/dist/esm/forms/client_onboard/__tests__/CreateVirtualTables.test.js +0 -381
  534. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.d.ts +0 -20
  535. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +0 -1
  536. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.js +0 -374
  537. package/dist/esm/hooks/useAdmin.d.ts +0 -16
  538. package/dist/esm/hooks/useAdmin.d.ts.map +0 -1
  539. package/dist/esm/hooks/useAdmin.js +0 -9
  540. package/dist/esm/hooks/useDashboardManager.d.ts +0 -16
  541. package/dist/esm/hooks/useDashboardManager.d.ts.map +0 -1
  542. package/dist/esm/hooks/useDashboardManager.js +0 -109
  543. package/dist/esm/hooks/useDatabaseSchema.d.ts +0 -5
  544. package/dist/esm/hooks/useDatabaseSchema.d.ts.map +0 -1
  545. package/dist/esm/hooks/useDatabaseSchema.js +0 -66
  546. package/dist/esm/hooks/useItemBeingEdited.d.ts +0 -3
  547. package/dist/esm/hooks/useItemBeingEdited.d.ts.map +0 -1
  548. package/dist/esm/hooks/useItemBeingEdited.js +0 -13
  549. package/dist/esm/hooks/useLongLoading.d.ts +0 -13
  550. package/dist/esm/hooks/useLongLoading.d.ts.map +0 -1
  551. package/dist/esm/hooks/useLongLoading.js +0 -64
  552. package/dist/esm/hooks/useOnClickOutside.d.ts +0 -6
  553. package/dist/esm/hooks/useOnClickOutside.d.ts.map +0 -1
  554. package/dist/esm/hooks/useOnClickOutside.js +0 -59
  555. package/dist/esm/hooks/useTenants.d.ts +0 -13
  556. package/dist/esm/hooks/useTenants.d.ts.map +0 -1
  557. package/dist/esm/hooks/useTenants.js +0 -170
  558. package/dist/esm/hooks/useThrottle.d.ts +0 -2
  559. package/dist/esm/hooks/useThrottle.d.ts.map +0 -1
  560. package/dist/esm/hooks/useThrottle.js +0 -11
  561. package/dist/esm/icons/ArrowDownHeadIcon.d.ts +0 -5
  562. package/dist/esm/icons/ArrowDownHeadIcon.d.ts.map +0 -1
  563. package/dist/esm/icons/ArrowDownHeadIcon.js +0 -3
  564. package/dist/esm/icons/CheckCircleIcon.d.ts +0 -5
  565. package/dist/esm/icons/CheckCircleIcon.d.ts.map +0 -1
  566. package/dist/esm/icons/CheckCircleIcon.js +0 -3
  567. package/dist/esm/icons/DownChevronIcon.d.ts +0 -2
  568. package/dist/esm/icons/DownChevronIcon.d.ts.map +0 -1
  569. package/dist/esm/icons/DownChevronIcon.js +0 -4
  570. package/dist/esm/icons/ExclamationFilledIcon.d.ts +0 -5
  571. package/dist/esm/icons/ExclamationFilledIcon.d.ts.map +0 -1
  572. package/dist/esm/icons/ExclamationFilledIcon.js +0 -3
  573. package/dist/esm/icons/ExteriorLinkIcon.d.ts +0 -5
  574. package/dist/esm/icons/ExteriorLinkIcon.d.ts.map +0 -1
  575. package/dist/esm/icons/ExteriorLinkIcon.js +0 -3
  576. package/dist/esm/icons/GlobeIcon.d.ts +0 -5
  577. package/dist/esm/icons/GlobeIcon.d.ts.map +0 -1
  578. package/dist/esm/icons/GlobeIcon.js +0 -12
  579. package/dist/esm/icons/InformationCircleIcon.d.ts +0 -4
  580. package/dist/esm/icons/InformationCircleIcon.d.ts.map +0 -1
  581. package/dist/esm/icons/InformationCircleIcon.js +0 -4
  582. package/dist/esm/icons/LeftChevronIcon.d.ts +0 -2
  583. package/dist/esm/icons/LeftChevronIcon.d.ts.map +0 -1
  584. package/dist/esm/icons/LeftChevronIcon.js +0 -4
  585. package/dist/esm/icons/QuestionMarkCircleIcon.d.ts +0 -5
  586. package/dist/esm/icons/QuestionMarkCircleIcon.d.ts.map +0 -1
  587. package/dist/esm/icons/QuestionMarkCircleIcon.js +0 -3
  588. package/dist/esm/icons/RightChevronIcon.d.ts +0 -2
  589. package/dist/esm/icons/RightChevronIcon.d.ts.map +0 -1
  590. package/dist/esm/icons/RightChevronIcon.js +0 -4
  591. package/dist/esm/icons/XMarkIcon.d.ts +0 -2
  592. package/dist/esm/icons/XMarkIcon.d.ts.map +0 -1
  593. package/dist/esm/icons/XMarkIcon.js +0 -11
  594. package/dist/esm/icons/index.d.ts +0 -2
  595. package/dist/esm/icons/index.d.ts.map +0 -1
  596. package/dist/esm/icons/index.js +0 -1
  597. package/dist/esm/index.d.ts +0 -6
  598. package/dist/esm/index.d.ts.map +0 -1
  599. package/dist/esm/index.js +0 -6
  600. package/dist/esm/modals/CodePreview.d.ts +0 -6
  601. package/dist/esm/modals/CodePreview.d.ts.map +0 -1
  602. package/dist/esm/modals/CodePreview.js +0 -150
  603. package/dist/esm/modals/CreateEnvironmentModal.d.ts +0 -5
  604. package/dist/esm/modals/CreateEnvironmentModal.d.ts.map +0 -1
  605. package/dist/esm/modals/CreateEnvironmentModal.js +0 -15
  606. package/dist/esm/modals/EditEnvironmentModal.d.ts +0 -15
  607. package/dist/esm/modals/EditEnvironmentModal.d.ts.map +0 -1
  608. package/dist/esm/modals/EditEnvironmentModal.js +0 -602
  609. package/dist/esm/modals/EditFiltersModal.d.ts +0 -21
  610. package/dist/esm/modals/EditFiltersModal.d.ts.map +0 -1
  611. package/dist/esm/modals/EditFiltersModal.js +0 -1314
  612. package/dist/esm/modals/NewDashboardModal.d.ts +0 -15
  613. package/dist/esm/modals/NewDashboardModal.d.ts.map +0 -1
  614. package/dist/esm/modals/NewDashboardModal.js +0 -321
  615. package/dist/esm/modals/PromoteDashboardModal.d.ts +0 -16
  616. package/dist/esm/modals/PromoteDashboardModal.d.ts.map +0 -1
  617. package/dist/esm/modals/PromoteDashboardModal.js +0 -53
  618. package/dist/esm/modals/PromoteReportModal.d.ts +0 -15
  619. package/dist/esm/modals/PromoteReportModal.d.ts.map +0 -1
  620. package/dist/esm/modals/PromoteReportModal.js +0 -136
  621. package/dist/esm/modals/PromoteViewModal.d.ts +0 -14
  622. package/dist/esm/modals/PromoteViewModal.d.ts.map +0 -1
  623. package/dist/esm/modals/PromoteViewModal.js +0 -90
  624. package/dist/esm/modals/ReorderDashboardModal.d.ts +0 -10
  625. package/dist/esm/modals/ReorderDashboardModal.d.ts.map +0 -1
  626. package/dist/esm/modals/ReorderDashboardModal.js +0 -250
  627. package/dist/esm/modals/SavedQueriesModal.d.ts +0 -7
  628. package/dist/esm/modals/SavedQueriesModal.d.ts.map +0 -1
  629. package/dist/esm/modals/SavedQueriesModal.js +0 -125
  630. package/dist/esm/modals/TenantFieldModal.d.ts +0 -9
  631. package/dist/esm/modals/TenantFieldModal.d.ts.map +0 -1
  632. package/dist/esm/modals/TenantFieldModal.js +0 -51
  633. package/dist/esm/modals/index.d.ts +0 -3
  634. package/dist/esm/modals/index.d.ts.map +0 -1
  635. package/dist/esm/modals/index.js +0 -2
  636. package/dist/esm/models/AdminContext.d.ts +0 -158
  637. package/dist/esm/models/AdminContext.d.ts.map +0 -1
  638. package/dist/esm/models/AdminContext.js +0 -2
  639. package/dist/esm/models/Provider.d.ts +0 -45
  640. package/dist/esm/models/Provider.d.ts.map +0 -1
  641. package/dist/esm/models/Provider.js +0 -18
  642. package/dist/esm/models/Tenant.d.ts +0 -39
  643. package/dist/esm/models/Tenant.d.ts.map +0 -1
  644. package/dist/esm/models/Tenant.js +0 -1
  645. package/dist/esm/primitives/ButtonPrimitive.d.ts +0 -16
  646. package/dist/esm/primitives/ButtonPrimitive.d.ts.map +0 -1
  647. package/dist/esm/primitives/ButtonPrimitive.js +0 -61
  648. package/dist/esm/primitives/CheckboxPrimitive.d.ts +0 -12
  649. package/dist/esm/primitives/CheckboxPrimitive.d.ts.map +0 -1
  650. package/dist/esm/primitives/CheckboxPrimitive.js +0 -29
  651. package/dist/esm/primitives/HeaderPrimitive.d.ts +0 -9
  652. package/dist/esm/primitives/HeaderPrimitive.d.ts.map +0 -1
  653. package/dist/esm/primitives/HeaderPrimitive.js +0 -13
  654. package/dist/esm/primitives/MiniButtonPrimitive.d.ts +0 -7
  655. package/dist/esm/primitives/MiniButtonPrimitive.d.ts.map +0 -1
  656. package/dist/esm/primitives/MiniButtonPrimitive.js +0 -54
  657. package/dist/esm/primitives/ModalPrimitive.d.ts +0 -4
  658. package/dist/esm/primitives/ModalPrimitive.d.ts.map +0 -1
  659. package/dist/esm/primitives/ModalPrimitive.js +0 -46
  660. package/dist/esm/primitives/PlaceholderPrimitive.d.ts +0 -5
  661. package/dist/esm/primitives/PlaceholderPrimitive.d.ts.map +0 -1
  662. package/dist/esm/primitives/PlaceholderPrimitive.js +0 -15
  663. package/dist/esm/primitives/PopoverPrimitive.d.ts +0 -8
  664. package/dist/esm/primitives/PopoverPrimitive.d.ts.map +0 -1
  665. package/dist/esm/primitives/PopoverPrimitive.js +0 -62
  666. package/dist/esm/primitives/SecondaryButtonPrimitive.d.ts +0 -12
  667. package/dist/esm/primitives/SecondaryButtonPrimitive.d.ts.map +0 -1
  668. package/dist/esm/primitives/SecondaryButtonPrimitive.js +0 -27
  669. package/dist/esm/primitives/TextInputPrimitive.d.ts +0 -19
  670. package/dist/esm/primitives/TextInputPrimitive.d.ts.map +0 -1
  671. package/dist/esm/primitives/TextInputPrimitive.js +0 -101
  672. package/dist/esm/primitives/TogglePrimitive.d.ts +0 -9
  673. package/dist/esm/primitives/TogglePrimitive.d.ts.map +0 -1
  674. package/dist/esm/primitives/TogglePrimitive.js +0 -48
  675. package/dist/esm/primitives/index.d.ts +0 -7
  676. package/dist/esm/primitives/index.d.ts.map +0 -1
  677. package/dist/esm/primitives/index.js +0 -6
  678. package/dist/esm/public_components/ChartQueryBuilder.d.ts +0 -9
  679. package/dist/esm/public_components/ChartQueryBuilder.d.ts.map +0 -1
  680. package/dist/esm/public_components/ChartQueryBuilder.js +0 -136
  681. package/dist/esm/public_components/CreateEnvironment.d.ts +0 -7
  682. package/dist/esm/public_components/CreateEnvironment.d.ts.map +0 -1
  683. package/dist/esm/public_components/CreateEnvironment.js +0 -256
  684. package/dist/esm/public_components/DashboardManager.d.ts +0 -6
  685. package/dist/esm/public_components/DashboardManager.d.ts.map +0 -1
  686. package/dist/esm/public_components/DashboardManager.js +0 -517
  687. package/dist/esm/public_components/EnvSelectPopover.d.ts +0 -13
  688. package/dist/esm/public_components/EnvSelectPopover.d.ts.map +0 -1
  689. package/dist/esm/public_components/EnvSelectPopover.js +0 -178
  690. package/dist/esm/public_components/VirtualTableManager.d.ts +0 -6
  691. package/dist/esm/public_components/VirtualTableManager.d.ts.map +0 -1
  692. package/dist/esm/public_components/VirtualTableManager.js +0 -823
  693. package/dist/esm/public_components/__tests__/CreateEnvironment.test.d.ts +0 -2
  694. package/dist/esm/public_components/__tests__/CreateEnvironment.test.d.ts.map +0 -1
  695. package/dist/esm/public_components/__tests__/CreateEnvironment.test.js +0 -719
  696. package/dist/esm/utils/astProcessing.d.ts +0 -15
  697. package/dist/esm/utils/astProcessing.d.ts.map +0 -1
  698. package/dist/esm/utils/astProcessing.js +0 -98
  699. package/dist/esm/utils/astProcessing.uspec.d.ts +0 -2
  700. package/dist/esm/utils/astProcessing.uspec.d.ts.map +0 -1
  701. package/dist/esm/utils/astProcessing.uspec.js +0 -28
  702. package/dist/esm/utils/columnProcessing.d.ts +0 -17
  703. package/dist/esm/utils/columnProcessing.d.ts.map +0 -1
  704. package/dist/esm/utils/columnProcessing.js +0 -220
  705. package/dist/esm/utils/constants.d.ts +0 -10
  706. package/dist/esm/utils/constants.d.ts.map +0 -1
  707. package/dist/esm/utils/constants.js +0 -25
  708. package/dist/esm/utils/dataEditor.d.ts +0 -5
  709. package/dist/esm/utils/dataEditor.d.ts.map +0 -1
  710. package/dist/esm/utils/dataEditor.js +0 -88
  711. package/dist/esm/utils/dataFetcher.d.ts +0 -21
  712. package/dist/esm/utils/dataFetcher.d.ts.map +0 -1
  713. package/dist/esm/utils/dataFetcher.js +0 -53
  714. package/dist/esm/utils/databases.d.ts +0 -61
  715. package/dist/esm/utils/databases.d.ts.map +0 -1
  716. package/dist/esm/utils/databases.js +0 -150
  717. package/dist/esm/utils/delay.d.ts +0 -2
  718. package/dist/esm/utils/delay.d.ts.map +0 -1
  719. package/dist/esm/utils/delay.js +0 -3
  720. package/dist/esm/utils/filter.d.ts +0 -218
  721. package/dist/esm/utils/filter.d.ts.map +0 -1
  722. package/dist/esm/utils/filter.js +0 -343
  723. package/dist/esm/utils/monacoAutocomplete.d.ts +0 -22
  724. package/dist/esm/utils/monacoAutocomplete.d.ts.map +0 -1
  725. package/dist/esm/utils/monacoAutocomplete.js +0 -350
  726. package/dist/esm/utils/report.d.ts +0 -120
  727. package/dist/esm/utils/report.d.ts.map +0 -1
  728. package/dist/esm/utils/report.js +0 -106
  729. package/dist/esm/utils/schema.d.ts +0 -48
  730. package/dist/esm/utils/schema.d.ts.map +0 -1
  731. package/dist/esm/utils/schema.js +0 -210
  732. package/dist/esm/utils/table.d.ts +0 -85
  733. package/dist/esm/utils/table.d.ts.map +0 -1
  734. package/dist/esm/utils/table.js +0 -11
  735. package/dist/esm/utils/tenants.d.ts +0 -11
  736. package/dist/esm/utils/tenants.d.ts.map +0 -1
  737. package/dist/esm/utils/tenants.js +0 -31
  738. package/dist/esm/utils/textProcessing.d.ts +0 -2
  739. package/dist/esm/utils/textProcessing.d.ts.map +0 -1
  740. package/dist/esm/utils/textProcessing.js +0 -5
  741. package/dist/esm/utils/ui.d.ts +0 -2
  742. package/dist/esm/utils/ui.d.ts.map +0 -1
  743. package/dist/esm/utils/ui.js +0 -14
  744. package/dist/esm/utils/validation.d.ts +0 -2
  745. package/dist/esm/utils/validation.d.ts.map +0 -1
  746. package/dist/esm/utils/validation.js +0 -74
  747. package/dist/esm/utils/validation.uspec.d.ts +0 -2
  748. package/dist/esm/utils/validation.uspec.d.ts.map +0 -1
  749. package/dist/esm/utils/validation.uspec.js +0 -51
@@ -1,1315 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.EditFiltersModal = EditFiltersModal;
7
- const jsx_runtime_1 = require("react/jsx-runtime");
8
- const react_1 = require("react");
9
- const useAdmin_1 = require("../hooks/useAdmin");
10
- const react_2 = require("@quillsql/react");
11
- const constants_1 = require("../utils/constants");
12
- const Admin_1 = require("../Admin");
13
- const InputLabel_1 = __importDefault(require("../components/InputLabel"));
14
- const CardSection_1 = __importDefault(require("../components/CardSection"));
15
- const SegmentedControl_1 = require("../components/SegmentedControl");
16
- const columnProcessing_1 = require("../utils/columnProcessing");
17
- const validation_1 = require("../utils/validation");
18
- const UiComponents_1 = require("../components/UiComponents");
19
- const QuillSelectWithCombo_1 = require("../components/QuillSelectWithCombo");
20
- const DownChevronIcon_1 = __importDefault(require("../icons/DownChevronIcon"));
21
- const RightChevronIcon_1 = __importDefault(require("../icons/RightChevronIcon"));
22
- const TextInputPrimitive_1 = __importDefault(require("../primitives/TextInputPrimitive"));
23
- const SingleDatePicker_1 = require("../components/DateRangePicker/SingleDatePicker");
24
- const date_fns_1 = require("date-fns");
25
- const YearlessDateRangePicker_1 = require("../components/DateRangePicker/YearlessDateRangePicker");
26
- const ExclamationFilledIcon_1 = __importDefault(require("../icons/ExclamationFilledIcon"));
27
- const QuillToolTipPortal_1 = require("../components/QuillToolTipPortal");
28
- const dateRangePickerUtils_1 = require("../components/DateRangePicker/dateRangePickerUtils");
29
- const QuillPopover_1 = require("../components/QuillPopover");
30
- const intervalTypeOptions = [
31
- // {
32
- // label: 'Week',
33
- // value: 'week'
34
- // },
35
- {
36
- label: 'Last',
37
- value: 'relative',
38
- },
39
- {
40
- label: 'Custom Term',
41
- value: 'repeating',
42
- },
43
- {
44
- label: 'Static',
45
- value: 'static',
46
- },
47
- ];
48
- function EditFiltersModal({ isOpen, selectedDashboardName, setIsOpen, onSave, ModalComponent, TextInputComponent, ButtonComponent, HeaderComponent, SelectComponent, dashNames, SecondaryButtonComponent, ErrorComponent, openPromoteModal, }) {
49
- const { state } = (0, useAdmin_1.useAdmin)();
50
- const { dashboards, deleteDashboard, updateDashboard } = (0, react_2.useDashboards)();
51
- const { data: selectedDashboard } = (0, react_2.useDashboardInternal)(selectedDashboardName);
52
- const [isDateComparison, setIsDateComparison] = (0, react_1.useState)(false);
53
- const [currentDashboardName, setCurrentDashboardName] = (0, react_1.useState)(selectedDashboardName);
54
- const [newFilters, setNewFilters] = (0, react_1.useState)([]);
55
- const [initialRange, setInitialRange] = (0, react_1.useState)(selectedDashboard?.dateFilter?.primaryRange ?? {
56
- label: 'Last 30 days',
57
- value: 'LAST_30_DAYS',
58
- });
59
- const [showDateFilter, setShowDateFilter] = (0, react_1.useState)(false);
60
- const [newDateFilter, setNewDateFilter] = (0, react_1.useState)();
61
- const [validationError, setValidationError] = (0, react_1.useState)([]);
62
- const [filterNameMap, setFilterNameMap] = (0, react_1.useState)({});
63
- const [showCustomIntervals, setShowCustomIntervals] = (0, react_1.useState)(false);
64
- const [displaySubIntervals, setDisplaySubIntervals] = (0, react_1.useState)([]);
65
- const assignDefaultInterval = (label, set, loopStart, loopEnd) => {
66
- if (!newDateFilter)
67
- return;
68
- if (set) {
69
- setNewDateFilter({
70
- ...newDateFilter,
71
- defaultPresetRanges: [
72
- ...(newDateFilter?.defaultPresetRanges ?? []).filter((r) => r?.label !== label),
73
- { label, loopStart, loopEnd },
74
- ],
75
- });
76
- }
77
- else {
78
- setNewDateFilter({
79
- ...newDateFilter,
80
- defaultPresetRanges: newDateFilter?.defaultPresetRanges?.filter((r) => r?.label !== label) ?? [],
81
- });
82
- }
83
- };
84
- const getDefaultInterval = (label) => {
85
- return newDateFilter?.defaultPresetRanges?.find((r) => r?.label === label);
86
- };
87
- const emptyInterval = {
88
- week: { type: 'week' },
89
- relative: { type: 'relative', value: 1, unit: 'days' },
90
- repeating: {
91
- type: 'repeating',
92
- label: 'Quarter',
93
- loopDate: { day: 1, month: 1 },
94
- subIntervals: [
95
- {
96
- type: 'static',
97
- startDate: { day: 1, month: 1 },
98
- endDate: { day: 31, month: 3 },
99
- },
100
- {
101
- type: 'static',
102
- startDate: { day: 1, month: 4 },
103
- endDate: { day: 30, month: 6 },
104
- },
105
- {
106
- type: 'static',
107
- startDate: { day: 1, month: 7 },
108
- endDate: { day: 30, month: 9 },
109
- },
110
- {
111
- type: 'static',
112
- startDate: { day: 1, month: 10 },
113
- endDate: { day: 31, month: 12 },
114
- },
115
- ],
116
- },
117
- static: {
118
- type: 'static',
119
- label: 'January',
120
- startDate: { day: 1, month: 1 },
121
- endDate: { day: 31, month: 1 },
122
- },
123
- };
124
- const subIntervalIssues = (0, react_1.useMemo)(() => {
125
- // Helper to check if two days are adjacent (the second follows the first)
126
- const areAdjacent = (day1, day2) => {
127
- // Create dates in leap year 2024 for proper handling
128
- const date1 = new Date(2024, day1.month - 1, day1.day);
129
- const date2 = new Date(2024, day2.month - 1, day2.day);
130
- // Add one day to first date and check if it equals the second date
131
- const nextDay = new Date(date1);
132
- nextDay.setDate(nextDay.getDate() + 1);
133
- // Compare the dates ignoring time
134
- return (nextDay.getDate() === date2.getDate() &&
135
- nextDay.getMonth() === date2.getMonth());
136
- };
137
- return (newDateFilter?.presetOptions?.reduce((acc, interval, index) => {
138
- if (interval?.type !== 'repeating' || !interval.subIntervals?.length)
139
- return acc;
140
- acc[index] = interval.subIntervals?.map((subInterval) => {
141
- if (!subInterval)
142
- return 'Sub-interval is empty';
143
- // if (!subInterval.label) return "Sub-interval must have a label";
144
- if (!subInterval.startDate ||
145
- !subInterval.startDate.day ||
146
- !subInterval.startDate.month)
147
- return 'Sub-interval must have a start date';
148
- if (!subInterval.endDate ||
149
- !subInterval.endDate.day ||
150
- !subInterval.endDate.month)
151
- return 'Sub-interval must have an end date';
152
- // Verify sub-interval doesn't overlap with other sub-intervals
153
- // Use 2024 (leap year) for proper date handling
154
- const subIntervalStart = new Date(2024, subInterval.startDate.month - 1, subInterval.startDate.day);
155
- const subIntervalEnd = new Date(2024, subInterval.endDate.month - 1, subInterval.endDate.day);
156
- const overlappingSubIntervals = interval.subIntervals?.filter((otherSubInterval) => {
157
- if (!otherSubInterval || otherSubInterval === subInterval)
158
- return false;
159
- // Check for proper adjacency with February end transitions
160
- if (subInterval.endDate.month === 2 &&
161
- (subInterval.endDate.day === 28 ||
162
- subInterval.endDate.day === 29) &&
163
- otherSubInterval.startDate?.month === 3 &&
164
- otherSubInterval.startDate?.day === 1) {
165
- if (areAdjacent(subInterval.endDate, otherSubInterval.startDate)) {
166
- return false; // They're adjacent, not overlapping
167
- }
168
- }
169
- // Otherwise do normal overlap check
170
- const otherSubIntervalStart = new Date(2024, (otherSubInterval.startDate?.month ?? 1) - 1, otherSubInterval.startDate?.day ?? 1);
171
- const otherSubIntervalEnd = new Date(2024, (otherSubInterval.endDate?.month ?? 1) - 1, otherSubInterval.endDate?.day ?? 1);
172
- // Check for overlap - intervals overlap if one starts before the other ends
173
- return (subIntervalStart <= otherSubIntervalEnd &&
174
- subIntervalEnd >= otherSubIntervalStart);
175
- }) ?? [];
176
- if (overlappingSubIntervals.length)
177
- return 'Sub-intervals overlap';
178
- return undefined;
179
- });
180
- return acc;
181
- }, {}) ?? {});
182
- }, [newDateFilter]);
183
- const intervalIssues = (0, react_1.useMemo)(() => {
184
- const ucFirst = (str) => str.charAt(0).toUpperCase() + str.slice(1);
185
- // Helper function to get the next day in month/day format
186
- const getNextDay = (month, day) => {
187
- const date = new Date(2024, month - 1, day + 1); // Use leap year to handle Feb correctly
188
- return {
189
- month: date.getMonth() + 1,
190
- day: date.getDate(),
191
- };
192
- };
193
- // Helper to compare if two date objects are the same day
194
- const isSameDay = (date1, date2) => {
195
- return date1.month === date2.month && date1.day === date2.day;
196
- };
197
- // Helper to check if two days are adjacent (the second follows the first)
198
- const areAdjacent = (day1, day2) => {
199
- // Normal case: check if next day of day1 is day2
200
- const nextDay = getNextDay(day1.month, day1.day);
201
- if (isSameDay(nextDay, day2))
202
- return true;
203
- // Special case for February to March transition
204
- // This handles both leap years (Feb 29 -> Mar 1) and non-leap years (Feb 28 -> Mar 1)
205
- if (day1.month === 2 &&
206
- (day1.day === 28 || day1.day === 29) &&
207
- day2.month === 3 &&
208
- day2.day === 1) {
209
- return true;
210
- }
211
- // Handle month transitions for months with 30 days
212
- if ([4, 6, 9, 11].includes(day1.month) &&
213
- day1.day === 30 &&
214
- day2.day === 1 &&
215
- day2.month === day1.month + 1) {
216
- return true;
217
- }
218
- // Handle month transitions for months with 31 days
219
- if ([1, 3, 5, 7, 8, 10, 12].includes(day1.month) &&
220
- day1.day === 31 &&
221
- day2.day === 1 &&
222
- (day2.month === day1.month + 1 ||
223
- (day1.month === 12 && day2.month === 1))) {
224
- return true;
225
- }
226
- return false;
227
- };
228
- return newDateFilter?.presetOptions?.map((interval, index) => {
229
- if (!interval)
230
- return 'Option is empty';
231
- if (!interval.type)
232
- return 'Option must have a type';
233
- if ((interval.type === 'repeating' || interval.type === 'static') &&
234
- !interval.label)
235
- return `${ucFirst(interval.type)} intervals must have a label`;
236
- // If interval label matches one of the default intervals, it must not
237
- if ([
238
- 'Week',
239
- 'Month',
240
- 'Year',
241
- 'Last 7 days',
242
- 'Last 30 days',
243
- 'Last 90 days',
244
- 'Last 6 months',
245
- ].includes(interval.label ?? '')) {
246
- return 'Cannot use a default interval label';
247
- }
248
- if (interval.type === 'repeating' || interval.type === 'static')
249
- if (newDateFilter?.presetOptions?.filter((o, i) => o?.label === interval.label && i !== index).length)
250
- return 'Duplicate label';
251
- if (interval.type === 'week' &&
252
- newDateFilter?.presetOptions?.filter((o, i) => o?.type === 'week' && i !== index).length)
253
- return 'Only one week interval allowed';
254
- if (interval.type === 'relative' &&
255
- (newDateFilter?.presetOptions?.filter((o) => o?.type === 'relative' &&
256
- o.unit === interval.unit &&
257
- o.value === interval.value)?.length ?? 0) > 1)
258
- return 'Duplicate relative interval';
259
- if (interval.type === 'static') {
260
- if (!interval.startDate ||
261
- !interval.startDate.day ||
262
- !interval.startDate.month)
263
- return 'Must have a start date';
264
- if (!interval.endDate ||
265
- !interval.endDate.day ||
266
- !interval.endDate.month)
267
- return 'Must have an end date';
268
- }
269
- if (interval.type === 'relative') {
270
- if (!interval.value)
271
- return 'Must have a value';
272
- if (typeof interval.value !== 'number' &&
273
- isNaN(parseInt(interval.value)))
274
- return 'Value must be an integer';
275
- if (typeof interval.value !== 'number' && parseInt(interval.value) <= 0)
276
- return 'Value must be positive';
277
- if (!interval.unit)
278
- return 'Must have a unit';
279
- }
280
- if (interval.type === 'repeating') {
281
- if (!interval.loopDate ||
282
- !interval.loopDate.day ||
283
- !interval.loopDate.month)
284
- return 'Must have a loop date';
285
- if (!interval.subIntervals?.length)
286
- return 'Must have sub-intervals';
287
- if (subIntervalIssues[index]?.some((issue) => !!issue))
288
- return 'Sub-intervals have issues';
289
- // Verify subintervals don't overlap with each other
290
- const subIntervals = interval.subIntervals?.filter((si) => !!si) || [];
291
- // First, sort them by start date for validation
292
- const sortedIntervals = [...subIntervals].sort((a, b) => {
293
- const aDate = new Date(2024, a.startDate.month - 1, a.startDate.day);
294
- const bDate = new Date(2024, b.startDate.month - 1, b.startDate.day);
295
- return aDate.getTime() - bDate.getTime();
296
- });
297
- // Find the interval that starts on the loop date
298
- const loopDate = interval.loopDate;
299
- const startingIntervalIndex = sortedIntervals.findIndex((si) => si?.startDate?.month === loopDate.month &&
300
- si?.startDate?.day === loopDate.day);
301
- if (startingIntervalIndex === -1)
302
- return 'No sub-interval starts on the loop date';
303
- // Reorder the array to start with the loop date interval
304
- const orderedIntervals = [
305
- ...sortedIntervals.slice(startingIntervalIndex),
306
- ...sortedIntervals.slice(0, startingIntervalIndex),
307
- ];
308
- // Check for contiguity and completeness
309
- for (let i = 0; i < orderedIntervals.length - 1; i++) {
310
- const current = orderedIntervals[i];
311
- const next = orderedIntervals[i + 1];
312
- if (!areAdjacent(current.endDate, next.startDate)) {
313
- return `Gap between ${current.label} and ${next.label}`;
314
- }
315
- }
316
- // Check if the last interval connects back to the first one
317
- const last = orderedIntervals[orderedIntervals.length - 1];
318
- const first = orderedIntervals[0];
319
- if (!areAdjacent(last.endDate, first.startDate)) {
320
- if (!(areAdjacent({ month: 12, day: 31 }, first.startDate) &&
321
- areAdjacent(last.endDate, { month: 1, day: 1 }))) {
322
- return `Gap between ${last.label} and ${first.label}`;
323
- }
324
- }
325
- }
326
- });
327
- }, [newDateFilter, subIntervalIssues]);
328
- const filteredTables = (0, react_1.useMemo)(() => {
329
- return state.tables.filter((table) => {
330
- return (selectedDashboard?.tenantKeys?.[0] === constants_1.SINGLE_TENANT ||
331
- table.ownerTenantFields?.length === 0 ||
332
- table.ownerTenantFields?.includes(selectedDashboard?.tenantKeys?.[0] ?? ''));
333
- });
334
- }, [state.tables, selectedDashboard?.tenantKeys]);
335
- const months = (0, react_1.useRef)([
336
- 'January',
337
- 'February',
338
- 'March',
339
- 'April',
340
- 'May',
341
- 'June',
342
- 'July',
343
- 'August',
344
- 'September',
345
- 'October',
346
- 'November',
347
- 'December',
348
- ]);
349
- const monthlyInterval = (0, react_1.useMemo)(() => getDefaultInterval('Monthly'), [newDateFilter?.defaultPresetRanges]);
350
- const yearlyInterval = (0, react_1.useMemo)(() => getDefaultInterval('Yearly'), [newDateFilter?.defaultPresetRanges]);
351
- (0, react_1.useEffect)(() => {
352
- if (!selectedDashboard) {
353
- return;
354
- }
355
- setValidationError([]);
356
- setCurrentDashboardName(selectedDashboard.name);
357
- setIsDateComparison(selectedDashboard?.dateFilter?.comparison ?? false);
358
- setNewFilters(selectedDashboard?.filters ?? []);
359
- setNewDateFilter(selectedDashboard.dateFilter);
360
- setDisplaySubIntervals(selectedDashboard.dateFilter?.presetOptions?.map(() => false) ?? []);
361
- setShowDateFilter(!!selectedDashboard.dateFilter);
362
- setInitialRange(selectedDashboard.dateFilter?.primaryRange ?? {
363
- label: 'Last 30 days',
364
- value: 'LAST_30_DAYS',
365
- });
366
- setFilterNameMap(selectedDashboard.filters.reduce((acc, filter) => {
367
- acc[filter.label] = filter.label;
368
- return acc;
369
- }, {}));
370
- }, [selectedDashboard]);
371
- const selectablePresetOptions = (0, react_1.useMemo)(() => {
372
- return (0, dateRangePickerUtils_1.convertPresetOptionsToSelectableList)((newDateFilter?.presetOptions?.filter((option, index) => !!option && !intervalIssues?.[index]) ?? []), newDateFilter?.defaultPresetRanges ?? []);
373
- }, [
374
- newDateFilter?.presetOptions,
375
- newDateFilter?.defaultPresetRanges,
376
- intervalIssues,
377
- ]);
378
- const dashboardValidationError = (0, react_1.useMemo)(() => {
379
- if (!currentDashboardName)
380
- return 'Dashboard name cannot be empty';
381
- if (newFilters?.some((f) => !f.label || !f.table || !f.field))
382
- return 'Filters must have a label, table, and field';
383
- if ((newFilters ?? [])
384
- .concat(newDateFilter ? [newDateFilter] : [])
385
- ?.map((f) => f.label)
386
- .filter((label, index, self) => self.indexOf(label) !== index).length)
387
- return 'Filters must have unique labels';
388
- if (newDateFilter && (!newDateFilter?.label || !initialRange))
389
- return 'Date filter must have a label and range';
390
- if (intervalIssues?.some((i) => i))
391
- return 'Date filter presets have issues';
392
- if (!selectablePresetOptions?.find((option) => option.value === initialRange.value))
393
- return 'Date filter must have a valid initial range';
394
- if (newDateFilter?.defaultPresetRanges?.some((range) => range?.label === 'Yearly' && !range.loopStart))
395
- return 'Yearly intervals must have a backwards cutoff date';
396
- if (newDateFilter?.defaultPresetRanges?.some((range) => range?.label === 'Monthly' && !range.loopStart))
397
- return 'Monthly intervals must have a backwards cutoff date';
398
- // Ensure loopEnd is after loopStart
399
- if (newDateFilter?.defaultPresetRanges?.some((range) => range?.label === 'Yearly' &&
400
- range?.loopEnd &&
401
- range?.loopStart &&
402
- range.loopEnd <= range.loopStart))
403
- return 'Yearly intervals must have an end date that occurs after the start date';
404
- if (newDateFilter?.defaultPresetRanges?.some((range) => range?.label === 'Monthly' &&
405
- range?.loopEnd &&
406
- range?.loopStart &&
407
- range.loopEnd <= range.loopStart))
408
- return 'Monthly intervals must have an end date that occurs after the start date';
409
- }, [
410
- currentDashboardName,
411
- newFilters,
412
- newDateFilter,
413
- initialRange,
414
- intervalIssues,
415
- selectablePresetOptions,
416
- ]);
417
- const handleAddFilter = async () => {
418
- setNewFilters([...newFilters, { label: '' }]);
419
- };
420
- const normalizeFieldName = (fieldName) => {
421
- return (fieldName
422
- ?.split('_')
423
- .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
424
- .join(' ') ?? '');
425
- };
426
- const handleSubmitDashboardChanges = async () => {
427
- const validationErrorMessages = (0, validation_1.validateDashboard)(newFilters, dashNames, currentDashboardName, newDateFilter ? { ...newDateFilter, comparison: isDateComparison } : null, selectedDashboard);
428
- if (validationErrorMessages.length !== 0) {
429
- setValidationError(validationErrorMessages);
430
- return;
431
- }
432
- const updatedFilters = newFilters.map((filter) => {
433
- const table = filteredTables.find((table) => table?.name === filter?.table);
434
- const column = table?.columns.find((col) => col.field === filter?.field);
435
- const filterType = column ? (0, Admin_1.getPostgresBasicType)(column) : 'string';
436
- return {
437
- table: filter.table,
438
- field: filter.field,
439
- labelField: filter.field,
440
- label: filter.label,
441
- oldLabel: Object.entries(filterNameMap).find(([oldLabel, newLabel]) => newLabel === filter.label && oldLabel !== filter.label)?.[0],
442
- filterType,
443
- stringFilterType: filter.stringFilterType,
444
- };
445
- });
446
- await updateDashboard(selectedDashboardName, {
447
- newName: currentDashboardName,
448
- filters: updatedFilters.map((filter) => {
449
- return {
450
- ...filter,
451
- filterType: filter.filterType,
452
- dashboardName: currentDashboardName,
453
- options: [],
454
- };
455
- }),
456
- dateFilter: newDateFilter
457
- ? {
458
- ...newDateFilter,
459
- comparison: isDateComparison,
460
- primaryRange: initialRange,
461
- presetOptions: newDateFilter.presetOptions
462
- ?.map((interval) => {
463
- if (!interval)
464
- return undefined;
465
- if (interval.type === 'repeating') {
466
- return {
467
- ...interval,
468
- subIntervals: interval.subIntervals?.map((subInterval) => {
469
- if (!subInterval)
470
- return undefined;
471
- return {
472
- ...subInterval,
473
- startDate: subInterval.startDate,
474
- endDate: subInterval.endDate,
475
- };
476
- }),
477
- };
478
- }
479
- if (interval.type === 'static') {
480
- return {
481
- ...interval,
482
- startDate: interval.startDate,
483
- endDate: interval.endDate,
484
- };
485
- }
486
- if (interval.type === 'relative') {
487
- return {
488
- ...interval,
489
- value: typeof interval.value === 'string'
490
- ? parseInt(interval.value)
491
- : interval.value,
492
- };
493
- }
494
- return interval;
495
- })
496
- .filter((interval) => !!interval),
497
- }
498
- : undefined,
499
- // sectionOrder,
500
- });
501
- await onSave(currentDashboardName);
502
- setIsOpen(false);
503
- };
504
- const handleDeleteFilter = (filter) => {
505
- // When a filter is deleted, we don't have any easy method of removing its entry in
506
- // the filterMap on the actual dashboard item. We'll just leave it there for now.
507
- delete filterNameMap[filter.label];
508
- setNewFilters(newFilters.filter((f) => f !== filter));
509
- };
510
- const handleDeleteDateFilter = () => {
511
- setShowDateFilter(false);
512
- setNewDateFilter(undefined);
513
- };
514
- const handleAddDateFilter = () => {
515
- setShowDateFilter(true);
516
- setNewDateFilter({
517
- label: 'Date',
518
- defaultPresetRanges: [
519
- { label: 'This week' },
520
- { label: 'This month' },
521
- { label: 'This year' },
522
- { label: 'Last 7 days' },
523
- { label: 'Last 30 days' },
524
- { label: 'Last 90 days' },
525
- { label: 'Last 6 months' },
526
- ],
527
- });
528
- };
529
- const handleAddInterval = () => {
530
- setNewDateFilter({
531
- ...newDateFilter,
532
- presetOptions: [
533
- ...(newDateFilter?.presetOptions ?? []),
534
- emptyInterval['static'],
535
- ],
536
- });
537
- setDisplaySubIntervals([...displaySubIntervals, false]);
538
- };
539
- const handleDeleteInterval = (index) => {
540
- const updatedOptions = newDateFilter?.presetOptions?.filter((_, i) => i !== index) ?? [];
541
- setNewDateFilter({
542
- ...newDateFilter,
543
- presetOptions: updatedOptions,
544
- });
545
- setDisplaySubIntervals(displaySubIntervals.filter((_, i) => i !== index));
546
- };
547
- const handleAddSubInterval = (index) => {
548
- const updatedOptions = newDateFilter?.presetOptions?.map((o, i) => index === i
549
- ? {
550
- ...o,
551
- subIntervals: [
552
- ...(o.subIntervals ?? []),
553
- emptyInterval['static'],
554
- ],
555
- }
556
- : o) ?? [];
557
- setNewDateFilter({
558
- ...newDateFilter,
559
- presetOptions: updatedOptions,
560
- });
561
- };
562
- const handleDeleteSubInterval = (index, subIndex) => {
563
- const updatedOptions = newDateFilter?.presetOptions?.map((o, i) => index === i
564
- ? {
565
- ...o,
566
- subIntervals: o.subIntervals?.filter((_, j) => j !== subIndex),
567
- }
568
- : o) ?? [];
569
- setNewDateFilter({
570
- ...newDateFilter,
571
- presetOptions: updatedOptions,
572
- });
573
- };
574
- const handleDeleteDashboard = async () => {
575
- if (confirm('Are you sure? This action cannot be undone.')) {
576
- await deleteDashboard(selectedDashboardName);
577
- onSave((dashboards?.filter((d) => d.name !== constants_1.SAVED_QUERIES_DASHBOARD &&
578
- d.name !== selectedDashboardName)?.[0]?.name ??
579
- (state.client?.defaultDashboard?.name &&
580
- state.client?.defaultDashboard?.name !== selectedDashboardName))
581
- ? state.client?.defaultDashboard?.name
582
- : null);
583
- setIsOpen(false);
584
- setNewFilters([]);
585
- }
586
- };
587
- return ((0, jsx_runtime_1.jsx)(ModalComponent, { isOpen: isOpen, onClose: () => {
588
- setValidationError([]);
589
- setIsOpen(false);
590
- setIsDateComparison(selectedDashboard?.dateFilter?.comparison ?? false);
591
- setNewFilters(selectedDashboard?.filters ?? []);
592
- setNewDateFilter(selectedDashboard?.dateFilter ?? undefined);
593
- setCurrentDashboardName(selectedDashboardName);
594
- setShowDateFilter(!!selectedDashboard?.dateFilter);
595
- }, style: {
596
- minWidth: '814px',
597
- }, children: (0, jsx_runtime_1.jsx)(UiComponents_1.OverflowContainer, { children: (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsxs)("div", { style: {
598
- display: 'flex',
599
- gap: 16,
600
- flexDirection: 'column',
601
- width: '100%',
602
- height: '100%',
603
- maxHeight: '100%',
604
- // overflowY: 'auto',
605
- }, children: [(0, jsx_runtime_1.jsx)(HeaderComponent, { label: "Manage dashboard" }), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(InputLabel_1.default, { children: "Name" }), (0, jsx_runtime_1.jsx)("div", { style: { maxWidth: 230 }, children: (0, jsx_runtime_1.jsx)(TextInputComponent, { width: "230px", value: currentDashboardName, onChange: (e) => setCurrentDashboardName(e.target.value) }) })] }), (state.client?.allTenantTypes?.length ?? 1) <= 1 ? null : ((0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsx)(InputLabel_1.default, { tooltip: "Data coming into this dashboard is filtered by this singular tenant. Reports may only reference virtual tables owned by this tenant (or owned by no tenants). This is only selectable while creating a new dashboard", children: "Dashboard Owner" }), (0, jsx_runtime_1.jsx)("div", { style: { maxWidth: 230 }, children: (0, jsx_runtime_1.jsx)(SelectComponent, { onChange: () => { }, value: selectedDashboard?.tenantKeys?.[0] ?? '', options: state.client?.allTenantTypes?.map((tenant) => {
606
- return {
607
- label: tenant.name,
608
- value: tenant.tenantField,
609
- };
610
- }), disabled: true }) })] })), (0, jsx_runtime_1.jsxs)("div", { children: [(0, jsx_runtime_1.jsxs)("div", { style: {
611
- display: 'flex',
612
- flexDirection: 'column',
613
- gap: '10px',
614
- }, children: [(0, jsx_runtime_1.jsx)(CardSection_1.default, { children: "Date Filter" }), showDateFilter && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)("div", { style: {
615
- display: 'flex',
616
- flexDirection: 'row',
617
- gap: '10px',
618
- }, children: [(0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)(InputLabel_1.default, { children: "Label" }), (0, jsx_runtime_1.jsx)("div", { style: {
619
- display: 'flex',
620
- flexDirection: 'row',
621
- alignItems: 'center',
622
- }, children: (0, jsx_runtime_1.jsx)(TextInputComponent, { value: newDateFilter?.label || '', width: "230px", onChange: (e) => {
623
- setNewDateFilter({
624
- ...newDateFilter,
625
- label: e.target.value,
626
- });
627
- } }) })] }), (0, jsx_runtime_1.jsx)("div", { style: {
628
- display: 'flex',
629
- flexDirection: 'row',
630
- gap: '10px',
631
- }, children: (0, jsx_runtime_1.jsxs)("div", { style: { display: 'flex', flexDirection: 'column' }, children: [(0, jsx_runtime_1.jsx)(InputLabel_1.default, { children: "Initial Range" }), (0, jsx_runtime_1.jsx)(SelectComponent, { value: initialRange.value, onChange: (e) => {
632
- setInitialRange(
633
- // InitialDateRangeOptions.find(
634
- // (table) => table.value === e,
635
- // ) ?? initialRange,
636
- selectablePresetOptions.find((option) => option.value === e) ??
637
- initialRange);
638
- }, options: selectablePresetOptions, theme: state.theme, hideEmptyOption: true })] }) }), (0, jsx_runtime_1.jsx)("div", { style: {
639
- display: 'flex',
640
- flexDirection: 'row',
641
- gap: '10px',
642
- width: '100%',
643
- }, children: (0, jsx_runtime_1.jsx)("div", { style: {
644
- display: 'flex',
645
- flexDirection: 'column',
646
- width: '100%',
647
- justifyContent: 'flex-end',
648
- }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
649
- display: 'flex',
650
- flexDirection: 'row',
651
- gap: 10,
652
- width: '100%',
653
- }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
654
- display: 'flex',
655
- flexDirection: 'column',
656
- justifyContent: 'center',
657
- height: '100%',
658
- minWidth: 200,
659
- maxWidth: 200,
660
- width: 200,
661
- } }), (0, jsx_runtime_1.jsx)("div", { style: {
662
- width: '100%',
663
- display: 'flex',
664
- justifyContent: 'flex-end',
665
- }, children: (0, jsx_runtime_1.jsx)("div", { onClick: () => handleDeleteDateFilter(), style: {
666
- height: 38,
667
- width: 38,
668
- alignItems: 'center',
669
- justifyContent: 'flex-end',
670
- display: 'flex',
671
- cursor: 'pointer',
672
- }, children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#4C5462", width: "20", height: "20", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z", clipRule: "evenodd" }) }) }) })] }) }) })] }), (0, jsx_runtime_1.jsx)(QuillPopover_1.QuillPopover, { style: {
673
- width: 230,
674
- marginTop: -8,
675
- display: 'none',
676
- }, children: (0, jsx_runtime_1.jsxs)("div", { style: {
677
- display: 'flex',
678
- flexDirection: 'column',
679
- fontFamily: state.theme.fontFamily,
680
- gap: 8,
681
- }, children: [(0, jsx_runtime_1.jsx)("h3", { style: {
682
- fontSize: 14,
683
- fontWeight: 600,
684
- color: state.theme.primaryTextColor,
685
- }, children: "Recurring" }), (0, jsx_runtime_1.jsxs)("div", { style: {
686
- display: 'flex',
687
- flexDirection: 'row',
688
- gap: 8,
689
- alignItems: 'center',
690
- // justifyContent: 'space-between',
691
- marginTop: yearlyInterval ? -9.5 : 0,
692
- marginBottom: yearlyInterval ? 0 : 9.5,
693
- }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
694
- display: 'flex',
695
- alignItems: 'center',
696
- gap: 8,
697
- }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", style: { width: 16, height: 16 }, checked: !!yearlyInterval, onChange: (e) => {
698
- assignDefaultInterval('Yearly', e.target.checked, new Date(new Date().getFullYear() - 1, 0, 1), new Date(new Date().getFullYear(), 11, 31));
699
- } }), (0, jsx_runtime_1.jsx)("div", { children: "Yearly (2023, 2024, 2025, ...)" })] }), !!yearlyInterval && ((0, jsx_runtime_1.jsxs)("div", { style: {
700
- display: 'flex',
701
- flexDirection: 'row',
702
- gap: 2,
703
- alignItems: 'center',
704
- marginLeft: 26,
705
- }, children: [(0, jsx_runtime_1.jsx)(TextInputComponent, { value: yearlyInterval?.loopStart
706
- ?.getFullYear()
707
- .toString() ?? '', placeholder: "Start Year", onChange: (e) => {
708
- const year = parseInt(e.target.value);
709
- assignDefaultInterval('Yearly', true, new Date(year, 0, 1), yearlyInterval?.loopEnd);
710
- }, width: "78px", number: true, max: 9999, min: 0, step: 1 }), (0, jsx_runtime_1.jsx)("div", { children: "-" }), (0, jsx_runtime_1.jsx)(TextInputComponent, { value: yearlyInterval?.loopEnd
711
- ?.getFullYear()
712
- .toString() ?? '', placeholder: "End Year", onChange: (e) => {
713
- const year = parseInt(e.target.value);
714
- assignDefaultInterval('Yearly', true, yearlyInterval?.loopStart, new Date(year, 11, 31));
715
- }, width: "78px", number: true, max: 9999, min: 0, step: 1 })] }))] }), (0, jsx_runtime_1.jsxs)("div", { style: {
716
- display: 'flex',
717
- flexDirection: 'row',
718
- gap: 8,
719
- alignItems: 'center',
720
- justifyContent: 'space-between',
721
- marginTop: monthlyInterval ? -6.5 : 3,
722
- marginBottom: monthlyInterval ? 0 : 9.5,
723
- width: '100%',
724
- }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
725
- display: 'flex',
726
- alignItems: 'center',
727
- gap: 8,
728
- }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", style: { width: 16, height: 16 }, checked: !!monthlyInterval, onChange: (e) => {
729
- // Set date to current month - 12 months
730
- assignDefaultInterval('Monthly', e.target.checked, new Date(new Date().getFullYear() - 1, new Date().getMonth(), 1), new Date(new Date().getFullYear(), new Date().getMonth(), 1));
731
- } }), (0, jsx_runtime_1.jsx)("div", { children: "Monthly (Jan 2025, Feb 2025, ...)" })] }), monthlyInterval && ((0, jsx_runtime_1.jsxs)("div", { style: {
732
- display: 'flex',
733
- flexDirection: 'row',
734
- gap: 2,
735
- alignItems: 'center',
736
- }, children: [(0, jsx_runtime_1.jsx)(QuillSelectWithCombo_1.QuillSelectComponentWithCombo, { value: monthlyInterval?.loopStart
737
- ?.getMonth()
738
- .toString() ?? '', onChange: (e) => {
739
- const month = parseInt(e.target.value);
740
- assignDefaultInterval('Monthly', true, new Date(monthlyInterval?.loopStart?.getFullYear() ??
741
- 2025, month, 1), monthlyInterval?.loopEnd);
742
- }, options: Array.from({ length: 12 }, (_, i) => ({
743
- label: months.current[i],
744
- value: i.toString(),
745
- })), width: 120, hideEmptyOption: true }), (0, jsx_runtime_1.jsx)(TextInputPrimitive_1.default, { value: monthlyInterval?.loopStart
746
- ?.getFullYear()
747
- .toString() ?? '', placeholder: "Start Year", onChange: (e) => {
748
- const year = parseInt(e.target.value);
749
- assignDefaultInterval('Monthly', true, new Date(year, monthlyInterval?.loopStart?.getMonth() ??
750
- 0, 1), monthlyInterval?.loopEnd);
751
- }, width: "78px", number: true, max: 9999, min: 0, step: 1 }), (0, jsx_runtime_1.jsx)("div", { children: "-" }), (0, jsx_runtime_1.jsx)(QuillSelectWithCombo_1.QuillSelectComponentWithCombo, { value: monthlyInterval?.loopEnd
752
- ?.getMonth()
753
- .toString() ?? '', onChange: (e) => {
754
- const month = parseInt(e.target.value);
755
- assignDefaultInterval('Monthly', true, monthlyInterval?.loopStart, new Date(monthlyInterval?.loopEnd?.getFullYear() ??
756
- 2025, month, 1));
757
- }, options: Array.from({ length: 12 }, (_, i) => ({
758
- label: months.current[i],
759
- value: i.toString(),
760
- })), width: 120, hideEmptyOption: true }), (0, jsx_runtime_1.jsx)(TextInputPrimitive_1.default, { value: monthlyInterval?.loopEnd
761
- ?.getFullYear()
762
- .toString() ?? '', placeholder: "End Year", onChange: (e) => {
763
- const year = parseInt(e.target.value);
764
- assignDefaultInterval('Monthly', true, monthlyInterval?.loopStart, new Date(year, monthlyInterval?.loopEnd?.getMonth() ?? 0, 1));
765
- }, width: "78px", number: true, max: 9999, min: 0, step: 1 })] }))] }), (0, jsx_runtime_1.jsx)("h3", { style: {
766
- fontSize: 14,
767
- fontWeight: 600,
768
- color: state.theme.primaryTextColor,
769
- }, children: "Standard" }), (0, jsx_runtime_1.jsxs)("div", { style: {
770
- display: 'flex',
771
- flexDirection: 'row',
772
- gap: 8,
773
- alignItems: 'center',
774
- }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", style: { width: 16, height: 16 }, checked: !!getDefaultInterval('This week'), onChange: (e) => {
775
- assignDefaultInterval('This week', e.target.checked);
776
- } }), "This week"] }), (0, jsx_runtime_1.jsxs)("div", { style: {
777
- display: 'flex',
778
- flexDirection: 'row',
779
- gap: 8,
780
- alignItems: 'center',
781
- }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", style: { width: 16, height: 16 }, checked: !!getDefaultInterval('This month'), onChange: (e) => {
782
- assignDefaultInterval('This month', e.target.checked);
783
- } }), "This month"] }), (0, jsx_runtime_1.jsxs)("div", { style: {
784
- display: 'flex',
785
- flexDirection: 'row',
786
- gap: 8,
787
- alignItems: 'center',
788
- }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", style: { width: 16, height: 16 }, checked: !!getDefaultInterval('This year'), onChange: (e) => {
789
- assignDefaultInterval('This year', e.target.checked);
790
- } }), "This year"] }), (0, jsx_runtime_1.jsxs)("div", { style: {
791
- display: 'flex',
792
- flexDirection: 'row',
793
- gap: 8,
794
- alignItems: 'center',
795
- }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", style: { width: 16, height: 16 }, checked: !!getDefaultInterval('Last 7 days'), onChange: (e) => {
796
- assignDefaultInterval('Last 7 days', e.target.checked);
797
- } }), "Last 7 days"] }), (0, jsx_runtime_1.jsxs)("div", { style: {
798
- display: 'flex',
799
- flexDirection: 'row',
800
- gap: 8,
801
- alignItems: 'center',
802
- }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", style: { width: 16, height: 16 }, checked: !!getDefaultInterval('Last 30 days'), onChange: (e) => {
803
- assignDefaultInterval('Last 30 days', e.target.checked);
804
- } }), "Last 30 days"] }), (0, jsx_runtime_1.jsxs)("div", { style: {
805
- display: 'flex',
806
- flexDirection: 'row',
807
- gap: 8,
808
- alignItems: 'center',
809
- }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", style: { width: 16, height: 16 }, checked: !!getDefaultInterval('Last 90 days'), onChange: (e) => {
810
- assignDefaultInterval('Last 90 days', e.target.checked);
811
- } }), "Last 90 days"] }), (0, jsx_runtime_1.jsxs)("div", { style: {
812
- display: 'flex',
813
- flexDirection: 'row',
814
- gap: 8,
815
- alignItems: 'center',
816
- }, children: [(0, jsx_runtime_1.jsx)("input", { type: "checkbox", style: { width: 16, height: 16 }, checked: !!getDefaultInterval('Last 6 months'), onChange: (e) => {
817
- assignDefaultInterval('Last 6 months', e.target.checked);
818
- } }), "Last 6 months"] })] }) })] })), !showDateFilter && ((0, jsx_runtime_1.jsx)("div", { style: { maxWidth: 230 }, children: (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: handleAddDateFilter, label: "Add date filter +" }) })), newDateFilter && ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsxs)("div", { style: {
819
- // display: 'flex',
820
- display: 'none',
821
- flexDirection: 'row',
822
- gap: '4px',
823
- userSelect: 'none',
824
- cursor: 'pointer',
825
- width: 'fit-content',
826
- }, onClick: () => setShowCustomIntervals(!showCustomIntervals), children: [(0, jsx_runtime_1.jsx)(InputLabel_1.default, { children: "Custom Date Filter Presets" }), showCustomIntervals ? ((0, jsx_runtime_1.jsx)(DownChevronIcon_1.default, { style: {
827
- color: '#4C5462',
828
- marginBottom: -2,
829
- marginTop: 2,
830
- } })) : ((0, jsx_runtime_1.jsx)(RightChevronIcon_1.default, { style: {
831
- color: '#4C5462',
832
- marginBottom: -2,
833
- marginTop: 2,
834
- } }))] }) })), showCustomIntervals && newDateFilter && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [newDateFilter?.presetOptions?.map((interval, index) => !interval ? null : ((0, jsx_runtime_1.jsxs)("div", { style: {
835
- display: 'flex',
836
- flexDirection: 'column',
837
- gap: '10px',
838
- }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
839
- display: 'flex',
840
- flexDirection: 'row',
841
- gap: '10px',
842
- }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
843
- display: 'flex',
844
- flexDirection: 'column',
845
- }, children: [index === 0 && (0, jsx_runtime_1.jsx)(InputLabel_1.default, { children: "Label" }), (0, jsx_runtime_1.jsx)(TextInputComponent, { value: interval.label ?? '', placeholder: interval.type === 'week'
846
- ? 'Week'
847
- : interval.type === 'relative'
848
- ? 'Last ' +
849
- (interval.value === 1
850
- ? ''
851
- : interval.value + ' ') +
852
- (interval.value === 1
853
- ? interval.unit.substring(0, interval.unit.length - 1)
854
- : interval.unit)
855
- : 'Label', width: "230px", onChange: (e) => {
856
- const updatedOptions = newDateFilter?.presetOptions?.map((o, i) => {
857
- return index === i
858
- ? { ...o, label: e.target.value }
859
- : o;
860
- }) ?? [];
861
- setNewDateFilter({
862
- ...newDateFilter,
863
- presetOptions: updatedOptions,
864
- });
865
- } })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
866
- display: 'flex',
867
- flexDirection: 'column',
868
- }, children: [index === 0 && (0, jsx_runtime_1.jsx)(InputLabel_1.default, { children: "Type" }), (0, jsx_runtime_1.jsx)(SelectComponent, { value: interval.type, options: intervalTypeOptions, onChange: (e) => {
869
- const updatedOptions = newDateFilter?.presetOptions?.map((o, i) => {
870
- return index === i
871
- ? emptyInterval[e]
872
- : o;
873
- }) ?? [];
874
- setNewDateFilter({
875
- ...newDateFilter,
876
- presetOptions: updatedOptions,
877
- });
878
- }, theme: state.theme, hideEmptyOption: true })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
879
- display: 'flex',
880
- flexDirection: 'column',
881
- }, children: [index === 0 && (0, jsx_runtime_1.jsx)(InputLabel_1.default, { children: "Value" }), interval.type === 'week' && ((0, jsx_runtime_1.jsx)("div", { style: { width: 200, visibility: 'hidden' } })), interval.type === 'relative' && ((0, jsx_runtime_1.jsxs)("div", { style: {
882
- display: 'flex',
883
- flexDirection: 'row',
884
- gap: 10,
885
- }, children: [(0, jsx_runtime_1.jsx)(TextInputComponent, { value: interval.value?.toString() ?? '0', width: "70px", onChange: (e) => {
886
- const updatedOptions = newDateFilter?.presetOptions?.map((o, i) => {
887
- return index === i
888
- ? { ...o, value: e.target.value }
889
- : o;
890
- }) ?? [];
891
- setNewDateFilter({
892
- ...newDateFilter,
893
- presetOptions: updatedOptions,
894
- });
895
- }, style: {
896
- zIndex: 1,
897
- } }), (0, jsx_runtime_1.jsx)(SelectComponent, { value: interval.unit ?? 'days', options: [
898
- {
899
- label: interval.value?.toString() === '1'
900
- ? 'day'
901
- : 'days',
902
- value: 'days',
903
- },
904
- {
905
- label: interval.value?.toString() === '1'
906
- ? 'week'
907
- : 'weeks',
908
- value: 'weeks',
909
- },
910
- {
911
- label: interval.value?.toString() === '1'
912
- ? 'month'
913
- : 'months',
914
- value: 'months',
915
- },
916
- {
917
- label: interval.value?.toString() === '1'
918
- ? 'year'
919
- : 'years',
920
- value: 'years',
921
- },
922
- ], onChange: (e) => {
923
- const updatedOptions = newDateFilter?.presetOptions?.map((o, i) => {
924
- return index === i
925
- ? { ...o, unit: e }
926
- : o;
927
- }) ?? [];
928
- setNewDateFilter({
929
- ...newDateFilter,
930
- presetOptions: updatedOptions,
931
- });
932
- }, theme: state.theme, hideEmptyOption: true, style: {
933
- width: 120,
934
- maxWidth: 120,
935
- minWidth: 120,
936
- } })] })), interval.type === 'repeating' && ((0, jsx_runtime_1.jsx)(SingleDatePicker_1.SingleDatePicker, { selectedDate: interval.loopDate
937
- ? (0, date_fns_1.set)(new Date(), {
938
- date: interval.loopDate.day,
939
- month: (interval.loopDate.month ?? 1) - 1,
940
- year: 2024,
941
- })
942
- : undefined, onChangeDate: (date) => {
943
- if (!date)
944
- return;
945
- const updatedOptions = newDateFilter?.presetOptions?.map((o, i) => {
946
- return index === i
947
- ? {
948
- ...o,
949
- loopDate: {
950
- day: date.getDate(),
951
- month: date.getMonth() + 1,
952
- },
953
- }
954
- : o;
955
- }) ?? [];
956
- setNewDateFilter({
957
- ...newDateFilter,
958
- presetOptions: updatedOptions,
959
- });
960
- }, disabled: false, style: {
961
- width: 200,
962
- minWidth: 200,
963
- } })), interval.type === 'static' && ((0, jsx_runtime_1.jsx)(YearlessDateRangePicker_1.QuillYearlessDateRangePicker, { dateRange: {
964
- startDate: interval.startDate
965
- ? (0, date_fns_1.set)(new Date(), {
966
- date: interval.startDate.day,
967
- month: (interval.startDate.month ?? 1) - 1,
968
- year: 2024,
969
- })
970
- : undefined,
971
- endDate: interval.endDate
972
- ? (0, date_fns_1.set)(new Date(), {
973
- date: interval.endDate.day,
974
- month: (interval.endDate.month ?? 1) - 1,
975
- year: 2024,
976
- })
977
- : undefined,
978
- }, onChangeDateRange: (value) => {
979
- const updatedOptions = newDateFilter?.presetOptions?.map((o, i) => {
980
- return index === i
981
- ? {
982
- ...o,
983
- startDate: value.startDate
984
- ? {
985
- day: value.startDate.getDate(),
986
- month: value.startDate.getMonth() +
987
- 1,
988
- }
989
- : undefined,
990
- endDate: value.endDate
991
- ? {
992
- day: value.endDate.getDate(),
993
- month: value.endDate.getMonth() +
994
- 1,
995
- }
996
- : undefined,
997
- }
998
- : o;
999
- }) ?? [];
1000
- setNewDateFilter({
1001
- ...newDateFilter,
1002
- presetOptions: updatedOptions,
1003
- });
1004
- } }))] }), (0, jsx_runtime_1.jsxs)("div", { style: {
1005
- display: 'flex',
1006
- flexDirection: 'column',
1007
- height: '100%',
1008
- }, children: [index === 0 && ((0, jsx_runtime_1.jsx)("div", { style: { visibility: 'hidden' }, children: (0, jsx_runtime_1.jsx)(InputLabel_1.default, { children: "Inter" }) })), interval.type !==
1009
- 'repeating' ? null : displaySubIntervals[index] ? ((0, jsx_runtime_1.jsx)(DownChevronIcon_1.default, { style: {
1010
- color: '#4C5462',
1011
- // center vertically
1012
- alignItems: 'center',
1013
- display: 'flex',
1014
- marginTop: 10,
1015
- }, onClick: () => {
1016
- const updatedDisplay = displaySubIntervals.map((d, i) => index === i ? !d : d);
1017
- setDisplaySubIntervals(updatedDisplay);
1018
- } })) : ((0, jsx_runtime_1.jsx)(RightChevronIcon_1.default, { style: {
1019
- color: '#4C5462',
1020
- // center vertically
1021
- alignItems: 'center',
1022
- display: 'flex',
1023
- marginTop: 10,
1024
- }, onClick: () => {
1025
- const updatedDisplay = displaySubIntervals.map((d, i) => index === i ? !d : d);
1026
- setDisplaySubIntervals(updatedDisplay);
1027
- } }))] }), (0, jsx_runtime_1.jsxs)("div", { style: {
1028
- flexGrow: 1,
1029
- display: 'flex',
1030
- flexDirection: 'row',
1031
- justifyContent: 'flex-end',
1032
- }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
1033
- display: 'flex',
1034
- flexDirection: 'column',
1035
- marginLeft: 'auto',
1036
- justifySelf: 'flex-end',
1037
- }, children: [index === 0 && ((0, jsx_runtime_1.jsx)("div", { style: { visibility: 'hidden' }, children: (0, jsx_runtime_1.jsx)(InputLabel_1.default, { children: "Inter" }) })), (0, jsx_runtime_1.jsx)(QuillToolTipPortal_1.QuillToolTipPortal, { containerStyle: {
1038
- visibility: intervalIssues?.[index]
1039
- ? 'visible'
1040
- : 'hidden',
1041
- }, text: intervalIssues?.[index], children: (0, jsx_runtime_1.jsx)(ExclamationFilledIcon_1.default, { height: 28, width: 28, style: {
1042
- color: '#dc143c',
1043
- marginTop: 6,
1044
- marginLeft: 'auto',
1045
- // Push to end of row
1046
- display: 'flex',
1047
- } }) })] }), (0, jsx_runtime_1.jsx)("div", { style: {
1048
- display: 'flex',
1049
- justifyContent: 'flex-end',
1050
- }, children: (0, jsx_runtime_1.jsx)("div", { onClick: () => handleDeleteInterval(index), style: {
1051
- height: 38,
1052
- width: 38,
1053
- alignItems: 'center',
1054
- justifyContent: 'flex-end',
1055
- display: 'flex',
1056
- cursor: 'pointer',
1057
- marginTop: index === 0 ? 25 : 2,
1058
- }, children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#4C5462", width: "20", height: "20", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z", clipRule: "evenodd" }) }) }) })] })] }), displaySubIntervals[index] &&
1059
- interval.type === 'repeating' && ((0, jsx_runtime_1.jsxs)("div", { style: {
1060
- display: 'flex',
1061
- flexDirection: 'column',
1062
- gap: '10px',
1063
- marginLeft: 30,
1064
- width: 'calc(100% - 30px)',
1065
- }, children: [interval.subIntervals?.map((subInterval, subIndex) => !subInterval ? null : ((0, jsx_runtime_1.jsxs)("div", { style: {
1066
- display: 'flex',
1067
- flexDirection: 'row',
1068
- gap: '10px',
1069
- width: '100%',
1070
- }, children: [(0, jsx_runtime_1.jsx)(YearlessDateRangePicker_1.QuillYearlessDateRangePicker, { dateRange: {
1071
- startDate: subInterval.startDate
1072
- ? (0, date_fns_1.set)(new Date(), {
1073
- date: subInterval.startDate
1074
- .day,
1075
- month: (subInterval.startDate
1076
- .month ?? 1) - 1,
1077
- year: 2024,
1078
- })
1079
- : undefined,
1080
- endDate: subInterval.endDate
1081
- ? (0, date_fns_1.set)(new Date(), {
1082
- date: subInterval.endDate.day,
1083
- month: (subInterval.endDate
1084
- .month ?? 1) - 1,
1085
- year: 2024,
1086
- })
1087
- : undefined,
1088
- }, onChangeDateRange: (value) => {
1089
- const updatedOptions = newDateFilter?.presetOptions?.map((o, i) => {
1090
- return index === i
1091
- ? {
1092
- ...o,
1093
- subIntervals: o.subIntervals?.map((s, j) => subIndex === j
1094
- ? {
1095
- ...s,
1096
- startDate: value.startDate
1097
- ? {
1098
- day: value.startDate.getDate(),
1099
- month: value.startDate.getMonth() +
1100
- 1,
1101
- }
1102
- : undefined,
1103
- endDate: value.endDate
1104
- ? {
1105
- day: value.endDate.getDate(),
1106
- month: value.endDate.getMonth() +
1107
- 1,
1108
- }
1109
- : undefined,
1110
- }
1111
- : s),
1112
- }
1113
- : o;
1114
- }) ?? [];
1115
- setNewDateFilter({
1116
- ...newDateFilter,
1117
- presetOptions: updatedOptions,
1118
- });
1119
- }, style: {
1120
- marginLeft: 420,
1121
- } }), (0, jsx_runtime_1.jsxs)("div", { style: {
1122
- flexGrow: 1,
1123
- display: 'flex',
1124
- flexDirection: 'row',
1125
- justifyContent: 'flex-end',
1126
- }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
1127
- display: 'flex',
1128
- flexDirection: 'column',
1129
- height: '100%',
1130
- marginLeft: 'auto',
1131
- justifySelf: 'flex-end',
1132
- }, children: (0, jsx_runtime_1.jsx)(QuillToolTipPortal_1.QuillToolTipPortal, { containerStyle: {
1133
- visibility: intervalIssues?.[index]
1134
- ? 'visible'
1135
- : 'hidden',
1136
- }, text: subIntervalIssues[index]?.[subIndex], children: (0, jsx_runtime_1.jsx)(ExclamationFilledIcon_1.default, { height: 28, width: 28, style: {
1137
- color: '#dc143c',
1138
- marginTop: 6,
1139
- marginLeft: 'auto',
1140
- // Push to end of row
1141
- display: 'flex',
1142
- visibility: subIntervalIssues[index]?.[subIndex]
1143
- ? 'visible'
1144
- : 'hidden',
1145
- } }) }) }), (0, jsx_runtime_1.jsx)("div", { style: {
1146
- display: 'flex',
1147
- justifyContent: 'flex-end',
1148
- }, children: (0, jsx_runtime_1.jsx)("div", { onClick: () => handleDeleteSubInterval(index, subIndex), style: {
1149
- height: 38,
1150
- width: 38,
1151
- alignItems: 'center',
1152
- justifyContent: 'flex-end',
1153
- display: 'flex',
1154
- cursor: 'pointer',
1155
- marginTop: 2,
1156
- }, children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#4C5462", width: "20", height: "20", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z", clipRule: "evenodd" }) }) }) })] })] }, `sub-interval-${subIndex}`))), (0, jsx_runtime_1.jsx)("div", { style: {
1157
- display: 'flex',
1158
- flexDirection: 'row',
1159
- gap: '10px',
1160
- justifyContent: 'flex-end',
1161
- width: 620,
1162
- borderTop: '1px solid #d7d7d7',
1163
- paddingTop: 10,
1164
- }, children: (0, jsx_runtime_1.jsx)("div", { style: {
1165
- display: 'flex',
1166
- flexDirection: 'column',
1167
- }, children: (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => handleAddSubInterval(index), label: "Add Sub-Interval +", style: {
1168
- width: 200,
1169
- } }) }) })] }))] }, `preset-option-${index}`))), (0, jsx_runtime_1.jsx)("div", { style: {
1170
- display: 'flex',
1171
- flexDirection: 'row',
1172
- gap: '10px',
1173
- justifyContent: 'flex-end',
1174
- width: '100%',
1175
- }, children: (0, jsx_runtime_1.jsx)("div", { style: {
1176
- display: 'flex',
1177
- flexDirection: 'column',
1178
- }, children: (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: handleAddInterval, label: "Add Interval +" }) }) })] }))] }), (0, jsx_runtime_1.jsxs)("div", { style: {
1179
- display: 'flex',
1180
- flexDirection: 'column',
1181
- gap: '10px',
1182
- }, children: [(0, jsx_runtime_1.jsx)("div", { style: {
1183
- display: 'flex',
1184
- flexDirection: 'row',
1185
- alignItems: 'center',
1186
- justifyContent: 'space-between',
1187
- marginTop: 20,
1188
- }, children: (0, jsx_runtime_1.jsx)(CardSection_1.default, { children: "Filters" }) }), newFilters.length > 0 && ((0, jsx_runtime_1.jsx)("div", { style: {
1189
- display: 'flex',
1190
- flexDirection: 'column',
1191
- gap: '6px',
1192
- }, children: newFilters.map((filter, index) => ((0, jsx_runtime_1.jsxs)("div", { style: {
1193
- display: 'flex',
1194
- flexDirection: 'row',
1195
- gap: '10px',
1196
- }, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
1197
- display: 'flex',
1198
- flexDirection: 'column',
1199
- // maxWidth: 300,
1200
- }, children: [index === 0 && (0, jsx_runtime_1.jsx)(InputLabel_1.default, { children: "Label" }), (0, jsx_runtime_1.jsx)(TextInputComponent, { value: filter?.label || '', width: "230px", onChange: (e) => {
1201
- const currentLabel = filter.label;
1202
- const updatedFilters = newFilters.map((otherFilter, i) => index === i
1203
- ? {
1204
- ...otherFilter,
1205
- label: e.target.value,
1206
- }
1207
- : otherFilter);
1208
- setNewFilters(updatedFilters);
1209
- // Find the value in the map that matches the current label
1210
- const oldLabel = Object.entries(filterNameMap).find(([, newLabel]) => newLabel === currentLabel)?.[0];
1211
- if (oldLabel) {
1212
- // Update the map to reflect the new label
1213
- setFilterNameMap({
1214
- ...filterNameMap,
1215
- [oldLabel]: e.target.value,
1216
- });
1217
- }
1218
- } })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
1219
- display: 'flex',
1220
- flexDirection: 'column',
1221
- // maxWidth: 250,
1222
- }, children: [index === 0 && (0, jsx_runtime_1.jsx)(InputLabel_1.default, { children: "Table" }), (0, jsx_runtime_1.jsx)(QuillSelectWithCombo_1.QuillSelectComponentWithCombo, { width: 200, value: filter.table || '', onChange: (event) => {
1223
- const e = event.target.value;
1224
- const updatedFilters = newFilters.map((otherFilter, i) => index === i
1225
- ? { ...otherFilter, table: e }
1226
- : otherFilter);
1227
- setNewFilters(updatedFilters);
1228
- }, options: filteredTables.map((table) => {
1229
- return { label: table.name, value: table.name };
1230
- }), hideEmptyOption: true })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
1231
- display: 'flex',
1232
- flexDirection: 'column',
1233
- maxWidth: 300,
1234
- }, children: [index === 0 && (0, jsx_runtime_1.jsx)(InputLabel_1.default, { children: "Field" }), (0, jsx_runtime_1.jsx)(QuillSelectWithCombo_1.QuillSelectComponentWithCombo, { width: 200, value: filter && filter.field ? filter.field : '', options: filter.table
1235
- ? filteredTables
1236
- .find((table) => table.name === filter.table)
1237
- ?.columns.filter((column) => {
1238
- return ((0, columnProcessing_1.convertFieldTypeToJSType)(column.fieldType) === 'string');
1239
- })
1240
- .map((column) => {
1241
- return {
1242
- label: column.label || column.field,
1243
- value: column.field,
1244
- };
1245
- }) || []
1246
- : [], onChange: (event) => {
1247
- // Capitalize the label
1248
- const e = event.target.value;
1249
- const updatedFilters = newFilters.map((otherFilter, i) => index === i
1250
- ? {
1251
- ...otherFilter,
1252
- field: e,
1253
- label: filter.label === '' ||
1254
- filter.label ===
1255
- normalizeFieldName(filter.field)
1256
- ? normalizeFieldName(e)
1257
- : filter.label,
1258
- }
1259
- : otherFilter);
1260
- setNewFilters(updatedFilters);
1261
- }, hideEmptyOption: true, disabled: !filter.table })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
1262
- display: 'flex',
1263
- flexDirection: 'column',
1264
- width: '100%',
1265
- }, children: [index === 0 && ((0, jsx_runtime_1.jsx)(InputLabel_1.default, { children: "Filter Type" })), (0, jsx_runtime_1.jsx)("div", { style: {
1266
- display: 'flex',
1267
- flexDirection: 'column',
1268
- alignItems: 'center',
1269
- width: '100%',
1270
- }, children: (0, jsx_runtime_1.jsx)("div", { style: {
1271
- display: 'flex',
1272
- flexDirection: 'row',
1273
- alignItems: 'center',
1274
- width: '100%',
1275
- gap: 10,
1276
- }, children: (0, jsx_runtime_1.jsx)(SegmentedControl_1.SegmentedControl, { theme: state.theme, value: filter && filter.stringFilterType
1277
- ? filter.stringFilterType
1278
- : 'default', onChange: (e) => {
1279
- const updatedFilters = newFilters.map((otherFilter, i) => index === i
1280
- ? {
1281
- ...otherFilter,
1282
- stringFilterType: e,
1283
- }
1284
- : otherFilter);
1285
- setNewFilters(updatedFilters);
1286
- } }) }) })] }), (0, jsx_runtime_1.jsxs)("div", { style: {
1287
- display: 'flex',
1288
- flexDirection: 'column',
1289
- width: '100%',
1290
- justifyContent: 'flex-end',
1291
- }, children: [index === 0 && (0, jsx_runtime_1.jsx)(InputLabel_1.default, {}), (0, jsx_runtime_1.jsx)("div", { onClick: () => handleDeleteFilter(filter), style: {
1292
- height: 38,
1293
- alignItems: 'center',
1294
- display: 'flex',
1295
- cursor: 'pointer',
1296
- width: '100%',
1297
- }, children: (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#4C5462", width: "20", height: "20", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M5.47 5.47a.75.75 0 011.06 0L12 10.94l5.47-5.47a.75.75 0 111.06 1.06L13.06 12l5.47 5.47a.75.75 0 11-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 01-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 010-1.06z", clipRule: "evenodd" }) }) })] })] }, index))) })), (0, jsx_runtime_1.jsx)("div", { children: (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: handleAddFilter, label: "Add filter +" }) })] })] }), (0, jsx_runtime_1.jsx)(CardSection_1.default, { children: "Promote Dashboard" }), (0, jsx_runtime_1.jsx)("div", { style: {
1298
- marginTop: -4,
1299
- display: 'flex',
1300
- flexDirection: 'row',
1301
- marginRight: 'auto',
1302
- }, children: (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: () => {
1303
- openPromoteModal();
1304
- }, label: "Choose Destination", style: {
1305
- width: 'fit-content',
1306
- } }) }), (0, jsx_runtime_1.jsx)(CardSection_1.default, { children: "Danger Zone" }), (0, jsx_runtime_1.jsx)("div", { style: { maxWidth: 230 }, children: (0, jsx_runtime_1.jsx)(SecondaryButtonComponent, { onClick: handleDeleteDashboard, label: "Delete Dashboard" }) }), (0, jsx_runtime_1.jsx)("div", { style: { height: 18 } }), (0, jsx_runtime_1.jsxs)("div", { style: {
1307
- width: '100%',
1308
- display: 'flex',
1309
- flexDirection: 'row',
1310
- justifyContent: 'space-between',
1311
- alignItems: 'center',
1312
- }, children: [(0, jsx_runtime_1.jsx)(ButtonComponent, { onClick: handleSubmitDashboardChanges, label: "Save changes", disabled: !!dashboardValidationError, tooltipText: dashboardValidationError }), validationError.length !== 0 && ((0, jsx_runtime_1.jsx)(ErrorComponent, { errorMessage: validationError && validationError[0], containerStyle: {
1313
- marginLeft: 4,
1314
- } }))] })] }) }) }) }));
1315
- }