@adaptabletools/adaptable-cjs 23.0.0-canary.6 → 23.0.0-canary.8

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 (396) hide show
  1. package/icons/sort-asc.svg +1 -1
  2. package/index.css +828 -263
  3. package/package.json +1 -1
  4. package/src/AdaptableOptions/DataSetOptions.d.ts +26 -2
  5. package/src/AdaptableOptions/DefaultAdaptableOptions.js +0 -1
  6. package/src/AdaptableOptions/SettingsPanelOptions.d.ts +42 -10
  7. package/src/AdaptableState/Common/AdaptableFormat.d.ts +7 -0
  8. package/src/AdaptableState/Common/AdaptableMessageType.d.ts +1 -1
  9. package/src/AdaptableState/Common/Enums.d.ts +1 -1
  10. package/src/AdaptableState/Common/Enums.js +1 -1
  11. package/src/AdaptableState/StyledColumnState.d.ts +8 -850
  12. package/src/AdaptableState/StyledColumnState.js +0 -10
  13. package/src/AdaptableState/StyledColumns/BadgeStyle.d.ts +143 -0
  14. package/src/AdaptableState/StyledColumns/BadgeStyle.js +12 -0
  15. package/src/AdaptableState/StyledColumns/BulletChartStyle.d.ts +147 -0
  16. package/src/AdaptableState/StyledColumns/Common/BarChartCellText.d.ts +60 -0
  17. package/src/AdaptableState/StyledColumns/Common/BarChartCellText.js +7 -0
  18. package/src/AdaptableState/StyledColumns/Common/BarChartMarker.d.ts +24 -0
  19. package/src/AdaptableState/StyledColumns/Common/BarChartMarker.js +6 -0
  20. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.d.ts +13 -0
  21. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.js +7 -0
  22. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.d.ts +79 -0
  23. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.js +10 -0
  24. package/src/AdaptableState/StyledColumns/GradientStyle.d.ts +48 -0
  25. package/src/AdaptableState/StyledColumns/GradientStyle.js +2 -0
  26. package/src/AdaptableState/StyledColumns/IconStyle.d.ts +158 -0
  27. package/src/AdaptableState/StyledColumns/IconStyle.js +2 -0
  28. package/src/AdaptableState/StyledColumns/PercentBarStyle.d.ts +32 -0
  29. package/src/AdaptableState/StyledColumns/PercentBarStyle.js +2 -0
  30. package/src/AdaptableState/StyledColumns/RangeBarStyle.d.ts +155 -0
  31. package/src/AdaptableState/StyledColumns/RangeBarStyle.js +2 -0
  32. package/src/AdaptableState/StyledColumns/RatingStyle.d.ts +111 -0
  33. package/src/AdaptableState/StyledColumns/RatingStyle.js +2 -0
  34. package/src/AdaptableState/StyledColumns/SparklineStyle.d.ts +21 -0
  35. package/src/AdaptableState/StyledColumns/SparklineStyle.js +2 -0
  36. package/src/Api/ColumnScopeApi.d.ts +1 -1
  37. package/src/Api/Implementation/ColumnScopeApiImpl.d.ts +1 -1
  38. package/src/Api/Internal/AlertInternalApi.js +1 -1
  39. package/src/Api/Internal/DataSetInternalApi.d.ts +3 -0
  40. package/src/Api/Internal/DataSetInternalApi.js +73 -13
  41. package/src/Api/Internal/StyledColumnInternalApi.d.ts +3 -1
  42. package/src/Redux/Store/AdaptableStore.js +6 -4
  43. package/src/Strategy/CalculatedColumnModule.js +1 -0
  44. package/src/Strategy/ColumnFilterModule.js +1 -0
  45. package/src/Strategy/FlashingCellModule.js +6 -2
  46. package/src/Strategy/FormatColumnModule.js +1 -1
  47. package/src/Strategy/FreeTextColumnModule.js +38 -28
  48. package/src/Strategy/Interface/IModule.d.ts +3 -1
  49. package/src/Strategy/LayoutModule.js +15 -66
  50. package/src/Strategy/StyledColumnModule.js +11 -28
  51. package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.d.ts +1 -0
  52. package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.js +1 -0
  53. package/src/Strategy/Utilities/Export/getExportColumnsViewItems.d.ts +2 -0
  54. package/src/Strategy/Utilities/Export/getExportColumnsViewItems.js +17 -1
  55. package/src/Strategy/Utilities/Export/getExportRowsViewItems.d.ts +1 -0
  56. package/src/Strategy/Utilities/Export/getExportRowsViewItems.js +5 -1
  57. package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.d.ts +11 -0
  58. package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.js +111 -0
  59. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.d.ts +48 -0
  60. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.js +177 -0
  61. package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.d.ts +1 -0
  62. package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.js +1 -0
  63. package/src/Strategy/Utilities/Layout/rowGroupSummaryHelpers.d.ts +26 -0
  64. package/src/Strategy/Utilities/Layout/rowGroupSummaryHelpers.js +97 -0
  65. package/src/Utilities/Defaults/DefaultSettingsPanel.d.ts +3 -5
  66. package/src/Utilities/Defaults/DefaultSettingsPanel.js +48 -42
  67. package/src/Utilities/Helpers/FormatHelper.js +3 -0
  68. package/src/Utilities/Helpers/IconStylePresets.d.ts +1 -1
  69. package/src/Utilities/Helpers/ScheduleHelper.js +2 -0
  70. package/src/Utilities/Helpers/StyleHelper.d.ts +18 -0
  71. package/src/Utilities/Helpers/StyleHelper.js +30 -1
  72. package/src/Utilities/Helpers/StyledColumnGradientHelper.d.ts +3 -1
  73. package/src/Utilities/Helpers/StyledColumnGradientHelper.js +6 -4
  74. package/src/Utilities/Helpers/barChartCellText.d.ts +63 -0
  75. package/src/Utilities/Helpers/barChartCellText.js +333 -0
  76. package/src/Utilities/Helpers/percentBarPreviewHelper.d.ts +2 -1
  77. package/src/Utilities/Helpers/percentBarPreviewHelper.js +3 -8
  78. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.d.ts +3 -0
  79. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.js +19 -0
  80. package/src/Utilities/getScopeViewItems.js +2 -0
  81. package/src/Utilities/wizardSelection.d.ts +10 -0
  82. package/src/Utilities/wizardSelection.js +22 -0
  83. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +2 -2
  84. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +2 -2
  85. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +3 -3
  86. package/src/View/Alert/AlertViewPanel.js +2 -2
  87. package/src/View/Alert/Utilities/getAlertButtonStyle.js +7 -4
  88. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.d.ts +0 -1
  89. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +1 -6
  90. package/src/View/Alert/Wizard/AlertButtonsEditor.js +159 -125
  91. package/src/View/Alert/Wizard/AlertMessageWizardSection.d.ts +1 -1
  92. package/src/View/Alert/Wizard/AlertMessageWizardSection.js +1 -2
  93. package/src/View/Alert/Wizard/AlertNotificationWizardSection.d.ts +1 -1
  94. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +4 -5
  95. package/src/View/Alert/Wizard/AlertScheduledWizardSection.d.ts +1 -1
  96. package/src/View/Alert/Wizard/AlertScheduledWizardSection.js +1 -2
  97. package/src/View/Alert/Wizard/AlertTypeWizardSection.d.ts +1 -1
  98. package/src/View/Alert/Wizard/AlertTypeWizardSection.js +30 -7
  99. package/src/View/Alert/Wizard/AlertWizard.js +12 -4
  100. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.d.ts +2 -1
  101. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +3 -14
  102. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  103. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +4 -6
  104. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.d.ts +1 -1
  105. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +1 -2
  106. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -1
  107. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +29 -3
  108. package/src/View/CellSummary/CellSummaryViewPanel.js +4 -4
  109. package/src/View/Charting/ShowChartButton.js +8 -8
  110. package/src/View/ColumnInfo/ColumnInfo.js +21 -1
  111. package/src/View/Components/AdaptableObjectCollection/index.js +2 -3
  112. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +3 -2
  113. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +7 -6
  114. package/src/View/Components/AdaptableObjectList/objectListActionButtonStyles.d.ts +2 -0
  115. package/src/View/Components/AdaptableObjectList/objectListActionButtonStyles.js +6 -0
  116. package/src/View/Components/AdaptableObjectRow/index.js +2 -2
  117. package/src/View/Components/Buttons/ButtonBase/index.js +2 -3
  118. package/src/View/Components/Buttons/ButtonNew.d.ts +2 -0
  119. package/src/View/Components/Buttons/ButtonNew.js +1 -1
  120. package/src/View/Components/Buttons/EntityListActionButtons.js +3 -3
  121. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -0
  122. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +9 -9
  123. package/src/View/Components/ColumnFilter/ColumnFilter.js +15 -3
  124. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +2 -2
  125. package/src/View/Components/ColumnSelector/index.d.ts +12 -0
  126. package/src/View/Components/ColumnSelector/index.js +30 -6
  127. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +2 -2
  128. package/src/View/Components/ModuleValueSelector/index.js +2 -1
  129. package/src/View/Components/NewScopeComponent.js +3 -8
  130. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +5 -4
  131. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +4 -4
  132. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +3 -3
  133. package/src/View/Components/Popups/AdaptablePopup/Navigation.d.ts +3 -2
  134. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +38 -28
  135. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +3 -4
  136. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +2 -3
  137. package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.d.ts +11 -0
  138. package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.js +5 -0
  139. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +3 -1
  140. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +27 -28
  141. package/src/View/Components/PredicateEditor/PredicateEditor.js +1 -1
  142. package/src/View/Components/RangesComponent.d.ts +4 -5
  143. package/src/View/Components/RangesComponent.js +95 -66
  144. package/src/View/Components/ReorderDraggable/index.js +2 -3
  145. package/src/View/Components/Selectors/BulkUpdateValueSelector.d.ts +0 -2
  146. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +3 -3
  147. package/src/View/Components/StyleComponent.js +30 -63
  148. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +9 -6
  149. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +3 -13
  150. package/src/View/Components/ToolPanel/ToolPanelPopup.js +5 -80
  151. package/src/View/Components/ToolPanel/ToolPanelPopupSections.d.ts +17 -0
  152. package/src/View/Components/ToolPanel/ToolPanelPopupSections.js +81 -0
  153. package/src/View/Components/ValueSelector/index.d.ts +29 -0
  154. package/src/View/Components/ValueSelector/index.js +112 -29
  155. package/src/View/Components/wizardColumnListStyles.d.ts +10 -0
  156. package/src/View/Components/wizardColumnListStyles.js +13 -0
  157. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.d.ts +2 -1
  158. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +4 -6
  159. package/src/View/CustomSort/Wizard/CustomSortWizard.js +2 -2
  160. package/src/View/Dashboard/DashboardPopup.d.ts +1 -11
  161. package/src/View/Dashboard/DashboardPopup.js +3 -67
  162. package/src/View/Dashboard/DashboardPopupSections.d.ts +20 -0
  163. package/src/View/Dashboard/DashboardPopupSections.js +73 -0
  164. package/src/View/Dashboard/PinnedToolbarsSelector.js +2 -2
  165. package/src/View/DataChangeHistory/DataChangeHistoryPopup.d.ts +1 -6
  166. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +8 -20
  167. package/src/View/DataChangeHistory/DataChangeHistoryTable.d.ts +8 -0
  168. package/src/View/DataChangeHistory/DataChangeHistoryTable.js +99 -0
  169. package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +5 -3
  170. package/src/View/DataChangeHistory/buildActionColumnButton.js +33 -41
  171. package/src/View/DataChangeHistory/dataChangeHistoryHelpers.d.ts +15 -0
  172. package/src/View/DataChangeHistory/dataChangeHistoryHelpers.js +46 -0
  173. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
  174. package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +32 -19
  175. package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +1 -1
  176. package/src/View/DataSet/DataSetViewPanel.d.ts +2 -2
  177. package/src/View/Export/ExportDestinationPicker.js +4 -5
  178. package/src/View/Export/ExportSchedulesTab.js +3 -4
  179. package/src/View/Export/ExportViewPanel.js +2 -2
  180. package/src/View/Export/Wizard/ReportColumnsWizardSection.d.ts +2 -1
  181. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +2 -7
  182. package/src/View/Export/Wizard/ReportRowsWizardSection.d.ts +2 -1
  183. package/src/View/Export/Wizard/ReportRowsWizardSection.js +2 -5
  184. package/src/View/Filter/FilterViewPanel.js +1 -1
  185. package/src/View/FlashingCell/FlashingCellStyle.d.ts +4 -2
  186. package/src/View/FlashingCell/FlashingCellStyle.js +5 -3
  187. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.d.ts +2 -1
  188. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +5 -9
  189. package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.d.ts +9 -0
  190. package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.js +10 -0
  191. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.d.ts +1 -1
  192. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +5 -1
  193. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +0 -5
  194. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +3 -8
  195. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +1 -2
  196. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +1 -1
  197. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +101 -44
  198. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +0 -1
  199. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -6
  200. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +55 -15
  201. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +1 -1
  202. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +2 -3
  203. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +5 -9
  204. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +4 -9
  205. package/src/View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags.js +3 -2
  206. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +1 -2
  207. package/src/View/GridFilter/GridFilterPopupUI/index.js +3 -2
  208. package/src/View/GridFilter/GridFilterViewPanel.js +5 -5
  209. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +2 -3
  210. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -2
  211. package/src/View/Layout/LayoutViewPanel.js +2 -2
  212. package/src/View/Layout/Wizard/LayoutWizard.js +24 -28
  213. package/src/View/Layout/Wizard/sections/AggregationsSection.d.ts +13 -1
  214. package/src/View/Layout/Wizard/sections/AggregationsSection.js +77 -33
  215. package/src/View/Layout/Wizard/sections/ColumnsSection.d.ts +4 -1
  216. package/src/View/Layout/Wizard/sections/ColumnsSection.js +154 -275
  217. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.d.ts +4 -1
  218. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +146 -143
  219. package/src/View/Layout/Wizard/sections/PivotColumnsSection.d.ts +5 -2
  220. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +22 -10
  221. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.d.ts +4 -1
  222. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +21 -10
  223. package/src/View/Layout/Wizard/sections/RowGroupingSection.d.ts +5 -2
  224. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +23 -12
  225. package/src/View/Layout/Wizard/sections/RowSelectionSection.js +7 -3
  226. package/src/View/Layout/Wizard/sections/RowSummarySection.js +130 -104
  227. package/src/View/Layout/Wizard/sections/SortSection.d.ts +12 -2
  228. package/src/View/Layout/Wizard/sections/SortSection.js +43 -18
  229. package/src/View/Layout/Wizard/sections/columnLayoutCards.d.ts +20 -0
  230. package/src/View/Layout/Wizard/sections/columnLayoutCards.js +167 -0
  231. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.d.ts +30 -0
  232. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.js +216 -0
  233. package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.d.ts +8 -0
  234. package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.js +72 -0
  235. package/src/View/Layout/Wizard/sections/layoutWizardColumns.d.ts +11 -0
  236. package/src/View/Layout/Wizard/sections/layoutWizardColumns.js +57 -0
  237. package/src/View/License/LicenseWatermark.js +1 -1
  238. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.d.ts +1 -1
  239. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +1 -2
  240. package/src/View/Note/NoteEditor.js +2 -2
  241. package/src/View/QuickSearch/QuickSearchPopup.js +2 -3
  242. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +1 -1
  243. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +1 -1
  244. package/src/View/SmartEdit/SmartEditPopup.js +2 -2
  245. package/src/View/SmartEdit/SmartEditViewPanel.js +2 -2
  246. package/src/View/StateManagement/StateManagementPopup.js +1 -1
  247. package/src/View/StateManagement/components/ExportDropdown.d.ts +2 -2
  248. package/src/View/StateManagement/components/ExportDropdown.js +12 -13
  249. package/src/View/StatusBar/StatusBarPanel.js +2 -2
  250. package/src/View/StatusBar/StatusBarPopup.js +33 -5
  251. package/src/View/StatusBar/statusBarPanelHelpers.d.ts +2 -0
  252. package/src/View/StatusBar/statusBarPanelHelpers.js +11 -0
  253. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +3 -1
  254. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +13 -10
  255. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.d.ts +2 -2
  256. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +143 -119
  257. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.d.ts +1 -3
  258. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +7 -13
  259. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +2 -1
  260. package/src/View/StyledColumn/Wizard/StyledColumnTypeThumbnail.d.ts +5 -0
  261. package/src/View/StyledColumn/Wizard/StyledColumnTypeThumbnail.js +54 -0
  262. package/src/View/StyledColumn/Wizard/StyledColumnWizard.d.ts +2 -0
  263. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +28 -6
  264. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +76 -70
  265. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +2 -1
  266. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +83 -38
  267. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +172 -75
  268. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +2 -1
  269. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.d.ts +1 -1
  270. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +31 -45
  271. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarChartCellTextLayoutEditor.d.ts +9 -0
  272. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarChartCellTextLayoutEditor.js +40 -0
  273. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarChartCellTextPreview.d.ts +23 -0
  274. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarChartCellTextPreview.js +62 -0
  275. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BulletRangesSummaryPreview.d.ts +1 -1
  276. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.d.ts +2 -1
  277. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/RangeBarRangesSummaryPreview.d.ts +1 -1
  278. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +3 -2
  279. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.d.ts +2 -1
  280. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.js +13 -17
  281. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.d.ts +2 -1
  282. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.js +5 -5
  283. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnIconPreview.js +2 -2
  284. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview.js +13 -6
  285. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.js +11 -17
  286. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.d.ts +2 -1
  287. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +26 -57
  288. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +93 -6
  289. package/src/View/UIHelper.d.ts +0 -2
  290. package/src/View/UIHelper.js +8 -24
  291. package/src/View/Wizard/CollapsibleWizardCard.d.ts +68 -0
  292. package/src/View/Wizard/CollapsibleWizardCard.js +90 -0
  293. package/src/View/Wizard/OnePageWizards.js +6 -6
  294. package/src/View/Wizard/SummaryColorTag.d.ts +24 -0
  295. package/src/View/Wizard/SummaryColorTag.js +79 -0
  296. package/src/View/Wizard/WizardTypeSelection.d.ts +34 -0
  297. package/src/View/Wizard/WizardTypeSelection.js +40 -0
  298. package/src/View/Wizard/rowGroupSummaryTags.d.ts +18 -0
  299. package/src/View/Wizard/rowGroupSummaryTags.js +21 -0
  300. package/src/View/Wizard/scopeSummaryTags.d.ts +6 -0
  301. package/src/View/Wizard/scopeSummaryTags.js +38 -0
  302. package/src/agGrid/AgGridAdapter.js +0 -5
  303. package/src/agGrid/AgGridColumnAdapter.js +3 -2
  304. package/src/agGrid/cellRenderers/ActionColumnRenderer.js +4 -7
  305. package/src/agGrid/cellRenderers/BadgeRenderer.js +7 -5
  306. package/src/agGrid/cellRenderers/BulletChartRenderer.js +43 -42
  307. package/src/agGrid/cellRenderers/IconRenderer.d.ts +2 -1
  308. package/src/agGrid/cellRenderers/IconRenderer.js +13 -11
  309. package/src/agGrid/cellRenderers/PercentBarRenderer.js +24 -96
  310. package/src/agGrid/cellRenderers/RangeBarRenderer.js +49 -46
  311. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -1
  312. package/src/components/Card/index.js +5 -7
  313. package/src/components/CheckBox/index.js +2 -3
  314. package/src/components/CodeBlock/index.js +2 -3
  315. package/src/components/ColorPicker/ColorPicker.d.ts +1 -0
  316. package/src/components/ColorPicker/ColorPicker.js +8 -6
  317. package/src/components/ColorPicker/OptionalColorPicker.d.ts +12 -0
  318. package/src/components/ColorPicker/OptionalColorPicker.js +31 -0
  319. package/src/components/ColorPicker/index.d.ts +1 -0
  320. package/src/components/ColorPicker/index.js +1 -0
  321. package/src/components/Combobox/comboboxUtils.d.ts +1 -0
  322. package/src/components/Combobox/index.js +19 -18
  323. package/src/components/Dashboard/DashboardManager.js +2 -4
  324. package/src/components/Dialog/index.js +4 -4
  325. package/src/components/DragAndDropContext/DragAndDropContext.d.ts +5 -0
  326. package/src/components/DragAndDropContext/DragAndDropContext.js +4 -1
  327. package/src/components/DragAndDropContext/ModuleManager.d.ts +15 -3
  328. package/src/components/DragAndDropContext/ModuleManager.js +43 -4
  329. package/src/components/DragAndDropContext/TabList.d.ts +11 -4
  330. package/src/components/DragAndDropContext/TabList.js +52 -38
  331. package/src/components/DragAndDropContext/UnusedPanel.d.ts +4 -3
  332. package/src/components/DragAndDropContext/UnusedPanel.js +13 -9
  333. package/src/components/DragAndDropContext/dragScope.d.ts +6 -0
  334. package/src/components/DragAndDropContext/dragScope.js +34 -0
  335. package/src/components/DragAndDropContext/types.d.ts +7 -0
  336. package/src/components/DropdownButton/index.d.ts +33 -25
  337. package/src/components/DropdownButton/index.js +24 -158
  338. package/src/components/EmptyContent/index.js +2 -3
  339. package/src/components/ErrorBox/index.js +2 -3
  340. package/src/components/ExpressionEditor/BaseEditorInput.js +3 -3
  341. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +3 -3
  342. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +9 -9
  343. package/src/components/FieldWrap/index.js +2 -3
  344. package/src/components/Flex.js +2 -2
  345. package/src/components/FormLayout/index.d.ts +1 -1
  346. package/src/components/HelpBlock/index.js +3 -4
  347. package/src/components/IconSelector/IconSelector.d.ts +8 -0
  348. package/src/components/IconSelector/IconSelector.js +13 -8
  349. package/src/components/IconSelector/index.d.ts +1 -0
  350. package/src/components/IconSelector/index.js +3 -0
  351. package/src/components/Modal/index.js +2 -2
  352. package/src/components/NewSelect/index.js +11 -1
  353. package/src/components/Panel/index.js +7 -7
  354. package/src/components/Radio/index.d.ts +1 -1
  355. package/src/components/Radio/index.js +8 -6
  356. package/src/components/SimpleButton/index.js +7 -7
  357. package/src/components/StylePreview.js +2 -3
  358. package/src/components/Tabs/index.js +4 -4
  359. package/src/components/Tag/Tag.d.ts +16 -0
  360. package/src/components/Tag/Tag.js +16 -5
  361. package/src/components/Tag/columnScopeTagHelpers.d.ts +8 -0
  362. package/src/components/Tag/columnScopeTagHelpers.js +12 -0
  363. package/src/components/Tag/index.d.ts +1 -1
  364. package/src/components/Tag/index.js +3 -1
  365. package/src/components/Textarea/index.js +2 -3
  366. package/src/components/Toggle/Toggle.d.ts +2 -0
  367. package/src/components/Toggle/Toggle.js +14 -7
  368. package/src/components/Toggle/ToggleGroup.js +2 -2
  369. package/src/components/ToggleButton/index.js +4 -5
  370. package/src/components/Tree/TreeDropdown/index.js +3 -5
  371. package/src/components/WarningBox/index.js +2 -3
  372. package/src/components/icons/sort-asc.js +1 -1
  373. package/src/components/ui/button.d.ts +2 -2
  374. package/src/components/ui/combobox.d.ts +3 -1
  375. package/src/components/ui/combobox.js +2 -2
  376. package/src/components/ui/input-group.d.ts +1 -1
  377. package/src/components/ui/select.js +3 -2
  378. package/src/components/ui/textarea.js +1 -1
  379. package/src/env.js +2 -2
  380. package/src/layout-manager/src/index.js +7 -3
  381. package/src/metamodel/adaptable.metamodel.d.ts +80 -14
  382. package/src/metamodel/adaptable.metamodel.js +1 -1
  383. package/src/migration/VersionUpgrade23.d.ts +27 -31
  384. package/src/migration/VersionUpgrade23.js +110 -29
  385. package/src/types.d.ts +13 -2
  386. package/tsconfig.cjs.tsbuildinfo +1 -1
  387. package/src/View/DataChangeHistory/DataChangeHistoryGrid.d.ts +0 -17
  388. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +0 -295
  389. package/src/components/DropdownButton/DropdownButtonItem.d.ts +0 -12
  390. package/src/components/DropdownButton/renderItem.d.ts +0 -14
  391. package/src/components/DropdownButton/renderItem.js +0 -14
  392. package/src/components/DropdownButton/useExpanded.d.ts +0 -24
  393. package/src/components/DropdownButton/useExpanded.js +0 -59
  394. package/src/components/NewDropdownButton/index.d.ts +0 -27
  395. package/src/components/NewDropdownButton/index.js +0 -28
  396. /package/src/{components/DropdownButton/DropdownButtonItem.js → AdaptableState/StyledColumns/BulletChartStyle.js} +0 -0
