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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (396) hide show
  1. package/icons/sort-asc.svg +1 -1
  2. package/index.css +828 -263
  3. package/package.json +1 -1
  4. package/src/AdaptableOptions/DataSetOptions.d.ts +26 -2
  5. package/src/AdaptableOptions/DefaultAdaptableOptions.js +0 -1
  6. package/src/AdaptableOptions/SettingsPanelOptions.d.ts +42 -10
  7. package/src/AdaptableState/Common/AdaptableFormat.d.ts +7 -0
  8. package/src/AdaptableState/Common/AdaptableMessageType.d.ts +1 -1
  9. package/src/AdaptableState/Common/Enums.d.ts +1 -1
  10. package/src/AdaptableState/Common/Enums.js +1 -1
  11. package/src/AdaptableState/StyledColumnState.d.ts +8 -850
  12. package/src/AdaptableState/StyledColumnState.js +1 -9
  13. package/src/AdaptableState/StyledColumns/BadgeStyle.d.ts +143 -0
  14. package/src/AdaptableState/StyledColumns/BadgeStyle.js +9 -0
  15. package/src/AdaptableState/StyledColumns/BulletChartStyle.d.ts +147 -0
  16. package/src/AdaptableState/StyledColumns/Common/BarChartCellText.d.ts +60 -0
  17. package/src/AdaptableState/StyledColumns/Common/BarChartCellText.js +6 -0
  18. package/src/AdaptableState/StyledColumns/Common/BarChartMarker.d.ts +24 -0
  19. package/src/AdaptableState/StyledColumns/Common/BarChartMarker.js +5 -0
  20. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.d.ts +13 -0
  21. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.js +6 -0
  22. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.d.ts +79 -0
  23. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.js +9 -0
  24. package/src/AdaptableState/StyledColumns/GradientStyle.d.ts +48 -0
  25. package/src/AdaptableState/StyledColumns/GradientStyle.js +1 -0
  26. package/src/AdaptableState/StyledColumns/IconStyle.d.ts +158 -0
  27. package/src/AdaptableState/StyledColumns/IconStyle.js +1 -0
  28. package/src/AdaptableState/StyledColumns/PercentBarStyle.d.ts +32 -0
  29. package/src/AdaptableState/StyledColumns/PercentBarStyle.js +1 -0
  30. package/src/AdaptableState/StyledColumns/RangeBarStyle.d.ts +155 -0
  31. package/src/AdaptableState/StyledColumns/RangeBarStyle.js +1 -0
  32. package/src/AdaptableState/StyledColumns/RatingStyle.d.ts +111 -0
  33. package/src/AdaptableState/StyledColumns/RatingStyle.js +1 -0
  34. package/src/AdaptableState/StyledColumns/SparklineStyle.d.ts +21 -0
  35. package/src/AdaptableState/StyledColumns/SparklineStyle.js +1 -0
  36. package/src/Api/ColumnScopeApi.d.ts +1 -1
  37. package/src/Api/Implementation/ColumnScopeApiImpl.d.ts +1 -1
  38. package/src/Api/Internal/AlertInternalApi.js +1 -1
  39. package/src/Api/Internal/DataSetInternalApi.d.ts +3 -0
  40. package/src/Api/Internal/DataSetInternalApi.js +73 -13
  41. package/src/Api/Internal/StyledColumnInternalApi.d.ts +3 -1
  42. package/src/Redux/Store/AdaptableStore.js +6 -4
  43. package/src/Strategy/CalculatedColumnModule.js +1 -0
  44. package/src/Strategy/ColumnFilterModule.js +1 -0
  45. package/src/Strategy/FlashingCellModule.js +6 -2
  46. package/src/Strategy/FormatColumnModule.js +2 -2
  47. package/src/Strategy/FreeTextColumnModule.js +38 -28
  48. package/src/Strategy/Interface/IModule.d.ts +3 -1
  49. package/src/Strategy/LayoutModule.js +15 -66
  50. package/src/Strategy/StyledColumnModule.js +12 -29
  51. package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.d.ts +1 -0
  52. package/src/Strategy/Utilities/CustomSort/getCustomSortColumnViewItems.js +1 -0
  53. package/src/Strategy/Utilities/Export/getExportColumnsViewItems.d.ts +2 -0
  54. package/src/Strategy/Utilities/Export/getExportColumnsViewItems.js +14 -0
  55. package/src/Strategy/Utilities/Export/getExportRowsViewItems.d.ts +1 -0
  56. package/src/Strategy/Utilities/Export/getExportRowsViewItems.js +3 -0
  57. package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.d.ts +11 -0
  58. package/src/Strategy/Utilities/Layout/aggregationSummaryHelpers.js +105 -0
  59. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.d.ts +48 -0
  60. package/src/Strategy/Utilities/Layout/columnsSummaryHelpers.js +166 -0
  61. package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.d.ts +1 -0
  62. package/src/Strategy/Utilities/Layout/getLayoutSortViewItems.js +1 -0
  63. package/src/Strategy/Utilities/Layout/rowGroupSummaryHelpers.d.ts +26 -0
  64. package/src/Strategy/Utilities/Layout/rowGroupSummaryHelpers.js +85 -0
  65. package/src/Utilities/Defaults/DefaultSettingsPanel.d.ts +3 -5
  66. package/src/Utilities/Defaults/DefaultSettingsPanel.js +46 -41
  67. package/src/Utilities/Helpers/FormatHelper.js +3 -0
  68. package/src/Utilities/Helpers/IconStylePresets.d.ts +1 -1
  69. package/src/Utilities/Helpers/ScheduleHelper.js +2 -0
  70. package/src/Utilities/Helpers/StyleHelper.d.ts +18 -0
  71. package/src/Utilities/Helpers/StyleHelper.js +27 -0
  72. package/src/Utilities/Helpers/StyledColumnGradientHelper.d.ts +3 -1
  73. package/src/Utilities/Helpers/StyledColumnGradientHelper.js +7 -5
  74. package/src/Utilities/Helpers/barChartCellText.d.ts +63 -0
  75. package/src/Utilities/Helpers/barChartCellText.js +316 -0
  76. package/src/Utilities/Helpers/percentBarPreviewHelper.d.ts +2 -1
  77. package/src/Utilities/Helpers/percentBarPreviewHelper.js +3 -8
  78. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.d.ts +3 -0
  79. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.js +15 -0
  80. package/src/Utilities/getScopeViewItems.js +2 -0
  81. package/src/Utilities/wizardSelection.d.ts +10 -0
  82. package/src/Utilities/wizardSelection.js +15 -0
  83. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +2 -2
  84. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +2 -2
  85. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +3 -3
  86. package/src/View/Alert/AlertViewPanel.js +2 -2
  87. package/src/View/Alert/Utilities/getAlertButtonStyle.js +7 -4
  88. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.d.ts +0 -1
  89. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +0 -4
  90. package/src/View/Alert/Wizard/AlertButtonsEditor.js +160 -126
  91. package/src/View/Alert/Wizard/AlertMessageWizardSection.d.ts +1 -1
  92. package/src/View/Alert/Wizard/AlertMessageWizardSection.js +1 -2
  93. package/src/View/Alert/Wizard/AlertNotificationWizardSection.d.ts +1 -1
  94. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +4 -5
  95. package/src/View/Alert/Wizard/AlertScheduledWizardSection.d.ts +1 -1
  96. package/src/View/Alert/Wizard/AlertScheduledWizardSection.js +1 -2
  97. package/src/View/Alert/Wizard/AlertTypeWizardSection.d.ts +1 -1
  98. package/src/View/Alert/Wizard/AlertTypeWizardSection.js +31 -7
  99. package/src/View/Alert/Wizard/AlertWizard.js +13 -5
  100. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.d.ts +2 -1
  101. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +4 -14
  102. package/src/View/BulkUpdate/BulkUpdatePopup.js +1 -1
  103. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +4 -6
  104. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.d.ts +1 -1
  105. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +1 -2
  106. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +1 -1
  107. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +30 -4
  108. package/src/View/CellSummary/CellSummaryViewPanel.js +4 -4
  109. package/src/View/Charting/ShowChartButton.js +8 -8
  110. package/src/View/ColumnInfo/ColumnInfo.js +21 -1
  111. package/src/View/Components/AdaptableObjectCollection/index.js +2 -2
  112. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +3 -2
  113. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +7 -6
  114. package/src/View/Components/AdaptableObjectList/objectListActionButtonStyles.d.ts +2 -0
  115. package/src/View/Components/AdaptableObjectList/objectListActionButtonStyles.js +2 -0
  116. package/src/View/Components/AdaptableObjectRow/index.js +2 -2
  117. package/src/View/Components/Buttons/ButtonBase/index.js +2 -3
  118. package/src/View/Components/Buttons/ButtonNew.d.ts +2 -0
  119. package/src/View/Components/Buttons/ButtonNew.js +1 -1
  120. package/src/View/Components/Buttons/EntityListActionButtons.js +3 -3
  121. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -0
  122. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +9 -9
  123. package/src/View/Components/ColumnFilter/ColumnFilter.js +16 -4
  124. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +2 -2
  125. package/src/View/Components/ColumnSelector/index.d.ts +12 -0
  126. package/src/View/Components/ColumnSelector/index.js +30 -6
  127. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +2 -2
  128. package/src/View/Components/ModuleValueSelector/index.js +2 -1
  129. package/src/View/Components/NewScopeComponent.js +4 -9
  130. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +5 -4
  131. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +4 -4
  132. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +2 -2
  133. package/src/View/Components/Popups/AdaptablePopup/Navigation.d.ts +3 -2
  134. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +38 -28
  135. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +3 -3
  136. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +2 -2
  137. package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.d.ts +11 -0
  138. package/src/View/Components/Popups/AdaptablePopup/settingsPanelNavigationTypes.js +1 -0
  139. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +3 -1
  140. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +25 -27
  141. package/src/View/Components/PredicateEditor/PredicateEditor.js +1 -1
  142. package/src/View/Components/RangesComponent.d.ts +4 -5
  143. package/src/View/Components/RangesComponent.js +95 -66
  144. package/src/View/Components/ReorderDraggable/index.js +2 -2
  145. package/src/View/Components/Selectors/BulkUpdateValueSelector.d.ts +0 -2
  146. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +3 -3
  147. package/src/View/Components/StyleComponent.js +32 -65
  148. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +10 -7
  149. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +3 -13
  150. package/src/View/Components/ToolPanel/ToolPanelPopup.js +5 -81
  151. package/src/View/Components/ToolPanel/ToolPanelPopupSections.d.ts +17 -0
  152. package/src/View/Components/ToolPanel/ToolPanelPopupSections.js +76 -0
  153. package/src/View/Components/ValueSelector/index.d.ts +29 -0
  154. package/src/View/Components/ValueSelector/index.js +113 -30
  155. package/src/View/Components/wizardColumnListStyles.d.ts +10 -0
  156. package/src/View/Components/wizardColumnListStyles.js +10 -0
  157. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.d.ts +2 -1
  158. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +5 -7
  159. package/src/View/CustomSort/Wizard/CustomSortWizard.js +2 -2
  160. package/src/View/Dashboard/DashboardPopup.d.ts +1 -11
  161. package/src/View/Dashboard/DashboardPopup.js +3 -67
  162. package/src/View/Dashboard/DashboardPopupSections.d.ts +20 -0
  163. package/src/View/Dashboard/DashboardPopupSections.js +68 -0
  164. package/src/View/Dashboard/PinnedToolbarsSelector.js +2 -2
  165. package/src/View/DataChangeHistory/DataChangeHistoryPopup.d.ts +1 -6
  166. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +8 -20
  167. package/src/View/DataChangeHistory/DataChangeHistoryTable.d.ts +8 -0
  168. package/src/View/DataChangeHistory/DataChangeHistoryTable.js +94 -0
  169. package/src/View/DataChangeHistory/buildActionColumnButton.d.ts +5 -3
  170. package/src/View/DataChangeHistory/buildActionColumnButton.js +30 -39
  171. package/src/View/DataChangeHistory/dataChangeHistoryHelpers.d.ts +15 -0
  172. package/src/View/DataChangeHistory/dataChangeHistoryHelpers.js +37 -0
  173. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +1 -1
  174. package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +32 -19
  175. package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +1 -1
  176. package/src/View/DataSet/DataSetViewPanel.d.ts +2 -2
  177. package/src/View/Export/ExportDestinationPicker.js +3 -3
  178. package/src/View/Export/ExportSchedulesTab.js +3 -4
  179. package/src/View/Export/ExportViewPanel.js +2 -2
  180. package/src/View/Export/Wizard/ReportColumnsWizardSection.d.ts +2 -1
  181. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +4 -9
  182. package/src/View/Export/Wizard/ReportRowsWizardSection.d.ts +2 -1
  183. package/src/View/Export/Wizard/ReportRowsWizardSection.js +3 -6
  184. package/src/View/Filter/FilterViewPanel.js +1 -1
  185. package/src/View/FlashingCell/FlashingCellStyle.d.ts +4 -2
  186. package/src/View/FlashingCell/FlashingCellStyle.js +4 -2
  187. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.d.ts +2 -1
  188. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +7 -11
  189. package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.d.ts +9 -0
  190. package/src/View/FlashingCell/Wizard/FlashingCellScopeSummary.js +5 -0
  191. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.d.ts +1 -1
  192. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +1 -0
  193. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +0 -5
  194. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +1 -5
  195. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +2 -3
  196. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +1 -1
  197. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +99 -42
  198. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.d.ts +0 -1
  199. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +0 -4
  200. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +56 -15
  201. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +1 -1
  202. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.d.ts +2 -3
  203. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +5 -8
  204. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +8 -13
  205. package/src/View/FreeTextColumn/Utilities/getFreeTextColumnSettingsTags.js +3 -2
  206. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +1 -2
  207. package/src/View/GridFilter/GridFilterPopupUI/index.js +3 -2
  208. package/src/View/GridFilter/GridFilterViewPanel.js +5 -5
  209. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +2 -2
  210. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +2 -2
  211. package/src/View/Layout/LayoutViewPanel.js +1 -1
  212. package/src/View/Layout/Wizard/LayoutWizard.js +24 -28
  213. package/src/View/Layout/Wizard/sections/AggregationsSection.d.ts +13 -1
  214. package/src/View/Layout/Wizard/sections/AggregationsSection.js +73 -33
  215. package/src/View/Layout/Wizard/sections/ColumnsSection.d.ts +4 -1
  216. package/src/View/Layout/Wizard/sections/ColumnsSection.js +155 -276
  217. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.d.ts +4 -1
  218. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +148 -145
  219. package/src/View/Layout/Wizard/sections/PivotColumnsSection.d.ts +5 -2
  220. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +24 -12
  221. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.d.ts +4 -1
  222. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +23 -12
  223. package/src/View/Layout/Wizard/sections/RowGroupingSection.d.ts +5 -2
  224. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +19 -12
  225. package/src/View/Layout/Wizard/sections/RowSelectionSection.js +8 -4
  226. package/src/View/Layout/Wizard/sections/RowSummarySection.js +132 -106
  227. package/src/View/Layout/Wizard/sections/SortSection.d.ts +12 -2
  228. package/src/View/Layout/Wizard/sections/SortSection.js +41 -17
  229. package/src/View/Layout/Wizard/sections/columnLayoutCards.d.ts +20 -0
  230. package/src/View/Layout/Wizard/sections/columnLayoutCards.js +159 -0
  231. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.d.ts +30 -0
  232. package/src/View/Layout/Wizard/sections/columnLayoutHelpers.js +201 -0
  233. package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.d.ts +8 -0
  234. package/src/View/Layout/Wizard/sections/layoutWizardAccordionHelpers.js +63 -0
  235. package/src/View/Layout/Wizard/sections/layoutWizardColumns.d.ts +11 -0
  236. package/src/View/Layout/Wizard/sections/layoutWizardColumns.js +52 -0
  237. package/src/View/License/LicenseWatermark.js +1 -1
  238. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.d.ts +1 -1
  239. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +1 -2
  240. package/src/View/Note/NoteEditor.js +2 -2
  241. package/src/View/QuickSearch/QuickSearchPopup.js +2 -3
  242. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +1 -1
  243. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +1 -1
  244. package/src/View/SmartEdit/SmartEditPopup.js +2 -2
  245. package/src/View/SmartEdit/SmartEditViewPanel.js +2 -2
  246. package/src/View/StateManagement/StateManagementPopup.js +1 -1
  247. package/src/View/StateManagement/components/ExportDropdown.d.ts +2 -2
  248. package/src/View/StateManagement/components/ExportDropdown.js +12 -12
  249. package/src/View/StatusBar/StatusBarPanel.js +2 -2
  250. package/src/View/StatusBar/StatusBarPopup.js +33 -5
  251. package/src/View/StatusBar/statusBarPanelHelpers.d.ts +2 -0
  252. package/src/View/StatusBar/statusBarPanelHelpers.js +7 -0
  253. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +3 -1
  254. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +14 -11
  255. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.d.ts +2 -2
  256. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +143 -119
  257. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.d.ts +1 -3
  258. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +8 -14
  259. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +2 -1
  260. package/src/View/StyledColumn/Wizard/StyledColumnTypeThumbnail.d.ts +5 -0
  261. package/src/View/StyledColumn/Wizard/StyledColumnTypeThumbnail.js +50 -0
  262. package/src/View/StyledColumn/Wizard/StyledColumnWizard.d.ts +2 -0
  263. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +26 -5
  264. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +76 -70
  265. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +2 -1
  266. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +83 -38
  267. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +173 -76
  268. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +2 -1
  269. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.d.ts +1 -1
  270. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +32 -46
  271. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarChartCellTextLayoutEditor.d.ts +9 -0
  272. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarChartCellTextLayoutEditor.js +35 -0
  273. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarChartCellTextPreview.d.ts +23 -0
  274. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarChartCellTextPreview.js +57 -0
  275. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BulletRangesSummaryPreview.d.ts +1 -1
  276. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.d.ts +2 -1
  277. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/RangeBarRangesSummaryPreview.d.ts +1 -1
  278. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +3 -2
  279. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.d.ts +2 -1
  280. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.js +13 -17
  281. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.d.ts +2 -1
  282. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.js +5 -5
  283. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnIconPreview.js +2 -2
  284. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview.js +14 -7
  285. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.js +11 -17
  286. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.d.ts +2 -1
  287. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +27 -58
  288. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +94 -7
  289. package/src/View/UIHelper.d.ts +0 -2
  290. package/src/View/UIHelper.js +8 -23
  291. package/src/View/Wizard/CollapsibleWizardCard.d.ts +68 -0
  292. package/src/View/Wizard/CollapsibleWizardCard.js +81 -0
  293. package/src/View/Wizard/OnePageWizards.js +6 -6
  294. package/src/View/Wizard/SummaryColorTag.d.ts +24 -0
  295. package/src/View/Wizard/SummaryColorTag.js +67 -0
  296. package/src/View/Wizard/WizardTypeSelection.d.ts +34 -0
  297. package/src/View/Wizard/WizardTypeSelection.js +31 -0
  298. package/src/View/Wizard/rowGroupSummaryTags.d.ts +18 -0
  299. package/src/View/Wizard/rowGroupSummaryTags.js +14 -0
  300. package/src/View/Wizard/scopeSummaryTags.d.ts +6 -0
  301. package/src/View/Wizard/scopeSummaryTags.js +33 -0
  302. package/src/agGrid/AgGridAdapter.js +0 -5
  303. package/src/agGrid/AgGridColumnAdapter.js +4 -3
  304. package/src/agGrid/cellRenderers/ActionColumnRenderer.js +4 -7
  305. package/src/agGrid/cellRenderers/BadgeRenderer.js +7 -5
  306. package/src/agGrid/cellRenderers/BulletChartRenderer.js +43 -42
  307. package/src/agGrid/cellRenderers/IconRenderer.d.ts +2 -1
  308. package/src/agGrid/cellRenderers/IconRenderer.js +13 -11
  309. package/src/agGrid/cellRenderers/PercentBarRenderer.js +24 -96
  310. package/src/agGrid/cellRenderers/RangeBarRenderer.js +49 -46
  311. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +1 -1
  312. package/src/components/Card/index.js +5 -6
  313. package/src/components/CheckBox/index.js +2 -3
  314. package/src/components/CodeBlock/index.js +2 -2
  315. package/src/components/ColorPicker/ColorPicker.d.ts +1 -0
  316. package/src/components/ColorPicker/ColorPicker.js +8 -6
  317. package/src/components/ColorPicker/OptionalColorPicker.d.ts +12 -0
  318. package/src/components/ColorPicker/OptionalColorPicker.js +26 -0
  319. package/src/components/ColorPicker/index.d.ts +1 -0
  320. package/src/components/ColorPicker/index.js +1 -0
  321. package/src/components/Combobox/comboboxUtils.d.ts +1 -0
  322. package/src/components/Combobox/index.js +19 -18
  323. package/src/components/Dashboard/DashboardManager.js +2 -4
  324. package/src/components/Dialog/index.js +4 -4
  325. package/src/components/DragAndDropContext/DragAndDropContext.d.ts +5 -0
  326. package/src/components/DragAndDropContext/DragAndDropContext.js +3 -0
  327. package/src/components/DragAndDropContext/ModuleManager.d.ts +15 -3
  328. package/src/components/DragAndDropContext/ModuleManager.js +47 -8
  329. package/src/components/DragAndDropContext/TabList.d.ts +11 -4
  330. package/src/components/DragAndDropContext/TabList.js +52 -38
  331. package/src/components/DragAndDropContext/UnusedPanel.d.ts +4 -3
  332. package/src/components/DragAndDropContext/UnusedPanel.js +15 -11
  333. package/src/components/DragAndDropContext/dragScope.d.ts +6 -0
  334. package/src/components/DragAndDropContext/dragScope.js +26 -0
  335. package/src/components/DragAndDropContext/types.d.ts +7 -0
  336. package/src/components/DropdownButton/index.d.ts +33 -25
  337. package/src/components/DropdownButton/index.js +24 -158
  338. package/src/components/EmptyContent/index.js +2 -2
  339. package/src/components/ErrorBox/index.js +2 -2
  340. package/src/components/ExpressionEditor/BaseEditorInput.js +3 -3
  341. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +3 -3
  342. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +6 -6
  343. package/src/components/FieldWrap/index.js +2 -2
  344. package/src/components/Flex.js +2 -2
  345. package/src/components/FormLayout/index.d.ts +1 -1
  346. package/src/components/HelpBlock/index.js +3 -3
  347. package/src/components/IconSelector/IconSelector.d.ts +8 -0
  348. package/src/components/IconSelector/IconSelector.js +11 -7
  349. package/src/components/IconSelector/index.d.ts +1 -0
  350. package/src/components/IconSelector/index.js +1 -0
  351. package/src/components/Modal/index.js +2 -2
  352. package/src/components/NewSelect/index.js +11 -1
  353. package/src/components/Panel/index.js +7 -7
  354. package/src/components/Radio/index.d.ts +1 -1
  355. package/src/components/Radio/index.js +8 -6
  356. package/src/components/SimpleButton/index.js +7 -7
  357. package/src/components/StylePreview.js +2 -2
  358. package/src/components/Tabs/index.js +4 -4
  359. package/src/components/Tag/Tag.d.ts +16 -0
  360. package/src/components/Tag/Tag.js +14 -4
  361. package/src/components/Tag/columnScopeTagHelpers.d.ts +8 -0
  362. package/src/components/Tag/columnScopeTagHelpers.js +6 -0
  363. package/src/components/Tag/index.d.ts +1 -1
  364. package/src/components/Tag/index.js +1 -1
  365. package/src/components/Textarea/index.js +2 -3
  366. package/src/components/Toggle/Toggle.d.ts +2 -0
  367. package/src/components/Toggle/Toggle.js +14 -7
  368. package/src/components/Toggle/ToggleGroup.js +2 -2
  369. package/src/components/ToggleButton/index.js +4 -4
  370. package/src/components/Tree/TreeDropdown/index.js +3 -4
  371. package/src/components/WarningBox/index.js +2 -2
  372. package/src/components/icons/sort-asc.js +1 -1
  373. package/src/components/ui/button.d.ts +2 -2
  374. package/src/components/ui/combobox.d.ts +3 -1
  375. package/src/components/ui/combobox.js +2 -2
  376. package/src/components/ui/input-group.d.ts +1 -1
  377. package/src/components/ui/select.js +3 -2
  378. package/src/components/ui/textarea.js +1 -1
  379. package/src/env.js +2 -2
  380. package/src/layout-manager/src/index.js +7 -3
  381. package/src/metamodel/adaptable.metamodel.d.ts +80 -14
  382. package/src/metamodel/adaptable.metamodel.js +1 -1
  383. package/src/migration/VersionUpgrade23.d.ts +27 -31
  384. package/src/migration/VersionUpgrade23.js +110 -29
  385. package/src/types.d.ts +13 -2
  386. package/tsconfig.esm.tsbuildinfo +1 -1
  387. package/src/View/DataChangeHistory/DataChangeHistoryGrid.d.ts +0 -17
  388. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +0 -290
  389. package/src/components/DropdownButton/DropdownButtonItem.d.ts +0 -12
  390. package/src/components/DropdownButton/renderItem.d.ts +0 -14
  391. package/src/components/DropdownButton/renderItem.js +0 -11
  392. package/src/components/DropdownButton/useExpanded.d.ts +0 -24
  393. package/src/components/DropdownButton/useExpanded.js +0 -56
  394. package/src/components/NewDropdownButton/index.d.ts +0 -27
  395. package/src/components/NewDropdownButton/index.js +0 -24
  396. /package/src/{components/DropdownButton/DropdownButtonItem.js → AdaptableState/StyledColumns/BulletChartStyle.js} +0 -0
