@quillsql/react 2.13.47 → 2.13.49

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 (298) hide show
  1. package/dist/cjs/Chart.d.ts +2 -2
  2. package/dist/cjs/Chart.d.ts.map +1 -1
  3. package/dist/cjs/Chart.js +56 -49
  4. package/dist/cjs/ChartBuilder.d.ts +3 -2
  5. package/dist/cjs/ChartBuilder.d.ts.map +1 -1
  6. package/dist/cjs/ChartBuilder.js +172 -138
  7. package/dist/cjs/ChartEditor.d.ts +2 -2
  8. package/dist/cjs/ChartEditor.d.ts.map +1 -1
  9. package/dist/cjs/ChartEditor.js +5 -2
  10. package/dist/cjs/Context.d.ts +121 -41
  11. package/dist/cjs/Context.d.ts.map +1 -1
  12. package/dist/cjs/Context.js +449 -261
  13. package/dist/cjs/Dashboard.d.ts.map +1 -1
  14. package/dist/cjs/Dashboard.js +26 -25
  15. package/dist/cjs/DateRangePicker/QuillDateRangePicker.js +0 -3
  16. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts +24 -10
  17. package/dist/cjs/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  18. package/dist/cjs/DateRangePicker/dateRangePickerUtils.js +472 -96
  19. package/dist/cjs/QuillProvider.d.ts +3 -1
  20. package/dist/cjs/QuillProvider.d.ts.map +1 -1
  21. package/dist/cjs/QuillProvider.js +2 -2
  22. package/dist/cjs/ReportBuilder.d.ts.map +1 -1
  23. package/dist/cjs/ReportBuilder.js +25 -14
  24. package/dist/cjs/SQLEditor.d.ts +1 -1
  25. package/dist/cjs/SQLEditor.d.ts.map +1 -1
  26. package/dist/cjs/SQLEditor.js +51 -16
  27. package/dist/cjs/Table.d.ts.map +1 -1
  28. package/dist/cjs/Table.js +85 -14
  29. package/dist/cjs/assets/ExclamationFilledIcon.d.ts.map +1 -1
  30. package/dist/cjs/components/Chart/BarChart.d.ts.map +1 -1
  31. package/dist/cjs/components/Chart/BarChart.js +2 -1
  32. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts +1 -1
  33. package/dist/cjs/components/Chart/CustomReferenceLine.d.ts.map +1 -1
  34. package/dist/cjs/components/Chart/CustomReferenceLine.js +7 -6
  35. package/dist/cjs/components/Chart/GaugeChart.d.ts +1 -1
  36. package/dist/cjs/components/Chart/GaugeChart.d.ts.map +1 -1
  37. package/dist/cjs/components/Chart/GaugeChart.js +63 -36
  38. package/dist/cjs/components/Chart/InternalChart.d.ts.map +1 -1
  39. package/dist/cjs/components/Chart/InternalChart.js +30 -33
  40. package/dist/cjs/components/Chart/LineChart.d.ts.map +1 -1
  41. package/dist/cjs/components/Chart/LineChart.js +3 -1
  42. package/dist/cjs/components/Chart/MapChart.d.ts +3 -3
  43. package/dist/cjs/components/Chart/MapChart.d.ts.map +1 -1
  44. package/dist/cjs/components/Chart/MapChart.js +62 -34
  45. package/dist/cjs/components/Chart/PieChart.d.ts +3 -1
  46. package/dist/cjs/components/Chart/PieChart.d.ts.map +1 -1
  47. package/dist/cjs/components/Chart/PieChart.js +80 -39
  48. package/dist/cjs/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  49. package/dist/cjs/components/Dashboard/DashboardFilter.js +4 -20
  50. package/dist/cjs/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
  51. package/dist/cjs/components/Dashboard/DashboardTemplate.js +2 -1
  52. package/dist/cjs/components/Dashboard/DataLoader.d.ts +4 -4
  53. package/dist/cjs/components/Dashboard/DataLoader.d.ts.map +1 -1
  54. package/dist/cjs/components/Dashboard/DataLoader.js +101 -65
  55. package/dist/cjs/components/Dashboard/MetricComponent.d.ts.map +1 -1
  56. package/dist/cjs/components/Dashboard/MetricComponent.js +2 -2
  57. package/dist/cjs/components/Dashboard/util.d.ts +1 -1
  58. package/dist/cjs/components/Dashboard/util.d.ts.map +1 -1
  59. package/dist/cjs/components/Dashboard/util.js +7 -6
  60. package/dist/cjs/components/QuillMultiSelectSectionList.d.ts.map +1 -1
  61. package/dist/cjs/components/QuillMultiSelectSectionList.js +32 -22
  62. package/dist/cjs/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  63. package/dist/cjs/components/QuillMultiSelectWithCombo.js +186 -159
  64. package/dist/cjs/components/QuillSelect.d.ts.map +1 -1
  65. package/dist/cjs/components/QuillSelect.js +83 -75
  66. package/dist/cjs/components/QuillSelectWithCombo.d.ts.map +1 -1
  67. package/dist/cjs/components/QuillSelectWithCombo.js +18 -11
  68. package/dist/cjs/components/QuillTable.d.ts.map +1 -1
  69. package/dist/cjs/components/QuillTable.js +59 -61
  70. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts +2 -1
  71. package/dist/cjs/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  72. package/dist/cjs/components/ReportBuilder/FilterStack.js +3 -4
  73. package/dist/cjs/components/ReportBuilder/ui.d.ts +2 -2
  74. package/dist/cjs/components/ReportBuilder/ui.d.ts.map +1 -1
  75. package/dist/cjs/components/ReportBuilder/ui.js +4 -7
  76. package/dist/cjs/components/UiComponents.d.ts +1 -1
  77. package/dist/cjs/hooks/useAskQuill.d.ts.map +1 -1
  78. package/dist/cjs/hooks/useAskQuill.js +5 -1
  79. package/dist/cjs/hooks/useDashboard.d.ts +2 -2
  80. package/dist/cjs/hooks/useDashboard.d.ts.map +1 -1
  81. package/dist/cjs/hooks/useDashboard.js +160 -69
  82. package/dist/cjs/hooks/useExport.d.ts.map +1 -1
  83. package/dist/cjs/hooks/useExport.js +29 -15
  84. package/dist/cjs/hooks/useOnClickOutside.d.ts.map +1 -1
  85. package/dist/cjs/hooks/useQuill.d.ts +1 -0
  86. package/dist/cjs/hooks/useQuill.d.ts.map +1 -1
  87. package/dist/cjs/hooks/useQuill.js +22 -12
  88. package/dist/cjs/hooks/useReport.d.ts +2 -2
  89. package/dist/cjs/hooks/useReport.d.ts.map +1 -1
  90. package/dist/cjs/hooks/useReport.js +3 -4
  91. package/dist/cjs/hooks/useVirtualTables.d.ts.map +1 -1
  92. package/dist/cjs/hooks/useVirtualTables.js +16 -22
  93. package/dist/cjs/index.d.ts +2 -2
  94. package/dist/cjs/index.d.ts.map +1 -1
  95. package/dist/cjs/index.js +2 -1
  96. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts +2 -1
  97. package/dist/cjs/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  98. package/dist/cjs/internals/ReportBuilder/PivotModal.js +19 -7
  99. package/dist/cjs/models/Client.d.ts +0 -1
  100. package/dist/cjs/models/Client.d.ts.map +1 -1
  101. package/dist/cjs/models/Data.d.ts +20 -0
  102. package/dist/cjs/models/Data.d.ts.map +1 -0
  103. package/dist/cjs/models/Data.js +2 -0
  104. package/dist/cjs/models/Filter.d.ts +42 -4
  105. package/dist/cjs/models/Filter.d.ts.map +1 -1
  106. package/dist/cjs/models/Pivot.d.ts.map +1 -1
  107. package/dist/cjs/utils/astProcessing.d.ts +3 -2
  108. package/dist/cjs/utils/astProcessing.d.ts.map +1 -1
  109. package/dist/cjs/utils/astProcessing.js +28 -37
  110. package/dist/cjs/utils/client.d.ts +3 -2
  111. package/dist/cjs/utils/client.d.ts.map +1 -1
  112. package/dist/cjs/utils/client.js +38 -39
  113. package/dist/cjs/utils/columnProcessing.d.ts.map +1 -1
  114. package/dist/cjs/utils/columnProcessing.js +14 -3
  115. package/dist/cjs/utils/constants.d.ts +1 -0
  116. package/dist/cjs/utils/constants.d.ts.map +1 -1
  117. package/dist/cjs/utils/constants.js +2 -1
  118. package/dist/cjs/utils/dashboard.d.ts +3 -2
  119. package/dist/cjs/utils/dashboard.d.ts.map +1 -1
  120. package/dist/cjs/utils/dashboard.js +30 -12
  121. package/dist/cjs/utils/dataFetcher.d.ts +8 -5
  122. package/dist/cjs/utils/dataFetcher.d.ts.map +1 -1
  123. package/dist/cjs/utils/dataFetcher.js +189 -65
  124. package/dist/cjs/utils/filterProcessing.d.ts +2 -1
  125. package/dist/cjs/utils/filterProcessing.d.ts.map +1 -1
  126. package/dist/cjs/utils/filterProcessing.js +24 -38
  127. package/dist/cjs/utils/getDomain.d.ts.map +1 -1
  128. package/dist/cjs/utils/paginationProcessing.d.ts +1 -0
  129. package/dist/cjs/utils/paginationProcessing.d.ts.map +1 -1
  130. package/dist/cjs/utils/paginationProcessing.js +6 -1
  131. package/dist/cjs/utils/pivotConstructor.d.ts +2 -1
  132. package/dist/cjs/utils/pivotConstructor.d.ts.map +1 -1
  133. package/dist/cjs/utils/pivotConstructor.js +15 -9
  134. package/dist/cjs/utils/pivotProcessing.d.ts.map +1 -1
  135. package/dist/cjs/utils/pivotProcessing.js +3 -5
  136. package/dist/cjs/utils/queryConstructor.js +1 -1
  137. package/dist/cjs/utils/report.d.ts +10 -7
  138. package/dist/cjs/utils/report.d.ts.map +1 -1
  139. package/dist/cjs/utils/report.js +52 -60
  140. package/dist/cjs/utils/schema.d.ts +4 -3
  141. package/dist/cjs/utils/schema.d.ts.map +1 -1
  142. package/dist/cjs/utils/schema.js +30 -44
  143. package/dist/cjs/utils/tableProcessing.d.ts +16 -10
  144. package/dist/cjs/utils/tableProcessing.d.ts.map +1 -1
  145. package/dist/cjs/utils/tableProcessing.js +92 -90
  146. package/dist/cjs/utils/textProcessing.d.ts.map +1 -1
  147. package/dist/cjs/utils/textProcessing.js +2 -1
  148. package/dist/cjs/utils/ui.d.ts.map +1 -1
  149. package/dist/esm/Chart.d.ts +2 -2
  150. package/dist/esm/Chart.d.ts.map +1 -1
  151. package/dist/esm/Chart.js +60 -53
  152. package/dist/esm/ChartBuilder.d.ts +3 -2
  153. package/dist/esm/ChartBuilder.d.ts.map +1 -1
  154. package/dist/esm/ChartBuilder.js +173 -139
  155. package/dist/esm/ChartEditor.d.ts +2 -2
  156. package/dist/esm/ChartEditor.d.ts.map +1 -1
  157. package/dist/esm/ChartEditor.js +6 -3
  158. package/dist/esm/Context.d.ts +121 -41
  159. package/dist/esm/Context.d.ts.map +1 -1
  160. package/dist/esm/Context.js +450 -262
  161. package/dist/esm/Dashboard.d.ts.map +1 -1
  162. package/dist/esm/Dashboard.js +28 -27
  163. package/dist/esm/DateRangePicker/QuillDateRangePicker.js +0 -3
  164. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts +24 -10
  165. package/dist/esm/DateRangePicker/dateRangePickerUtils.d.ts.map +1 -1
  166. package/dist/esm/DateRangePicker/dateRangePickerUtils.js +471 -95
  167. package/dist/esm/QuillProvider.d.ts +3 -1
  168. package/dist/esm/QuillProvider.d.ts.map +1 -1
  169. package/dist/esm/QuillProvider.js +2 -2
  170. package/dist/esm/ReportBuilder.d.ts.map +1 -1
  171. package/dist/esm/ReportBuilder.js +28 -17
  172. package/dist/esm/SQLEditor.d.ts +1 -1
  173. package/dist/esm/SQLEditor.d.ts.map +1 -1
  174. package/dist/esm/SQLEditor.js +54 -19
  175. package/dist/esm/Table.d.ts.map +1 -1
  176. package/dist/esm/Table.js +88 -17
  177. package/dist/esm/assets/ExclamationFilledIcon.d.ts.map +1 -1
  178. package/dist/esm/components/Chart/BarChart.d.ts.map +1 -1
  179. package/dist/esm/components/Chart/BarChart.js +2 -1
  180. package/dist/esm/components/Chart/CustomReferenceLine.d.ts +1 -1
  181. package/dist/esm/components/Chart/CustomReferenceLine.d.ts.map +1 -1
  182. package/dist/esm/components/Chart/CustomReferenceLine.js +8 -7
  183. package/dist/esm/components/Chart/GaugeChart.d.ts +1 -1
  184. package/dist/esm/components/Chart/GaugeChart.d.ts.map +1 -1
  185. package/dist/esm/components/Chart/GaugeChart.js +65 -38
  186. package/dist/esm/components/Chart/InternalChart.d.ts.map +1 -1
  187. package/dist/esm/components/Chart/InternalChart.js +32 -35
  188. package/dist/esm/components/Chart/LineChart.d.ts.map +1 -1
  189. package/dist/esm/components/Chart/LineChart.js +3 -1
  190. package/dist/esm/components/Chart/MapChart.d.ts +3 -3
  191. package/dist/esm/components/Chart/MapChart.d.ts.map +1 -1
  192. package/dist/esm/components/Chart/MapChart.js +67 -39
  193. package/dist/esm/components/Chart/PieChart.d.ts +3 -1
  194. package/dist/esm/components/Chart/PieChart.d.ts.map +1 -1
  195. package/dist/esm/components/Chart/PieChart.js +80 -39
  196. package/dist/esm/components/Dashboard/DashboardFilter.d.ts.map +1 -1
  197. package/dist/esm/components/Dashboard/DashboardFilter.js +5 -21
  198. package/dist/esm/components/Dashboard/DashboardSection.js +2 -2
  199. package/dist/esm/components/Dashboard/DashboardTemplate.d.ts.map +1 -1
  200. package/dist/esm/components/Dashboard/DashboardTemplate.js +3 -2
  201. package/dist/esm/components/Dashboard/DataLoader.d.ts +4 -4
  202. package/dist/esm/components/Dashboard/DataLoader.d.ts.map +1 -1
  203. package/dist/esm/components/Dashboard/DataLoader.js +102 -66
  204. package/dist/esm/components/Dashboard/MetricComponent.d.ts.map +1 -1
  205. package/dist/esm/components/Dashboard/MetricComponent.js +2 -2
  206. package/dist/esm/components/Dashboard/util.d.ts +1 -1
  207. package/dist/esm/components/Dashboard/util.d.ts.map +1 -1
  208. package/dist/esm/components/Dashboard/util.js +8 -7
  209. package/dist/esm/components/QuillMultiSelectSectionList.d.ts.map +1 -1
  210. package/dist/esm/components/QuillMultiSelectSectionList.js +32 -22
  211. package/dist/esm/components/QuillMultiSelectWithCombo.d.ts.map +1 -1
  212. package/dist/esm/components/QuillMultiSelectWithCombo.js +187 -160
  213. package/dist/esm/components/QuillSelect.d.ts.map +1 -1
  214. package/dist/esm/components/QuillSelect.js +85 -77
  215. package/dist/esm/components/QuillSelectWithCombo.d.ts.map +1 -1
  216. package/dist/esm/components/QuillSelectWithCombo.js +18 -11
  217. package/dist/esm/components/QuillTable.d.ts.map +1 -1
  218. package/dist/esm/components/QuillTable.js +59 -61
  219. package/dist/esm/components/ReportBuilder/FilterStack.d.ts +2 -1
  220. package/dist/esm/components/ReportBuilder/FilterStack.d.ts.map +1 -1
  221. package/dist/esm/components/ReportBuilder/FilterStack.js +3 -4
  222. package/dist/esm/components/ReportBuilder/ui.d.ts +2 -2
  223. package/dist/esm/components/ReportBuilder/ui.d.ts.map +1 -1
  224. package/dist/esm/components/ReportBuilder/ui.js +4 -7
  225. package/dist/esm/components/UiComponents.d.ts +1 -1
  226. package/dist/esm/hooks/useAskQuill.d.ts.map +1 -1
  227. package/dist/esm/hooks/useAskQuill.js +6 -2
  228. package/dist/esm/hooks/useDashboard.d.ts +2 -2
  229. package/dist/esm/hooks/useDashboard.d.ts.map +1 -1
  230. package/dist/esm/hooks/useDashboard.js +162 -71
  231. package/dist/esm/hooks/useExport.d.ts.map +1 -1
  232. package/dist/esm/hooks/useExport.js +31 -17
  233. package/dist/esm/hooks/useOnClickOutside.d.ts.map +1 -1
  234. package/dist/esm/hooks/useQuill.d.ts +1 -0
  235. package/dist/esm/hooks/useQuill.d.ts.map +1 -1
  236. package/dist/esm/hooks/useQuill.js +23 -13
  237. package/dist/esm/hooks/useReport.d.ts +2 -2
  238. package/dist/esm/hooks/useReport.d.ts.map +1 -1
  239. package/dist/esm/hooks/useReport.js +4 -5
  240. package/dist/esm/hooks/useVirtualTables.d.ts.map +1 -1
  241. package/dist/esm/hooks/useVirtualTables.js +17 -23
  242. package/dist/esm/index.d.ts +2 -2
  243. package/dist/esm/index.d.ts.map +1 -1
  244. package/dist/esm/index.js +1 -1
  245. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts +2 -1
  246. package/dist/esm/internals/ReportBuilder/PivotModal.d.ts.map +1 -1
  247. package/dist/esm/internals/ReportBuilder/PivotModal.js +20 -8
  248. package/dist/esm/models/Client.d.ts +0 -1
  249. package/dist/esm/models/Client.d.ts.map +1 -1
  250. package/dist/esm/models/Data.d.ts +20 -0
  251. package/dist/esm/models/Data.d.ts.map +1 -0
  252. package/dist/esm/models/Data.js +1 -0
  253. package/dist/esm/models/Filter.d.ts +42 -4
  254. package/dist/esm/models/Filter.d.ts.map +1 -1
  255. package/dist/esm/models/Pivot.d.ts.map +1 -1
  256. package/dist/esm/utils/astProcessing.d.ts +3 -2
  257. package/dist/esm/utils/astProcessing.d.ts.map +1 -1
  258. package/dist/esm/utils/astProcessing.js +28 -37
  259. package/dist/esm/utils/client.d.ts +3 -2
  260. package/dist/esm/utils/client.d.ts.map +1 -1
  261. package/dist/esm/utils/client.js +38 -39
  262. package/dist/esm/utils/columnProcessing.d.ts.map +1 -1
  263. package/dist/esm/utils/columnProcessing.js +14 -3
  264. package/dist/esm/utils/constants.d.ts +1 -0
  265. package/dist/esm/utils/constants.d.ts.map +1 -1
  266. package/dist/esm/utils/constants.js +1 -0
  267. package/dist/esm/utils/dashboard.d.ts +3 -2
  268. package/dist/esm/utils/dashboard.d.ts.map +1 -1
  269. package/dist/esm/utils/dashboard.js +31 -13
  270. package/dist/esm/utils/dataFetcher.d.ts +8 -5
  271. package/dist/esm/utils/dataFetcher.d.ts.map +1 -1
  272. package/dist/esm/utils/dataFetcher.js +187 -65
  273. package/dist/esm/utils/filterProcessing.d.ts +2 -1
  274. package/dist/esm/utils/filterProcessing.d.ts.map +1 -1
  275. package/dist/esm/utils/filterProcessing.js +25 -39
  276. package/dist/esm/utils/getDomain.d.ts.map +1 -1
  277. package/dist/esm/utils/paginationProcessing.d.ts +1 -0
  278. package/dist/esm/utils/paginationProcessing.d.ts.map +1 -1
  279. package/dist/esm/utils/paginationProcessing.js +5 -0
  280. package/dist/esm/utils/pivotConstructor.d.ts +2 -1
  281. package/dist/esm/utils/pivotConstructor.d.ts.map +1 -1
  282. package/dist/esm/utils/pivotConstructor.js +16 -10
  283. package/dist/esm/utils/pivotProcessing.d.ts.map +1 -1
  284. package/dist/esm/utils/pivotProcessing.js +5 -7
  285. package/dist/esm/utils/queryConstructor.js +1 -1
  286. package/dist/esm/utils/report.d.ts +10 -7
  287. package/dist/esm/utils/report.d.ts.map +1 -1
  288. package/dist/esm/utils/report.js +53 -61
  289. package/dist/esm/utils/schema.d.ts +4 -3
  290. package/dist/esm/utils/schema.d.ts.map +1 -1
  291. package/dist/esm/utils/schema.js +30 -44
  292. package/dist/esm/utils/tableProcessing.d.ts +16 -10
  293. package/dist/esm/utils/tableProcessing.d.ts.map +1 -1
  294. package/dist/esm/utils/tableProcessing.js +94 -92
  295. package/dist/esm/utils/textProcessing.d.ts.map +1 -1
  296. package/dist/esm/utils/textProcessing.js +2 -1
  297. package/dist/esm/utils/ui.d.ts.map +1 -1
  298. package/package.json +2 -1
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import useOnClickOutside, { getEffectiveZIndex } from '../hooks/useOnClickOutside';
2
+ import useOnClickOutside, { getEffectiveZIndex, } from '../hooks/useOnClickOutside';
3
3
  import { LoadingSpinner } from './UiComponents';
