@adaptabletools/adaptable-cjs 22.1.1 → 23.0.0-canary.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 (1028) hide show
  1. package/devtools.d.ts +70 -0
  2. package/icons/bullet-chart.svg +1 -0
  3. package/icons/horizontal-lines.svg +1 -1
  4. package/icons/icon-style.svg +1 -0
  5. package/icons/percent-tag.svg +1 -1
  6. package/icons/range-bar.svg +1 -0
  7. package/icons/star.svg +1 -0
  8. package/index.css +2253 -342
  9. package/package.json +10 -5
  10. package/src/AdaptableInterfaces/IAdaptable.d.ts +5 -2
  11. package/src/AdaptableOptions/ActionColumnOptions.d.ts +27 -1
  12. package/src/AdaptableOptions/ChartingOptions.d.ts +7 -0
  13. package/src/AdaptableOptions/ColumnMenuOptions.d.ts +30 -0
  14. package/src/AdaptableOptions/ContextMenuOptions.d.ts +30 -0
  15. package/src/AdaptableOptions/DashboardOptions.d.ts +56 -2
  16. package/src/AdaptableOptions/DefaultAdaptableOptions.js +13 -6
  17. package/src/AdaptableOptions/EditOptions.d.ts +34 -4
  18. package/src/AdaptableOptions/NotificationsOptions.d.ts +1 -1
  19. package/src/AdaptableOptions/RowFormOptions.d.ts +46 -2
  20. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +3 -3
  21. package/src/AdaptableState/AdaptableState.d.ts +0 -2
  22. package/src/AdaptableState/AlertState.d.ts +65 -24
  23. package/src/AdaptableState/CalculatedColumnState.d.ts +1 -1
  24. package/src/AdaptableState/ChartingState.d.ts +2 -2
  25. package/src/AdaptableState/Common/AdaptableButton.d.ts +5 -0
  26. package/src/AdaptableState/Common/AdaptableColumn.d.ts +5 -0
  27. package/src/AdaptableState/Common/AdaptableForm.d.ts +304 -16
  28. package/src/AdaptableState/Common/AdaptableForm.js +218 -2
  29. package/src/AdaptableState/Common/AdaptableIcon.d.ts +1 -1
  30. package/src/AdaptableState/Common/AdaptablePredicate.js +22 -2
  31. package/src/AdaptableState/Common/AdaptableStyle.d.ts +48 -18
  32. package/src/AdaptableState/Common/AggregationColumns.d.ts +6 -1
  33. package/src/AdaptableState/Common/AggregationColumns.js +2 -4
  34. package/src/AdaptableState/Common/Enums.d.ts +1 -4
  35. package/src/AdaptableState/Common/Enums.js +0 -3
  36. package/src/AdaptableState/Common/ExtendedLayout.d.ts +3 -3
  37. package/src/AdaptableState/Common/Menu.d.ts +1 -1
  38. package/src/AdaptableState/Common/Menu.js +11 -0
  39. package/src/AdaptableState/Common/Schedule.d.ts +7 -29
  40. package/src/AdaptableState/Common/Types.d.ts +4 -4
  41. package/src/AdaptableState/Common/Types.js +0 -2
  42. package/src/AdaptableState/DashboardState.d.ts +0 -5
  43. package/src/AdaptableState/ExportState.d.ts +19 -6
  44. package/src/AdaptableState/IPushPullState.d.ts +0 -14
  45. package/src/AdaptableState/InitialState.d.ts +2 -6
  46. package/src/AdaptableState/LayoutState.d.ts +17 -0
  47. package/src/AdaptableState/OpenFinState.d.ts +0 -14
  48. package/src/AdaptableState/PlusMinusState.d.ts +8 -0
  49. package/src/AdaptableState/StyledColumnState.d.ts +742 -18
  50. package/src/Aggregation/ParameterizedAggregationRegistry.d.ts +35 -0
  51. package/src/Aggregation/ParameterizedAggregationRegistry.js +74 -0
  52. package/src/Aggregation/definitions/weightedAverageAggregationDefinition.d.ts +3 -0
  53. package/src/Aggregation/definitions/weightedAverageAggregationDefinition.js +58 -0
  54. package/src/Aggregation/parameterizedAggregationColumnMenu.d.ts +8 -0
  55. package/src/Aggregation/parameterizedAggregationColumnMenu.js +143 -0
  56. package/src/Aggregation/parameterizedAggregationHeader.d.ts +13 -0
  57. package/src/Aggregation/parameterizedAggregationHeader.js +65 -0
  58. package/src/Aggregation/parameterizedAggregationHelpers.d.ts +23 -0
  59. package/src/Aggregation/parameterizedAggregationHelpers.js +121 -0
  60. package/src/Aggregation/parameterizedAggregationWizardHelpers.d.ts +9 -0
  61. package/src/Aggregation/parameterizedAggregationWizardHelpers.js +74 -0
  62. package/src/Aggregation/validateParameterizedAggregations.d.ts +4 -0
  63. package/src/Aggregation/validateParameterizedAggregations.js +25 -0
  64. package/src/Api/AdaptableApi.d.ts +0 -5
  65. package/src/Api/AlertApi.d.ts +7 -3
  66. package/src/Api/ChartingApi.d.ts +1 -1
  67. package/src/Api/ColumnFilterApi.d.ts +4 -0
  68. package/src/Api/ColumnMenuApi.d.ts +1 -1
  69. package/src/Api/ColumnScopeApi.d.ts +6 -2
  70. package/src/Api/DashboardApi.d.ts +13 -0
  71. package/src/Api/EventApi.d.ts +7 -8
  72. package/src/Api/Events/ReportScheduleRan.d.ts +11 -0
  73. package/src/Api/ExportApi.d.ts +42 -1
  74. package/src/Api/GridApi.d.ts +2 -2
  75. package/src/Api/GridFilterApi.d.ts +10 -3
  76. package/src/Api/IPushPullApi.d.ts +1 -5
  77. package/src/Api/Implementation/AdaptableApiImpl.d.ts +0 -2
  78. package/src/Api/Implementation/AdaptableApiImpl.js +0 -4
  79. package/src/Api/Implementation/AlertApiImpl.d.ts +7 -6
  80. package/src/Api/Implementation/AlertApiImpl.js +26 -6
  81. package/src/Api/Implementation/ApiBase.d.ts +1 -2
  82. package/src/Api/Implementation/ApiBase.js +0 -3
  83. package/src/Api/Implementation/ChartingApiImpl.d.ts +1 -1
  84. package/src/Api/Implementation/ChartingApiImpl.js +24 -2
  85. package/src/Api/Implementation/ColumnFilterApiImpl.d.ts +1 -0
  86. package/src/Api/Implementation/ColumnFilterApiImpl.js +3 -0
  87. package/src/Api/Implementation/ColumnScopeApiImpl.js +19 -25
  88. package/src/Api/Implementation/DashboardApiImpl.d.ts +1 -0
  89. package/src/Api/Implementation/DashboardApiImpl.js +5 -2
  90. package/src/Api/Implementation/ExportApiImpl.d.ts +12 -1
  91. package/src/Api/Implementation/ExportApiImpl.js +37 -0
  92. package/src/Api/Implementation/GridFilterApiImpl.d.ts +1 -1
  93. package/src/Api/Implementation/GridFilterApiImpl.js +6 -0
  94. package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -0
  95. package/src/Api/Implementation/LayoutApiImpl.js +31 -36
  96. package/src/Api/Implementation/LayoutHelpers.js +7 -13
  97. package/src/Api/Implementation/QuickSearchApiImpl.d.ts +5 -3
  98. package/src/Api/Implementation/QuickSearchApiImpl.js +10 -3
  99. package/src/Api/Implementation/SmartEditApiImpl.js +1 -1
  100. package/src/Api/Implementation/StateApiImpl.d.ts +5 -3
  101. package/src/Api/Implementation/StateApiImpl.js +21 -18
  102. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +3 -0
  103. package/src/Api/Implementation/StyledColumnApiImpl.js +15 -0
  104. package/src/Api/Implementation/UserInterfaceApiImpl.js +11 -12
  105. package/src/Api/Internal/ActionColumnInternalApi.js +7 -1
  106. package/src/Api/Internal/AdaptableInternalApi.d.ts +1 -0
  107. package/src/Api/Internal/AdaptableInternalApi.js +3 -0
  108. package/src/Api/Internal/AlertInternalApi.d.ts +4 -4
  109. package/src/Api/Internal/AlertInternalApi.js +28 -10
  110. package/src/Api/Internal/ChartingInternalApi.js +8 -3
  111. package/src/Api/Internal/DashboardInternalApi.d.ts +27 -0
  112. package/src/Api/Internal/DashboardInternalApi.js +41 -0
  113. package/src/Api/Internal/EventInternalApi.d.ts +2 -3
  114. package/src/Api/Internal/EventInternalApi.js +4 -4
  115. package/src/Api/Internal/FormatColumnInternalApi.d.ts +6 -0
  116. package/src/Api/Internal/FormatColumnInternalApi.js +6 -0
  117. package/src/Api/Internal/GridInternalApi.js +3 -2
  118. package/src/Api/Internal/LayoutInternalApi.js +4 -1
  119. package/src/Api/Internal/RowFormInternalApi.js +23 -1
  120. package/src/Api/Internal/StateInternalApi.d.ts +10 -0
  121. package/src/Api/Internal/StateInternalApi.js +88 -0
  122. package/src/Api/Internal/StyledColumnInternalApi.d.ts +2 -0
  123. package/src/Api/Internal/StyledColumnInternalApi.js +104 -30
  124. package/src/Api/LayoutApi.d.ts +8 -1
  125. package/src/Api/OpenFinApi.d.ts +1 -5
  126. package/src/Api/PlusMinusApi.d.ts +3 -1
  127. package/src/Api/QuickSearchApi.d.ts +18 -7
  128. package/src/Api/StateApi.d.ts +4 -15
  129. package/src/Api/StyledColumnApi.d.ts +16 -0
  130. package/src/Redux/ActionsReducers/DashboardRedux.d.ts +0 -8
  131. package/src/Redux/ActionsReducers/DashboardRedux.js +1 -15
  132. package/src/Redux/ActionsReducers/ExportRedux.d.ts +40 -1
  133. package/src/Redux/ActionsReducers/ExportRedux.js +107 -3
  134. package/src/Redux/ActionsReducers/InternalRedux.d.ts +0 -5
  135. package/src/Redux/ActionsReducers/InternalRedux.js +12 -11
  136. package/src/Redux/ActionsReducers/QuickSearchRedux.d.ts +27 -2
  137. package/src/Redux/ActionsReducers/QuickSearchRedux.js +40 -4
  138. package/src/Redux/Store/AdaptableStore.js +58 -59
  139. package/src/Strategy/AlertModule.d.ts +4 -1
  140. package/src/Strategy/AlertModule.js +42 -5
  141. package/src/Strategy/CalculatedColumnModule.d.ts +1 -1
  142. package/src/Strategy/CellSummaryModule.d.ts +1 -1
  143. package/src/Strategy/ChartingModule.d.ts +2 -1
  144. package/src/Strategy/ChartingModule.js +24 -1
  145. package/src/Strategy/ColumnFilterModule.d.ts +1 -1
  146. package/src/Strategy/ColumnInfoModule.d.ts +1 -1
  147. package/src/Strategy/ExportModule.d.ts +5 -1
  148. package/src/Strategy/ExportModule.js +49 -6
  149. package/src/Strategy/FlashingCellModule.d.ts +1 -1
  150. package/src/Strategy/FormatColumnModule.d.ts +1 -1
  151. package/src/Strategy/FreeTextColumnModule.d.ts +1 -1
  152. package/src/Strategy/GridInfoModule.d.ts +1 -1
  153. package/src/Strategy/Interface/IAlertModule.d.ts +5 -0
  154. package/src/Strategy/Interface/IExportModule.d.ts +4 -0
  155. package/src/Strategy/Interface/IModule.d.ts +16 -1
  156. package/src/Strategy/LayoutModule.d.ts +1 -1
  157. package/src/Strategy/LayoutModule.js +11 -26
  158. package/src/Strategy/PlusMinusModule.d.ts +6 -1
  159. package/src/Strategy/PlusMinusModule.js +79 -27
  160. package/src/Strategy/QuickSearchModule.js +0 -12
  161. package/src/Strategy/SettingsPanelModule.d.ts +1 -1
  162. package/src/Strategy/ShortcutModule.js +5 -5
  163. package/src/Strategy/StyledColumnModule.d.ts +1 -1
  164. package/src/Strategy/StyledColumnModule.js +198 -23
  165. package/src/Strategy/SystemStatusModule.d.ts +1 -1
  166. package/src/Strategy/Utilities/Alert/getAlertPreviewViewItems.js +3 -4
  167. package/src/Strategy/Utilities/Export/formatScheduledReportSummary.d.ts +2 -0
  168. package/src/Strategy/Utilities/Export/formatScheduledReportSummary.js +10 -0
  169. package/src/Strategy/Utilities/Export/getExportRowsViewItems.js +3 -4
  170. package/src/Strategy/Utilities/Export/getReportSchedulesViewItems.d.ts +2 -0
  171. package/src/Strategy/Utilities/Export/getReportSchedulesViewItems.js +8 -0
  172. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -1
  173. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
  174. package/src/Utilities/Constants/ModuleConstants.d.ts +0 -3
  175. package/src/Utilities/Constants/ModuleConstants.js +1 -4
  176. package/src/Utilities/Constants/ReduxConstants.d.ts +3 -1
  177. package/src/Utilities/Constants/ReduxConstants.js +6 -4
  178. package/src/Utilities/Defaults/DefaultSettingsPanel.js +0 -1
  179. package/src/Utilities/Extensions/NumberExtensions.js +1 -1
  180. package/src/Utilities/Helpers/ActionColumnWidthHelper.d.ts +6 -0
  181. package/src/Utilities/Helpers/ActionColumnWidthHelper.js +59 -0
  182. package/src/Utilities/Helpers/IconStylePresets.d.ts +6 -0
  183. package/src/Utilities/Helpers/IconStylePresets.js +136 -0
  184. package/src/Utilities/Helpers/QuickSearchStyleHelper.d.ts +12 -0
  185. package/src/Utilities/Helpers/QuickSearchStyleHelper.js +84 -0
  186. package/src/Utilities/Helpers/ScheduleHelper.d.ts +22 -0
  187. package/src/Utilities/Helpers/ScheduleHelper.js +246 -0
  188. package/src/Utilities/Helpers/ScheduleJobManager.d.ts +11 -0
  189. package/src/Utilities/Helpers/ScheduleJobManager.js +28 -0
  190. package/src/Utilities/Helpers/ScheduleJobRunner.d.ts +8 -0
  191. package/src/Utilities/Helpers/ScheduleJobRunner.js +30 -0
  192. package/src/Utilities/Helpers/ScheduledAlertHelper.d.ts +8 -0
  193. package/src/Utilities/Helpers/ScheduledAlertHelper.js +60 -0
  194. package/src/Utilities/Helpers/ScheduledJobsMiddlewareHelper.d.ts +3 -0
  195. package/src/Utilities/Helpers/ScheduledJobsMiddlewareHelper.js +14 -0
  196. package/src/Utilities/Helpers/ScheduledReportHelper.d.ts +16 -0
  197. package/src/Utilities/Helpers/ScheduledReportHelper.js +59 -0
  198. package/src/Utilities/Helpers/StyleHelper.d.ts +35 -0
  199. package/src/Utilities/Helpers/StyleHelper.js +90 -1
  200. package/src/Utilities/Helpers/StyledColumnGradientHelper.d.ts +30 -0
  201. package/src/Utilities/Helpers/StyledColumnGradientHelper.js +47 -0
  202. package/src/Utilities/Helpers/alertFormHelper.d.ts +2 -0
  203. package/src/Utilities/Helpers/alertFormHelper.js +14 -0
  204. package/src/Utilities/Helpers/chartingHelper.d.ts +14 -0
  205. package/src/Utilities/Helpers/chartingHelper.js +125 -0
  206. package/src/Utilities/Helpers/iconStyledColumnColumnSupport.d.ts +5 -0
  207. package/src/Utilities/Helpers/iconStyledColumnColumnSupport.js +18 -0
  208. package/src/Utilities/Helpers/plusMinusTriggerKeys.d.ts +41 -0
  209. package/src/Utilities/Helpers/plusMinusTriggerKeys.js +100 -0
  210. package/src/Utilities/Helpers/styledColumnRowKindSupport.d.ts +25 -0
  211. package/src/Utilities/Helpers/styledColumnRowKindSupport.js +70 -0
  212. package/src/Utilities/ObjectFactory.d.ts +7 -28
  213. package/src/Utilities/ObjectFactory.js +18 -110
  214. package/src/Utilities/Services/AlertService.js +3 -0
  215. package/src/Utilities/Services/ModuleService.js +0 -2
  216. package/src/Utilities/Services/QueryLanguageService.js +1 -1
  217. package/src/Utilities/Services/ValidationService.js +9 -3
  218. package/src/Utilities/createAgStatusPanelComponent.js +3 -2
  219. package/src/Utilities/getExpressionViewItems.js +2 -4
  220. package/src/Utilities/getObjectTagsViewItems.js +2 -1
  221. package/src/View/AdaptableComputedCSSVarsContext.js +4 -5
  222. package/src/View/AdaptablePopover/index.js +10 -19
  223. package/src/View/AdaptableView.js +8 -18
  224. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +15 -25
  225. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +32 -43
  226. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.js +2 -3
  227. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +7 -6
  228. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.js +2 -2
  229. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +11 -18
  230. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.js +22 -32
  231. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +6 -12
  232. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +7 -19
  233. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UiOptionsForm.js +2 -11
  234. package/src/View/AdaptableWizardView/Wizard.js +3 -6
  235. package/src/View/AdaptableWizardView/index.js +2 -3
  236. package/src/View/Alert/ActiveAlertsPanel.js +2 -2
  237. package/src/View/Alert/ActiveAlertsPanelItemLabel.js +3 -5
  238. package/src/View/Alert/AlertEmptyView.js +2 -3
  239. package/src/View/Alert/AlertStatusSubPanel.js +3 -2
  240. package/src/View/Alert/AlertViewPanel.js +4 -8
  241. package/src/View/Alert/Utilities/getAlertType.d.ts +2 -1
  242. package/src/View/Alert/Utilities/getAlertType.js +10 -2
  243. package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +17 -3
  244. package/src/View/Alert/Utilities/getDefaultAlertDefinition.js +8 -0
  245. package/src/View/Alert/Utilities/mapAlertDefinition.d.ts +1 -1
  246. package/src/View/Alert/Utilities/mapAlertDefinition.js +4 -0
  247. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +67 -97
  248. package/src/View/Alert/Wizard/AlertButtonsEditor.js +112 -159
  249. package/src/View/Alert/Wizard/AlertMessageWizardSection.d.ts +1 -1
  250. package/src/View/Alert/Wizard/AlertMessageWizardSection.js +23 -36
  251. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +94 -61
  252. package/src/View/Alert/Wizard/AlertRulesWizardSection.js +24 -38
  253. package/src/View/Alert/Wizard/AlertScheduledWizardSection.d.ts +9 -0
  254. package/src/View/Alert/Wizard/AlertScheduledWizardSection.js +38 -0
  255. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +9 -6
  256. package/src/View/Alert/Wizard/AlertTypeWizardSection.js +3 -24
  257. package/src/View/Alert/Wizard/AlertWizard.js +36 -31
  258. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.d.ts +1 -3
  259. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +13 -17
  260. package/src/View/Alert/Wizard/isValidAlertMessage.d.ts +3 -0
  261. package/src/View/Alert/Wizard/isValidAlertMessage.js +19 -0
  262. package/src/View/Alert/Wizard/isValidAlertRules.js +4 -0
  263. package/src/View/BulkUpdate/BulkUpdatePopup.js +11 -25
  264. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +9 -14
  265. package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +9 -30
  266. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +14 -20
  267. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +8 -18
  268. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +2 -10
  269. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +9 -17
  270. package/src/View/CellSummary/CellSummaryDetails.js +2 -3
  271. package/src/View/CellSummary/CellSummaryPopover.js +2 -3
  272. package/src/View/CellSummary/CellSummaryPopup.js +2 -2
  273. package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +4 -6
  274. package/src/View/CellSummary/CellSummaryStatusPanel.js +2 -1
  275. package/src/View/CellSummary/CellSummaryViewPanel.js +8 -12
  276. package/src/View/Charting/ChartingStatusBarPopover.js +2 -8
  277. package/src/View/Charting/ChartingViewPanel.js +3 -18
  278. package/src/View/Charting/ChartingWizard/AgChargingWizard/AgChargingWizard.js +5 -7
  279. package/src/View/Charting/ChartingWizard/AgChargingWizard/PreviewChartSection.js +2 -1
  280. package/src/View/Charting/ChartingWizard/AgChargingWizard/SettingsSection.js +4 -18
  281. package/src/View/Charting/ChartingWizard/ChartingWizard.js +3 -4
  282. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/ExternalChartingWizard.js +5 -6
  283. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.js +5 -14
  284. package/src/View/Charting/DeleteChartButton.js +2 -2
  285. package/src/View/Charting/EditChartButton.js +2 -2
  286. package/src/View/Charting/ShowChartButton.js +9 -10
  287. package/src/View/Charting/useChartingElements.js +8 -7
  288. package/src/View/ColumnInfo/ColumnInfo.js +11 -26
  289. package/src/View/ColumnInfo/ColumnInfoPopup.js +2 -5
  290. package/src/View/Comments/CommentsEditor.js +44 -61
  291. package/src/View/Comments/CommentsPopup.js +12 -30
  292. package/src/View/Components/AdaptableButton/AdaptableButtonComponent.d.ts +4 -0
  293. package/src/View/Components/AdaptableButton/AdaptableButtonComponent.js +18 -0
  294. package/src/View/Components/AdaptableButton/AdaptableButtonView.d.ts +58 -0
  295. package/src/View/Components/AdaptableButton/AdaptableButtonView.js +52 -0
  296. package/src/View/Components/AdaptableButton/index.d.ts +3 -3
  297. package/src/View/Components/AdaptableButton/index.js +6 -16
  298. package/src/View/Components/AdaptableDateInput/index.js +2 -1
  299. package/src/View/Components/AdaptableIconComponent/index.js +2 -3
  300. package/src/View/Components/AdaptableIconSelector/index.js +2 -3
  301. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +6 -2
  302. package/src/View/Components/AdaptableInput/index.js +3 -2
  303. package/src/View/Components/AdaptableObjectCollection/index.js +5 -8
  304. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +9 -21
  305. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.d.ts +1 -0
  306. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +26 -44
  307. package/src/View/Components/AdaptableObjectRow/index.js +3 -2
  308. package/src/View/Components/Badge/index.d.ts +17 -3
  309. package/src/View/Components/Badge/index.js +67 -10
  310. package/src/View/Components/Buttons/ButtonApply.js +2 -1
  311. package/src/View/Components/Buttons/ButtonBase/index.js +10 -20
  312. package/src/View/Components/Buttons/ButtonClear.js +2 -1
  313. package/src/View/Components/Buttons/ButtonClone.js +2 -2
  314. package/src/View/Components/Buttons/ButtonClose.js +2 -1
  315. package/src/View/Components/Buttons/ButtonConfigure.js +2 -1
  316. package/src/View/Components/Buttons/ButtonDelete.js +2 -2
  317. package/src/View/Components/Buttons/ButtonEdit.js +2 -2
  318. package/src/View/Components/Buttons/ButtonExpand.js +3 -1
  319. package/src/View/Components/Buttons/ButtonExport.js +2 -1
  320. package/src/View/Components/Buttons/ButtonInfo.js +2 -2
  321. package/src/View/Components/Buttons/ButtonInvalid.js +2 -1
  322. package/src/View/Components/Buttons/ButtonLogin.js +2 -1
  323. package/src/View/Components/Buttons/ButtonLogout.js +2 -1
  324. package/src/View/Components/Buttons/ButtonMaximise.js +2 -1
  325. package/src/View/Components/Buttons/ButtonMinimise.js +2 -1
  326. package/src/View/Components/Buttons/ButtonNew.js +2 -2
  327. package/src/View/Components/Buttons/ButtonNewPage.js +2 -1
  328. package/src/View/Components/Buttons/ButtonOpen.js +2 -1
  329. package/src/View/Components/Buttons/ButtonPause.js +2 -2
  330. package/src/View/Components/Buttons/ButtonPlay.js +2 -2
  331. package/src/View/Components/Buttons/ButtonSave.js +2 -1
  332. package/src/View/Components/Buttons/ButtonSchedule.js +2 -2
  333. package/src/View/Components/Buttons/ButtonShare.js +5 -6
  334. package/src/View/Components/Buttons/ButtonStop.js +2 -1
  335. package/src/View/Components/Buttons/ButtonUnsuspend.js +2 -1
  336. package/src/View/Components/Buttons/EntityListActionButtons.js +2 -6
  337. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +2 -1
  338. package/src/View/Components/CellPopup/index.js +2 -1
  339. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.d.ts +4 -1
  340. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +11 -4
  341. package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.js +2 -1
  342. package/src/View/Components/ColumnFilter/ColumnFilter.js +57 -66
  343. package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +16 -17
  344. package/src/View/Components/ColumnFilter/FloatingFilter.js +28 -31
  345. package/src/View/Components/ColumnFilter/LayoutColumnFilter.js +2 -3
  346. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +9 -10
  347. package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +22 -24
  348. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +9 -11
  349. package/src/View/Components/ColumnFilter/components/FloatingFilterInputList.js +32 -24
  350. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +7 -47
  351. package/src/View/Components/ColumnGroupTag/index.js +2 -5
  352. package/src/View/Components/ColumnSelector/index.js +3 -6
  353. package/src/View/Components/EntityRowItem.js +2 -3
  354. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicateEditor.js +5 -12
  355. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +9 -25
  356. package/src/View/Components/EntityRulesEditor/index.js +17 -38
  357. package/src/View/Components/ExternalRenderer.js +2 -2
  358. package/src/View/Components/FilterForm/ListBoxFilterForm.d.ts +3 -2
  359. package/src/View/Components/FilterForm/ListBoxFilterForm.js +80 -26
  360. package/src/View/Components/Forms/AdaptableFormControlTextClear.js +23 -25
  361. package/src/View/Components/ModuleProfile.js +4 -7
  362. package/src/View/Components/ModuleSummary/ModuleDetail.js +6 -5
  363. package/src/View/Components/ModuleSummary/ModuleHeader.js +4 -4
  364. package/src/View/Components/ModuleSummary/SummaryRowItem.js +2 -2
  365. package/src/View/Components/ModuleValueSelector/index.js +2 -2
  366. package/src/View/Components/NewScopeComponent.js +15 -46
  367. package/src/View/Components/Panels/PanelDashboard/index.js +2 -1
  368. package/src/View/Components/Panels/PanelToolPanel/index.js +3 -6
  369. package/src/View/Components/Panels/PanelWithButton.js +3 -11
  370. package/src/View/Components/Panels/PanelWithImage.js +5 -13
  371. package/src/View/Components/Panels/PanelWithRow.js +5 -5
  372. package/src/View/Components/Popups/AdaptableLoadingScreen.js +2 -4
  373. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +7 -12
  374. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +2 -3
  375. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +7 -7
  376. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +19 -18
  377. package/src/View/Components/Popups/AdaptablePopup/CustomSettingsPanelView.js +2 -3
  378. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +15 -19
  379. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +3 -12
  380. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +6 -8
  381. package/src/View/Components/Popups/AdaptablePopupAlert.js +20 -26
  382. package/src/View/Components/Popups/AdaptablePopupConfirmation.js +7 -19
  383. package/src/View/Components/Popups/AdaptablePopupPrompt.js +4 -15
  384. package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +2 -27
  385. package/src/View/Components/Popups/AdaptableToaster.js +2 -2
  386. package/src/View/Components/Popups/FormPopups/FormPopups.js +6 -7
  387. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +15 -17
  388. package/src/View/Components/Popups/WindowPopups/WindowPopups.js +42 -42
  389. package/src/View/Components/Popups/WindowPopups/windowFactory.js +0 -2
  390. package/src/View/Components/PredicateEditor/PredicateEditor.js +15 -24
  391. package/src/View/Components/PreviewResultsPanel.js +4 -9
  392. package/src/View/Components/RangesComponent.d.ts +31 -5
  393. package/src/View/Components/RangesComponent.js +136 -82
  394. package/src/View/Components/ReorderDraggable/index.js +10 -18
  395. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +13 -17
  396. package/src/View/Components/Selectors/ColumnSelector.d.ts +1 -2
  397. package/src/View/Components/Selectors/ColumnSelector.js +21 -7
  398. package/src/View/Components/Selectors/FieldSelector.d.ts +0 -2
  399. package/src/View/Components/Selectors/FieldSelector.js +5 -5
  400. package/src/View/Components/Selectors/PermittedValuesSelector.d.ts +0 -2
  401. package/src/View/Components/Selectors/PermittedValuesSelector.js +31 -2
  402. package/src/View/Components/SharedProps/EditableConfigEntityState.js +0 -1
  403. package/src/View/Components/SharedProps/ModuleViewPopupProps.d.ts +1 -1
  404. package/src/View/Components/StyleComponent.d.ts +0 -2
  405. package/src/View/Components/StyleComponent.js +27 -131
  406. package/src/View/Components/StyleVisualItem.js +4 -4
  407. package/src/View/Components/TagValueSelector/index.js +3 -4
  408. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +18 -40
  409. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +11 -27
  410. package/src/View/Components/ToolPanel/ToolPanelPopup.js +2 -12
  411. package/src/View/Components/ToolPanel/ToolPanelWrapper.js +16 -17
  412. package/src/View/Components/ValueSelector/index.js +87 -100
  413. package/src/View/Components/WizardSummaryPage.js +2 -4
  414. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +9 -29
  415. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +8 -11
  416. package/src/View/CustomSort/Wizard/CustomSortWizard.js +6 -10
  417. package/src/View/Dashboard/CustomDashboardButton.d.ts +1 -2
  418. package/src/View/Dashboard/CustomDashboardButton.js +4 -22
  419. package/src/View/Dashboard/CustomToolbar.js +83 -32
  420. package/src/View/Dashboard/Dashboard.d.ts +0 -1
  421. package/src/View/Dashboard/Dashboard.js +11 -23
  422. package/src/View/Dashboard/DashboardPopup.js +2 -23
  423. package/src/View/Dashboard/DashboardToolbarFactory.js +6 -5
  424. package/src/View/Dashboard/DashboardViewPanel.js +2 -7
  425. package/src/View/Dashboard/ModuleToolbarWrapper.js +3 -3
  426. package/src/View/Dashboard/PinnedDashboard.js +5 -8
  427. package/src/View/Dashboard/PinnedToolbarsSelector.js +2 -1
  428. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +2 -2
  429. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +7 -32
  430. package/src/View/DataChangeHistory/DataChangeHistoryStatusBarContent.js +2 -3
  431. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +4 -18
  432. package/src/View/DataImport/DataImportPopup.js +8 -12
  433. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +6 -10
  434. package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +18 -26
  435. package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +8 -11
  436. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadFileSection.js +2 -2
  437. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadSection.js +2 -11
  438. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadTextSection.js +2 -4
  439. package/src/View/DataImport/DataImportWizard/sections/ValidationSection.js +4 -14
  440. package/src/View/DataSet/DataSetSelector.js +2 -1
  441. package/src/View/DataSet/DataSetStatusPanelPopover.js +2 -1
  442. package/src/View/DataSet/DataSetViewPanel.js +3 -3
  443. package/src/View/Export/ExportDestinationPicker.js +4 -5
  444. package/src/View/Export/ExportSchedulesTab.d.ts +2 -0
  445. package/src/View/Export/ExportSchedulesTab.js +59 -0
  446. package/src/View/Export/ExportStatusBar.js +2 -7
  447. package/src/View/Export/ExportViewPanel.js +27 -29
  448. package/src/View/Export/ReportFormatSelector.d.ts +0 -1
  449. package/src/View/Export/ReportFormatSelector.js +4 -6
  450. package/src/View/Export/ReportListItem.js +2 -5
  451. package/src/View/Export/ReportNameSelector.js +3 -5
  452. package/src/View/Export/Wizard/ExportPopupWizardRouter.d.ts +4 -0
  453. package/src/View/Export/Wizard/ExportPopupWizardRouter.js +14 -0
  454. package/src/View/Export/Wizard/NewReportWizard.js +7 -10
  455. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +27 -51
  456. package/src/View/Export/Wizard/ReportNameWizardSection.js +8 -18
  457. package/src/View/Export/Wizard/ReportRowsWizardSection.js +11 -38
  458. package/src/View/Export/Wizard/ScheduledReportSettings.d.ts +11 -0
  459. package/src/View/Export/Wizard/ScheduledReportSettings.js +34 -0
  460. package/src/View/Export/Wizard/ScheduledReportSettingsSummary.d.ts +7 -0
  461. package/src/View/Export/Wizard/ScheduledReportSettingsSummary.js +32 -0
  462. package/src/View/Export/Wizard/ScheduledReportWizard.d.ts +10 -0
  463. package/src/View/Export/Wizard/ScheduledReportWizard.js +80 -0
  464. package/src/View/Export/Wizard/isReportScheduledSettingsValid.d.ts +3 -0
  465. package/src/View/Export/Wizard/isReportScheduledSettingsValid.js +20 -0
  466. package/src/View/Filter/ActiveFiltersPanel.js +2 -2
  467. package/src/View/Filter/FilterStatusBarSubPanelPopover.js +2 -3
  468. package/src/View/Filter/FilterViewPanel.js +5 -9
  469. package/src/View/FlashingCell/FlashingCellStyle.js +2 -12
  470. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +8 -29
  471. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +3 -3
  472. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +9 -41
  473. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +5 -31
  474. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +9 -13
  475. package/src/View/FormatColumn/MoveFormatColumn.js +3 -4
  476. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +61 -203
  477. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +6 -15
  478. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +98 -0
  479. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +39 -49
  480. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +3 -3
  481. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +13 -27
  482. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +21 -54
  483. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +5 -8
  484. package/src/View/GridFilter/GridFilterExpressionEditor.js +14 -21
  485. package/src/View/GridFilter/GridFilterPopup.js +2 -3
  486. package/src/View/GridFilter/GridFilterPopupUI/index.js +2 -18
  487. package/src/View/GridFilter/GridFilterStatusbar.js +2 -3
  488. package/src/View/GridFilter/GridFilterViewPanel.js +16 -26
  489. package/src/View/GridFilter/GridFilterWindowPopup.js +2 -3
  490. package/src/View/GridFilter/NamedQuerySelector.js +13 -21
  491. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +11 -13
  492. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +7 -23
  493. package/src/View/KeyHint.js +3 -4
  494. package/src/View/Layout/EditCurrentLayoutButton.js +2 -1
  495. package/src/View/Layout/LayoutCloneButton.js +2 -1
  496. package/src/View/Layout/LayoutRadioSelector.js +2 -1
  497. package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +5 -7
  498. package/src/View/Layout/LayoutViewPanel.js +41 -32
  499. package/src/View/Layout/PivotDetailsPopoup.js +2 -2
  500. package/src/View/Layout/TransposedPopup.js +2 -8
  501. package/src/View/Layout/Wizard/LayoutWizard.js +42 -60
  502. package/src/View/Layout/Wizard/getGridFilterPreview.js +2 -4
  503. package/src/View/Layout/Wizard/sections/AggregationsSection.d.ts +3 -2
  504. package/src/View/Layout/Wizard/sections/AggregationsSection.js +29 -151
  505. package/src/View/Layout/Wizard/sections/ColumnsSection.js +131 -187
  506. package/src/View/Layout/Wizard/sections/FilterSection.js +32 -37
  507. package/src/View/Layout/Wizard/sections/GridFilterSection.js +4 -3
  508. package/src/View/Layout/Wizard/sections/ParameterizedAggFuncPicker.d.ts +12 -0
  509. package/src/View/Layout/Wizard/sections/ParameterizedAggFuncPicker.js +48 -0
  510. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.d.ts +2 -1
  511. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +76 -197
  512. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +8 -12
  513. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +5 -13
  514. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +21 -44
  515. package/src/View/Layout/Wizard/sections/RowSelectionSection.js +5 -72
  516. package/src/View/Layout/Wizard/sections/RowSummarySection.js +106 -140
  517. package/src/View/Layout/Wizard/sections/SettingsSection.js +3 -26
  518. package/src/View/Layout/Wizard/sections/SortSection.js +4 -9
  519. package/src/View/License/LicenseWatermark.js +1 -1
  520. package/src/View/NamedQuery/EditCurrentQueryButton.js +2 -1
  521. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +3 -6
  522. package/src/View/NamedQuery/Wizard/NamedQuerySettingsWizardSection.js +3 -11
  523. package/src/View/NamedQuery/Wizard/NamedQueryWizard.js +6 -8
  524. package/src/View/Note/NoteEditor.js +9 -10
  525. package/src/View/Note/NotePopup.js +4 -5
  526. package/src/View/PlusMinus/MovePlusMinus.js +3 -4
  527. package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +6 -16
  528. package/src/View/PlusMinus/Wizard/PlusMinusScopeWizardSection.js +2 -1
  529. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +77 -30
  530. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +7 -9
  531. package/src/View/QuickSearch/FloatingQuickSearch/FloatingQuickSearch.js +3 -6
  532. package/src/View/QuickSearch/QuickSearchInput.js +2 -3
  533. package/src/View/QuickSearch/QuickSearchPopup.d.ts +6 -2
  534. package/src/View/QuickSearch/QuickSearchPopup.js +17 -27
  535. package/src/View/QuickSearch/QuickSearchStatusBarContent.js +2 -3
  536. package/src/View/QuickSearch/QuickSearchViewPanel.js +2 -3
  537. package/src/View/Schedule/Wizard/ScheduleScheduleSummary.js +2 -5
  538. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.d.ts +8 -7
  539. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +138 -105
  540. package/src/View/Shortcut/Wizard/ShortcutScopeWizardSection.js +2 -1
  541. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +4 -38
  542. package/src/View/Shortcut/Wizard/ShortcutWizard.js +8 -18
  543. package/src/View/SmartEdit/SmartEditPopup.js +11 -17
  544. package/src/View/SmartEdit/SmartEditViewPanel.js +12 -17
  545. package/src/View/SpecialColumnSettingsWizardStep.js +6 -29
  546. package/src/View/StateManagement/StateManagementPopup.js +2 -18
  547. package/src/View/StateManagement/StateManagementViewPanel.js +3 -8
  548. package/src/View/StateManagement/components/ClearButton.js +2 -2
  549. package/src/View/StateManagement/components/ExportDropdown.js +2 -2
  550. package/src/View/StateManagement/components/LoadButton.js +13 -16
  551. package/src/View/StatusBar/AdaptableStatusBar.js +24 -22
  552. package/src/View/StatusBar/StatusBarPanel.js +3 -5
  553. package/src/View/StatusBar/StatusBarPopup.js +7 -6
  554. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +26 -0
  555. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +70 -0
  556. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.d.ts +5 -0
  557. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +153 -94
  558. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.d.ts +49 -0
  559. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +146 -0
  560. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.d.ts +12 -0
  561. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +110 -173
  562. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +189 -55
  563. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.d.ts +14 -0
  564. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +309 -0
  565. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.d.ts +10 -0
  566. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +96 -0
  567. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.d.ts +20 -0
  568. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +291 -0
  569. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.d.ts +26 -0
  570. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +319 -0
  571. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.d.ts +8 -0
  572. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +218 -0
  573. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.d.ts +12 -0
  574. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +246 -0
  575. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.d.ts +22 -0
  576. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.js +78 -0
  577. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.js +6 -15
  578. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.js +2 -10
  579. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +2 -6
  580. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.d.ts +5 -0
  581. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +25 -13
  582. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.js +20 -20
  583. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.d.ts +16 -0
  584. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.js +66 -0
  585. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardRangesSection.d.ts +12 -0
  586. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardRangesSection.js +159 -0
  587. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.d.ts +10 -1
  588. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +143 -284
  589. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.d.ts +13 -0
  590. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +104 -29
  591. package/src/View/SystemStatus/SystemStatusEntityRow.js +4 -8
  592. package/src/View/SystemStatus/SystemStatusPopup.js +4 -4
  593. package/src/View/SystemStatus/SystemStatusStatusBarContent.js +2 -3
  594. package/src/View/SystemStatus/SystemStatusViewPanel.js +2 -2
  595. package/src/View/TeamSharing/SharedEntityDependencies.js +7 -11
  596. package/src/View/TeamSharing/SharedEntityObjectView.js +9 -21
  597. package/src/View/TeamSharing/TeamSharingApplyButton.js +2 -1
  598. package/src/View/Theme/ThemePopup.js +2 -27
  599. package/src/View/Theme/ThemeSelector.d.ts +1 -2
  600. package/src/View/Theme/ThemeSelector.js +3 -3
  601. package/src/View/Theme/ThemeStatusbar.d.ts +1 -1
  602. package/src/View/Theme/ThemeStatusbar.js +3 -5
  603. package/src/View/Theme/ThemeViewPanel.js +3 -4
  604. package/src/View/Theme/VariantSelector.js +2 -4
  605. package/src/View/UIHelper.d.ts +15 -25
  606. package/src/View/UIHelper.js +46 -119
  607. package/src/View/Wizard/ObjectTagsWizardSection.js +3 -7
  608. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +13 -0
  609. package/src/View/Wizard/OnePageAdaptableWizard.js +21 -28
  610. package/src/View/Wizard/OnePageWizards.js +54 -70
  611. package/src/View/Wizard/TypeRadio.d.ts +2 -0
  612. package/src/View/Wizard/TypeRadio.js +6 -5
  613. package/src/View/renderWithAdaptableContext.js +3 -4
  614. package/src/agGrid/AdaptableAgGrid.d.ts +5 -2
  615. package/src/agGrid/AdaptableAgGrid.js +79 -39
  616. package/src/agGrid/AdaptableLogger.d.ts +1 -0
  617. package/src/agGrid/AdaptableLogger.js +10 -1
  618. package/src/agGrid/AgGridAdapter.d.ts +1 -0
  619. package/src/agGrid/AgGridAdapter.js +16 -4
  620. package/src/agGrid/AgGridColumnAdapter.d.ts +26 -0
  621. package/src/agGrid/AgGridColumnAdapter.js +332 -99
  622. package/src/agGrid/AgGridMenuAdapter.d.ts +2 -0
  623. package/src/agGrid/AgGridMenuAdapter.js +120 -6
  624. package/src/agGrid/cellRenderers/ActionColumnRenderer.d.ts +1 -0
  625. package/src/agGrid/cellRenderers/ActionColumnRenderer.js +87 -88
  626. package/src/agGrid/cellRenderers/BadgeRenderer.d.ts +2 -2
  627. package/src/agGrid/cellRenderers/BadgeRenderer.js +44 -28
  628. package/src/agGrid/cellRenderers/BulletChartRenderer.d.ts +4 -0
  629. package/src/agGrid/cellRenderers/BulletChartRenderer.js +396 -0
  630. package/src/agGrid/cellRenderers/IconRenderer.d.ts +23 -0
  631. package/src/agGrid/cellRenderers/IconRenderer.js +281 -0
  632. package/src/agGrid/cellRenderers/PercentBarRenderer.js +234 -65
  633. package/src/agGrid/cellRenderers/RangeBarRenderer.d.ts +4 -0
  634. package/src/agGrid/cellRenderers/RangeBarRenderer.js +357 -0
  635. package/src/agGrid/cellRenderers/RatingRenderer.d.ts +4 -0
  636. package/src/agGrid/cellRenderers/RatingRenderer.js +162 -0
  637. package/src/agGrid/cellRenderers/shouldRenderStyledColumnOnRow.d.ts +30 -0
  638. package/src/agGrid/cellRenderers/shouldRenderStyledColumnOnRow.js +58 -0
  639. package/src/agGrid/editors/AdaptableDateEditor/InternalAdaptableDateEditor.js +3 -4
  640. package/src/agGrid/editors/AdaptableDateEditor/index.js +4 -5
  641. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +17 -19
  642. package/src/agGrid/editors/AdaptableNumberEditor/index.js +4 -5
  643. package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.js +21 -24
  644. package/src/agGrid/editors/AdaptablePercentageEditor/index.js +4 -4
  645. package/src/components/Accordion.js +7 -8
  646. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +363 -85
  647. package/src/components/Card/index.js +8 -8
  648. package/src/components/CheckBox/index.d.ts +3 -1
  649. package/src/components/CheckBox/index.js +12 -15
  650. package/src/components/CodeBlock/index.js +2 -2
  651. package/src/components/ColorPicker/ColorPicker.js +14 -19
  652. package/src/components/Combobox/VirtualizedList.d.ts +12 -0
  653. package/src/components/Combobox/VirtualizedList.js +66 -0
  654. package/src/components/Combobox/comboboxUtils.d.ts +82 -0
  655. package/src/components/Combobox/comboboxUtils.js +32 -0
  656. package/src/components/Combobox/index.d.ts +38 -0
  657. package/src/components/Combobox/index.js +534 -0
  658. package/src/components/Dashboard/Dashboard.d.ts +0 -3
  659. package/src/components/Dashboard/Dashboard.js +15 -42
  660. package/src/components/Dashboard/DashboardManager.js +2 -1
  661. package/src/components/Dashboard/DashboardToolbar.js +2 -7
  662. package/src/components/Datepicker/index.js +242 -105
  663. package/src/components/Dialog/index.js +7 -9
  664. package/src/components/DragAndDropContext/ModuleManager.js +2 -8
  665. package/src/components/DragAndDropContext/TabList.js +27 -41
  666. package/src/components/DragAndDropContext/UnusedPanel.js +8 -13
  667. package/src/components/Drawer/index.js +2 -1
  668. package/src/components/Dropdown/Arrows.js +3 -6
  669. package/src/components/Dropdown/index.js +15 -20
  670. package/src/components/DropdownButton/index.js +21 -29
  671. package/src/components/DropdownButton/renderItem.js +5 -6
  672. package/src/components/EmptyContent/index.js +3 -4
  673. package/src/components/ErrorBox/index.js +2 -2
  674. package/src/components/ExpressionEditor/BaseEditorInput.js +49 -90
  675. package/src/components/ExpressionEditor/DataTableEditor.js +19 -23
  676. package/src/components/ExpressionEditor/EditorButton.js +2 -2
  677. package/src/components/ExpressionEditor/EditorInput.js +2 -3
  678. package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +8 -15
  679. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +2 -15
  680. package/src/components/ExpressionEditor/ExpressionPreview.js +6 -5
  681. package/src/components/ExpressionEditor/NamedQueryEditor.js +4 -10
  682. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.js +9 -22
  683. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +35 -53
  684. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +112 -133
  685. package/src/components/ExpressionEditor/index.js +49 -95
  686. package/src/components/FieldWrap/index.js +3 -2
  687. package/src/components/FileDroppable/index.js +17 -28
  688. package/src/components/Flex.js +3 -2
  689. package/src/components/FlexWithFooter.js +2 -6
  690. package/src/components/FormLayout/index.js +7 -7
  691. package/src/components/HelpBlock/index.js +2 -2
  692. package/src/components/Icon/index.js +4 -4
  693. package/src/components/IconSelector/IconSelector.js +12 -23
  694. package/src/components/InfiniteTable/index.js +2 -2
  695. package/src/components/Input/NumberInput.js +2 -1
  696. package/src/components/Input/index.d.ts +1 -0
  697. package/src/components/Input/index.js +6 -4
  698. package/src/components/InputGroup/InputGroup.js +2 -3
  699. package/src/components/Loader/Loader.js +3 -6
  700. package/src/components/Logo/index.js +2 -10
  701. package/src/components/Modal/Backdrop.js +2 -1
  702. package/src/components/Modal/index.js +2 -5
  703. package/src/components/NewDropdownButton/index.d.ts +26 -0
  704. package/src/components/NewDropdownButton/index.js +28 -0
  705. package/src/components/NewSelect/index.d.ts +64 -0
  706. package/src/components/NewSelect/index.js +76 -0
  707. package/src/components/NewTooltip/index.d.ts +8 -0
  708. package/src/components/NewTooltip/index.js +11 -0
  709. package/src/components/NotifyResize/index.js +2 -1
  710. package/src/components/OverlayTrigger/Overlay.js +2 -1
  711. package/src/components/OverlayTrigger/index.js +11 -13
  712. package/src/components/Panel/index.js +10 -11
  713. package/src/components/PopupWithFooter.js +3 -3
  714. package/src/components/ProgressIndicator/ProgressIndicator.js +14 -19
  715. package/src/components/Radio/index.js +4 -9
  716. package/src/components/ResizeObserver/index.js +2 -3
  717. package/src/components/Select/CSSNumericVariableWatch.js +3 -3
  718. package/src/components/SelectList.js +2 -2
  719. package/src/components/SelectableList/index.js +3 -2
  720. package/src/components/SimpleButton/index.d.ts +1 -1
  721. package/src/components/SimpleButton/index.js +14 -18
  722. package/src/components/SizedContainer/index.js +6 -8
  723. package/src/components/StylePreview.js +2 -2
  724. package/src/components/Table/index.js +2 -2
  725. package/src/components/Tabs/index.js +5 -10
  726. package/src/components/Tag/Tag.js +4 -3
  727. package/src/components/Textarea/index.js +2 -1
  728. package/src/components/Toggle/Toggle.js +3 -4
  729. package/src/components/Toggle/ToggleGroup.js +3 -3
  730. package/src/components/ToggleButton/index.js +14 -17
  731. package/src/components/Tooltip/index.js +2 -2
  732. package/src/components/Tree/TreeDropdown/index.d.ts +44 -26
  733. package/src/components/Tree/TreeDropdown/index.js +504 -265
  734. package/src/components/Tree/treeUtils.d.ts +10 -0
  735. package/src/components/Tree/treeUtils.js +29 -0
  736. package/src/components/WarningBox/index.js +2 -2
  737. package/src/components/WindowModal/WindowModal.js +4 -4
  738. package/src/components/WizardPanel/index.js +2 -2
  739. package/src/components/icons/DefaultIcon.js +2 -2
  740. package/src/components/icons/add-row.js +2 -3
  741. package/src/components/icons/alert.js +2 -3
  742. package/src/components/icons/align-center.js +2 -3
  743. package/src/components/icons/align-justify.js +2 -3
  744. package/src/components/icons/align-left.js +2 -3
  745. package/src/components/icons/align-right.js +2 -3
  746. package/src/components/icons/analysis.js +2 -4
  747. package/src/components/icons/application.js +2 -3
  748. package/src/components/icons/arrow-down-long.js +2 -3
  749. package/src/components/icons/arrow-down.js +2 -3
  750. package/src/components/icons/arrow-expand.js +2 -3
  751. package/src/components/icons/arrow-left.js +2 -4
  752. package/src/components/icons/arrow-right.js +2 -3
  753. package/src/components/icons/arrow-up-long.js +2 -3
  754. package/src/components/icons/arrow-up.js +2 -3
  755. package/src/components/icons/attach-file.js +2 -4
  756. package/src/components/icons/badge.js +2 -3
  757. package/src/components/icons/blanks.js +2 -3
  758. package/src/components/icons/bold.js +2 -3
  759. package/src/components/icons/boolean-list.js +2 -3
  760. package/src/components/icons/brush.js +2 -3
  761. package/src/components/icons/build.js +2 -4
  762. package/src/components/icons/bulk-update.js +2 -3
  763. package/src/components/icons/bullet-chart.d.ts +3 -0
  764. package/src/components/icons/bullet-chart.js +10 -0
  765. package/src/components/icons/calculated-column.js +2 -4
  766. package/src/components/icons/calendar.js +2 -3
  767. package/src/components/icons/call.js +2 -3
  768. package/src/components/icons/campaign.js +2 -3
  769. package/src/components/icons/case-lower.js +2 -3
  770. package/src/components/icons/case-sentence.js +2 -4
  771. package/src/components/icons/case-upper.js +2 -3
  772. package/src/components/icons/cell-summary.js +2 -3
  773. package/src/components/icons/cell-validation.js +2 -3
  774. package/src/components/icons/chart.js +2 -3
  775. package/src/components/icons/chat.js +2 -4
  776. package/src/components/icons/check-box-outline.js +2 -3
  777. package/src/components/icons/check-box.js +2 -3
  778. package/src/components/icons/check-circle.js +2 -3
  779. package/src/components/icons/check.js +2 -3
  780. package/src/components/icons/clone.js +2 -3
  781. package/src/components/icons/close.js +2 -3
  782. package/src/components/icons/cloud-upload.js +2 -3
  783. package/src/components/icons/collapse-all.js +2 -3
  784. package/src/components/icons/collapse.js +2 -3
  785. package/src/components/icons/column-add.js +2 -6
  786. package/src/components/icons/column-chooser.js +2 -3
  787. package/src/components/icons/column-filter.js +2 -3
  788. package/src/components/icons/column-info.js +2 -3
  789. package/src/components/icons/column-outline.js +2 -3
  790. package/src/components/icons/comment.js +2 -3
  791. package/src/components/icons/comments.js +2 -3
  792. package/src/components/icons/contact.js +2 -4
  793. package/src/components/icons/contains.js +2 -3
  794. package/src/components/icons/copy.js +2 -3
  795. package/src/components/icons/csv.js +2 -3
  796. package/src/components/icons/custom-sort.js +2 -3
  797. package/src/components/icons/dashboard.js +2 -3
  798. package/src/components/icons/data-object.js +2 -3
  799. package/src/components/icons/data-set.js +2 -3
  800. package/src/components/icons/date-range.js +2 -4
  801. package/src/components/icons/delete.js +2 -3
  802. package/src/components/icons/division.js +2 -3
  803. package/src/components/icons/dock.js +2 -3
  804. package/src/components/icons/dollar.js +2 -3
  805. package/src/components/icons/drag.js +2 -3
  806. package/src/components/icons/edit.js +2 -3
  807. package/src/components/icons/ends-with.js +2 -3
  808. package/src/components/icons/equal.js +2 -3
  809. package/src/components/icons/equation.js +2 -3
  810. package/src/components/icons/error.js +2 -3
  811. package/src/components/icons/excel.js +2 -4
  812. package/src/components/icons/expand-all.js +2 -3
  813. package/src/components/icons/expand.js +2 -3
  814. package/src/components/icons/exponent.js +2 -3
  815. package/src/components/icons/export.js +2 -3
  816. package/src/components/icons/fast-backward.js +2 -3
  817. package/src/components/icons/fast-forward.js +2 -3
  818. package/src/components/icons/fdc3.js +2 -5
  819. package/src/components/icons/filter-off.js +2 -3
  820. package/src/components/icons/filter.js +2 -3
  821. package/src/components/icons/flashing-cell.js +2 -3
  822. package/src/components/icons/folder-open.js +2 -3
  823. package/src/components/icons/folder-shared.js +2 -3
  824. package/src/components/icons/folder.js +2 -3
  825. package/src/components/icons/format-column.js +2 -3
  826. package/src/components/icons/freetext-column.js +2 -7
  827. package/src/components/icons/function.js +2 -3
  828. package/src/components/icons/gradient-column.js +2 -3
  829. package/src/components/icons/gradient.js +2 -3
  830. package/src/components/icons/greater-than-or-equal.js +2 -3
  831. package/src/components/icons/greater-than.js +2 -3
  832. package/src/components/icons/grid-filter.js +2 -3
  833. package/src/components/icons/grid-info.js +2 -3
  834. package/src/components/icons/hide-column.js +2 -4
  835. package/src/components/icons/history.js +2 -3
  836. package/src/components/icons/home.js +2 -3
  837. package/src/components/icons/icon-style.d.ts +3 -0
  838. package/src/components/icons/icon-style.js +10 -0
  839. package/src/components/icons/import-export.js +2 -3
  840. package/src/components/icons/import.js +2 -3
  841. package/src/components/icons/index.d.ts +1 -1
  842. package/src/components/icons/index.js +201 -6
  843. package/src/components/icons/info.js +2 -3
  844. package/src/components/icons/inspector.js +2 -4
  845. package/src/components/icons/instrument.js +2 -4
  846. package/src/components/icons/interactions.js +2 -4
  847. package/src/components/icons/invalid.js +2 -4
  848. package/src/components/icons/ipushpull.js +2 -4
  849. package/src/components/icons/italic.js +2 -3
  850. package/src/components/icons/justify.js +2 -3
  851. package/src/components/icons/layout.js +2 -3
  852. package/src/components/icons/less-than-or-equal.js +2 -3
  853. package/src/components/icons/less-than.js +2 -3
  854. package/src/components/icons/list.js +2 -3
  855. package/src/components/icons/login.js +2 -3
  856. package/src/components/icons/logout copy.js +2 -4
  857. package/src/components/icons/logout.js +2 -4
  858. package/src/components/icons/mail.js +2 -3
  859. package/src/components/icons/menu.js +2 -3
  860. package/src/components/icons/minus.js +2 -3
  861. package/src/components/icons/money.js +2 -4
  862. package/src/components/icons/multiplication.js +2 -3
  863. package/src/components/icons/newpage.js +2 -4
  864. package/src/components/icons/news.js +2 -4
  865. package/src/components/icons/non-blanks.js +2 -3
  866. package/src/components/icons/not-contains.js +2 -3
  867. package/src/components/icons/not-equal.js +2 -3
  868. package/src/components/icons/note.js +2 -3
  869. package/src/components/icons/open-in-new.js +2 -3
  870. package/src/components/icons/order.js +2 -3
  871. package/src/components/icons/organisation.js +2 -4
  872. package/src/components/icons/overline.js +2 -3
  873. package/src/components/icons/pause.js +2 -3
  874. package/src/components/icons/percent-bar.js +2 -8
  875. package/src/components/icons/percent.js +2 -3
  876. package/src/components/icons/person.js +2 -3
  877. package/src/components/icons/pie-chart.js +2 -3
  878. package/src/components/icons/play.js +2 -4
  879. package/src/components/icons/plus-minus.js +2 -3
  880. package/src/components/icons/plus.js +2 -3
  881. package/src/components/icons/query.js +2 -3
  882. package/src/components/icons/quick-search.js +2 -3
  883. package/src/components/icons/quote.js +2 -4
  884. package/src/components/icons/range-bar.d.ts +3 -0
  885. package/src/components/icons/range-bar.js +11 -0
  886. package/src/components/icons/refresh.js +2 -3
  887. package/src/components/icons/regex.js +2 -3
  888. package/src/components/icons/reminder.js +2 -3
  889. package/src/components/icons/resume.js +2 -3
  890. package/src/components/icons/rows.js +2 -3
  891. package/src/components/icons/save.js +2 -3
  892. package/src/components/icons/schedule.js +2 -6
  893. package/src/components/icons/science.js +2 -3
  894. package/src/components/icons/select-all.js +2 -3
  895. package/src/components/icons/select-fwd.js +2 -3
  896. package/src/components/icons/select-off.js +2 -3
  897. package/src/components/icons/settings.js +2 -3
  898. package/src/components/icons/shortcut.js +2 -3
  899. package/src/components/icons/show-column.js +2 -4
  900. package/src/components/icons/smart-edit.js +2 -3
  901. package/src/components/icons/sort-asc.js +2 -6
  902. package/src/components/icons/sort-desc.js +2 -6
  903. package/src/components/icons/spark-line.js +2 -3
  904. package/src/components/icons/star.d.ts +3 -0
  905. package/src/components/icons/star.js +7 -0
  906. package/src/components/icons/starts-with.js +2 -3
  907. package/src/components/icons/state-management.js +2 -3
  908. package/src/components/icons/statusbar.js +2 -4
  909. package/src/components/icons/stop.js +2 -3
  910. package/src/components/icons/strikethrough.js +2 -3
  911. package/src/components/icons/styled-grid.js +2 -4
  912. package/src/components/icons/sync.js +2 -3
  913. package/src/components/icons/system-status.js +2 -3
  914. package/src/components/icons/tab-unselected.js +2 -3
  915. package/src/components/icons/table-arrow-right.js +2 -3
  916. package/src/components/icons/team-share.js +2 -3
  917. package/src/components/icons/theme.js +2 -4
  918. package/src/components/icons/tool-panel.js +2 -3
  919. package/src/components/icons/track-changes.js +2 -4
  920. package/src/components/icons/triangle-down.js +2 -3
  921. package/src/components/icons/triangle-up.js +2 -3
  922. package/src/components/icons/unchecked.js +2 -3
  923. package/src/components/icons/underline.js +2 -3
  924. package/src/components/icons/undo.js +2 -3
  925. package/src/components/icons/updated-row.js +2 -3
  926. package/src/components/icons/upload.js +2 -4
  927. package/src/components/icons/user-filter.js +2 -3
  928. package/src/components/icons/visibility-off.js +2 -3
  929. package/src/components/icons/visibility.js +2 -4
  930. package/src/components/icons/warning.js +2 -3
  931. package/src/components/twUtils.d.ts +3 -0
  932. package/src/components/twUtils.js +10 -4
  933. package/src/components/ui/button.d.ts +8 -0
  934. package/src/components/ui/button.js +38 -0
  935. package/src/components/ui/calendar.d.ts +7 -0
  936. package/src/components/ui/calendar.js +107 -0
  937. package/src/components/ui/combobox.d.ts +48 -0
  938. package/src/components/ui/combobox.js +123 -0
  939. package/src/components/ui/dropdown-menu.d.ts +29 -0
  940. package/src/components/ui/dropdown-menu.js +66 -0
  941. package/src/components/ui/input-group.d.ts +18 -0
  942. package/src/components/ui/input-group.js +64 -0
  943. package/src/components/ui/input.d.ts +3 -0
  944. package/src/components/ui/input.js +9 -0
  945. package/src/components/ui/popover.d.ts +9 -0
  946. package/src/components/ui/popover.js +29 -0
  947. package/src/components/ui/select.d.ts +26 -0
  948. package/src/components/ui/select.js +50 -0
  949. package/src/components/ui/textarea.d.ts +3 -0
  950. package/src/components/ui/textarea.js +8 -0
  951. package/src/components/ui/tooltip.d.ts +6 -0
  952. package/src/components/ui/tooltip.js +21 -0
  953. package/src/env.js +2 -2
  954. package/src/layout-manager/src/index.d.ts +2 -2
  955. package/src/layout-manager/src/index.js +11 -4
  956. package/src/lib/utils.d.ts +3 -0
  957. package/src/lib/utils.js +10 -0
  958. package/src/metamodel/adaptable.metamodel.d.ts +381 -59
  959. package/src/metamodel/adaptable.metamodel.js +1 -1
  960. package/src/migration/AdaptableUpgradeHelper.js +3 -1
  961. package/src/migration/VersionUpgrade22.js +11 -21
  962. package/src/migration/VersionUpgrade23.d.ts +85 -0
  963. package/src/migration/VersionUpgrade23.js +241 -0
  964. package/src/setupDevTools.d.ts +3 -0
  965. package/src/setupDevTools.js +415 -0
  966. package/src/types.d.ts +13 -12
  967. package/src/types.js +6 -1
  968. package/themes/dark.css +27 -7
  969. package/tsconfig.cjs.tsbuildinfo +1 -1
  970. package/fonts/glyphicons-halflings-regular.eot +0 -0
  971. package/fonts/glyphicons-halflings-regular.svg +0 -288
  972. package/fonts/glyphicons-halflings-regular.ttf +0 -0
  973. package/fonts/glyphicons-halflings-regular.woff +0 -0
  974. package/fonts/glyphicons-halflings-regular.woff2 +0 -0
  975. package/src/AdaptableState/ScheduleState.d.ts +0 -52
  976. package/src/Api/Events/ScheduleTriggered.d.ts +0 -11
  977. package/src/Api/Implementation/ScheduleApiImpl.d.ts +0 -51
  978. package/src/Api/Implementation/ScheduleApiImpl.js +0 -204
  979. package/src/Api/Internal/ScheduleInternalApi.d.ts +0 -1
  980. package/src/Api/ScheduleApi.d.ts +0 -224
  981. package/src/Redux/ActionsReducers/ScheduleRedux.d.ts +0 -191
  982. package/src/Redux/ActionsReducers/ScheduleRedux.js +0 -426
  983. package/src/Strategy/Interface/IScheduleModule.d.ts +0 -4
  984. package/src/Strategy/Interface/IScheduleModule.js +0 -2
  985. package/src/Strategy/ScheduleModule.d.ts +0 -21
  986. package/src/Strategy/ScheduleModule.js +0 -274
  987. package/src/View/FormatColumn/Wizard/FormatColumnColumnScopeWizardSection.js +0 -52
  988. package/src/View/FormatColumn/Wizard/FormatColumnRowScopeWizardSection.d.ts +0 -8
  989. package/src/View/FormatColumn/Wizard/FormatColumnRowScopeWizardSection.js +0 -86
  990. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.d.ts +0 -11
  991. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +0 -78
  992. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.d.ts +0 -9
  993. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +0 -41
  994. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.d.ts +0 -8
  995. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +0 -80
  996. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.d.ts +0 -12
  997. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +0 -70
  998. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.d.ts +0 -7
  999. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.js +0 -92
  1000. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.d.ts +0 -7
  1001. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.js +0 -35
  1002. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/index.d.ts +0 -3
  1003. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/index.js +0 -9
  1004. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.d.ts +0 -3
  1005. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.js +0 -58
  1006. package/src/View/Schedule/Wizard/ScheduleWizard.d.ts +0 -6
  1007. package/src/View/Schedule/Wizard/ScheduleWizard.js +0 -114
  1008. package/src/View/StyledColumn/Wizard/StyledColumnBadgeRowsSection.d.ts +0 -8
  1009. package/src/View/StyledColumn/Wizard/StyledColumnBadgeRowsSection.js +0 -107
  1010. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.d.ts +0 -9
  1011. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +0 -96
  1012. package/src/View/Theme/ThemeEditor.d.ts +0 -8
  1013. package/src/View/Theme/ThemeEditor.js +0 -165
  1014. package/src/View/Theme/ThemeEditorWindow.d.ts +0 -2
  1015. package/src/View/Theme/ThemeEditorWindow.js +0 -15
  1016. package/src/View/Theme/ThemeField.d.ts +0 -11
  1017. package/src/View/Theme/ThemeField.js +0 -39
  1018. package/src/components/Select/Select.d.ts +0 -53
  1019. package/src/components/Select/Select.js +0 -770
  1020. package/src/components/Select/index.d.ts +0 -1
  1021. package/src/components/Select/index.js +0 -4
  1022. package/src/components/Tree/TreeList/index.d.ts +0 -25
  1023. package/src/components/Tree/TreeList/index.js +0 -35
  1024. /package/{src/AdaptableState/ScheduleState.js → devtools.js} +0 -0
  1025. /package/src/Api/Events/{ScheduleTriggered.js → ReportScheduleRan.js} +0 -0
  1026. /package/src/{Api/Internal/ScheduleInternalApi.js → Strategy/Interface/IAlertModule.js} +0 -0
  1027. /package/src/{Api/ScheduleApi.js → Strategy/Interface/IExportModule.js} +0 -0
  1028. /package/src/View/FormatColumn/Wizard/{FormatColumnColumnScopeWizardSection.d.ts → FormatColumnScopeWizardSection.d.ts} +0 -0