@@ -1,15 +1,19 @@
1
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { DataSource, InfiniteTableGrid, } from '../../../../components/InfiniteTable';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
2
  import * as React from 'react';
4
3
  import Input from '../../../../components/Input';
4
+ import { cn } from '../../../../lib/utils';
5
5
  import { Card } from '../../../../components/Card';
6
+ import Radio, { RadioGroup, radioGroupStyling } from '../../../../components/Radio';
7
+ import { ColumnTag, Tag } from '../../../../components/Tag';
8
+ import { CollapsibleWizardCard, getWizardAccordionSectionClassName, renderCompactColumnTags, useWizardCardAccordion, } from '../../../Wizard/CollapsibleWizardCard';
9
+ import { ColumnPinningWizardCard, ColumnSizingWizardCard } from './columnLayoutCards';
10
+ import { ColumnSortingWizardCard } from './SortSection';
6
11
  import { isValidOrderForColumnGroups, } from '../../../../AdaptableState/Common/AdaptableColumn';
7
12
  import { useAdaptable } from '../../../AdaptableContext';
8
13
  import { useOnePageAdaptableWizardContext } from '../../../Wizard/OnePageAdaptableWizard';
9
14
  import { columnFilter } from './Utilities';
10
15
  import { Icon, NaturallySizedIcon } from '../../../../components/icons';
