@adaptabletools/adaptable 23.0.0-canary.4 → 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 (248) hide show
  1. package/index.css +116 -61
  2. package/package.json +9 -4
  3. package/src/AdaptableOptions/EditOptions.d.ts +2 -2
  4. package/src/AdaptableState/Common/AggregationColumns.d.ts +14 -6
  5. package/src/AdaptableState/Common/AggregationColumns.js +27 -2
  6. package/src/AdaptableState/Common/ColumnScope.d.ts +4 -0
  7. package/src/AdaptableState/Common/Enums.d.ts +5 -5
  8. package/src/AdaptableState/Common/Enums.js +4 -4
  9. package/src/AdaptableState/PlusMinusState.d.ts +3 -3
  10. package/src/AdaptableState/ShortcutState.d.ts +2 -6
  11. package/src/AdaptableState/StyledColumnState.d.ts +3 -5
  12. package/src/AdaptableState/ThemeState.d.ts +33 -28
  13. package/src/Api/EventApi.d.ts +14 -1
  14. package/src/Api/Events/ThemeChanged.d.ts +6 -0
  15. package/src/Api/Events/ThemeSelected.d.ts +11 -0
  16. package/src/Api/Events/ThemeSelected.js +1 -0
  17. package/src/Api/Implementation/EventApiImpl.js +4 -0
  18. package/src/Api/Implementation/LayoutApiImpl.d.ts +0 -2
  19. package/src/Api/Implementation/LayoutApiImpl.js +0 -14
  20. package/src/Api/Implementation/LayoutHelpers.d.ts +2 -0
  21. package/src/Api/Implementation/LayoutHelpers.js +17 -7
  22. package/src/Api/Implementation/ThemeApiImpl.d.ts +3 -2
  23. package/src/Api/Implementation/ThemeApiImpl.js +19 -15
  24. package/src/Api/Internal/EventInternalApi.d.ts +2 -0
  25. package/src/Api/Internal/EventInternalApi.js +8 -1
  26. package/src/Api/Internal/StyledColumnInternalApi.d.ts +4 -4
  27. package/src/Api/Internal/StyledColumnInternalApi.js +4 -4
  28. package/src/Api/Internal/ThemeInternalApi.d.ts +0 -1
  29. package/src/Api/Internal/ThemeInternalApi.js +0 -10
  30. package/src/Api/LayoutApi.d.ts +1 -8
  31. package/src/Api/ThemeApi.d.ts +6 -2
  32. package/src/Redux/ActionsReducers/ThemeRedux.d.ts +3 -3
  33. package/src/Strategy/FormatColumnModule.js +14 -7
  34. package/src/Strategy/LayoutModule.js +13 -8
  35. package/src/Strategy/StyledColumnModule.js +64 -36
  36. package/src/Utilities/Constants/ReduxConstants.d.ts +2 -2
  37. package/src/Utilities/Constants/ReduxConstants.js +1 -14
  38. package/src/Utilities/Helpers/FormatHelper.js +20 -1
  39. package/src/Utilities/Helpers/SparklineOptionsHelper.d.ts +7 -0
  40. package/src/Utilities/Helpers/SparklineOptionsHelper.js +65 -0
  41. package/src/Utilities/Helpers/StyledColumnGradientHelper.d.ts +23 -1
  42. package/src/Utilities/Helpers/StyledColumnGradientHelper.js +204 -0
  43. package/src/Utilities/Helpers/ThemeHelpers.d.ts +5 -0
  44. package/src/Utilities/Helpers/ThemeHelpers.js +38 -0
  45. package/src/Utilities/Helpers/percentBarPreviewHelper.d.ts +19 -0
  46. package/src/Utilities/Helpers/percentBarPreviewHelper.js +143 -0
  47. package/src/Utilities/ObjectFactory.d.ts +1 -3
  48. package/src/Utilities/ObjectFactory.js +0 -8
  49. package/src/Utilities/Services/ThemeService.js +1 -1
  50. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +17 -16
  51. package/src/View/Alert/Wizard/AlertButtonsEditor.js +114 -103
  52. package/src/View/Alert/Wizard/AlertMessageWizardSection.js +13 -14
  53. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +55 -55
  54. package/src/View/Alert/Wizard/AlertRulesWizardSection.js +3 -2
  55. package/src/View/Alert/Wizard/AlertScheduledWizardSection.js +2 -2
  56. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +31 -39
  57. package/src/View/Alert/Wizard/AlertTypeWizardSection.js +3 -4
  58. package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +9 -13
  59. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +30 -17
  60. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +7 -9
  61. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +3 -3
  62. package/src/View/CellSummary/CellSummaryViewPanel.js +1 -1
  63. package/src/View/Charting/ChartingWizard/AgChargingWizard/AgChargingWizard.js +3 -10
  64. package/src/View/Charting/ChartingWizard/AgChargingWizard/PreviewChartSection.js +1 -1
  65. package/src/View/Charting/ChartingWizard/AgChargingWizard/SettingsSection.js +32 -41
  66. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/ExternalChartingWizard.js +4 -31
  67. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/PreviewChartSection.d.ts +5 -0
  68. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/PreviewChartSection.js +21 -0
  69. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.d.ts +1 -0
  70. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.js +10 -7
  71. package/src/View/Comments/CommentsEditor.js +1 -1
  72. package/src/View/Components/ModuleProfile.js +1 -1
  73. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +0 -1
  74. package/src/View/Components/Popups/WindowPopups/windowFactory.js +0 -1
  75. package/src/View/Components/RangesComponent.d.ts +7 -2
  76. package/src/View/Components/RangesComponent.js +94 -22
  77. package/src/View/Components/StyleComponent.d.ts +1 -0
  78. package/src/View/Components/StyleComponent.js +1 -1
  79. package/src/View/Components/ValueSelector/index.js +70 -57
  80. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +8 -13
  81. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +8 -8
  82. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +1 -1
  83. package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +11 -12
  84. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadSection.js +6 -4
  85. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadTextSection.js +3 -2
  86. package/src/View/DataImport/DataImportWizard/sections/ValidationSection.js +5 -15
  87. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +24 -26
  88. package/src/View/Export/Wizard/ReportNameWizardSection.js +10 -13
  89. package/src/View/Export/Wizard/ReportRowsWizardSection.js +20 -22
  90. package/src/View/Export/Wizard/ScheduledReportSettings.d.ts +2 -0
  91. package/src/View/Export/Wizard/ScheduledReportSettings.js +13 -13
  92. package/src/View/Export/Wizard/ScheduledReportWizard.js +4 -5
  93. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +8 -6
  94. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +21 -22
  95. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +20 -11
  96. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +21 -5
  97. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +4 -4
  98. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +7 -0
  99. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +117 -12
  100. package/src/View/FormatColumn/Wizard/FormatColumnPreview.d.ts +15 -0
  101. package/src/View/FormatColumn/Wizard/FormatColumnPreview.js +66 -0
  102. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +4 -0
  103. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +30 -0
  104. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +13 -8
  105. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +1 -1
  106. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +3 -1
  107. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +62 -13
  108. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +5 -3
  109. package/src/View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags.d.ts +2 -0
  110. package/src/View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags.js +15 -0
  111. package/src/View/FreeTextColumn/Wizard/FreeTextColumnDefinitionWizardSection.d.ts +10 -0
  112. package/src/View/FreeTextColumn/Wizard/FreeTextColumnDefinitionWizardSection.js +53 -0
  113. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.d.ts +2 -3
  114. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +33 -68
  115. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +15 -11
  116. package/src/View/Layout/TransposedPopup.js +2 -2
  117. package/src/View/Layout/Wizard/LayoutWizard.js +3 -3
  118. package/src/View/Layout/Wizard/sections/AggregationsSection.d.ts +2 -3
  119. package/src/View/Layout/Wizard/sections/AggregationsSection.js +115 -26
  120. package/src/View/Layout/Wizard/sections/ColumnsSection.js +79 -79
  121. package/src/View/Layout/Wizard/sections/FilterSection.js +31 -32
  122. package/src/View/Layout/Wizard/sections/GridFilterSection.js +11 -11
  123. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.d.ts +1 -2
  124. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +101 -52
  125. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +9 -8
  126. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +4 -4
  127. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +36 -33
  128. package/src/View/Layout/Wizard/sections/RowSelectionSection.js +2 -2
  129. package/src/View/Layout/Wizard/sections/RowSummarySection.js +95 -73
  130. package/src/View/Layout/Wizard/sections/SettingsSection.js +4 -5
  131. package/src/View/Layout/Wizard/sections/SortSection.js +2 -2
  132. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +1 -1
  133. package/src/View/NamedQuery/Wizard/NamedQuerySettingsWizardSection.js +9 -14
  134. package/src/View/NamedQuery/Wizard/NamedQueryWizard.js +1 -3
  135. package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.d.ts +4 -0
  136. package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +43 -13
  137. package/src/View/PlusMinus/Wizard/PlusMinusScopeWizardSection.js +11 -18
  138. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.d.ts +2 -6
  139. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +6 -22
  140. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +15 -21
  141. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +2 -2
  142. package/src/View/Shortcut/Wizard/ShortcutScopeWizardSection.js +11 -18
  143. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +17 -6
  144. package/src/View/Shortcut/Wizard/ShortcutWizard.js +3 -3
  145. package/src/View/Shortcut/shortcutOperations.d.ts +3 -0
  146. package/src/View/Shortcut/shortcutOperations.js +28 -0
  147. package/src/View/SpecialColumnSettingsWizardStep.js +9 -8
  148. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +5 -0
  149. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +24 -15
  150. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.d.ts +10 -2
  151. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +96 -16
  152. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.d.ts +14 -0
  153. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +45 -24
  154. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.d.ts +2 -3
  155. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +108 -33
  156. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +21 -13
  157. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.d.ts +5 -0
  158. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +121 -23
  159. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.d.ts +1 -0
  160. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +34 -11
  161. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.d.ts +5 -0
  162. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +86 -12
  163. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.d.ts +5 -0
  164. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +121 -34
  165. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.d.ts +1 -0
  166. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +55 -75
  167. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BulletRangesSummaryPreview.d.ts +5 -0
  168. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BulletRangesSummaryPreview.js +16 -0
  169. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.js +7 -13
  170. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.js +5 -5
  171. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.js +4 -3
  172. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.d.ts +5 -4
  173. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +12 -14
  174. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/RangeBarRangesSummaryPreview.d.ts +5 -0
  175. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/RangeBarRangesSummaryPreview.js +16 -0
  176. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.d.ts +3 -0
  177. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +31 -3
  178. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.d.ts +9 -0
  179. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.js +58 -0
  180. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnGradientPreview.d.ts +10 -0
  181. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnGradientPreview.js +30 -0
  182. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnIconPreview.d.ts +10 -0
  183. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnIconPreview.js +91 -0
  184. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview.d.ts +8 -0
  185. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview.js +52 -0
  186. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.d.ts +8 -0
  187. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.js +53 -0
  188. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.d.ts +18 -0
  189. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.js +58 -0
  190. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.d.ts +10 -0
  191. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.js +126 -0
  192. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardRangesSection.js +12 -5
  193. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.d.ts +1 -5
  194. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +52 -29
  195. package/src/View/SystemStatus/Utilities/getStatusItemStyle.js +1 -1
  196. package/src/View/Theme/ThemePopup.d.ts +2 -14
  197. package/src/View/Theme/ThemePopup.js +1 -36
  198. package/src/View/UIHelper.js +1 -1
  199. package/src/View/Wizard/OnePageAdaptableWizard.js +7 -21
  200. package/src/agGrid/AdaptableAgGrid.d.ts +1 -0
  201. package/src/agGrid/AdaptableAgGrid.js +35 -25
  202. package/src/agGrid/AgGridAdapter.d.ts +1 -1
  203. package/src/agGrid/AgGridAdapter.js +27 -17
  204. package/src/agGrid/AgGridColumnAdapter.js +9 -15
  205. package/src/agGrid/AgGridMenuAdapter.d.ts +0 -1
  206. package/src/agGrid/AgGridMenuAdapter.js +20 -37
  207. package/src/agGrid/buildValueAggregationMenuItem.d.ts +19 -0
  208. package/src/agGrid/buildValueAggregationMenuItem.js +111 -0
  209. package/src/agGrid/cellRenderers/IconRenderer.d.ts +6 -0
  210. package/src/agGrid/cellRenderers/IconRenderer.js +43 -15
  211. package/src/agGrid/createAgGridIcon.d.ts +10 -0
  212. package/src/agGrid/createAgGridIcon.js +16 -0
  213. package/src/components/DragAndDropContext/UnusedPanel.js +1 -1
  214. package/src/components/ExpressionEditor/BaseEditorInput.js +1 -1
  215. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +1 -1
  216. package/src/components/Input/NumberInput.js +1 -1
  217. package/src/components/Panel/index.js +1 -1
  218. package/src/components/SimpleButton/index.js +4 -4
  219. package/src/components/Toggle/Toggle.js +1 -1
  220. package/src/components/Toggle/ToggleGroup.js +1 -1
  221. package/src/env.js +2 -2
  222. package/src/layout-manager/src/index.js +2 -9
  223. package/src/metamodel/adaptable.metamodel.d.ts +39 -29
  224. package/src/metamodel/adaptable.metamodel.js +1 -1
  225. package/src/types.d.ts +5 -4
  226. package/themes/dark.css +1 -68
  227. package/themes/light.css +1 -5
  228. package/tsconfig.esm.tsbuildinfo +1 -1
  229. package/src/Aggregation/ParameterizedAggregationRegistry.d.ts +0 -35
  230. package/src/Aggregation/ParameterizedAggregationRegistry.js +0 -63
  231. package/src/Aggregation/definitions/weightedAverageAggregationDefinition.d.ts +0 -3
  232. package/src/Aggregation/definitions/weightedAverageAggregationDefinition.js +0 -55
  233. package/src/Aggregation/parameterizedAggregationColumnMenu.d.ts +0 -8
  234. package/src/Aggregation/parameterizedAggregationColumnMenu.js +0 -137
  235. package/src/Aggregation/parameterizedAggregationHeader.d.ts +0 -13
  236. package/src/Aggregation/parameterizedAggregationHeader.js +0 -60
  237. package/src/Aggregation/parameterizedAggregationHelpers.d.ts +0 -23
  238. package/src/Aggregation/parameterizedAggregationHelpers.js +0 -111
  239. package/src/Aggregation/parameterizedAggregationWizardHelpers.d.ts +0 -9
  240. package/src/Aggregation/parameterizedAggregationWizardHelpers.js +0 -66
  241. package/src/Aggregation/validateParameterizedAggregations.d.ts +0 -4
  242. package/src/Aggregation/validateParameterizedAggregations.js +0 -20
  243. package/src/View/Layout/Wizard/sections/ParameterizedAggFuncPicker.d.ts +0 -12
  244. package/src/View/Layout/Wizard/sections/ParameterizedAggFuncPicker.js +0 -43
  245. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.d.ts +0 -5
  246. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.js +0 -28
  247. package/src/View/Theme/VariantSelector.d.ts +0 -8
  248. package/src/View/Theme/VariantSelector.js +0 -20
