@quillsql/admin 1.6.4 → 1.7.1

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 (357) hide show
  1. package/dist/cjs/Admin.d.ts +3 -44
  2. package/dist/cjs/Admin.d.ts.map +1 -1
  3. package/dist/cjs/Admin.js +117 -28
  4. package/dist/cjs/AdminProvider.d.ts +9 -145
  5. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  6. package/dist/cjs/AdminProvider.js +176 -97
  7. package/dist/cjs/api/ConnectionClient.d.ts +7 -4
  8. package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
  9. package/dist/cjs/api/ConnectionClient.js +66 -6
  10. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  11. package/dist/cjs/assets/XIcon.d.ts.map +1 -1
  12. package/dist/cjs/components/Banner/index.js +2 -2
  13. package/dist/cjs/components/CardSection.js +2 -2
  14. package/dist/cjs/components/ClipboardButton.d.ts.map +1 -1
  15. package/dist/cjs/components/DashboardSelectPopover.d.ts.map +1 -1
  16. package/dist/cjs/components/DashboardSelectPopover.js +29 -1
  17. package/dist/cjs/components/DatabaseSelector.d.ts +1 -1
  18. package/dist/cjs/components/DatabaseSelector.d.ts.map +1 -1
  19. package/dist/cjs/components/DateRangePicker/SingleDatePicker.js +2 -2
  20. package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.js +2 -2
  21. package/dist/cjs/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  22. package/dist/cjs/components/DropDownMenuWithLabel.js +2 -2
  23. package/dist/cjs/components/DynamicBanner.d.ts +1 -1
  24. package/dist/cjs/components/DynamicBanner.d.ts.map +1 -1
  25. package/dist/cjs/components/EmptyDashboardComponent/index.js +2 -2
  26. package/dist/cjs/components/EmptyVirtualTablesComponent.js +2 -2
  27. package/dist/cjs/components/FormTooltip.js +2 -2
  28. package/dist/cjs/components/InputLabel.js +2 -2
  29. package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts +1 -1
  30. package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts.map +1 -1
  31. package/dist/cjs/components/InternalDashboard/DashboardFilter.js +2 -2
  32. package/dist/cjs/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -1
  33. package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +2 -2
  34. package/dist/cjs/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  35. package/dist/cjs/components/InternalDashboard/InternalDashboard.d.ts.map +1 -1
  36. package/dist/cjs/components/InternalDashboard/InternalDashboard.js +118 -38
  37. package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
  38. package/dist/cjs/components/OrgSelect.js +51 -7
  39. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +5 -1
  40. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  41. package/dist/cjs/components/QuillMultiSelectWithCombo.js +331 -152
  42. package/dist/cjs/components/QuillPopover.js +2 -2
  43. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  44. package/dist/cjs/components/QuillSelect.js +2 -2
  45. package/dist/cjs/components/QuillSelectWithCombo.d.ts +4 -3
  46. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  47. package/dist/cjs/components/QuillSelectWithCombo.js +36 -8
  48. package/dist/cjs/components/QuillToolTipPortal.d.ts.map +1 -1
  49. package/dist/cjs/components/QuillToolTipPortal.js +2 -2
  50. package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -1
  51. package/dist/cjs/components/SqlTextEditor.js +15 -2
  52. package/dist/cjs/components/Tenants/EditTenant.d.ts +1 -1
  53. package/dist/cjs/components/Tenants/EditTenant.d.ts.map +1 -1
  54. package/dist/cjs/components/Tenants/EditTenant.js +52 -9
  55. package/dist/cjs/components/UiComponents.d.ts +1 -1
  56. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  57. package/dist/cjs/components/UiComponents.js +9 -8
  58. package/dist/cjs/components/VirtualTableTile.d.ts +1 -1
  59. package/dist/cjs/components/VirtualTableTile.d.ts.map +1 -1
  60. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts +1 -1
  61. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  62. package/dist/cjs/forms/client_onboard/ConnectDatabase.js +51 -3
  63. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts +1 -1
  64. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  65. package/dist/cjs/forms/client_onboard/ConnectSchema.js +34 -2
  66. package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts +1 -8
  67. package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -1
  68. package/dist/cjs/forms/client_onboard/CreateVirtualTables.js +24 -39
  69. package/dist/cjs/forms/client_onboard/__tests__/ConnectDatabase.test.js +2 -2
  70. package/dist/cjs/forms/client_onboard/__tests__/ConnectSchema.test.js +5 -5
  71. package/dist/cjs/forms/client_onboard/__tests__/CreateVirtualTables.test.js +5 -5
  72. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.d.ts +1 -1
  73. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
  74. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.js +98 -16
  75. package/dist/cjs/hooks/useAdmin.d.ts +16 -0
  76. package/dist/cjs/hooks/useAdmin.d.ts.map +1 -0
  77. package/dist/cjs/hooks/useAdmin.js +13 -0
  78. package/dist/cjs/hooks/useDashboardManager.js +2 -2
  79. package/dist/cjs/hooks/useDatabaseSchema.d.ts.map +1 -1
  80. package/dist/cjs/hooks/useDatabaseSchema.js +13 -2
  81. package/dist/cjs/hooks/useLongLoading.d.ts +13 -0
  82. package/dist/cjs/hooks/useLongLoading.d.ts.map +1 -0
  83. package/dist/cjs/hooks/useLongLoading.js +67 -0
  84. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
  85. package/dist/cjs/hooks/useTenants.d.ts +1 -1
  86. package/dist/cjs/hooks/useTenants.d.ts.map +1 -1
  87. package/dist/cjs/hooks/useTenants.js +2 -2
  88. package/dist/cjs/hooks/useThrottle.d.ts.map +1 -1
  89. package/dist/cjs/icons/ArrowDownHeadIcon.d.ts.map +1 -1
  90. package/dist/cjs/icons/CheckCircleIcon.d.ts.map +1 -1
  91. package/dist/cjs/icons/ExclamationFilledIcon.d.ts.map +1 -1
  92. package/dist/cjs/icons/ExteriorLinkIcon.d.ts.map +1 -1
  93. package/dist/cjs/icons/QuestionMarkCircleIcon.d.ts.map +1 -1
  94. package/dist/cjs/modals/CodePreview.d.ts.map +1 -1
  95. package/dist/cjs/modals/CodePreview.js +8 -3
  96. package/dist/cjs/modals/CreateEnvironmentModal.d.ts +5 -0
  97. package/dist/cjs/modals/CreateEnvironmentModal.d.ts.map +1 -0
  98. package/dist/cjs/modals/CreateEnvironmentModal.js +21 -0
  99. package/dist/cjs/modals/EditEnvironmentModal.d.ts.map +1 -1
  100. package/dist/cjs/modals/EditEnvironmentModal.js +68 -16
  101. package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -1
  102. package/dist/cjs/modals/EditFiltersModal.js +14 -10
  103. package/dist/cjs/modals/NewDashboardModal.d.ts.map +1 -1
  104. package/dist/cjs/modals/NewDashboardModal.js +56 -30
  105. package/dist/cjs/modals/PromoteDashboardModal.js +2 -2
  106. package/dist/cjs/modals/PromoteReportModal.d.ts.map +1 -1
  107. package/dist/cjs/modals/PromoteReportModal.js +16 -5
  108. package/dist/cjs/modals/PromoteViewModal.d.ts.map +1 -1
  109. package/dist/cjs/modals/PromoteViewModal.js +14 -3
  110. package/dist/cjs/modals/ReorderDashboardModal.js +2 -2
  111. package/dist/cjs/modals/SavedQueriesModal.js +3 -3
  112. package/dist/cjs/modals/TenantFieldModal.d.ts +9 -0
  113. package/dist/cjs/modals/TenantFieldModal.d.ts.map +1 -0
  114. package/dist/cjs/modals/TenantFieldModal.js +54 -0
  115. package/dist/cjs/models/AdminContext.d.ts +158 -0
  116. package/dist/cjs/models/AdminContext.d.ts.map +1 -0
  117. package/dist/cjs/models/AdminContext.js +5 -0
  118. package/dist/cjs/models/Provider.d.ts +45 -0
  119. package/dist/cjs/models/Provider.d.ts.map +1 -0
  120. package/dist/cjs/models/Provider.js +21 -0
  121. package/dist/cjs/models/Tenant.d.ts +39 -0
  122. package/dist/cjs/models/Tenant.d.ts.map +1 -0
  123. package/dist/cjs/models/Tenant.js +2 -0
  124. package/dist/cjs/primitives/ButtonPrimitive.d.ts +1 -1
  125. package/dist/cjs/primitives/ButtonPrimitive.d.ts.map +1 -1
  126. package/dist/cjs/primitives/ButtonPrimitive.js +2 -2
  127. package/dist/cjs/primitives/CheckboxPrimitive.d.ts.map +1 -1
  128. package/dist/cjs/primitives/CheckboxPrimitive.js +2 -0
  129. package/dist/cjs/primitives/HeaderPrimitive.d.ts +1 -1
  130. package/dist/cjs/primitives/HeaderPrimitive.d.ts.map +1 -1
  131. package/dist/cjs/primitives/HeaderPrimitive.js +2 -2
  132. package/dist/cjs/primitives/MiniButtonPrimitive.js +2 -2
  133. package/dist/cjs/primitives/PopoverPrimitive.d.ts.map +1 -1
  134. package/dist/cjs/primitives/PopoverPrimitive.js +18 -7
  135. package/dist/cjs/primitives/SecondaryButtonPrimitive.d.ts +1 -1
  136. package/dist/cjs/primitives/SecondaryButtonPrimitive.d.ts.map +1 -1
  137. package/dist/cjs/primitives/SecondaryButtonPrimitive.js +2 -2
  138. package/dist/cjs/primitives/TextInputPrimitive.d.ts +1 -1
  139. package/dist/cjs/primitives/TextInputPrimitive.d.ts.map +1 -1
  140. package/dist/cjs/primitives/TextInputPrimitive.js +2 -2
  141. package/dist/cjs/primitives/TogglePrimitive.d.ts.map +1 -1
  142. package/dist/cjs/public_components/ChartQueryBuilder.d.ts.map +1 -1
  143. package/dist/cjs/public_components/ChartQueryBuilder.js +11 -10
  144. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  145. package/dist/cjs/public_components/CreateEnvironment.js +50 -17
  146. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  147. package/dist/cjs/public_components/DashboardManager.js +70 -10
  148. package/dist/cjs/public_components/EnvSelectPopover.d.ts.map +1 -1
  149. package/dist/cjs/public_components/EnvSelectPopover.js +32 -4
  150. package/dist/cjs/public_components/VirtualTableManager.d.ts +0 -1
  151. package/dist/cjs/public_components/VirtualTableManager.d.ts.map +1 -1
  152. package/dist/cjs/public_components/VirtualTableManager.js +99 -25
  153. package/dist/cjs/public_components/__tests__/CreateEnvironment.test.js +43 -4
  154. package/dist/cjs/utils/astProcessing.d.ts +1 -1
  155. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  156. package/dist/cjs/utils/columnProcessing.d.ts +1 -0
  157. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  158. package/dist/cjs/utils/columnProcessing.js +23 -1
  159. package/dist/cjs/utils/dataEditor.d.ts +1 -1
  160. package/dist/cjs/utils/dataEditor.d.ts.map +1 -1
  161. package/dist/cjs/utils/dataFetcher.d.ts +1 -1
  162. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  163. package/dist/cjs/utils/databases.d.ts +6 -1
  164. package/dist/cjs/utils/databases.d.ts.map +1 -1
  165. package/dist/cjs/utils/databases.js +18 -0
  166. package/dist/cjs/utils/delay.d.ts.map +1 -1
  167. package/dist/cjs/utils/filter.d.ts +17 -21
  168. package/dist/cjs/utils/filter.d.ts.map +1 -1
  169. package/dist/cjs/utils/filter.js +6 -6
  170. package/dist/cjs/utils/report.d.ts +5 -5
  171. package/dist/cjs/utils/report.d.ts.map +1 -1
  172. package/dist/cjs/utils/schema.d.ts +8 -5
  173. package/dist/cjs/utils/schema.d.ts.map +1 -1
  174. package/dist/cjs/utils/schema.js +42 -3
  175. package/dist/cjs/utils/table.d.ts.map +1 -1
  176. package/dist/cjs/utils/tenants.d.ts +2 -39
  177. package/dist/cjs/utils/tenants.d.ts.map +1 -1
  178. package/dist/cjs/utils/ui.d.ts.map +1 -1
  179. package/dist/esm/Admin.d.ts +3 -44
  180. package/dist/esm/Admin.d.ts.map +1 -1
  181. package/dist/esm/Admin.js +116 -29
  182. package/dist/esm/AdminProvider.d.ts +9 -145
  183. package/dist/esm/AdminProvider.d.ts.map +1 -1
  184. package/dist/esm/AdminProvider.js +177 -96
  185. package/dist/esm/api/ConnectionClient.d.ts +7 -4
  186. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  187. package/dist/esm/api/ConnectionClient.js +66 -6
  188. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  189. package/dist/esm/assets/XIcon.d.ts.map +1 -1
  190. package/dist/esm/components/Banner/index.js +1 -1
  191. package/dist/esm/components/CardSection.js +1 -1
  192. package/dist/esm/components/ClipboardButton.d.ts.map +1 -1
  193. package/dist/esm/components/DashboardSelectPopover.d.ts.map +1 -1
  194. package/dist/esm/components/DashboardSelectPopover.js +29 -1
  195. package/dist/esm/components/DatabaseSelector.d.ts +1 -1
  196. package/dist/esm/components/DatabaseSelector.d.ts.map +1 -1
  197. package/dist/esm/components/DateRangePicker/SingleDatePicker.js +1 -1
  198. package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.js +1 -1
  199. package/dist/esm/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  200. package/dist/esm/components/DropDownMenuWithLabel.js +1 -1
  201. package/dist/esm/components/DynamicBanner.d.ts +1 -1
  202. package/dist/esm/components/DynamicBanner.d.ts.map +1 -1
  203. package/dist/esm/components/EmptyDashboardComponent/index.js +1 -1
  204. package/dist/esm/components/EmptyVirtualTablesComponent.js +1 -1
  205. package/dist/esm/components/FormTooltip.js +1 -1
  206. package/dist/esm/components/InputLabel.js +1 -1
  207. package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts +1 -1
  208. package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts.map +1 -1
  209. package/dist/esm/components/InternalDashboard/DashboardFilter.js +2 -2
  210. package/dist/esm/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -1
  211. package/dist/esm/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +1 -1
  212. package/dist/esm/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  213. package/dist/esm/components/InternalDashboard/InternalDashboard.d.ts.map +1 -1
  214. package/dist/esm/components/InternalDashboard/InternalDashboard.js +116 -36
  215. package/dist/esm/components/OrgSelect.d.ts.map +1 -1
  216. package/dist/esm/components/OrgSelect.js +49 -5
  217. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +5 -1
  218. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  219. package/dist/esm/components/QuillMultiSelectWithCombo.js +329 -150
  220. package/dist/esm/components/QuillPopover.js +1 -1
  221. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  222. package/dist/esm/components/QuillSelect.js +1 -1
  223. package/dist/esm/components/QuillSelectWithCombo.d.ts +4 -3
  224. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  225. package/dist/esm/components/QuillSelectWithCombo.js +35 -7
  226. package/dist/esm/components/QuillToolTipPortal.d.ts.map +1 -1
  227. package/dist/esm/components/QuillToolTipPortal.js +1 -1
  228. package/dist/esm/components/SqlTextEditor.d.ts.map +1 -1
  229. package/dist/esm/components/SqlTextEditor.js +15 -2
  230. package/dist/esm/components/Tenants/EditTenant.d.ts +1 -1
  231. package/dist/esm/components/Tenants/EditTenant.d.ts.map +1 -1
  232. package/dist/esm/components/Tenants/EditTenant.js +52 -9
  233. package/dist/esm/components/UiComponents.d.ts +1 -1
  234. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  235. package/dist/esm/components/UiComponents.js +2 -1
  236. package/dist/esm/components/VirtualTableTile.d.ts +1 -1
  237. package/dist/esm/components/VirtualTableTile.d.ts.map +1 -1
  238. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts +1 -1
  239. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  240. package/dist/esm/forms/client_onboard/ConnectDatabase.js +51 -3
  241. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts +1 -1
  242. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  243. package/dist/esm/forms/client_onboard/ConnectSchema.js +34 -2
  244. package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts +1 -8
  245. package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -1
  246. package/dist/esm/forms/client_onboard/CreateVirtualTables.js +23 -37
  247. package/dist/esm/forms/client_onboard/__tests__/ConnectDatabase.test.js +1 -1
  248. package/dist/esm/forms/client_onboard/__tests__/ConnectSchema.test.js +3 -3
  249. package/dist/esm/forms/client_onboard/__tests__/CreateVirtualTables.test.js +3 -3
  250. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.d.ts +1 -1
  251. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
  252. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.js +96 -14
  253. package/dist/esm/hooks/useAdmin.d.ts +16 -0
  254. package/dist/esm/hooks/useAdmin.d.ts.map +1 -0
  255. package/dist/esm/hooks/useAdmin.js +9 -0
  256. package/dist/esm/hooks/useDashboardManager.js +1 -1
  257. package/dist/esm/hooks/useDatabaseSchema.d.ts.map +1 -1
  258. package/dist/esm/hooks/useDatabaseSchema.js +13 -2
  259. package/dist/esm/hooks/useLongLoading.d.ts +13 -0
  260. package/dist/esm/hooks/useLongLoading.d.ts.map +1 -0
  261. package/dist/esm/hooks/useLongLoading.js +64 -0
  262. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
  263. package/dist/esm/hooks/useTenants.d.ts +1 -1
  264. package/dist/esm/hooks/useTenants.d.ts.map +1 -1
  265. package/dist/esm/hooks/useTenants.js +1 -1
  266. package/dist/esm/hooks/useThrottle.d.ts.map +1 -1
  267. package/dist/esm/icons/ArrowDownHeadIcon.d.ts.map +1 -1
  268. package/dist/esm/icons/CheckCircleIcon.d.ts.map +1 -1
  269. package/dist/esm/icons/ExclamationFilledIcon.d.ts.map +1 -1
  270. package/dist/esm/icons/ExteriorLinkIcon.d.ts.map +1 -1
  271. package/dist/esm/icons/QuestionMarkCircleIcon.d.ts.map +1 -1
  272. package/dist/esm/modals/CodePreview.d.ts.map +1 -1
  273. package/dist/esm/modals/CodePreview.js +8 -3
  274. package/dist/esm/modals/CreateEnvironmentModal.d.ts +5 -0
  275. package/dist/esm/modals/CreateEnvironmentModal.d.ts.map +1 -0
  276. package/dist/esm/modals/CreateEnvironmentModal.js +15 -0
  277. package/dist/esm/modals/EditEnvironmentModal.d.ts.map +1 -1
  278. package/dist/esm/modals/EditEnvironmentModal.js +68 -16
  279. package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -1
  280. package/dist/esm/modals/EditFiltersModal.js +14 -10
  281. package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
  282. package/dist/esm/modals/NewDashboardModal.js +56 -30
  283. package/dist/esm/modals/PromoteDashboardModal.js +1 -1
  284. package/dist/esm/modals/PromoteReportModal.d.ts.map +1 -1
  285. package/dist/esm/modals/PromoteReportModal.js +16 -5
  286. package/dist/esm/modals/PromoteViewModal.d.ts.map +1 -1
  287. package/dist/esm/modals/PromoteViewModal.js +14 -3
  288. package/dist/esm/modals/ReorderDashboardModal.js +1 -1
  289. package/dist/esm/modals/SavedQueriesModal.js +1 -1
  290. package/dist/esm/modals/TenantFieldModal.d.ts +9 -0
  291. package/dist/esm/modals/TenantFieldModal.d.ts.map +1 -0
  292. package/dist/esm/modals/TenantFieldModal.js +51 -0
  293. package/dist/esm/models/AdminContext.d.ts +158 -0
  294. package/dist/esm/models/AdminContext.d.ts.map +1 -0
  295. package/dist/esm/models/AdminContext.js +2 -0
  296. package/dist/esm/models/Provider.d.ts +45 -0
  297. package/dist/esm/models/Provider.d.ts.map +1 -0
  298. package/dist/esm/models/Provider.js +18 -0
  299. package/dist/esm/models/Tenant.d.ts +39 -0
  300. package/dist/esm/models/Tenant.d.ts.map +1 -0
  301. package/dist/esm/models/Tenant.js +1 -0
  302. package/dist/esm/primitives/ButtonPrimitive.d.ts +1 -1
  303. package/dist/esm/primitives/ButtonPrimitive.d.ts.map +1 -1
  304. package/dist/esm/primitives/ButtonPrimitive.js +1 -1
  305. package/dist/esm/primitives/CheckboxPrimitive.d.ts.map +1 -1
  306. package/dist/esm/primitives/CheckboxPrimitive.js +2 -0
  307. package/dist/esm/primitives/HeaderPrimitive.d.ts +1 -1
  308. package/dist/esm/primitives/HeaderPrimitive.d.ts.map +1 -1
  309. package/dist/esm/primitives/HeaderPrimitive.js +1 -1
  310. package/dist/esm/primitives/MiniButtonPrimitive.js +1 -1
  311. package/dist/esm/primitives/PopoverPrimitive.d.ts.map +1 -1
  312. package/dist/esm/primitives/PopoverPrimitive.js +17 -6
  313. package/dist/esm/primitives/SecondaryButtonPrimitive.d.ts +1 -1
  314. package/dist/esm/primitives/SecondaryButtonPrimitive.d.ts.map +1 -1
  315. package/dist/esm/primitives/SecondaryButtonPrimitive.js +1 -1
  316. package/dist/esm/primitives/TextInputPrimitive.d.ts +1 -1
  317. package/dist/esm/primitives/TextInputPrimitive.d.ts.map +1 -1
  318. package/dist/esm/primitives/TextInputPrimitive.js +1 -1
  319. package/dist/esm/primitives/TogglePrimitive.d.ts.map +1 -1
  320. package/dist/esm/public_components/ChartQueryBuilder.d.ts.map +1 -1
  321. package/dist/esm/public_components/ChartQueryBuilder.js +11 -10
  322. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  323. package/dist/esm/public_components/CreateEnvironment.js +50 -17
  324. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  325. package/dist/esm/public_components/DashboardManager.js +68 -8
  326. package/dist/esm/public_components/EnvSelectPopover.d.ts.map +1 -1
  327. package/dist/esm/public_components/EnvSelectPopover.js +32 -4
  328. package/dist/esm/public_components/VirtualTableManager.d.ts +0 -1
  329. package/dist/esm/public_components/VirtualTableManager.d.ts.map +1 -1
  330. package/dist/esm/public_components/VirtualTableManager.js +97 -21
  331. package/dist/esm/public_components/__tests__/CreateEnvironment.test.js +42 -3
  332. package/dist/esm/utils/astProcessing.d.ts +1 -1
  333. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  334. package/dist/esm/utils/columnProcessing.d.ts +1 -0
  335. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  336. package/dist/esm/utils/columnProcessing.js +21 -1
  337. package/dist/esm/utils/dataEditor.d.ts +1 -1
  338. package/dist/esm/utils/dataEditor.d.ts.map +1 -1
  339. package/dist/esm/utils/dataFetcher.d.ts +1 -1
  340. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  341. package/dist/esm/utils/databases.d.ts +6 -1
  342. package/dist/esm/utils/databases.d.ts.map +1 -1
  343. package/dist/esm/utils/databases.js +18 -0
  344. package/dist/esm/utils/delay.d.ts.map +1 -1
  345. package/dist/esm/utils/filter.d.ts +17 -21
  346. package/dist/esm/utils/filter.d.ts.map +1 -1
  347. package/dist/esm/utils/filter.js +5 -5
  348. package/dist/esm/utils/report.d.ts +5 -5
  349. package/dist/esm/utils/report.d.ts.map +1 -1
  350. package/dist/esm/utils/schema.d.ts +8 -5
  351. package/dist/esm/utils/schema.d.ts.map +1 -1
  352. package/dist/esm/utils/schema.js +42 -3
  353. package/dist/esm/utils/table.d.ts.map +1 -1
  354. package/dist/esm/utils/tenants.d.ts +2 -39
  355. package/dist/esm/utils/tenants.d.ts.map +1 -1
  356. package/dist/esm/utils/ui.d.ts.map +1 -1
  357. package/package.json +1 -1
