@adaptabletools/adaptable 23.0.0-canary.3 → 23.0.0-canary.5

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 (277) hide show
  1. package/index.css +116 -61
  2. package/package.json +9 -4
  3. package/src/AdaptableOptions/DefaultAdaptableOptions.js +0 -4
  4. package/src/AdaptableOptions/EditOptions.d.ts +2 -2
  5. package/src/AdaptableOptions/FilterOptions.d.ts +0 -7
  6. package/src/AdaptableState/Common/AdaptableForm.d.ts +18 -1
  7. package/src/AdaptableState/Common/AdaptableForm.js +31 -0
  8. package/src/AdaptableState/Common/AggregationColumns.d.ts +14 -6
  9. package/src/AdaptableState/Common/AggregationColumns.js +27 -2
  10. package/src/AdaptableState/Common/CellDataChangedInfo.d.ts +3 -2
  11. package/src/AdaptableState/Common/ColumnScope.d.ts +4 -0
  12. package/src/AdaptableState/Common/Enums.d.ts +5 -10
  13. package/src/AdaptableState/Common/Enums.js +4 -10
  14. package/src/AdaptableState/PlusMinusState.d.ts +3 -3
  15. package/src/AdaptableState/ShortcutState.d.ts +2 -6
  16. package/src/AdaptableState/StyledColumnState.d.ts +3 -5
  17. package/src/AdaptableState/ThemeState.d.ts +33 -28
  18. package/src/Api/EventApi.d.ts +14 -1
  19. package/src/Api/Events/ThemeChanged.d.ts +6 -0
  20. package/src/Api/Events/ThemeSelected.d.ts +11 -0
  21. package/src/Api/Events/ThemeSelected.js +1 -0
  22. package/src/Api/Implementation/EventApiImpl.js +4 -0
  23. package/src/Api/Implementation/LayoutApiImpl.d.ts +0 -2
  24. package/src/Api/Implementation/LayoutApiImpl.js +0 -14
  25. package/src/Api/Implementation/LayoutHelpers.d.ts +2 -0
  26. package/src/Api/Implementation/LayoutHelpers.js +29 -7
  27. package/src/Api/Implementation/ThemeApiImpl.d.ts +3 -2
  28. package/src/Api/Implementation/ThemeApiImpl.js +19 -15
  29. package/src/Api/Internal/EventInternalApi.d.ts +2 -0
  30. package/src/Api/Internal/EventInternalApi.js +8 -1
  31. package/src/Api/Internal/StyledColumnInternalApi.d.ts +4 -4
  32. package/src/Api/Internal/StyledColumnInternalApi.js +4 -4
  33. package/src/Api/Internal/ThemeInternalApi.d.ts +0 -1
  34. package/src/Api/Internal/ThemeInternalApi.js +0 -10
  35. package/src/Api/LayoutApi.d.ts +1 -8
  36. package/src/Api/ThemeApi.d.ts +6 -2
  37. package/src/Redux/ActionsReducers/ThemeRedux.d.ts +3 -3
  38. package/src/Strategy/CalculatedColumnModule.js +3 -1
  39. package/src/Strategy/FormatColumnModule.js +14 -7
  40. package/src/Strategy/LayoutModule.js +13 -8
  41. package/src/Strategy/StyledColumnModule.js +64 -36
  42. package/src/Utilities/Constants/ReduxConstants.d.ts +2 -2
  43. package/src/Utilities/Constants/ReduxConstants.js +1 -14
  44. package/src/Utilities/Helpers/FormatHelper.js +20 -1
  45. package/src/Utilities/Helpers/SparklineOptionsHelper.d.ts +7 -0
  46. package/src/Utilities/Helpers/SparklineOptionsHelper.js +65 -0
  47. package/src/Utilities/Helpers/StyledColumnGradientHelper.d.ts +23 -1
  48. package/src/Utilities/Helpers/StyledColumnGradientHelper.js +204 -0
  49. package/src/Utilities/Helpers/ThemeHelpers.d.ts +5 -0
  50. package/src/Utilities/Helpers/ThemeHelpers.js +38 -0
  51. package/src/Utilities/Helpers/percentBarPreviewHelper.d.ts +19 -0
  52. package/src/Utilities/Helpers/percentBarPreviewHelper.js +143 -0
  53. package/src/Utilities/ObjectFactory.d.ts +1 -3
  54. package/src/Utilities/ObjectFactory.js +0 -8
  55. package/src/Utilities/Services/CalculatedColumnExpressionService.d.ts +1 -0
  56. package/src/Utilities/Services/CalculatedColumnExpressionService.js +7 -0
  57. package/src/Utilities/Services/CalculatedColumnSyntheticChange.d.ts +4 -0
  58. package/src/Utilities/Services/CalculatedColumnSyntheticChange.js +115 -0
  59. package/src/Utilities/Services/Interface/ICalculatedColumnExpressionService.d.ts +1 -0
  60. package/src/Utilities/Services/ThemeService.js +1 -1
  61. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +17 -16
  62. package/src/View/Alert/Wizard/AlertButtonsEditor.js +114 -103
  63. package/src/View/Alert/Wizard/AlertMessageWizardSection.js +13 -14
  64. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +55 -55
  65. package/src/View/Alert/Wizard/AlertRulesWizardSection.js +3 -2
  66. package/src/View/Alert/Wizard/AlertScheduledWizardSection.js +2 -2
  67. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +31 -39
  68. package/src/View/Alert/Wizard/AlertTypeWizardSection.js +3 -4
  69. package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +9 -13
  70. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +30 -17
  71. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +7 -9
  72. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +3 -3
  73. package/src/View/CellSummary/CellSummaryViewPanel.js +1 -1
  74. package/src/View/Charting/ChartingWizard/AgChargingWizard/AgChargingWizard.js +3 -10
  75. package/src/View/Charting/ChartingWizard/AgChargingWizard/PreviewChartSection.js +1 -1
  76. package/src/View/Charting/ChartingWizard/AgChargingWizard/SettingsSection.js +35 -52
  77. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/ExternalChartingWizard.js +4 -31
  78. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/PreviewChartSection.d.ts +5 -0
  79. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/PreviewChartSection.js +21 -0
  80. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.d.ts +1 -0
  81. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.js +10 -7
  82. package/src/View/Comments/CommentsEditor.js +1 -1
  83. package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +1 -1
  84. package/src/View/Components/ModuleProfile.js +1 -1
  85. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +0 -1
  86. package/src/View/Components/Popups/WindowPopups/windowFactory.js +0 -1
  87. package/src/View/Components/RangesComponent.d.ts +7 -2
  88. package/src/View/Components/RangesComponent.js +94 -22
  89. package/src/View/Components/Selectors/ColumnSelector.js +5 -0
  90. package/src/View/Components/StyleComponent.d.ts +1 -0
  91. package/src/View/Components/StyleComponent.js +1 -1
  92. package/src/View/Components/ValueSelector/index.js +70 -57
  93. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +8 -13
  94. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +8 -8
  95. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -1
  96. package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +11 -12
  97. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadSection.js +6 -4
  98. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadTextSection.js +3 -2
  99. package/src/View/DataImport/DataImportWizard/sections/ValidationSection.js +5 -15
  100. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +24 -26
  101. package/src/View/Export/Wizard/ReportNameWizardSection.js +10 -13
  102. package/src/View/Export/Wizard/ReportRowsWizardSection.js +20 -22
  103. package/src/View/Export/Wizard/ScheduledReportSettings.d.ts +2 -0
  104. package/src/View/Export/Wizard/ScheduledReportSettings.js +13 -13
  105. package/src/View/Export/Wizard/ScheduledReportWizard.js +4 -5
  106. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +8 -6
  107. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +24 -23
  108. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +20 -11
  109. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +21 -5
  110. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +4 -4
  111. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +7 -0
  112. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +117 -12
  113. package/src/View/FormatColumn/Wizard/FormatColumnPreview.d.ts +15 -0
  114. package/src/View/FormatColumn/Wizard/FormatColumnPreview.js +66 -0
  115. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +4 -0
  116. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +30 -0
  117. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +13 -8
  118. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +1 -1
  119. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +3 -1
  120. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +62 -13
  121. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +5 -3
  122. package/src/View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags.d.ts +2 -0
  123. package/src/View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags.js +15 -0
  124. package/src/View/FreeTextColumn/Wizard/FreeTextColumnDefinitionWizardSection.d.ts +10 -0
  125. package/src/View/FreeTextColumn/Wizard/FreeTextColumnDefinitionWizardSection.js +53 -0
  126. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.d.ts +2 -3
  127. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +33 -68
  128. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +15 -11
  129. package/src/View/Layout/LayoutViewPanel.js +23 -21
  130. package/src/View/Layout/TransposedPopup.js +2 -2
  131. package/src/View/Layout/Wizard/LayoutWizard.js +3 -3
  132. package/src/View/Layout/Wizard/sections/AggregationsSection.d.ts +2 -3
  133. package/src/View/Layout/Wizard/sections/AggregationsSection.js +115 -26
  134. package/src/View/Layout/Wizard/sections/ColumnsSection.js +79 -79
  135. package/src/View/Layout/Wizard/sections/FilterSection.js +31 -32
  136. package/src/View/Layout/Wizard/sections/GridFilterSection.js +11 -11
  137. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.d.ts +1 -2
  138. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +101 -52
  139. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +9 -8
  140. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +4 -4
  141. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +36 -33
  142. package/src/View/Layout/Wizard/sections/RowSelectionSection.js +2 -2
  143. package/src/View/Layout/Wizard/sections/RowSummarySection.js +95 -73
  144. package/src/View/Layout/Wizard/sections/SettingsSection.js +4 -5
  145. package/src/View/Layout/Wizard/sections/SortSection.js +2 -2
  146. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +1 -1
  147. package/src/View/NamedQuery/Wizard/NamedQuerySettingsWizardSection.js +9 -14
  148. package/src/View/NamedQuery/Wizard/NamedQueryWizard.js +1 -3
  149. package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.d.ts +4 -0
  150. package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +43 -13
  151. package/src/View/PlusMinus/Wizard/PlusMinusScopeWizardSection.js +11 -18
  152. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.d.ts +2 -6
  153. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +6 -22
  154. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +15 -21
  155. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +2 -2
  156. package/src/View/Shortcut/Wizard/ShortcutScopeWizardSection.js +11 -18
  157. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +17 -6
  158. package/src/View/Shortcut/Wizard/ShortcutWizard.js +3 -3
  159. package/src/View/Shortcut/shortcutOperations.d.ts +3 -0
  160. package/src/View/Shortcut/shortcutOperations.js +28 -0
  161. package/src/View/SpecialColumnSettingsWizardStep.js +9 -8
  162. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +5 -0
  163. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +24 -15
  164. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.d.ts +10 -2
  165. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +96 -16
  166. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.d.ts +14 -0
  167. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +45 -24
  168. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.d.ts +2 -3
  169. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +108 -33
  170. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +21 -13
  171. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.d.ts +5 -0
  172. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +121 -23
  173. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.d.ts +1 -0
  174. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +34 -11
  175. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.d.ts +5 -0
  176. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +86 -12
  177. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.d.ts +5 -0
  178. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +121 -34
  179. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.d.ts +1 -0
  180. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +55 -75
  181. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BulletRangesSummaryPreview.d.ts +5 -0
  182. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BulletRangesSummaryPreview.js +16 -0
  183. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.js +7 -13
  184. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.js +5 -5
  185. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.js +4 -3
  186. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.d.ts +5 -4
  187. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +12 -14
  188. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/RangeBarRangesSummaryPreview.d.ts +5 -0
  189. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/RangeBarRangesSummaryPreview.js +16 -0
  190. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.d.ts +3 -0
  191. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +31 -3
  192. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.d.ts +9 -0
  193. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.js +58 -0
  194. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnGradientPreview.d.ts +10 -0
  195. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnGradientPreview.js +30 -0
  196. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnIconPreview.d.ts +10 -0
  197. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnIconPreview.js +91 -0
  198. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview.d.ts +8 -0
  199. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview.js +52 -0
  200. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.d.ts +8 -0
  201. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.js +53 -0
  202. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.d.ts +18 -0
  203. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.js +58 -0
  204. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.d.ts +10 -0
  205. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.js +126 -0
  206. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardRangesSection.js +12 -5
  207. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.d.ts +1 -5
  208. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +52 -29
  209. package/src/View/SystemStatus/Utilities/getStatusItemStyle.js +1 -1
  210. package/src/View/Theme/ThemePopup.d.ts +2 -14
  211. package/src/View/Theme/ThemePopup.js +1 -36
  212. package/src/View/UIHelper.js +1 -1
  213. package/src/View/Wizard/OnePageAdaptableWizard.js +7 -21
  214. package/src/View/renderWithAdaptableContext.js +2 -3
  215. package/src/agGrid/AdaptableAgGrid.d.ts +1 -1
  216. package/src/agGrid/AdaptableAgGrid.js +38 -43
  217. package/src/agGrid/AgGridAdapter.d.ts +1 -1
  218. package/src/agGrid/AgGridAdapter.js +27 -17
  219. package/src/agGrid/AgGridColumnAdapter.js +10 -19
  220. package/src/agGrid/AgGridMenuAdapter.d.ts +0 -1
  221. package/src/agGrid/AgGridMenuAdapter.js +20 -37
  222. package/src/agGrid/buildValueAggregationMenuItem.d.ts +19 -0
  223. package/src/agGrid/buildValueAggregationMenuItem.js +111 -0
  224. package/src/agGrid/cellRenderers/IconRenderer.d.ts +6 -0
  225. package/src/agGrid/cellRenderers/IconRenderer.js +43 -15
  226. package/src/agGrid/createAgGridIcon.d.ts +10 -0
  227. package/src/agGrid/createAgGridIcon.js +16 -0
  228. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +11 -6
  229. package/src/components/Combobox/VirtualizedList.js +5 -5
  230. package/src/components/Combobox/comboboxUtils.d.ts +4 -1
  231. package/src/components/Combobox/comboboxUtils.js +2 -0
  232. package/src/components/Combobox/index.d.ts +1 -0
  233. package/src/components/Combobox/index.js +35 -15
  234. package/src/components/DragAndDropContext/UnusedPanel.js +1 -1
  235. package/src/components/ExpressionEditor/BaseEditorInput.js +1 -1
  236. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +1 -1
  237. package/src/components/Input/NumberInput.js +1 -1
  238. package/src/components/Panel/index.js +1 -1
  239. package/src/components/SimpleButton/index.js +4 -4
  240. package/src/components/Toggle/Toggle.js +1 -1
  241. package/src/components/Toggle/ToggleGroup.js +1 -1
  242. package/src/components/Tree/TreeDropdown/index.js +2 -6
  243. package/src/env.js +2 -2
  244. package/src/layout-manager/src/LayoutManagerModel.d.ts +5 -1
  245. package/src/layout-manager/src/index.js +2 -9
  246. package/src/metamodel/adaptable.metamodel.d.ts +39 -46
  247. package/src/metamodel/adaptable.metamodel.js +1 -1
  248. package/src/types.d.ts +5 -5
  249. package/themes/dark.css +1 -68
  250. package/themes/light.css +1 -5
  251. package/tsconfig.esm.tsbuildinfo +1 -1
  252. package/src/AdaptableState/Common/FilterActionOnDataChange.d.ts +0 -17
  253. package/src/AdaptableState/Common/FilterActionOnDataChange.js +0 -4
  254. package/src/Aggregation/ParameterizedAggregationRegistry.d.ts +0 -35
  255. package/src/Aggregation/ParameterizedAggregationRegistry.js +0 -63
  256. package/src/Aggregation/definitions/weightedAverageAggregationDefinition.d.ts +0 -3
  257. package/src/Aggregation/definitions/weightedAverageAggregationDefinition.js +0 -55
  258. package/src/Aggregation/parameterizedAggregationColumnMenu.d.ts +0 -8
  259. package/src/Aggregation/parameterizedAggregationColumnMenu.js +0 -137
  260. package/src/Aggregation/parameterizedAggregationHeader.d.ts +0 -13
  261. package/src/Aggregation/parameterizedAggregationHeader.js +0 -60
  262. package/src/Aggregation/parameterizedAggregationHelpers.d.ts +0 -23
  263. package/src/Aggregation/parameterizedAggregationHelpers.js +0 -111
  264. package/src/Aggregation/parameterizedAggregationWizardHelpers.d.ts +0 -9
  265. package/src/Aggregation/parameterizedAggregationWizardHelpers.js +0 -66
  266. package/src/Aggregation/validateParameterizedAggregations.d.ts +0 -4
  267. package/src/Aggregation/validateParameterizedAggregations.js +0 -20
  268. package/src/View/AdaptableComputedCSSVarsContext.d.ts +0 -12
  269. package/src/View/AdaptableComputedCSSVarsContext.js +0 -29
  270. package/src/View/Layout/Wizard/sections/ParameterizedAggFuncPicker.d.ts +0 -12
  271. package/src/View/Layout/Wizard/sections/ParameterizedAggFuncPicker.js +0 -43
  272. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.d.ts +0 -5
  273. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.js +0 -28
  274. package/src/View/Theme/VariantSelector.d.ts +0 -8
  275. package/src/View/Theme/VariantSelector.js +0 -20
  276. package/src/components/Select/CSSNumericVariableWatch.d.ts +0 -11
  277. package/src/components/Select/CSSNumericVariableWatch.js +0 -45