@@ -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
  ] }));
@@ -1,7 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { StyledColumn } from '../../../AdaptableState/StyledColumnState';
3
+ export declare const getStyledColumnBulletRangesViewValues: (data: StyledColumn) => string[];
4
+ export declare const getStyledColumnBulletStyleViewValues: (data: StyledColumn) => string[];
3
5
  /** Wizard / list-view summary for the Ranges step (qualitative bands). */
4
6
  export declare const renderStyledColumnBulletRangesSummary: (data: StyledColumn) => React.JSX.Element;
7
+ export declare const StyledColumnBulletRangesView: React.FunctionComponent<React.PropsWithChildren<{
8
+ data: StyledColumn;
9
+ }>>;
5
10
  /** Wizard / list-view summary for the Style step (target, bar, text, font). */
6
11
  export declare const renderStyledColumnBulletStyleSummary: (data: StyledColumn) => React.JSX.Element;
7
12
  /** Full combined summary (ranges + style); kept for callers that expect one block. */
@@ -13,9 +13,10 @@ import DropdownButton from '../../../components/DropdownButton';
13
13
  import ArrayExtensions from '../../../Utilities/Extensions/ArrayExtensions';
14
14
  import AdaptableInput from '../../Components/AdaptableInput';
15
15
  import { Box, Flex } from '../../../components/Flex';
