@adaptabletools/adaptable 23.0.0-canary.1 → 23.0.0-canary.10

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 (755) hide show
  1. package/icons/sort-asc.svg +1 -1
  2. package/index.css +1038 -439
  3. package/package.json +9 -4
  4. package/src/AdaptableOptions/DataSetOptions.d.ts +26 -2
  5. package/src/AdaptableOptions/DefaultAdaptableOptions.js +0 -5
  6. package/src/AdaptableOptions/EditOptions.d.ts +2 -2
  7. package/src/AdaptableOptions/FilterOptions.d.ts +0 -7
  8. package/src/AdaptableOptions/SettingsPanelOptions.d.ts +42 -10
  9. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +1 -3
  10. package/src/{Utilities → AdaptableState/Aggregations}/weightedAverage.js +1 -1
  11. package/src/AdaptableState/Common/AdaptableForm.d.ts +18 -1
  12. package/src/AdaptableState/Common/AdaptableForm.js +31 -0
  13. package/src/AdaptableState/Common/AdaptableFormat.d.ts +8 -1
  14. package/src/AdaptableState/Common/AdaptableMessageType.d.ts +1 -1
  15. package/src/AdaptableState/Common/AggregationColumns.d.ts +14 -6
  16. package/src/AdaptableState/Common/AggregationColumns.js +27 -2
  17. package/src/AdaptableState/Common/CellDataChangedInfo.d.ts +3 -2
  18. package/src/AdaptableState/Common/ColumnScope.d.ts +4 -0
  19. package/src/AdaptableState/Common/Enums.d.ts +6 -23
  20. package/src/AdaptableState/Common/Enums.js +5 -26
  21. package/src/{Utilities → AdaptableState/Common}/MenuItem.d.ts +4 -4
  22. package/src/{Utilities → AdaptableState/Common}/MenuItem.js +1 -1
  23. package/src/AdaptableState/LayoutState.d.ts +5 -4
  24. package/src/AdaptableState/PlusMinusState.d.ts +3 -3
  25. package/src/AdaptableState/ShortcutState.d.ts +2 -6
  26. package/src/AdaptableState/StyledColumnState.d.ts +8 -861
  27. package/src/AdaptableState/StyledColumns/BadgeStyle.d.ts +143 -0
  28. package/src/AdaptableState/StyledColumns/BadgeStyle.js +9 -0
  29. package/src/AdaptableState/StyledColumns/BulletChartStyle.d.ts +147 -0
  30. package/src/AdaptableState/StyledColumns/Common/BarStyleProperties.d.ts +84 -0
  31. package/src/AdaptableState/StyledColumns/Common/BarStyleProperties.js +5 -0
  32. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.d.ts +13 -0
  33. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.js +6 -0
  34. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.d.ts +79 -0
  35. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.js +9 -0
  36. package/src/AdaptableState/StyledColumns/GradientStyle.d.ts +48 -0
  37. package/src/AdaptableState/StyledColumns/GradientStyle.js +1 -0
  38. package/src/AdaptableState/StyledColumns/IconStyle.d.ts +158 -0
  39. package/src/AdaptableState/StyledColumns/IconStyle.js +1 -0
  40. package/src/AdaptableState/StyledColumns/PercentBarStyle.d.ts +32 -0
  41. package/src/AdaptableState/StyledColumns/PercentBarStyle.js +1 -0
  42. package/src/AdaptableState/StyledColumns/RangeBarStyle.d.ts +155 -0
  43. package/src/AdaptableState/StyledColumns/RangeBarStyle.js +1 -0
  44. package/src/AdaptableState/StyledColumns/RatingStyle.d.ts +111 -0
  45. package/src/AdaptableState/StyledColumns/RatingStyle.js +1 -0
  46. package/src/AdaptableState/StyledColumns/SparklineStyle.d.ts +21 -0
  47. package/src/AdaptableState/StyledColumns/SparklineStyle.js +1 -0
  48. package/src/AdaptableState/ThemeState.d.ts +33 -28
  49. package/src/Api/ColumnScopeApi.d.ts +1 -1
  50. package/src/Api/EventApi.d.ts +15 -2
  51. package/src/Api/Events/ReportScheduleRan.d.ts +4 -0
  52. package/src/Api/Events/ThemeChanged.d.ts +6 -0
  53. package/src/Api/Events/ThemeSelected.d.ts +11 -0
  54. package/src/Api/Events/ThemeSelected.js +1 -0
  55. package/src/Api/Implementation/AlertApiImpl.js +1 -1
  56. package/src/Api/Implementation/ChartingApiImpl.js +1 -1
  57. package/src/Api/Implementation/ColumnScopeApiImpl.d.ts +1 -1
  58. package/src/Api/Implementation/EventApiImpl.js +4 -0
  59. package/src/Api/Implementation/ExportApiImpl.js +1 -1
  60. package/src/Api/Implementation/LayoutApiImpl.d.ts +0 -2
  61. package/src/Api/Implementation/LayoutApiImpl.js +0 -14
  62. package/src/Api/Implementation/LayoutHelpers.d.ts +2 -0
  63. package/src/Api/Implementation/LayoutHelpers.js +30 -8
  64. package/src/Api/Implementation/QuickSearchApiImpl.js +1 -1
  65. package/src/Api/Implementation/ThemeApiImpl.d.ts +3 -2
  66. package/src/Api/Implementation/ThemeApiImpl.js +19 -15
  67. package/src/Api/Internal/ActionColumnInternalApi.js +1 -1
  68. package/src/Api/Internal/AlertInternalApi.js +2 -2
  69. package/src/Api/Internal/ChartingInternalApi.js +1 -1
  70. package/src/Api/Internal/ColumnInternalApi.js +1 -1
  71. package/src/Api/Internal/DataSetInternalApi.d.ts +3 -0
  72. package/src/Api/Internal/DataSetInternalApi.js +73 -13
  73. package/src/Api/Internal/EventInternalApi.d.ts +2 -0
  74. package/src/Api/Internal/EventInternalApi.js +11 -3
  75. package/src/Api/Internal/ExportInternalApi.js +1 -1
  76. package/src/Api/Internal/FormatColumnInternalApi.js +1 -1
  77. package/src/Api/Internal/GridInternalApi.js +1 -1
  78. package/src/Api/Internal/StyledColumnInternalApi.d.ts +7 -5
  79. package/src/Api/Internal/StyledColumnInternalApi.js +5 -5
  80. package/src/Api/Internal/ThemeInternalApi.d.ts +0 -1
  81. package/src/Api/Internal/ThemeInternalApi.js +0 -10
  82. package/src/Api/LayoutApi.d.ts +1 -8
  83. package/src/Api/ThemeApi.d.ts +6 -2
  84. package/src/Redux/ActionsReducers/ExportRedux.js +1 -1
  85. package/src/Redux/ActionsReducers/InternalRedux.js +1 -1
  86. package/src/Redux/ActionsReducers/ThemeRedux.d.ts +3 -3
  87. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +1 -1
  88. package/src/Redux/Store/AdaptableReduxMerger.js +2 -4
  89. package/src/Redux/Store/AdaptableStore.js +9 -7
  90. package/src/Strategy/AdaptableModuleBase.d.ts +1 -1
  91. package/src/Strategy/AdaptableModuleBase.js +1 -1
  92. package/src/Strategy/AlertModule.d.ts +1 -1
  93. package/src/Strategy/AlertModule.js +2 -2
  94. package/src/Strategy/BulkUpdateModule.d.ts +1 -1
  95. package/src/Strategy/CalculatedColumnModule.d.ts +2 -2
  96. package/src/Strategy/CalculatedColumnModule.js +4 -1
  97. package/src/Strategy/CellSummaryModule.d.ts +2 -2
  98. package/src/Strategy/ChartingModule.d.ts +1 -1
  99. package/src/Strategy/ChartingModule.js +1 -1
  100. package/src/Strategy/ColumnFilterModule.js +1 -0
  101. package/src/Strategy/ColumnInfoModule.d.ts +2 -2
  102. package/src/Strategy/CommentModule.d.ts +1 -1
  103. package/src/Strategy/CustomSortModule.d.ts +1 -1
  104. package/src/Strategy/ExportModule.js +2 -2
  105. package/src/Strategy/FlashingCellModule.d.ts +1 -1
  106. package/src/Strategy/FlashingCellModule.js +6 -2
  107. package/src/Strategy/FormatColumnModule.js +15 -8
  108. package/src/Strategy/FreeTextColumnModule.d.ts +1 -1
  109. package/src/Strategy/FreeTextColumnModule.js +38 -28
  110. package/src/Strategy/GridInfoModule.d.ts +2 -2
  111. package/src/Strategy/Interface/IModule.d.ts +3 -1
  112. package/src/Strategy/LayoutModule.js +16 -62
  113. package/src/Strategy/NoteModule.d.ts +1 -1
  114. package/src/Strategy/PlusMinusModule.d.ts +1 -1
  115. package/src/Strategy/PlusMinusModule.js +1 -1
  116. package/src/Strategy/SettingsPanelModule.d.ts +2 -2
  117. package/src/Strategy/SmartEditModule.d.ts +1 -1
  118. package/src/Strategy/StyledColumnModule.js +68 -57
  119. package/src/Strategy/SystemStatusModule.d.ts +2 -2
  120. package/src/Strategy/TeamSharingModule.js +2 -2
  121. package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.d.ts +1 -0
  122. package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.js +1 -0
  123. package/src/Strategy/Utilities/Export/getExportColumnsViewItems.d.ts +2 -0
  124. package/src/Strategy/Utilities/Export/getExportColumnsViewItems.js +14 -0
  125. package/src/Strategy/Utilities/Export/getExportRowsViewItems.d.ts +1 -0
  126. package/src/Strategy/Utilities/Export/getExportRowsViewItems.js +3 -0
  127. package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.d.ts +11 -0
  128. package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.js +105 -0
  129. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.d.ts +48 -0
  130. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.js +166 -0
  131. package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.d.ts +1 -0
  132. package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.js +1 -0
  133. package/src/Strategy/Utilities/Layout/rowGroupSummaryHelpers.d.ts +26 -0
  134. package/src/Strategy/Utilities/Layout/rowGroupSummaryHelpers.js +85 -0
  135. package/src/Utilities/Constants/ReduxConstants.d.ts +2 -2
  136. package/src/Utilities/Constants/ReduxConstants.js +1 -14
  137. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +1 -1
  138. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +1 -1
  139. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +1 -1
  140. package/src/Utilities/Extensions/ArrayExtensions.d.ts +32 -0
  141. package/src/Utilities/Extensions/ArrayExtensions.js +49 -0
  142. package/src/Utilities/Extensions/NumberExtensions.d.ts +21 -0
  143. package/src/Utilities/Extensions/NumberExtensions.js +74 -0
  144. package/src/Utilities/Extensions/ObjectExtensions.d.ts +44 -0
  145. package/src/Utilities/Extensions/ObjectExtensions.js +271 -0
  146. package/src/Utilities/Extensions/StringExtensions.d.ts +26 -0
  147. package/src/Utilities/Extensions/StringExtensions.js +44 -1
  148. package/src/Utilities/Helpers/AdaptableHelper.js +2 -2
  149. package/src/Utilities/Helpers/{alertFormHelper.js → AlertHelper.js} +1 -1
  150. package/src/Utilities/Helpers/DateHelper.js +1 -1
  151. package/src/Utilities/Helpers/{FormatHelper.js → DisplayFormatHelper.js} +24 -2
  152. package/src/Utilities/Helpers/Helper.d.ts +0 -6
  153. package/src/Utilities/Helpers/Helper.js +0 -35
  154. package/src/Utilities/Helpers/{QuickSearchStyleHelper.js → QuickSearchHelper.js} +1 -1
  155. package/src/Utilities/Helpers/{ScheduleHelper.d.ts → Scheduling/ScheduleHelper.d.ts} +1 -1
  156. package/src/Utilities/Helpers/{ScheduleHelper.js → Scheduling/ScheduleHelper.js} +3 -1
  157. package/src/Utilities/Helpers/{ScheduleJobManager.d.ts → Scheduling/ScheduleJobManager.d.ts} +1 -1
  158. package/src/Utilities/Helpers/{ScheduleJobRunner.d.ts → Scheduling/ScheduleJobRunner.d.ts} +1 -1
  159. package/src/Utilities/Helpers/{ScheduledAlertHelper.d.ts → Scheduling/ScheduledAlertHelper.d.ts} +1 -1
  160. package/src/Utilities/Helpers/{ScheduledAlertHelper.js → Scheduling/ScheduledAlertHelper.js} +4 -4
  161. package/src/Utilities/Helpers/{ScheduledJobsMiddlewareHelper.d.ts → Scheduling/ScheduledJobsMiddlewareHelper.d.ts} +1 -1
  162. package/src/Utilities/Helpers/{ScheduledJobsMiddlewareHelper.js → Scheduling/ScheduledJobsMiddlewareHelper.js} +1 -1
  163. package/src/Utilities/Helpers/{ScheduledReportHelper.d.ts → Scheduling/ScheduledReportHelper.d.ts} +1 -1
  164. package/src/Utilities/Helpers/{ScheduledReportHelper.js → Scheduling/ScheduledReportHelper.js} +1 -1
  165. package/src/Utilities/Helpers/SettingsPanelHelper.d.ts +5 -0
  166. package/src/Utilities/Helpers/SettingsPanelHelper.js +61 -0
  167. package/src/Utilities/Helpers/StyleHelper.d.ts +18 -0
  168. package/src/Utilities/Helpers/StyleHelper.js +27 -0
  169. package/src/Utilities/Helpers/StyledColumns/BarStylesHelper.d.ts +63 -0
  170. package/src/Utilities/Helpers/StyledColumns/BarStylesHelper.js +317 -0
  171. package/src/Utilities/Helpers/StyledColumns/GradientStyleHelper.d.ts +54 -0
  172. package/src/Utilities/Helpers/StyledColumns/GradientStyleHelper.js +247 -0
  173. package/src/Utilities/Helpers/{IconStylePresets.d.ts → StyledColumns/IconStyleHelper.d.ts} +6 -1
  174. package/src/Utilities/Helpers/{IconStylePresets.js → StyledColumns/IconStyleHelper.js} +15 -0
  175. package/src/Utilities/Helpers/StyledColumns/PercentBarStyleHelper.d.ts +20 -0
  176. package/src/Utilities/Helpers/StyledColumns/PercentBarStyleHelper.js +138 -0
  177. package/src/Utilities/Helpers/StyledColumns/SparklineStyleHelper.d.ts +7 -0
  178. package/src/Utilities/Helpers/StyledColumns/SparklineStyleHelper.js +65 -0
  179. package/src/Utilities/Helpers/StyledColumns/StyledColumnHelper.d.ts +52 -0
  180. package/src/{agGrid/cellRenderers/shouldRenderStyledColumnOnRow.js → Utilities/Helpers/StyledColumns/StyledColumnHelper.js} +64 -2
  181. package/src/Utilities/Helpers/ThemeHelper.d.ts +5 -0
  182. package/src/Utilities/Helpers/ThemeHelper.js +38 -0
  183. package/src/Utilities/Helpers/TimingHelper.d.ts +34 -0
  184. package/src/Utilities/{utils/debounce.js → Helpers/TimingHelper.js} +23 -9
  185. package/src/Utilities/ObjectFactory.d.ts +1 -3
  186. package/src/Utilities/ObjectFactory.js +1 -9
  187. package/src/Utilities/Services/CalculatedColumnExpressionService.d.ts +3 -0
  188. package/src/Utilities/Services/CalculatedColumnExpressionService.js +120 -0
  189. package/src/Utilities/Services/Interface/ICalculatedColumnExpressionService.d.ts +1 -0
  190. package/src/Utilities/Services/LicenseService/index.js +1 -1
  191. package/src/Utilities/Services/RowSummaryService.d.ts +1 -1
  192. package/src/Utilities/Services/RowSummaryService.js +4 -4
  193. package/src/Utilities/Services/ThemeService.js +1 -1
  194. package/src/Utilities/getScopeViewItems.js +2 -0
  195. package/src/Utilities/wizardSelection.d.ts +10 -0
  196. package/src/Utilities/wizardSelection.js +15 -0
  197. package/src/View/AdaptablePopover/index.js +1 -1
  198. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +2 -2
  199. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +1 -1
  200. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +2 -2
  201. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +3 -3
  202. package/src/View/Alert/AlertViewPanel.js +2 -2
  203. package/src/View/Alert/Utilities/getAlertButtonStyle.js +7 -4
  204. package/src/View/Alert/Utilities/getAlertType.js +1 -1
  205. package/src/View/Alert/Utilities/getDefaultAlertDefinition.js +1 -1
  206. package/src/View/Alert/Utilities/mapAlertDefinition.js +1 -1
  207. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.d.ts +0 -1
  208. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +18 -21
  209. package/src/View/Alert/Wizard/AlertButtonsEditor.js +170 -125
  210. package/src/View/Alert/Wizard/AlertMessageWizardSection.d.ts +1 -1
  211. package/src/View/Alert/Wizard/AlertMessageWizardSection.js +14 -16
  212. package/src/View/Alert/Wizard/AlertNotificationWizardSection.d.ts +1 -1
  213. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +60 -61
  214. package/src/View/Alert/Wizard/AlertRulesWizardSection.js +4 -3
  215. package/src/View/Alert/Wizard/AlertScheduledWizardSection.d.ts +1 -1
  216. package/src/View/Alert/Wizard/AlertScheduledWizardSection.js +4 -5
  217. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +32 -40
  218. package/src/View/Alert/Wizard/AlertTypeWizardSection.d.ts +1 -1
  219. package/src/View/Alert/Wizard/AlertTypeWizardSection.js +30 -7
  220. package/src/View/Alert/Wizard/AlertWizard.js +14 -6
  221. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.d.ts +2 -1
  222. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +4 -14
  223. package/src/View/Alert/Wizard/isValidAlertRules.js +1 -1
  224. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  225. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +4 -6
  226. package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +9 -13
  227. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.d.ts +1 -1
  228. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +31 -19
  229. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +7 -9
  230. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +31 -5
  231. package/src/View/CellSummary/CellSummaryViewPanel.js +5 -5
  232. package/src/View/Charting/ChartingWizard/AgChargingWizard/AgChargingWizard.js +3 -10
  233. package/src/View/Charting/ChartingWizard/AgChargingWizard/PreviewChartSection.js +2 -2
  234. package/src/View/Charting/ChartingWizard/AgChargingWizard/SettingsSection.js +36 -53
  235. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/ExternalChartingWizard.js +4 -31
  236. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/PreviewChartSection.d.ts +5 -0
  237. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/PreviewChartSection.js +21 -0
  238. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.d.ts +1 -0
  239. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.js +11 -8
  240. package/src/View/Charting/ShowChartButton.js +8 -8
  241. package/src/View/ColumnInfo/ColumnInfo.js +21 -1
  242. package/src/View/Comments/CommentsEditor.js +2 -2
  243. package/src/View/Comments/CommentsPopup.js +1 -1
  244. package/src/View/Components/AdaptableObjectCollection/index.js +2 -2
  245. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +3 -2
  246. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +7 -6
  247. package/src/View/Components/AdaptableObjectList/objectListActionButtonStyles.d.ts +2 -0
  248. package/src/View/Components/AdaptableObjectList/objectListActionButtonStyles.js +2 -0
  249. package/src/View/Components/AdaptableObjectRow/index.js +2 -2
  250. package/src/View/Components/Buttons/ButtonBase/index.js +2 -3
  251. package/src/View/Components/Buttons/ButtonInfo.d.ts +1 -1
  252. package/src/View/Components/Buttons/ButtonInfo.js +4 -3
  253. package/src/View/Components/Buttons/ButtonNew.d.ts +2 -0
  254. package/src/View/Components/Buttons/ButtonNew.js +1 -1
  255. package/src/View/Components/Buttons/EntityListActionButtons.js +3 -3
  256. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -0
  257. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +9 -9
  258. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +1 -1
  259. package/src/View/Components/ColumnFilter/ColumnFilter.js +29 -7
  260. package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +1 -1
  261. package/src/View/Components/ColumnFilter/FloatingFilter.js +58 -60
  262. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +1 -2
  263. package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +4 -2
  264. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +2 -2
  265. package/src/View/Components/ColumnFilter/components/FloatingFilterInputList.js +1 -1
  266. package/src/View/Components/ColumnSelector/index.d.ts +12 -0
  267. package/src/View/Components/ColumnSelector/index.js +30 -6
  268. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +2 -2
  269. package/src/View/Components/FilterForm/ListBoxFilterForm.js +1 -1
  270. package/src/View/Components/Forms/AdaptableFormControlTextClear.js +4 -2
  271. package/src/View/Components/ModuleProfile.js +1 -1
  272. package/src/View/Components/ModuleValueSelector/index.js +2 -1
  273. package/src/View/Components/NewScopeComponent.js +4 -9
  274. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +5 -4
  275. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +4 -4
  276. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +3 -3
  277. package/src/View/Components/Popups/AdaptablePopup/Navigation.d.ts +3 -2
  278. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +38 -28
  279. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +3 -3
  280. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +2 -2
  281. package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.d.ts +11 -0
  282. package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.js +1 -0
  283. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +3 -1
  284. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +25 -27
  285. package/src/View/Components/Popups/AdaptablePopupAlert.js +1 -1
  286. package/src/View/Components/Popups/Utilities.js +1 -1
  287. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +0 -1
  288. package/src/View/Components/Popups/WindowPopups/windowFactory.js +0 -1
  289. package/src/View/Components/PredicateEditor/PredicateEditor.js +1 -1
  290. package/src/View/Components/RangesComponent.d.ts +13 -9
  291. package/src/View/Components/RangesComponent.js +182 -85
  292. package/src/View/Components/ReorderDraggable/index.js +2 -2
  293. package/src/View/Components/Selectors/BulkUpdateValueSelector.d.ts +0 -2
  294. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +3 -3
  295. package/src/View/Components/Selectors/ColumnSelector.js +5 -0
  296. package/src/View/Components/StyleComponent.d.ts +1 -0
  297. package/src/View/Components/StyleComponent.js +32 -65
  298. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +11 -8
  299. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +1 -1
  300. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +3 -13
  301. package/src/View/Components/ToolPanel/ToolPanelPopup.js +5 -81
  302. package/src/View/Components/ToolPanel/ToolPanelPopupSections.d.ts +17 -0
  303. package/src/View/Components/ToolPanel/ToolPanelPopupSections.js +79 -0
  304. package/src/View/Components/ValueSelector/index.d.ts +29 -0
  305. package/src/View/Components/ValueSelector/index.js +158 -62
  306. package/src/View/Components/wizardColumnListStyles.d.ts +10 -0
  307. package/src/View/Components/wizardColumnListStyles.js +10 -0
  308. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.d.ts +2 -1
  309. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +12 -19
  310. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +8 -8
  311. package/src/View/CustomSort/Wizard/CustomSortWizard.js +2 -2
  312. package/src/View/Dashboard/CustomDashboardButton.js +1 -1
  313. package/src/View/Dashboard/Dashboard.js +1 -1
  314. package/src/View/Dashboard/DashboardPopup.d.ts +1 -11
  315. package/src/View/Dashboard/DashboardPopup.js +3 -67
  316. package/src/View/Dashboard/DashboardPopupSections.d.ts +20 -0
  317. package/src/View/Dashboard/DashboardPopupSections.js +68 -0
  318. package/src/View/Dashboard/PinnedToolbarsSelector.js +2 -2
  319. package/src/View/DataChangeHistory/DataChangeHistoryPopup.d.ts +1 -6
  320. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +9 -21
  321. package/src/View/DataChangeHistory/DataChangeHistoryTable.d.ts +8 -0
  322. package/src/View/DataChangeHistory/DataChangeHistoryTable.js +94 -0
  323. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +1 -1
  324. package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +5 -3
  325. package/src/View/DataChangeHistory/buildActionColumnButton.js +30 -39
  326. package/src/View/DataChangeHistory/dataChangeHistoryHelpers.d.ts +15 -0
  327. package/src/View/DataChangeHistory/dataChangeHistoryHelpers.js +37 -0
  328. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
  329. package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +42 -30
  330. package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +2 -2
  331. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadSection.js +6 -4
  332. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadTextSection.js +3 -2
  333. package/src/View/DataImport/DataImportWizard/sections/ValidationSection.js +5 -15
  334. package/src/View/DataSet/DataSetViewPanel.d.ts +2 -2
  335. package/src/View/Export/ExportDestinationPicker.js +3 -3
  336. package/src/View/Export/ExportSchedulesTab.js +3 -4
  337. package/src/View/Export/ExportViewPanel.js +2 -2
  338. package/src/View/Export/Wizard/ReportColumnsWizardSection.d.ts +2 -1
  339. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +28 -35
  340. package/src/View/Export/Wizard/ReportNameWizardSection.js +10 -13
  341. package/src/View/Export/Wizard/ReportRowsWizardSection.d.ts +2 -1
  342. package/src/View/Export/Wizard/ReportRowsWizardSection.js +23 -28
  343. package/src/View/Export/Wizard/ScheduledReportSettings.d.ts +2 -0
  344. package/src/View/Export/Wizard/ScheduledReportSettings.js +13 -13
  345. package/src/View/Export/Wizard/ScheduledReportWizard.js +4 -5
  346. package/src/View/Filter/FilterViewPanel.js +1 -1
  347. package/src/View/FlashingCell/FlashingCellStyle.d.ts +4 -2
  348. package/src/View/FlashingCell/FlashingCellStyle.js +4 -2
  349. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.d.ts +2 -1
  350. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +15 -17
  351. package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.d.ts +9 -0
  352. package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.js +5 -0
  353. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.d.ts +1 -1
  354. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +25 -23
  355. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +20 -11
  356. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +0 -5
  357. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +22 -10
  358. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +6 -7
  359. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +8 -1
  360. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +200 -38
  361. package/src/View/FormatColumn/Wizard/FormatColumnPreview.d.ts +15 -0
  362. package/src/View/FormatColumn/Wizard/FormatColumnPreview.js +66 -0
  363. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +3 -0
  364. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +26 -0
  365. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +69 -28
  366. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +2 -2
  367. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +3 -2
  368. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +62 -16
  369. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +11 -14
  370. package/src/View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags.d.ts +2 -0
  371. package/src/View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags.js +16 -0
  372. package/src/View/FreeTextColumn/Wizard/FreeTextColumnDefinitionWizardSection.d.ts +10 -0
  373. package/src/View/FreeTextColumn/Wizard/FreeTextColumnDefinitionWizardSection.js +53 -0
  374. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.d.ts +2 -3
  375. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +33 -69
  376. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +15 -11
  377. package/src/View/GridFilter/GridFilterPopupUI/index.js +3 -2
  378. package/src/View/GridFilter/GridFilterViewPanel.js +6 -6
  379. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +2 -2
  380. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -2
  381. package/src/View/Layout/LayoutCloneButton.js +2 -1
  382. package/src/View/Layout/LayoutViewPanel.js +25 -23
  383. package/src/View/Layout/TransposedPopup.js +2 -2
  384. package/src/View/Layout/Wizard/LayoutWizard.js +27 -31
  385. package/src/View/Layout/Wizard/sections/AggregationsSection.d.ts +15 -4
  386. package/src/View/Layout/Wizard/sections/AggregationsSection.js +168 -39
  387. package/src/View/Layout/Wizard/sections/ColumnsSection.d.ts +4 -1
  388. package/src/View/Layout/Wizard/sections/ColumnsSection.js +156 -277
  389. package/src/View/Layout/Wizard/sections/FilterSection.js +31 -32
  390. package/src/View/Layout/Wizard/sections/GridFilterSection.js +11 -11
  391. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.d.ts +5 -3
  392. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +200 -148
  393. package/src/View/Layout/Wizard/sections/PivotColumnsSection.d.ts +5 -2
  394. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +26 -13
  395. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.d.ts +4 -1
  396. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +25 -14
  397. package/src/View/Layout/Wizard/sections/RowGroupingSection.d.ts +5 -2
  398. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +52 -38
  399. package/src/View/Layout/Wizard/sections/RowSelectionSection.js +9 -5
  400. package/src/View/Layout/Wizard/sections/RowSummarySection.js +118 -70
  401. package/src/View/Layout/Wizard/sections/SettingsSection.js +4 -5
  402. package/src/View/Layout/Wizard/sections/SortSection.d.ts +12 -2
  403. package/src/View/Layout/Wizard/sections/SortSection.js +42 -18
  404. package/src/View/Layout/Wizard/sections/columnLayoutCards.d.ts +20 -0
  405. package/src/View/Layout/Wizard/sections/columnLayoutCards.js +159 -0
  406. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.d.ts +30 -0
  407. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.js +201 -0
  408. package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.d.ts +8 -0
  409. package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.js +63 -0
  410. package/src/View/Layout/Wizard/sections/layoutWizardColumns.d.ts +11 -0
  411. package/src/View/Layout/Wizard/sections/layoutWizardColumns.js +52 -0
  412. package/src/View/License/LicenseWatermark.js +1 -1
  413. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.d.ts +1 -1
  414. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +2 -3
  415. package/src/View/NamedQuery/Wizard/NamedQuerySettingsWizardSection.js +9 -14
  416. package/src/View/NamedQuery/Wizard/NamedQueryWizard.js +1 -3
  417. package/src/View/Note/NoteEditor.js +3 -3
  418. package/src/View/Note/NotePopup.js +1 -1
  419. package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.d.ts +4 -0
  420. package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +43 -13
  421. package/src/View/PlusMinus/Wizard/PlusMinusScopeWizardSection.js +11 -18
  422. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.d.ts +2 -6
  423. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +7 -23
  424. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +15 -21
  425. package/src/View/QuickSearch/QuickSearchPopup.js +3 -4
  426. package/src/View/QuickSearch/useQuickSearchDebounced.js +1 -1
  427. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +3 -3
  428. package/src/View/Shortcut/Wizard/ShortcutScopeWizardSection.js +11 -18
  429. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +17 -6
  430. package/src/View/Shortcut/Wizard/ShortcutWizard.js +3 -3
  431. package/src/View/Shortcut/shortcutOperations.d.ts +3 -0
  432. package/src/View/Shortcut/shortcutOperations.js +28 -0
  433. package/src/View/SmartEdit/SmartEditPopup.js +2 -2
  434. package/src/View/SmartEdit/SmartEditViewPanel.js +2 -2
  435. package/src/View/SpecialColumnSettingsWizardStep.js +10 -9
  436. package/src/View/StateManagement/StateManagementPopup.js +1 -1
  437. package/src/View/StateManagement/components/ExportDropdown.d.ts +2 -2
  438. package/src/View/StateManagement/components/ExportDropdown.js +12 -12
  439. package/src/View/StatusBar/StatusBarPanel.js +2 -2
  440. package/src/View/StatusBar/StatusBarPopup.js +37 -5
  441. package/src/View/StatusBar/statusBarPanelHelpers.d.ts +2 -0
  442. package/src/View/StatusBar/statusBarPanelHelpers.js +7 -0
  443. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +8 -1
  444. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +31 -19
  445. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.d.ts +10 -2
  446. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +196 -93
  447. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.d.ts +15 -3
  448. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +51 -36
  449. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.d.ts +2 -3
  450. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +108 -33
  451. package/src/View/StyledColumn/Wizard/StyledColumnTypeThumbnail.d.ts +5 -0
  452. package/src/View/StyledColumn/Wizard/StyledColumnTypeThumbnail.js +50 -0
  453. package/src/View/StyledColumn/Wizard/StyledColumnWizard.d.ts +2 -0
  454. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +76 -18
  455. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.d.ts +5 -0
  456. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +184 -85
  457. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.d.ts +1 -0
  458. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +34 -11
  459. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.d.ts +5 -0
  460. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +161 -43
  461. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.d.ts +5 -0
  462. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +274 -93
  463. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.d.ts +1 -0
  464. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +55 -74
  465. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.d.ts +1 -1
  466. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +34 -48
  467. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextLayoutEditor.d.ts +9 -0
  468. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextLayoutEditor.js +33 -0
  469. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextPreview.d.ts +23 -0
  470. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextPreview.js +57 -0
  471. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BulletRangesSummaryPreview.d.ts +5 -0
  472. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BulletRangesSummaryPreview.js +16 -0
  473. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.d.ts +3 -2
  474. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.js +8 -16
  475. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.js +5 -5
  476. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.js +4 -3
  477. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.d.ts +5 -4
  478. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +12 -14
  479. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/RangeBarRangesSummaryPreview.d.ts +5 -0
  480. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/RangeBarRangesSummaryPreview.js +16 -0
  481. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +31 -4
  482. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.d.ts +7 -0
  483. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.js +52 -0
  484. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.d.ts +2 -1
  485. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.js +5 -5
  486. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnGradientPreview.d.ts +7 -0
  487. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnGradientPreview.js +28 -0
  488. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnIconPreview.d.ts +7 -0
  489. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnIconPreview.js +89 -0
  490. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview.d.ts +5 -0
  491. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview.js +59 -0
  492. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.d.ts +5 -0
  493. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.js +45 -0
  494. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.d.ts +16 -0
  495. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.js +58 -0
  496. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.d.ts +7 -0
  497. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.js +124 -0
  498. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardRangesSection.js +12 -5
  499. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.d.ts +1 -5
  500. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +67 -80
  501. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +94 -7
  502. package/src/View/SystemStatus/Utilities/getStatusItemStyle.js +1 -1
  503. package/src/View/Theme/ThemePopup.d.ts +2 -14
  504. package/src/View/Theme/ThemePopup.js +1 -36
  505. package/src/View/UIHelper.d.ts +0 -2
  506. package/src/View/UIHelper.js +10 -25
  507. package/src/View/Wizard/CollapsibleWizardCard.d.ts +68 -0
  508. package/src/View/Wizard/CollapsibleWizardCard.js +81 -0
  509. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +7 -0
  510. package/src/View/Wizard/OnePageAdaptableWizard.js +8 -22
  511. package/src/View/Wizard/OnePageWizards.d.ts +8 -0
  512. package/src/View/Wizard/OnePageWizards.js +10 -8
  513. package/src/View/Wizard/SummaryColorTag.d.ts +24 -0
  514. package/src/View/Wizard/SummaryColorTag.js +67 -0
  515. package/src/View/Wizard/WizardTypeSelection.d.ts +34 -0
  516. package/src/View/Wizard/WizardTypeSelection.js +31 -0
  517. package/src/View/Wizard/rowGroupSummaryTags.d.ts +18 -0
  518. package/src/View/Wizard/rowGroupSummaryTags.js +14 -0
  519. package/src/View/Wizard/scopeSummaryTags.d.ts +6 -0
  520. package/src/View/Wizard/scopeSummaryTags.js +33 -0
  521. package/src/View/renderWithAdaptableContext.js +1 -2
  522. package/src/agGrid/AdaptableAgGrid.d.ts +1 -1
  523. package/src/agGrid/AdaptableAgGrid.js +45 -50
  524. package/src/agGrid/AgGridAdapter.d.ts +1 -1
  525. package/src/agGrid/AgGridAdapter.js +27 -22
  526. package/src/agGrid/AgGridColumnAdapter.js +27 -34
  527. package/src/agGrid/AgGridExportAdapter.js +1 -1
  528. package/src/agGrid/AgGridMenuAdapter.d.ts +0 -1
  529. package/src/agGrid/AgGridMenuAdapter.js +145 -37
  530. package/src/agGrid/cellRenderers/ActionColumnRenderer.js +4 -7
  531. package/src/agGrid/cellRenderers/BadgeRenderer.js +8 -6
  532. package/src/agGrid/cellRenderers/BulletChartRenderer.js +45 -44
  533. package/src/agGrid/cellRenderers/IconRenderer.d.ts +8 -1
  534. package/src/agGrid/cellRenderers/IconRenderer.js +58 -29
  535. package/src/agGrid/cellRenderers/PercentBarRenderer.js +26 -98
  536. package/src/agGrid/cellRenderers/RangeBarRenderer.js +52 -50
  537. package/src/agGrid/cellRenderers/RatingRenderer.js +2 -2
  538. package/src/agGrid/editors/AdaptableDateEditor/index.js +1 -1
  539. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +12 -7
  540. package/src/components/Card/index.js +5 -6
  541. package/src/components/CheckBox/index.js +2 -3
  542. package/src/components/CodeBlock/index.js +2 -2
  543. package/src/components/ColorPicker/ColorPicker.d.ts +1 -0
  544. package/src/components/ColorPicker/ColorPicker.js +9 -7
  545. package/src/components/ColorPicker/OptionalColorPicker.d.ts +12 -0
  546. package/src/components/ColorPicker/OptionalColorPicker.js +26 -0
  547. package/src/components/ColorPicker/index.d.ts +1 -0
  548. package/src/components/ColorPicker/index.js +1 -0
  549. package/src/components/Combobox/VirtualizedList.js +5 -5
  550. package/src/components/Combobox/comboboxUtils.d.ts +5 -1
  551. package/src/components/Combobox/comboboxUtils.js +2 -0
  552. package/src/components/Combobox/index.d.ts +1 -0
  553. package/src/components/Combobox/index.js +55 -28
  554. package/src/components/Dashboard/DashboardManager.js +2 -4
  555. package/src/components/Datepicker/index.js +7 -7
  556. package/src/components/Dialog/index.js +4 -4
  557. package/src/components/DragAndDropContext/DragAndDropContext.d.ts +5 -0
  558. package/src/components/DragAndDropContext/DragAndDropContext.js +3 -0
  559. package/src/components/DragAndDropContext/ModuleManager.d.ts +15 -3
  560. package/src/components/DragAndDropContext/ModuleManager.js +50 -8
  561. package/src/components/DragAndDropContext/TabList.d.ts +11 -4
  562. package/src/components/DragAndDropContext/TabList.js +52 -38
  563. package/src/components/DragAndDropContext/UnusedPanel.d.ts +4 -3
  564. package/src/components/DragAndDropContext/UnusedPanel.js +15 -11
  565. package/src/components/DragAndDropContext/dragScope.d.ts +6 -0
  566. package/src/components/DragAndDropContext/dragScope.js +26 -0
  567. package/src/components/DragAndDropContext/types.d.ts +14 -0
  568. package/src/components/Dropdown/Arrows.js +0 -1
  569. package/src/components/DropdownButton/index.d.ts +33 -25
  570. package/src/components/DropdownButton/index.js +24 -158
  571. package/src/components/EmptyContent/index.js +2 -2
  572. package/src/components/ErrorBox/index.js +2 -2
  573. package/src/components/ExpressionEditor/BaseEditorInput.js +4 -4
  574. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +1 -1
  575. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +3 -3
  576. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +6 -6
  577. package/src/components/ExpressionEditor/index.js +1 -1
  578. package/src/components/FieldWrap/index.js +2 -2
  579. package/src/components/Flex.js +2 -2
  580. package/src/components/FormLayout/index.d.ts +1 -1
  581. package/src/components/FormLayout/index.js +1 -1
  582. package/src/components/HelpBlock/index.js +3 -3
  583. package/src/components/IconSelector/IconSelector.d.ts +8 -0
  584. package/src/components/IconSelector/IconSelector.js +11 -7
  585. package/src/components/IconSelector/index.d.ts +1 -0
  586. package/src/components/IconSelector/index.js +1 -0
  587. package/src/components/Input/NumberInput.js +1 -1
  588. package/src/components/Input/index.js +1 -1
  589. package/src/components/Modal/index.js +2 -2
  590. package/src/components/NewSelect/index.d.ts +2 -0
  591. package/src/components/NewSelect/index.js +22 -9
  592. package/src/components/NewTooltip/index.js +1 -1
  593. package/src/components/OverlayTrigger/index.js +1 -1
  594. package/src/components/Panel/index.js +9 -9
  595. package/src/components/Radio/index.d.ts +1 -1
  596. package/src/components/Radio/index.js +8 -6
  597. package/src/components/SimpleButton/index.js +12 -12
  598. package/src/components/StylePreview.js +2 -2
  599. package/src/components/Tabs/index.js +4 -4
  600. package/src/components/Tag/Tag.d.ts +16 -0
  601. package/src/components/Tag/Tag.js +14 -4
  602. package/src/components/Tag/columnScopeTagHelpers.d.ts +8 -0
  603. package/src/components/Tag/columnScopeTagHelpers.js +6 -0
  604. package/src/components/Tag/index.d.ts +1 -1
  605. package/src/components/Tag/index.js +1 -1
  606. package/src/components/Textarea/index.js +2 -3
  607. package/src/components/Toggle/Toggle.d.ts +2 -0
  608. package/src/components/Toggle/Toggle.js +15 -8
  609. package/src/components/Toggle/ToggleGroup.js +2 -2
  610. package/src/components/ToggleButton/index.js +4 -4
  611. package/src/components/Tree/TreeDropdown/index.js +8 -17
  612. package/src/components/WarningBox/index.js +2 -2
  613. package/src/components/icons/sort-asc.js +1 -1
  614. package/src/components/ui/button.d.ts +6 -3
  615. package/src/components/ui/button.js +6 -5
  616. package/src/components/ui/calendar.d.ts +1 -1
  617. package/src/components/ui/calendar.js +2 -2
  618. package/src/components/ui/combobox.d.ts +18 -16
  619. package/src/components/ui/combobox.js +39 -39
  620. package/src/components/ui/dropdown-menu.js +1 -1
  621. package/src/components/ui/input-group.d.ts +10 -9
  622. package/src/components/ui/input-group.js +17 -16
  623. package/src/components/ui/input.d.ts +2 -2
  624. package/src/components/ui/input.js +6 -5
  625. package/src/components/ui/popover.d.ts +5 -5
  626. package/src/components/ui/popover.js +8 -8
  627. package/src/components/ui/select.d.ts +7 -6
  628. package/src/components/ui/select.js +18 -16
  629. package/src/components/ui/textarea.d.ts +2 -2
  630. package/src/components/ui/textarea.js +5 -4
  631. package/src/components/ui/tooltip.d.ts +6 -5
  632. package/src/components/ui/tooltip.js +9 -8
  633. package/src/env.js +2 -2
  634. package/src/layout-manager/src/LayoutManagerModel.d.ts +6 -2
  635. package/src/layout-manager/src/index.js +14 -16
  636. package/src/layout-manager/src/isLayoutEqual.js +1 -1
  637. package/src/layout-manager/src/normalizeLayoutModel.js +5 -1
  638. package/src/layout-manager/src/rowGroupDisplayType.d.ts +6 -0
  639. package/src/layout-manager/src/rowGroupDisplayType.js +24 -0
  640. package/src/lib/utils.d.ts +20 -0
  641. package/src/lib/utils.js +45 -0
  642. package/src/metamodel/adaptable.metamodel.d.ts +164 -91
  643. package/src/metamodel/adaptable.metamodel.js +1 -1
  644. package/src/migration/VersionUpgrade23.d.ts +27 -32
  645. package/src/migration/VersionUpgrade23.js +112 -43
  646. package/src/types.d.ts +18 -7
  647. package/themes/dark.css +1 -78
  648. package/themes/light.css +1 -5
  649. package/tsconfig.esm.tsbuildinfo +1 -1
  650. package/src/AdaptableState/Common/FilterActionOnDataChange.d.ts +0 -17
  651. package/src/AdaptableState/Common/FilterActionOnDataChange.js +0 -4
  652. package/src/Aggregation/ParameterizedAggregationRegistry.d.ts +0 -35
  653. package/src/Aggregation/ParameterizedAggregationRegistry.js +0 -63
  654. package/src/Aggregation/definitions/weightedAverageAggregationDefinition.d.ts +0 -3
  655. package/src/Aggregation/definitions/weightedAverageAggregationDefinition.js +0 -55
  656. package/src/Aggregation/parameterizedAggregationColumnMenu.d.ts +0 -8
  657. package/src/Aggregation/parameterizedAggregationColumnMenu.js +0 -137
  658. package/src/Aggregation/parameterizedAggregationHeader.d.ts +0 -13
  659. package/src/Aggregation/parameterizedAggregationHeader.js +0 -60
  660. package/src/Aggregation/parameterizedAggregationHelpers.d.ts +0 -23
  661. package/src/Aggregation/parameterizedAggregationHelpers.js +0 -111
  662. package/src/Aggregation/parameterizedAggregationWizardHelpers.d.ts +0 -9
  663. package/src/Aggregation/parameterizedAggregationWizardHelpers.js +0 -66
  664. package/src/Aggregation/validateParameterizedAggregations.d.ts +0 -4
  665. package/src/Aggregation/validateParameterizedAggregations.js +0 -20
  666. package/src/Utilities/Defaults/DefaultSettingsPanel.d.ts +0 -5
  667. package/src/Utilities/Defaults/DefaultSettingsPanel.js +0 -42
  668. package/src/Utilities/Helpers/StyledColumnGradientHelper.d.ts +0 -30
  669. package/src/Utilities/Helpers/StyledColumnGradientHelper.js +0 -41
  670. package/src/Utilities/Helpers/iconStyledColumnColumnSupport.d.ts +0 -5
  671. package/src/Utilities/Helpers/iconStyledColumnColumnSupport.js +0 -15
  672. package/src/Utilities/Helpers/styledColumnRowKindSupport.d.ts +0 -25
  673. package/src/Utilities/Helpers/styledColumnRowKindSupport.js +0 -63
  674. package/src/Utilities/utils/chunk.d.ts +0 -6
  675. package/src/Utilities/utils/chunk.js +0 -17
  676. package/src/Utilities/utils/clamp.d.ts +0 -5
  677. package/src/Utilities/utils/clamp.js +0 -7
  678. package/src/Utilities/utils/cloneDeepWith.d.ts +0 -9
  679. package/src/Utilities/utils/cloneDeepWith.js +0 -67
  680. package/src/Utilities/utils/debounce.d.ts +0 -20
  681. package/src/Utilities/utils/flatten.d.ts +0 -5
  682. package/src/Utilities/utils/flatten.js +0 -7
  683. package/src/Utilities/utils/flattenDeep.d.ts +0 -5
  684. package/src/Utilities/utils/flattenDeep.js +0 -7
  685. package/src/Utilities/utils/get.d.ts +0 -6
  686. package/src/Utilities/utils/get.js +0 -35
  687. package/src/Utilities/utils/index.d.ts +0 -22
  688. package/src/Utilities/utils/index.js +0 -22
  689. package/src/Utilities/utils/isArray.d.ts +0 -6
  690. package/src/Utilities/utils/isArray.js +0 -6
  691. package/src/Utilities/utils/isEqual.d.ts +0 -5
  692. package/src/Utilities/utils/isEqual.js +0 -124
  693. package/src/Utilities/utils/isObject.d.ts +0 -6
  694. package/src/Utilities/utils/isObject.js +0 -9
  695. package/src/Utilities/utils/isPlainObject.d.ts +0 -6
  696. package/src/Utilities/utils/isPlainObject.js +0 -17
  697. package/src/Utilities/utils/kebabCase.d.ts +0 -5
  698. package/src/Utilities/utils/kebabCase.js +0 -8
  699. package/src/Utilities/utils/merge.d.ts +0 -11
  700. package/src/Utilities/utils/merge.js +0 -40
  701. package/src/Utilities/utils/mergeWith.d.ts +0 -7
  702. package/src/Utilities/utils/mergeWith.js +0 -46
  703. package/src/Utilities/utils/orderBy.d.ts +0 -8
  704. package/src/Utilities/utils/orderBy.js +0 -30
  705. package/src/Utilities/utils/parseInt.d.ts +0 -6
  706. package/src/Utilities/utils/parseInt.js +0 -9
  707. package/src/Utilities/utils/sentenceCase.d.ts +0 -6
  708. package/src/Utilities/utils/sentenceCase.js +0 -15
  709. package/src/Utilities/utils/startCase.d.ts +0 -5
  710. package/src/Utilities/utils/startCase.js +0 -11
  711. package/src/Utilities/utils/throttle.d.ts +0 -17
  712. package/src/Utilities/utils/throttle.js +0 -19
  713. package/src/Utilities/utils/toNumber.d.ts +0 -5
  714. package/src/Utilities/utils/toNumber.js +0 -39
  715. package/src/Utilities/utils/uniq.d.ts +0 -7
  716. package/src/Utilities/utils/uniq.js +0 -9
  717. package/src/Utilities/utils/uniqBy.d.ts +0 -8
  718. package/src/Utilities/utils/uniqBy.js +0 -22
  719. package/src/Utilities/utils/words.d.ts +0 -7
  720. package/src/Utilities/utils/words.js +0 -10
  721. package/src/View/AdaptableComputedCSSVarsContext.d.ts +0 -12
  722. package/src/View/AdaptableComputedCSSVarsContext.js +0 -29
  723. package/src/View/DataChangeHistory/DataChangeHistoryGrid.d.ts +0 -17
  724. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +0 -290
  725. package/src/View/Layout/Wizard/sections/ParameterizedAggFuncPicker.d.ts +0 -12
  726. package/src/View/Layout/Wizard/sections/ParameterizedAggFuncPicker.js +0 -43
  727. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.d.ts +0 -5
  728. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.js +0 -28
  729. package/src/View/Theme/VariantSelector.d.ts +0 -8
  730. package/src/View/Theme/VariantSelector.js +0 -20
  731. package/src/agGrid/cellRenderers/shouldRenderStyledColumnOnRow.d.ts +0 -30
  732. package/src/components/DropdownButton/DropdownButtonItem.d.ts +0 -12
  733. package/src/components/DropdownButton/renderItem.d.ts +0 -14
  734. package/src/components/DropdownButton/renderItem.js +0 -11
  735. package/src/components/DropdownButton/useExpanded.d.ts +0 -24
  736. package/src/components/DropdownButton/useExpanded.js +0 -56
  737. package/src/components/NewDropdownButton/index.d.ts +0 -26
  738. package/src/components/NewDropdownButton/index.js +0 -24
  739. package/src/components/Select/CSSNumericVariableWatch.d.ts +0 -11
  740. package/src/components/Select/CSSNumericVariableWatch.js +0 -45
  741. /package/src/{Utilities → AdaptableState/Aggregations}/only.d.ts +0 -0
  742. /package/src/{Utilities → AdaptableState/Aggregations}/only.js +0 -0
  743. /package/src/{Utilities → AdaptableState/Aggregations}/weightedAverage.d.ts +0 -0
  744. /package/src/{components/DropdownButton/DropdownButtonItem.js → AdaptableState/StyledColumns/BulletChartStyle.js} +0 -0
  745. /package/src/Utilities/Helpers/{ActionColumnWidthHelper.d.ts → ActionColumnHelper.d.ts} +0 -0
  746. /package/src/Utilities/Helpers/{ActionColumnWidthHelper.js → ActionColumnHelper.js} +0 -0
  747. /package/src/Utilities/Helpers/{alertFormHelper.d.ts → AlertHelper.d.ts} +0 -0
  748. /package/src/Utilities/Helpers/{chartingHelper.d.ts → ChartHelper.d.ts} +0 -0
  749. /package/src/Utilities/Helpers/{chartingHelper.js → ChartHelper.js} +0 -0
  750. /package/src/Utilities/Helpers/{FormatHelper.d.ts → DisplayFormatHelper.d.ts} +0 -0
  751. /package/src/Utilities/Helpers/{plusMinusTriggerKeys.d.ts → PlusMinusHelper.d.ts} +0 -0
  752. /package/src/Utilities/Helpers/{plusMinusTriggerKeys.js → PlusMinusHelper.js} +0 -0
  753. /package/src/Utilities/Helpers/{QuickSearchStyleHelper.d.ts → QuickSearchHelper.d.ts} +0 -0
  754. /package/src/Utilities/Helpers/{ScheduleJobManager.js → Scheduling/ScheduleJobManager.js} +0 -0
  755. /package/src/Utilities/Helpers/{ScheduleJobRunner.js → Scheduling/ScheduleJobRunner.js} +0 -0