@@ -39,16 +39,17 @@ const jsx_runtime_1 = require("react/jsx-runtime");
39
39
  const useOnClickOutside_1 = __importStar(require("../hooks/useOnClickOutside"));
40
40
  const UiComponents_1 = require("./UiComponents");
41
41
  const react_1 = __importStar(require("react"));
42
- const AdminProvider_1 = require("../AdminProvider");
42
+ const useAdmin_1 = require("../hooks/useAdmin");
43
43
  const react_dom_1 = require("react-dom");
44
44
  const ui_1 = require("../utils/ui");
45
45
  /**
46
46
  * A robust select component that implements the new minimal Select interface.
47
47
  */
48
- function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, disabled, emptyLabel, allSelectedLabel, noneSelectedLabel, mimicReactSelect, }) {
49
- const { state } = (0, AdminProvider_1.useAdmin)();
48
+ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, disabled, emptyLabel, allSelectedLabel, noneSelectedLabel, mimicReactSelect, enableSingleSelectOption, displayValue, enableSubmitButton, submitButtonText, }) {
49
+ const { state } = (0, useAdmin_1.useAdmin)();
50
50
  const theme = state.theme;
51
51
  const [selectedOptions, setSelectedOptions] = (0, react_1.useState)([]);
52
+ const [pendingSelections, setPendingSelections] = (0, react_1.useState)([]);
52
53
  const [showModal, setShowModal] = (0, react_1.useState)(false);
53
54
  const modalRef = (0, react_1.useRef)(null);
54
55
  const buttonRef = (0, react_1.useRef)(null);
@@ -67,38 +68,48 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
67
68
  })(CheckboxState || (CheckboxState = {}));