@@ -8,19 +8,21 @@ const CheckBox_1 = require("../../../components/CheckBox");
8
8
  const ErrorBox_1 = tslib_1.__importDefault(require("../../../components/ErrorBox"));
9
9
  const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayout"));
10
10
  const Tag_1 = require("../../../components/Tag");
11
+ const InputGroup_1 = require("../../../components/InputGroup");
11
12
  const ColorPicker_1 = require("../../../components/ColorPicker");
12
13
  const RangesComponent_1 = require("../../Components/RangesComponent");
13
14
  const ColumnSelector_1 = require("../../Components/Selectors/ColumnSelector");
14
15
  const UIHelper_1 = require("../../UIHelper");
15
16
  const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
16
- const DropdownButton_1 = tslib_1.__importDefault(require("../../../components/DropdownButton"));
17
- const ArrayExtensions_1 = tslib_1.__importDefault(require("../../../Utilities/Extensions/ArrayExtensions"));
18
17
  const AdaptableInput_1 = tslib_1.__importDefault(require("../../Components/AdaptableInput"));
19
18
  const Flex_1 = require("../../../components/Flex");
20
19
  const NewSelect_1 = require("../../../components/NewSelect");
21
20
  const RangeBarRangesSummaryPreview_1 = require("./StyledColumnWizardStyleSection/Components/RangeBarRangesSummaryPreview");