@@ -5,7 +5,7 @@ import { createUuid } from '../AdaptableState/Uuid';
5
5
  import { AG_GRID_GROUPED_COLUMN, AG_GRID_SELECTION_COLUMN, } from '../Utilities/Constants/GeneralConstants';
6
6
  import { ExportModuleId } from '../Utilities/Constants/ModuleConstants';
7
7
  import StringExtensions from '../Utilities/Extensions/StringExtensions';
8
- import FormatHelper, { DateFormatter } from '../Utilities/Helpers/FormatHelper';
8
+ import FormatHelper, { DateFormatter } from '../Utilities/Helpers/DisplayFormatHelper';
9
9
  import { convertCSSAbsoluteFontSizeToPt, getVariableColor, sanitizeStyle, } from '../Utilities/Helpers/StyleHelper';
10
10
  import { waitForTimeout } from '../Utilities/waitForTimeout';
11
11
  export class AgGridExportAdapter {
@@ -9,7 +9,6 @@ export declare class AgGridMenuAdapter {
9
9
  private get adaptableApi();
10
10
  destroy(): void;
11
11
  buildColumnMenu(params: GetMainMenuItemsParams, originalGetMainMenuItems: GetMainMenuItems): (DefaultMenuItem | MenuItemDef)[];
12
- private injectParameterizedAggregationColumnMenuItems;
13
12
  buildContextMenu(params: GetContextMenuItemsParams, originalGetContextMenuItems: GetContextMenuItems): (DefaultMenuItem | MenuItemDef)[];
14
13
  private mapAgGridItemTypeToAgGridMenuItem;
15
14
  private removeConsecutiveSeparators;
@@ -2,8 +2,133 @@ import { isAdaptableElementIcon } from '../components/Icon';
2
2
  import { iconToString } from '../components/icons';
3
3
  import ArrayExtensions from '../Utilities/Extensions/ArrayExtensions';
4
4
  import { MENU_SEPARATOR } from '../Utilities/Constants/GeneralConstants';
5
- import { buildConsolidatedAggregationColumnMenuItem, findParameterizedAggMenuInsertIndex, isValueAggregationMenuItem, } from '../Aggregation/parameterizedAggregationColumnMenu';
6
- import { removeColumnAggregationFromLayout, upsertColumnAggregationInLayout, } from '../Aggregation/parameterizedAggregationHelpers';
5
+ import { getAggFuncName, getDisplayAggFuncNames, isWeightedAverageAggregation, WEIGHTED_AVERAGE_AGG_FN_NAME, } from '../AdaptableState/Common/AggregationColumns';
6
+ /**
7
+ * Creates an AG Grid icon element for the given icon name.
8
+ *
9
+ * Mimics AG Grid's internal icon creation, producing a
10
+ * `<span class="ag-icon ag-icon-{name}" role="presentation" unselectable="on">`
11
+ * so the icon picks up AG Grid's own icon font/theme styling.
12
+ *
13
+ * @see https://github.com/ag-grid/ag-grid/blob/5ca14e73188f6f52fd7d545d595c067bf1b72168/packages/ag-grid-community/src/utils/icon.ts#L139
14
+ */
15
+ function createAgGridIcon(name) {
16
+ const element = document.createElement('span');
17
+ element.className = `ag-icon ag-icon-${name}`;
18
+ element.setAttribute('role', 'presentation');
19
+ element.setAttribute('unselectable', 'on');
20
+ return element;
21
+ }
22
+ const toFuncLabel = (funcName) => {
23
+ if (funcName === 'avg') {
24
+ return 'Average';
25
+ }
26
+ if (funcName === 'weightedAvg') {
27
+ return 'Weighted Average';
28
+ }
29
+ return funcName ? funcName.charAt(0).toUpperCase() + funcName.slice(1) : funcName;
30
+ };
31
+ /**
32
+ * Builds the replacement for AG Grid's built-in `valueAggSubMenu` column menu item.
33
+ *
34
+ * AG Grid does not allow customizing the built-in submenu, so we rebuild an
35
+ * equivalent one: the column's existing aggregation functions plus a
36
+ * `Weighted Average` item whose submenu lists the numeric columns that can be
37
+ * used as the weight parameter.
38
+ *
39
+ * Both standard and weighted selections persist through the current Layout
40
+ * (`updateCurrentLayout`), so the existing `weightedAvg` aggFunc can read the
41
+ * chosen `weightedColumnId` back from the Layout.
42
+ *
43
+ * Weighted Average is never used in Pivot Layouts, so this only deals with the
44
+ * Table Layout aggregations and the caller skips it entirely in Pivot mode.
45
+ */
46
+ function buildValueAggregationMenuItem(adaptableApi, menuContext) {
47
+ const column = menuContext.adaptableColumn;
48
+ const columnId = column.columnId;
49
+ const currentLayout = adaptableApi.layoutApi.getCurrentLayout();
50
+ const aggregationColumns = currentLayout.TableAggregationColumns || [];
51
+ const currentAggFunc = aggregationColumns.find((agg) => agg.ColumnId === columnId)?.AggFunc;
52
+ let activeAggFuncName;
53
+ if (currentAggFunc != null) {
54
+ const aggFuncName = getAggFuncName(currentAggFunc);
55
+ activeAggFuncName = aggFuncName === true ? column.aggregationFunction : aggFuncName;
56
+ }
57
+ const activeWeightColumnId = isWeightedAverageAggregation(currentAggFunc)
58
+ ? currentAggFunc.weightedColumnId
59
+ : undefined;
60
+ const applyAggregation = (aggFuncValue) => {
61
+ const upsert = (cols) => {
62
+ const list = cols ? [...cols] : [];
63
+ const index = list.findIndex((col) => col.ColumnId === columnId);
64
+ if (index >= 0) {
65
+ list[index] = { ...list[index], AggFunc: aggFuncValue };
66
+ }
67
+ else {
68
+ list.push({ ColumnId: columnId, AggFunc: aggFuncValue });
69
+ }
70
+ return list;
71
+ };
72
+ adaptableApi.layoutApi.updateCurrentLayout((layout) => {
73
+ const tableLayout = layout;
74
+ return {
75
+ ...tableLayout,
76
+ TableAggregationColumns: upsert(tableLayout.TableAggregationColumns),
77
+ };
78
+ });
79
+ };
80
+ const removeAggregation = () => {
81
+ adaptableApi.layoutApi.updateCurrentLayout((layout) => {
82
+ const tableLayout = layout;
83
+ return {
84
+ ...tableLayout,
85
+ TableAggregationColumns: (tableLayout.TableAggregationColumns || []).filter((col) => col.ColumnId !== columnId),
86
+ };
87
+ });
88
+ };
89
+ // 'None' clears any aggregation for the column and is checked when none is set
90
+ const subMenu = [
91
+ {
92
+ name: 'None',
93
+ checked: activeAggFuncName == null,
94
+ action: () => removeAggregation(),
95
+ },
96
+ ];
97
+ // getDisplayAggFuncNames already positions weightedAvg right after 'avg'
98
+ // (and only includes it when the column is eligible)
99
+ const aggFuncItems = getDisplayAggFuncNames(column).map((funcName) => {
100
+ // Weighted Average needs a weight column parameter, so instead of a plain
101
+ // action it gets a submenu listing the numeric columns usable as the weight.
102
+ if (funcName === WEIGHTED_AVERAGE_AGG_FN_NAME) {
103
+ const weightColumnItems = adaptableApi.columnApi
104
+ .getNumericColumns()
105
+ .filter((numericColumn) => numericColumn.columnId !== columnId)
106
+ .map((numericColumn) => ({
107
+ name: numericColumn.friendlyName ?? numericColumn.columnId,
108
+ checked: activeWeightColumnId === numericColumn.columnId,
109
+ action: () => applyAggregation({
110
+ type: 'weightedAverage',
111
+ weightedColumnId: numericColumn.columnId,
112
+ }),
113
+ }));
114
+ return {
115
+ name: 'Weighted Average',
116
+ checked: activeAggFuncName === WEIGHTED_AVERAGE_AGG_FN_NAME,
117
+ subMenu: weightColumnItems,
118
+ };
119
+ }
120
+ return {
121
+ name: toFuncLabel(funcName),
122
+ checked: activeAggFuncName === funcName,
123
+ action: () => applyAggregation(funcName),
124
+ };
125
+ });
126
+ subMenu.push(...aggFuncItems);
127
+ return {
128
+ name: 'Value Aggregation',
129
+ subMenu,
130
+ };
131
+ }
7
132
  export class AgGridMenuAdapter {
8
133
  _adaptableInstance;
9
134
  constructor(_adaptableInstance) {
@@ -55,42 +180,25 @@ export class AgGridMenuAdapter {
55
180
  .filter(Boolean);
56
181
  }
57
182
  // 2. if not, return the default context menu
58
- let defaultContextMenu = [
59
- ...agGridMenuItems,
183
+ // AG Grid does not allow customizing the built-in `valueAggSubMenu`, so we
184
+ // replace it with an Adaptable-built equivalent that also offers a Weighted
185
+ // Average aggregation (with a submenu to pick the weight column).
186
+ // Weighted Average is never used in Pivot Layouts, so we leave the AG Grid
187
+ // default item untouched there.
188
+ const isPivotLayout = this.adaptableApi.layoutApi.isCurrentLayoutPivot();
189
+ const mappedAgGridMenuItems = agGridMenuItems.map((itemName) => itemName === 'valueAggSubMenu' && !isPivotLayout
190
+ ? {
191
+ ...buildValueAggregationMenuItem(this.adaptableApi, menuContext),
192
+ icon: createAgGridIcon('aggregation'),
193
+ }
194
+ : itemName);
195
+ const defaultContextMenu = [
196
+ ...mappedAgGridMenuItems,
60
197
  'separator',
61
198
  ...defaultColumnMenuStructure.map((adaptableItem) => this.mapAdaptableMenuItemToAgGridMenuDefinition(adaptableItem)),
62
199
  ];
63
- defaultContextMenu = this.injectParameterizedAggregationColumnMenuItems(defaultContextMenu, adaptableColumn);
64
200
  return this.removeConsecutiveSeparators(defaultContextMenu);
65
201
  }
66
- injectParameterizedAggregationColumnMenuItems(menuItems, column) {
67
- const consolidatedAggregationMenuItem = buildConsolidatedAggregationColumnMenuItem(this.adaptableApi, column, (columnId, parameterizedAgg) => {
68
- this.adaptableApi.layoutApi.setColumnParameterizedAggregation(columnId, parameterizedAgg);
69
- }, (columnId, aggFunc) => {
70
- this.adaptableApi.layoutApi.updateCurrentLayout((layout) => {
71
- if (aggFunc == null) {
72
- removeColumnAggregationFromLayout(layout, columnId);
73
- }
74
- else {
75
- upsertColumnAggregationInLayout(layout, columnId, aggFunc);
76
- }
77
- return layout;
78
- });
79
- this.adaptableApi.agGridApi.setColumnAggFunc(columnId, aggFunc);
80
- });
81
- if (!consolidatedAggregationMenuItem) {
82
- return menuItems;
83
- }
84
- consolidatedAggregationMenuItem.icon = this.mapAdaptableIconToAgGridIcon({ name: 'equation' });
85
- const originalValueAggMenuIndex = menuItems.findIndex((item) => isValueAggregationMenuItem(item));
86
- const menuItemsWithoutValueAgg = menuItems.filter((item) => !isValueAggregationMenuItem(item));
87
- const result = [...menuItemsWithoutValueAgg];
88
- const insertIndex = originalValueAggMenuIndex !== -1
89
- ? Math.min(originalValueAggMenuIndex, result.length)
90
- : findParameterizedAggMenuInsertIndex(menuItemsWithoutValueAgg);
91
- result.splice(insertIndex, 0, consolidatedAggregationMenuItem);
92
- return result;
93
- }
94
202
  buildContextMenu(params, originalGetContextMenuItems) {
95
203
  if (!params.column) {
96
204
  return [];
@@ -269,7 +377,7 @@ export class AgGridMenuAdapter {
269
377
  ? () => this.adaptableApi.internalApi.dispatchReduxAction(fullMenuItem.reduxAction)
270
378
  : undefined,
271
379
  icon: this.mapAdaptableIconToAgGridIcon(fullMenuItem.icon, {
272
- fill: 'var(--ab-color-text-on-primary)',
380
+ fill: 'var(--ab-color-primary-foreground)',
273
381
  }),
274
382
  subMenu: fullMenuItem.subItems?.map((subMenuItem) => this.mapAdaptableMenuItemToAgGridMenuDefinition(subMenuItem)),
275
383
  };
@@ -282,7 +390,7 @@ export class AgGridMenuAdapter {
282
390
  return {
283
391
  name: customMenuItem.label,
284
392
  icon: this.mapAdaptableIconToAgGridIcon(customMenuItem.icon, {
285
- fill: 'var(--ab-color-text-on-primary)',
393
+ fill: 'var(--ab-color-primary-foreground)',
286
394
  }),
287
395
  disabled: customMenuItem.disabled,
288
396
  subMenu: !customMenuItem.disabled
@@ -310,7 +418,7 @@ export class AgGridMenuAdapter {
310
418
  name: userMenuItem.label,
311
419
  action: () => (userMenuItem.onClick ? userMenuItem.onClick(menuContext) : null),
312
420
  icon: this.mapAdaptableIconToAgGridIcon(userMenuItem.icon, {
313
- fill: 'var(--ab-color-text-on-primary)',
421
+ fill: 'var(--ab-color-primary-foreground)',
314
422
  }),
315
423
  disabled: userMenuItem.disabled,
316
424
  subMenu: userMenuItem.subMenuItems
@@ -735,7 +843,7 @@ export class AgGridMenuAdapter {
735
843
  }
736
844
  else {
737
845
  return iconToString(icon, {
738
- fill: 'var(--ab-color-text-on-primary)',
846
+ fill: 'var(--ab-color-primary-foreground)',
739
847
  });
740
848
  }
741
849
  }
@@ -1,5 +1,5 @@
1
1
  import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
- import DropdownButton from '../../components/DropdownButton';
2
+ import { NewDropdownButton } from '../../components/DropdownButton';
3
3
  import * as React from 'react';
4
4
  import { IconComponent } from '../../components/Icon';
5
5
  import { ADAPTABLE_BUTTON_SURFACE_DEFAULTS, AdaptableButtonView, } from '../../View/Components/AdaptableButton';
@@ -13,10 +13,7 @@ function getActionColumnButtonProps(button, index, adaptableApi, context, rerend
13
13
  }
14
14
  const buttonLabel = adaptableApi.internalApi.getLabelForButton(button, context);
15
15
  const buttonTooltip = adaptableApi.internalApi.getTooltipForButton(button, context);
16
- const identifier = button.label ??
17
- button.icon?.name ??
18
- button.tooltip ??
19
- `${index + 1}`;
16
+ const identifier = button.label ?? button.icon?.name ?? button.tooltip ?? `${index + 1}`;
20
17
  return {
21
18
  button,
22
19
  buttonLabel,
@@ -52,7 +49,7 @@ const ActionColumnDropdown = (props) => {
52
49
  });
53
50
  return {
54
51
  label: buttonLabel || buttonTooltip,
55
- icon: menuIcon ? (_jsx(IconComponent, { icon: menuIcon })) : undefined,
52
+ icon: menuIcon ? _jsx(IconComponent, { icon: menuIcon }) : undefined,
56
53
  disabled,
57
54
  onClick: () => {
58
55
  actionButton.onClick?.(actionButton, context);
@@ -64,7 +61,7 @@ const ActionColumnDropdown = (props) => {
64
61
  if (!items.length) {
65
62
  return null;
66
63
  }
67
- return (_jsx(DropdownButton, { "data-name": "action-column-dropdown", variant: "outlined", tone: "neutral", items: items, collapseOnItemClick: true, listMinWidth: 140, showToggleIcon: true, accessLevel: ACCESS_LEVEL_FULL, children: dropdownLabel }));
64
+ return (_jsx(NewDropdownButton, { "data-name": "action-column-dropdown", variant: "outlined", tone: "neutral", items: items, accessLevel: ACCESS_LEVEL_FULL, children: dropdownLabel }));
68
65
  };
69
66
  const ActionColumnCellContent = (props) => {
70
67
  const { buttons, actionColumn, adaptableApi, context, rerender } = props;
@@ -1,7 +1,7 @@
1
1
  import { Badge } from '../../View/Components/Badge';
2
2
  import { renderWithAdaptableContext } from '../../View/renderWithAdaptableContext';
3
3
  import * as React from 'react';
4
- import { shouldRenderStyledColumnOnRow } from './shouldRenderStyledColumnOnRow';
4
+ import { shouldRenderStyledColumnOnRow } from '../../Utilities/Helpers/StyledColumns/StyledColumnHelper';
5
5
  const OVERFLOW_CLASS = {
6
6
  Truncate: 'ab-Badge__wrapper--truncate',
7
7
  Wrap: 'ab-Badge__wrapper--wrap',
@@ -83,7 +83,9 @@ export const getBadgeRendererForColumn = (styledColumn, abColumn, api) => {
83
83
  ...adaptableApi.internalApi.buildBaseContext(),
84
84
  };
85
85
  const badge = api.styledColumnApi.internalApi.getApplicableBadge(badgeStyle, predicateDefHandlerContext);
86
- const formattedValue = badge?.IconOnly ? '' : params.formatValue?.(value) ?? value ?? '';
86
+ const formattedValue = badge?.IconProperties?.IconOnly
87
+ ? ''
88
+ : params.formatValue?.(value) ?? value ?? '';
87
89
  const isNullValue = formattedValue === '' || formattedValue === null || formattedValue === undefined;
88
90
  if (!isNullValue) {
89
91
  const config = { value: formattedValue };
@@ -113,7 +115,7 @@ export const getBadgeRendererForColumn = (styledColumn, abColumn, api) => {
113
115
  this.eGui.innerHTML = formattedValue;
114
116
  return;
115
117
  }
116
- if (badge.IconOnly) {
118
+ if (badge.IconProperties?.IconOnly) {
117
119
  formattedValue = '';
118
120
  }
119
121
  this.renderBadges([
@@ -137,11 +139,11 @@ export const getBadgeRendererForColumn = (styledColumn, abColumn, api) => {
137
139
  key: index,
138
140
  pillStyle: badge.PillStyle,
139
141
  children: value,
140
- icon: badge.Icon,
141
- iconPosition: badge.IconPosition ?? 'start',
142
+ icon: badge.IconProperties?.Icon,
143
+ iconPosition: badge.IconProperties?.Position ?? 'start',
142
144
  shape: badge.Shape,
143
145
  density: badgeStyle.Density ?? 'Normal',
144
- iconGap: badge.IconGap,
146
+ iconGap: badge.IconProperties?.Gap,
145
147
  });
146
148
  });
147
149
  this.unmountReactRoot = api.internalApi
@@ -1,6 +1,7 @@
1
1
  import Helper from '../../Utilities/Helpers/Helper';
2
- import clamp from '../../Utilities/utils/clamp';
3
- import { shouldRenderStyledColumnOnRow } from './shouldRenderStyledColumnOnRow';
2
+ import { clamp } from '../../Utilities/Extensions/NumberExtensions';
3
+ import { buildBarStyleCellTextLabels, hasBarStyleCellTextConfigured, mountBarStyleCellText, } from '../../Utilities/Helpers/StyledColumns/BarStylesHelper';
4
+ import { shouldRenderStyledColumnOnRow } from '../../Utilities/Helpers/StyledColumns/StyledColumnHelper';
4
5
  const SVG_NS = 'http://www.w3.org/2000/svg';
5
6
  const DEFAULT_BAR_HEIGHT = 8;
6
7
  const DEFAULT_BAND_HEIGHT = 14;
@@ -52,19 +53,18 @@ const normaliseMarker = (override, base) => {
52
53
  };
53
54
  };
54
55
  const resolveTargets = (bulletStyle, styledColumn, abColumn, rowNode, api) => {
55
- if (bulletStyle.Target == undefined) {
56
+ const targetSpec = bulletStyle.TargetProperties?.Target;
57
+ if (targetSpec == undefined) {
56
58
  return [];
57
59
  }
58
- const targets = Array.isArray(bulletStyle.Target)
59
- ? bulletStyle.Target
60
- : [bulletStyle.Target];
60
+ const targets = Array.isArray(targetSpec) ? targetSpec : [targetSpec];
61
61
  const resolved = [];
62
62
  for (const target of targets) {
63
63
  const value = resolveTargetValue(target, styledColumn, abColumn, rowNode, api);
64
64
  if (value == undefined || isNaN(value)) {
65
65
  continue;
66
66
  }
67
- const marker = normaliseMarker(isTargetDefinition(target) ? target.Marker : undefined, bulletStyle.TargetMarker);
67
+ const marker = normaliseMarker(isTargetDefinition(target) ? target.Marker : undefined, bulletStyle.TargetProperties?.Marker);
68
68
  resolved.push({
69
69
  value,
70
70
  marker,
@@ -152,10 +152,10 @@ export const getBulletChartRendererForColumn = (styledColumn, abColumn, api) =>
152
152
  // `BarThickness` is the bar's *short* axis (height in horizontal,
153
153
  // width in vertical). `BandThickness` is the matching short-axis
154
154
  // size of the surrounding bands.
155
- const barThickness = bulletStyle.BarHeight ?? DEFAULT_BAR_HEIGHT;
155
+ const barThickness = bulletStyle.Bar?.Height ?? DEFAULT_BAR_HEIGHT;
156
156
  const bandThickness = Math.max(barThickness + 6, DEFAULT_BAND_HEIGHT);
157
- const hasCellText = bulletStyle.CellText && bulletStyle.CellText.length > 0;
158
- const isTextMerged = bulletStyle.CellTextPosition === 'Merged';
157
+ const cellTextProperties = bulletStyle.CellTextProperties;
158
+ const hasCellText = hasBarStyleCellTextConfigured(cellTextProperties);
159
159
  // Map a 0..1 value fraction onto the long-axis viewBox (0..100).
160
160
  // In horizontal: 0 -> left, 1 -> right.
161
161
  // In vertical: 0 -> bottom, 1 -> top (SVG y origin is at the top so
@@ -172,7 +172,7 @@ export const getBulletChartRendererForColumn = (styledColumn, abColumn, api) =>
172
172
  this.eGui.style.alignItems = isVertical ? 'center' : 'stretch';
173
173
  this.eGui.style.justifyContent = 'center';
174
174
  this.eGui.style.position = 'relative';
175
- this.eGui.style.height = hasCellText && !isTextMerged ? '80%' : '100%';
175
+ this.eGui.style.height = '100%';
176
176
  // SVG chart - we let `preserveAspectRatio="none"` stretch the long axis
177
177
  // (viewBox 0..100) to fill the cell while the short axis stays fixed
178
178
  // in pixels.
@@ -243,7 +243,7 @@ export const getBulletChartRendererForColumn = (styledColumn, abColumn, api) =>
243
243
  const barCrossOffset = (bandThickness - barThickness) / 2;
244
244
  const bar = document.createElementNS(SVG_NS, 'rect');
245
245
  setRectAxes(bar, Math.min(valueCoord, originCoord), Math.abs(valueCoord - originCoord), barCrossOffset, barThickness);
246
- bar.setAttribute('fill', bulletStyle.BarColor ?? DEFAULT_BAR_COLOR);
246
+ bar.setAttribute('fill', bulletStyle.Bar?.Color ?? DEFAULT_BAR_COLOR);
247
247
  bar.setAttribute('class', 'ab-BulletChart__bar');
248
248
  svg.appendChild(bar);
249
249
  // Target markers
@@ -255,39 +255,40 @@ export const getBulletChartRendererForColumn = (styledColumn, abColumn, api) =>
255
255
  svg.appendChild(marker);
256
256
  }
257
257
  }
258
- this.eGui.appendChild(svg);
258
+ // Wrap the SVG in a positioned container so a `Merged` text row can
259
+ // be absolute-positioned to the centre of the *bar* (matching Percent
260
+ // Bar's behaviour) instead of falling through to the wrapper centre,
261
+ // which would otherwise overlap an `Above` / `Below` band.
262
+ const svgContainer = document.createElement('div');
263
+ svgContainer.style.position = 'relative';
264
+ svgContainer.style.display = 'flex';
265
+ svgContainer.style.alignItems = 'center';
266
+ svgContainer.style.justifyContent = 'center';
267
+ // Horizontal: take the SVG's natural (bandThickness) height.
268
+ // Vertical: stretch to fill the wrapper so the SVG's `height: 100%`
269
+ // resolves against a real size.
270
+ if (isVertical) {
271
+ svgContainer.style.flex = '1 1 auto';
272
+ svgContainer.style.minHeight = '0';
273
+ }
274
+ else {
275
+ svgContainer.style.flex = '0 0 auto';
276
+ }
277
+ svgContainer.appendChild(svg);
278
+ this.eGui.appendChild(svgContainer);
259
279
  if (hasCellText) {
260
- const textEl = document.createElement('div');
261
- textEl.className = 'ab-BulletChart__text';
262
- textEl.style.lineHeight = '1.2';
263
- const parts = [];
264
- if (bulletStyle.CellText.includes('CellValue')) {
265
- parts.push(params.formatValue?.(cellValue) ?? String(cellValue));
266
- }
267
- if (bulletStyle.CellText.includes('PercentageValue')) {
268
- parts.push(`${(valueFraction * 100).toFixed(0)}%`);
269
- }
270
- textEl.innerText = parts.join(' ');
271
- switch (bulletStyle.CellTextPosition) {
272
- case 'Above':
273
- this.eGui.prepend(textEl);
274
- break;
275
- case 'Merged':
276
- textEl.style.position = 'absolute';
277
- textEl.style.top = '50%';
278
- textEl.style.transform = 'translateY(-50%)';
279
- textEl.style.left = '0';
280
- textEl.style.right = '0';
281
- textEl.style.paddingLeft = '5px';
282
- textEl.style.paddingRight = '5px';
283
- textEl.style.pointerEvents = 'none';
284
- this.eGui.appendChild(textEl);
285
- break;
286
- case 'Below':
287
- default:
288
- this.eGui.appendChild(textEl);
289
- break;
290
- }
280
+ // See PercentBarRenderer: `params.formatValue` on a column without a
281
+ // `valueFormatter` returns the raw value (a number here), so coerce
282
+ // to string before it flows into the helpers.
283
+ const formattedCellValue = String(params.formatValue?.(cellValue) ?? cellValue);
284
+ const labels = buildBarStyleCellTextLabels(cellTextProperties, formattedCellValue, `${(valueFraction * 100).toFixed(0)}%`);
285
+ mountBarStyleCellText({
286
+ wrapperEl: this.eGui,
287
+ mergedOverlayEl: svgContainer,
288
+ textClassName: 'ab-BulletChart__text',
289
+ cellTextProperties,
290
+ labels,
291
+ });
291
292
  }
292
293
  }
293
294
  getGui() {
@@ -1,4 +1,5 @@
1
- import { IconStyle, IconStyleMapping, StyledColumn } from '../../AdaptableState/StyledColumnState';
1
+ import { StyledColumn } from '../../AdaptableState/StyledColumnState';
2
+ import { IconStyle, IconStyleMapping } from '../../AdaptableState/StyledColumns/IconStyle';
2
3
  import { AdaptableApi } from '../../Api/AdaptableApi';
3
4
  import { AdaptableColumn } from '../../AdaptableState/Common/AdaptableColumn';
4
5
  /**
@@ -18,6 +19,12 @@ import { AdaptableColumn } from '../../AdaptableState/Common/AdaptableColumn';
18
19
  * is configured for case-insensitive matching.
19
20
  */
20
21
  export declare const resolveEffectiveIconStyleMappings: (iconStyle: IconStyle | undefined) => IconStyleMapping[];
22
+ /**
23
+ * Mapping list for wizard / settings summaries: custom mappings first so
24
+ * user-authored entries are always visible, then any remaining preset
25
+ * entries (after override filtering).
26
+ */
27
+ export declare const resolveIconStyleMappingsForSummaryPreview: (iconStyle: IconStyle | undefined) => IconStyleMapping[];
21
28
  export declare const getIconRendererForColumn: (styledColumn: StyledColumn, abColumn: AdaptableColumn, api: AdaptableApi) => any;
22
29
  /** Helper exposed for the tooltip getter in `AgGridColumnAdapter`. */
23
30
  export declare const findIconStyleMappingForValue: (iconStyle: IconStyle | undefined, cellValue: any) => IconStyleMapping | undefined;
@@ -2,12 +2,30 @@ import * as React from 'react';
2
2
  import { IconComponent, isAdaptableSystemIcon, isAdaptableCustomIcon, isAdaptableElementIcon, } from '../../components/Icon';
3
3
  import { renderWithAdaptableContext } from '../../View/renderWithAdaptableContext';
4
4
  import Helper from '../../Utilities/Helpers/Helper';
5
- import { getIconStylePresetMappings } from '../../Utilities/Helpers/IconStylePresets';
6
- import { shouldRenderStyledColumnOnRow } from './shouldRenderStyledColumnOnRow';
7
- import { isUnsupportedColumnDataTypeForIconStyle } from '../../Utilities/Helpers/iconStyledColumnColumnSupport';
5
+ import { getIconStylePresetMappings, isUnsupportedColumnDataTypeForIconStyle, } from '../../Utilities/Helpers/StyledColumns/IconStyleHelper';
6
+ import { shouldRenderStyledColumnOnRow } from '../../Utilities/Helpers/StyledColumns/StyledColumnHelper';
8
7
  import { errorOnce } from '../AdaptableLogger';
9
8
  const DEFAULT_SIZE = 18;
10
9
  const DEFAULT_GAP = 4;
10
+ const normaliseIconMappingKey = (key, matchMode) => {
11
+ if (typeof key === 'string' && matchMode === 'CaseInsensitive') {
12
+ return key.toLowerCase();
13
+ }
14
+ return key;
15
+ };
16
+ const resolveIconStyleMappingParts = (iconStyle) => {
17
+ const presetMappings = iconStyle.Preset
18
+ ? getIconStylePresetMappings(iconStyle.Preset)
19
+ : [];
20
+ const userMappings = iconStyle.Mappings ?? [];
21
+ if (presetMappings.length === 0 || userMappings.length === 0) {
22
+ return { presetMappings, userMappings };
23
+ }
24
+ const matchMode = iconStyle.MatchMode ?? 'Exact';
25
+ const overrideKeys = new Set(userMappings.map((m) => normaliseIconMappingKey(m.Key, matchMode)));
26
+ const filteredPreset = presetMappings.filter((p) => !overrideKeys.has(normaliseIconMappingKey(p.Key, matchMode)));
27
+ return { presetMappings: filteredPreset, userMappings };
28
+ };
11
29
  /**
12
30
  * Resolve the **effective** mapping list for an `IconStyle`:
13
31
  *
@@ -27,24 +45,33 @@ const DEFAULT_GAP = 4;
27
45
  export const resolveEffectiveIconStyleMappings = (iconStyle) => {
28
46
  if (!iconStyle)
29
47
  return [];
30
- const presetMappings = iconStyle.Preset
31
- ? getIconStylePresetMappings(iconStyle.Preset)
32
- : [];
33
- const userMappings = iconStyle.Mappings ?? [];
48
+ const { presetMappings, userMappings } = resolveIconStyleMappingParts(iconStyle);
34
49
  if (presetMappings.length === 0)
35
50
  return userMappings;
36
- if (userMappings.length === 0)
37
- return presetMappings;
38
- const matchMode = iconStyle.MatchMode ?? 'Exact';
39
- const normaliseKey = (k) => {
40
- if (typeof k === 'string' && matchMode === 'CaseInsensitive') {
41
- return k.toLowerCase();
51
+ if (userMappings.length === 0) {
52
+ return iconStyle.Preset ? getIconStylePresetMappings(iconStyle.Preset) : [];
53
+ }
54
+ return [...presetMappings, ...userMappings];
55
+ };
56
+ /**
57
+ * Mapping list for wizard / settings summaries: custom mappings first so
58
+ * user-authored entries are always visible, then any remaining preset
59
+ * entries (after override filtering).
60
+ */
61
+ export const resolveIconStyleMappingsForSummaryPreview = (iconStyle) => {
62
+ if (!iconStyle)
63
+ return [];
64
+ const { presetMappings, userMappings } = resolveIconStyleMappingParts(iconStyle);
65
+ if (userMappings.length === 0) {
66
+ if (presetMappings.length > 0) {
67
+ return presetMappings;
42
68
  }
43
- return k;
44
- };
45
- const overrideKeys = new Set(userMappings.map((m) => normaliseKey(m.Key)));
46
- const filteredPreset = presetMappings.filter((p) => !overrideKeys.has(normaliseKey(p.Key)));
47
- return [...filteredPreset, ...userMappings];
69
+ return iconStyle.Preset ? getIconStylePresetMappings(iconStyle.Preset) : [];
70
+ }
71
+ if (presetMappings.length === 0) {
72
+ return userMappings;
73
+ }
74
+ return [...userMappings, ...presetMappings];
48
75
  };
49
76
  /**
50
77
  * Look up `cellValue` in the mapping list using the configured match mode.
@@ -165,7 +192,9 @@ export const getIconRendererForColumn = (styledColumn, abColumn, api) => {
165
192
  const iconStyle = styledColumn.IconStyle;
166
193
  const size = iconStyle.Size ?? DEFAULT_SIZE;
167
194
  const gap = iconStyle.Gap ?? DEFAULT_GAP;
168
- const textPosition = iconStyle.CellTextPosition ?? 'After';
195
+ const cellTextProperties = iconStyle.CellTextProperties;
196
+ const textPosition = cellTextProperties?.CellTextPosition ?? 'After';
197
+ const cellTextTokens = cellTextProperties?.CellText ?? [];
169
198
  const matchMode = iconStyle.MatchMode ?? 'Exact';
170
199
  // Resolve once at column-setup time. Cheap; recomputed when the column
171
200
  // is reconfigured (which is when this factory is re-invoked anyway).
@@ -202,16 +231,15 @@ export const getIconRendererForColumn = (styledColumn, abColumn, api) => {
202
231
  const formatted = params.formatValue?.(cellValue) ??
203
232
  (cellValue != undefined ? String(cellValue) : '');
204
233
  // `CellText` describes the *companion text alongside a matched icon*.
205
- // `Fallback` describes *what to do when no mapping matches*. They are
206
- // independent: when there is no match, `Fallback` decides on its own
207
- // — `CellText` does not get to override `Fallback: 'Hide'`.
234
+ // `FallbackProperties.Mode` describes *what to do when no mapping matches*.
235
+ // They are independent: when there is no match, the fallback decides
236
+ // on its own — `CellText` does not get to override `Mode: 'Hide'`.
208
237
  let iconSpec;
209
238
  let text;
210
239
  let descriptionForTooltip;
211
240
  if (matched) {
212
241
  iconSpec = matched.Icon;
213
242
  descriptionForTooltip = matched.Description;
214
- const cellTextTokens = iconStyle.CellText ?? [];
215
243
  const textParts = [];
216
244
  if (cellTextTokens.includes('CellValue') && formatted) {
217
245
  textParts.push(formatted);
@@ -222,17 +250,18 @@ export const getIconRendererForColumn = (styledColumn, abColumn, api) => {
222
250
  text = textParts.length > 0 ? textParts.join(' · ') : undefined;
223
251
  }
224
252
  else if (!cellValueIsEmpty) {
225
- // Unmatched, non-empty cell: defer entirely to `Fallback`.
226
- const fallback = iconStyle.Fallback ?? 'Hide';
227
- if (fallback === 'ShowText') {
253
+ // Unmatched, non-empty cell: defer entirely to the fallback config.
254
+ const fallbackMode = iconStyle.FallbackProperties?.Mode ?? 'Hide';
255
+ const fallbackIcon = iconStyle.FallbackProperties?.Icon;
256
+ if (fallbackMode === 'ShowText') {
228
257
  text = formatted || undefined;
229
258
  }
230
- else if (fallback === 'Icon' && iconStyle.FallbackIcon) {
231
- iconSpec = iconStyle.FallbackIcon;
259
+ else if (fallbackMode === 'Icon' && fallbackIcon) {
260
+ iconSpec = fallbackIcon;
232
261
  }
233
262
  // 'Hide' (and the unsupported permutations) render nothing.
234
263
  }
235
- // else: empty cell → render nothing, regardless of `Fallback`.
264
+ // else: empty cell → render nothing, regardless of fallback config.
236
265
  // If we have nothing to draw, leave the cell empty (and skip mounting
237
266
  // a React root for this row).
238
267
  if (!iconSpec && !text) {