@@ -9,7 +9,6 @@ import ObjectFactory from '../../../Utilities/ObjectFactory';
9
9
  import { AdaptableIconSelector } from '../../Components/AdaptableIconSelector';
10
10
  import { PredicateEditor } from '../../Components/PredicateEditor/PredicateEditor';
11
11
  import { useOnePageAdaptableWizardContext } from '../../Wizard/OnePageAdaptableWizard';
12
- import { StyledColumnBadgePreview } from './StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview';
13
12
  import { Badge } from '../../Components/Badge';
14
13
  import { AdaptableIconComponent } from '../../Components/AdaptableIconComponent';
15
14
  import { DEFAULT_INTEGER_DISPLAY_VALUE, DEFAULT_STRING_DISPLAY_VALUE, } from '../../../Utilities/Constants/GeneralConstants';
@@ -18,9 +17,11 @@ import { Flex, Box } from '../../../components/Flex';
18
17
  import Radio, { RadioGroup } from '../../../components/Radio';
19
18
  import { NumberInput } from '../../../components/Input/NumberInput';
20
19
  import { Toggle, ToggleGroup } from '../../../components/Toggle';
21
- import { BadgePillStyleEditor } from './BadgePillStyleEditor';
22
- import { renderCellStyleSummaryTags, StyledColumnCellStyleEditor, } from './StyledColumnSliceStyleEditors';
20
+ import { BadgePillStyleEditor, getBadgePillStyleSummaryItems } from './BadgePillStyleEditor';
21
+ import { getCellBoxStyleSummaryItems, getCellFontStyleSummaryItems, StyledColumnCellStyleEditor, } from './StyledColumnSliceStyleEditors';
23
22
  import { Card } from '../../../components/Card';