22
21
  const StyledColumnRangeBarPreview_1 = require("./StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview");
23
22
  const Card_1 = require("../../../components/Card");
23
+ const SummaryColorTag_1 = require("../../Wizard/SummaryColorTag");
24
+ const barChartCellText_1 = require("../../../Utilities/Helpers/barChartCellText");
25
+ const BarChartCellTextLayoutEditor_1 = require("./StyledColumnWizardStyleSection/Components/BarChartCellTextLayoutEditor");
24
26
  const RANGE_STYLE_FORM_SIZES = ['200px', '1fr'];
25
27
  const BOUND_MODE_LABELS = {
26
28
  Number: 'Fixed Number',
@@ -50,6 +52,66 @@ const summarizeBound = (bound) => {
50
52
  }
51
53
  return bound;
52
54
  };
55
+ /**
56
+ * A single joined bound control: a type selector (Fixed Number / Column /
57
+ * Column Min / Max / Average / Median, plus `None` for the optional Reference)
58
+ * joined inline with a contextual editor. Mirrors the Column Comparison bound
59
+ * input so the two read as one block: the select hard-codes `rounded-input`, so
60
+ * the touching corners are flattened directly (important, to beat it) and the
61
+ * shared border overlapped via `-ml-px`.
62
+ *
63
+ * - Fixed Number → editable number input
64
+ * - Column → numeric column selector (excluding the styled column)
65
+ * - Col-* (aggregate) → disabled input showing the resolved value (when a
66
+ * column is in scope), so the user sees the underlying number
67
+ * - None → no editor (selector only)
68
+ */
69
+ const RangeBarBoundInput = ({ api, value, optional, fallbackNumber, excludeColumnId, resolved, disabled, onChange }) => {
70
+ const mode = getBoundMode(value);
71
+ const handleModeChange = (next) => {
72
+ if (next === mode)
73
+ return;
74
+ if (next === 'None')
75
+ return onChange(undefined);
76
+ if (next === 'Number')
77
+ return onChange(fallbackNumber);
78
+ if (next === 'Column') {
79
+ const candidate = api.columnApi
80
+ .getNumericColumns()
81
+ .find((c) => c.columnId !== excludeColumnId);
82
+ return onChange(candidate?.columnId ?? '');
83
+ }
84
+ // Col-Min / Col-Max / Col-Avg / Col-Median
85
+ return onChange(next);
86
+ };
87
+ const items = [
88
+ ...(optional ? [{ value: 'None', label: 'None' }] : []),
89
+ { value: 'Number', label: BOUND_MODE_LABELS.Number },
90
+ { value: 'Column', label: BOUND_MODE_LABELS.Column },
91
+ { value: 'Col-Min', label: BOUND_MODE_LABELS['Col-Min'] },
92
+ { value: 'Col-Max', label: BOUND_MODE_LABELS['Col-Max'] },
93
+ { value: 'Col-Avg', label: BOUND_MODE_LABELS['Col-Avg'] },
94
+ { value: 'Col-Median', label: BOUND_MODE_LABELS['Col-Median'] },
95
+ ];
96
+ const hasEditor = mode !== 'None';
97
+ let editor = null;
98
+ if (mode === 'Number') {
99
+ editor = ((0, jsx_runtime_1.jsx)(AdaptableInput_1.default, { className: "twa:w-full", type: "number", disabled: disabled, value: typeof value === 'number' ? value : '', onChange: (e) => onChange(e.target.value === '' ? 0 : Number(e.target.value)) }));
100
+ }
101
+ else if (mode === 'Column') {
102
+ editor = ((0, jsx_runtime_1.jsx)(ColumnSelector_1.ColumnSelector, { type: "number", disabled: disabled, value: typeof value === 'string' ? value : '', onChange: (columnId) => onChange(columnId), filterColumn: (c) => c.columnId !== excludeColumnId, placeholder: "Select column" }));
103
+ }
104
+ else if (hasEditor) {
105
+ const resolvedValue = resolved[mode];
106
+ editor = ((0, jsx_runtime_1.jsx)(AdaptableInput_1.default, { className: "twa:w-full", type: "number", disabled: true, readOnly: true, value: resolvedValue ?? '', title: "Computed across the column's visible rows" }));
107
+ }
108
+ const editorWrapperClassName = [
109
+ 'twa:flex-1 twa:basis-0 twa:min-w-0 twa:-ml-px',
110
+ 'twa:[&_.ab-Input]:w-full twa:[&_.ab-Input]:rounded-l-none!',
111
+ 'twa:[&_[data-slot=input-group]]:w-full! twa:[&_[data-slot=input-group]]:rounded-l-none!',
112
+ ].join(' ');
113
+ return ((0, jsx_runtime_1.jsxs)(InputGroup_1.InputGroup, { Component: Flex_1.Flex, className: "twa:items-stretch twa:max-w-[22rem]", children: [(0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { className: `twa:w-[150px] twa:max-w-none twa:shrink-0 twa:box-border${hasEditor ? ' twa:rounded-r-none!' : ''}`, disabled: disabled, value: mode, items: items, onValueChange: (v) => handleModeChange(v) }), hasEditor && (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: editorWrapperClassName, children: editor })] }));
114
+ };
53
115
  const formatRangeBarCellTextSummary = (cellText) => cellText
