@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
@@ -8,10 +8,11 @@ import { getScrollableParent } from '../utils/ui';
8
8
  /**
9
9
  * A robust select component that implements the new minimal Select interface.
10
10
  */
11
- export function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, disabled, emptyLabel, allSelectedLabel, noneSelectedLabel, mimicReactSelect, }) {
11
+ export function QuillMultiSelectComponentWithCombo({ options, width, onChange, label, value, isLoading, disabled, emptyLabel, allSelectedLabel, noneSelectedLabel, mimicReactSelect, enableSingleSelectOption, displayValue, enableSubmitButton, submitButtonText, }) {
12
12
  const { state } = useAdmin();
13
13
  const theme = state.theme;
14
14
  const [selectedOptions, setSelectedOptions] = useState([]);
15
+ const [pendingSelections, setPendingSelections] = useState([]);
15
16
  const [showModal, setShowModal] = useState(false);
16
17
  const modalRef = useRef(null);
17
18
  const buttonRef = useRef(null);
@@ -30,38 +31,48 @@ export function QuillMultiSelectComponentWithCombo({ options, width, onChange, l
30
31
  })(CheckboxState || (CheckboxState = {}));
31
32
  const optionValues = useMemo(() => new Set(options.map((opt) => opt.value)), [options]);
32
33
  const selectedOptionsLabel = useMemo(() => {
33
- if (!value || !value.length) {
34
+ const currentValue = enableSubmitButton ? pendingSelections : value;
35
+ if (!currentValue || !currentValue.length) {
34
36
  return noneSelectedLabel ?? 'Select';
35
37
  }
36
- // if (value.length === options.length) {
38
+ // if (currentValue.length === options.length) {
37
39
  // return 'All Tenants';
38
40
  // }
39
- const matchingOptions = options.filter((elem) => value.includes(elem.value));
40
- if (matchingOptions.length !== value.length) {
41
- return value.join(', ');
41
+ const matchingOptions = options.filter((elem) => currentValue.includes(elem.value));
42
+ if (matchingOptions.length !== currentValue.length) {
43
+ return currentValue.join(', ');
42
44
  }
43
45
  return matchingOptions
44
46
  .map((elem) => elem.label ?? '-')
45
47
  .join(', ');
46
- }, [options, value]);
48
+ }, [options, value, pendingSelections, enableSubmitButton]);
47
49
  const potentialOptions = useMemo(() => {
48
- return value
50
+ const currentValue = enableSubmitButton ? pendingSelections : value;
51
+ return currentValue
49
52
  .filter((opt) => !optionValues.has(opt ?? ''))
50
53
  .map((opt) => ({
51
54
  label: opt === '' ? '-' : (opt?.toString() ?? '-'),
52
55
  value: opt ?? '',
53
56
  }))
54
57
  .concat(options);
55
- }, [value, options]);
58
+ }, [value, pendingSelections, options, enableSubmitButton]);
56
59
  const selectAllCheckboxState = useMemo(() => {
57
- if (selectedOptions.length === 0) {
60
+ const currentSelections = enableSubmitButton
61
+ ? pendingSelections
62
+ : selectedOptions;
63
+ if (currentSelections.length === 0) {
58
64
  return CheckboxState.UNSELECTED;
59
65
  }
60
- if (selectedOptions.length === potentialOptions.length) {
66
+ if (currentSelections.length === potentialOptions.length) {
61
67
  return CheckboxState.SELECTED;
62
68
  }
63
69
  return CheckboxState.INDETERMINATE;
64
- }, [selectedOptions]);
70
+ }, [
71
+ selectedOptions,
72
+ pendingSelections,
73
+ potentialOptions,
74
+ enableSubmitButton,
75
+ ]);
65
76
  useEffect(() => {
66
77
  if (selectAllRef.current) {
67
78
  selectAllRef.current.indeterminate =
@@ -129,12 +140,22 @@ export function QuillMultiSelectComponentWithCombo({ options, width, onChange, l
129
140
  useEffect(() => {
130
141
  if (!value) {
131
142
  setSelectedOptions([]);
143
+ if (enableSubmitButton) {
144
+ setPendingSelections([]);
145
+ }
132
146
  }
133
147
  else {
134
148
  setSelectedOptions(value);
149
+ if (enableSubmitButton) {
150
+ setPendingSelections(value);
151
+ }
135
152
  }
136
- }, [value]);
153
+ }, [value, enableSubmitButton]);
137
154
  const debounce = (updatedChangeEvent) => {
155
+ if (enableSubmitButton) {
156
+ // When submit button is enabled, don't call onChange immediately
157
+ return;
158
+ }
138
159
  if (debounceTimeoutId.current) {
139
160
  clearTimeout(debounceTimeoutId.current);
140
161
  }
@@ -142,6 +163,13 @@ export function QuillMultiSelectComponentWithCombo({ options, width, onChange, l
142
163
  onChange(updatedChangeEvent);
143
164
  }, 200);
144
165
  };
166
+ const handleSubmit = () => {
167
+ const updatedChangeEvent = {
168
+ target: { value: pendingSelections },
169
+ };
170
+ onChange(updatedChangeEvent);
171
+ setShowModal(false);
172
+ };
145
173
  // FIXME: Hacked this to display selected options that have been filtered out, which is good
146
174
  // But they don't have their proper labels, since we haven't stored/passed in the label
147
175
  const filteredItems = React.useMemo(() => {
@@ -205,11 +233,10 @@ export function QuillMultiSelectComponentWithCombo({ options, width, onChange, l
205
233
  fontSize: 14,
206
234
  color: theme?.secondaryTextColor,
207
235
  fontFamily: theme?.fontFamily,
208
- paddingBottom: 5,
236
+ paddingBottom: 4,
209
237
  fontWeight: 600,
210
238
  }, children: label ?? nullLabel })), _jsxs("button", { style: {
211
239
  fontFamily: theme?.fontFamily,
212
- color: theme?.primaryTextColor,
213
240
  width: '100%',
214
241
  display: 'flex',
215
242
  alignItems: 'center',
@@ -229,11 +256,11 @@ export function QuillMultiSelectComponentWithCombo({ options, width, onChange, l
229
256
  height: 40,
230
257
  minHeight: 40,
231
258
  maxHeight: 40,
232
- }, className: 'quill-select-button', onClick: () => setShowModal((showModal) => !showModal), disabled: disabled, ref: buttonRef, children: [_jsx("style", { children: ` .quill-select-button { background: ${theme?.backgroundColor}; }
233
- .quill-select-button:hover { background: ${theme?.hoverBackgroundColor}; }
259
+ }, className: 'quill-select-button', onClick: () => setShowModal((showModal) => !showModal), disabled: disabled, ref: buttonRef, children: [_jsx("style", { children: ` .quill-select-button { background: ${theme?.backgroundColor}; color: ${theme?.primaryTextColor}; }
260
+ .quill-select-button:hover { background: ${theme?.hoverBackgroundColor}; color: ${theme?.hoverTextColor}; }
234
261
  .quill-select-button:disabled {
235
262
  cursor: not-allowed;
236
- background: ${theme?.hoverBackgroundColor};
263
+ opacity: 0.5;
237
264
  }
238
265
  ` }), _jsx("span", { style: {
239
266
  textOverflow: 'ellipsis',
@@ -242,14 +269,15 @@ export function QuillMultiSelectComponentWithCombo({ options, width, onChange, l
242
269
  width: '100%',
243
270
  textAlign: 'left',
244
271
  zIndex: 1,
245
- fontWeight: value?.length || isLoading ? undefined : 300,
246
- color: value?.length || isLoading
272
+ fontWeight: (enableSubmitButton ? pendingSelections : value)?.length ||
273
+ isLoading
247
274
  ? undefined
248
- : theme?.secondaryTextColor,
275
+ : 300,
249
276
  }, children: isLoading
250
277
  ? 'Loading...'
251
- : value?.length
252
- ? value?.length === options?.length
278
+ : (enableSubmitButton ? pendingSelections : value)?.length
279
+ ? (enableSubmitButton ? pendingSelections : value)?.length ===
280
+ options?.length
253
281
  ? (allSelectedLabel ?? selectedOptionsLabel)
254
282
  : selectedOptionsLabel
255
283
  : emptyLabel
@@ -270,197 +298,353 @@ export function QuillMultiSelectComponentWithCombo({ options, width, onChange, l
270
298
  borderStyle: 'solid',
271
299
  borderColor: theme?.borderColor,
272
300
  borderRadius: 6,
273
- background: 'white',
301
+ background: theme?.backgroundColor,
274
302
  marginTop: 12,
275
303
  zIndex: z + 1,
276
304
  padding: 6,
277
305
  fontFamily: theme?.fontFamily,
278
- overflow: 'scroll',
279
306
  fontSize: 14,
280
- }, ref: modalRef, children: [!exceedsLimit && options && options.length > 20 && (_jsxs(_Fragment, { children: [_jsx(ListboxTextInput, { value: searchQuery, placeholder: "Search", onChange: (value) => {
281
- setSearchQuery(value);
282
- } }), _jsx("div", { style: {
283
- height: 9,
284
- width: 230,
285
- borderTop: '1px solid #e7e7e7',
286
- } })] })), !isLoading &&
287
- (!filteredItems ||
288
- filteredItems.length === 0 ||
289
- exceedsLimit) && (_jsxs("div", { style: {
307
+ }, ref: modalRef, children: [_jsxs("div", { style: {
290
308
  display: 'flex',
291
- alignItems: 'center',
292
- padding: 8,
293
- margin: 0,
294
- boxSizing: 'border-box',
295
- borderWidth: 0,
296
- fontSize: 14,
297
- borderStyle: 'solid',
298
- borderColor: theme?.borderColor,
299
- borderRadius: 4,
300
- fontFamily: theme?.fontFamily,
301
- textOverflow: 'ellipsis',
302
- whiteSpace: 'nowrap',
303
- height: 34,
304
- minHeight: 34,
305
- gap: 6,
309
+ flexDirection: 'column',
310
+ flex: 1,
306
311
  overflow: 'hidden',
307
- }, children: [_jsx("style", { children: `
312
+ minHeight: 0,
313
+ }, children: [!exceedsLimit && options && options.length > 20 && (_jsxs(_Fragment, { children: [_jsx(ListboxTextInput, { value: searchQuery, placeholder: "Search", onChange: (value) => {
314
+ setSearchQuery(value);
315
+ } }), _jsx("div", { style: {
316
+ height: 9,
317
+ width: 230,
318
+ borderTop: '1px solid #e7e7e7',
319
+ } })] })), _jsxs("div", { style: {
320
+ flex: 1,
321
+ overflow: 'auto',
322
+ minHeight: 0,
323
+ }, children: [!isLoading &&
324
+ (!filteredItems ||
325
+ filteredItems.length === 0 ||
326
+ exceedsLimit) && (_jsxs("div", { style: {
327
+ 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,
343
+ overflow: 'hidden',
344
+ }, children: [_jsx("style", { children: `
308
345
  .quill-option {
309
- background: white;
310
- }
346
+ background: ${theme?.backgroundColor};
311
347
  .quill-option:hover {
312
- background: #F4F4F5;
348
+ background: ${theme?.hoverBackgroundColor};
313
349
  }
314
350
  ` }), _jsx("span", { style: {
315
- textOverflow: 'ellipsis',
316
- whiteSpace: 'nowrap',
317
- overflow: 'hidden',
318
- cursor: 'default',
319
- }, children: exceedsLimit
320
- ? 'Too many options'
321
- : (emptyLabel ?? 'No options available') })] })), !isLoading ? (_jsxs(_Fragment, { children: [searchQuery === '' && potentialOptions.length > 0 && (_jsxs("button", { style: {
322
- display: 'flex',
323
- alignItems: 'center',
324
- padding: 8,
325
- margin: 0,
326
- boxSizing: 'border-box',
327
- borderWidth: 0,
328
- fontSize: 14,
329
- borderStyle: 'solid',
330
- borderColor: theme?.borderColor,
331
- borderRadius: 4,
332
- fontFamily: theme?.fontFamily,
333
- textOverflow: 'ellipsis',
334
- whiteSpace: 'nowrap',
335
- height: 34,
336
- minHeight: 34,
337
- gap: 6,
338
- overflow: 'hidden',
339
- }, className: "quill-option", onClick: () => {
340
- // if any are selected, deselect all
341
- if (selectAllCheckboxState === CheckboxState.SELECTED ||
342
- selectAllCheckboxState === CheckboxState.INDETERMINATE) {
343
- setSelectedOptions([]);
344
- const updatedChangeEvent = {
345
- target: { value: [] },
346
- };
347
- debounce(updatedChangeEvent);
348
- return;
349
- }
350
- // if none are selected, select all
351
- const updatedChangeEvent = {
352
- target: {
353
- value: options.map((opt) => opt.value),
354
- },
355
- };
356
- setSelectedOptions(options.map((opt) => opt.value));
357
- debounce(updatedChangeEvent);
358
- }, children: [_jsx("style", { children: `
351
+ textOverflow: 'ellipsis',
352
+ whiteSpace: 'nowrap',
353
+ overflow: 'hidden',
354
+ cursor: 'default',
355
+ color: theme?.secondaryTextColor,
356
+ }, children: exceedsLimit
357
+ ? 'Too many options'
358
+ : (emptyLabel ?? 'No options available') })] })), !isLoading ? (_jsxs(_Fragment, { children: [searchQuery === '' && potentialOptions.length > 0 && (_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
+ width: '100%',
377
+ }, className: "quill-option", onClick: () => {
378
+ // if any are selected, deselect all
379
+ if (selectAllCheckboxState === CheckboxState.SELECTED ||
380
+ selectAllCheckboxState ===
381
+ CheckboxState.INDETERMINATE) {
382
+ if (enableSubmitButton) {
383
+ setPendingSelections([]);
384
+ }
385
+ else {
386
+ setSelectedOptions([]);
387
+ const updatedChangeEvent = {
388
+ target: { value: [] },
389
+ };
390
+ debounce(updatedChangeEvent);
391
+ }
392
+ return;
393
+ }
394
+ // if none are selected, select all
395
+ if (enableSubmitButton) {
396
+ setPendingSelections(options.map((opt) => opt.value));
397
+ }
398
+ else {
399
+ const updatedChangeEvent = {
400
+ target: {
401
+ value: options.map((opt) => opt.value),
402
+ },
403
+ };
404
+ setSelectedOptions(options.map((opt) => opt.value));
405
+ debounce(updatedChangeEvent);
406
+ }
407
+ }, children: [_jsx("style", { children: `
359
408
  .quill-option {
360
- background: white;
409
+ background: ${theme?.backgroundColor};
361
410
  }
362
411
  .quill-option:hover {
363
- background: #F4F4F5;
412
+ background: ${theme?.hoverBackgroundColor};
413
+ color: ${theme?.hoverTextColor};
364
414
  }
365
415
  ` }), _jsx("input", { ref: selectAllRef, type: "checkbox", checked: selectAllCheckboxState === CheckboxState.SELECTED, style: {
366
- width: '14px',
367
- height: '14px',
368
- margin: 'auto 0',
369
- }, readOnly: true }), _jsx("span", { style: {
370
- textOverflow: 'ellipsis',
371
- whiteSpace: 'nowrap',
372
- overflow: 'hidden',
373
- }, children: _jsx("span", { style: {
374
- color: theme?.secondaryTextColor,
375
- fontWeight: 300,
376
- }, children: "Select all" }) })] })), filteredItems.map((option) => (_jsxs("button", { style: {
416
+ width: '14px',
417
+ height: '14px',
418
+ margin: 'auto 0',
419
+ }, readOnly: true }), _jsx("span", { style: {
420
+ textOverflow: 'ellipsis',
421
+ whiteSpace: 'nowrap',
422
+ overflow: 'hidden',
423
+ }, children: _jsx("span", { style: {
424
+ fontWeight: 300,
425
+ }, children: "Select all" }) })] })), filteredItems.map((option) => (_jsxs("button", { style: {
426
+ display: 'flex',
427
+ alignItems: 'center',
428
+ padding: 8,
429
+ margin: 0,
430
+ boxSizing: 'border-box',
431
+ borderWidth: 0,
432
+ fontSize: 14,
433
+ borderStyle: 'solid',
434
+ borderColor: theme?.borderColor,
435
+ borderRadius: 4,
436
+ fontFamily: theme?.fontFamily,
437
+ textOverflow: 'ellipsis',
438
+ whiteSpace: 'nowrap',
439
+ height: 34,
440
+ minHeight: 34,
441
+ gap: 6,
442
+ overflow: 'hidden',
443
+ position: 'relative',
444
+ width: '100%',
445
+ }, className: "quill-option", onClick: () => {
446
+ // Manually create a synthetic ChangeEvent and pass it to callback
447
+ const changeEvent = {
448
+ target: { value: option.value },
449
+ };
450
+ let updateSelectedOptions = [...selectedOptions];
451
+ let updatePendingSelections = [...pendingSelections];
452
+ if (enableSubmitButton) {
453
+ if (pendingSelections.includes(changeEvent.target.value)) {
454
+ updatePendingSelections =
455
+ pendingSelections.filter((opt) => opt !== changeEvent.target.value);
456
+ setPendingSelections(updatePendingSelections);
457
+ }
458
+ else {
459
+ updatePendingSelections = [
460
+ ...updatePendingSelections,
461
+ changeEvent.target.value,
462
+ ];
463
+ setPendingSelections(updatePendingSelections);
464
+ }
465
+ }
466
+ else {
467
+ if (selectedOptions.includes(changeEvent.target.value)) {
468
+ updateSelectedOptions = selectedOptions.filter((opt) => opt !== changeEvent.target.value);
469
+ setSelectedOptions(updateSelectedOptions);
470
+ }
471
+ else {
472
+ updateSelectedOptions = [
473
+ ...updateSelectedOptions,
474
+ changeEvent.target.value,
475
+ ];
476
+ setSelectedOptions(updateSelectedOptions);
477
+ }
478
+ const updatedChangeEvent = {
479
+ target: { value: updateSelectedOptions },
480
+ };
481
+ if (updateSelectedOptions.length === 0) {
482
+ updatedChangeEvent.target.value = [];
483
+ }
484
+ debounce(updatedChangeEvent);
485
+ }
486
+ }, children: [_jsx("style", { children: `
487
+ .quill-option {
488
+ background: ${theme?.backgroundColor};
489
+ color: ${theme?.primaryTextColor};
490
+ }
491
+ .quill-option:hover {
492
+ background: ${theme?.hoverBackgroundColor};
493
+ color: ${theme?.hoverTextColor};
494
+ }
495
+ .quill-select-only-btn {
496
+ background: transparent;
497
+ border: none;
498
+ padding: 2px 6px;
499
+ border-radius: 3px;
500
+ font-size: 11px;
501
+ color: ${theme?.secondaryTextColor};
502
+ cursor: pointer;
503
+ opacity: 0;
504
+ transition: opacity 0.2s ease;
505
+ }
506
+ .quill-option:hover .quill-select-only-btn {
507
+ opacity: 1;
508
+ }
509
+ .quill-select-only-btn:hover {
510
+ background: ${theme?.hoverBackgroundColor};
511
+ color: ${theme?.hoverTextColor};
512
+ }
513
+ ` }), _jsx("input", { type: "checkbox", checked: (enableSubmitButton
514
+ ? pendingSelections
515
+ : selectedOptions).includes(option.value), style: {
516
+ width: '14px',
517
+ height: '14px',
518
+ margin: 'auto 0',
519
+ }, readOnly: true }), _jsxs("div", { style: {
520
+ display: 'flex',
521
+ flexDirection: 'row',
522
+ flex: 1,
523
+ minWidth: 0,
524
+ overflow: 'hidden',
525
+ gap: 8,
526
+ alignItems: 'baseline',
527
+ }, children: [_jsx("span", { style: {
528
+ textOverflow: 'ellipsis',
529
+ whiteSpace: 'nowrap',
530
+ overflow: 'hidden',
531
+ fontWeight: 400,
532
+ flex: '0 1 auto',
533
+ minWidth: 0,
534
+ textAlign: 'left',
535
+ }, title: option.value !== null && option.value !== '-'
536
+ ? option.value.toString()
537
+ : undefined, children: option.label ?? nullLabel }), option.value !== null &&
538
+ option.value !== '-' &&
539
+ displayValue && (_jsx("span", { style: {
540
+ fontSize: 11,
541
+ color: theme?.secondaryTextColor,
542
+ textOverflow: 'ellipsis',
543
+ whiteSpace: 'nowrap',
544
+ overflow: 'hidden',
545
+ fontWeight: 400,
546
+ flexShrink: 1,
547
+ maxWidth: '30%',
548
+ minWidth: 0,
549
+ }, title: option.value.toString(), children: option.value.toString().length > 15
550
+ ? `${option.value.toString().substring(0, 15)}...`
551
+ : option.value.toString() }))] }), enableSingleSelectOption && (_jsx("div", { className: "quill-select-only-btn", onClick: (e) => {
552
+ e.stopPropagation();
553
+ if (enableSubmitButton) {
554
+ setPendingSelections([option.value]);
555
+ }
556
+ else {
557
+ const updatedChangeEvent = {
558
+ target: { value: [option.value] },
559
+ };
560
+ setSelectedOptions([option.value]);
561
+ debounce(updatedChangeEvent);
562
+ }
563
+ }, title: "Select only this option", role: "button", tabIndex: 0, onKeyDown: (e) => {
564
+ if (e.key === 'Enter' || e.key === ' ') {
565
+ e.preventDefault();
566
+ e.stopPropagation();
567
+ if (enableSubmitButton) {
568
+ setPendingSelections([option.value]);
569
+ }
570
+ else {
571
+ const updatedChangeEvent = {
572
+ target: { value: [option.value] },
573
+ };
574
+ setSelectedOptions([option.value]);
575
+ debounce(updatedChangeEvent);
576
+ }
577
+ }
578
+ }, children: "only" }))] }, option.value)))] })) : isLoading ? (_jsx("div", { style: {
579
+ width: '100%',
580
+ alignItems: 'center',
581
+ justifyContent: 'center',
582
+ display: 'flex',
583
+ marginLeft: 'auto',
584
+ marginRight: 'auto',
585
+ padding: 8,
586
+ }, children: _jsx(LoadingSpinner, {}) })) : null] })] }), enableSubmitButton && (_jsxs(_Fragment, { children: [_jsx("div", { style: {
587
+ height: 1,
588
+ width: '100%',
589
+ borderTop: '1px solid #e7e7e7',
590
+ marginTop: 6,
591
+ marginBottom: 6,
592
+ } }), _jsxs("button", { style: {
377
593
  display: 'flex',
378
594
  alignItems: 'center',
595
+ justifyContent: 'center',
379
596
  padding: 8,
380
597
  margin: 0,
381
598
  boxSizing: 'border-box',
382
- borderWidth: 0,
383
- fontSize: 14,
599
+ borderWidth: 1,
384
600
  borderStyle: 'solid',
385
601
  borderColor: theme?.borderColor,
602
+ fontSize: 14,
386
603
  borderRadius: 4,
387
604
  fontFamily: theme?.fontFamily,
388
- textOverflow: 'ellipsis',
389
- whiteSpace: 'nowrap',
390
605
  height: 34,
391
606
  minHeight: 34,
392
- gap: 6,
393
- overflow: 'hidden',
394
- }, className: "quill-option", onClick: () => {
395
- // Manually create a synthetic ChangeEvent and pass it to callback
396
- const changeEvent = { target: { value: option.value } };
397
- let updateSelectedOptions = [...selectedOptions];
398
- if (selectedOptions.includes(changeEvent.target.value)) {
399
- updateSelectedOptions = selectedOptions.filter((opt) => opt !== changeEvent.target.value);
400
- setSelectedOptions(updateSelectedOptions);
401
- }
402
- else {
403
- updateSelectedOptions = [
404
- ...updateSelectedOptions,
405
- changeEvent.target.value,
406
- ];
407
- setSelectedOptions(updateSelectedOptions);
408
- }
409
- const updatedChangeEvent = {
410
- target: { value: updateSelectedOptions },
411
- };
412
- if (updateSelectedOptions.length === 0) {
413
- updatedChangeEvent.target.value = [];
414
- }
415
- debounce(updatedChangeEvent);
416
- }, children: [_jsx("style", { children: `
417
- .quill-option {
418
- background: white;
419
- }
420
- .quill-option:hover {
421
- background: #F4F4F5;
607
+ background: theme?.primaryButtonColor,
608
+ color: theme?.primaryButtonTextColor,
609
+ cursor: 'pointer',
610
+ flexShrink: 0,
611
+ }, className: "quill-submit-button", onClick: handleSubmit, children: [_jsx("style", { children: `
612
+ .quill-submit-button:hover {
613
+ background: ${theme?.hoverBackgroundColor};
614
+ color: ${theme?.hoverTextColor};
422
615
  }
423
- ` }), _jsx("input", { type: "checkbox", checked: selectedOptions.includes(option.value), style: {
424
- width: '14px',
425
- height: '14px',
426
- margin: 'auto 0',
427
- }, readOnly: true }), _jsx("span", { style: {
428
- textOverflow: 'ellipsis',
429
- whiteSpace: 'nowrap',
430
- overflow: 'hidden',
431
- }, children: option.label ?? nullLabel })] }, option.value)))] })) : isLoading ? (_jsx("div", { style: {
432
- width: '100%',
433
- alignItems: 'center',
434
- justifyContent: 'center',
435
- display: 'flex',
436
- marginLeft: 'auto',
437
- marginRight: 'auto',
438
- padding: 8,
439
- }, children: _jsx(LoadingSpinner, {}) })) : null] }), document.body)] }));
616
+ ` }), submitButtonText ?? 'Apply Selection'] })] }))] }), document.body)] }));
440
617
  }
441
- export const ListboxTextInput = ({ value, onChange, placeholder, }) => {
618
+ export const ListboxTextInput = ({ value, onChange, placeholder, id, width, }) => {
619
+ const { state: { theme }, } = useAdmin();
442
620
  return (_jsxs("div", { style: {
443
621
  position: 'relative',
444
622
  display: 'flex',
445
623
  flexDirection: 'row',
446
624
  alignItems: 'center',
447
625
  marginTop: 2,
626
+ background: theme.backgroundColor,
448
627
  }, children: [_jsx("style", { children: `
449
628
  .quill-text-input {
450
629
  background-color: white;
451
630
  height: 40px;
452
- width: 145px;
631
+ width: ${width ?? 145}px;
453
632
  z-index: 2;
454
- color: #384151;
633
+ color: ${theme.primaryTextColor};
455
634
  border-radius: 4px;
456
635
  text-align: left;
457
636
  padding-top: 0px;
458
637
  padding-bottom: 0px;
638
+ padding-right: 12px;
459
639
  box-sizing: content-box;
460
640
  margin-left: 6px;
461
- border: 0 solid #e5e7eb;
641
+ border: 0 solid ${theme.borderColor};
462
642
  }
463
643
  .quill-text-input:focus {
464
644
  outline: none;
465
- }` }), _jsx("div", { style: { width: 6 } }), _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: _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" }) }), _jsx("input", { className: "quill-text-input", type: "text", value: value, onChange: (event) => onChange(event.target.value), placeholder: placeholder })] }));
645
+ }` }), _jsx("div", { style: { width: 6 } }), _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: _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" }) }), _jsx("input", { id: id, className: "quill-text-input", type: "text", value: value, onChange: (event) => onChange(event.target.value), placeholder: placeholder, style: {
646
+ fontFamily: theme.fontFamily,
647
+ color: theme.primaryTextColor,
648
+ background: theme.backgroundColor,
649
+ } })] }));
466
650
  };