16
- import { StyledColumnBulletChartListPreview } from './StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews';
16
+ import { BulletRangesSummaryPreview } from './StyledColumnWizardStyleSection/Components/BulletRangesSummaryPreview';
17
+ import { StyledColumnBulletPreviewCard } from './StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview';
17
18
  import { SingleSelect } from '../../../components/NewSelect';
18
- import { renderFontStyleSummaryTags, StyledColumnFontStyleEditor, } from './StyledColumnSliceStyleEditors';
19
+ import { getCellFontStyleSummaryItems, StyledColumnFontStyleEditor, } from './StyledColumnSliceStyleEditors';
19
20
  import { Card } from '../../../components/Card';
20
21
  const BULLET_STYLE_FORM_SIZES = ['200px', '1fr'];
21
22
  // ---------------------------------------------------------------------------
@@ -26,37 +27,131 @@ const getTargetSummary = (target) => {
26
27
  return null;
27
28
  }
28
29
  if (Array.isArray(target)) {
29
- return `${target.length} target${target.length === 1 ? '' : 's'}`;
30
+ return target
31
+ .map((entry) => formatSingleBulletTargetSummary(entry))
32
+ .filter(Boolean)
33
+ .join(', ');
30
34
  }
35
+ return formatSingleBulletTargetSummary(target);
36
+ };
37
+ const formatSingleBulletTargetSummary = (target) => {
31
38
  if (typeof target === 'number') {
32
39
  return String(target);
33
40
  }
34
41
  if (typeof target === 'string') {
35
42
  return target;
36
43
  }
37
- // object form
38
44
  const t = target;
39
45
  return t.Label ?? String(t.Value);
40
46
  };