23
+ import { useAdaptable } from '../../AdaptableContext';
24
+ import { StyledColumnBadgePreviewCard } from './StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview';
24
25
  const BADGE_STYLE_FORM_SIZES = ['200px', '1fr'];
25
26
  const SHAPE_CHOICES = [
26
27
  { value: 'Pill', label: 'Pill' },
@@ -94,8 +95,88 @@ const BadgeEditor = (props) => {
94
95
  });
95
96
  } }), _jsx(Box, { className: "twa:text-xs twa:opacity-70", children: "px between icon and text \u2014 leave blank to follow Density" })] }) }))] }) })] }));
96
97
  };
97
- export const renderBadgeSummary = (styledColumn) => {
98
- return _jsx(StyledColumnBadgePreview, { data: styledColumn });
98
+ export const getStyledColumnBadgeDefinitionViewValueGroups = (styledColumn, api) => {
99
+ const badgeStyle = styledColumn.BadgeStyle;
100
+ if (!badgeStyle?.Badges?.length) {
101
+ return [];
102
+ }
103
+ return badgeStyle.Badges.map((badge, index) => {
104
+ const items = [];
105
+ let rule = 'Always';
106
+ if (badge.Predicate) {
107
+ rule = api.predicateApi.predicateToString(badge.Predicate);
108
+ }
109
+ else if (badge.Expression) {
110
+ rule = badge.Expression.BooleanExpression;
111
+ }
112
+ items.push(`Badge ${index + 1}: ${rule}`);
113
+ items.push(`Shape: ${badge.Shape ?? 'Rounded'}`);
114
+ getBadgePillStyleSummaryItems(badge.PillStyle).forEach(({ label, value }) => {
115
+ items.push(`${label}: ${value}`);
116
+ });
117
+ if (badge.Icon) {
118
+ const iconName = 'name' in badge.Icon ? badge.Icon.name : 'Custom';
119
+ items.push(`Icon: ${iconName}`);
120
+ }
121
+ if (badge.IconOnly) {
122
+ items.push('Icon Only: Yes');
123
+ }
124
+ if (badge.Icon && badge.IconPosition) {
125
+ items.push(`Icon Position: ${badge.IconPosition}`);
126
+ }
127
+ if (typeof badge.IconGap === 'number') {
128
+ items.push(`Icon Gap: ${badge.IconGap}px`);
129
+ }
130
+ return items;
131
+ });
132
+ };
133
+ export const getStyledColumnBadgeDefinitionViewValues = (styledColumn, api) => {
134
+ return getStyledColumnBadgeDefinitionViewValueGroups(styledColumn, api).flat();
135
+ };
136
+ const isBadgeArrayColumn = (styledColumn, api) => {
137
+ if (!api || !styledColumn.ColumnId) {
138
+ return false;
139
+ }
140
+ const dataType = api.columnApi.getColumnDataTypeForColumnId(styledColumn.ColumnId);
141
+ return dataType === 'numberArray' || dataType === 'textArray';
142
+ };
143
+ export const getStyledColumnBadgeStyleViewValues = (styledColumn, api) => {
144
+ const badgeStyle = styledColumn.BadgeStyle;
145
+ if (!badgeStyle) {
146
+ return [];
147
+ }
148
+ const items = [`Density: ${badgeStyle.Density ?? 'Normal'}`];
149
+ if (isBadgeArrayColumn(styledColumn, api)) {
150
+ if (typeof badgeStyle.Spacing === 'number') {
151
+ items.push(`Spacing: ${badgeStyle.Spacing}px`);
152
+ }
153
+ items.push(`Overflow: ${badgeStyle.OverflowMode ?? 'Truncate'}`);
154
+ }
155
+ getCellFontStyleSummaryItems(badgeStyle.Font).forEach(({ label, value }) => {
156
+ items.push(`${label}: ${value}`);
157
+ });
158
+ getCellBoxStyleSummaryItems(badgeStyle.Cell).forEach(({ label, value }) => {
159
+ items.push(`${label}: ${value}`);
160
+ });
161
+ return items;
162
+ };
163
+ export const renderBadgeDefinitionSummaryTags = (styledColumn, api) => {
164
+ const groups = getStyledColumnBadgeDefinitionViewValueGroups(styledColumn, api);
165
+ if (!groups.length) {
166
+ return _jsx(Tag, { children: "No Badges Defined" });
167
+ }
168
+ return (_jsx(Flex, { flexDirection: "column", className: "twa:gap-2", children: groups.map((items, index) => (_jsx(Flex, { alignItems: "center", className: "twa:flex-wrap twa:gap-2", children: items.map((item, itemIndex) => (_jsx(Tag, { children: item }, `${index}-${itemIndex}`))) }, index))) }));
169
+ };
170
+ export const StyledColumnBadgeDefinitionsView = ({ data }) => {
171
+ const { api } = useAdaptable();
172
+ return renderBadgeDefinitionSummaryTags(data, api);
173
+ };
174
+ export const renderBadgeSummary = (styledColumn, api) => {
175
+ if (!api) {
176
+ const { api: adaptableApi } = useOnePageAdaptableWizardContext();
177
+ api = adaptableApi;
178
+ }
179
+ return renderBadgeDefinitionSummaryTags(styledColumn, api);
99
180
  };
100
181
  export const StyledColumnBadgeSection = (props) => {
101
182
  const { data } = useOnePageAdaptableWizardContext();
@@ -176,17 +257,16 @@ export const StyledColumnBadgeStyleSection = (props) => {
176
257
  delete cleaned.Cell;
177
258
  props.onChange({ ...data, BadgeStyle: cleaned });
178
259
  }
179
- } }) })] })] })] }));
260
+ } }) })] })] }), _jsx(StyledColumnBadgePreviewCard, { data: data })] }));
180
261
  };