68
69
  const optionValues = (0, react_1.useMemo)(() => new Set(options.map((opt) => opt.value)), [options]);
69
70
  const selectedOptionsLabel = (0, react_1.useMemo)(() => {
70
- if (!value || !value.length) {
71
+ const currentValue = enableSubmitButton ? pendingSelections : value;
72
+ if (!currentValue || !currentValue.length) {
71
73
  return noneSelectedLabel ?? 'Select';
72
74
  }
73
- // if (value.length === options.length) {
75
+ // if (currentValue.length === options.length) {
74
76
  // return 'All Tenants';
75
77
  // }
76
- const matchingOptions = options.filter((elem) => value.includes(elem.value));
77
- if (matchingOptions.length !== value.length) {
78
- return value.join(', ');
78
+ const matchingOptions = options.filter((elem) => currentValue.includes(elem.value));
79
+ if (matchingOptions.length !== currentValue.length) {
80
+ return currentValue.join(', ');
79
81
  }
80
82
  return matchingOptions
81
83
  .map((elem) => elem.label ?? '-')
82
84
  .join(', ');
83
- }, [options, value]);
85
+ }, [options, value, pendingSelections, enableSubmitButton]);
84
86
  const potentialOptions = (0, react_1.useMemo)(() => {
85
- return value
87
+ const currentValue = enableSubmitButton ? pendingSelections : value;
88
+ return currentValue
86
89
  .filter((opt) => !optionValues.has(opt ?? ''))
87
90
  .map((opt) => ({
88
91
  label: opt === '' ? '-' : (opt?.toString() ?? '-'),
89
92
  value: opt ?? '',
90
93
  }))
91
94
  .concat(options);
92
- }, [value, options]);
95
+ }, [value, pendingSelections, options, enableSubmitButton]);
93
96
  const selectAllCheckboxState = (0, react_1.useMemo)(() => {
94
- if (selectedOptions.length === 0) {
97
+ const currentSelections = enableSubmitButton
98
+ ? pendingSelections
99
+ : selectedOptions;
100
+ if (currentSelections.length === 0) {
95
101
  return CheckboxState.UNSELECTED;
96
102
  }
97
- if (selectedOptions.length === potentialOptions.length) {
103
+ if (currentSelections.length === potentialOptions.length) {
98
104
  return CheckboxState.SELECTED;
99
105
  }
100
106
  return CheckboxState.INDETERMINATE;
101
- }, [selectedOptions]);
107
+ }, [
108
+ selectedOptions,
109
+ pendingSelections,
110
+ potentialOptions,
111
+ enableSubmitButton,
112
+ ]);
102
113
  (0, react_1.useEffect)(() => {
103
114
  if (selectAllRef.current) {
104
115
  selectAllRef.current.indeterminate =
@@ -166,12 +177,22 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
166
177
  (0, react_1.useEffect)(() => {
167
178
  if (!value) {
168
179
  setSelectedOptions([]);
180
+ if (enableSubmitButton) {
181
+ setPendingSelections([]);
182
+ }
169
183
  }
170
184
  else {
171
185
  setSelectedOptions(value);
186
+ if (enableSubmitButton) {
187
+ setPendingSelections(value);
188
+ }
172
189
  }
173
- }, [value]);
190
+ }, [value, enableSubmitButton]);
174
191
  const debounce = (updatedChangeEvent) => {
192
+ if (enableSubmitButton) {
193
+ // When submit button is enabled, don't call onChange immediately
194
+ return;
195
+ }
175
196
  if (debounceTimeoutId.current) {
176
197
  clearTimeout(debounceTimeoutId.current);
177
198
  }
@@ -179,6 +200,13 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
179
200
  onChange(updatedChangeEvent);
180
201
  }, 200);