54
116
  ?.map((t) => (t === 'CellValue' ? 'Cell Value' : 'Percent Value'))
55
117
  .join(' + ') ?? '';
@@ -65,8 +127,8 @@ const getStyledColumnRangeBarRangeViewValues = (data) => {
65
127
  `Min: ${summarizeBound(range.Min)}`,
66
128
  `Max: ${summarizeBound(range.Max)}`,
67
129
  ];
68
- if (range.Reference != undefined) {
69
- items.push(`Reference: ${summarizeBound(range.Reference)}`);
130
+ if (range.Reference?.Value != undefined) {
131
+ items.push(`Reference: ${summarizeBound(range.Reference.Value)}`);
70
132
  }
71
133
  const bandCount = range.CellRanges?.length ?? 0;
72
134
  if (bandCount > 0) {
@@ -81,7 +143,8 @@ exports.getStyledColumnRangeBarRangeViewValues = getStyledColumnRangeBarRangeVie
81
143
  const buildStyledColumnRangeBarDisplaySummaryStrings = (range, options) => {
82
144
  const items = [];
83
145
  const valueMarker = range.Marker;
84
- const referenceMarker = range.ReferenceMarker;
146
+ const referenceProperties = range.Reference;
147
+ const referenceMarker = referenceProperties?.Marker;
85
148
  items.push(`Value Marker Shape: ${valueMarker?.Shape ?? 'Diamond'}`);
86
149
  if (valueMarker?.Color) {
87
150
  items.push(`Value Marker Colour: ${valueMarker.Color}`);
@@ -89,7 +152,7 @@ const buildStyledColumnRangeBarDisplaySummaryStrings = (range, options) => {
89
152
  if (valueMarker?.Size != null) {
90
153
  items.push(`Value Marker Size: ${valueMarker.Size}px`);
91
154
  }
92
- if (range.Reference != undefined) {
155
+ if (referenceProperties?.Value != undefined) {
93
156
  items.push(`Reference Marker Shape: ${referenceMarker?.Shape ?? 'Line'}`);
94
157
  if (referenceMarker?.Color) {
95
158
  items.push(`Reference Marker Colour: ${referenceMarker.Color}`);
@@ -101,25 +164,31 @@ const buildStyledColumnRangeBarDisplaySummaryStrings = (range, options) => {
101
164
  if (range.Orientation === 'Vertical') {
102
165
  items.push('Orientation: Vertical');
103
166
  }
104
- const outOfRangeMode = range.OutOfRangeMode ?? 'Clamp';
167
+ const outOfRangeProperties = range.OutOfRange;
168
+ const outOfRangeMode = outOfRangeProperties?.Mode ?? 'Clamp';
105
169
  if (outOfRangeMode !== 'Clamp') {
106
170
  items.push(`Out of Range: ${outOfRangeMode}`);
107
171
  }
108
- if (range.OutOfRangeColor) {
109
- items.push(`Out of Range Colour: ${range.OutOfRangeColor}`);
172
+ if (outOfRangeProperties?.Color) {
173
+ items.push(`Out of Range Colour: ${outOfRangeProperties.Color}`);
110
174
  }
111
- if (range.TrackColor) {
112
- items.push(`Track Colour: ${range.TrackColor}`);
175
+ const trackProperties = range.Track;
176
+ if (trackProperties?.Color) {
177
+ items.push(`Track Colour: ${trackProperties.Color}`);
113
178
  }
114
- if (range.TrackHeight != null) {
115
- items.push(`Track Height: ${range.TrackHeight}px`);
179
+ if (trackProperties?.Height != null) {
180
+ items.push(`Track Height: ${trackProperties.Height}px`);
116
181
  }
117
182
  if (range.BackColor) {
118
183
  items.push(`Back Colour: ${range.BackColor}`);
119
184
  }
120
- if (range.CellText?.length) {
121
- items.push(`Cell Text: ${formatRangeBarCellTextSummary(range.CellText)}`);
122
- items.push(`Cell Text Position: ${range.CellTextPosition ?? 'Below'}`);
185
+ if ((0, barChartCellText_1.hasBarChartCellTextConfigured)(range.CellTextProperties)) {
186
+ const tokens = (0, barChartCellText_1.getActiveBarChartCellTextTokens)(range.CellTextProperties);
187
+ items.push(`Cell Text: ${formatRangeBarCellTextSummary(tokens)}`);
188
+ const layoutSummary = (0, barChartCellText_1.formatBarChartCellTextLayoutSummary)((0, barChartCellText_1.resolveBarChartCellTextLayout)(range.CellTextProperties));
189
+ if (layoutSummary) {
190
+ items.push(`Placement: ${layoutSummary}`);
191
+ }
123
192
  }
124
193
  else if (options.includeEmptyCellText) {
125
194
  items.push('Cell Text: None');
@@ -150,7 +219,7 @@ const renderStyledColumnRangeBarRangeStepSummary = (data) => {
150
219
  return (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "No Styling Defined" });
151
220
  }
152
221
  const tagItems = (0, exports.getStyledColumnRangeBarRangeViewValues)(data);
153
- return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-2 twa:items-start", children: [(0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", className: "twa:flex-wrap twa:gap-2", children: tagItems.map((item) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: item }, item))) }), (0, jsx_runtime_1.jsx)(RangeBarRangesSummaryPreview_1.RangeBarRangesSummaryPreview, { rangeStyle: range })] }));
222
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:gap-2 twa:items-start", children: [(0, SummaryColorTag_1.renderSummaryStringTags)(tagItems), (0, jsx_runtime_1.jsx)(RangeBarRangesSummaryPreview_1.RangeBarRangesSummaryPreview, { rangeStyle: range })] }));
154
223
  };
155
224
  exports.renderStyledColumnRangeBarRangeStepSummary = renderStyledColumnRangeBarRangeStepSummary;
156
225
  const StyledColumnRangeBarRangeView = ({ data }) => (0, exports.renderStyledColumnRangeBarRangeStepSummary)(data);
@@ -168,7 +237,7 @@ const renderStyledColumnRangeBarDisplayStepSummary = (data) => {
168
237
  if (!items.length) {
169
238
  return (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "No Display Defined" });
170
239
  }
171
- return ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", className: "twa:flex-wrap twa:gap-2", children: items.map((item) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: item }, item))) }));
240
+ return (0, SummaryColorTag_1.renderSummaryStringTags)(items);
172
241
  };
173
242
  exports.renderStyledColumnRangeBarDisplayStepSummary = renderStyledColumnRangeBarDisplayStepSummary;
174
243
  /**
@@ -271,48 +340,79 @@ const StyledColumnWizardRangeBarSection = (props) => {
271
340
  },
272
341
  });
273
342
  }, [data, range]);
343
+ const updateBackColor = (color) => {
344
+ if (color) {
345
+ update({ BackColor: color });
346
+ return;
347
+ }
348
+ const next = { ...range };
349
+ delete next.BackColor;
350
+ props.onChange({ ...data, RangeBarStyle: next });
351
+ };
352
+ const updateTrackProperties = (patch) => {
353
+ const merged = {
354
+ ...range.Track,
355
+ ...patch,
356
+ };
357
+ const isEmpty = merged.Color == undefined && merged.Height == undefined;
358
+ update({ Track: isEmpty ? undefined : merged });
359
+ };
360
+ const updateOutOfRangeProperties = (patch) => {
361
+ const merged = {
362
+ ...range.OutOfRange,
363
+ ...patch,
364
+ };
365
+ // Default mode is `Clamp` with no override colour; drop the wrapper in
366
+ // that case so empty state serialises cleanly.
367
+ const isEmpty = (merged.Mode == undefined || merged.Mode === 'Clamp') && merged.Color == undefined;
368
+ update({ OutOfRange: isEmpty ? undefined : merged });
369
+ };
370
+ const updateReferenceProperties = (patch) => {
371
+ const merged = {
372
+ Value: range.Reference?.Value,
373
+ ...range.Reference,
374
+ ...patch,
375
+ };
376
+ update({ Reference: merged });
377
+ };
274
378
  // -- Bound editors ---------------------------------------------------------
379
+ // Resolved values for the column-wide aggregate bound modes, shown read-only
380
+ // in the bound editor so the user sees the underlying number.
381
+ const resolvedBoundValues = {
382
+ 'Col-Min': minMaxRangeValues?.min,
383
+ 'Col-Max': minMaxRangeValues?.max,
384
+ 'Col-Avg': column ? api.styledColumnApi.internalApi.getAvgValueForNumericColumn(column) : undefined,
385
+ 'Col-Median': column
386
+ ? api.styledColumnApi.internalApi.getMedianValueForNumericColumn(column)
387
+ : undefined,
388
+ };
275
389
  /**
276
- * Renders the mode + value pair for one of `Min` / `Max` / `Reference`.
277
- * Centralised so the three controls stay visually and behaviourally
278
- * identical (only the field name differs).
390
+ * Renders one of `Min` / `Max` / `Reference` as a single joined row (type
391
+ * selector + contextual editor). Centralised so the three controls stay
392
+ * visually and behaviourally identical (only the field name differs).
279
393
  */
280
394
  const renderBoundEditor = (opts) => {
281
- const value = range[opts.field];
282
- const mode = getBoundMode(value);
283
- const handleModeChange = (next) => {
284
- if (next === 'None') {
395
+ const setBound = (next) => {
396
+ if (opts.field === 'Reference') {
397
+ if (next === undefined) {
398
+ const cleaned = { ...range };
399
+ delete cleaned.Reference;
400
+ props.onChange({ ...data, RangeBarStyle: cleaned });
401
+ return;
402
+ }
403
+ updateReferenceProperties({ Value: next });
404
+ return;
405
+ }
406
+ if (next === undefined) {
285
407
  const cleaned = { ...range };
286
408
  delete cleaned[opts.field];
287
409
  props.onChange({ ...data, RangeBarStyle: cleaned });
288
410
  return;
289
411
  }
290
- if (next === 'Number') {
291
- update({ [opts.field]: opts.fallbackNumber });
292
- return;
293
- }
294
- if (next === 'Column') {
295
- const candidate = api.columnApi
296
- .getNumericColumns()
297
- .find((c) => c.columnId !== data.ColumnId);
298
- update({ [opts.field]: candidate?.columnId ?? '' });
299
- return;
300
- }
301
- // Col-Min / Col-Max / Col-Avg / Col-Median
302
412
  update({ [opts.field]: next });
303
413
  };
304
- const items = [
305
- ...(opts.optional ? [{ value: 'None', label: 'None' }] : []),
306
- { value: 'Number', label: BOUND_MODE_LABELS.Number },
307
- { value: 'Column', label: BOUND_MODE_LABELS.Column },
308
- { value: 'Col-Min', label: BOUND_MODE_LABELS['Col-Min'] },
309
- { value: 'Col-Max', label: BOUND_MODE_LABELS['Col-Max'] },
310
- { value: 'Col-Avg', label: BOUND_MODE_LABELS['Col-Avg'] },
311
- { value: 'Col-Median', label: BOUND_MODE_LABELS['Col-Median'] },
312
- ];
313
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: `${opts.label}:`, children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:max-w-[180px]", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { className: "twa:w-full", value: mode, onValueChange: (v) => handleModeChange(v), items: items }) }) }), mode === 'Number' && ((0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: `${opts.label} Value:`, children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:max-w-[160px]", children: (0, jsx_runtime_1.jsx)(AdaptableInput_1.default, { type: "number", value: typeof value === 'number' ? value : '', onChange: (e) => update({
314
- [opts.field]: e.target.value === '' ? 0 : Number(e.target.value),
315
- }) }) }) })), mode === 'Column' && ((0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: `${opts.label} Column:`, children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:max-w-[220px]", children: (0, jsx_runtime_1.jsx)(ColumnSelector_1.ColumnSelector, { type: "number", value: typeof value === 'string' ? value : '', onChange: (columnId) => update({ [opts.field]: columnId }), filterColumn: (c) => c.columnId !== data.ColumnId, placeholder: "Select numeric column" }) }) }))] }));
414
+ const value = opts.field === 'Reference' ? range.Reference?.Value : range[opts.field];
415
+ return ((0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: `${opts.label}:`, children: (0, jsx_runtime_1.jsx)(RangeBarBoundInput, { api: api, value: value, optional: opts.optional, fallbackNumber: opts.fallbackNumber, excludeColumnId: data.ColumnId, resolved: resolvedBoundValues, disabled: disabled, onChange: setBound }) }));
316
416
  };