181
- export const renderBadgeStyleSummary = (styledColumn) => {
182
- const badgeStyle = styledColumn?.BadgeStyle;
183
- if (!badgeStyle) {
184
- return _jsx(Tag, { children: "\u2014" });
262
+ export const renderBadgeStyleSummary = (styledColumn, api) => {
263
+ if (!api) {
264
+ const { api: adaptableApi } = useOnePageAdaptableWizardContext();
265
+ api = adaptableApi;
266
+ }
267
+ const items = getStyledColumnBadgeStyleViewValues(styledColumn, api);
268
+ if (!items.length) {
269
+ return _jsx(Tag, { children: "No Style Defined" });
185
270
  }
186
- const density = badgeStyle.Density ?? 'Normal';
187
- const spacing = typeof badgeStyle.Spacing === 'number' ? badgeStyle.Spacing : null;
188
- const overflow = badgeStyle.OverflowMode ?? 'Truncate';
189
- const alignment = badgeStyle.Font?.Alignment;
190
- const cellTags = renderCellStyleSummaryTags(badgeStyle.Cell);
191
- return (_jsxs(Flex, { alignItems: "center", className: "twa:flex-wrap twa:gap-2", children: [_jsxs(Box, { children: ["Density: ", _jsx(Tag, { children: density })] }), spacing != null && (_jsxs(Box, { children: ["Spacing: ", _jsxs(Tag, { children: [spacing, "px"] })] })), _jsxs(Box, { children: ["Overflow: ", _jsx(Tag, { children: overflow })] }), alignment && (_jsxs(Box, { children: ["Align: ", _jsx(Tag, { children: alignment })] })), cellTags && _jsxs(Box, { children: ["Cell: ", cellTags] })] }));
271
+ return (_jsx(Flex, { alignItems: "center", className: "twa:flex-wrap twa:gap-2", children: items.map((item) => (_jsx(Tag, { children: item }, item))) }));
192
272
  };
@@ -39,10 +39,24 @@ export interface StyledColumnCellStyleEditorProps {
39
39
  * key is unset) which the host wizard merges back into its `*Style` patch.
40
40
  */
41
41
  export declare const StyledColumnCellStyleEditor: React.FunctionComponent<StyledColumnCellStyleEditorProps>;
42
+ /**
43
+ * Descriptive font properties for summary panels (`Label: value` strings).
44
+ */
45
+ export declare const getCellFontStyleSummaryItems: (font: CellFontStyle | undefined) => {
46
+ label: string;
47
+ value: string;
48
+ }[];
42
49
  /**
43
50
  * Compact summary tags for the Font slice; used by wizard summary panels.
44
51
  */
45
52
  export declare const renderFontStyleSummaryTags: (font: CellFontStyle | undefined) => React.JSX.Element | null;
53
+ /**
54
+ * Descriptive cell box properties for summary panels (`Label: value` strings).
55
+ */
56
+ export declare const getCellBoxStyleSummaryItems: (cell: CellBoxStyle | undefined) => {
57
+ label: string;
58
+ value: string;
59
+ }[];
46
60
  /**
47
61
  * Compact summary tags for the Cell slice; used by wizard summary panels.
48
62
  */
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from 'react';
2
3
  import { CheckBox } from '../../../components/CheckBox';
3
4
  import { ColorPicker } from '../../../components/ColorPicker';
4
5
  import FormLayout, { FormRow } from '../../../components/FormLayout';
@@ -69,9 +70,11 @@ export const StyledColumnFontStyleEditor = (props) => {
69
70
  */
70
71
  export const StyledColumnCellStyleEditor = (props) => {
71
72
  const cell = props.value ?? {};
73
+ const cellRef = React.useRef(cell);
74
+ cellRef.current = cell;
72
75
  const { disabled } = props;
73
76
  const update = (patch) => {
74
- const next = { ...cell, ...patch };
77
+ const next = { ...cellRef.current, ...patch };
75
78
  Object.keys(next).forEach((k) => {
76
79
  const v = next[k];
77
80
  if (v === undefined || v === null || v === '') {
@@ -88,51 +91,69 @@ export const StyledColumnCellStyleEditor = (props) => {
88
91
  return (_jsx(Box, { children: _jsxs(FormLayout, { className: "twa:ml-2", sizes: [...FORM_SIZES], children: [_jsx(FormRow, { label: "Background:", children: _jsxs(Flex, { alignItems: "center", className: "twa:ml-2 twa:gap-2", children: [_jsx(CheckBox, { disabled: disabled, checked: !!cell.BackColor, onChange: (checked) => update({ BackColor: checked ? cell.BackColor ?? '#ffffff' : undefined }), children: "Set" }), _jsx(ColorPicker, { disabled: disabled || !cell.BackColor, api: props.api, value: cell.BackColor || '#ffffff', onChange: (c) => update({ BackColor: c }) })] }) }), _jsx(FormRow, { label: "Border colour:", children: _jsxs(Flex, { alignItems: "center", className: "twa:ml-2 twa:gap-2", children: [_jsx(CheckBox, { disabled: disabled, checked: !!cell.BorderColor, onChange: (checked) => update({ BorderColor: checked ? cell.BorderColor ?? '#000000' : undefined }), children: "Set" }), _jsx(ColorPicker, { disabled: disabled || !cell.BorderColor, api: props.api, value: cell.BorderColor || '#000000', onChange: (c) => update({ BorderColor: c }) })] }) }), _jsx(FormRow, { label: "Border radius:", children: _jsxs(Flex, { alignItems: "center", className: "twa:ml-2 twa:gap-2", children: [_jsx(NumberInput, { disabled: disabled, className: "twa:w-20", value: cell.BorderRadius, min: 0, max: 64, step: 1, onChange: (v) => update({ BorderRadius: v === undefined || isNaN(Number(v)) ? undefined : v }) }), _jsx(Box, { className: "twa:text-xs twa:opacity-70", children: "px" })] }) })] }) }));
89
92
  };
90
93
  /**
91
- * Compact summary tags for the Font slice; used by wizard summary panels.
94
+ * Descriptive font properties for summary panels (`Label: value` strings).
92
95
  */
93
- export const renderFontStyleSummaryTags = (font) => {
94
- if (!font)
95
- return null;
96
- const tags = [];
96
+ export const getCellFontStyleSummaryItems = (font) => {
97
+ if (!font) {
98
+ return [];
99
+ }
100
+ const items = [];
97
101
  if (font.ForeColor) {
98
- tags.push(_jsxs(Tag, { children: ["Text ", font.ForeColor] }, "fg"));
102
+ items.push({ label: 'Fore Colour', value: font.ForeColor });
99
103
  }
100
104
  if (font.FontWeight === 'Bold') {
101
- tags.push(_jsx(Tag, { children: "Bold" }, "b"));
105
+ items.push({ label: 'Font Weight', value: 'Bold' });
102
106
  }
103
107
  if (font.FontStyle === 'Italic') {
104
- tags.push(_jsx(Tag, { children: "Italic" }, "i"));
108
+ items.push({ label: 'Font Style', value: 'Italic' });
105
109
  }
106
110
  if (font.TextDecoration && font.TextDecoration !== 'None') {
107
- tags.push(_jsx(Tag, { children: font.TextDecoration }, "td"));
111
+ items.push({ label: 'Text Decoration', value: font.TextDecoration });
108
112
  }
109
113
  if (font.FontSize) {
110
- tags.push(_jsx(Tag, { children: font.FontSize }, "fs"));
114
+ items.push({ label: 'Font Size', value: font.FontSize });
111
115
  }
112
116
  if (font.Alignment && font.Alignment !== 'Default') {
113
- tags.push(_jsxs(Tag, { children: ["Align ", font.Alignment] }, "al"));
117
+ items.push({ label: 'Alignment', value: font.Alignment });
114
118
  }
115
- if (tags.length === 0)
116
- return null;
117
- return (_jsx(Flex, { alignItems: "center", className: "twa:gap-1 twa:flex-wrap", children: tags }));
119
+ return items;
118
120
  };
119
121
  /**
120
- * Compact summary tags for the Cell slice; used by wizard summary panels.
122
+ * Compact summary tags for the Font slice; used by wizard summary panels.
121
123
  */
122
- export const renderCellStyleSummaryTags = (cell) => {
123
- if (!cell)
124
+ export const renderFontStyleSummaryTags = (font) => {
125
+ const items = getCellFontStyleSummaryItems(font);
126
+ if (!items.length) {
124
127
  return null;
125
- const tags = [];
128
+ }
129
+ return (_jsx(Flex, { alignItems: "center", className: "twa:gap-1 twa:flex-wrap", children: items.map(({ label, value }) => (_jsx(Tag, { children: `${label}: ${value}` }, label))) }));
130
+ };
131
+ /**
132
+ * Descriptive cell box properties for summary panels (`Label: value` strings).
133
+ */
134
+ export const getCellBoxStyleSummaryItems = (cell) => {
135
+ if (!cell) {
136
+ return [];
137
+ }
138
+ const items = [];
126
139
  if (cell.BackColor) {
127
- tags.push(_jsxs(Tag, { children: ["Bg ", cell.BackColor] }, "bg"));
140
+ items.push({ label: 'Back Colour', value: cell.BackColor });
128
141
  }
129
142
  if (cell.BorderColor) {
130
- tags.push(_jsxs(Tag, { children: ["Border ", cell.BorderColor] }, "bc"));
143
+ items.push({ label: 'Border Colour', value: cell.BorderColor });
131
144
  }
132
145
  if (cell.BorderRadius != null) {
133
- tags.push(_jsxs(Tag, { children: ["Radius ", cell.BorderRadius, "px"] }, "br"));
146
+ items.push({ label: 'Border Radius', value: `${cell.BorderRadius}px` });
134
147
  }
135
- if (tags.length === 0)
148
+ return items;
149
+ };
150
+ /**
151
+ * Compact summary tags for the Cell slice; used by wizard summary panels.
152
+ */
153
+ export const renderCellStyleSummaryTags = (cell) => {
154
+ const items = getCellBoxStyleSummaryItems(cell);
155
+ if (!items.length) {
136
156
  return null;
137
- return (_jsx(Flex, { alignItems: "center", className: "twa:gap-1 twa:flex-wrap", children: tags }));
157
+ }
158
+ return (_jsx(Flex, { alignItems: "center", className: "twa:gap-1 twa:flex-wrap", children: items.map(({ label, value }) => (_jsx(Tag, { children: `${label}: ${value}` }, label))) }));
138
159
  };
@@ -1,9 +1,8 @@
1
1
  import * as React from 'react';
2
2
  import type { StyledColumn } from '../../../types';
3
+ export declare const getStyledColumnSparklineStyleViewValues: (data: StyledColumn) => string[];
3
4
  /**
4
- * Wizard-step summary for the Sparkline Settings step, mirroring the
5
- * pattern used by Bullet / Badge / Gradient / Percent Bar so the nav row
6
- * isn't blank when this step is collapsed.
5
+ * Wizard-step summary for the Sparkline Settings step.
7
6
  */
8
7
  export declare const renderSparklineSummary: (data: StyledColumn) => React.ReactNode;
9
8
  /**
@@ -1,7 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import * as React from 'react';
3
3
  import { SingleSelect } from '../../../components/NewSelect';
4
- import { Tabs } from '../../../components/Tabs';
5
4
  import { useOnePageAdaptableWizardContext } from '../../Wizard/OnePageAdaptableWizard';
6
5
  import FormLayout, { FormRow } from '../../../components/FormLayout';
7
6
  import { Tag } from '../../../components/Tag';
@@ -9,7 +8,13 @@ import AdaptableInput from '../../Components/AdaptableInput';
9
8
  import { ColorPicker } from '../../../components/ColorPicker';
10
9
  import { CheckBox } from '../../../components/CheckBox';
11
10
  import { Box, Flex } from '../../../components/Flex';
12
- import { renderCellStyleSummaryTags, StyledColumnCellStyleEditor, } from './StyledColumnSliceStyleEditors';
11
+ import { getCellBoxStyleSummaryItems, StyledColumnCellStyleEditor, } from './StyledColumnSliceStyleEditors';
12
+ import { Card } from '../../../components/Card';
13
+ import ErrorBox from '../../../components/ErrorBox';
14
+ import { StyledColumnSparklinePreviewCard } from './StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview';
15
+ const STYLE_FORM_SIZES = ['200px', '1fr'];
16
+ /** Sentinel for the theme dropdown — persisted options omit `theme` when this is chosen. */
17
+ const SPARKLINE_CUSTOM_COLOURS_THEME = '__custom__';
13
18
  const SparklineTypes = {
14
19
  LINE: 'line',
15
20
  AREA: 'area',
@@ -30,22 +35,67 @@ const sparklineTypeLabel = (opts) => {
30
35
  }
31
36
  return type.charAt(0).toUpperCase() + type.slice(1);
32
37
  };
38
+ const buildStyledColumnSparklineStyleSummaryStrings = (sparkline, options) => {
39
+ const opts = sparkline.options;
40
+ if (!opts) {
41
+ return [];
42
+ }
43
+ const items = [`Type: ${sparklineTypeLabel(opts)}`];
44
+ if (typeof opts.theme === 'string' && opts.theme !== 'ag-default') {
45
+ items.push(`Theme: ${opts.theme.replace(/^ag-/, '')}`);
46
+ }
47
+ if (typeof opts.min === 'number' || typeof opts.max === 'number') {
48
+ items.push(`Range: ${opts.min ?? 'auto'} → ${opts.max ?? 'auto'}`);
49
+ }
50
+ if (opts.xKey || opts.yKey) {
51
+ items.push(`Keys: x=${opts.xKey ?? 'x'}, y=${opts.yKey ?? 'y'}`);
52
+ }
53
+ const markerEnabled = opts.type !== 'bar' &&
54
+ opts.marker?.enabled;
55
+ if (markerEnabled) {
56
+ items.push('Markers: On');
57
+ }
58
+ else if (options.includeEmptyFeatures && opts.type !== 'bar') {
59
+ items.push('Markers: Off');
60
+ }
61
+ if (opts.tooltip?.enabled) {
62
+ items.push('Tooltip: On');
63
+ }
64
+ else if (options.includeEmptyFeatures) {
65
+ items.push('Tooltip: Off');
66
+ }
67
+ if (opts.axis?.visible) {
68
+ items.push('Axis: On');
69
+ }
70
+ else if (options.includeEmptyFeatures) {
71
+ items.push('Axis: Off');
72
+ }
73
+ getCellBoxStyleSummaryItems(sparkline.Cell).forEach(({ label, value }) => {
74
+ items.push(`${label}: ${value}`);
75
+ });
76
+ return items;
77
+ };
78
+ export const getStyledColumnSparklineStyleViewValues = (data) => {
79
+ const sparkline = data.SparklineStyle;
80
+ if (!sparkline) {
81
+ return [];
82
+ }
83
+ return buildStyledColumnSparklineStyleSummaryStrings(sparkline, {
84
+ includeEmptyFeatures: false,
85
+ });
86
+ };
33
87
  /**
34
- * Wizard-step summary for the Sparkline Settings step, mirroring the
35
- * pattern used by Bullet / Badge / Gradient / Percent Bar so the nav row
36
- * isn't blank when this step is collapsed.
88
+ * Wizard-step summary for the Sparkline Settings step.
37
89
  */
38
90
  export const renderSparklineSummary = (data) => {
39
- const opts = data.SparklineStyle?.options;
40
- if (!opts) {
41
- return _jsx(Tag, { children: "\u2014" });
91
+ const sparkline = data.SparklineStyle;
92
+ if (!sparkline?.options) {
93
+ return _jsx(Tag, { children: "No Styling Defined" });
42
94
  }
43
- const type = sparklineTypeLabel(opts);
44
- const theme = typeof opts.theme === 'string' ? opts.theme.replace(/^ag-/, '') : null;
45
- const min = typeof opts.min === 'number' ? opts.min : null;
46
- const max = typeof opts.max === 'number' ? opts.max : null;
47
- const cellTags = renderCellStyleSummaryTags(data.SparklineStyle?.Cell);
48
- return (_jsxs(Flex, { alignItems: "center", className: "twa:flex-wrap twa:gap-2", children: [_jsxs(Box, { children: ["Type: ", _jsx(Tag, { children: type })] }), theme && (_jsxs(Box, { children: ["Theme: ", _jsx(Tag, { children: theme })] })), (min != null || max != null) && (_jsxs(Box, { children: ["Range: ", _jsx(Tag, { children: `${min ?? 'auto'} → ${max ?? 'auto'}` })] })), cellTags && _jsxs(Box, { children: ["Cell: ", cellTags] })] }));
95
+ const items = buildStyledColumnSparklineStyleSummaryStrings(sparkline, {
96
+ includeEmptyFeatures: true,
97
+ });
98
+ return (_jsx(Flex, { alignItems: "center", className: "twa:flex-wrap twa:gap-2", children: items.map((item) => (_jsx(Tag, { children: item }, item))) }));
49
99
  };
50
100
  /**
51
101
  * Validation for the Sparkline Settings wizard step.
@@ -91,23 +141,32 @@ export const StyledColumnSparklineSettingsSection = ({ onChange }) => {
91
141
  }
92
142
  handleOptionsChange(newOptions);
93
143
  };
94
- const isObjectNumberArray = api.columnApi.getColumnWithColumnId(data.ColumnId)?.dataType === 'objectArray';
95
- return (_jsxs(_Fragment, { children: [_jsx(Box, { className: "twa:mb-3", children: _jsxs(FormLayout, { children: [_jsx(FormRow, { label: "Sparkline Type", children: _jsx(Box, { className: "twa:max-w-[160px]", children: _jsx(SingleSelect, { className: "twa:w-full", items: sparklineTypeOptions, value: sparklineType, onValueChange: handleTypeChange, placeholder: "Select Sparkline Type" }) }) }), isObjectNumberArray && (_jsx(SparklineObjectArrayProperties, { options: sparklineOptions, onChange: handleOptionsChange })), _jsx(FormRow, { label: "Min Value", children: _jsx(AdaptableInput, { type: "number", value: sparklineOptions.min ?? '', onChange: (e) => handleOptionsChange({
96
- ...sparklineOptions,
97
- min: e.target.value === '' ? undefined : Number(e.target.value),
98
- }), placeholder: 'Auto', title: "User override for the automatically determined min value (based on series data)" }) }), _jsx(FormRow, { label: "Max Value", children: _jsx(AdaptableInput, { type: "number", value: sparklineOptions.max ?? '', onChange: (e) => handleOptionsChange({
99
- ...sparklineOptions,
100
- max: e.target.value === '' ? undefined : Number(e.target.value),
101
- }), placeholder: 'Auto', title: "User override for the automatically determined max value (based on series data)" }) })] }) }), _jsxs(Tabs, { className: "twa:mb-2", children: [_jsx(Tabs.Tab, { children: "Theming" }), _jsx(Tabs.Tab, { children: "Axis" }), _jsx(Tabs.Tab, { hidden: sparklineOptions.type === 'bar', children: "Marker" }), _jsx(Tabs.Tab, { children: "Tooltip" }), _jsx(Tabs.Tab, { children: "Highlight Style" }), _jsx(Tabs.Content, { children: _jsx(SparklineThemingOptions, { options: sparklineOptions, onChange: handleOptionsChange }) }), _jsx(Tabs.Content, { children: _jsx(SparklineAxisOptions, { options: sparklineOptions, onChange: handleOptionsChange }) }), _jsx(Tabs.Content, { children: _jsx(SparklineMarkerOptions, { options: sparklineOptions, onChange: handleOptionsChange }) }), _jsx(Tabs.Content, { children: _jsx(SparklineTooltipOptions, { options: sparklineOptions, onChange: handleOptionsChange }) }), _jsx(Tabs.Content, { children: _jsx(SparklineHighlightOptions, { options: sparklineOptions, onChange: handleOptionsChange }) })] }), _jsxs(Box, { className: "twa:mt-3", children: [_jsx(Box, { className: "twa:ml-2 twa:font-semibold twa:text-sm", children: "Cell" }), _jsx(Box, { className: "twa:ml-2 twa:text-xs twa:opacity-70 twa:mt-1 twa:max-w-[480px] twa:mb-1", children: "Optional cell-box styling (background, border, radius) applied to the cell behind the sparkline. When any property is set, this column ignores Cell-box properties from any matching Format Column." }), _jsx(StyledColumnCellStyleEditor, { api: api, value: data.SparklineStyle?.Cell, onChange: (next) => {
102
- const sparkStyle = { ...(data.SparklineStyle ?? {}) };
103
- if (next) {
104
- sparkStyle.Cell = next;
105
- }
106
- else {
107
- delete sparkStyle.Cell;
108
- }
109
- onChange({ ...data, SparklineStyle: sparkStyle });
110
- } })] })] }));
144
+ const column = data.ColumnId
145
+ ? api.columnApi.getColumnWithColumnId(data.ColumnId)
146
+ : undefined;
147
+ const disabled = !data.ColumnId || !column;
148
+ const isObjectNumberArray = column?.dataType === 'objectArray';
149
+ if (!data.ColumnId || !column) {
150
+ return (_jsx(Box, { children: _jsx(ErrorBox, { className: "twa:mt-2", children: !data.ColumnId
151
+ ? 'You need to select a column before styling.'
152
+ : `Column "${data.ColumnId}" was not found in the grid.` }) }));
153
+ }
154
+ return (_jsxs(Box, { children: [_jsxs(Card, { shadow: false, className: "twa:mb-3", children: [_jsx(Card.Title, { children: "Chart" }), _jsx(Card.Body, { children: _jsxs(FormLayout, { sizes: [...STYLE_FORM_SIZES], children: [_jsx(FormRow, { label: "Type:", children: _jsx(Box, { className: "twa:max-w-[160px]", children: _jsx(SingleSelect, { className: "twa:w-full", disabled: disabled, items: sparklineTypeOptions, value: sparklineType, onValueChange: handleTypeChange, placeholder: "Select Sparkline Type" }) }) }), isObjectNumberArray && (_jsx(SparklineObjectArrayProperties, { options: sparklineOptions, onChange: handleOptionsChange })), _jsx(FormRow, { label: "Min Value:", children: _jsx(AdaptableInput, { disabled: disabled, type: "number", value: sparklineOptions.min ?? '', onChange: (e) => handleOptionsChange({
155
+ ...sparklineOptions,
156
+ min: e.target.value === '' ? undefined : Number(e.target.value),
157
+ }), placeholder: 'Auto', title: "User override for the automatically determined min value (based on series data)" }) }), _jsx(FormRow, { label: "Max Value:", children: _jsx(AdaptableInput, { disabled: disabled, type: "number", value: sparklineOptions.max ?? '', onChange: (e) => handleOptionsChange({
158
+ ...sparklineOptions,
159
+ max: e.target.value === '' ? undefined : Number(e.target.value),
160
+ }), placeholder: 'Auto', title: "User override for the automatically determined max value (based on series data)" }) })] }) })] }), _jsxs(Card, { shadow: false, className: "twa:mb-3", children: [_jsx(Card.Title, { children: "Theming" }), _jsx(Card.Body, { children: _jsx(SparklineThemingOptions, { options: sparklineOptions, onChange: handleOptionsChange }) })] }), _jsxs(Card, { shadow: false, className: "twa:mb-3", children: [_jsx(Card.Title, { children: "Axis" }), _jsx(Card.Body, { children: _jsx(SparklineAxisOptions, { options: sparklineOptions, onChange: handleOptionsChange }) })] }), sparklineOptions.type !== 'bar' && (_jsxs(Card, { shadow: false, className: "twa:mb-3", children: [_jsx(Card.Title, { children: "Markers" }), _jsx(Card.Body, { children: _jsx(SparklineMarkerOptions, { options: sparklineOptions, onChange: handleOptionsChange }) })] })), _jsxs(Card, { shadow: false, className: "twa:mb-3", children: [_jsx(Card.Title, { children: "Tooltip" }), _jsx(Card.Body, { children: _jsx(SparklineTooltipOptions, { options: sparklineOptions, onChange: handleOptionsChange }) })] }), _jsxs(Card, { shadow: false, className: "twa:mb-3", children: [_jsx(Card.Title, { children: "Highlight" }), _jsx(Card.Body, { children: _jsx(SparklineHighlightOptions, { options: sparklineOptions, onChange: handleOptionsChange }) })] }), _jsxs(Card, { shadow: false, className: "twa:mb-3", children: [_jsxs(Card.Title, { children: [_jsx(Box, { className: "twa:font-medium", children: "Cell" }), _jsx(Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[500px]", children: "Optional cell-box styling behind the sparkline" })] }), _jsx(Card.Body, { children: _jsx(StyledColumnCellStyleEditor, { api: api, disabled: disabled, value: data.SparklineStyle?.Cell, onChange: (next) => {
161
+ const sparkStyle = { ...(data.SparklineStyle ?? {}) };
162
+ if (next) {
163
+ sparkStyle.Cell = next;
164
+ }
165
+ else {
166
+ delete sparkStyle.Cell;
167
+ }
168
+ onChange({ ...data, SparklineStyle: sparkStyle });
169
+ } }) })] }), _jsx(StyledColumnSparklinePreviewCard, { data: data })] }));
111
170
  };
112
171
  const SparklineObjectArrayProperties = ({ options, onChange, }) => {
113
172
  const { data, api } = useOnePageAdaptableWizardContext();
@@ -140,11 +199,17 @@ const SparklineThemingOptions = ({ options, onChange, }) => {
140
199
  const handleChange = (key, value) => {
141
200
  onChange({ ...options, [key]: value });
142
201
  };
202
+ const applySeriesColour = (patch) => {
203
+ const next = { ...options, ...patch };
204
+ delete next.theme;
205
+ onChange(next);
206
+ };
143
207
  const handlePaddingChange = (key, value) => {
144
208
  const currentPadding = sparklineOptions.padding || {};
145
209
  handleChange('padding', { ...currentPadding, [key]: value });
146
210
  };
147
211
  const themes = [
212
+ { value: SPARKLINE_CUSTOM_COLOURS_THEME, label: 'Custom colours' },
148
213
  { value: 'ag-default', label: 'Default' },
149
214
  { value: 'ag-default-dark', label: 'Default Dark' },
150
215
  { value: 'ag-sheets', label: 'Sheets' },
@@ -158,7 +223,9 @@ const SparklineThemingOptions = ({ options, onChange, }) => {
158
223
  { value: 'ag-financial', label: 'Financial' },
159
224
  { value: 'ag-financial-dark', label: 'Financial Dark' },
160
225
  ];
161
- return (_jsxs(FormLayout, { children: [sparklineOptions.type !== 'line' && (_jsx(FormRow, { label: "Fill", children: _jsx(ColorPicker, { title: "The colour for filling shapes", api: api, value: sparklineOptions.fill, onChange: (color) => handleChange('fill', color) }) })), _jsx(FormRow, { label: "Stroke", children: _jsxs(Flex, { alignItems: "center", children: [_jsx(ColorPicker, { title: "The colour for the stroke", api: api, value: sparklineOptions.stroke, onChange: (color) => handleChange('stroke', color) }), _jsx(Box, { className: "twa:ml-2 twa:mr-1", children: "Width" }), _jsx(AdaptableInput, { title: "The width of the stroke in pixels", type: "number", className: "twa:w-[70px]", min: 0, value: sparklineOptions.strokeWidth ?? '', onChange: (e) => handleChange('strokeWidth', Number(e.target.value)) })] }) }), _jsx(FormRow, { label: "Padding", children: _jsxs(Flex, { alignItems: "center", children: [_jsx(Box, { className: "twa:mr-1", children: "Top" }), _jsx(AdaptableInput, { type: "number", min: 0, value: sparklineOptions.padding?.top ?? '', onChange: (e) => handlePaddingChange('top', Number(e.target.value)), className: "twa:w-[70px]", title: "The number of pixels of padding at the top of the chart area" }), _jsx(Box, { className: "twa:ml-2 twa:mr-1", children: "Right" }), _jsx(AdaptableInput, { type: "number", min: 0, value: sparklineOptions.padding?.right ?? '', onChange: (e) => handlePaddingChange('right', Number(e.target.value)), className: "twa:w-[70px]", title: "The number of pixels of padding at the right of the chart area" }), _jsx(Box, { className: "twa:ml-2 twa:mr-1", children: "Bottom" }), _jsx(AdaptableInput, { type: "number", min: 0, value: sparklineOptions.padding?.bottom ?? '', onChange: (e) => handlePaddingChange('bottom', Number(e.target.value)), className: "twa:w-[70px]", title: "The number of pixels of padding at the bottom of the chart area" }), _jsx(Box, { className: "twa:ml-2 twa:mr-1", children: "Left" }), _jsx(AdaptableInput, { type: "number", min: 0, value: sparklineOptions.padding?.left ?? '', onChange: (e) => handlePaddingChange('left', Number(e.target.value)), className: "twa:w-[70px]", title: "The number of pixels of padding at the left of the chart area" })] }) }), _jsx(FormRow, { label: "Line Dash", children: _jsx(AdaptableInput, { title: "Length of dashes and gaps in pixels (comma-separated values, e.g. '3,6,9')", value: sparklineOptions.lineDash?.join(',') ?? '', onChange: (e) => {
226
+ return (_jsxs(FormLayout, { children: [sparklineOptions.type !== 'line' && (_jsx(FormRow, { label: "Fill", children: _jsxs(Box, { children: [_jsx(ColorPicker, { title: "The colour for filling shapes", api: api, value: sparklineOptions.fill, onChange: (color) => applySeriesColour({ fill: color }) }), _jsx(Box, { className: "twa:mt-1 twa:text-1 twa:opacity-70", children: "Bar, column, and area body colour." })] }) })), _jsx(FormRow, { label: "Stroke", children: _jsxs(Box, { children: [_jsxs(Flex, { alignItems: "center", children: [_jsx(ColorPicker, { title: "The colour for the stroke", api: api, value: sparklineOptions.stroke, onChange: (color) => applySeriesColour({ stroke: color }) }), _jsx(Box, { className: "twa:ml-2 twa:mr-1", children: "Width" }), _jsx(AdaptableInput, { title: "The width of the stroke in pixels", type: "number", className: "twa:w-[70px]", min: 0, value: sparklineOptions.strokeWidth ?? '', onChange: (e) => handleChange('strokeWidth', Number(e.target.value)) })] }), _jsx(Box, { className: "twa:mt-1 twa:text-1 twa:opacity-70", children: sparklineOptions.type === 'line'
227
+ ? 'Line colour. Marker colours are in the Markers card.'
228
+ : 'Outline colour — increase width to see it on bars and columns.' })] }) }), _jsx(FormRow, { label: "Padding", children: _jsxs(Flex, { alignItems: "center", children: [_jsx(Box, { className: "twa:mr-1", children: "Top" }), _jsx(AdaptableInput, { type: "number", min: 0, value: sparklineOptions.padding?.top ?? '', onChange: (e) => handlePaddingChange('top', Number(e.target.value)), className: "twa:w-[70px]", title: "The number of pixels of padding at the top of the chart area" }), _jsx(Box, { className: "twa:ml-2 twa:mr-1", children: "Right" }), _jsx(AdaptableInput, { type: "number", min: 0, value: sparklineOptions.padding?.right ?? '', onChange: (e) => handlePaddingChange('right', Number(e.target.value)), className: "twa:w-[70px]", title: "The number of pixels of padding at the right of the chart area" }), _jsx(Box, { className: "twa:ml-2 twa:mr-1", children: "Bottom" }), _jsx(AdaptableInput, { type: "number", min: 0, value: sparklineOptions.padding?.bottom ?? '', onChange: (e) => handlePaddingChange('bottom', Number(e.target.value)), className: "twa:w-[70px]", title: "The number of pixels of padding at the bottom of the chart area" }), _jsx(Box, { className: "twa:ml-2 twa:mr-1", children: "Left" }), _jsx(AdaptableInput, { type: "number", min: 0, value: sparklineOptions.padding?.left ?? '', onChange: (e) => handlePaddingChange('left', Number(e.target.value)), className: "twa:w-[70px]", title: "The number of pixels of padding at the left of the chart area" })] }) }), _jsx(FormRow, { label: "Line Dash", children: _jsx(AdaptableInput, { title: "Length of dashes and gaps in pixels (comma-separated values, e.g. '3,6,9')", value: sparklineOptions.lineDash?.join(',') ?? '', onChange: (e) => {
162
229
  const value = e.target.value;
163
230
  const dashArray = value
164
231
  ? value
@@ -173,7 +240,15 @@ const SparklineThemingOptions = ({ options, onChange, }) => {
173
240
  }) }), _jsx(Box, { className: "twa:ml-2", children: _jsx(ColorPicker, { disabled: !sparklineOptions.background?.visible, title: "The colour of the chart background", api: api, value: sparklineOptions.background?.fill, onChange: (fill) => handleChange('background', {
174
241
  ...sparklineOptions.background,
175
242
  fill,
176
- }) }) })] }) }), typeof sparklineOptions.theme !== 'object' && (_jsx(FormRow, { label: "Theme", children: _jsx(Box, { className: "twa:max-w-[160px]", children: _jsx(SingleSelect, { className: "twa:w-full", value: sparklineOptions.theme ?? 'ag-default', onValueChange: (themeName) => handleChange('theme', themeName), items: themes }) }) }))] }));
243
+ }) }) })] }) }), typeof sparklineOptions.theme !== 'object' && (_jsx(FormRow, { label: "Theme", children: _jsxs(Box, { children: [_jsx(Box, { className: "twa:max-w-[160px]", children: _jsx(SingleSelect, { className: "twa:w-full", value: sparklineOptions.theme ?? SPARKLINE_CUSTOM_COLOURS_THEME, onValueChange: (themeName) => {
244
+ if (themeName === SPARKLINE_CUSTOM_COLOURS_THEME) {
245
+ const next = { ...options };
246
+ delete next.theme;
247
+ onChange(next);
248
+ return;
249
+ }
250
+ handleChange('theme', themeName);
251
+ }, items: themes }) }), _jsx(Box, { className: "twa:mt-1 twa:text-1 twa:opacity-70", children: "Palette preset. Use Custom colours when Fill / Stroke above should control the chart." })] }) }))] }));
177
252
  };
178
253
  const SparklineAxisOptions = ({ options, onChange, }) => {
179
254
  const { api } = useOnePageAdaptableWizardContext();
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState } from 'react';
3
3
  import { useDispatch, useSelector } from 'react-redux';
4
4
  import { OnePageAdaptableWizard, OnePageWizardSummary, } from '../../Wizard/OnePageAdaptableWizard';
@@ -17,6 +17,14 @@ import { isValidIconStyleMappings, renderStyledColumnIconStyleSummary, renderSty
17
17
  import { ObjectTagsWizardSection, renderObjectTagsSummary, } from '../../Wizard/ObjectTagsWizardSection';
18
18
  import { renderBadgeStyleSummary, renderBadgeSummary, StyledColumnBadgeStyleSection, StyledColumnBadgeSection, } from './StyledColumnBadgeSection';
19
19
  import { Box } from '../../../components/Flex';
20
+ import { StyledColumnGradientPreviewCard } from './StyledColumnWizardStyleSection/Components/StyledColumnGradientPreview';
21
+ import { StyledColumnPercentBarPreviewCard } from './StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview';
22
+ import { StyledColumnBadgePreviewCard } from './StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview';
23
+ import { StyledColumnRatingPreviewCard } from './StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview';
24
+ import { StyledColumnIconPreviewCard } from './StyledColumnWizardStyleSection/Components/StyledColumnIconPreview';
25
+ import { StyledColumnBulletPreviewCard } from './StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview';
26
+ import { StyledColumnRangeBarPreviewCard } from './StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview';
27
+ import { StyledColumnSparklinePreviewCard } from './StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview';
20
28
  /**
21
29
  * Mirrors the migration default in `VersionUpgrade23.patchStyledColumnName` and
22
30
  * the auto-fill logic in `StyledColumnWizardTypeSection` so users opening the
@@ -140,7 +148,7 @@ export const StyledColumnWizard = (props) => {
140
148
  }
141
149
  if (styledColumn.GradientStyle) {
142
150
  specificSteps.push({
143
- details: 'Set Transparency, Auto Contrast, Tooltip and Font properties',
151
+ details: 'Set the Style for the Gradient',
144
152
  renderSummary: renderStyledColumnGradientStyleSummary,
145
153
  render: () => (_jsx(Box, { className: "twa:p-2", children: _jsx(StyledColumnWizardGradientSection, { onChange: setStyledColumn }) })),
146
154
  title: 'Style',
@@ -151,7 +159,7 @@ export const StyledColumnWizard = (props) => {
151
159
  specificSteps.push({
152
160
  title: 'Ranges',
153
161
  details: 'Create Cell Ranges',
154
- renderSummary: () => renderStyledColumnBulletRangesSummary(styledColumn),
162
+ renderSummary: renderStyledColumnBulletRangesSummary,
155
163
  render: () => (_jsx(Box, { className: "twa:p-2", children: _jsx(StyledColumnWizardBulletSection, { variant: "ranges", onChange: setStyledColumn }) })),
156
164
  isValid: () => {
157
165
  const bs = styledColumn.BulletChartStyle;
@@ -164,7 +172,7 @@ export const StyledColumnWizard = (props) => {
164
172
  specificSteps.push({
165
173
  title: 'Style',
166
174
  details: 'Target, bar appearance, cell text, tooltip, background and font',
167
- renderSummary: () => renderStyledColumnBulletStyleSummary(styledColumn),
175
+ renderSummary: renderStyledColumnBulletStyleSummary,
168
176
  render: () => (_jsx(Box, { className: "twa:p-2", children: _jsx(StyledColumnWizardBulletSection, { variant: "style", onChange: setStyledColumn }) })),
169
177
  isValid: () => true,
170
178
  });
@@ -174,7 +182,7 @@ export const StyledColumnWizard = (props) => {
174
182
  title: 'Style',
175
183
  details: 'Configure the Icon, Text and Cell styles',
176
184
  isValid: () => isValidRatingStyle(styledColumn),
177
- renderSummary: () => renderStyledColumnRatingSummary(styledColumn),
185
+ renderSummary: renderStyledColumnRatingSummary,
178
186
  render: () => (_jsx(Box, { className: "twa:p-2", children: _jsx(StyledColumnWizardRatingSection, { onChange: setStyledColumn }) })),
179
187
  });
180
188
  }
@@ -183,14 +191,14 @@ export const StyledColumnWizard = (props) => {
183
191
  title: 'Style',
184
192
  details: 'Set Bounds and optional Ranges',
185
193
  isValid: () => isValidRangeBarBounds(styledColumn),
186
- renderSummary: () => renderStyledColumnRangeBarRangeStepSummary(styledColumn),
194
+ renderSummary: renderStyledColumnRangeBarRangeStepSummary,
187
195
  render: () => (_jsx(Box, { className: "twa:p-2", children: _jsx(StyledColumnWizardRangeBarSection, { variant: "range", onChange: setStyledColumn }) })),
188
196
  });
189
197
  specificSteps.push({
190
198
  title: 'Display',
191
- details: 'Markers, track, out-of-range behaviour, cell text and tooltip',
199
+ details: 'Configure the Display for the Range Bar',
192
200
  isValid: () => true,
193
- renderSummary: () => renderStyledColumnRangeBarDisplayStepSummary(styledColumn),
201
+ renderSummary: renderStyledColumnRangeBarDisplayStepSummary,
194
202
  render: () => (_jsx(Box, { className: "twa:p-2", children: _jsx(StyledColumnWizardRangeBarSection, { variant: "appearance", onChange: setStyledColumn }) })),
195
203
  });
196
204
  }
@@ -199,14 +207,14 @@ export const StyledColumnWizard = (props) => {
199
207
  title: 'Mappings',
200
208
  details: 'Select a preset or define key → icon mappings',
201
209
  isValid: () => isValidIconStyleMappings(styledColumn),
202
- renderSummary: () => renderStyledColumnIconMappingsSummary(styledColumn),
210
+ renderSummary: renderStyledColumnIconMappingsSummary,
203
211
  render: () => (_jsx(Box, { className: "twa:p-2", children: _jsx(StyledColumnWizardIconSection, { variant: "mappings", onChange: setStyledColumn }) })),
204
212
  });
205
213
  specificSteps.push({
206
214
  title: 'Style',
207
215
  details: 'Set Styles for sizing, cell text, tooltips, font and cell',
208
216
  isValid: () => true,
209
- renderSummary: () => renderStyledColumnIconStyleSummary(styledColumn),
217
+ renderSummary: renderStyledColumnIconStyleSummary,
210
218
  render: () => (_jsx(Box, { className: "twa:p-2", children: _jsx(StyledColumnWizardIconSection, { variant: "style", onChange: setStyledColumn }) })),
211
219
  });
212
220
  }
@@ -224,13 +232,13 @@ export const StyledColumnWizard = (props) => {
224
232
  }
225
233
  return true;
226
234
  },
227
- renderSummary: () => renderBadgeSummary(styledColumn),
235
+ renderSummary: renderBadgeSummary,
228
236
  render: () => (_jsx(Box, { className: "twa:p-2", children: _jsx(StyledColumnBadgeSection, { onChange: setStyledColumn }) })),
229
237
  });
230
238
  specificSteps.push({
231
239
  title: 'Style',
232
240
  details: 'Set Cell Density and Cell Style',
233
- renderSummary: () => renderBadgeStyleSummary(styledColumn),
241
+ renderSummary: renderBadgeStyleSummary,
234
242
  render: () => (_jsx(Box, { className: "twa:p-2", children: _jsx(StyledColumnBadgeStyleSection, { onChange: setStyledColumn }) })),
235
243
  });
236
244
  }
@@ -279,7 +287,7 @@ export const StyledColumnWizard = (props) => {
279
287
  title: 'Summary',
280
288
  details: 'Review your Styled Column',
281
289
  render: () => {
282
- return (_jsx(Box, { className: "twa:p-2", children: _jsx(OnePageWizardSummary, {}) }));
290
+ return (_jsxs(Box, { className: "twa:p-2 twa:flex twa:flex-col twa:gap-3", children: [_jsx(OnePageWizardSummary, {}), styledColumn.GradientStyle && (_jsx(StyledColumnGradientPreviewCard, { data: styledColumn })), styledColumn.PercentBarStyle && (_jsx(StyledColumnPercentBarPreviewCard, { data: styledColumn })), styledColumn.BadgeStyle && (_jsx(StyledColumnBadgePreviewCard, { data: styledColumn })), styledColumn.RatingStyle && (_jsx(StyledColumnRatingPreviewCard, { data: styledColumn })), styledColumn.IconStyle && (_jsx(StyledColumnIconPreviewCard, { data: styledColumn })), styledColumn.BulletChartStyle && (_jsx(StyledColumnBulletPreviewCard, { data: styledColumn })), styledColumn.RangeBarStyle && (_jsx(StyledColumnRangeBarPreviewCard, { data: styledColumn })), styledColumn.SparklineStyle && (_jsx(StyledColumnSparklinePreviewCard, { data: styledColumn }))] }));
283
291
  },
284
292
  },
285
293
  ] }));