47
+ const formatBulletOriginLabel = (origin) => {
48
+ if (origin == undefined) {
49
+ return 'Auto';
50
+ }
51
+ if (typeof origin === 'number') {
52
+ return `Custom (${origin})`;
53
+ }
54
+ return origin;
55
+ };
56
+ const formatBulletCellTextSummary = (cellText) => cellText
57
+ ?.map((t) => (t === 'CellValue' ? 'Cell Value' : 'Percent Value'))
58
+ .join(' + ') ?? '';
59
+ const formatBulletToolTipSummary = (toolTipText) => toolTipText
60
+ ?.map((t) => (t === 'CellValue' ? 'Cell Value' : 'Percent Value'))
61
+ .join(' + ') ?? '';
62
+ export const getStyledColumnBulletRangesViewValues = (data) => {
63
+ const bullet = data.BulletChartStyle;
64
+ if (!bullet) {
65
+ return [];
66
+ }
67
+ const bandCount = bullet.CellRanges?.length ?? 0;
68
+ const items = [`Bands: ${bandCount}`];
69
+ if (bullet.RangeValueType != null) {
70
+ items.push(`Range Value Type: ${bullet.RangeValueType}`);
71
+ }
72
+ return items;
73
+ };
74
+ const buildStyledColumnBulletStyleSummaryStrings = (bullet, options) => {
75
+ const items = [];
76
+ const targetSummary = getTargetSummary(bullet.Target);
77
+ if (targetSummary) {
78
+ items.push(`Target: ${targetSummary}`);
79
+ }
80
+ const marker = bullet.TargetMarker;
81
+ if (marker?.Shape && marker.Shape !== 'Line') {
82
+ items.push(`Target Marker Shape: ${marker.Shape}`);
83
+ }
84
+ if (marker?.Color) {
85
+ items.push(`Target Marker Colour: ${marker.Color}`);
86
+ }
87
+ if (marker?.Size != null) {
88
+ items.push(`Target Marker Size: ${marker.Size}px`);
89
+ }
90
+ if (bullet.Orientation === 'Vertical') {
91
+ items.push('Orientation: Vertical');
92
+ }
93
+ if (bullet.BarColor) {
94
+ items.push(`Bar Colour: ${bullet.BarColor}`);
95
+ }
96
+ if (bullet.BarHeight != null) {
97
+ items.push(`${bullet.Orientation === 'Vertical' ? 'Bar Width' : 'Bar Height'}: ${bullet.BarHeight}px`);
98
+ }
99
+ items.push(`Origin: ${formatBulletOriginLabel(bullet.Origin)}`);
100
+ if (bullet.BackColor) {
101
+ items.push(`Back Colour: ${bullet.BackColor}`);
102
+ }
103
+ if (bullet.CellText?.length) {
104
+ items.push(`Cell Text: ${formatBulletCellTextSummary(bullet.CellText)}`);
105
+ items.push(`Cell Text Position: ${bullet.CellTextPosition ?? 'Below'}`);
106
+ }
107
+ else if (options.includeEmptyCellText) {
108
+ items.push('Cell Text: None');
109
+ }
110
+ getCellFontStyleSummaryItems(bullet.Font).forEach(({ label, value }) => {
111
+ items.push(`${label}: ${value}`);
112
+ });
113
+ if (bullet.ToolTipText?.length) {
114
+ items.push(`Tooltip: ${formatBulletToolTipSummary(bullet.ToolTipText)}`);
115
+ }
116
+ else if (options.includeEmptyTooltip) {
117
+ items.push('Tooltip: No Tooltip');
118
+ }
119
+ return items;
120
+ };
121
+ export const getStyledColumnBulletStyleViewValues = (data) => {
122
+ const bullet = data.BulletChartStyle;
123
+ if (!bullet) {
124
+ return [];
125
+ }
126
+ return buildStyledColumnBulletStyleSummaryStrings(bullet, {
127
+ includeEmptyCellText: false,
128
+ includeEmptyTooltip: false,
129
+ });
130
+ };
41
131
  /** Wizard / list-view summary for the Ranges step (qualitative bands). */