181
202
  };
203
+ const handleSubmit = () => {
204
+ const updatedChangeEvent = {
205
+ target: { value: pendingSelections },
206
+ };
207
+ onChange(updatedChangeEvent);
208
+ setShowModal(false);
209
+ };
182
210
  // FIXME: Hacked this to display selected options that have been filtered out, which is good
183
211
  // But they don't have their proper labels, since we haven't stored/passed in the label
184
212
  const filteredItems = react_1.default.useMemo(() => {
@@ -278,11 +306,15 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
278
306
  width: '100%',
279
307
  textAlign: 'left',
280
308
  zIndex: 1,
281
- fontWeight: value?.length || isLoading ? undefined : 300,
309
+ fontWeight: (enableSubmitButton ? pendingSelections : value)?.length ||
310
+ isLoading
311
+ ? undefined
312
+ : 300,
282
313
  }, children: isLoading
283
314
  ? 'Loading...'
284
- : value?.length
285
- ? value?.length === options?.length
315
+ : (enableSubmitButton ? pendingSelections : value)?.length
316
+ ? (enableSubmitButton ? pendingSelections : value)?.length ===
317
+ options?.length
286
318
  ? (allSelectedLabel ?? selectedOptionsLabel)
287
319
  : selectedOptionsLabel
288
320
  : emptyLabel
@@ -308,87 +340,108 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
308
340
  zIndex: z + 1,
309
341
  padding: 6,
310
342
  fontFamily: theme?.fontFamily,
311
- overflow: 'scroll',
312
343
  fontSize: 14,
313
- }, ref: modalRef, children: [!exceedsLimit && options && options.length > 20 && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(exports.ListboxTextInput, { value: searchQuery, placeholder: "Search", onChange: (value) => {
314
- setSearchQuery(value);
315
- } }), (0, jsx_runtime_1.jsx)("div", { style: {
316
- height: 9,
317
- width: 230,
318
- borderTop: '1px solid #e7e7e7',
319
- } })] })), !isLoading &&
320
- (!filteredItems ||
321
- filteredItems.length === 0 ||
322
- exceedsLimit) && ((0, jsx_runtime_1.jsxs)("div", { style: {
344
+ }, ref: modalRef, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
323
345
  display: 'flex',
324
- alignItems: 'center',
325
- padding: 8,
326
- margin: 0,
327
- boxSizing: 'border-box',
328
- borderWidth: 0,
329
- fontSize: 14,
330
- borderStyle: 'solid',
331
- borderColor: theme?.borderColor,
332
- borderRadius: 4,
333
- fontFamily: theme?.fontFamily,
334
- textOverflow: 'ellipsis',
335
- whiteSpace: 'nowrap',
336
- height: 34,
337
- minHeight: 34,
338
- gap: 6,
346
+ flexDirection: 'column',
347
+ flex: 1,
339
348
  overflow: 'hidden',
340
- }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
349
+ minHeight: 0,
350
+ }, children: [!exceedsLimit && options && options.length > 20 && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(exports.ListboxTextInput, { value: searchQuery, placeholder: "Search", onChange: (value) => {
351
+ setSearchQuery(value);
352
+ } }), (0, jsx_runtime_1.jsx)("div", { style: {
353
+ height: 9,
354
+ width: 230,
355
+ borderTop: '1px solid #e7e7e7',
356
+ } })] })), (0, jsx_runtime_1.jsxs)("div", { style: {
357
+ flex: 1,
358
+ overflow: 'auto',
359
+ minHeight: 0,
360
+ }, children: [!isLoading &&
361
+ (!filteredItems ||
362
+ filteredItems.length === 0 ||
363
+ exceedsLimit) && ((0, jsx_runtime_1.jsxs)("div", { style: {
364
+ display: 'flex',
365
+ alignItems: 'center',
366
+ padding: 8,
367
+ margin: 0,
368
+ boxSizing: 'border-box',
369
+ borderWidth: 0,
370
+ fontSize: 14,
371
+ borderStyle: 'solid',
372
+ borderColor: theme?.borderColor,
373
+ borderRadius: 4,
374
+ fontFamily: theme?.fontFamily,
375
+ textOverflow: 'ellipsis',
376
+ whiteSpace: 'nowrap',
377
+ height: 34,
378
+ minHeight: 34,
379
+ gap: 6,
380
+ overflow: 'hidden',
381
+ }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
341
382
  .quill-option {
342
383
  background: ${theme?.backgroundColor};
343
384
  .quill-option:hover {
344
385
  background: ${theme?.hoverBackgroundColor};
345
386
  }
346
387
  ` }), (0, jsx_runtime_1.jsx)("span", { style: {
347
- textOverflow: 'ellipsis',
348
- whiteSpace: 'nowrap',
349
- overflow: 'hidden',
350
- cursor: 'default',
351
- color: theme?.secondaryTextColor,
352
- }, children: exceedsLimit
353
- ? 'Too many options'
354
- : (emptyLabel ?? 'No options available') })] })), !isLoading ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [searchQuery === '' && potentialOptions.length > 0 && ((0, jsx_runtime_1.jsxs)("button", { style: {
355
- display: 'flex',
356
- alignItems: 'center',
357
- padding: 8,
358
- margin: 0,
359
- boxSizing: 'border-box',
360
- borderWidth: 0,
361
- fontSize: 14,
362
- borderStyle: 'solid',
363
- borderColor: theme?.borderColor,
364
- borderRadius: 4,
365
- fontFamily: theme?.fontFamily,
366
- textOverflow: 'ellipsis',
367
- whiteSpace: 'nowrap',
368
- height: 34,
369
- minHeight: 34,
370
- gap: 6,
371
- overflow: 'hidden',
372
- }, className: "quill-option", onClick: () => {
373
- // if any are selected, deselect all
374
- if (selectAllCheckboxState === CheckboxState.SELECTED ||
375
- selectAllCheckboxState === CheckboxState.INDETERMINATE) {
376
- setSelectedOptions([]);
377
- const updatedChangeEvent = {
378
- target: { value: [] },
379
- };
380
- debounce(updatedChangeEvent);
381
- return;
382
- }
383
- // if none are selected, select all
384
- const updatedChangeEvent = {
385
- target: {
386
- value: options.map((opt) => opt.value),
387
- },
388
- };
389
- setSelectedOptions(options.map((opt) => opt.value));
390
- debounce(updatedChangeEvent);
391
- }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
388
+ textOverflow: 'ellipsis',
389
+ whiteSpace: 'nowrap',
390
+ overflow: 'hidden',
391
+ cursor: 'default',
392
+ color: theme?.secondaryTextColor,
393
+ }, children: exceedsLimit
394
+ ? 'Too many options'
395
+ : (emptyLabel ?? 'No options available') })] })), !isLoading ? ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [searchQuery === '' && potentialOptions.length > 0 && ((0, jsx_runtime_1.jsxs)("button", { style: {
396
+ display: 'flex',
397
+ alignItems: 'center',
398
+ padding: 8,
399
+ margin: 0,
400
+ boxSizing: 'border-box',
401
+ borderWidth: 0,
402
+ fontSize: 14,
403
+ borderStyle: 'solid',
404
+ borderColor: theme?.borderColor,
405
+ borderRadius: 4,
406
+ fontFamily: theme?.fontFamily,
407
+ textOverflow: 'ellipsis',
408
+ whiteSpace: 'nowrap',
409
+ height: 34,
410
+ minHeight: 34,
411
+ gap: 6,
412
+ overflow: 'hidden',
413
+ width: '100%',
414
+ }, className: "quill-option", onClick: () => {
415
+ // if any are selected, deselect all
416
+ if (selectAllCheckboxState === CheckboxState.SELECTED ||
417
+ selectAllCheckboxState ===
418
+ CheckboxState.INDETERMINATE) {
419
+ if (enableSubmitButton) {
420
+ setPendingSelections([]);
421
+ }
422
+ else {
423
+ setSelectedOptions([]);
424
+ const updatedChangeEvent = {
425
+ target: { value: [] },
426
+ };
427
+ debounce(updatedChangeEvent);
428
+ }
429
+ return;
430
+ }
431
+ // if none are selected, select all
432
+ if (enableSubmitButton) {
433
+ setPendingSelections(options.map((opt) => opt.value));
434
+ }
435
+ else {
436
+ const updatedChangeEvent = {
437
+ target: {
438
+ value: options.map((opt) => opt.value),
439
+ },
440
+ };
441
+ setSelectedOptions(options.map((opt) => opt.value));
442
+ debounce(updatedChangeEvent);
443
+ }
444
+ }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
392
445
  .quill-option {
393
446
  background: ${theme?.backgroundColor};
394
447
  }
@@ -397,84 +450,210 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
397
450
  color: ${theme?.hoverTextColor};
398
451
  }
399
452
  ` }), (0, jsx_runtime_1.jsx)("input", { ref: selectAllRef, type: "checkbox", checked: selectAllCheckboxState === CheckboxState.SELECTED, style: {
400
- width: '14px',
401
- height: '14px',
402
- margin: 'auto 0',
403
- }, readOnly: true }), (0, jsx_runtime_1.jsx)("span", { style: {
404
- textOverflow: 'ellipsis',
405
- whiteSpace: 'nowrap',
406
- overflow: 'hidden',
407
- }, children: (0, jsx_runtime_1.jsx)("span", { style: {
408
- fontWeight: 300,
409
- }, children: "Select all" }) })] })), filteredItems.map((option) => ((0, jsx_runtime_1.jsxs)("button", { style: {
453
+ width: '14px',
454
+ height: '14px',
455
+ margin: 'auto 0',
456
+ }, readOnly: true }), (0, jsx_runtime_1.jsx)("span", { style: {
457
+ textOverflow: 'ellipsis',
458
+ whiteSpace: 'nowrap',
459
+ overflow: 'hidden',
460
+ }, children: (0, jsx_runtime_1.jsx)("span", { style: {
461
+ fontWeight: 300,
462
+ }, children: "Select all" }) })] })), filteredItems.map((option) => ((0, jsx_runtime_1.jsxs)("button", { style: {
463
+ display: 'flex',
464
+ alignItems: 'center',
465
+ padding: 8,
466
+ margin: 0,
467
+ boxSizing: 'border-box',
468
+ borderWidth: 0,
469
+ fontSize: 14,
470
+ borderStyle: 'solid',
471
+ borderColor: theme?.borderColor,
472
+ borderRadius: 4,
473
+ fontFamily: theme?.fontFamily,
474
+ textOverflow: 'ellipsis',
475
+ whiteSpace: 'nowrap',
476
+ height: 34,
477
+ minHeight: 34,
478
+ gap: 6,
479
+ overflow: 'hidden',
480
+ position: 'relative',
481
+ width: '100%',
482
+ }, className: "quill-option", onClick: () => {
483
+ // Manually create a synthetic ChangeEvent and pass it to callback
484
+ const changeEvent = {
485
+ target: { value: option.value },
486
+ };
487
+ let updateSelectedOptions = [...selectedOptions];
488
+ let updatePendingSelections = [...pendingSelections];
489
+ if (enableSubmitButton) {
490
+ if (pendingSelections.includes(changeEvent.target.value)) {
491
+ updatePendingSelections =
492
+ pendingSelections.filter((opt) => opt !== changeEvent.target.value);
493
+ setPendingSelections(updatePendingSelections);
494
+ }
495
+ else {
496
+ updatePendingSelections = [
497
+ ...updatePendingSelections,
498
+ changeEvent.target.value,
499
+ ];
500
+ setPendingSelections(updatePendingSelections);
501
+ }
502
+ }
503
+ else {
504
+ if (selectedOptions.includes(changeEvent.target.value)) {
505
+ updateSelectedOptions = selectedOptions.filter((opt) => opt !== changeEvent.target.value);
506
+ setSelectedOptions(updateSelectedOptions);
507
+ }
508
+ else {
509
+ updateSelectedOptions = [
510
+ ...updateSelectedOptions,
511
+ changeEvent.target.value,
512
+ ];
513
+ setSelectedOptions(updateSelectedOptions);
514
+ }
515
+ const updatedChangeEvent = {
516
+ target: { value: updateSelectedOptions },
517
+ };
518
+ if (updateSelectedOptions.length === 0) {
519
+ updatedChangeEvent.target.value = [];
520
+ }
521
+ debounce(updatedChangeEvent);
522
+ }
523
+ }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
524
+ .quill-option {
525
+ background: ${theme?.backgroundColor};
526
+ color: ${theme?.primaryTextColor};
527
+ }
528
+ .quill-option:hover {
529
+ background: ${theme?.hoverBackgroundColor};
530
+ color: ${theme?.hoverTextColor};
531
+ }
532
+ .quill-select-only-btn {
533
+ background: transparent;
534
+ border: none;
535
+ padding: 2px 6px;
536
+ border-radius: 3px;
537
+ font-size: 11px;
538
+ color: ${theme?.secondaryTextColor};
539
+ cursor: pointer;
540
+ opacity: 0;
541
+ transition: opacity 0.2s ease;
542
+ }
543
+ .quill-option:hover .quill-select-only-btn {
544
+ opacity: 1;
545
+ }
546
+ .quill-select-only-btn:hover {
547
+ background: ${theme?.hoverBackgroundColor};
548
+ color: ${theme?.hoverTextColor};
549
+ }
550
+ ` }), (0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: (enableSubmitButton
551
+ ? pendingSelections
552
+ : selectedOptions).includes(option.value), style: {
553
+ width: '14px',
554
+ height: '14px',
555
+ margin: 'auto 0',
556
+ }, readOnly: true }), (0, jsx_runtime_1.jsxs)("div", { style: {
557
+ display: 'flex',
558
+ flexDirection: 'row',
559
+ flex: 1,
560
+ minWidth: 0,
561
+ overflow: 'hidden',
562
+ gap: 8,
563
+ alignItems: 'baseline',
564
+ }, children: [(0, jsx_runtime_1.jsx)("span", { style: {
565
+ textOverflow: 'ellipsis',
566
+ whiteSpace: 'nowrap',
567
+ overflow: 'hidden',
568
+ fontWeight: 400,
569
+ flex: '0 1 auto',
570
+ minWidth: 0,
571
+ textAlign: 'left',
572
+ }, title: option.value !== null && option.value !== '-'
573
+ ? option.value.toString()
574
+ : undefined, children: option.label ?? nullLabel }), option.value !== null &&
575
+ option.value !== '-' &&
576
+ displayValue && ((0, jsx_runtime_1.jsx)("span", { style: {
577
+ fontSize: 11,
578
+ color: theme?.secondaryTextColor,
579
+ textOverflow: 'ellipsis',
580
+ whiteSpace: 'nowrap',
581
+ overflow: 'hidden',
582
+ fontWeight: 400,
583
+ flexShrink: 1,
584
+ maxWidth: '30%',
585
+ minWidth: 0,
586
+ }, title: option.value.toString(), children: option.value.toString().length > 15
587
+ ? `${option.value.toString().substring(0, 15)}...`
588
+ : option.value.toString() }))] }), enableSingleSelectOption && ((0, jsx_runtime_1.jsx)("div", { className: "quill-select-only-btn", onClick: (e) => {
589
+ e.stopPropagation();
590
+ if (enableSubmitButton) {
591
+ setPendingSelections([option.value]);
592
+ }
593
+ else {
594
+ const updatedChangeEvent = {
595
+ target: { value: [option.value] },
596
+ };
597
+ setSelectedOptions([option.value]);
598
+ debounce(updatedChangeEvent);
599
+ }
600
+ }, title: "Select only this option", role: "button", tabIndex: 0, onKeyDown: (e) => {
601
+ if (e.key === 'Enter' || e.key === ' ') {
602
+ e.preventDefault();
603
+ e.stopPropagation();
604
+ if (enableSubmitButton) {
605
+ setPendingSelections([option.value]);
606
+ }
607
+ else {
608
+ const updatedChangeEvent = {
609
+ target: { value: [option.value] },
610
+ };
611
+ setSelectedOptions([option.value]);
612
+ debounce(updatedChangeEvent);
613
+ }
614
+ }
615
+ }, children: "only" }))] }, option.value)))] })) : isLoading ? ((0, jsx_runtime_1.jsx)("div", { style: {
616
+ width: '100%',
617
+ alignItems: 'center',
618
+ justifyContent: 'center',
619
+ display: 'flex',
620
+ marginLeft: 'auto',
621
+ marginRight: 'auto',
622
+ padding: 8,
623
+ }, children: (0, jsx_runtime_1.jsx)(UiComponents_1.LoadingSpinner, {}) })) : null] })] }), enableSubmitButton && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("div", { style: {
624
+ height: 1,
625
+ width: '100%',
626
+ borderTop: '1px solid #e7e7e7',
627
+ marginTop: 6,
628
+ marginBottom: 6,
629
+ } }), (0, jsx_runtime_1.jsxs)("button", { style: {
410
630
  display: 'flex',
411
631
  alignItems: 'center',
632
+ justifyContent: 'center',
412
633
  padding: 8,
413
634
  margin: 0,
414
635
  boxSizing: 'border-box',
415
- borderWidth: 0,
416
- fontSize: 14,
636
+ borderWidth: 1,
417
637
  borderStyle: 'solid',
418
638
  borderColor: theme?.borderColor,
639
+ fontSize: 14,
419
640
  borderRadius: 4,
420
641
  fontFamily: theme?.fontFamily,
421
- textOverflow: 'ellipsis',
422
- whiteSpace: 'nowrap',
423
642
  height: 34,
424
643
  minHeight: 34,
425
- gap: 6,
426
- overflow: 'hidden',
427
- }, className: "quill-option", onClick: () => {
428
- // Manually create a synthetic ChangeEvent and pass it to callback
429
- const changeEvent = { target: { value: option.value } };
430
- let updateSelectedOptions = [...selectedOptions];
431
- if (selectedOptions.includes(changeEvent.target.value)) {
432
- updateSelectedOptions = selectedOptions.filter((opt) => opt !== changeEvent.target.value);
433
- setSelectedOptions(updateSelectedOptions);
434
- }
435
- else {
436
- updateSelectedOptions = [
437
- ...updateSelectedOptions,
438
- changeEvent.target.value,
439
- ];
440
- setSelectedOptions(updateSelectedOptions);
441
- }
442
- const updatedChangeEvent = {
443
- target: { value: updateSelectedOptions },
444
- };
445
- if (updateSelectedOptions.length === 0) {
446
- updatedChangeEvent.target.value = [];
447
- }
448
- debounce(updatedChangeEvent);
449
- }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
450
- .quill-option {
451
- background: ${theme?.backgroundColor};
452
- color: ${theme?.primaryTextColor};
453
- }
454
- .quill-option:hover {
644
+ background: theme?.primaryButtonColor,
645
+ color: theme?.primaryButtonTextColor,
646
+ cursor: 'pointer',
647
+ flexShrink: 0,
648
+ }, className: "quill-submit-button", onClick: handleSubmit, children: [(0, jsx_runtime_1.jsx)("style", { children: `
649
+ .quill-submit-button:hover {
455
650
  background: ${theme?.hoverBackgroundColor};
456
651
  color: ${theme?.hoverTextColor};
457
652
  }
458
- ` }), (0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: selectedOptions.includes(option.value), style: {
459
- width: '14px',
460
- height: '14px',
461
- margin: 'auto 0',
462
- }, readOnly: true }), (0, jsx_runtime_1.jsx)("span", { style: {
463
- textOverflow: 'ellipsis',
464
- whiteSpace: 'nowrap',
465
- overflow: 'hidden',
466
- }, children: option.label ?? nullLabel })] }, option.value)))] })) : isLoading ? ((0, jsx_runtime_1.jsx)("div", { style: {
467
- width: '100%',
468
- alignItems: 'center',
469
- justifyContent: 'center',
470
- display: 'flex',
471
- marginLeft: 'auto',
472
- marginRight: 'auto',
473
- padding: 8,
474
- }, children: (0, jsx_runtime_1.jsx)(UiComponents_1.LoadingSpinner, {}) })) : null] }), document.body)] }));
653
+ ` }), submitButtonText ?? 'Apply Selection'] })] }))] }), document.body)] }));
475
654
  }