317
417
  // -- Marker editors --------------------------------------------------------
318
418
  const updateValueMarker = (patch) => {
@@ -325,10 +425,10 @@ const StyledColumnWizardRangeBarSection = (props) => {
325
425
  });
326
426
  };
327
427
  const updateReferenceMarker = (patch) => {
328
- update({
329
- ReferenceMarker: {
428
+ updateReferenceProperties({
429
+ Marker: {
330
430
  Shape: 'Line',
331
- ...range.ReferenceMarker,
431
+ ...range.Reference?.Marker,
332
432
  ...patch,
333
433
  },
334
434
  });
@@ -340,18 +440,20 @@ const StyledColumnWizardRangeBarSection = (props) => {
340
440
  Color: range.Marker?.Color ?? '',
341
441
  Size: range.Marker?.Size ?? (range.Marker?.Shape === 'Line' ? 2 : 10),
342
442
  };
443
+ const referenceMarkerCfg = range.Reference?.Marker;
343
444
  const referenceMarker = {
344
- Shape: range.ReferenceMarker?.Shape ?? 'Line',
345
- Color: range.ReferenceMarker?.Color ?? '',
346
- Size: range.ReferenceMarker?.Size ?? (range.ReferenceMarker?.Shape === 'Line' ? 2 : 8),
445
+ Shape: referenceMarkerCfg?.Shape ?? 'Line',
446
+ Color: referenceMarkerCfg?.Color ?? '',
447
+ Size: referenceMarkerCfg?.Size ?? (referenceMarkerCfg?.Shape === 'Line' ? 2 : 8),
347
448
  };
348
449
  // -- Cell text -------------------------------------------------------------
349
- const toggleCellText = (token, checked) => {
350
- const current = range.CellText ?? [];
351
- const next = checked
352
- ? Array.from(new Set([...current, token]))
353
- : current.filter((t) => t !== token);
354
- update({ CellText: next });
450
+ const toggleCellText = (token, show) => {
451
+ update((0, barChartCellText_1.toggleBarChartCellTextToken)(range.CellTextProperties, token, show));
452
+ };
453
+ const onCellTextPlacementChange = (token, patch) => {
454
+ update({
455
+ CellTextProperties: (0, barChartCellText_1.patchBarChartCellTextPlacement)(range.CellTextProperties, token, patch),
456
+ });
355
457
  };
356
458
  const toggleToolTipText = (token, checked) => {
357
459
  const current = range.ToolTipText ?? [];
@@ -360,9 +462,6 @@ const StyledColumnWizardRangeBarSection = (props) => {
360
462
  : current.filter((t) => t !== token);
361
463
  update({ ToolTipText: next });
362
464
  };
363
- const handleCellTextPositionChange = (pos) => {
364
- update({ CellTextPosition: pos });
365
- };
366
465
  // -------------------------------------------------------------------------
367
466
  // Render
368
467
  // -------------------------------------------------------------------------
@@ -371,10 +470,10 @@ const StyledColumnWizardRangeBarSection = (props) => {
371
470
  ? 'You need to select a column before styling.'
372
471
  : `Column "${data.ColumnId}" was not found in the grid.` }) }));
373
472
  }
374
- const hasReference = range.Reference != undefined;
375
- const outOfRangeMode = range.OutOfRangeMode ?? 'Clamp';
473
+ const hasReference = range.Reference?.Value != undefined;
474
+ const outOfRangeMode = range.OutOfRange?.Mode ?? 'Clamp';
376
475
  const isRangeVariant = props.variant === 'range';
377
- return ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { children: [isRangeVariant && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, className: "twa:mb-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Bounds" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Set the Min, Max and Reference values for the range bar" })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { sizes: [...RANGE_STYLE_FORM_SIZES], children: [renderBoundEditor({
476
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { children: [isRangeVariant && ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, className: "twa:mb-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Bounds" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Set each row's track scale. A bound can be a fixed number, another column's value (read per row), or a column-wide aggregate (min, max, average, median). Reference is an optional second marker." })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { sizes: [...RANGE_STYLE_FORM_SIZES], children: [renderBoundEditor({
378
477
  label: 'Min',
379
478
  field: 'Min',
380
479
  optional: false,
@@ -394,16 +493,14 @@ const StyledColumnWizardRangeBarSection = (props) => {
394
493
  : 'Optional second marker when a Reference bound is set on the Style step.' })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: hasReference ? ((0, jsx_runtime_1.jsxs)(FormLayout_1.default, { sizes: [...RANGE_STYLE_FORM_SIZES], children: [(0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Shape:", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:max-w-[160px]", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { className: "twa:w-full", value: referenceMarker.Shape, onValueChange: (s) => updateReferenceMarker({ Shape: s }), items: MARKER_SHAPES.map((s) => ({ value: s.value, label: s.label })) }) }) }), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: `${api.internalApi.getCorrectEnglishVariant('Colour')}:`, children: (0, jsx_runtime_1.jsx)(ColorPicker_1.ColorPicker, { disabled: disabled, api: api, value: referenceMarker.Color || undefined, onChange: (c) => updateReferenceMarker({ Color: c }) }) }), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Size:", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:max-w-[100px]", children: (0, jsx_runtime_1.jsx)(AdaptableInput_1.default, { type: "number", min: 1, value: referenceMarker.Size, onChange: (e) => updateReferenceMarker({ Size: Number(e.target.value) }) }) }) })] })) : ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-60 twa:max-w-[520px]", children: "Add a Reference value on the Style step (Bounds section) to enable this marker (e.g. previous close, target, midpoint)." })) })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, className: "twa:mb-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Track" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "The line representing the [Min, Max] interval, plus optional cell background." })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { sizes: [...RANGE_STYLE_FORM_SIZES], children: [(0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Orientation:", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:max-w-[160px]", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { className: "twa:w-full", value: range.Orientation ?? 'Horizontal', onValueChange: (v) => update({ Orientation: v }), items: [