42
132
  export const renderStyledColumnBulletRangesSummary = (data) => {
43
133
  const bullet = data.BulletChartStyle;
44
134
  if (!bullet) {
45
- return _jsx(Tag, { children: "\u2014" });
135
+ return _jsx(Tag, { children: "No bands defined" });
46
136
  }
47
- const bandCount = bullet.CellRanges?.length ?? 0;
48
- return (_jsxs(Flex, { flexDirection: "column", className: "twa:gap-2 twa:items-start", children: [_jsx(StyledColumnBulletChartListPreview, { bullet: bullet }), _jsxs(Flex, { alignItems: "center", className: "twa:flex-wrap", children: [_jsxs(Box, { className: "twa:mr-1", children: [bandCount, " ", bandCount === 1 ? 'band' : 'bands'] }), bullet.RangeValueType != null && (_jsxs(Box, { className: "twa:mr-1", children: ["\u00B7 ", _jsx(Tag, { children: bullet.RangeValueType })] }))] })] }));
137
+ const tagItems = getStyledColumnBulletRangesViewValues(data);
138
+ return (_jsxs(Flex, { flexDirection: "column", className: "twa:gap-2 twa:items-start", children: [_jsx(Flex, { alignItems: "center", className: "twa:flex-wrap twa:gap-2", children: tagItems.map((item) => (_jsx(Tag, { children: item }, item))) }), _jsx(BulletRangesSummaryPreview, { bulletStyle: bullet })] }));
49
139
  };