@@ -1,297 +1,536 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toDisplayValueDefault = toDisplayValueDefault;
4
- exports.toDisplayValueFromOptionTree = toDisplayValueFromOptionTree;
3
+ exports.toDisplayValueFromOptionTree = exports.toDisplayValueDefault = void 0;
5
4
  exports.TreeDropdown = TreeDropdown;
5
+ exports.GridFilterTreeDropdown = GridFilterTreeDropdown;
6
6
  const tslib_1 = require("tslib");
7
- const React = tslib_1.__importStar(require("react"));
8
- const FieldWrap_1 = tslib_1.__importDefault(require("../../FieldWrap"));
9
- const TreeList_1 = require("../TreeList");
7
+ const jsx_runtime_1 = require("react/jsx-runtime");
10
8
  const react_1 = require("react");
11
- const OverlayTrigger_1 = tslib_1.__importDefault(require("../../OverlayTrigger"));
12
- const NotifyResize_1 = tslib_1.__importDefault(require("../../NotifyResize"));
13
- const Input_1 = tslib_1.__importDefault(require("../../Input"));
9
+ const clsx_1 = tslib_1.__importDefault(require("clsx"));
10
+ const lucide_react_1 = require("lucide-react");
14
11
  const InfiniteTable_1 = require("../../InfiniteTable");