4
4
  import React, { useContext, useEffect, useMemo, useRef, useState, } from 'react';
5
5
  import { ThemeContext } from '../Context';
@@ -120,15 +120,18 @@ export function QuillMultiSelectComponentWithCombo({ options, width, onChange, l
120
120
  if (!option) {
121
121
  return false;
122
122
  }
123
- return option.label
123
+ return (option.label
124
124
  .toString()
125
125
  .toLowerCase()
126
126
  .replace(/\s+/g, '')
127
- .includes(searchQuery.toLowerCase().replace(/\s+/g, ''))
128
- || (isNumber || isUuid ? option.value.toString()
129
- .toLowerCase()
130
- .replace(/\s+/g, '')
131
- .includes(searchQuery.toLowerCase().replace(/\s+/g, '')) : false);
127
+ .includes(searchQuery.toLowerCase().replace(/\s+/g, '')) ||
128
+ (isNumber || isUuid
129
+ ? option.value
130
+ .toString()
131
+ .toLowerCase()
132
+ .replace(/\s+/g, '')
133
+ .includes(searchQuery.toLowerCase().replace(/\s+/g, ''))
134
+ : false));
132
135
  })
133
136
  .sort((a, b) => {
134
137
  if (a.value === null) {
@@ -167,14 +170,19 @@ export function QuillMultiSelectComponentWithCombo({ options, width, onChange, l
167
170
  let mutationObserver;
168
171
  if (showModal && buttonRef.current) {
169
172
  updatePosition();
170
- setZ(getEffectiveZIndex(buttonRef.current));
173
+ setZ(getEffectiveZIndex(buttonRef.current) + 1);
171
174
  resizeObserver = new ResizeObserver(() => updatePosition());
172
175
  resizeObserver.observe(buttonRef.current);
173
176
  mutationObserver = new MutationObserver(() => updatePosition());
174
- mutationObserver.observe(buttonRef.current, { attributes: true, subtree: true });
177
+ mutationObserver.observe(buttonRef.current, {
178
+ attributes: true,
179
+ subtree: true,
180
+ });
175
181
  // Track scrolling of the nearest scrollable ancestor
176
182
  scrollableParentRef.current = getScrollableParent(buttonRef.current);
177
- scrollableParentRef.current.addEventListener('scroll', updatePosition, { passive: true });
183
+ scrollableParentRef.current.addEventListener('scroll', updatePosition, {
184
+ passive: true,
185
+ });
178
186
  const handleResize = () => requestAnimationFrame(updatePosition);
179
187
  window.addEventListener('resize', handleResize, { passive: true });
180
188
  return () => {
@@ -190,7 +198,7 @@ export function QuillMultiSelectComponentWithCombo({ options, width, onChange, l
190
198
  borderRadius: '6px',
191
199
  width: width,
192
200
  minWidth: width,
193
- ...style
201
+ ...style,
194
202
  }, children: [label && (_jsx("div", { style: {
195
203
  fontSize: 14,
196
204
  color: theme?.secondaryTextColor,
@@ -232,54 +240,61 @@ export function QuillMultiSelectComponentWithCombo({ options, width, onChange, l
232
240
  width: '100%',
233
241
  textAlign: 'left',
234
242
  zIndex: 1,
235
- }, children: selectedOptionsLabel }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": "true", "data-slot": "icon", height: 20, width: 20, style: { minHeight: 20, minWidth: 20 }, children: _jsx("path", { fillRule: "evenodd", d: "M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z", clipRule: "evenodd" }) })] }), showModal && createPortal(_jsxs("div", { style: {
236
- position: 'absolute',
237
- top: `${popoverPosition?.top ?? 0}px`,
238
- left: `${popoverPosition?.left ?? 0}px`,
239
- width: `${popoverPosition?.width ?? 0}px`,
240
- maxHeight: `${Math.max(popoverPosition?.maxHeight ?? 0, 100)}px`,
241
- minHeight: options.length > 2 ? 120 : options.length * 40,
242
- visibility: popoverPosition ? 'visible' : 'hidden',
243
- display: 'flex',
244
- flexDirection: 'column',
245
- boxSizing: 'border-box',
246
- borderWidth: 1,
247
- borderStyle: 'solid',
248
- borderColor: theme?.borderColor,
249
- borderRadius: 6,
250
- background: 'white',
251
- marginTop: 12,
252
- zIndex: z,
253
- padding: 6,
254
- fontFamily: theme?.fontFamily,
255
- overflow: 'scroll',
256
- fontSize: 14,
257
- }, ref: modalRef, "data-portal-ignore": "true", children: [!exceedsLimit && options && options.length > 20 && (_jsxs(_Fragment, { children: [_jsx(ListboxTextInput, { value: searchQuery, placeholder: "Search", onChange: (value) => {
258
- setSearchQuery(value);
259
- } }), _jsx("div", { style: {
260
- height: 9,
261
- width: 230,
262
- borderTop: '1px solid #e7e7e7',
263
- } })] })), !isLoading &&
264
- (!filteredItems || filteredItems.length === 0 || exceedsLimit) && (_jsxs("div", { style: {
265
- display: 'flex',
266
- alignItems: 'center',
267
- padding: 8,
268
- margin: 0,
269
- boxSizing: 'border-box',
270
- borderWidth: 0,
271
- fontSize: 14,
272
- borderStyle: 'solid',
273
- borderColor: theme?.borderColor,
274
- borderRadius: 4,
275
- fontFamily: theme?.fontFamily,
276
- textOverflow: 'ellipsis',
277
- whiteSpace: 'nowrap',
278
- height: 34,
279
- minHeight: 34,
280
- gap: 6,
281
- overflow: 'hidden',
282
- }, children: [_jsx("style", { children: `
243
+ fontWeight: value?.length || isLoading ? undefined : 300,
244
+ color: value?.length || isLoading
245
+ ? undefined
246
+ : theme?.secondaryTextColor,
247
+ }, children: selectedOptionsLabel }), _jsx("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20", fill: "currentColor", "aria-hidden": "true", "data-slot": "icon", height: 20, width: 20, style: { minHeight: 20, minWidth: 20 }, children: _jsx("path", { fillRule: "evenodd", d: "M5.22 8.22a.75.75 0 0 1 1.06 0L10 11.94l3.72-3.72a.75.75 0 1 1 1.06 1.06l-4.25 4.25a.75.75 0 0 1-1.06 0L5.22 9.28a.75.75 0 0 1 0-1.06Z", clipRule: "evenodd" }) })] }), showModal &&
248
+ createPortal(_jsxs("div", { style: {
249
+ position: 'absolute',
250
+ top: `${popoverPosition?.top ?? 0}px`,
251
+ left: `${popoverPosition?.left ?? 0}px`,
252
+ width: `${popoverPosition?.width ?? 0}px`,
253
+ maxHeight: `${Math.max(popoverPosition?.maxHeight ?? 0, 100)}px`,
254
+ minHeight: options.length > 2 ? 120 : options.length * 40,
255
+ visibility: popoverPosition ? 'visible' : 'hidden',
256
+ display: 'flex',
257
+ flexDirection: 'column',
258
+ boxSizing: 'border-box',
259
+ borderWidth: 1,
260
+ borderStyle: 'solid',
261
+ borderColor: theme?.borderColor,
262
+ borderRadius: 6,
263
+ background: 'white',
264
+ marginTop: 12,
265
+ zIndex: z,
266
+ padding: 6,
267
+ fontFamily: theme?.fontFamily,
268
+ overflow: 'scroll',
269
+ fontSize: 14,
270
+ }, ref: modalRef, "data-portal-ignore": "true", children: [!exceedsLimit && options && options.length > 20 && (_jsxs(_Fragment, { children: [_jsx(ListboxTextInput, { value: searchQuery, placeholder: "Search", onChange: (value) => {
271
+ setSearchQuery(value);
272
+ } }), _jsx("div", { style: {
273
+ height: 9,
274
+ width: 230,
275
+ borderTop: '1px solid #e7e7e7',
276
+ } })] })), !isLoading &&
277
+ (!filteredItems ||
278
+ filteredItems.length === 0 ||
279
+ exceedsLimit) && (_jsxs("div", { style: {
280
+ display: 'flex',
281
+ alignItems: 'center',
282
+ padding: 8,
283
+ margin: 0,
284
+ boxSizing: 'border-box',
285
+ borderWidth: 0,
286
+ fontSize: 14,
287
+ borderStyle: 'solid',
288
+ borderColor: theme?.borderColor,
289
+ borderRadius: 4,
290
+ fontFamily: theme?.fontFamily,
291
+ textOverflow: 'ellipsis',
292
+ whiteSpace: 'nowrap',
293
+ height: 34,
294
+ minHeight: 34,
295
+ gap: 6,
296
+ overflow: 'hidden',
297
+ }, children: [_jsx("style", { children: `
283
298
  .quill-option {
284
299
  background: white;
285
300
  }
@@ -287,126 +302,138 @@ export function QuillMultiSelectComponentWithCombo({ options, width, onChange, l
287
302
  background: #F4F4F5;
288
303
  }
289
304
  ` }), _jsx("span", { style: {
290
- textOverflow: 'ellipsis',
291
- whiteSpace: 'nowrap',
292
- overflow: 'hidden',
293
- cursor: 'default',
294
- }, children: exceedsLimit
295
- ? 'Too many options'
296
- : (emptyLabel ?? 'No options available') })] })), !exceedsLimit && !isLoading ? (_jsxs(_Fragment, { children: [searchQuery === '' && potentialOptions.length > 0 && (_jsxs("button", { style: {
297
- display: 'flex',
298
- alignItems: 'center',
299
- padding: 8,
300
- margin: 0,
301
- boxSizing: 'border-box',
302
- borderWidth: 0,
303
- fontSize: 14,
304
- borderStyle: 'solid',
305
- borderColor: theme?.borderColor,
306
- borderRadius: 4,
307
- fontFamily: theme?.fontFamily,
308
- textOverflow: 'ellipsis',
309
- whiteSpace: 'nowrap',
310
- height: 34,
311
- minHeight: 34,
312
- gap: 6,
313
- overflow: 'hidden',
314
- }, className: "quill-option", onClick: () => {
315
- // if any are selected, deselect all
316
- if (selectAllCheckboxState === CheckboxState.SELECTED ||
317
- selectAllCheckboxState === CheckboxState.INDETERMINATE) {
318
- setSelectAllCheckboxState(CheckboxState.UNSELECTED);
319
- setSelectedOptions([]);
305
+ textOverflow: 'ellipsis',
306
+ whiteSpace: 'nowrap',
307
+ overflow: 'hidden',
308
+ cursor: 'default',
309
+ }, children: exceedsLimit
310
+ ? 'Too many options'
311
+ : (emptyLabel ?? 'No options available') })] })), !exceedsLimit && !isLoading ? (_jsxs(_Fragment, { children: [searchQuery === '' && potentialOptions.length > 0 && (_jsxs("button", { style: {
312
+ display: 'flex',
313
+ alignItems: 'center',
314
+ padding: 8,
315
+ margin: 0,
316
+ boxSizing: 'border-box',
317
+ borderWidth: 0,
318
+ fontSize: 14,
319
+ borderStyle: 'solid',
320
+ borderColor: theme?.borderColor,
321
+ borderRadius: 4,
322
+ fontFamily: theme?.fontFamily,
323
+ textOverflow: 'ellipsis',
324
+ whiteSpace: 'nowrap',
325
+ height: 34,
326
+ minHeight: 34,
327
+ gap: 6,
328
+ overflow: 'hidden',
329
+ }, className: "quill-option", onClick: () => {
330
+ // if any are selected, deselect all
331
+ if (selectAllCheckboxState === CheckboxState.SELECTED ||
332
+ selectAllCheckboxState === CheckboxState.INDETERMINATE) {
333
+ setSelectAllCheckboxState(CheckboxState.UNSELECTED);
334
+ setSelectedOptions([]);
335
+ const updatedChangeEvent = {
336
+ target: { value: [] },
337
+ };
338
+ debounce(updatedChangeEvent);
339
+ return;
340
+ }
341
+ // if none are selected, select all
320
342
  const updatedChangeEvent = {
321
- target: { value: [] },
343
+ target: {
344
+ value: options.map((opt) => opt.value),
345
+ },
322
346
  };
347
+ setSelectAllCheckboxState(CheckboxState.SELECTED);
348
+ setSelectedOptions(options.map((opt) => opt.value));
323
349
  debounce(updatedChangeEvent);
324
- return;
325
- }
326
- // if none are selected, select all
327
- const updatedChangeEvent = {
328
- target: {
329
- value: options.map((opt) => opt.value),
330
- },
331
- };
332
- setSelectAllCheckboxState(CheckboxState.SELECTED);
333
- setSelectedOptions(options.map((opt) => opt.value));
334
- debounce(updatedChangeEvent);
335
- }, children: [_jsx("style", { children: `
350
+ }, children: [_jsx("style", { children: `
336
351
  .quill-option {
337
352
  background: white;
338
353
  }
339
354
  .quill-option:hover {
340
355
  background: #F4F4F5;
341
356
  }
342
- ` }), _jsx("input", { ref: selectAllRef, type: "checkbox", checked: selectAllCheckboxState === CheckboxState.SELECTED, style: { width: '14px', height: '14px', margin: 'auto 0' }, readOnly: true }), _jsx("span", { style: {
343
- textOverflow: 'ellipsis',
344
- whiteSpace: 'nowrap',
345
- overflow: 'hidden',
346
- }, children: 'Select all' })] })), filteredItems.map((option) => (_jsxs("button", { style: {
347
- display: 'flex',
348
- alignItems: 'center',
349
- padding: 8,
350
- margin: 0,
351
- boxSizing: 'border-box',
352
- borderWidth: 0,
353
- fontSize: 14,
354
- borderStyle: 'solid',
355
- borderColor: theme?.borderColor,
356
- borderRadius: 4,
357
- fontFamily: theme?.fontFamily,
358
- textOverflow: 'ellipsis',
359
- whiteSpace: 'nowrap',
360
- height: 34,
361
- minHeight: 34,
362
- gap: 6,
363
- overflow: 'hidden',
364
- }, className: "quill-option", onClick: () => {
365
- // Manually create a synthetic ChangeEvent and pass it to callback
366
- const changeEvent = { target: { value: option.value } };
367
- let updateSelectedOptions = [...selectedOptions];
368
- if (selectedOptions.includes(changeEvent.target.value)) {
369
- updateSelectedOptions = selectedOptions.filter((opt) => opt !== changeEvent.target.value);
370
- if (updateSelectedOptions.length === 0) {
371
- setSelectAllCheckboxState(CheckboxState.UNSELECTED);
357
+ ` }), _jsx("input", { ref: selectAllRef, type: "checkbox", checked: selectAllCheckboxState === CheckboxState.SELECTED, style: {
358
+ width: '14px',
359
+ height: '14px',
360
+ margin: 'auto 0',
361
+ }, readOnly: true }), _jsx("span", { style: {
362
+ textOverflow: 'ellipsis',
363
+ whiteSpace: 'nowrap',
364
+ overflow: 'hidden',
365
+ }, children: _jsx("span", { style: {
366
+ color: theme?.secondaryTextColor,
367
+ fontWeight: 300,
368
+ }, children: "Select all" }) })] })), filteredItems.map((option) => (_jsxs("button", { style: {
369
+ display: 'flex',
370
+ alignItems: 'center',
371
+ padding: 8,
372
+ margin: 0,
373
+ boxSizing: 'border-box',
374
+ borderWidth: 0,
375
+ fontSize: 14,
376
+ borderStyle: 'solid',
377
+ borderColor: theme?.borderColor,
378
+ borderRadius: 4,
379
+ fontFamily: theme?.fontFamily,
380
+ textOverflow: 'ellipsis',
381
+ whiteSpace: 'nowrap',
382
+ height: 34,
383
+ minHeight: 34,
384
+ gap: 6,
385
+ overflow: 'hidden',
386
+ }, className: "quill-option", onClick: () => {
387
+ // Manually create a synthetic ChangeEvent and pass it to callback
388
+ const changeEvent = { target: { value: option.value } };
389
+ let updateSelectedOptions = [...selectedOptions];
390
+ if (selectedOptions.includes(changeEvent.target.value)) {
391
+ updateSelectedOptions = selectedOptions.filter((opt) => opt !== changeEvent.target.value);
392
+ if (updateSelectedOptions.length === 0) {
393
+ setSelectAllCheckboxState(CheckboxState.UNSELECTED);
394
+ }
395
+ else {
396
+ setSelectAllCheckboxState(CheckboxState.INDETERMINATE);
397
+ }
398
+ setSelectedOptions(updateSelectedOptions);
372
399
  }
373
400
  else {
374
- setSelectAllCheckboxState(CheckboxState.INDETERMINATE);
375
- }
376
- setSelectedOptions(updateSelectedOptions);
377
- }
378
- else {
379
- updateSelectedOptions = [
380
- ...updateSelectedOptions,
381
- changeEvent.target.value,
382
- ];
383
- if (updateSelectedOptions.length === potentialOptions.length) {
384
- setSelectAllCheckboxState(CheckboxState.SELECTED);
401
+ updateSelectedOptions = [
402
+ ...updateSelectedOptions,
403
+ changeEvent.target.value,
404
+ ];
405
+ if (updateSelectedOptions.length ===
406
+ potentialOptions.length) {
407
+ setSelectAllCheckboxState(CheckboxState.SELECTED);
408
+ }
409
+ else {
410
+ setSelectAllCheckboxState(CheckboxState.INDETERMINATE);
411
+ }
412
+ setSelectedOptions(updateSelectedOptions);
385
413
  }
386
- else {
387
- setSelectAllCheckboxState(CheckboxState.INDETERMINATE);
414
+ const updatedChangeEvent = {
415
+ target: { value: updateSelectedOptions },
416
+ };
417
+ if (updateSelectedOptions.length === 0) {
418
+ updatedChangeEvent.target.value = [];
388
419
  }
389
- setSelectedOptions(updateSelectedOptions);
390
- }
391
- const updatedChangeEvent = {
392
- target: { value: updateSelectedOptions },
393
- };
394
- if (updateSelectedOptions.length === 0) {
395
- updatedChangeEvent.target.value = [];
396
- }
397
- debounce(updatedChangeEvent);
398
- }, children: [_jsx("style", { children: `
420
+ debounce(updatedChangeEvent);
421
+ }, children: [_jsx("style", { children: `
399
422
  .quill-option {
400
423
  background: white;
401
424
  }
402
425
  .quill-option:hover {
403
426
  background: #F4F4F5;
404
427
  }
405
- ` }), _jsx("input", { type: "checkbox", checked: selectedOptions.includes(option.value), style: { width: '14px', height: '14px', margin: 'auto 0' }, readOnly: true }), _jsx("span", { style: {
406
- textOverflow: 'ellipsis',
407
- whiteSpace: 'nowrap',
408
- overflow: 'hidden',
409
- }, children: option.label ?? nullLabel })] }, option.value)))] })) : isLoading ? (_jsx("div", { children: _jsx(LoadingSpinner, {}) })) : null] }), document.body)] }));
428
+ ` }), _jsx("input", { type: "checkbox", checked: selectedOptions.includes(option.value), style: {
429
+ width: '14px',
430
+ height: '14px',
431
+ margin: 'auto 0',
432
+ }, readOnly: true }), _jsx("span", { style: {
433
+ textOverflow: 'ellipsis',
434
+ whiteSpace: 'nowrap',
435
+ overflow: 'hidden',
436
+ }, children: option.label ?? nullLabel })] }, option.value)))] })) : isLoading ? (_jsx("div", { children: _jsx(LoadingSpinner, {}) })) : null] }), document.body)] }));
410
437
  }
411
438
  export const ListboxTextInput = ({ value, onChange, placeholder, }) => {
412
439
  return (_jsxs("div", { style: {
@@ -1 +1 @@
1
- {"version":3,"file":"QuillSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelect.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAMtE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,EACR,eAAe,GAChB,EAAE,oBAAoB,2CA0StB"}
1
+ {"version":3,"file":"QuillSelect.d.ts","sourceRoot":"","sources":["../../../src/components/QuillSelect.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAatE;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,OAAO,EACP,KAAK,EACL,KAAK,EACL,QAAQ,EACR,KAAK,EACL,SAAS,EACT,QAAQ,EACR,eAAe,GAChB,EAAE,oBAAoB,2CA2TtB"}