140
+ export const StyledColumnBulletRangesView = ({ data }) => renderStyledColumnBulletRangesSummary(data);
50
141
  /** Wizard / list-view summary for the Style step (target, bar, text, font). */
51
142
  export const renderStyledColumnBulletStyleSummary = (data) => {
52
143
  const bullet = data.BulletChartStyle;
53
144
  if (!bullet) {
54
145
  return _jsx(Tag, { children: "No Styling Defined" });
55
146
  }
56
- const targetSummary = getTargetSummary(bullet.Target);
57
- const isVertical = bullet.Orientation === 'Vertical';
58
- const fontTags = renderFontStyleSummaryTags(bullet.Font);
59
- return (_jsxs(Flex, { flexDirection: "column", className: "twa:gap-2 twa:items-start", children: [_jsx(StyledColumnBulletChartListPreview, { bullet: bullet }), _jsxs(Flex, { alignItems: "center", className: "twa:flex-wrap", children: [targetSummary && (_jsxs(Box, { className: "twa:mr-1", children: ["target: ", _jsx(Tag, { children: targetSummary })] })), isVertical && (_jsx(Box, { className: "twa:mr-1", children: _jsx(Tag, { children: "vertical" }) })), fontTags && (_jsxs(Box, { className: "twa:mr-1", children: ["Font: ", fontTags] }))] })] }));
147
+ const items = buildStyledColumnBulletStyleSummaryStrings(bullet, {
148
+ includeEmptyCellText: true,
149
+ includeEmptyTooltip: true,
150
+ });
151
+ if (!items.length) {
152
+ return _jsx(Tag, { children: "No Style Defined" });
153
+ }
154
+ return (_jsx(Flex, { alignItems: "center", className: "twa:flex-wrap twa:gap-2", children: items.map((item) => (_jsx(Tag, { children: item }, item))) }));
60
155
  };