15
- const SimpleButton_1 = tslib_1.__importDefault(require("../../SimpleButton"));
12
+ const Combobox_1 = require("../../Combobox");
13
+ const combobox_1 = require("../../ui/combobox");
14
+ const treeUtils_1 = require("../treeUtils");
15
+ Object.defineProperty(exports, "toDisplayValueDefault", { enumerable: true, get: function () { return treeUtils_1.toDisplayValueDefault; } });
16
+ Object.defineProperty(exports, "toDisplayValueFromOptionTree", { enumerable: true, get: function () { return treeUtils_1.toDisplayValueFromOptionTree; } });
17
+ const utils_1 = require("../../../lib/utils");
16
18
  const CheckBox_1 = require("../../CheckBox");
17
- const useLatest_1 = require("../../utils/useLatest");
18
- const re_resizable_1 = require("re-resizable");
19
- const AdaptableComputedCSSVarsContext_1 = require("../../../View/AdaptableComputedCSSVarsContext");
20
- const Flex_1 = require("../../Flex");
21
- const resizableDirections = {
22
- right: true,
23
- bottom: true,
24
- bottomRight: true,
25
- };
26
- function toDisplayValueDefault(value) {
19
+ const encodePath = (p) => JSON.stringify(p);
20
+ const decodePath = (s) => JSON.parse(s);
21
+ function normalizePaths(value) {
27
22
  if (!Array.isArray(value)) {
28
- return `${value}`;
23
+ return [];
29
24
  }
30
- return value.map((v) => (Array.isArray(v) ? v.join('-') : v)).join(', ');
25
+ return value.map((v) => (Array.isArray(v) ? v : [v]));
31
26
  }
32
- /**
33
- * Formats the closed TreeDropdown input using each option's `label` for the stored `value` path
34
- * segments (same shape as {@link toDisplayValueDefault}, but resolves raw values to labels).
35
- */
36
- function toDisplayValueFromOptionTree(paths, options) {
37
- const valueToLabel = new Map();
38
- const walk = (node) => {
39
- valueToLabel.set(node.value, node.label);
40
- if (Array.isArray(node.children)) {
41
- node.children.forEach(walk);
27
+ function flattenOptions(options, primaryKey, labelField, parentPath = [], result = []) {
28
+ for (const option of options) {
29
+ const id = option[primaryKey];
30
+ const path = [...parentPath, id];
31
+ const children = option.children;
32
+ const hasChildren = Array.isArray(children) && children.length > 0;
33
+ result.push({
34
+ path,
35
+ pathKey: encodePath(path),
36
+ label: option[labelField] != null ? String(option[labelField]) : String(id),
37
+ depth: parentPath.length,
38
+ hasChildren,
39
+ });
40
+ if (hasChildren) {
41
+ flattenOptions(children, primaryKey, labelField, path, result);
42
42
  }
43
- };
44
- options.forEach(walk);
45
- return paths
46
- .map((path) => Array.isArray(path)
47
- ? path.map((segment) => valueToLabel.get(segment) ?? String(segment)).join('-')
48
- : valueToLabel.get(path) ?? String(path))
49
- .join(', ');
43
+ }
44
+ return result;
50
45
  }
51
- const getLabelColumn = (field, { includeExpandCollapseButton }) => {
52
- return {
53
- field,
54
- defaultFlex: 1,
55
- renderTreeIcon: true,
56
- defaultSortable: false,
57
- resizable: false,
58
- renderSelectionCheckBox: ({ rowInfo, dataSourceApi, api }) => {
59
- if (!rowInfo.isTreeNode) {
60
- return null;
61
- }
62
- return (React.createElement(CheckBox_1.CheckBox, { className: "twa:mx-1", checked: rowInfo?.rowSelected, onChange: (checked) => {
63
- dataSourceApi.treeApi.setNodeSelection(rowInfo.nodePath, checked);
64
- api.focus();
65
- } }));
66
- },
67
- renderHeader: ({ dataSourceApi, api, allRowsSelected, someRowsSelected }) => {
68
- return (React.createElement(CustomHeader, { dataSourceApi: dataSourceApi, api: api, allRowsSelected: allRowsSelected, someRowsSelected: someRowsSelected, includeExpandCollapseButton: includeExpandCollapseButton }));
46
+ function TreeItemLabel(props) {
47
+ const { node, isExpanded, onToggleExpand, selected, reserveExpandSpace } = props;
48
+ const handleChevronMouseDown = (e) => {
49
+ // Prevent the combobox from stealing focus or treating the chevron click
50
+ // as a selection toggle on the row.
51
+ e.preventDefault();
52
+ e.stopPropagation();
53
+ };
54
+ const handleChevronClick = (e) => {
55
+ e.preventDefault();
56
+ e.stopPropagation();
57
+ onToggleExpand(node.path);
58
+ };
59
+ // These elements are rendered as `children` of the `ComboboxItem`, which is
60
+ // a flex container. The built-in indicator is suppressed via
61
+ // `renderCheckboxIndicator` on the list, so we render our own tri-state checkbox
62
+ // at `order: 0` (middle). Chevron goes before (`-1`), label after (`1`).
63
+ // Rendering the indicator here lets it reflect `null`/indeterminate state
64
+ // that base-ui's boolean indicator can't.
65
+ const indent = node.depth > 0 ? `calc(${node.depth} * var(--ab-tree-indent-size))` : 0;
66
+ const iconProps = {
67
+ style: {
68
+ // override this explicitly since the parent ComboboxItem
69
+ // sets this on highlighted items, but the color is not appropriate
70
+ //@ts-ignore ignore
71
+ '--ab-color-accent-foreground': 'var(--ab-color-accent)',
69
72
  },
73
+ className: 'twa:size-4',
70
74
  };
71
- };
72
- function useAllFirstLevelCollapsed(treeApi) {
73
- const { originalDataArray } = (0, InfiniteTable_1.useDataSourceState)((state) => {
74
- return {
75
- originalDataArray: state.originalDataArray,
76
- treeExpandState: state.treeExpandState,
77
- };
78
- });
79
- return originalDataArray.every((item) => !treeApi.isNodeExpanded([item.id]));
75
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [node.hasChildren ? ((0, jsx_runtime_1.jsx)("button", { type: "button", tabIndex: -1, "aria-label": isExpanded ? 'Collapse' : 'Expand', "data-name": "expand-collapse-icon", onMouseDown: handleChevronMouseDown, onClick: handleChevronClick, style: { order: -1, marginLeft: indent }, className: (0, utils_1.cn)('twa:inline-flex twa:shrink-0 twa:items-center twa:justify-center twa:rounded', 'twa:cursor-pointer'), children: isExpanded ? (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronDownIcon, { ...iconProps }) : (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRightIcon, { ...iconProps }) })) : reserveExpandSpace ? ((0, jsx_runtime_1.jsx)("span", { "aria-hidden": "true", style: { order: -1, marginLeft: indent }, className: "twa:inline-block twa:size-4 twa:shrink-0" })) : null, (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { checked: selected, checkSquareClassName: (0, clsx_1.default)(selected === true && 'twa:ring-1 twa:ring-accent-foreground') }), (0, jsx_runtime_1.jsx)("span", { className: "twa:truncate twa:min-w-0 twa:flex-1", children: node.label })] }));
80
76
  }
81
- function CustomHeader({ dataSourceApi, api, allRowsSelected, someRowsSelected, includeExpandCollapseButton, }) {
82
- const { treeApi } = dataSourceApi;
83
- const allFirstLevelCollapsed = useAllFirstLevelCollapsed(treeApi);
84
- const checked = someRowsSelected && !allRowsSelected ? null : allRowsSelected;
85
- return (React.createElement(Flex_1.Flex, { flexDirection: 'row', alignItems: 'center', className: "twa:w-full", onMouseDown: (e) => {
86
- // so we can keep the focus on the Grid
87
- e.preventDefault();
88
- } },
89
- React.createElement(CheckBox_1.CheckBox, { checked: checked, className: "twa:mr-2", onChange: () => {
90
- if (allRowsSelected) {
91
- dataSourceApi.treeApi.deselectAll();
77
+ function TreeDropdown(props) {
78
+ const { isLoading = false } = props;
79
+ const labelField = (props.labelField ?? 'label');
80
+ const primaryKey = (props.primaryKey ?? 'id');
81
+ // Walk the tree once to get every node. This is independent of expand and
82
+ // selection state, so it only recomputes when the options change.
83
+ const allNodes = (0, react_1.useMemo)(() => {
84
+ return flattenOptions(props.items, primaryKey, labelField);
85
+ }, [props.items, primaryKey, labelField]);
86
+ const nodeByKey = (0, react_1.useMemo)(() => {
87
+ const map = new Map();
88
+ for (const n of allNodes) {
89
+ map.set(n.pathKey, n);
90
+ }
91
+ return map;
92
+ }, [allNodes]);
93
+ // All paths in the tree, used to configure TreeSelectionState so it can
94
+ // resolve tri-state selection across branches.
95
+ const treePaths = (0, react_1.useMemo)(() => allNodes.map((n) => n.path), [allNodes]);
96
+ // --- Selection state (backed by TreeSelectionStateObject) ----------------
97
+ const [internalSelection, setInternalSelection] = (0, react_1.useState)(() => ({
98
+ defaultSelection: false,
99
+ selectedPaths: normalizePaths(props.value ?? props.defaultValue),
100
+ deselectedPaths: [],
101
+ }));
102
+ // When used in controlled mode, sync external value into internal state
103
+ // whenever the caller swaps the reference. We compare against the last
104
+ // `value` we observed (captured in a state-paired variable, as recommended
105
+ // for derived-from-props state) so we don't fight the caller on every
106
+ // re-render while still ignoring our own onChange-driven updates.
107
+ const [lastPropsValue, setLastPropsValue] = (0, react_1.useState)(props.value);
108
+ if (props.value !== undefined && props.value !== lastPropsValue) {
109
+ setLastPropsValue(props.value);
110
+ setInternalSelection({
111
+ defaultSelection: false,
112
+ selectedPaths: normalizePaths(props.value),
113
+ deselectedPaths: [],
114
+ });
115
+ }
116
+ const selectionState = (0, react_1.useMemo)(() => {
117
+ return new InfiniteTable_1.TreeSelectionState(internalSelection, {
118
+ treePaths,
119
+ strictCheckPaths: false,
120
+ });
121
+ }, [internalSelection, treePaths]);
122
+ // --- Expand state (backed by TreeExpandStateObject) ----------------------
123
+ const [internalExpand, setInternalExpand] = (0, react_1.useState)(() => ({
124
+ defaultExpanded: false,
125
+ expandedPaths: [],
126
+ collapsedPaths: [],
127
+ }));
128
+ const expandState = (0, react_1.useMemo)(() => {
129
+ return new InfiniteTable_1.TreeExpandState(internalExpand);
130
+ }, [internalExpand]);
131
+ const toggleExpand = (0, react_1.useCallback)((path) => {
132
+ const next = new InfiniteTable_1.TreeExpandState(internalExpand);
133
+ next.setNodeExpanded(path, !next.isNodeExpanded(path));
134
+ setInternalExpand(next.getState());
135
+ }, [internalExpand]);
136
+ // Precompute branch nodes once so the Expand All / Collapse All toggle
137
+ // can decide which action to offer without walking the tree on every render.
138
+ const branchNodes = (0, react_1.useMemo)(() => allNodes.filter((n) => n.hasChildren), [allNodes]);
139
+ // The toggle acts as "Collapse all" whenever *anything* is expanded, so a
140
+ // single click after a partial expand (e.g. branches opened by a search)
141
+ // collapses the whole tree. Only when every branch is already collapsed
142
+ // does the toggle switch to "Expand all".
143
+ const anyBranchExpanded = (0, react_1.useMemo)(() => {
144
+ for (const n of branchNodes) {
145
+ if (expandState.isNodeExpanded(n.path)) {
146
+ return true;
147
+ }
148
+ }
149
+ return false;
150
+ }, [branchNodes, expandState]);
151
+ const toggleExpandAll = (0, react_1.useCallback)(() => {
152
+ const next = new InfiniteTable_1.TreeExpandState(internalExpand);
153
+ if (anyBranchExpanded) {
154
+ next.collapseAll();
155
+ }
156
+ else {
157
+ next.expandAll();
158
+ }
159
+ setInternalExpand(next.getState());
160
+ }, [internalExpand, anyBranchExpanded]);
161
+ // --- Search state --------------------------------------------------------
162
+ // We track the search query ourselves so a query change can drive expand
163
+ // state updates: when the user types, every branch on the path to a match
164
+ // (and every branch within a matching subtree) is force-expanded so the
165
+ // matches surface in the items list. The user can then collapse a branch
166
+ // mid-search to hide that subtree again — and the next keystroke
167
+ // re-expands everything matching, restoring the full filtered view.
168
+ const [searchQuery, setSearchQuery] = (0, react_1.useState)('');
169
+ // Set of pathKeys for every node that either matches the query or is an
170
+ // ancestor of a matching node. Used by the filter callback so an ancestor
171
+ // whose own label doesn't match still passes when one of its descendants
172
+ // matches.
173
+ const matchAncestorKeys = (0, react_1.useMemo)(() => {
174
+ if (!searchQuery) {
175
+ return null;
176
+ }
177
+ const q = searchQuery.toLowerCase();
178
+ const keys = new Set();
179
+ for (const node of allNodes) {
180
+ if (node.label.toLowerCase().includes(q)) {
181
+ for (let i = 1; i <= node.path.length; i++) {
182
+ keys.add(encodePath(node.path.slice(0, i)));
92
183
  }
93
- else {
94
- dataSourceApi.treeApi.selectAll();
184
+ }
185
+ }
186
+ return keys;
187
+ }, [allNodes, searchQuery]);
188
+ // Expand every branch needed to display the current search's matches.
189
+ // Called from the search input's onChange (so it's tied to user typing,
190
+ // not to incidental re-renders) and only mutates expand state when there
191
+ // is something new to expand — leaving any branches the user collapsed
192
+ // mid-search untouched until the next keystroke.
193
+ const expandPathsForQuery = (0, react_1.useCallback)((query) => {
194
+ if (!query) {
195
+ return;
196
+ }
197
+ const q = query.toLowerCase();
198
+ const next = new InfiniteTable_1.TreeExpandState(internalExpand);
199
+ let mutated = false;
200
+ for (let i = 0; i < allNodes.length; i++) {
201
+ const node = allNodes[i];
202
+ if (!node.label.toLowerCase().includes(q)) {
203
+ continue;
204
+ }
205
+ for (let j = 1; j < node.path.length; j++) {
206
+ const ancPath = node.path.slice(0, j);
207
+ if (!next.isNodeExpanded(ancPath)) {
208
+ next.setNodeExpanded(ancPath, true);
209
+ mutated = true;
95
210
  }
96
- api.focus();
97
- } }, allRowsSelected ? '(Deselect All)' : '(Select All)'),
98
- React.createElement(Flex_1.Flex, { className: "twa:flex-1" }),
99
- includeExpandCollapseButton ? (React.createElement(SimpleButton_1.default, { label: "toggle-expand-collapse", icon: allFirstLevelCollapsed ? 'expand-all' : 'collapse-all', onMouseDown: () => {
100
- if (allFirstLevelCollapsed) {
101
- dataSourceApi.treeApi.expandAll();
211
+ }
212
+ if (node.hasChildren && !next.isNodeExpanded(node.path)) {
213
+ next.setNodeExpanded(node.path, true);
214
+ mutated = true;
215
+ }
216
+ // allNodes is in depth-first order, so descendants of `node` are the
217
+ // contiguous run of nodes with depth > node.depth that immediately
218
+ // follow it. Walk that run and force every nested branch open so the
219
+ // entire matching subtree (not just its first level) is visible.
220
+ for (let j = i + 1; j < allNodes.length; j++) {
221
+ const desc = allNodes[j];
222
+ if (desc.depth <= node.depth) {
223
+ break;
102
224
  }
103
- else {
104
- dataSourceApi.treeApi.collapseAll();
225
+ if (desc.hasChildren && !next.isNodeExpanded(desc.path)) {
226
+ next.setNodeExpanded(desc.path, true);
227
+ mutated = true;
105
228
  }
106
- }, iconPosition: "end" })) : null));
107
- }
108
- const sizeFull = {
109
- width: '100%',
110
- height: '100%',
111
- };
112
- function getRowCount(options) {
113
- return options.reduce((acc, option) => {
114
- if (Array.isArray(option.children)) {
115
- return acc + getRowCount(option.children) + 1;
229
+ }
116
230
  }
117
- return acc + 1;
118
- }, 0);
119
- }
120
- function TreeDropdown(props) {
121
- const [visible, doSetVisible] = (0, react_1.useState)(false);
122
- const overlayDOMRef = (0, react_1.useRef)(null);
123
- const getProps = (0, useLatest_1.useLatest)(props);
124
- const computedCSSVars = (0, AdaptableComputedCSSVarsContext_1.useAdaptableComputedCSSVars)();
125
- const [treeExpandState, setTreeExpandState] = (0, react_1.useState)(undefined);
126
- const [searchValue, setSearchValue] = (0, react_1.useState)('');
127
- const labelField = props.labelField ?? 'label';
128
- const [stateValue, setStateValue] = (0, react_1.useState)(props.value !== undefined ? props.value : props.defaultValue || []);
129
- const onChange = (0, react_1.useCallback)((value) => {
130
- const paths = value instanceof InfiniteTable_1.TreeSelectionState
131
- ? value.getState().selectedPaths
132
- : value.selectedPaths || [];
133
- if (props.value === undefined) {
134
- setStateValue(paths);
231
+ if (mutated) {
232
+ setInternalExpand(next.getState());
135
233
  }
136
- props.onChange?.(paths);
137
- }, [props.onChange, props.value]);
138
- const value = props.value !== undefined ? props.value : stateValue;
139
- const treeSelection = (0, react_1.useMemo)(() => {
140
- const selection = {
141
- defaultSelection: false,
142
- selectedPaths: value,
143
- };
144
- return selection;
145
- }, [value]);
146
- const rowCount = (0, react_1.useMemo)(() => {
147
- return getRowCount(props.options);
148
- }, [props.options]);
149
- const hasChildren = rowCount > props.options.length;
150
- const columns = (0, react_1.useMemo)(() => {
151
- return {
152
- label: getLabelColumn(labelField, {
153
- includeExpandCollapseButton: hasChildren,
154
- }),
155
- };
156
- }, [labelField, hasChildren]);
157
- const [size, setSize] = (0, react_1.useState)({
158
- width: 0,
159
- height: rowCount * 35,
160
- });
161
- const setHeight = (0, react_1.useCallback)((height) => {
162
- setSize((s) => {
163
- return {
164
- ...s,
165
- height,
166
- };
167
- });
168
- }, []);
169
- const setWidth = (0, react_1.useCallback)((width) => {
170
- setSize((s) => {
171
- return {
172
- ...s,
173
- width,
174
- };
234
+ }, [allNodes, internalExpand]);
235
+ const handleSearchInputChange = (0, react_1.useCallback)((value) => {
236
+ setSearchQuery(value);
237
+ expandPathsForQuery(value);
238
+ }, [expandPathsForQuery]);
239
+ // --- Combobox items & value ---------------------------------------------
240
+ // Only nodes whose ancestors are currently expanded are surfaced to the
241
+ // combobox. base-ui's `filter` prop is skipped when the search query is
242
+ // empty (it shows every item verbatim), so collapsing a branch has to be
243
+ // reflected directly in the items array rather than via a filter callback.
244
+ //
245
+ // Search doesn't override the items list directly. Instead, typing in the
246
+ // search input expands every branch on the path to (and inside) any match
247
+ // via `expandPathsForQuery`, which makes the matches part of `items`
248
+ // naturally. Collapsing a branch mid-search hides that subtree again, even
249
+ // if it contains matches — until the next keystroke re-expands everything.
250
+ //
251
+ // If no item anywhere in the tree has children (equivalent to "no top-level
252
+ // item has children", since deeper branches can only exist under a
253
+ // branching root), the tree is flat and leaf rows don't need to reserve
254
+ // space for a chevron placeholder.
255
+ const reserveExpandSpace = branchNodes.length > 0;
256
+ const items = (0, react_1.useMemo)(() => {
257
+ const visible = [];
258
+ for (const node of allNodes) {
259
+ let ancestorsExpanded = true;
260
+ for (let i = 1; i < node.path.length; i++) {
261
+ if (!expandState.isNodeExpanded(node.path.slice(0, i))) {
262
+ ancestorsExpanded = false;
263
+ break;
264
+ }
265
+ }
266
+ if (!ancestorsExpanded) {
267
+ continue;
268
+ }
269
+ const isExpanded = expandState.isNodeExpanded(node.path);
270
+ // Read tri-state from TreeSelectionState so branches with partial
271
+ // selection render the indeterminate state (base-ui's built-in
272
+ // indicator, suppressed via `renderCheckboxIndicator`, only knows boolean).
273
+ const selected = selectionState.isNodeSelected(node.path);
274
+ visible.push({
275
+ value: node.pathKey,
276
+ textLabel: node.label,
277
+ label: ((0, jsx_runtime_1.jsx)(TreeItemLabel, { node: node, isExpanded: isExpanded, onToggleExpand: toggleExpand, selected: selected, reserveExpandSpace: reserveExpandSpace })),
278
+ path: node.path,
279
+ depth: node.depth,
280
+ hasChildren: node.hasChildren,
281
+ isLeaf: !node.hasChildren,
282
+ });
283
+ }
284
+ return visible;
285
+ }, [allNodes, expandState, toggleExpand, selectionState, reserveExpandSpace]);
286
+ // Combobox `value` is the set of path keys for currently-visible nodes that
287
+ // are fully selected (`TreeSelectionState.isNodeSelected(path) === true`).
288
+ //
289
+ // IMPORTANT: this must only contain *visible* items. Base-ui's combobox
290
+ // filters `value` through its `itemByValue` map (built from visible items),
291
+ // silently dropping any value whose item isn't present. If we then diffed
292
+ // `onValueChange`'s result against a value that included hidden items, those
293
+ // hidden items would look "removed" and we'd incorrectly deselect them —
294
+ // e.g. expanding `fruits` → strawberry is selected, collapsing fruits and
295
+ // clicking the `fruits` branch would select the subtree but then carve
296
+ // strawberry back out in the second diff loop.
297
+ const value = (0, react_1.useMemo)(() => {
298
+ const result = [];
299
+ for (const item of items) {
300
+ if (selectionState.isNodeSelected(item.path) === true) {
301
+ result.push(item.value);
302
+ }
303
+ }
304
+ return result;
305
+ }, [items, selectionState]);
306
+ const valueSet = (0, react_1.useMemo)(() => new Set(value), [value]);
307
+ // Translate combobox value changes into TreeSelectionState mutations:
308
+ // clicking a branch selects the whole subtree, clicking a leaf toggles
309
+ // just that leaf, and Select All / Select None take the fast path.
310
+ const { onValueChange: onValueChangeFromProps } = props;
311
+ const onValueChange = (0, react_1.useCallback)((nextValues) => {
312
+ const next = new InfiniteTable_1.TreeSelectionState(internalSelection, {
313
+ treePaths,
314
+ strictCheckPaths: false,
175
315
  });
176
- }, []);
177
- const getSize = (0, useLatest_1.useLatest)(size);
178
- (0, react_1.useEffect)(() => {
179
- if (!getSize().height) {
180
- setHeight(rowCount * 35);
316
+ if (nextValues.length === 0) {
317
+ next.deselectAll();
181
318
  }
182
- }, [rowCount]);
183
- const setVisible = (visible) => {
184
- if (visible) {
185
- const { onMenuOpen } = getProps();
186
- if (onMenuOpen) {
187
- onMenuOpen();
319
+ else {
320
+ const nextSet = new Set(nextValues);
321
+ for (const key of nextSet) {
322
+ if (!valueSet.has(key)) {
323
+ next.setNodeSelection(decodePath(key), true);
324
+ }
325
+ }
326
+ for (const key of valueSet) {
327
+ if (!nextSet.has(key)) {
328
+ next.setNodeSelection(decodePath(key), false);
329
+ }
188
330
  }
189
- requestAnimationFrame(() => {
190
- doSetVisible(visible);
331
+ }
332
+ setInternalSelection(next.getState());
333
+ onValueChangeFromProps?.(next.getSelectedLeafNodePaths());
334
+ }, [internalSelection, treePaths, valueSet, onValueChangeFromProps]);
335
+ // --- Filtering: search query narrows the flattened items ---------------
336
+ // Keep a node visible when:
337
+ // 1. its own label matches the query, or
338
+ // 2. any ancestor's label matches (so a whole matching subtree shows
339
+ // alongside the branch the user typed), or
340
+ // 3. any descendant's label matches (so parents of a deeply-nested match
341
+ // stay in the list to convey the hierarchy, even if they were
342
+ // collapsed when the search started).
343
+ //
344
+ // Rule (3) relies on `matchAncestorKeys`, which contains every ancestor of
345
+ // every match. Combined with `items` returning the full flattened tree when
346
+ // `searchQuery` is non-empty, this lets us surface matches buried inside
347
+ // collapsed branches without implicitly expanding them.
348
+ const filter = (0, react_1.useCallback)((item, query) => {
349
+ const q = query.toLowerCase();
350
+ if (item.textLabel.toLowerCase().includes(q)) {
351
+ return true;
352
+ }
353
+ for (let i = 1; i < item.path.length; i++) {
354
+ const anc = nodeByKey.get(encodePath(item.path.slice(0, i)));
355
+ if (anc && anc.label.toLowerCase().includes(q)) {
356
+ return true;
357
+ }
358
+ }
359
+ if (matchAncestorKeys?.has(encodePath(item.path))) {
360
+ return true;
361
+ }
362
+ return false;
363
+ }, [nodeByKey, matchAncestorKeys]);
364
+ // --- Chips: one per selected leaf path (mirrors withSelectedLeafNodesOnly)
365
+ const selectedLeafPaths = (0, react_1.useMemo)(() => {
366
+ return selectionState.getSelectedLeafNodePaths();
367
+ }, [selectionState]);
368
+ const { toDisplayValue, showClear } = props;
369
+ const chipLabelForPath = (0, react_1.useCallback)((path) => {
370
+ if (toDisplayValue) {
371
+ return toDisplayValue([path]);
372
+ }
373
+ return path
374
+ .map((segment, idx) => {
375
+ const anc = nodeByKey.get(encodePath(path.slice(0, idx + 1)));
376
+ return anc ? anc.label : String(segment);
377
+ })
378
+ .join('-');
379
+ }, [nodeByKey, toDisplayValue]);
380
+ // Deselect a single leaf path. Used by chip remove buttons — we can't rely on
381
+ // base-ui's built-in `ChipRemove` because the combobox's `selectedValue`
382
+ // contains both branches and leaves, so index-based removal would typically
383
+ // target a branch and collapse its entire subtree.
384
+ const deselectLeafPath = (0, react_1.useCallback)((path) => {
385
+ const next = new InfiniteTable_1.TreeSelectionState(internalSelection, {
386
+ treePaths,
387
+ strictCheckPaths: false,
388
+ });
389
+ next.setNodeSelection(path, false);
390
+ setInternalSelection(next.getState());
391
+ onValueChangeFromProps?.(next.getSelectedLeafNodePaths());
392
+ }, [internalSelection, treePaths, onValueChangeFromProps]);
393
+ const showRemoveChip = showClear !== false;
394
+ const { renderSelectedValues } = props;
395
+ const renderInputValues = (0, react_1.useCallback)(() => {
396
+ // Callers can swap out the default chip rendering (see
397
+ // `GridFilterTreeDropdown` which renders a comma-separated summary).
398
+ if (renderSelectedValues) {
399
+ return renderSelectedValues({
400
+ selectedLeafPaths,
401
+ getLabelForPath: chipLabelForPath,
191
402
  });
192
403
  }
193
- else {
194
- const { onMenuClose } = getProps();
195
- if (onMenuClose) {
196
- onMenuClose();
404
+ if (selectedLeafPaths.length === 0) {
405
+ return null;
406
+ }
407
+ return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: selectedLeafPaths.map((path) => {
408
+ const key = encodePath(path);
409
+ const labelText = chipLabelForPath(path);
410
+ return ((0, jsx_runtime_1.jsx)(combobox_1.ComboboxChip, { showRemove: showRemoveChip, onRemove: () => deselectLeafPath(path), className: 'twa:overflow-hidden', "aria-label": labelText, children: labelText }, key));
411
+ }) }));
412
+ }, [renderSelectedValues, selectedLeafPaths, chipLabelForPath, showRemoveChip, deselectLeafPath]);
413
+ // --- Tree-aware Select All ----------------------------------------------
414
+ // The built-in Select All reads `selectedItems.length === allItems.length`.
415
+ // Since `allItems` here only contains nodes visible under the current
416
+ // expand state, its tri-state would change as branches are expanded or
417
+ // collapsed. Compute the state from every leaf in the tree instead so it
418
+ // stays stable regardless of what's visible.
419
+ const allLeafPaths = (0, react_1.useMemo)(() => allNodes.filter((n) => !n.hasChildren).map((n) => n.path), [allNodes]);
420
+ const selectAllChecked = (0, react_1.useMemo)(() => {
421
+ if (allLeafPaths.length === 0) {
422
+ return false;
423
+ }
424
+ let selected = 0;
425
+ for (const p of allLeafPaths) {
426
+ if (selectionState.isNodeSelected(p) === true) {
427
+ selected++;
197
428
  }
198
- doSetVisible(visible);
199
429
  }
200
- };
201
- const [treeListApi, setTreeListApi] = (0, react_1.useState)(null);
202
- const { listSizeConstraints } = props;
203
- const nodeMatches = (0, react_1.useCallback)(({ data }) => {
204
- return !searchValue
205
- ? data
206
- : `${data[labelField]}`.toLowerCase().includes(searchValue.toLowerCase());
207
- }, [searchValue]);
208
- const filterFunction = (0, react_1.useCallback)(({ data, filterTreeNode }) => {
209
- if (!Array.isArray(data.children)) {
210
- return nodeMatches({ data });
430
+ if (selected === 0) {
431
+ return false;
432
+ }
433
+ if (selected === allLeafPaths.length) {
434
+ return true;
435
+ }
436
+ return null;
437
+ }, [allLeafPaths, selectionState]);
438
+ const onSelectAllChange = (0, react_1.useCallback)((checked) => {
439
+ const next = new InfiniteTable_1.TreeSelectionState(internalSelection, {
440
+ treePaths,
441
+ strictCheckPaths: false,
442
+ });
443
+ if (checked) {
444
+ next.selectAll();
445
+ }
446
+ else {
447
+ next.deselectAll();
211
448
  }
212
- // allow non-leaf nodes to match
213
- if (nodeMatches({ data })) {
214
- return data;
449
+ setInternalSelection(next.getState());
450
+ onValueChangeFromProps?.(next.getSelectedLeafNodePaths());
451
+ }, [internalSelection, treePaths, onValueChangeFromProps]);
452
+ // --- Search-input trailing slot (Expand All / Collapse All toggle) ------
453
+ const renderSearchInputTrailing = (0, react_1.useCallback)(() => {
454
+ if (branchNodes.length === 0) {
455
+ return null;
215
456
  }
216
- return filterTreeNode(data);
217
- }, [nodeMatches]);
218
- return (React.createElement(Flex_1.Flex, { flexDirection: 'row', className: "ab-TreeDropdown twa:w-full", style: props.style, onMouseDown: props.onMouseDown, onBlur: (e) => {
219
- const { relatedTarget } = e;
220
- const overlayDOMNode = overlayDOMRef.current;
221
- if ((overlayDOMNode && relatedTarget == overlayDOMNode) ||
222
- overlayDOMNode?.contains(relatedTarget)) {
223
- return;
457
+ const title = anyBranchExpanded ? 'Collapse all' : 'Expand all';
458
+ return ((0, jsx_runtime_1.jsx)("button", { type: "button", "data-name": "tree-expand-all-toggle", title: title, "aria-label": title, onMouseDown: (e) => {
459
+ // Keep focus on the search input so typing isn't interrupted.
460
+ e.preventDefault();
461
+ }, onClick: (e) => {
462
+ e.preventDefault();
463
+ toggleExpandAll();
464
+ }, className: (0, utils_1.cn)('ab-NewTreeDropdown-expand-all', 'twa:inline-flex twa:shrink-0 twa:items-center twa:justify-center', 'twa:bg-defaultbackground', 'twa:size-6 twa:rounded-md twa:text-muted-foreground', 'twa:hover:text-foreground twa:hover:bg-ring/50 twa:cursor-pointer'
465
+ // 'twa:-mr-1'
466
+ ), children: anyBranchExpanded ? ((0, jsx_runtime_1.jsx)(lucide_react_1.ChevronsDownUpIcon, { className: "twa:size-4" })) : ((0, jsx_runtime_1.jsx)(lucide_react_1.ChevronsUpDownIcon, { className: "twa:size-4" })) }));
467
+ }, [branchNodes.length, anyBranchExpanded, toggleExpandAll]);
468
+ // --- Open/close callbacks -----------------------------------------------
469
+ const comboboxProps = {
470
+ isLoading,
471
+ items,
472
+ value,
473
+ onValueChange,
474
+ searchable: 'menulist',
475
+ virtualized: true,
476
+ // Built-in Select All's default value is `visibleItems.length === totalCount`,
477
+ // which would swing with expand/collapse. Override it with a tree-aware
478
+ // value/handler computed from the full leaf set so it stays stable.
479
+ showSelectAllCheckbox: true,
480
+ selectAllCheckboxValue: selectAllChecked,
481
+ onSelectAllCheckboxChange: onSelectAllChange,
482
+ // Suppress base-ui's boolean checkbox indicator; `TreeItemLabel` renders
483
+ // its own tri-state checkbox so partially-selected branches display the
484
+ // indeterminate state.
485
+ renderCheckboxIndicator: () => null,
486
+ resizable: props.resizable,
487
+ placeholder: props.placeholder,
488
+ showClear: showRemoveChip,
489
+ renderItemLabel: (defaultLabel) => {
490
+ return defaultLabel;
491
+ },
492
+ filter,
493
+ onInputValueChange: handleSearchInputChange,
494
+ // Reset the search query on close so the next open starts with no active
495
+ // filter narrowing. The expand state itself is intentionally preserved
496
+ // (the user explicitly expanded matches by typing), so re-opening the
497
+ // dropdown keeps the previously-revealed branches open.
498
+ onOpenChange: (open) => {
499
+ if (!open) {
500
+ setSearchQuery('');
224
501
  }
225
- setVisible(false);
226
- } },
227
- React.createElement(NotifyResize_1.default, { onResize: (newSize) => {
228
- setWidth(newSize.width);
229
- } }),
230
- React.createElement(OverlayTrigger_1.default, { visible: visible, targetOffset: 20, alignPosition: [
231
- // overlay - target
232
- ['TopLeft', 'BottomLeft'],
233
- ['TopRight', 'BottomRight'],
234
- ['BottomLeft', 'TopLeft'],
235
- ['BottomRight', 'TopRight'],
236
- ], render: () => {
237
- const minWidth = listSizeConstraints?.minWidth ||
238
- computedCSSVars['--ab-cmp-select-menu__min-width'] ||
239
- 240;
240
- const maxWidth = listSizeConstraints?.maxWidth ||
241
- computedCSSVars['--ab-cmp-select-menu__max-width'] ||
242
- '60vw';
243
- const minHeight = listSizeConstraints?.minHeight || 200;
244
- const maxHeight = listSizeConstraints?.maxHeight ||
245
- computedCSSVars['--ab-cmp-select-menu__max-height'] ||
246
- '50vh';
247
- const resizable = getProps().resizable;
248
- const treeListStyle = resizable
249
- ? { ...sizeFull }
250
- : {
251
- width: size.width,
252
- height: size.height,
253
- maxWidth,
254
- minHeight,
255
- maxHeight,
256
- minWidth,
257
- };
258
- if (!hasChildren) {
259
- // @ts-ignore - don't leave any space for the > expand icon, as there are no children
260
- treeListStyle['--infinite-group-row-column-nesting'] = 'calc(var(--ab-base-space) * 2)';
261
- }
262
- const treeList = (React.createElement(TreeList_1.TreeList, { primaryKey: props.primaryKey ?? 'id', treeFilterFunction: filterFunction, columnHeaderHeight: 30, onReady: ({ api }) => {
263
- setTreeListApi(api);
264
- api.focus();
265
- }, defaultTreeExpandState: treeExpandState, onTreeExpandStateChange: setTreeExpandState, columns: columns, options: props.options, treeSelection: treeSelection, onTreeSelectionChange: (0, InfiniteTable_1.withSelectedLeafNodesOnly)(onChange), style: treeListStyle }));
266
- let children = (React.createElement(Flex_1.Flex, { flexDirection: 'column', className: "twa:h-full" },
267
- React.createElement(Flex_1.Flex, { className: "twa:bg-defaultbackground twa:p-1 twa:items-center twa:justify-stretch twa:justify-items-stretch" },
268
- React.createElement(Input_1.default, { "data-name": "menulist-search-input", placeholder: "Search...", style: { width: '100%' }, value: searchValue, onChange: (e) => setSearchValue(e.target.value) })),
269
- treeList));
270
- if (resizable) {
271
- const onResizeStop = (_e, _direction, ref) => {
272
- const newSize = {
273
- width: ref.style.width,
274
- height: ref.style.height,
275
- };
276
- setSize(newSize);
277
- };
278
- children = (React.createElement(re_resizable_1.Resizable, { enable: resizableDirections, minWidth: minWidth, maxWidth: maxWidth, minHeight: minHeight, maxHeight: maxHeight, defaultSize: size, onResizeStop: onResizeStop, onResizeStart: (e) => {
279
- // in order to prevent focus from being lost
280
- e.preventDefault();
281
- } }, children));
282
- }
283
- return (React.createElement(Flex_1.Box, { ref: overlayDOMRef, className: "ab-TreeDropdownOverlay", "data-name": "menu-container", style: {
284
- fontSize: 'var(--ab-cmp-select__font-size)',
285
- } }, children));
286
- } },
287
- React.createElement(FieldWrap_1.default, { style: props.fieldStyle, className: "twa:w-full" },
288
- React.createElement(Input_1.default, { type: "text", readOnly: true, "data-name": "Select Values", "aria-expanded": visible, placeholder: props.placeholder ?? 'Select...', className: `twa:w-full ${props.clearable ? 'twa:pr-0' : ''}`, value: props.toDisplayValue ? props.toDisplayValue(value) : toDisplayValueDefault(value), onFocus: () => {
289
- if (!visible) {
290
- setVisible(true);
291
- }
292
- treeListApi?.focus();
293
- } }),
294
- props.clearable && (React.createElement(SimpleButton_1.default, { style: {
295
- visibility: Array.isArray(value) && value.length > 0 ? 'visible' : 'hidden',
296
- }, variant: "text", icon: "close", onClick: () => onChange({ selectedPaths: [] }) }))))));
502
+ props.onOpenChange?.(open);
503
+ },
504
+ renderInputValues,
505
+ renderSearchInputTrailing,
506
+ className: (0, clsx_1.default)('ab-NewTreeDropdown', props.className),
507
+ };
508
+ return (
509
+ // <div
510
+ // className={clsx('ab-NewTreeDropdown-wrap', 'twa:w-full')}
511
+ // style={{ ...props.fieldStyle, ...props.style }}
512
+ // onMouseDown={props.onMouseDown}
513
+ // >
514
+ // </div>
515
+ ((0, jsx_runtime_1.jsx)(Combobox_1.MultiCombobox, { ...comboboxProps }))
516
+ );
517
+ }
518
+ function GridFilterTreeDropdown(props) {
519
+ const { showSelectedCount = false, placeholder = 'Select...', className, ...rest } = props;
520
+ const renderSelectedValues = (0, react_1.useCallback)(({ selectedLeafPaths, getLabelForPath }) => {
521
+ let children;
522
+ if (selectedLeafPaths.length === 0) {
523
+ children = ((0, jsx_runtime_1.jsx)("span", { "data-name": "placeholder", className: "twa:text-muted-foreground", children: placeholder }));
524
+ }
525
+ else {
526
+ children = selectedLeafPaths.map((path) => getLabelForPath(path)).join(', ');
527
+ }
528
+ return ((0, jsx_runtime_1.jsxs)("div", { className: "twa:text-ellipsis twa:overflow-hidden twa:whitespace-nowrap twa:flex-1000", "data-slot": "combobox-selected-values", children: [showSelectedCount && selectedLeafPaths.length > 0 && ((0, jsx_runtime_1.jsxs)("span", { "data-name": "multiple-values-count", className: "twa:mr-0.5", children: ["(", selectedLeafPaths.length, ")"] })), children] }));
529
+ }, [placeholder, showSelectedCount]);
530
+ const mergedClassName = (0, utils_1.cn)(
531
+ // Match the restyling GridFilterCombobox uses: remove the field border,
532
+ // flatten the shadow and absolutely position so the component fits the
533
+ // grid's floating-filter input box.
534
+ 'twa:[.ab-FloatingFilter_&]:border-none twa:[.ab-FloatingFilter_&]:inset-y-0.5 twa:[.ab-FloatingFilter_&]:inset-x-0 twa:[.ab-FloatingFilter_&]:absolute twa:[.ab-FloatingFilter_&]:shadow-none twa:[.ab-FloatingFilter_&]:min-h-auto!', className);
535
+ return ((0, jsx_runtime_1.jsx)(TreeDropdown, { ...rest, placeholder: placeholder, className: mergedClassName, showClear: rest.showClear ?? false, resizable: rest.resizable ?? true, renderSelectedValues: renderSelectedValues }));
297
536
  }