@quillsql/admin 1.6.3 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (304) hide show
  1. package/dist/cjs/Admin.d.ts +14 -8
  2. package/dist/cjs/Admin.d.ts.map +1 -1
  3. package/dist/cjs/Admin.js +134 -25
  4. package/dist/cjs/AdminProvider.d.ts +26 -5
  5. package/dist/cjs/AdminProvider.d.ts.map +1 -1
  6. package/dist/cjs/AdminProvider.js +174 -85
  7. package/dist/cjs/api/ConnectionClient.d.ts +26 -12
  8. package/dist/cjs/api/ConnectionClient.d.ts.map +1 -1
  9. package/dist/cjs/api/ConnectionClient.js +198 -31
  10. package/dist/cjs/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  11. package/dist/cjs/assets/XIcon.d.ts.map +1 -1
  12. package/dist/cjs/components/CardSection.d.ts.map +1 -1
  13. package/dist/cjs/components/CardSection.js +4 -2
  14. package/dist/cjs/components/ClipboardButton.d.ts.map +1 -1
  15. package/dist/cjs/components/DashboardSelectPopover.d.ts.map +1 -1
  16. package/dist/cjs/components/DashboardSelectPopover.js +46 -7
  17. package/dist/cjs/components/DatabaseSelector.d.ts +3 -1
  18. package/dist/cjs/components/DatabaseSelector.d.ts.map +1 -1
  19. package/dist/cjs/components/DatabaseSelector.js +3 -2
  20. package/dist/cjs/components/DateRangePicker/SingleDatePicker.d.ts.map +1 -1
  21. package/dist/cjs/components/DateRangePicker/SingleDatePicker.js +31 -7
  22. package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.d.ts.map +1 -1
  23. package/dist/cjs/components/DateRangePicker/YearlessDateRangePicker.js +31 -7
  24. package/dist/cjs/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  25. package/dist/cjs/components/DropDownMenuWithLabel.d.ts.map +1 -1
  26. package/dist/cjs/components/DropDownMenuWithLabel.js +8 -1
  27. package/dist/cjs/components/DynamicBanner.d.ts +3 -2
  28. package/dist/cjs/components/DynamicBanner.d.ts.map +1 -1
  29. package/dist/cjs/components/DynamicBanner.js +7 -2
  30. package/dist/cjs/components/EmptyDashboardComponent/index.d.ts.map +1 -1
  31. package/dist/cjs/components/EmptyDashboardComponent/index.js +3 -2
  32. package/dist/cjs/components/EmptyVirtualTablesComponent.d.ts.map +1 -1
  33. package/dist/cjs/components/EmptyVirtualTablesComponent.js +4 -1
  34. package/dist/cjs/components/FormTooltip.d.ts.map +1 -1
  35. package/dist/cjs/components/FormTooltip.js +4 -1
  36. package/dist/cjs/components/InputLabel.d.ts.map +1 -1
  37. package/dist/cjs/components/InputLabel.js +4 -2
  38. package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts +1 -1
  39. package/dist/cjs/components/InternalDashboard/DashboardFilter.d.ts.map +1 -1
  40. package/dist/cjs/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -1
  41. package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  42. package/dist/cjs/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +33 -14
  43. package/dist/cjs/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  44. package/dist/cjs/components/InternalDashboard/InternalDashboard.d.ts.map +1 -1
  45. package/dist/cjs/components/InternalDashboard/InternalDashboard.js +128 -35
  46. package/dist/cjs/components/OrgSelect.d.ts +0 -6
  47. package/dist/cjs/components/OrgSelect.d.ts.map +1 -1
  48. package/dist/cjs/components/OrgSelect.js +79 -47
  49. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts +8 -2
  50. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  51. package/dist/cjs/components/QuillMultiSelectWithCombo.js +351 -167
  52. package/dist/cjs/components/QuillPopover.d.ts.map +1 -1
  53. package/dist/cjs/components/QuillPopover.js +4 -5
  54. package/dist/cjs/components/QuillSelect.js +9 -9
  55. package/dist/cjs/components/QuillSelectWithCombo.d.ts +4 -3
  56. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  57. package/dist/cjs/components/QuillSelectWithCombo.js +47 -21
  58. package/dist/cjs/components/QuillToolTipPortal.d.ts.map +1 -1
  59. package/dist/cjs/components/SqlTextEditor.d.ts.map +1 -1
  60. package/dist/cjs/components/SqlTextEditor.js +15 -2
  61. package/dist/cjs/components/Tenants/EditTenant.d.ts.map +1 -1
  62. package/dist/cjs/components/Tenants/EditTenant.js +51 -8
  63. package/dist/cjs/components/UiComponents.d.ts +16 -43
  64. package/dist/cjs/components/UiComponents.d.ts.map +1 -1
  65. package/dist/cjs/components/UiComponents.js +162 -33
  66. package/dist/cjs/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  67. package/dist/cjs/forms/client_onboard/ConnectDatabase.js +163 -51
  68. package/dist/cjs/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  69. package/dist/cjs/forms/client_onboard/ConnectSchema.js +36 -2
  70. package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts +2 -1
  71. package/dist/cjs/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -1
  72. package/dist/cjs/forms/client_onboard/CreateVirtualTables.js +60 -22
  73. package/dist/cjs/forms/client_onboard/__tests__/ConnectSchema.test.js +2 -1
  74. package/dist/cjs/forms/client_onboard/__tests__/CreateVirtualTables.test.js +2 -1
  75. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
  76. package/dist/cjs/forms/virtual_tables/CreateEditVirtualTable.js +101 -15
  77. package/dist/cjs/hooks/useDatabaseSchema.d.ts.map +1 -1
  78. package/dist/cjs/hooks/useDatabaseSchema.js +18 -2
  79. package/dist/cjs/hooks/useLongLoading.d.ts +13 -0
  80. package/dist/cjs/hooks/useLongLoading.d.ts.map +1 -0
  81. package/dist/cjs/hooks/useLongLoading.js +67 -0
  82. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
  83. package/dist/cjs/hooks/useThrottle.d.ts.map +1 -1
  84. package/dist/cjs/icons/ArrowDownHeadIcon.d.ts.map +1 -1
  85. package/dist/cjs/icons/CheckCircleIcon.d.ts.map +1 -1
  86. package/dist/cjs/icons/ExclamationFilledIcon.d.ts.map +1 -1
  87. package/dist/cjs/icons/ExteriorLinkIcon.d.ts.map +1 -1
  88. package/dist/cjs/icons/QuestionMarkCircleIcon.d.ts.map +1 -1
  89. package/dist/cjs/modals/CodePreview.d.ts.map +1 -1
  90. package/dist/cjs/modals/CodePreview.js +7 -2
  91. package/dist/cjs/modals/CreateEnvironmentModal.d.ts +5 -0
  92. package/dist/cjs/modals/CreateEnvironmentModal.d.ts.map +1 -0
  93. package/dist/cjs/modals/CreateEnvironmentModal.js +21 -0
  94. package/dist/cjs/modals/EditEnvironmentModal.d.ts.map +1 -1
  95. package/dist/cjs/modals/EditEnvironmentModal.js +74 -17
  96. package/dist/cjs/modals/EditFiltersModal.d.ts.map +1 -1
  97. package/dist/cjs/modals/EditFiltersModal.js +19 -15
  98. package/dist/cjs/modals/NewDashboardModal.d.ts.map +1 -1
  99. package/dist/cjs/modals/NewDashboardModal.js +54 -28
  100. package/dist/cjs/modals/PromoteReportModal.d.ts.map +1 -1
  101. package/dist/cjs/modals/PromoteReportModal.js +15 -4
  102. package/dist/cjs/modals/PromoteViewModal.d.ts.map +1 -1
  103. package/dist/cjs/modals/PromoteViewModal.js +13 -2
  104. package/dist/cjs/primitives/ButtonPrimitive.d.ts.map +1 -1
  105. package/dist/cjs/primitives/ButtonPrimitive.js +10 -6
  106. package/dist/cjs/primitives/CheckboxPrimitive.d.ts.map +1 -1
  107. package/dist/cjs/primitives/CheckboxPrimitive.js +2 -0
  108. package/dist/cjs/primitives/HeaderPrimitive.d.ts.map +1 -1
  109. package/dist/cjs/primitives/HeaderPrimitive.js +11 -7
  110. package/dist/cjs/primitives/PopoverPrimitive.d.ts.map +1 -1
  111. package/dist/cjs/primitives/PopoverPrimitive.js +19 -6
  112. package/dist/cjs/primitives/SecondaryButtonPrimitive.d.ts.map +1 -1
  113. package/dist/cjs/primitives/SecondaryButtonPrimitive.js +5 -3
  114. package/dist/cjs/primitives/TogglePrimitive.d.ts.map +1 -1
  115. package/dist/cjs/public_components/ChartQueryBuilder.d.ts.map +1 -1
  116. package/dist/cjs/public_components/ChartQueryBuilder.js +17 -7
  117. package/dist/cjs/public_components/CreateEnvironment.d.ts.map +1 -1
  118. package/dist/cjs/public_components/CreateEnvironment.js +68 -30
  119. package/dist/cjs/public_components/DashboardManager.d.ts.map +1 -1
  120. package/dist/cjs/public_components/DashboardManager.js +71 -4
  121. package/dist/cjs/public_components/EnvSelectPopover.d.ts +2 -1
  122. package/dist/cjs/public_components/EnvSelectPopover.d.ts.map +1 -1
  123. package/dist/cjs/public_components/EnvSelectPopover.js +48 -8
  124. package/dist/cjs/public_components/VirtualTableManager.d.ts.map +1 -1
  125. package/dist/cjs/public_components/VirtualTableManager.js +124 -10
  126. package/dist/cjs/public_components/__tests__/CreateEnvironment.test.js +41 -2
  127. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  128. package/dist/cjs/utils/columnProcessing.d.ts +1 -0
  129. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  130. package/dist/cjs/utils/columnProcessing.js +7 -1
  131. package/dist/cjs/utils/constants.d.ts +1 -0
  132. package/dist/cjs/utils/constants.d.ts.map +1 -1
  133. package/dist/cjs/utils/constants.js +5 -1
  134. package/dist/cjs/utils/dataEditor.d.ts.map +1 -1
  135. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  136. package/dist/cjs/utils/dataFetcher.js +0 -1
  137. package/dist/cjs/utils/databases.d.ts +6 -1
  138. package/dist/cjs/utils/databases.d.ts.map +1 -1
  139. package/dist/cjs/utils/databases.js +23 -5
  140. package/dist/cjs/utils/delay.d.ts.map +1 -1
  141. package/dist/cjs/utils/filter.d.ts +17 -21
  142. package/dist/cjs/utils/filter.d.ts.map +1 -1
  143. package/dist/cjs/utils/filter.js +6 -6
  144. package/dist/cjs/utils/report.d.ts +5 -5
  145. package/dist/cjs/utils/report.d.ts.map +1 -1
  146. package/dist/cjs/utils/schema.d.ts +6 -3
  147. package/dist/cjs/utils/schema.d.ts.map +1 -1
  148. package/dist/cjs/utils/schema.js +42 -3
  149. package/dist/cjs/utils/table.d.ts.map +1 -1
  150. package/dist/cjs/utils/tenants.d.ts.map +1 -1
  151. package/dist/cjs/utils/ui.d.ts.map +1 -1
  152. package/dist/esm/Admin.d.ts +14 -8
  153. package/dist/esm/Admin.d.ts.map +1 -1
  154. package/dist/esm/Admin.js +135 -26
  155. package/dist/esm/AdminProvider.d.ts +26 -5
  156. package/dist/esm/AdminProvider.d.ts.map +1 -1
  157. package/dist/esm/AdminProvider.js +177 -88
  158. package/dist/esm/api/ConnectionClient.d.ts +26 -12
  159. package/dist/esm/api/ConnectionClient.d.ts.map +1 -1
  160. package/dist/esm/api/ConnectionClient.js +196 -31
  161. package/dist/esm/assets/ArrowDownHeadIcon.d.ts.map +1 -1
  162. package/dist/esm/assets/XIcon.d.ts.map +1 -1
  163. package/dist/esm/components/CardSection.d.ts.map +1 -1
  164. package/dist/esm/components/CardSection.js +4 -2
  165. package/dist/esm/components/ClipboardButton.d.ts.map +1 -1
  166. package/dist/esm/components/DashboardSelectPopover.d.ts.map +1 -1
  167. package/dist/esm/components/DashboardSelectPopover.js +47 -8
  168. package/dist/esm/components/DatabaseSelector.d.ts +3 -1
  169. package/dist/esm/components/DatabaseSelector.d.ts.map +1 -1
  170. package/dist/esm/components/DatabaseSelector.js +3 -2
  171. package/dist/esm/components/DateRangePicker/SingleDatePicker.d.ts.map +1 -1
  172. package/dist/esm/components/DateRangePicker/SingleDatePicker.js +31 -7
  173. package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.d.ts.map +1 -1
  174. package/dist/esm/components/DateRangePicker/YearlessDateRangePicker.js +31 -7
  175. package/dist/esm/components/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  176. package/dist/esm/components/DropDownMenuWithLabel.d.ts.map +1 -1
  177. package/dist/esm/components/DropDownMenuWithLabel.js +9 -2
  178. package/dist/esm/components/DynamicBanner.d.ts +3 -2
  179. package/dist/esm/components/DynamicBanner.d.ts.map +1 -1
  180. package/dist/esm/components/DynamicBanner.js +7 -2
  181. package/dist/esm/components/EmptyDashboardComponent/index.d.ts.map +1 -1
  182. package/dist/esm/components/EmptyDashboardComponent/index.js +3 -2
  183. package/dist/esm/components/EmptyVirtualTablesComponent.d.ts.map +1 -1
  184. package/dist/esm/components/EmptyVirtualTablesComponent.js +4 -1
  185. package/dist/esm/components/FormTooltip.d.ts.map +1 -1
  186. package/dist/esm/components/FormTooltip.js +4 -1
  187. package/dist/esm/components/InputLabel.d.ts.map +1 -1
  188. package/dist/esm/components/InputLabel.js +4 -2
  189. package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts +1 -1
  190. package/dist/esm/components/InternalDashboard/DashboardFilter.d.ts.map +1 -1
  191. package/dist/esm/components/InternalDashboard/DashboardFilter.js +1 -1
  192. package/dist/esm/components/InternalDashboard/DashboardLoadingComponent.d.ts.map +1 -1
  193. package/dist/esm/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.d.ts.map +1 -1
  194. package/dist/esm/components/InternalDashboard/DateRangePicker/QuillDateRangePicker.js +33 -11
  195. package/dist/esm/components/InternalDashboard/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  196. package/dist/esm/components/InternalDashboard/InternalDashboard.d.ts.map +1 -1
  197. package/dist/esm/components/InternalDashboard/InternalDashboard.js +129 -36
  198. package/dist/esm/components/OrgSelect.d.ts +0 -6
  199. package/dist/esm/components/OrgSelect.d.ts.map +1 -1
  200. package/dist/esm/components/OrgSelect.js +79 -45
  201. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts +8 -2
  202. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  203. package/dist/esm/components/QuillMultiSelectWithCombo.js +351 -167
  204. package/dist/esm/components/QuillPopover.d.ts.map +1 -1
  205. package/dist/esm/components/QuillPopover.js +4 -5
  206. package/dist/esm/components/QuillSelect.js +9 -9
  207. package/dist/esm/components/QuillSelectWithCombo.d.ts +4 -3
  208. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  209. package/dist/esm/components/QuillSelectWithCombo.js +47 -21
  210. package/dist/esm/components/QuillToolTipPortal.d.ts.map +1 -1
  211. package/dist/esm/components/SqlTextEditor.d.ts.map +1 -1
  212. package/dist/esm/components/SqlTextEditor.js +15 -2
  213. package/dist/esm/components/Tenants/EditTenant.d.ts.map +1 -1
  214. package/dist/esm/components/Tenants/EditTenant.js +51 -8
  215. package/dist/esm/components/UiComponents.d.ts +16 -43
  216. package/dist/esm/components/UiComponents.d.ts.map +1 -1
  217. package/dist/esm/components/UiComponents.js +127 -29
  218. package/dist/esm/forms/client_onboard/ConnectDatabase.d.ts.map +1 -1
  219. package/dist/esm/forms/client_onboard/ConnectDatabase.js +163 -51
  220. package/dist/esm/forms/client_onboard/ConnectSchema.d.ts.map +1 -1
  221. package/dist/esm/forms/client_onboard/ConnectSchema.js +36 -2
  222. package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts +2 -1
  223. package/dist/esm/forms/client_onboard/CreateVirtualTables.d.ts.map +1 -1
  224. package/dist/esm/forms/client_onboard/CreateVirtualTables.js +61 -23
  225. package/dist/esm/forms/client_onboard/__tests__/ConnectSchema.test.js +2 -1
  226. package/dist/esm/forms/client_onboard/__tests__/CreateVirtualTables.test.js +2 -1
  227. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.d.ts.map +1 -1
  228. package/dist/esm/forms/virtual_tables/CreateEditVirtualTable.js +103 -17
  229. package/dist/esm/hooks/useDatabaseSchema.d.ts.map +1 -1
  230. package/dist/esm/hooks/useDatabaseSchema.js +19 -3
  231. package/dist/esm/hooks/useLongLoading.d.ts +13 -0
  232. package/dist/esm/hooks/useLongLoading.d.ts.map +1 -0
  233. package/dist/esm/hooks/useLongLoading.js +64 -0
  234. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
  235. package/dist/esm/hooks/useThrottle.d.ts.map +1 -1
  236. package/dist/esm/icons/ArrowDownHeadIcon.d.ts.map +1 -1
  237. package/dist/esm/icons/CheckCircleIcon.d.ts.map +1 -1
  238. package/dist/esm/icons/ExclamationFilledIcon.d.ts.map +1 -1
  239. package/dist/esm/icons/ExteriorLinkIcon.d.ts.map +1 -1
  240. package/dist/esm/icons/QuestionMarkCircleIcon.d.ts.map +1 -1
  241. package/dist/esm/modals/CodePreview.d.ts.map +1 -1
  242. package/dist/esm/modals/CodePreview.js +7 -2
  243. package/dist/esm/modals/CreateEnvironmentModal.d.ts +5 -0
  244. package/dist/esm/modals/CreateEnvironmentModal.d.ts.map +1 -0
  245. package/dist/esm/modals/CreateEnvironmentModal.js +15 -0
  246. package/dist/esm/modals/EditEnvironmentModal.d.ts.map +1 -1
  247. package/dist/esm/modals/EditEnvironmentModal.js +74 -17
  248. package/dist/esm/modals/EditFiltersModal.d.ts.map +1 -1
  249. package/dist/esm/modals/EditFiltersModal.js +21 -17
  250. package/dist/esm/modals/NewDashboardModal.d.ts.map +1 -1
  251. package/dist/esm/modals/NewDashboardModal.js +55 -29
  252. package/dist/esm/modals/PromoteReportModal.d.ts.map +1 -1
  253. package/dist/esm/modals/PromoteReportModal.js +15 -4
  254. package/dist/esm/modals/PromoteViewModal.d.ts.map +1 -1
  255. package/dist/esm/modals/PromoteViewModal.js +13 -2
  256. package/dist/esm/primitives/ButtonPrimitive.d.ts.map +1 -1
  257. package/dist/esm/primitives/ButtonPrimitive.js +10 -6
  258. package/dist/esm/primitives/CheckboxPrimitive.d.ts.map +1 -1
  259. package/dist/esm/primitives/CheckboxPrimitive.js +2 -0
  260. package/dist/esm/primitives/HeaderPrimitive.d.ts.map +1 -1
  261. package/dist/esm/primitives/HeaderPrimitive.js +11 -7
  262. package/dist/esm/primitives/PopoverPrimitive.d.ts.map +1 -1
  263. package/dist/esm/primitives/PopoverPrimitive.js +19 -6
  264. package/dist/esm/primitives/SecondaryButtonPrimitive.d.ts.map +1 -1
  265. package/dist/esm/primitives/SecondaryButtonPrimitive.js +5 -3
  266. package/dist/esm/primitives/TogglePrimitive.d.ts.map +1 -1
  267. package/dist/esm/public_components/ChartQueryBuilder.d.ts.map +1 -1
  268. package/dist/esm/public_components/ChartQueryBuilder.js +18 -8
  269. package/dist/esm/public_components/CreateEnvironment.d.ts.map +1 -1
  270. package/dist/esm/public_components/CreateEnvironment.js +68 -30
  271. package/dist/esm/public_components/DashboardManager.d.ts.map +1 -1
  272. package/dist/esm/public_components/DashboardManager.js +72 -5
  273. package/dist/esm/public_components/EnvSelectPopover.d.ts +2 -1
  274. package/dist/esm/public_components/EnvSelectPopover.d.ts.map +1 -1
  275. package/dist/esm/public_components/EnvSelectPopover.js +49 -9
  276. package/dist/esm/public_components/VirtualTableManager.d.ts.map +1 -1
  277. package/dist/esm/public_components/VirtualTableManager.js +125 -11
  278. package/dist/esm/public_components/__tests__/CreateEnvironment.test.js +41 -2
  279. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  280. package/dist/esm/utils/columnProcessing.d.ts +1 -0
  281. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  282. package/dist/esm/utils/columnProcessing.js +7 -2
  283. package/dist/esm/utils/constants.d.ts +1 -0
  284. package/dist/esm/utils/constants.d.ts.map +1 -1
  285. package/dist/esm/utils/constants.js +4 -0
  286. package/dist/esm/utils/dataEditor.d.ts.map +1 -1
  287. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  288. package/dist/esm/utils/dataFetcher.js +0 -1
  289. package/dist/esm/utils/databases.d.ts +6 -1
  290. package/dist/esm/utils/databases.d.ts.map +1 -1
  291. package/dist/esm/utils/databases.js +23 -5
  292. package/dist/esm/utils/delay.d.ts.map +1 -1
  293. package/dist/esm/utils/filter.d.ts +17 -21
  294. package/dist/esm/utils/filter.d.ts.map +1 -1
  295. package/dist/esm/utils/filter.js +5 -5
  296. package/dist/esm/utils/report.d.ts +5 -5
  297. package/dist/esm/utils/report.d.ts.map +1 -1
  298. package/dist/esm/utils/schema.d.ts +6 -3
  299. package/dist/esm/utils/schema.d.ts.map +1 -1
  300. package/dist/esm/utils/schema.js +42 -3
  301. package/dist/esm/utils/table.d.ts.map +1 -1
  302. package/dist/esm/utils/tenants.d.ts.map +1 -1
  303. package/dist/esm/utils/ui.d.ts.map +1 -1
  304. package/package.json +1 -1