476
655
  const ListboxTextInput = ({ value, onChange, placeholder, id, width, }) => {
477
- const { state: { theme }, } = (0, AdminProvider_1.useAdmin)();
656
+ const { state: { theme }, } = (0, useAdmin_1.useAdmin)();
478
657
  return ((0, jsx_runtime_1.jsxs)("div", { style: {
479
658
  position: 'relative',
480
659
  display: 'flex',
@@ -38,11 +38,11 @@ const jsx_runtime_1 = require("react/jsx-runtime");
38
38
  const useOnClickOutside_1 = __importStar(require("../hooks/useOnClickOutside"));
39
39
  const UiComponents_1 = require("./UiComponents");
40
40
  const react_1 = require("react");
41
- const AdminProvider_1 = require("../AdminProvider");
41
+ const useAdmin_1 = require("../hooks/useAdmin");
42
42
  const react_dom_1 = require("react-dom");
43
43
  const ui_1 = require("../utils/ui");
44
44
  function QuillPopover({ style, popoverStyle, label, isLoading, disabled, children, }) {
45
- const theme = (0, AdminProvider_1.useAdmin)().state.theme;
45
+ const theme = (0, useAdmin_1.useAdmin)().state.theme;
46
46
  const [showModal, setShowModal] = (0, react_1.useState)(false);
47
47
  const modalRef = (0, react_1.useRef)(null);
48
48
  const buttonRef = (0, react_1.useRef)(null);
@@ -1 +1 @@
1
- {"version":3,"file":"QuillSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAItD,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAoB,EACpB,KAAK,EACL,eAAe,EACf,QAAQ,GACT,EAAE,oBAAoB,2CA0OtB"}
1
+ {"version":3,"file":"QuillSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelect.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGtD,wBAAgB,oBAAoB,CAAC,EACnC,KAAK,EACL,OAAO,EACP,KAAK,EACL,QAAQ,EACR,KAAoB,EACpB,KAAK,EACL,eAAe,EACf,QAAQ,GACT,EAAE,oBAAoB,2CA0OtB"}
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.QuillSelectComponent = QuillSelectComponent;
7
7
  const jsx_runtime_1 = require("react/jsx-runtime");
8
8
  const useOnClickOutside_1 = __importDefault(require("../hooks/useOnClickOutside"));
9
+ const Provider_1 = require("../models/Provider");
9
10
  const react_1 = require("react");
10
- const Admin_1 = require("../Admin");
11
- function QuillSelectComponent({ style, options, value, onChange, theme = Admin_1.defaultTheme, label, hideEmptyOption, disabled, }) {
11
+ function QuillSelectComponent({ style, options, value, onChange, theme = Provider_1.defaultTheme, label, hideEmptyOption, disabled, }) {
12
12
  const [showModal, setShowModal] = (0, react_1.useState)(false);
13
13
  const modalRef = (0, react_1.useRef)(null);
14
14
  const parentRef = (0, react_1.useRef)(null);