395
494
  { value: 'Horizontal', label: 'Horizontal' },
396
495
  { value: 'Vertical', label: 'Vertical' },
397
- ] }) }) }), range.Orientation === 'Vertical' && ((0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "", children: (0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:text-xs twa:text-neutral-500 twa:max-w-[520px]", children: ["Tip: vertical Range Bars need a tall row height to be readable (we recommend at least 60px). Set ", (0, jsx_runtime_1.jsx)("code", { children: "rowHeight" }), " on ", (0, jsx_runtime_1.jsx)("code", { children: " gridOptions " }), " or use ", (0, jsx_runtime_1.jsx)("code", { children: "getRowHeight" }), "."] }) })), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: `Track ${api.internalApi.getCorrectEnglishVariant('Colour')}:`, children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", children: [(0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: disabled, checked: !!range.TrackColor, onChange: (checked) => update({ TrackColor: checked ? (0, UIHelper_1.getGraySwatchColor)() : undefined }), className: "twa:mr-2" }), range.TrackColor != undefined && ((0, jsx_runtime_1.jsx)(ColorPicker_1.ColorPicker, { disabled: disabled, api: api, value: range.TrackColor, onChange: (c) => update({ TrackColor: c }) }))] }) }), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: range.Orientation === 'Vertical' ? 'Track Width (px):' : 'Track Height (px):', children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:max-w-[100px]", children: (0, jsx_runtime_1.jsx)(AdaptableInput_1.default, { type: "number", min: 1, value: range.TrackHeight ?? '', onChange: (e) => update({
398
- TrackHeight: e.target.value === '' ? undefined : Number(e.target.value),
399
- }), placeholder: "4" }) }) }), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: `Back ${api.internalApi.getCorrectEnglishVariant('Colour')}:`, children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", children: [(0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: disabled, checked: !!range.BackColor, onChange: (checked) => update({ BackColor: checked ? (0, UIHelper_1.getGraySwatchColor)() : null }), className: "twa:mr-2" }), range.BackColor != undefined && ((0, jsx_runtime_1.jsx)(ColorPicker_1.ColorPicker, { disabled: disabled, api: api, value: range.BackColor, onChange: (c) => update({ BackColor: c }) }))] }) })] }) })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, className: "twa:mb-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Out of Range" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "How to draw the value marker when the cell value falls outside [Min, Max]." })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { sizes: [...RANGE_STYLE_FORM_SIZES], children: [(0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Behaviour:", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:max-w-[160px]", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { className: "twa:w-full", value: outOfRangeMode, onValueChange: (v) => update({ OutOfRangeMode: v }), items: [
496
+ ] }) }) }), range.Orientation === 'Vertical' && ((0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "", children: (0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:text-xs twa:text-neutral-500 twa:max-w-[520px]", children: ["Tip: vertical Range Bars need a tall row height to be readable (we recommend at least 60px). Set ", (0, jsx_runtime_1.jsx)("code", { children: "rowHeight" }), " on ", (0, jsx_runtime_1.jsx)("code", { children: " gridOptions " }), " or use ", (0, jsx_runtime_1.jsx)("code", { children: "getRowHeight" }), "."] }) })), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: `Track ${api.internalApi.getCorrectEnglishVariant('Colour')}:`, children: (0, jsx_runtime_1.jsx)(ColorPicker_1.OptionalColorPicker, { disabled: disabled, api: api, value: range.Track?.Color, defaultColor: (0, UIHelper_1.getGraySwatchColor)(), onChange: (c) => updateTrackProperties({ Color: c }) }) }), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: range.Orientation === 'Vertical' ? 'Track Width (px):' : 'Track Height (px):', children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:max-w-[100px]", children: (0, jsx_runtime_1.jsx)(AdaptableInput_1.default, { type: "number", min: 1, value: range.Track?.Height ?? '', onChange: (e) => updateTrackProperties({
497
+ Height: e.target.value === '' ? undefined : Number(e.target.value),
498
+ }), placeholder: "4" }) }) }), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: `Back ${api.internalApi.getCorrectEnglishVariant('Colour')}:`, children: (0, jsx_runtime_1.jsx)(ColorPicker_1.OptionalColorPicker, { disabled: disabled, api: api, value: range.BackColor ?? undefined, defaultColor: (0, UIHelper_1.getGraySwatchColor)(), onChange: (c) => updateBackColor(c) }) })] }) })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, className: "twa:mb-3", children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Out of Range" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "How to draw the value marker when the cell value falls outside [Min, Max]." })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { sizes: [...RANGE_STYLE_FORM_SIZES], children: [(0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Behaviour:", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:max-w-[160px]", children: (0, jsx_runtime_1.jsx)(NewSelect_1.SingleSelect, { className: "twa:w-full", value: outOfRangeMode, onValueChange: (v) => updateOutOfRangeProperties({
499
+ Mode: v,
500
+ }), items: [
400
501
  { value: 'Clamp', label: 'Clamp to edge' },
401
502
  { value: 'Overflow', label: 'Show outside' },
402
503
  { value: 'Hide', label: 'Hide marker' },
403
- ] }) }) }), outOfRangeMode === 'Clamp' && ((0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: `Out-of-range ${api.internalApi.getCorrectEnglishVariant('Colour')}:`, children: (0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", children: [(0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: disabled, checked: !!range.OutOfRangeColor, onChange: (checked) => update({ OutOfRangeColor: checked ? 'crimson' : undefined }), className: "twa:mr-2" }), range.OutOfRangeColor != undefined && ((0, jsx_runtime_1.jsx)(ColorPicker_1.ColorPicker, { disabled: disabled, api: api, value: range.OutOfRangeColor, onChange: (c) => update({ OutOfRangeColor: c }) }))] }) }))] }) })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Text & Tooltip" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Optional cell-text overlay and AG Grid tooltip content." })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { sizes: [...RANGE_STYLE_FORM_SIZES], children: [(0, jsx_runtime_1.jsxs)(FormLayout_1.FormRow, { label: "Cell Display:", children: [(0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: disabled, checked: range.CellText?.includes('CellValue'), onChange: (checked) => toggleCellText('CellValue', checked), children: "Cell Value" }), ' ', (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: disabled, className: "twa:ml-3", checked: range.CellText?.includes('PercentageValue'), onChange: (checked) => toggleCellText('PercentageValue', checked), children: "Percent Value" })] }), (0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Cell Display Position:", children: (0, jsx_runtime_1.jsx)(DropdownButton_1.default, { disabled: ArrayExtensions_1.default.IsNullOrEmpty(range.CellText) || disabled, columns: ['label'], items: [
404
- { label: 'Above Bar', onClick: () => handleCellTextPositionChange('Above') },
405
- { label: 'Below Bar', onClick: () => handleCellTextPositionChange('Below') },
406
- { label: 'Merged', onClick: () => handleCellTextPositionChange('Merged') },
407
- ], children: range.CellTextPosition ?? 'Below' }) }), (0, jsx_runtime_1.jsxs)(FormLayout_1.FormRow, { label: "Tooltip Display:", children: [(0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: disabled, checked: range.ToolTipText?.includes('CellValue'), onChange: (checked) => toggleToolTipText('CellValue', checked), children: "Cell Value" }), ' ', (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: disabled, className: "twa:ml-3", checked: range.ToolTipText?.includes('PercentageValue'), onChange: (checked) => toggleToolTipText('PercentageValue', checked), children: "Percent Value" })] })] }) })] }), (0, jsx_runtime_1.jsx)(StyledColumnRangeBarPreview_1.StyledColumnRangeBarPreviewCard, { data: data })] }))] }));
504
+ ] }) }) }), outOfRangeMode === 'Clamp' && ((0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: `Out-of-range ${api.internalApi.getCorrectEnglishVariant('Colour')}:`, children: (0, jsx_runtime_1.jsx)(ColorPicker_1.OptionalColorPicker, { disabled: disabled, api: api, value: range.OutOfRange?.Color, defaultColor: "crimson", onChange: (c) => updateOutOfRangeProperties({ Color: c }) }) }))] }) })] }), (0, jsx_runtime_1.jsxs)(Card_1.Card, { shadow: false, children: [(0, jsx_runtime_1.jsxs)(Card_1.Card.Title, { children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:font-medium", children: "Text & Tooltip" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Optional cell-text overlay and AG Grid tooltip content." })] }), (0, jsx_runtime_1.jsx)(Card_1.Card.Body, { children: (0, jsx_runtime_1.jsxs)(FormLayout_1.default, { sizes: [...RANGE_STYLE_FORM_SIZES], children: [(0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: "Cell Text Layout:", children: (0, jsx_runtime_1.jsx)(BarChartCellTextLayoutEditor_1.BarChartCellTextLayoutEditor, { disabled: disabled, cellTextProperties: range.CellTextProperties, onToggle: toggleCellText, onPlacementChange: onCellTextPlacementChange }) }), (0, jsx_runtime_1.jsxs)(FormLayout_1.FormRow, { label: "Tooltip Display:", children: [(0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: disabled, checked: range.ToolTipText?.includes('CellValue'), onChange: (checked) => toggleToolTipText('CellValue', checked), children: "Cell Value" }), ' ', (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { disabled: disabled, className: "twa:ml-3", checked: range.ToolTipText?.includes('PercentageValue'), onChange: (checked) => toggleToolTipText('PercentageValue', checked), children: "Percent Value" })] })] }) })] }), (0, jsx_runtime_1.jsx)(StyledColumnRangeBarPreview_1.StyledColumnRangeBarPreviewCard, { data: data })] }))] }));
408
505
  };