@@ -45,10 +45,11 @@ 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, }) {
48
+ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, disabled, emptyLabel, allSelectedLabel, noneSelectedLabel, mimicReactSelect, enableSingleSelectOption, displayValue, enableSubmitButton, submitButtonText, }) {
49
49
  const { state } = (0, AdminProvider_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(() => {
@@ -242,11 +270,10 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
242
270
  fontSize: 14,
243
271
  color: theme?.secondaryTextColor,
244
272
  fontFamily: theme?.fontFamily,
245
- paddingBottom: 5,
273
+ paddingBottom: 4,
246
274
  fontWeight: 600,
247
275
  }, children: label ?? nullLabel })), (0, jsx_runtime_1.jsxs)("button", { style: {
248
276
  fontFamily: theme?.fontFamily,
249
- color: theme?.primaryTextColor,
250
277
  width: '100%',
251
278
  display: 'flex',
252
279
  alignItems: 'center',
@@ -266,11 +293,11 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
266
293
  height: 40,
267
294
  minHeight: 40,
268
295
  maxHeight: 40,
269
- }, className: 'quill-select-button', onClick: () => setShowModal((showModal) => !showModal), disabled: disabled, ref: buttonRef, children: [(0, jsx_runtime_1.jsx)("style", { children: ` .quill-select-button { background: ${theme?.backgroundColor}; }
270
- .quill-select-button:hover { background: ${theme?.hoverBackgroundColor}; }
296
+ }, className: 'quill-select-button', onClick: () => setShowModal((showModal) => !showModal), disabled: disabled, ref: buttonRef, children: [(0, jsx_runtime_1.jsx)("style", { children: ` .quill-select-button { background: ${theme?.backgroundColor}; color: ${theme?.primaryTextColor}; }
297
+ .quill-select-button:hover { background: ${theme?.hoverBackgroundColor}; color: ${theme?.hoverTextColor}; }
271
298
  .quill-select-button:disabled {
272
299
  cursor: not-allowed;
273
- background: ${theme?.hoverBackgroundColor};
300
+ opacity: 0.5;
274
301
  }
275
302
  ` }), (0, jsx_runtime_1.jsx)("span", { style: {
276
303
  textOverflow: 'ellipsis',
@@ -279,14 +306,15 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
279
306
  width: '100%',
280
307
  textAlign: 'left',
281
308
  zIndex: 1,
282
- fontWeight: value?.length || isLoading ? undefined : 300,
283
- color: value?.length || isLoading
309
+ fontWeight: (enableSubmitButton ? pendingSelections : value)?.length ||
310
+ isLoading
284
311
  ? undefined
285
- : theme?.secondaryTextColor,
312
+ : 300,
286
313
  }, children: isLoading
287
314
  ? 'Loading...'
288
- : value?.length
289
- ? value?.length === options?.length
315
+ : (enableSubmitButton ? pendingSelections : value)?.length
316
+ ? (enableSubmitButton ? pendingSelections : value)?.length ===
317
+ options?.length
290
318
  ? (allSelectedLabel ?? selectedOptionsLabel)
291
319
  : selectedOptionsLabel
292
320
  : emptyLabel
@@ -307,198 +335,354 @@ function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, v
307
335
  borderStyle: 'solid',
308
336
  borderColor: theme?.borderColor,
309
337
  borderRadius: 6,
310
- background: 'white',
338
+ background: theme?.backgroundColor,
311
339
  marginTop: 12,
312
340
  zIndex: z + 1,
313
341
  padding: 6,
314
342
  fontFamily: theme?.fontFamily,
315
- overflow: 'scroll',
316
343
  fontSize: 14,
317
- }, 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) => {
318
- setSearchQuery(value);
319
- } }), (0, jsx_runtime_1.jsx)("div", { style: {
320
- height: 9,
321
- width: 230,
322
- borderTop: '1px solid #e7e7e7',
323
- } })] })), !isLoading &&
324
- (!filteredItems ||
325
- filteredItems.length === 0 ||
326
- exceedsLimit) && ((0, jsx_runtime_1.jsxs)("div", { style: {
344
+ }, ref: modalRef, children: [(0, jsx_runtime_1.jsxs)("div", { style: {
327
345
  display: 'flex',
328
- alignItems: 'center',
329
- padding: 8,
330
- margin: 0,
331
- boxSizing: 'border-box',
332
- borderWidth: 0,
333
- fontSize: 14,
334
- borderStyle: 'solid',
335
- borderColor: theme?.borderColor,
336
- borderRadius: 4,
337
- fontFamily: theme?.fontFamily,
338
- textOverflow: 'ellipsis',
339
- whiteSpace: 'nowrap',
340
- height: 34,
341
- minHeight: 34,
342
- gap: 6,
346
+ flexDirection: 'column',
347
+ flex: 1,
343
348
  overflow: 'hidden',
344
- }, 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: `
345
382
  .quill-option {
346
- background: white;
347
- }
383
+ background: ${theme?.backgroundColor};
348
384
  .quill-option:hover {
349
- background: #F4F4F5;
385
+ background: ${theme?.hoverBackgroundColor};
350
386
  }
351
387
  ` }), (0, jsx_runtime_1.jsx)("span", { style: {
352
- textOverflow: 'ellipsis',
353
- whiteSpace: 'nowrap',
354
- overflow: 'hidden',
355
- cursor: 'default',
356
- }, children: exceedsLimit
357
- ? 'Too many options'
358
- : (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: {
359
- display: 'flex',
360
- alignItems: 'center',
361
- padding: 8,
362
- margin: 0,
363
- boxSizing: 'border-box',
364
- borderWidth: 0,
365
- fontSize: 14,
366
- borderStyle: 'solid',
367
- borderColor: theme?.borderColor,
368
- borderRadius: 4,
369
- fontFamily: theme?.fontFamily,
370
- textOverflow: 'ellipsis',
371
- whiteSpace: 'nowrap',
372
- height: 34,
373
- minHeight: 34,
374
- gap: 6,
375
- overflow: 'hidden',
376
- }, className: "quill-option", onClick: () => {
377
- // if any are selected, deselect all
378
- if (selectAllCheckboxState === CheckboxState.SELECTED ||
379
- selectAllCheckboxState === CheckboxState.INDETERMINATE) {
380
- setSelectedOptions([]);
381
- const updatedChangeEvent = {
382
- target: { value: [] },
383
- };
384
- debounce(updatedChangeEvent);
385
- return;
386
- }
387
- // if none are selected, select all
388
- const updatedChangeEvent = {
389
- target: {
390
- value: options.map((opt) => opt.value),
391
- },
392
- };
393
- setSelectedOptions(options.map((opt) => opt.value));
394
- debounce(updatedChangeEvent);
395
- }, 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: `
396
445
  .quill-option {
397
- background: white;
446
+ background: ${theme?.backgroundColor};
398
447
  }
399
448
  .quill-option:hover {
400
- background: #F4F4F5;
449
+ background: ${theme?.hoverBackgroundColor};
450
+ color: ${theme?.hoverTextColor};
401
451
  }
402
452
  ` }), (0, jsx_runtime_1.jsx)("input", { ref: selectAllRef, type: "checkbox", checked: selectAllCheckboxState === CheckboxState.SELECTED, style: {
403
- width: '14px',
404
- height: '14px',
405
- margin: 'auto 0',
406
- }, readOnly: true }), (0, jsx_runtime_1.jsx)("span", { style: {
407
- textOverflow: 'ellipsis',
408
- whiteSpace: 'nowrap',
409
- overflow: 'hidden',
410
- }, children: (0, jsx_runtime_1.jsx)("span", { style: {
411
- color: theme?.secondaryTextColor,
412
- fontWeight: 300,
413
- }, 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: {
414
630
  display: 'flex',
415
631
  alignItems: 'center',
632
+ justifyContent: 'center',
416
633
  padding: 8,
417
634
  margin: 0,
418
635
  boxSizing: 'border-box',
419
- borderWidth: 0,
420
- fontSize: 14,
636
+ borderWidth: 1,
421
637
  borderStyle: 'solid',
422
638
  borderColor: theme?.borderColor,
639
+ fontSize: 14,
423
640
  borderRadius: 4,
424
641
  fontFamily: theme?.fontFamily,
425
- textOverflow: 'ellipsis',
426
- whiteSpace: 'nowrap',
427
642
  height: 34,
428
643
  minHeight: 34,
429
- gap: 6,
430
- overflow: 'hidden',
431
- }, className: "quill-option", onClick: () => {
432
- // Manually create a synthetic ChangeEvent and pass it to callback
433
- const changeEvent = { target: { value: option.value } };
434
- let updateSelectedOptions = [...selectedOptions];
435
- if (selectedOptions.includes(changeEvent.target.value)) {
436
- updateSelectedOptions = selectedOptions.filter((opt) => opt !== changeEvent.target.value);
437
- setSelectedOptions(updateSelectedOptions);
438
- }
439
- else {
440
- updateSelectedOptions = [
441
- ...updateSelectedOptions,
442
- changeEvent.target.value,
443
- ];
444
- setSelectedOptions(updateSelectedOptions);
445
- }
446
- const updatedChangeEvent = {
447
- target: { value: updateSelectedOptions },
448
- };
449
- if (updateSelectedOptions.length === 0) {
450
- updatedChangeEvent.target.value = [];
451
- }
452
- debounce(updatedChangeEvent);
453
- }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
454
- .quill-option {
455
- background: white;
456
- }
457
- .quill-option:hover {
458
- background: #F4F4F5;
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 {
650
+ background: ${theme?.hoverBackgroundColor};
651
+ color: ${theme?.hoverTextColor};
459
652
  }
460
- ` }), (0, jsx_runtime_1.jsx)("input", { type: "checkbox", checked: selectedOptions.includes(option.value), style: {
461
- width: '14px',
462
- height: '14px',
463
- margin: 'auto 0',
464
- }, readOnly: true }), (0, jsx_runtime_1.jsx)("span", { style: {
465
- textOverflow: 'ellipsis',
466
- whiteSpace: 'nowrap',
467
- overflow: 'hidden',
468
- }, children: option.label ?? nullLabel })] }, option.value)))] })) : isLoading ? ((0, jsx_runtime_1.jsx)("div", { style: {
469
- width: '100%',
470
- alignItems: 'center',
471
- justifyContent: 'center',
472
- display: 'flex',
473
- marginLeft: 'auto',
474
- marginRight: 'auto',
475
- padding: 8,
476
- }, children: (0, jsx_runtime_1.jsx)(UiComponents_1.LoadingSpinner, {}) })) : null] }), document.body)] }));
653
+ ` }), submitButtonText ?? 'Apply Selection'] })] }))] }), document.body)] }));
477
654
  }
478
- const ListboxTextInput = ({ value, onChange, placeholder, }) => {
655
+ const ListboxTextInput = ({ value, onChange, placeholder, id, width, }) => {
656
+ const { state: { theme }, } = (0, AdminProvider_1.useAdmin)();
479
657
  return ((0, jsx_runtime_1.jsxs)("div", { style: {
480
658
  position: 'relative',
481
659
  display: 'flex',
482
660
  flexDirection: 'row',
483
661
  alignItems: 'center',
484
662
  marginTop: 2,
663
+ background: theme.backgroundColor,
485
664
  }, children: [(0, jsx_runtime_1.jsx)("style", { children: `