61
156
  /** Full combined summary (ranges + style); kept for callers that expect one block. */
62
157
  export const renderStyledColumnBulletSummary = (data) => {
@@ -64,11 +159,7 @@ export const renderStyledColumnBulletSummary = (data) => {
64
159
  if (!bullet) {
65
160
  return _jsx(Tag, { children: "No Styling Defined" });
66
161
  }
67
- const bandCount = bullet.CellRanges?.length ?? 0;
68
- const targetSummary = getTargetSummary(bullet.Target);
69
- const isVertical = bullet.Orientation === 'Vertical';
70
- const fontTags = renderFontStyleSummaryTags(bullet.Font);
71
- return (_jsxs(Flex, { flexDirection: "column", className: "twa:gap-2 twa:items-start", children: [_jsx(StyledColumnBulletChartListPreview, { bullet: bullet }), _jsxs(Flex, { alignItems: "center", className: "twa:flex-wrap", children: [_jsxs(Box, { className: "twa:mr-1", children: [bandCount, " ", bandCount === 1 ? 'band' : 'bands'] }), targetSummary && (_jsxs(Box, { className: "twa:mr-1", children: ["\u00B7 target: ", _jsx(Tag, { children: targetSummary })] })), isVertical && (_jsxs(Box, { className: "twa:mr-1", children: ["\u00B7 ", _jsx(Tag, { children: "vertical" })] })), fontTags && (_jsxs(Box, { className: "twa:mr-1", children: ["\u00B7 Font: ", fontTags] }))] })] }));
162
+ return (_jsxs(Flex, { flexDirection: "column", className: "twa:gap-3 twa:items-start", children: [renderStyledColumnBulletRangesSummary(data), renderStyledColumnBulletStyleSummary(data)] }));
72
163
  };
73
164
  /**
74
165
  * Maps the structured `BulletChartStyle.Target` field to one of the simple
@@ -108,20 +199,25 @@ const MARKER_SHAPES = [
108
199
  export const StyledColumnWizardBulletSection = (props) => {
109
200
  const variant = props.variant ?? 'style';
110
201
  const { data, api } = useOnePageAdaptableWizardContext();
111
- const minMaxRangeValues = React.useMemo(() => {
202
+ const column = React.useMemo(() => {
112
203
  const columnId = data.ColumnId;
113
204
  if (!columnId) {
205
+ return undefined;
206
+ }
207
+ return api.columnApi.getColumnWithColumnId(columnId);
208
+ }, [data.ColumnId, api]);
209
+ const minMaxRangeValues = React.useMemo(() => {
210
+ if (!column) {
114
211
  return null;
115
212
  }
116
- const column = api.columnApi.getColumnWithColumnId(columnId);
117
213
  return {
118
214
  min: api.styledColumnApi.internalApi.getMinValueForNumericColumn(column),
119
215
  max: api.styledColumnApi.internalApi.getMaxValueForNumericColumn(column),
120
216
  };
121
- }, [data]);
217
+ }, [column, api]);
122
218
  const scope = { ColumnIds: [data.ColumnId] };
123
219
  const bullet = data.BulletChartStyle ?? {};
124
- const disabled = !data.ColumnId;
220
+ const disabled = !data.ColumnId || !column;
125
221
  // -------------------------------------------------------------------------
126
222
  // Updaters
127
223
  // -------------------------------------------------------------------------
@@ -231,8 +327,10 @@ export const StyledColumnWizardBulletSection = (props) => {
231
327
  // -------------------------------------------------------------------------
232
328
  // Render
233
329
  // -------------------------------------------------------------------------
234
- if (!data.ColumnId) {
235
- return (_jsx(Box, { children: _jsx(ErrorBox, { className: "twa:mt-2", children: "You need to select a column before styling." }) }));
330
+ if (!data.ColumnId || !column) {
331
+ return (_jsx(Box, { children: _jsx(ErrorBox, { className: "twa:mt-2", children: !data.ColumnId
332
+ ? 'You need to select a column before styling.'
333
+ : `Column "${data.ColumnId}" was not found in the grid.` }) }));
236
334
  }
237
335
  // ----- Ranges-only variant (wizard step before Style) ---------------------
238
336
  if (variant === 'ranges') {
@@ -297,5 +395,5 @@ export const StyledColumnWizardBulletSection = (props) => {
297
395
  delete cleaned.Font;
298
396
  props.onChange({ ...data, BulletChartStyle: cleaned });
299
397
  }
300
- } }) })] })] }), _jsxs(Card, { shadow: false, className: "twa:mb-3", children: [_jsxs(Card.Title, { children: [_jsx(Box, { className: "twa:font-medium", children: "Tooltip" }), _jsx(Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Choose whether to display a tooltip" })] }), _jsx(Card.Body, { children: _jsx(FormLayout, { sizes: [...BULLET_STYLE_FORM_SIZES], children: _jsxs(FormRow, { label: "Tooltip Display:", children: [_jsx(CheckBox, { disabled: disabled, checked: bullet.ToolTipText?.includes('CellValue'), onChange: (checked) => toggleToolTipText('CellValue', checked), children: "Cell Value" }), ' ', _jsx(CheckBox, { disabled: disabled, className: "twa:ml-3", checked: bullet.ToolTipText?.includes('PercentageValue'), onChange: (checked) => toggleToolTipText('PercentageValue', checked), children: "Percent Value" })] }) }) })] })] }));
398
+ } }) })] })] }), _jsxs(Card, { shadow: false, className: "twa:mb-3", children: [_jsxs(Card.Title, { children: [_jsx(Box, { className: "twa:font-medium", children: "Tooltip" }), _jsx(Box, { className: "twa:text-xs twa:opacity-70 twa:font-normal twa:max-w-[520px]", children: "Choose whether to display a tooltip" })] }), _jsx(Card.Body, { children: _jsx(FormLayout, { sizes: [...BULLET_STYLE_FORM_SIZES], children: _jsxs(FormRow, { label: "Tooltip Display:", children: [_jsx(CheckBox, { disabled: disabled, checked: bullet.ToolTipText?.includes('CellValue'), onChange: (checked) => toggleToolTipText('CellValue', checked), children: "Cell Value" }), ' ', _jsx(CheckBox, { disabled: disabled, className: "twa:ml-3", checked: bullet.ToolTipText?.includes('PercentageValue'), onChange: (checked) => toggleToolTipText('PercentageValue', checked), children: "Percent Value" })] }) }) })] }), _jsx(StyledColumnBulletPreviewCard, { data: data })] }));
301
399
  };
@@ -3,6 +3,7 @@ import { StyledColumn } from '../../../AdaptableState/StyledColumnState';
3
3
  export interface StyledColumnWizardGradientSectionProps {
4
4
  onChange: (styledColumn: StyledColumn) => void;
5
5
  }
6
+ export declare const getStyledColumnGradientStyleViewValues: (data: StyledColumn) => string[];
6
7
  /**
7
8
  * Summary of Gradient-only style options (alpha bounds, auto-contrast, tooltip).
8
9
  */