@adaptabletools/adaptable 22.1.1 → 23.0.0-canary.1

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