486
665
  .quill-text-input {
487
666
  background-color: white;
488
667
  height: 40px;
489
- width: 145px;
668
+ width: ${width ?? 145}px;
490
669
  z-index: 2;
491
- color: #384151;
670
+ color: ${theme.primaryTextColor};
492
671
  border-radius: 4px;
493
672
  text-align: left;
494
673
  padding-top: 0px;
495
674
  padding-bottom: 0px;
675
+ padding-right: 12px;
496
676
  box-sizing: content-box;
497
677
  margin-left: 6px;
498
- border: 0 solid #e5e7eb;
678
+ border: 0 solid ${theme.borderColor};
499
679
  }
500
680
  .quill-text-input:focus {
501
681
  outline: none;
502
- }` }), (0, jsx_runtime_1.jsx)("div", { style: { width: 6 } }), (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 16 16", fill: "rgba(56, 65, 81, 0.7)", height: "16", width: "16", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M9.965 11.026a5 5 0 1 1 1.06-1.06l2.755 2.754a.75.75 0 1 1-1.06 1.06l-2.755-2.754ZM10.5 7a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z", clipRule: "evenodd" }) }), (0, jsx_runtime_1.jsx)("input", { className: "quill-text-input", type: "text", value: value, onChange: (event) => onChange(event.target.value), placeholder: placeholder })] }));
682
+ }` }), (0, jsx_runtime_1.jsx)("div", { style: { width: 6 } }), (0, jsx_runtime_1.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 16 16", fill: "rgba(56, 65, 81, 0.7)", height: "16", width: "16", children: (0, jsx_runtime_1.jsx)("path", { fillRule: "evenodd", d: "M9.965 11.026a5 5 0 1 1 1.06-1.06l2.755 2.754a.75.75 0 1 1-1.06 1.06l-2.755-2.754ZM10.5 7a3.5 3.5 0 1 1-7 0 3.5 3.5 0 0 1 7 0Z", clipRule: "evenodd" }) }), (0, jsx_runtime_1.jsx)("input", { id: id, className: "quill-text-input", type: "text", value: value, onChange: (event) => onChange(event.target.value), placeholder: placeholder, style: {
683
+ fontFamily: theme.fontFamily,
684
+ color: theme.primaryTextColor,
685
+ background: theme.backgroundColor,
686
+ } })] }));
503
687
  };
504
688
  exports.ListboxTextInput = ListboxTextInput;