11
16
  import { CheckBox } from '../../../../components/CheckBox';
12
- import { clamp } from '../../../../Utilities/Helpers/Helper';
13
17
  import ArrayExtensions from '../../../../Utilities/Extensions/ArrayExtensions';
14
18
  import { generateAutoRowGroupColumnForColumn, generateAutoRowGroupSingleColumn, generateAutoTreeSingleColumn, generateSelectionColumn, isAutoRowGroupColumn, } from '../../../../Api/Implementation/ColumnApiImpl';
15
19
  import { ReorderDraggable } from '../../../Components/ReorderDraggable';
@@ -18,111 +22,18 @@ import { sortColumnIdsByOrder } from '../../../../layout-manager/src/sortColumnI
18
22
  import { AG_GRID_GROUPED_COLUMN, AG_GRID_SELECTION_COLUMN, } from '../../../../Utilities/Constants/GeneralConstants';
19
23
  import { isPivotLayout } from '../../../../Utilities/isPivotLayout';
20
24
  import { Box, Flex } from '../../../../components/Flex';
21
- import clsx from 'clsx';
22
- import Radio, { RadioGroup, radioGroupStyling } from '../../../../components/Radio';
23
- const PropertyOrderText = (props) => (_jsx(Box, { className: "twa:font-bold twa:text-2", children: props.children }));
24
- const columnTypes = {
25
- default: {
26
- defaultFlex: 1,
27
- },
28
- };
29
- export const ColumnsSectionSummary = () => {
25
+ import { applyColumnPinChange, applyColumnSizingFieldChange, applyColumnSortChange, COLUMN_PINNING_OPTIONS, COLUMN_SORT_OPTIONS, getColumnSortSelection, getExplicitSizingDisplayValues, } from './columnLayoutHelpers';
26
+ import { getLayoutWizardInitialExpandedCardId, isColumnsSectionConfigured, } from './layoutWizardAccordionHelpers';
27
+ import { getLayoutWizardOrderedColumns, LAYOUT_WIZARD_COLUMN_LIST_HEADER_CLASS, LAYOUT_WIZARD_COLUMN_LIST_SEARCH_CLASS, } from './layoutWizardColumns';
28
+ import { getTableColumnsSummaryGroups, TABLE_COLUMNS_WIZARD_SUBSECTION_LABELS, } from '../../../../Strategy/Utilities/Layout/columnsSummaryHelpers';
29
+ import { renderSummaryStringTags } from '../../../Wizard/SummaryColorTag';
30
+ export const ColumnsSectionSummary = (props) => {
30
31
  const adaptable = useAdaptable();
31
- const { data: layout } = useOnePageAdaptableWizardContext();
32
- const rowHeight = 40;
33
- const headerHeight = 40;
34
- const ColumnIds = layout.TableColumns || layout.PivotColumns || [];
35
- const tableHeight = headerHeight + clamp(rowHeight * ColumnIds.length, 100, 360);
36
- const data = React.useMemo(() => {
37
- return ColumnIds.map((columnId) => {
38
- if (adaptable.api.columnApi.isPivotResultColumn(columnId) ||
39
- adaptable.api.columnApi.isAutoRowGroupColumn(columnId) ||
40
- adaptable.api.columnApi.isSelectionColumn(columnId)) {
41
- return null;
42
- }
43
- const friendlyName = adaptable.api.columnApi.getFriendlyNameForColumnId(columnId, layout);
44
- const header = layout.ColumnHeaders?.[columnId] ?? '';
45
- const columnWidth = layout.ColumnSizing?.[columnId]?.Width;
46
- const columnPinning = layout.ColumnPinning?.[columnId];
47
- let agg = (layout.TableAggregationColumns || []).find((agg) => agg.ColumnId === columnId)?.AggFunc;
48
- agg = typeof agg === 'object' ? agg.type : agg;
49
- const sortIndex = (layout?.ColumnSorts ?? []).findIndex((sort) => sort.ColumnId === columnId);
50
- const sortOrder = sortIndex != -1
51
- ? {
52
- index: sortIndex + 1,
53
- sort: layout.ColumnSorts[sortIndex]?.SortOrder ?? null,
54
- }
55
- : {};
56
- let grouping = layout.RowGroupedColumns?.indexOf?.(columnId);
57
- grouping = grouping != -1 ? grouping + 1 : null;
58
- const filter = layout.ColumnFilters?.find((colFilter) => colFilter.ColumnId === columnId);
59
- return {
60
- columnId,
61
- agg,
62
- friendlyName,
63
- header,
64
- columnWidth,
65
- columnPinning,
66
- sortOrder,
67
- grouping,
68
- filter,
69
- };
70
- }).filter(Boolean);
71
- }, [layout]);
72
- const columns = React.useMemo(() => {
73
- return {
74
- name: { header: 'Name', field: 'friendlyName', minWidth: 100 },
75
- header: { header: 'Header', field: 'header', minWidth: 120 },
76
- colId: { header: 'ID', field: 'columnId' },
77
- agg: { header: 'Agg', field: 'agg', minWidth: 70 },
78
- width: { header: 'Width', field: 'columnWidth', minWidth: 70 },
79
- pin: { header: 'Pin', field: 'columnPinning', minWidth: 80 },
80
- sort: {
81
- header: 'Sort',
82
- field: 'sortOrder',
83
- minWidth: 50,
84
- align: 'center',
85
- render: (params) => {
86
- if (!params.data?.sortOrder?.sort) {
87
- return _jsx(_Fragment, {});
88
- }
89
- return (_jsxs(Flex, { children: [_jsx(Icon, { name: params.data?.sortOrder?.sort === 'Asc' ? 'arrow-up-long' : 'arrow-down-long' }), ' ', _jsx(PropertyOrderText, { children: params.data?.sortOrder?.index ?? '' })] }));
90
- },
91
- },
92
- filter: {
93
- header: 'Filter',
94
- field: 'filter',
95
- align: 'center',
96
- minWidth: 50,
97
- render: (params) => {
98
- if (!params.data?.filter) {
99
- return _jsx(_Fragment, {});
100
- }
101
- return _jsx(CheckBox, { checked: true });
102
- },
103
- },
104
- group: {
105
- header: 'Group',
106
- minWidth: 50,
107
- field: 'columnGroupping',
108
- align: 'center',
109
- render: (params) => {
110
- if (!params.data.grouping) {
111
- return _jsx(_Fragment, {});
112
- }
113
- return (_jsxs(Flex, { children: [_jsx(CheckBox, { className: "twa:m-0 twa:mr-1", checked: true }), _jsx(PropertyOrderText, { children: params.data?.grouping })] }));
114
- },
115
- },
116
- };
117
- }, []);
118
- const tableDOMProps = {
119
- style: {
120
- height: '100%',
121
- minWidth: '10rem',
122
- minHeight: tableHeight,
123
- },
124
- };
125
- return (_jsx(DataSource, { data: data, primaryKey: "columnId", children: _jsx(InfiniteTableGrid, { columnTypes: columnTypes, rowHeight: rowHeight, columnHeaderHeight: headerHeight, domProps: tableDOMProps, columns: columns }) }));
32
+ const { data: contextLayout } = useOnePageAdaptableWizardContext();
33
+ const layout = props.layout ?? contextLayout;
34
+ const groups = getTableColumnsSummaryGroups(layout, adaptable.api, TABLE_COLUMNS_WIZARD_SUBSECTION_LABELS);
35
+ // Wizard summary lists every column no truncation (settings panel uses truncateColumnSummaryValues).
36
+ return (_jsx(Flex, { flexDirection: "column", className: "twa:gap-3", children: groups.map(({ label, values, emptyLabel }) => (_jsxs(Box, { children: [_jsx(Box, { className: "twa:text-xs twa:font-medium twa:mb-1", children: label }), values.length ? renderSummaryStringTags(values) : _jsx(Tag, { children: emptyLabel })] }, label))) }));
126
37
  };
127
38
  const isSelectionColumn = (columnId) => columnId === AG_GRID_SELECTION_COLUMN;
128
39
  const isColumnVisible = (options) => {
@@ -142,13 +53,13 @@ const ColumnRow = (props) => {
142
53
  const isSelectionCol = isSelectionColumn(props.column.columnId);
143
54
  const { column } = props;
144
55
  const visible = isColumnVisible({ columnId: column.columnId, layout: props.layout });
145
- return (_jsx(Box, { "data-name": props.column.columnId, className: "twa:flex-1", children: _jsxs(Flex, { className: "ab-Layout-Wizard__ColumnRow__Header twa:my-1", children: [_jsx(CheckBox, { "data-name": column.columnId, onChange: (checked) => {
56
+ return (_jsx(Box, { "data-name": props.column.columnId, className: "twa:flex-1", children: _jsxs(Flex, { className: "ab-Layout-Wizard__ColumnRow__Header twa:min-h-0", children: [_jsx(CheckBox, { "data-name": column.columnId, onChange: (checked) => {
146
57
  props.onColumnVisibilityChange(column.columnId, checked);
147
58
  }, disabled: column.hideable === false || isRowGroupColumn || isSelectionCol, onClick: (event) => {
148
59
  event.stopPropagation();
149
60
  }, onFocus: () => {
150
61
  props.onCheckboxFocus?.(column.columnId);
151
- }, checked: visible }), _jsx(Flex, { className: "twa:mx-2", alignItems: "center", "data-name": "column-label", children: initialHeader }), props.column.columnGroup && props.column.columnGroup.groupCount > 1 ? (_jsxs(Box, { className: "ab-Layout-Wizard__ColumnRow__Title twa:mx-2 twa:p-1 twa:flex twa:items-center", children: ["Column Group: ", props.column.columnGroup.friendlyName] })) : null] }) }));
62
+ }, checked: visible }), _jsx(Flex, { className: "twa:mx-1.5 twa:text-3", alignItems: "center", "data-name": "column-label", children: initialHeader }), props.column.columnGroup && props.column.columnGroup.groupCount > 1 ? (_jsxs(Box, { className: "ab-Layout-Wizard__ColumnRow__Title twa:mx-1.5 twa:py-0 twa:px-1 twa:flex twa:items-center twa:text-3", children: ["Column Group: ", props.column.columnGroup.friendlyName] })) : null] }) }));
152
63
  };
153
64
  export const ColumnsSection = (props) => {
154
65
  const adaptable = useAdaptable();
@@ -302,15 +213,6 @@ export const ColumnsSection = (props) => {
302
213
  ColumnVisibility,
303
214
  });
304
215
  };
305
- const handlePinChange = (columnId, pinning) => {
306
- onChange({
307
- ...layout,
308
- ColumnPinning: {
309
- ...layout.ColumnPinning,
310
- [columnId]: pinning,
311
- },
312
- });
313
- };
314
216
  const handleColumnNameChange = (columnId, headerName) => {
315
217
  onChange({
316
218
  ...layout,
@@ -320,47 +222,19 @@ export const ColumnsSection = (props) => {
320
222
  },
321
223
  });
322
224
  };
323
- const handleColumnWidthChange = (columnId, width) => {
324
- const ColumnSizing = { ...layout.ColumnSizing };
325
- const colSizingForCol = { ...ColumnSizing[columnId] };
326
- delete colSizingForCol.Flex;
327
- colSizingForCol.Width = width;
328
- ColumnSizing[columnId] = colSizingForCol;
329
- onChange({
330
- ...layout,
331
- ColumnSizing,
332
- });
225
+ const resolveDefaultWidth = React.useCallback((columnId) => adaptable.getDefaultColumnWidthForCol(columnId), [adaptable]);
226
+ const handlePinChange = (columnId, pinning) => {
227
+ onChange(applyColumnPinChange(layout, columnId, pinning));
333
228
  };
334
- const handleColumnFlexChange = (columnId, flex) => {
335
- const ColumnSizing = { ...layout.ColumnSizing };
336
- const colSizingForCol = { ...ColumnSizing[columnId] };
337
- delete colSizingForCol.Width;
338
- colSizingForCol.Flex = flex;
339
- ColumnSizing[columnId] = colSizingForCol;
340
- onChange({
341
- ...layout,
342
- ColumnSizing,
343
- });
229
+ const handleColumnSizingChange = (columnId, field, value) => {
230
+ onChange(applyColumnSizingFieldChange(layout, columnId, field, value, resolveDefaultWidth));
344
231
  };
345
- const handleColumnMinWidthChange = (columnId, minWidth) => {
346
- const ColumnSizing = { ...layout.ColumnSizing };
347
- const colSizingForCol = { ...ColumnSizing[columnId] };
348
- colSizingForCol.MinWidth = minWidth;
349
- ColumnSizing[columnId] = colSizingForCol;
350
- onChange({
351
- ...layout,
352
- ColumnSizing,
353
- });
232
+ const handleSortChange = (columnId, sortOrder) => {
233
+ onChange(applyColumnSortChange(layout, columnId, sortOrder));
354
234
  };
355
- const handleColumnMaxWidthChange = (columnId, maxWidth) => {
356
- const ColumnSizing = { ...layout.ColumnSizing };
357
- const colSizingForCol = { ...ColumnSizing[columnId] };
358
- colSizingForCol.MaxWidth = maxWidth;
359
- ColumnSizing[columnId] = colSizingForCol;
360
- onChange({
361
- ...layout,
362
- ColumnSizing,
363
- });
235
+ const parseNumberInput = (value) => {
236
+ const parsed = parseFloat(value);
237
+ return typeof parsed === 'number' && !isNaN(parsed) ? parsed : undefined;
364
238
  };
365
239
  const visibleIds = layout.TableColumns.filter((colId) => {
366
240
  return (layout.ColumnVisibility?.[colId] !== false &&
@@ -373,138 +247,143 @@ export const ColumnsSection = (props) => {
373
247
  .map((col) => col.columnId)
374
248
  : currentOrder.map((col) => col.columnId);
375
249
  const visibleIdsCurrentlyDisplayed = visibleIds.filter((colId) => currentlyDisplayedColumnIds.includes(colId));
376
- return (_jsxs(Flex, { flexDirection: "column", className: "twa:h-full", children: [_jsxs(Flex, { flexDirection: "row", alignItems: "center", className: "twa:p-2 twa:gap-3 twa:border-b twa:mb-2 twa:border-b-foreground/20", children: [_jsx(Box, { className: "twa:text-4 twa:font-medium twa:shrink-0", children: "Columns" }), _jsx(Flex, { flexDirection: "column", className: "twa:flex-1 twa:min-w-0 twa:text-xs twa:opacity-70 twa:font-normal twa:gap-0.5", children: _jsx(Box, { children: "Drag to reorder and use checkboxes to show or hide columns; click a column to edit in right side panel" }) })] }), _jsxs(Box, { className: "twa:flex-1 twa:min-h-0 twa:p-2 twa:gap-2 twa:overflow-hidden twa:grid twa:grid-cols-2", children: [_jsx(Card, { shadow: false, className: "twa:h-full twa:overflow-hidden twa:flex twa:flex-col", children: _jsx(Card.Body, { className: "twa:flex-1 twa:min-h-0 twa:overflow-hidden twa:p-1", children: _jsx(Box, { className: "twa:gap-2 twa:focus:outline-none twa:flex-1 twa:max-h-full twa:overflow-hidden twa:h-full", "data-name": "columns-container", tabIndex: -1, onKeyDown: (event) => {
377
- const scrollIntoView = (columnId) => {
378
- const el = event.currentTarget.querySelector(`[data-id="${columnId}"]`);
379
- el?.scrollIntoView({ block: 'nearest' });
380
- const input = el?.querySelector('input[type="checkbox"]');
381
- input?.focus();
382
- };
383
- if (event.key === 'ArrowDown') {
384
- event.preventDefault();
385
- event.stopPropagation();
386
- const index = currentlyDisplayedColumnIds.indexOf(selectedColumnId);
387
- if (index === -1) {
388
- return;
389
- }
390
- const nextColumnId = currentlyDisplayedColumnIds[index + 1];
391
- const nextColumn = colIdToCol[nextColumnId];
392
- if (nextColumn) {
393
- setSelectedColumnId(nextColumn.columnId);
394
- scrollIntoView(nextColumn.columnId);
250
+ const layoutSupportedFeatures = adaptable.api.layoutApi.internalApi.getLayoutSupportedFeatures();
251
+ const initialExpandedCardId = getLayoutWizardInitialExpandedCardId(props.layoutWizardMode, 'order', isColumnsSectionConfigured(layout));
252
+ const { bindCard, hasExpandedCard, expandedFillsSpace } = useWizardCardAccordion(initialExpandedCardId);
253
+ const orderSummaryColumnIds = layout.TableColumns ?? [];
254
+ const orderSummary = orderSummaryColumnIds.length ? (_jsx(Flex, { flexWrap: "wrap", className: "twa:gap-1", children: orderSummaryColumnIds.map((columnId) => (_jsx(ColumnTag, { children: adaptable.api.columnApi.getFriendlyNameForColumnId(columnId, layout) }, columnId))) })) : (_jsx(Tag, { children: "No columns" }));
255
+ return (_jsxs(Box, { className: getWizardAccordionSectionClassName(hasExpandedCard, expandedFillsSpace), children: [_jsx(CollapsibleWizardCard, { ...bindCard('order', { fillAvailable: true }), surface: "panel", "data-name": "column-order", title: "Visibility and Order", help: "Drag to reorder, use checkboxes to show or hide columns; click a column to inspect", collapsedHelp: "", compactSummary: renderCompactColumnTags(orderSummaryColumnIds, (columnId) => adaptable.api.columnApi.getFriendlyNameForColumnId(columnId, layout), { emptyLabel: 'No columns' }), summary: orderSummary, className: "twa:overflow-hidden twa:flex twa:flex-col", bodyClassName: "twa:flex twa:flex-col twa:p-1 twa:overflow-y-hidden", children: _jsxs(Box, { className: "twa:flex-1 twa:min-h-0 twa:gap-2 twa:grid twa:grid-cols-2", children: [_jsx(Card, { className: "twa:h-full twa:min-h-0 twa:flex twa:flex-col", children: _jsx(Card.Body, { className: "twa:flex-1 twa:min-h-0 twa:px-1 twa:pt-1 twa:overflow-y-hidden", children: _jsx(Box, { className: "twa:gap-2 twa:focus:outline-none twa:flex-1 twa:max-h-full twa:h-full", "data-name": "columns-container", tabIndex: -1, onKeyDown: (event) => {
256
+ const scrollIntoView = (columnId) => {
257
+ const el = event.currentTarget.querySelector(`[data-id="${columnId}"]`);
258
+ el?.scrollIntoView({ block: 'nearest' });
259
+ const input = el?.querySelector('input[type="checkbox"]');
260
+ input?.focus();
261
+ };
262
+ if (event.key === 'ArrowDown') {
263
+ event.preventDefault();
264
+ event.stopPropagation();
265
+ const index = currentlyDisplayedColumnIds.indexOf(selectedColumnId);
266
+ if (index === -1) {
267
+ return;
268
+ }
269
+ const nextColumnId = currentlyDisplayedColumnIds[index + 1];
270
+ const nextColumn = colIdToCol[nextColumnId];
271
+ if (nextColumn) {
272
+ setSelectedColumnId(nextColumn.columnId);
273
+ scrollIntoView(nextColumn.columnId);
274
+ }
395
275
  }
396
- }
397
- if (event.key === 'ArrowUp') {
398
- event.preventDefault();
399
- event.stopPropagation();
400
- const index = currentlyDisplayedColumnIds.indexOf(selectedColumnId);
401
- if (index === -1) {
402
- return;
276
+ if (event.key === 'ArrowUp') {
277
+ event.preventDefault();
278
+ event.stopPropagation();
279
+ const index = currentlyDisplayedColumnIds.indexOf(selectedColumnId);
280
+ if (index === -1) {
281
+ return;
282
+ }
283
+ const previousColumnId = currentlyDisplayedColumnIds[index - 1];
284
+ const previousColumn = colIdToCol[previousColumnId];
285
+ if (previousColumn) {
286
+ setSelectedColumnId(previousColumn.columnId);
287
+ scrollIntoView(previousColumn.columnId);
288
+ }
403
289
  }
404
- const previousColumnId = currentlyDisplayedColumnIds[index - 1];
405
- const previousColumn = colIdToCol[previousColumnId];
406
- if (previousColumn) {
407
- setSelectedColumnId(previousColumn.columnId);
408
- scrollIntoView(previousColumn.columnId);
290
+ if (event.key === ' ') {
291
+ const target = event.target;
292
+ if (target.tagName === 'INPUT' &&
293
+ target.type === 'checkbox') {
294
+ return;
295
+ }
296
+ event.preventDefault();
297
+ event.stopPropagation();
298
+ const selectedColumn = colIdToCol[selectedColumnId];
299
+ if (!selectedColumn) {
300
+ return;
301
+ }
302
+ const visible = isColumnVisible({ columnId: selectedColumnId, layout });
303
+ handleColumnVisibilityChange(selectedColumnId, !visible);
409
304
  }
410
- }
411
- if (event.key === ' ') {
412
- const target = event.target;
413
- if (target.tagName === 'INPUT' &&
414
- target.type === 'checkbox') {
415
- return;
416
- }
417
- event.preventDefault();
418
- event.stopPropagation();
419
- const selectedColumn = colIdToCol[selectedColumnId];
420
- if (!selectedColumn) {
421
- return;
422
- }
423
- const visible = isColumnVisible({ columnId: selectedColumnId, layout });
424
- handleColumnVisibilityChange(selectedColumnId, !visible);
425
- }
426
- }, children: _jsxs(Box, { className: "twa:flex twa:flex-col twa:gap-2 twa:h-full twa:overflow-hidden twa:p-1", children: [_jsx(AdaptableFormControlTextClear, { value: searchInputValue, OnTextChange: setSearchInputValue, placeholder: "Search Columns...", className: "twa:w-full twa:p-1" }), _jsx(Box, { className: clsx('twa:font-bold', 'twa:border-b twa:border-primarydark/30 twa:rounded-standard'), children: _jsx(CheckBox, { checked: currentlyDisplayedColumnIds.length
427
- ? currentlyDisplayedColumnIds.length === visibleIdsCurrentlyDisplayed.length
428
- ? true
429
- : visibleIdsCurrentlyDisplayed.length
430
- ? null
431
- : false
432
- : false, onChange: (checked) => {
433
- handleColumnVisibilityChange(currentlyDisplayedColumnIds, checked);
434
- }, children: "Select All" }) }), _jsx(ReorderDraggable, { className: "twa:overflow-y-auto", toIdentifier: (option) => `${option.columnId}`, isOptionDraggable: (option) => {
435
- return option.moveable;
436
- }, optionClassName: (option) => {
437
- const baseCls = 'ab-Layout-Wizard__ColumnRow twa:cursor-pointer twa:rounded-standard';
438
- if (selectedColumnId !== option.columnId) {
439
- return baseCls;
440
- }
441
- return clsx(baseCls, 'twa:after:border-accent twa:relative twa:after:border-2 twa:after:rounded-standard twa:after:pointer-events-none twa:after:inset-0 twa:after:absolute twa:after:bg-accent/15');
442
- }, order: currentOrder, onOptionClick: (option, event) => {
443
- if (event.ctrlKey || option.columnId === selectedColumnId) {
444
- setSelectedColumnId(null);
445
- }
446
- else {
447
- setSelectedColumnId(option.columnId);
448
- const row = event.target.closest?.(`[data-id="${option.columnId}"]`);
449
- const input = row?.querySelector('input[type="checkbox"]');
450
- input?.focus();
451
- }
452
- }, renderOption: (option) => {
453
- return (_jsx(ColumnRow, { onColumnNameChange: handleColumnNameChange, onColumnWidthChange: handleColumnWidthChange, onColumnFlexChange: handleColumnFlexChange, onColumnMinWidthChange: handleColumnMinWidthChange, onColumnMaxWidthChange: handleColumnMaxWidthChange, onColumnVisibilityChange: handleColumnVisibilityChange, onPinChange: handlePinChange, onCheckboxFocus: setSelectedColumnId, layout: layout, column: option }));
454
- }, onChange: handleColumnsChange })] }) }) }) }), currentOrderIds.length ? (_jsx(ColumnPropertiesEditor, { column: selectedColumnId && currentOrderIds.includes(selectedColumnId)
455
- ? colIdToCol[selectedColumnId] ?? null
456
- : null, layout: layout, onPinChange: handlePinChange, onColumnNameChange: handleColumnNameChange, onColumnWidthChange: handleColumnWidthChange, onColumnFlexChange: handleColumnFlexChange, onColumnMinWidthChange: handleColumnMinWidthChange, onColumnMaxWidthChange: handleColumnMaxWidthChange, onColumnVisibilityChange: handleColumnVisibilityChange })) : null] })] }));
305
+ }, children: _jsxs(Box, { className: "twa:flex twa:flex-col twa:gap-1.5 twa:h-full", children: [_jsxs(Flex, { alignItems: "center", className: cn(LAYOUT_WIZARD_COLUMN_LIST_HEADER_CLASS, 'twa:font-bold twa:shrink-0', 'twa:border-b twa:border-primarydark/30 twa:pb-1'), children: [_jsx(CheckBox, { className: "twa:shrink-0", checked: currentlyDisplayedColumnIds.length
306
+ ? currentlyDisplayedColumnIds.length ===
307
+ visibleIdsCurrentlyDisplayed.length
308
+ ? true
309
+ : visibleIdsCurrentlyDisplayed.length
310
+ ? null
311
+ : false
312
+ : false, onChange: (checked) => {
313
+ handleColumnVisibilityChange(currentlyDisplayedColumnIds, checked);
314
+ }, children: "Select All" }), _jsx(Box, { className: "twa:flex-1 twa:min-w-0" }), _jsx(AdaptableFormControlTextClear, { value: searchInputValue, OnTextChange: setSearchInputValue, placeholder: "Search Columns...", className: LAYOUT_WIZARD_COLUMN_LIST_SEARCH_CLASS })] }), _jsx(ReorderDraggable, { className: "twa:flex-1 twa:min-h-0 twa:overflow-y-auto", toIdentifier: (option) => `${option.columnId}`, isOptionDraggable: (option) => {
315
+ return option.moveable;
316
+ }, optionClassName: (option) => {
317
+ const baseCls = 'ab-Layout-Wizard__ColumnRow twa:cursor-pointer twa:rounded-standard';
318
+ if (selectedColumnId !== option.columnId) {
319
+ return baseCls;
320
+ }
321
+ return cn(baseCls, 'twa:after:border-accent twa:relative twa:after:border-2 twa:after:rounded-standard twa:after:pointer-events-none twa:after:inset-0 twa:after:absolute twa:after:bg-accent/15');
322
+ }, order: currentOrder, onOptionClick: (option, event) => {
323
+ if (event.ctrlKey || option.columnId === selectedColumnId) {
324
+ setSelectedColumnId(null);
325
+ }
326
+ else {
327
+ setSelectedColumnId(option.columnId);
328
+ const row = event.target.closest?.(`[data-id="${option.columnId}"]`);
329
+ const input = row?.querySelector('input[type="checkbox"]');
330
+ input?.focus();
331
+ }
332
+ }, renderOption: (option) => {
333
+ return (_jsx(ColumnRow, { onColumnVisibilityChange: handleColumnVisibilityChange, onCheckboxFocus: setSelectedColumnId, layout: layout, column: option }));
334
+ }, onChange: handleColumnsChange })] }) }) }) }), currentOrderIds.length ? (_jsx(ColumnPropertiesEditor, { column: selectedColumnId && currentOrderIds.includes(selectedColumnId)
335
+ ? colIdToCol[selectedColumnId] ?? null
336
+ : null, layout: layout, columnSortsEnabled: layoutSupportedFeatures.ColumnSorts, resolveDefaultWidth: resolveDefaultWidth, onColumnNameChange: handleColumnNameChange, onPinChange: handlePinChange, onColumnSizingChange: handleColumnSizingChange, onSortChange: handleSortChange, parseNumberInput: parseNumberInput })) : null] }) }), _jsx(ColumnPinningWizardCard, { layout: layout, onChange: onChange, bindCard: bindCard }), _jsx(ColumnSizingWizardCard, { layout: layout, onChange: onChange, bindCard: bindCard }), layoutSupportedFeatures.ColumnSorts ? (_jsx(ColumnSortingWizardCard, { layout: layout, onChange: onChange, bindCard: bindCard })) : null] }));
457
337
  };
458
338
  const hr = (_jsx("hr", { className: "twa:my-3 twa:mb-0 twa:w-full twa:h-[0.5px] twa:bg-input-border/50 twa:border-none" }));
339
+ const columnInspectorLabelClass = 'twa:text-3 twa:opacity-70 twa:shrink-0';
340
+ const columnInspectorInputClass = 'ab-Layout-Wizard__ColumnPropertiesEditor__Input twa:!min-h-0 twa:text-3 twa:min-w-0 twa:flex-1';
459
341
  const ColumnPropertiesEditor = (props) => {
460
342
  const adaptable = useAdaptable();
461
343
  const baseCls = 'ab-Layout-Wizard__ColumnPropertiesEditor twa:border twa:rounded-standard';
462
344
  if (!props.column) {
463
- return (_jsx(Box, { className: clsx(baseCls, 'twa:border-input-border twa:grid twa:place-items-center twa:border-dashed twa:border-2'), children: _jsxs(Box, { className: "twa:flex twa:flex-col twa:gap-2 twa:items-center twa:justify-center", children: [_jsx(Box, { className: "twa:text-muted-foreground ab-Layout-Wizard__ColumnPropertiesEditor__Placeholder__Icon", children: _jsx(NaturallySizedIcon, { name: "inspector", style: { stroke: 'currentColor', fill: 'none', strokeWidth: 2 } }) }), _jsx(Box, { className: "twa:text-4 twa:font-bold ab-Layout-Wizard__ColumnPropertiesEditor__Placeholder__Title", children: "No Column Selected" }), _jsx(Box, { className: "twa:text-3 twa:opacity-80 ab-Layout-Wizard__ColumnPropertiesEditor__Placeholder__Description", children: "Select a Column to view and edit its properties" })] }) }));
345
+ return (_jsx(Box, { className: cn(baseCls, 'twa:border-input-border twa:grid twa:place-items-center twa:border-dashed twa:border-2'), children: _jsxs(Box, { className: "twa:flex twa:flex-col twa:gap-2 twa:items-center twa:justify-center", children: [_jsx(Box, { className: "twa:text-muted-foreground ab-Layout-Wizard__ColumnPropertiesEditor__Placeholder__Icon", children: _jsx(NaturallySizedIcon, { name: "inspector", style: { stroke: 'currentColor', fill: 'none', strokeWidth: 2 } }) }), _jsx(Box, { className: "twa:text-4 twa:font-bold ab-Layout-Wizard__ColumnPropertiesEditor__Placeholder__Title", children: "No Column Selected" }), _jsx(Box, { className: "twa:text-3 twa:opacity-80 ab-Layout-Wizard__ColumnPropertiesEditor__Placeholder__Description", children: "Select a Column to view and edit its properties" })] }) }));
464
346
  }
465
347
  const { column } = props;
466
- const columnWidth = props.layout.ColumnSizing?.[column.columnId]?.Width;
467
- const columnFlex = props.layout.ColumnSizing?.[column.columnId]?.Flex;
468
- const minWidth = props.layout.ColumnSizing?.[column.columnId]?.MinWidth;
469
- const maxWidth = props.layout.ColumnSizing?.[column.columnId]?.MaxWidth;
470
- const resizable = column.resizable !== false;
471
- // column pinning
472
- const columnPinning = props.layout.ColumnPinning?.[props.column.columnId] || 'None';
473
348
  const initialHeader = adaptable.api.columnApi.getFriendlyNameForColumnId(props.column.columnId, props.layout);
474
349
  const customHeader = props.layout.ColumnHeaders?.[props.column.columnId] ?? initialHeader;
475
- return (_jsxs(Box, { className: clsx(baseCls, 'ab-Layout-Wizard__ColumnPropertiesEditor__Container twa:border-none twa:bg-background twa:shadow-md', 'twa:max-h-full twa:overflow-hidden twa:flex twa:flex-col'), children: [_jsxs(Box, { className: "twa:px-4 twa:pt-4", children: [_jsxs(Box, { className: "twa:text-5 twa:font-bold twa:leading-relaxed ab-Layout-Wizard__ColumnPropertiesEditor__Title", children: ["Column Settings: ", column.friendlyName] }), _jsxs(Box, { className: "twa:text-3 twa:opacity-80 twa:flex twa:flex-row twa:gap-1 twa:items-center", children: ["Column ID:", ' ', _jsx(Box, { className: "twa:bg-primarydark/20 twa:text-muted-foreground twa:px-1 twa:py-0.5 twa:rounded-standard", children: column.columnId })] }), props.column.columnGroup && props.column.columnGroup.groupCount > 1 ? (_jsxs(Box, { className: "ab-Layout-Wizard__ColumnRow__Title twa:mx-2 twa:p-1", children: ["Column Group: ", props.column.columnGroup.friendlyName] })) : null] }), hr, _jsxs(Box, { className: "twa:px-4 twa:flex-1 twa:overflow-y-auto twa:pb-3", children: [_jsxs(Flex, { flexDirection: "column", className: "twa:gap-3 twa:mt-3", children: [_jsxs(Flex, { flexDirection: "column", className: "twa:gap-1", children: ["Header", _jsx(Input, { "data-name": "column-header", className: "ab-Layout-Wizard__ColumnPropertiesEditor__Input twa:w-full", placeholder: "Custom name (optional)", disabled: props.column.isGeneratedSelectionColumn, onChange: () => {
350
+ const sizing = props.layout.ColumnSizing?.[column.columnId];
351
+ const displayValues = getExplicitSizingDisplayValues(column.columnId, sizing, props.resolveDefaultWidth);
352
+ const resizable = column.resizable !== false;
353
+ const columnPinning = props.layout.ColumnPinning?.[column.columnId];
354
+ const currentPin = columnPinning === 'left' || columnPinning === 'right' ? columnPinning : 'None';
355
+ const currentSort = getColumnSortSelection(props.layout, column.columnId);
356
+ const columnVisible = isColumnVisible({ columnId: column.columnId, layout: props.layout });
357
+ const orderedColumnIds = getLayoutWizardOrderedColumns(adaptable, props.layout).map((col) => col.columnId);
358
+ const positionIndex = orderedColumnIds.indexOf(column.columnId);
359
+ const position = columnVisible && positionIndex >= 0 ? String(positionIndex + 1) : '';
360
+ const inspectorFieldGridClass = 'twa:grid twa:grid-cols-[max-content_1fr_max-content_1fr] twa:gap-x-2 twa:gap-y-2 twa:items-center';
361
+ return (_jsxs(Box, { className: cn(baseCls, 'ab-Layout-Wizard__ColumnPropertiesEditor__Container twa:border-none twa:bg-background twa:shadow-md', 'twa:max-h-full twa:min-h-0 twa:overflow-hidden twa:flex twa:flex-col'), children: [_jsxs(Box, { className: "twa:px-4 twa:pt-4", children: [_jsxs(Box, { className: "twa:text-3 twa:font-medium twa:leading-snug ab-Layout-Wizard__ColumnPropertiesEditor__Title", children: ["Column Settings: ", column.friendlyName] }), _jsxs(Box, { className: "twa:mt-3 twa:text-3 twa:opacity-80 twa:flex twa:flex-row twa:gap-1 twa:items-center", children: ["Column ID:", ' ', _jsx(Box, { className: "twa:bg-primarydark/20 twa:text-muted-foreground twa:px-1 twa:py-0.5 twa:rounded-standard", children: column.columnId })] }), _jsxs(Box, { className: "twa:mt-1 twa:text-3 twa:opacity-80 twa:flex twa:flex-row twa:gap-1 twa:items-center", children: ["Data Type:", ' ', _jsx(Box, { className: "twa:bg-primarydark/20 twa:text-muted-foreground twa:px-1 twa:py-0.5 twa:rounded-standard", children: column.dataType })] }), props.column.columnGroup && props.column.columnGroup.groupCount > 1 ? (_jsxs(Box, { className: "ab-Layout-Wizard__ColumnRow__Title twa:mx-2 twa:p-1", children: ["Column Group: ", props.column.columnGroup.friendlyName] })) : null] }), hr, _jsxs(Box, { className: "twa:px-4 twa:flex-1 twa:overflow-y-auto twa:pb-3 twa:mt-3", children: [_jsx(Box, { className: "twa:text-3 twa:font-medium twa:mb-2", children: "Column Properties" }), _jsxs(Box, { className: "twa:flex twa:flex-col twa:gap-3 twa:p-3 twa:rounded-standard twa:bg-background twa:border twa:border-foreground/10", children: [_jsxs(Box, { className: inspectorFieldGridClass, children: [_jsx(Box, { className: columnInspectorLabelClass, children: "Header" }), _jsx(Input, { "data-name": "column-header", className: cn(columnInspectorInputClass, 'twa:col-span-3'), placeholder: "Custom name (optional)", disabled: props.column.isGeneratedSelectionColumn, onChange: (event) => {
476
362
  props.onColumnNameChange(props.column.columnId, event.target.value);
477
- }, value: customHeader })] }), _jsxs(Box, { className: "twa:grid twa:grid-cols-[1fr_1fr] twa:gap-2", children: [_jsx(Box, { children: "Width:" }), " ", _jsx(Box, { children: "Flex:" }), _jsx(Input, { "data-name": "column-width", className: "ab-Layout-Wizard__ColumnPropertiesEditor__Input", type: "number", placeholder: "Column width", disabled: resizable === false, onChange: (event) => {
478
- let value = parseFloat(event.target.value);
479
- value = typeof value === 'number' && !isNaN(value) ? value : void 0;
480
- props.onColumnWidthChange(props.column.columnId, value);
481
- }, value: columnWidth ?? '' }), _jsx(Input, { "data-name": "column-flex", className: "ab-Layout-Wizard__ColumnPropertiesEditor__Input", type: "number", placeholder: "Column flex", disabled: resizable === false, onChange: (event) => {
482
- let value = parseFloat(event.target.value);
483
- value = typeof value === 'number' && !isNaN(value) ? value : void 0;
484
- props.onColumnFlexChange(props.column.columnId, value);
485
- }, value: columnFlex ?? '' }), _jsx(Box, { children: "Min Width:" }), _jsx(Box, { children: "Max Width:" }), _jsx(Input, { "data-name": "column-min-width", className: "ab-Layout-Wizard__ColumnPropertiesEditor__Input", type: "number", placeholder: "Column min width", disabled: resizable === false, onChange: (event) => {
486
- let value = parseFloat(event.target.value);
487
- value = typeof value === 'number' && !isNaN(value) ? value : void 0;
488
- props.onColumnMinWidthChange(props.column.columnId, value);
489
- }, value: minWidth ?? '' }), _jsx(Input, { "data-name": "column-max-width", className: "ab-Layout-Wizard__ColumnPropertiesEditor__Input", type: "number", placeholder: "Column max width", disabled: resizable === false, onChange: (event) => {
490
- let value = parseFloat(event.target.value);
491
- value = typeof value === 'number' && !isNaN(value) ? value : void 0;
492
- props.onColumnMaxWidthChange(props.column.columnId, value);
493
- }, value: maxWidth ?? '' })] }), "Pinning:", _jsxs(RadioGroup, { value: columnPinning || 'None', name: "columnPinning", orientation: "horizontal", variant: "text-only", className: radioGroupStyling.horizontalTextOnly, onRadioChange: (columnPinning) => {
494
- props.onPinChange(column.columnId, columnPinning === 'None' ? null : columnPinning);
495
- }, children: [_jsx(Radio, { value: "left", children: "Left" }), _jsx(Radio, { value: "None", children: "None" }), _jsx(Radio, { value: "right", children: "Right" })] })] }), _jsx(Box, { className: "twa:mt-5" }), hr, _jsxs(Box, { children: [_jsx(Box, { className: "twa:my-3", children: "Column Attributes" }), _jsx(Box, { className: clsx({
496
- 'twa:bg-primarylight': 'the bg color',
497
- 'twa:gap-2 twa:flex twa:flex-col': 'layout configuration for small screens',
498
- 'twa:lg:gap-3 twa:lg:grid twa:md:grid-cols-[1fr_1fr]': 'layout configuration for normal screens',
499
- 'twa:p-5 twa:rounded-standard': true,
500
- }), children: [
501
- { label: 'Aggregatable', checked: props.column.aggregatable },
502
- { label: 'Filterable', checked: props.column.filterable },
503
- { label: 'Groupable', checked: props.column.groupable },
504
- { label: 'Moveable', checked: props.column.moveable },
505
- { label: 'Pivotable', checked: props.column.pivotable },
506
- { label: 'Sortable', checked: props.column.sortable },
507
- ].map(({ label, checked }) => (_jsxs(Flex, { alignItems: "center", className: clsx({
508
- 'twa:rounded-standard twa:gap-2': true,
509
- }), children: [_jsx(Box, { className: "twa:size-5", children: checked ? (_jsx(Icon, { name: "check", className: "twa:text-success" })) : (_jsx(Icon, { name: "close", className: "twa:text-error" })) }), label] }, label))) })] })] })] }));
363
+ }, value: customHeader }), _jsx(Box, { className: columnInspectorLabelClass, children: "Width" }), _jsx(Input, { "data-name": `column-width-${column.columnId}`, className: columnInspectorInputClass, type: "number", placeholder: "\u2014", disabled: !resizable, onChange: (event) => {
364
+ props.onColumnSizingChange(column.columnId, 'width', props.parseNumberInput(event.target.value));
365
+ }, value: displayValues.width ?? '' }), _jsx(Box, { className: columnInspectorLabelClass, children: "Flex" }), _jsx(Input, { "data-name": `column-flex-${column.columnId}`, className: columnInspectorInputClass, type: "number", placeholder: "\u2014", disabled: !resizable, onChange: (event) => {
366
+ props.onColumnSizingChange(column.columnId, 'flex', props.parseNumberInput(event.target.value));
367
+ }, value: displayValues.flex ?? '' }), _jsx(Box, { className: columnInspectorLabelClass, children: "Min" }), _jsx(Input, { "data-name": `column-min-width-${column.columnId}`, className: columnInspectorInputClass, type: "number", placeholder: "\u2014", disabled: !resizable, onChange: (event) => {
368
+ props.onColumnSizingChange(column.columnId, 'minWidth', props.parseNumberInput(event.target.value));
369
+ }, value: displayValues.minWidth ?? '' }), _jsx(Box, { className: columnInspectorLabelClass, children: "Max" }), _jsx(Input, { "data-name": `column-max-width-${column.columnId}`, className: columnInspectorInputClass, type: "number", placeholder: "\u2014", disabled: !resizable, onChange: (event) => {
370
+ props.onColumnSizingChange(column.columnId, 'maxWidth', props.parseNumberInput(event.target.value));
371
+ }, value: displayValues.maxWidth ?? '' })] }), _jsxs(Flex, { alignItems: "center", className: "twa:gap-2 twa:flex-wrap", children: [_jsx(Box, { className: columnInspectorLabelClass, children: "Pinning" }), _jsx(RadioGroup, { orientation: "horizontal", variant: "text-only", className: radioGroupStyling.horizontalTextOnly, value: currentPin, name: `inspector-pinning-${column.columnId}`, onRadioChange: (value) => {
372
+ props.onPinChange(column.columnId, value === 'None' ? null : value);
373
+ }, children: COLUMN_PINNING_OPTIONS.map((option) => (_jsx(Radio, { value: option.value, "data-value": option.value, "data-name": `pinning-${column.columnId}-${option.value}`, children: option.label }, option.value))) })] }), props.columnSortsEnabled ? (_jsxs(Flex, { alignItems: "center", className: "twa:gap-2 twa:flex-wrap", children: [_jsx(Box, { className: columnInspectorLabelClass, children: "Sorting" }), _jsx(RadioGroup, { orientation: "horizontal", variant: "text-only", className: radioGroupStyling.horizontalTextOnly, value: currentSort, name: `inspector-sorting-${column.columnId}`, onRadioChange: (value) => {
374
+ props.onSortChange(column.columnId, value);
375
+ }, children: COLUMN_SORT_OPTIONS.map((option) => (_jsx(Radio, { value: option.value, disabled: !column.sortable, "data-name": `inspector-sorting-${column.columnId}-${option.value}`, children: option.label }, option.value))) })] })) : null, _jsxs(Flex, { alignItems: "center", className: "twa:gap-2", children: [_jsx(Box, { className: columnInspectorLabelClass, children: "Position" }), _jsx(Box, { className: "twa:text-3", children: position || '—' })] }), _jsx(Box, { className: "twa:grid twa:grid-cols-3 twa:gap-2 twa:pt-2 twa:border-t twa:border-foreground/10", children: [
376
+ { label: 'Hideable', checked: column.hideable },
377
+ { label: 'Editable', checked: !column.readOnly },
378
+ { label: 'Queryable', checked: column.queryable },
379
+ { label: 'Exportable', checked: column.exportable },
380
+ { label: 'Sortable', checked: column.sortable },
381
+ { label: 'Aggregatable', checked: column.aggregatable },
382
+ { label: 'Filterable', checked: column.filterable },
383
+ { label: 'Groupable', checked: column.groupable },
384
+ { label: 'Moveable', checked: column.moveable },
385
+ { label: 'Pivotable', checked: column.pivotable },
386
+ { label: 'Calculated', checked: column.isCalculatedColumn },
387
+ { label: 'Free Text', checked: column.isFreeTextColumn },
388
+ ].map(({ label, checked }) => (_jsxs(Flex, { alignItems: "center", className: "twa:gap-1.5 twa:min-w-0", children: [_jsx(Box, { className: "twa:size-4 twa:shrink-0", children: checked ? (_jsx(Icon, { name: "check", className: "twa:text-success" })) : (_jsx(Icon, { name: "close", className: "twa:text-destructive" })) }), _jsx(Box, { className: "twa:text-3 twa:truncate", children: label })] }, label))) })] })] })] }));
510
389
  };
@@ -1,9 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { PivotLayout } from '../../../../../types';
3
3
  export declare const isPivotAggregationsSectionValid: (data: PivotLayout) => true | string;
4
- export declare const PivotAggregationsSectionSummary: React.FunctionComponent;
4
+ export declare const PivotAggregationsSectionSummary: React.FunctionComponent<{
5
+ layout?: PivotLayout;
6
+ }>;
5
7
  interface PivotAggregationsSectionProps {
6
8
  onChange: (data: PivotLayout) => void;
9
+ layoutWizardMode?: 'create' | 'edit';
7
10
  }
8
11
  export declare const PivotAggregationsSection: React.FunctionComponent<PivotAggregationsSectionProps>;
9
12
  export {};