409
506
  exports.StyledColumnWizardRangeBarSection = StyledColumnWizardRangeBarSection;
@@ -14,6 +14,7 @@ const NewSelect_1 = require("../../../components/NewSelect");
14
14
  const Input_1 = tslib_1.__importDefault(require("../../../components/Input"));
15
15
  const StyledColumnSliceStyleEditors_1 = require("./StyledColumnSliceStyleEditors");
16
16
  const Card_1 = require("../../../components/Card");
17
+ const SummaryColorTag_1 = require("../../Wizard/SummaryColorTag");
17
18
  const StyledColumnRatingPreview_1 = require("./StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview");
18
19
  const STYLE_FORM_SIZES = ['200px', '1fr'];
19
20
  const ICON_CHOICES = [
@@ -118,7 +119,7 @@ const renderStyledColumnRatingSummary = (data) => {
118
119
  const items = buildStyledColumnRatingStyleSummaryStrings(rating, {
119
120
  includeEmptyTooltip: true,
120
121
  });
121
- return ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", className: "twa:flex-wrap twa:gap-2", children: items.map((item) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: item }, item))) }));
122
+ return (0, SummaryColorTag_1.renderSummaryStringTags)(items);
122
123
  };
123
124
  exports.renderStyledColumnRatingSummary = renderStyledColumnRatingSummary;
124
125
  const isValidRatingStyle = (data) => {
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { StyledColumn } from '../../../AdaptableState/StyledColumnState';
3
3
  import type { AdaptableApi } from '../../../types';
4
- export declare const renderStyledColumnScopeSummary: (data: StyledColumn) => React.JSX.Element;
4
+ export declare const renderStyledColumnScopeSummary: (data: StyledColumn, api: AdaptableApi) => React.JSX.Element;
5
5
  /** Used by the styled column list view (one-line "Rows: Data, Group, …"). */
6
6
  export declare const collectIncludedRowKindLabels: (styledColumn: StyledColumn) => string[];
7
7
  export declare const isValidStyledColumnScope: (data: StyledColumn, api: AdaptableApi) => true | string;
@@ -8,11 +8,11 @@ const Tag_1 = require("../../../components/Tag");
8
8
  const ColumnSelector_1 = require("../../Components/ColumnSelector");
9
9
  const OnePageAdaptableWizard_1 = require("../../Wizard/OnePageAdaptableWizard");
10
10
  const Flex_1 = require("../../../components/Flex");
11
- const AdaptableFormControlTextClear_1 = require("../../Components/Forms/AdaptableFormControlTextClear");
12
- const FormLayout_1 = tslib_1.__importStar(require("../../../components/FormLayout"));
13
11
  const CheckBox_1 = require("../../../components/CheckBox");
12
+ const utils_1 = require("../../../lib/utils");
14
13
  const styledColumnRowKindSupport_1 = require("../../../Utilities/Helpers/styledColumnRowKindSupport");
15
14
  const iconStyledColumnColumnSupport_1 = require("../../../Utilities/Helpers/iconStyledColumnColumnSupport");
15
+ const CollapsibleWizardCard_1 = require("../../Wizard/CollapsibleWizardCard");
16
16
  // ---------------------------------------------------------------------------
17
17
  // Row-kind helpers
18
18
  // ---------------------------------------------------------------------------
@@ -28,10 +28,10 @@ const iconStyledColumnColumnSupport_1 = require("../../../Utilities/Helpers/icon
28
28
  * (e.g. Sparkline → data rows only).
29
29
  */
30
30
  const ROW_KIND_LABELS = {
31
- Data: 'Data (leaf) rows',
32
- Group: 'Group rows',
33
- Summary: 'Summary rows',
34
- Total: 'Total rows',
31
+ Data: 'Data (leaf) Rows',
32
+ Group: 'Group Rows',
33
+ Summary: 'Summary Rows',
34
+ Total: 'Total Rows',
35
35
  };
36
36
  const defaultRowKindIncluded = (styledColumn, kind) => {
37
37
  if (styledColumn.BadgeStyle) {
@@ -40,22 +40,14 @@ const defaultRowKindIncluded = (styledColumn, kind) => {
40
40
  if (!(0, styledColumnRowKindSupport_1.isStyledColumnRowKindSupported)(styledColumn, kind)) {
41
41
  return false;
42
42
  }
43
- // Non-Badge default: leaf rows only.
44
43
  return kind !== 'Group';
45
44
  };
46
- /**
47
- * Resolve "is this row kind included?" using:
48
- * - Type capabilities (unsupported kinds are never included).
49
- * - Explicit `RowScope[Exclude*]` flag when set.
50
- * - Per-type default otherwise.
51
- */
52
45
  const isRowKindIncluded = (styledColumn, kind) => {
53
46
  if (!(0, styledColumnRowKindSupport_1.isStyledColumnRowKindSupported)(styledColumn, kind)) {
54
47
  return false;
55
48
  }
56
49
  const scope = styledColumn.RowScope;
57
50
  if (scope) {
58
- // Missing flags default to "include" — same semantics as FormatColumn.
59
51
  return !scope[styledColumnRowKindSupport_1.STYLED_COLUMN_ROW_KIND_EXCLUDE_KEY[kind]];
60
52
  }
61
53
  return defaultRowKindIncluded(styledColumn, kind);
@@ -66,8 +58,7 @@ const collectIncludedRowKinds = (styledColumn) => {
66
58
  // ---------------------------------------------------------------------------
67
59
  // Summary
68
60
  // ---------------------------------------------------------------------------
69
- const renderStyledColumnScopeSummary = (data) => {
70
- const { api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
61
+ const renderStyledColumnScopeSummary = (data, api) => {
71
62
  const includedKinds = collectIncludedRowKinds(data);
72
63
  const allKinds = includedKinds.length === 4;
73
64
  return ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:pr-2 twa:py-2", children: [(0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:mt-1", children: ["Column:", ' ', (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: data.ColumnId
@@ -78,6 +69,15 @@ exports.renderStyledColumnScopeSummary = renderStyledColumnScopeSummary;
78
69
  /** Used by the styled column list view (one-line "Rows: Data, Group, …"). */
79
70
  const collectIncludedRowKindLabels = (styledColumn) => collectIncludedRowKinds(styledColumn);
80
71
  exports.collectIncludedRowKindLabels = collectIncludedRowKindLabels;
72
+ const StyledColumnColumnScopeSummary = ({ data, }) => {
73
+ const { api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
74
+ return ((0, jsx_runtime_1.jsx)(CollapsibleWizardCard_1.CollapsibleWizardValueSummary, { value: data.ColumnId ? ((0, jsx_runtime_1.jsx)(Tag_1.ColumnTag, { children: api.columnApi.getFriendlyNameForColumnId(data.ColumnId) })) : ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "No column selected" })) }));
75
+ };
76
+ const StyledColumnRowsScopeSummary = ({ data, }) => {
77
+ const includedKinds = collectIncludedRowKinds(data);
78
+ const allKinds = includedKinds.length === 4;
79
+ return ((0, jsx_runtime_1.jsx)(CollapsibleWizardCard_1.CollapsibleWizardValueSummary, { value: allKinds ? ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "All" })) : includedKinds.length === 0 ? ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "None" })) : ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexWrap: "wrap", className: "twa:gap-1", children: includedKinds.map((kind) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: ROW_KIND_LABELS[kind] }, kind))) })) }));
80
+ };
81
81
  // ---------------------------------------------------------------------------
82
82
  // Validity
83
83
  // ---------------------------------------------------------------------------
@@ -95,10 +95,13 @@ const isValidStyledColumnScope = (data, api) => {
95
95
  return true;
96
96
  };
97
97
  exports.isValidStyledColumnScope = isValidStyledColumnScope;
98
+ const StyledColumnRowScopePanel = ({ data, onRowKindChange, }) => ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexDirection: "column", className: "twa:items-start twa:px-1 twa:py-1", style: { rowGap: 'calc(var(--ab-base-space) * 2)' }, children: styledColumnRowKindSupport_1.STYLED_COLUMN_ROW_KINDS.map((kind) => {
99
+ const supported = (0, styledColumnRowKindSupport_1.isStyledColumnRowKindSupported)(data, kind);
100
+ const disabledReason = (0, styledColumnRowKindSupport_1.getStyledColumnRowKindDisabledReason)(data, kind);
101
+ return ((0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { "data-name": `include-${kind.toLowerCase()}-rows-checkbox`, disabled: !supported, title: disabledReason, checked: isRowKindIncluded(data, kind), onChange: (checked) => onRowKindChange(kind, checked), children: ROW_KIND_LABELS[kind] }, kind));
102
+ }) }));
98
103
  const StyledColumnWizardScopeSection = (props) => {
99
104
  const { data, api } = (0, OnePageAdaptableWizard_1.useOnePageAdaptableWizardContext)();
100
- // Strip impossible `RowScope` flags when the styled column type cannot
101
- // ever target a row kind (e.g. Sparkline → data rows only).
102
105
  React.useEffect(() => {
103
106
  const next = (0, styledColumnRowKindSupport_1.sanitizeStyledColumnRowScope)(data);
104
107
  if (!next) {
@@ -123,8 +126,6 @@ const StyledColumnWizardScopeSection = (props) => {
123
126
  data.RowScope?.ExcludeSummaryRows,
124
127
  data.RowScope?.ExcludeTotalRows,
125
128
  ]);
126
- // Icon Style must not retain an array-typed ColumnId when the user swaps
127
- // type (or loads invalid state): clear so the picker and validation align.
128
129
  React.useEffect(() => {
129
130
  if (!data.IconStyle || !data.ColumnId) {
130
131
  return;
@@ -137,9 +138,6 @@ const StyledColumnWizardScopeSection = (props) => {
137
138
  });
138
139
  }
139
140
  }, [data.Uuid, data.IconStyle, data.ColumnId]);
140
- // -------------------------------------------------------------------------
141
- // Column picker
142
- // -------------------------------------------------------------------------
143
141
  const sortableCols = React.useMemo(() => {
144
142
  let sortableColumns = [];
145
143
  if (data.SparklineStyle) {
@@ -160,7 +158,6 @@ const StyledColumnWizardScopeSection = (props) => {
160
158
  ];
161
159
  }
162
160
  else {
163
- // Gradient / PercentBar / BulletChart / Rating / RangeBar - numeric only.
164
161
  sortableColumns = api.columnApi.getNumericColumns();
165
162
  }
166
163
  const styledColumns = api.styledColumnApi.getStyledColumns();
@@ -173,7 +170,7 @@ const StyledColumnWizardScopeSection = (props) => {
173
170
  })
174
171
  .filter(Boolean);
175
172
  return sortableColumns.filter((column) => usedColumnIds.every((usedColumnId) => column.columnId !== usedColumnId));
176
- }, [data]);
173
+ }, [data, api]);
177
174
  const handleColumnsChange = (columnIds) => {
178
175
  const columnId = columnIds[0];
179
176
  const emptyRanges = api.columnScopeApi.createCellColorRangesForScope({
@@ -203,19 +200,10 @@ const StyledColumnWizardScopeSection = (props) => {
203
200
  }
204
201
  props.onChange(newStyledColumn);
205
202
  };
206
- const [columnsSearchText, setColumnsSearchText] = React.useState('');
207
- // -------------------------------------------------------------------------
208
- // Row-kind toggles
209
- // -------------------------------------------------------------------------
210
203
  const handleRowKindChange = (kind, include) => {
211
204
  if (!(0, styledColumnRowKindSupport_1.isStyledColumnRowKindSupported)(data, kind)) {
212
205
  return;
213
206
  }
214
- // Materialise an explicit RowScope as soon as the user touches a
215
- // checkbox. We start from the per-type default so any kinds the user
216
- // didn't touch carry over their historical value (e.g. group rows
217
- // stay excluded for a Gradient column even after the user toggles
218
- // summary rows).
219
207
  const baseScope = data.RowScope ?? {
220
208
  ExcludeDataRows: !defaultRowKindIncluded(data, 'Data'),
221
209
  ExcludeGroupRows: !defaultRowKindIncluded(data, 'Group'),
@@ -231,16 +219,14 @@ const StyledColumnWizardScopeSection = (props) => {
231
219
  RowScope: nextScope,
232
220
  });
233
221
  };
234
- // -------------------------------------------------------------------------
235
- // Render
236
- // -------------------------------------------------------------------------
237
- return ((0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", style: { height: '100%' }, children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "column", className: "twa:flex-1 twa:min-h-0", children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { flexDirection: "row", alignItems: "center", className: "twa:p-2 twa:gap-3 twa:border-b twa:border-b-foreground/20", children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-5 twa:font-medium", children: "Column" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70", children: "The Column the Style is applied to" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:flex-1" }), (0, jsx_runtime_1.jsx)(AdaptableFormControlTextClear_1.AdaptableFormControlTextClear, { value: columnsSearchText, OnTextChange: setColumnsSearchText, placeholder: "Type to search columns", style: { flex: 1, maxWidth: 320 } })] }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:flex-1 twa:min-h-0 twa:overflow-auto", children: (0, jsx_runtime_1.jsx)(ColumnSelector_1.NewColumnSelector, { columnFilterText: columnsSearchText, availableColumns: sortableCols, selected: data.ColumnId ? [data.ColumnId] : [], singleSelect: true, onChange: handleColumnsChange, allowReorder: false }) })] }), (0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: "twa:border-t twa:border-border twa:px-2 twa:py-3 twa:shrink-0", children: [(0, jsx_runtime_1.jsxs)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-3 twa:pb-2 twa:mb-3 twa:flex-wrap twa:border-b twa:border-b-foreground/20", children: [(0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-5 twa:font-medium", children: "Rows" }), (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:text-xs twa:opacity-70 twa:max-w-[520px]", children: "Which kinds of Rows should the Styled Column render on" })] }), (0, jsx_runtime_1.jsx)(Flex_1.Flex, { flexDirection: "row", className: "twa:gap-6 twa:flex-wrap", children: [
238
- styledColumnRowKindSupport_1.STYLED_COLUMN_ROW_KINDS.slice(0, 2),
239
- styledColumnRowKindSupport_1.STYLED_COLUMN_ROW_KINDS.slice(2),
240
- ].map((rowKindGroup, groupIndex) => ((0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:flex-1 twa:min-w-[220px]", children: (0, jsx_runtime_1.jsx)(FormLayout_1.default, { sizes: ['180px', '1fr'], children: rowKindGroup.map((kind) => {
241
- const supported = (0, styledColumnRowKindSupport_1.isStyledColumnRowKindSupported)(data, kind);
242
- const disabledReason = (0, styledColumnRowKindSupport_1.getStyledColumnRowKindDisabledReason)(data, kind);
243
- return ((0, jsx_runtime_1.jsx)(FormLayout_1.FormRow, { label: `${ROW_KIND_LABELS[kind]}:`, children: (0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", className: "twa:ml-2", children: (0, jsx_runtime_1.jsx)(CheckBox_1.CheckBox, { "data-name": `include-${kind.toLowerCase()}-rows-checkbox`, className: "twa:mr-2", disabled: !supported, title: disabledReason, checked: isRowKindIncluded(data, kind), onChange: (checked) => handleRowKindChange(kind, checked) }) }) }, kind));
244
- }) }) }, groupIndex))) })] })] }));
222
+ const includedRowKinds = collectIncludedRowKinds(data);
223
+ const allRowKindsIncluded = includedRowKinds.length === 4;
224
+ const initialExpandedCardId = data.ColumnId ? null : 'column';
225
+ const { bindCard, hasExpandedCard, expandedFillsSpace } = (0, CollapsibleWizardCard_1.useWizardCardAccordion)(initialExpandedCardId, { fillExpandedCard: true });
226
+ const columnCompactSummary = data.ColumnId
227
+ ? (0, CollapsibleWizardCard_1.renderCompactColumnTags)([data.ColumnId], (columnId) => api.columnApi.getFriendlyNameForColumnId(columnId), { emptyLabel: 'No column' })
228
+ : (0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "No column" });
229
+ const rowsCompactSummary = allRowKindsIncluded ? ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "All" })) : includedRowKinds.length === 0 ? ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { children: "None" })) : ((0, jsx_runtime_1.jsx)(Flex_1.Flex, { alignItems: "center", className: "twa:gap-1 twa:min-w-0 twa:overflow-hidden", children: includedRowKinds.map((kind) => ((0, jsx_runtime_1.jsx)(Tag_1.Tag, { className: "twa:shrink-0", children: kind }, kind))) }));
230
+ return ((0, jsx_runtime_1.jsxs)(Flex_1.Box, { className: (0, utils_1.cn)((0, CollapsibleWizardCard_1.getWizardAccordionSectionClassName)(hasExpandedCard, expandedFillsSpace), 'twa:p-2'), children: [(0, jsx_runtime_1.jsx)(CollapsibleWizardCard_1.CollapsibleWizardCard, { ...bindCard('column', { fillAvailable: true }), surface: "panel", "data-name": "styled-column-scope-column", title: "Column", help: "Select Column the Style is applied to", collapsedHelp: "Column the Style is applied to", compactSummary: columnCompactSummary, summary: (0, jsx_runtime_1.jsx)(StyledColumnColumnScopeSummary, { data: data }), className: "twa:overflow-hidden twa:flex twa:flex-col", bodyClassName: "twa:min-h-[200px] twa:max-h-[420px] twa:overflow-hidden twa:flex twa:flex-col twa:!pt-0 twa:!pb-0 twa:px-1", children: (0, jsx_runtime_1.jsx)(Flex_1.Box, { className: "twa:flex-1 twa:min-h-0 twa:overflow-hidden twa:h-full twa:px-1 twa:pb-1 twa:flex twa:flex-col", children: (0, jsx_runtime_1.jsx)(ColumnSelector_1.NewColumnSelector, { compactColumnList: true, availableColumns: sortableCols, selected: data.ColumnId ? [data.ColumnId] : [], singleSelect: true, onChange: handleColumnsChange, allowReorder: false }) }) }), (0, jsx_runtime_1.jsx)(CollapsibleWizardCard_1.CollapsibleWizardCard, { ...bindCard('rows'), surface: "panel", "data-name": "styled-column-scope-rows", title: "Rows", help: "Select which kinds of Rows the Styled Column will render on", collapsedHelp: "Row kinds the Styled Column renders on", compactSummary: rowsCompactSummary, summary: (0, jsx_runtime_1.jsx)(StyledColumnRowsScopeSummary, { data: data }), children: (0, jsx_runtime_1.jsx)(StyledColumnRowScopePanel, { data: data, onRowKindChange: handleRowKindChange }) })] }));
245
231
  };
246
232
  exports.StyledColumnWizardScopeSection = StyledColumnWizardScopeSection;