@adaptabletools/adaptable 21.2.2-canary.0 → 22.0.0-canary.1

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 (521) hide show
  1. package/README.md +4 -6
  2. package/icons/inspector.svg +1 -0
  3. package/index.css +6464 -5488
  4. package/index.css.map +1 -1
  5. package/package.json +5 -6
  6. package/src/AdaptableInterfaces/IAdaptable.d.ts +9 -1
  7. package/src/AdaptableState/ChartingState.d.ts +1 -1
  8. package/src/AdaptableState/Common/AdaptableAlert.d.ts +2 -2
  9. package/src/AdaptableState/Common/AdaptableIcon.d.ts +1 -1
  10. package/src/AdaptableState/Common/AdaptablePredicate.js +7 -3
  11. package/src/AdaptableState/Common/AggregationColumns.d.ts +3 -3
  12. package/src/AdaptableState/Common/DataUpdateConfig.d.ts +4 -4
  13. package/src/AdaptableState/TeamSharingState.d.ts +1 -1
  14. package/src/Api/CustomSortApi.d.ts +6 -1
  15. package/src/Api/GridApi.d.ts +14 -0
  16. package/src/Api/Implementation/ColumnApiImpl.d.ts +3 -0
  17. package/src/Api/Implementation/ColumnApiImpl.js +12 -3
  18. package/src/Api/Implementation/CustomSortApiImpl.d.ts +2 -1
  19. package/src/Api/Implementation/CustomSortApiImpl.js +5 -1
  20. package/src/Api/Implementation/GridApiImpl.d.ts +9 -0
  21. package/src/Api/Implementation/GridApiImpl.js +16 -0
  22. package/src/Api/Implementation/LayoutApiImpl.d.ts +1 -0
  23. package/src/Api/Implementation/LayoutApiImpl.js +85 -2
  24. package/src/Api/Implementation/LayoutHelpers.d.ts +2 -2
  25. package/src/Api/Implementation/ScheduleApiImpl.d.ts +1 -0
  26. package/src/Api/Implementation/ScheduleApiImpl.js +12 -0
  27. package/src/Api/Implementation/ShortcutApiImpl.d.ts +1 -0
  28. package/src/Api/Implementation/ShortcutApiImpl.js +4 -0
  29. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +1 -0
  30. package/src/Api/Implementation/StyledColumnApiImpl.js +4 -0
  31. package/src/Api/Internal/AdaptableInternalApi.d.ts +0 -1
  32. package/src/Api/Internal/AdaptableInternalApi.js +3 -3
  33. package/src/Api/Internal/ColumnFilterInternalApi.js +1 -1
  34. package/src/Api/Internal/LayoutInternalApi.d.ts +5 -0
  35. package/src/Api/Internal/LayoutInternalApi.js +25 -0
  36. package/src/Api/LayoutApi.d.ts +7 -1
  37. package/src/Api/ScheduleApi.d.ts +5 -0
  38. package/src/Api/ShortcutApi.d.ts +5 -0
  39. package/src/Api/StyledColumnApi.d.ts +5 -0
  40. package/src/Redux/ActionsReducers/CommentsRedux.d.ts +1 -1
  41. package/src/Redux/ActionsReducers/DashboardRedux.d.ts +1 -1
  42. package/src/Redux/ActionsReducers/InternalRedux.d.ts +6 -6
  43. package/src/Redux/ActionsReducers/LayoutRedux.d.ts +3 -9
  44. package/src/Redux/ActionsReducers/StyledColumnRedux.d.ts +6 -6
  45. package/src/Redux/ActionsReducers/StyledColumnRedux.js +16 -16
  46. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +3 -0
  47. package/src/Redux/Store/AdaptableStore.js +8 -7
  48. package/src/Strategy/FormatColumnModule.js +2 -2
  49. package/src/Strategy/Utilities/Alert/getAlertPreviewViewItems.js +1 -1
  50. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +2 -1
  51. package/src/Strategy/Utilities/Layout/getLayoutFilterViewItems.js +4 -3
  52. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +18 -17
  53. package/src/Utilities/Constants/DocumentationLinkConstants.js +18 -17
  54. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.d.ts +4 -4
  55. package/src/Utilities/Extensions/StringExtensions.d.ts +1 -1
  56. package/src/Utilities/Helpers/StyleHelper.d.ts +1 -1
  57. package/src/Utilities/Services/Interface/IAlertService.d.ts +2 -2
  58. package/src/Utilities/Services/ModuleService.js +37 -38
  59. package/src/Utilities/createAgStatusPanelComponent.d.ts +1 -1
  60. package/src/Utilities/getObjectTagsViewItems.js +1 -1
  61. package/src/Utilities/runIfNotResolvedIn.d.ts +1 -1
  62. package/src/View/AdaptableComputedCSSVarsContext.js +6 -1
  63. package/src/View/AdaptablePopover/index.d.ts +1 -1
  64. package/src/View/AdaptablePopover/index.js +3 -3
  65. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +7 -8
  66. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +7 -6
  67. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.d.ts +4 -2
  68. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.js +3 -3
  69. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +9 -9
  70. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.js +3 -3
  71. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +4 -4
  72. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +4 -4
  73. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UiOptionsForm.js +2 -2
  74. package/src/View/AdaptableWizardView/Wizard.js +1 -1
  75. package/src/View/AdaptableWizardView/index.js +1 -4
  76. package/src/View/Alert/ActiveAlertsPanelItemLabel.js +2 -2
  77. package/src/View/Alert/AlertStatusSubPanel.js +1 -1
  78. package/src/View/Alert/AlertViewPanel.js +2 -2
  79. package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +3 -20
  80. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +15 -13
  81. package/src/View/Alert/Wizard/AlertButtonsEditor.js +25 -22
  82. package/src/View/Alert/Wizard/AlertMessageWizardSection.js +12 -16
  83. package/src/View/Alert/Wizard/AlertNotificationWizardSection.d.ts +3 -1
  84. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +7 -7
  85. package/src/View/Alert/Wizard/AlertRulesWizardSection.js +2 -2
  86. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +2 -2
  87. package/src/View/Alert/Wizard/AlertTypeWizardSection.js +1 -1
  88. package/src/View/Alert/Wizard/AlertWizard.js +8 -8
  89. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +11 -8
  90. package/src/View/BulkUpdate/BulkUpdatePopup.js +11 -11
  91. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +4 -4
  92. package/src/View/CalculatedColumn/CalculatedColumnSummary.d.ts +1 -1
  93. package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +8 -8
  94. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.d.ts +1 -1
  95. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +4 -4
  96. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +4 -5
  97. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.d.ts +1 -1
  98. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +1 -1
  99. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.d.ts +0 -2
  100. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +8 -14
  101. package/src/View/CalculatedColumn/Wizard/calculatedColumnTypes.d.ts +2 -0
  102. package/src/View/CalculatedColumn/Wizard/calculatedColumnTypes.js +6 -0
  103. package/src/View/CellSummary/CellSummaryPopup.js +1 -1
  104. package/src/View/CellSummary/CellSummaryViewPanel.js +5 -5
  105. package/src/View/Charting/ChartingStatusBarPopover.js +4 -4
  106. package/src/View/Charting/ChartingViewPanel.js +7 -7
  107. package/src/View/Charting/ChartingWizard/AgChargingWizard/AgChargingWizard.js +4 -4
  108. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/ExternalChartingWizard.js +3 -3
  109. package/src/View/Charting/useChartingElements.d.ts +1 -1
  110. package/src/View/Charting/useChartingElements.js +1 -1
  111. package/src/View/ColumnInfo/ColumnInfo.js +14 -19
  112. package/src/View/ColumnInfo/ColumnInfoPopup.js +2 -2
  113. package/src/View/Comments/CommentsEditor.js +14 -17
  114. package/src/View/Comments/CommentsPopup.js +6 -6
  115. package/src/View/Components/AdaptableDateInput/index.js +1 -1
  116. package/src/View/Components/AdaptableInput/index.js +3 -2
  117. package/src/View/Components/AdaptableObjectCollection/index.d.ts +2 -2
  118. package/src/View/Components/AdaptableObjectCollection/index.js +9 -5
  119. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +10 -10
  120. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.d.ts +2 -0
  121. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +20 -18
  122. package/src/View/Components/AdaptableObjectRow/index.d.ts +1 -0
  123. package/src/View/Components/AdaptableObjectRow/index.js +4 -5
  124. package/src/View/Components/Buttons/ButtonBase/index.d.ts +1 -2
  125. package/src/View/Components/Buttons/ButtonBase/index.js +5 -4
  126. package/src/View/Components/Buttons/ButtonClear.js +2 -1
  127. package/src/View/Components/Buttons/ButtonFunction.js +2 -1
  128. package/src/View/Components/Buttons/ButtonNew.d.ts +11 -1
  129. package/src/View/Components/Buttons/ButtonNew.js +2 -1
  130. package/src/View/Components/Buttons/EntityListActionButtons.d.ts +1 -1
  131. package/src/View/Components/Buttons/EntityListActionButtons.js +14 -43
  132. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -0
  133. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +3 -2
  134. package/src/View/Components/CellPopup/index.d.ts +1 -1
  135. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.d.ts +4 -3
  136. package/src/View/Components/ColumnFilter/ColumnFilter.d.ts +4 -2
  137. package/src/View/Components/ColumnFilter/ColumnFilter.js +26 -23
  138. package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +6 -6
  139. package/src/View/Components/ColumnFilter/FloatingFilter.js +6 -6
  140. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.d.ts +1 -1
  141. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +2 -2
  142. package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +1 -1
  143. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +6 -6
  144. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.d.ts +1 -1
  145. package/src/View/Components/ColumnFilter/useAdaptableFilterWrapper.js +9 -1
  146. package/src/View/Components/ColumnSelector/index.js +1 -3
  147. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicateEditor.js +10 -10
  148. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +11 -15
  149. package/src/View/Components/EntityRulesEditor/index.d.ts +5 -2
  150. package/src/View/Components/EntityRulesEditor/index.js +11 -10
  151. package/src/View/Components/ExpressionWizard.js +4 -4
  152. package/src/View/Components/FilterForm/Waiting.d.ts +4 -2
  153. package/src/View/Components/FilterForm/Waiting.js +3 -2
  154. package/src/View/Components/Forms/AdaptableFormControlTextClear.d.ts +1 -0
  155. package/src/View/Components/Forms/AdaptableFormControlTextClear.js +4 -8
  156. package/src/View/Components/ModuleValueSelector/index.js +2 -2
  157. package/src/View/Components/NewScopeComponent.js +20 -20
  158. package/src/View/Components/Panels/PanelFooter.js +5 -5
  159. package/src/View/Components/Panels/PanelToolPanel/index.d.ts +1 -1
  160. package/src/View/Components/Panels/PanelToolPanel/index.js +9 -11
  161. package/src/View/Components/Panels/PanelWithButton.d.ts +3 -5
  162. package/src/View/Components/Panels/PanelWithButton.js +7 -6
  163. package/src/View/Components/Panels/PanelWithImage.d.ts +2 -3
  164. package/src/View/Components/Panels/PanelWithImage.js +10 -12
  165. package/src/View/Components/Panels/PanelWithRow.d.ts +0 -1
  166. package/src/View/Components/Panels/PanelWithRow.js +3 -3
  167. package/src/View/Components/Panels/PanelWithTwoButtons.d.ts +1 -1
  168. package/src/View/Components/Panels/PanelWithTwoButtons.js +3 -3
  169. package/src/View/Components/Popups/AdaptableLoadingScreen.js +3 -5
  170. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +4 -3
  171. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +3 -2
  172. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +4 -4
  173. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +63 -31
  174. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.d.ts +2 -0
  175. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +8 -9
  176. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +5 -4
  177. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.d.ts +1 -1
  178. package/src/View/Components/Popups/AdaptablePopupAlert.js +6 -11
  179. package/src/View/Components/Popups/AdaptablePopupConfirmation.js +6 -6
  180. package/src/View/Components/Popups/AdaptablePopupPrompt.js +7 -7
  181. package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +9 -11
  182. package/src/View/Components/Popups/FormPopups/FormPopups.js +3 -3
  183. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +1 -1
  184. package/src/View/Components/Popups/WindowPopups/WindowPopups.js +3 -3
  185. package/src/View/Components/Popups/WindowPopups/windowFactory.d.ts +0 -1
  186. package/src/View/Components/PredicateEditor/PredicateEditor.js +7 -7
  187. package/src/View/Components/PreviewResultsPanel.d.ts +1 -0
  188. package/src/View/Components/PreviewResultsPanel.js +6 -13
  189. package/src/View/Components/RangesComponent.js +19 -19
  190. package/src/View/Components/ReorderDraggable/index.d.ts +2 -0
  191. package/src/View/Components/ReorderDraggable/index.js +8 -7
  192. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +4 -7
  193. package/src/View/Components/Selectors/ColumnSelector.js +1 -1
  194. package/src/View/Components/Selectors/ColumnSelectorOld.js +1 -1
  195. package/src/View/Components/StyleComponent.d.ts +2 -26
  196. package/src/View/Components/StyleComponent.js +186 -190
  197. package/src/View/Components/TagValueSelector/index.d.ts +1 -1
  198. package/src/View/Components/TagValueSelector/index.js +4 -3
  199. package/src/View/Components/ToolPanel/AdaptableToolPanel.d.ts +1 -1
  200. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +13 -12
  201. package/src/View/Components/ToolPanel/ToolPanelPopup.d.ts +1 -1
  202. package/src/View/Components/ToolPanel/ToolPanelPopup.js +13 -10
  203. package/src/View/Components/ToolPanel/ToolPanelWrapper.js +2 -2
  204. package/src/View/Components/ValueSelector/index.d.ts +9 -33
  205. package/src/View/Components/ValueSelector/index.js +38 -61
  206. package/src/View/Components/WizardSummaryPage.js +1 -1
  207. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +2 -2
  208. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +4 -7
  209. package/src/View/CustomSort/Wizard/CustomSortWizard.js +5 -5
  210. package/src/View/Dashboard/Dashboard.js +3 -3
  211. package/src/View/Dashboard/DashboardPopup.js +27 -23
  212. package/src/View/Dashboard/DashboardViewPanel.js +4 -4
  213. package/src/View/Dashboard/PinnedDashboard.js +3 -3
  214. package/src/View/Dashboard/PinnedToolbarsSelector.js +3 -2
  215. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +10 -10
  216. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +7 -7
  217. package/src/View/DataImport/DataImportPopup.js +2 -2
  218. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +2 -2
  219. package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +6 -6
  220. package/src/View/DataImport/DataImportWizard/sections/ImportSection.js +4 -4
  221. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadFileSection.js +1 -1
  222. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadSection.js +4 -4
  223. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadTextSection.js +1 -1
  224. package/src/View/DataImport/DataImportWizard/sections/ValidationSection.js +4 -4
  225. package/src/View/DataSet/DataSetViewPanel.d.ts +2 -2
  226. package/src/View/DataSet/DataSetViewPanel.js +2 -2
  227. package/src/View/Export/ExportDestinationPicker.js +2 -1
  228. package/src/View/Export/ExportViewPanel.js +4 -4
  229. package/src/View/Export/ReportFormatSelector.js +3 -3
  230. package/src/View/Export/ReportListItem.js +1 -1
  231. package/src/View/Export/ReportNameSelector.js +3 -3
  232. package/src/View/Export/Wizard/NewReportWizard.js +4 -4
  233. package/src/View/Export/Wizard/ReportColumnTypeWizard.js +8 -8
  234. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +11 -11
  235. package/src/View/Export/Wizard/ReportNameWizardSection.js +4 -4
  236. package/src/View/Export/Wizard/ReportRowTypeWizard.js +8 -8
  237. package/src/View/Export/Wizard/ReportRowsWizardSection.js +9 -9
  238. package/src/View/Export/Wizard/ReportSettingsWizard.js +3 -3
  239. package/src/View/Filter/FilterSummary.d.ts +1 -1
  240. package/src/View/Filter/FilterSummary.js +1 -1
  241. package/src/View/Filter/FilterViewPanel.d.ts +2 -2
  242. package/src/View/Filter/FilterViewPanel.js +4 -4
  243. package/src/View/FlashingCell/FlashingCellStyle.d.ts +2 -2
  244. package/src/View/FlashingCell/FlashingCellStyle.js +4 -4
  245. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +2 -2
  246. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +11 -11
  247. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.d.ts +2 -2
  248. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +4 -4
  249. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +5 -5
  250. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.d.ts +1 -1
  251. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +59 -64
  252. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +1 -1
  253. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +0 -4
  254. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +28 -28
  255. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +2 -2
  256. package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.js +2 -2
  257. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +8 -8
  258. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +11 -11
  259. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +4 -4
  260. package/src/View/GridFilter/GridFilterExpressionEditor.js +6 -6
  261. package/src/View/GridFilter/GridFilterPopup.js +31 -40
  262. package/src/View/GridFilter/GridFilterPopupUI/index.d.ts +68 -0
  263. package/src/View/GridFilter/GridFilterPopupUI/index.js +42 -0
  264. package/src/View/GridFilter/GridFilterViewPanel.js +14 -21
  265. package/src/View/GridFilter/NamedQuerySelector.js +7 -7
  266. package/src/View/GridFilter/useGridFilterExpressionEditor.d.ts +5 -1
  267. package/src/View/GridFilter/useGridFilterExpressionEditor.js +2 -1
  268. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.d.ts +3 -1
  269. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +4 -3
  270. package/src/View/GridInfo/GridInfoPopup/AdaptableOptionsComponent.js +5 -9
  271. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +7 -7
  272. package/src/View/KeyHint.d.ts +5 -2
  273. package/src/View/KeyHint.js +4 -2
  274. package/src/View/Layout/EditCurrentLayoutButton.js +1 -1
  275. package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +1 -1
  276. package/src/View/Layout/LayoutViewPanel.d.ts +3 -3
  277. package/src/View/Layout/LayoutViewPanel.js +2 -2
  278. package/src/View/Layout/TransposedPopup.js +4 -4
  279. package/src/View/Layout/Wizard/LayoutWizard.js +18 -18
  280. package/src/View/Layout/Wizard/sections/AggregationsSection.js +6 -8
  281. package/src/View/Layout/Wizard/sections/ColumnsSection.js +213 -138
  282. package/src/View/Layout/Wizard/sections/FilterSection.js +6 -7
  283. package/src/View/Layout/Wizard/sections/GridFilterSection.js +2 -2
  284. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +15 -18
  285. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +4 -6
  286. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +3 -5
  287. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +8 -10
  288. package/src/View/Layout/Wizard/sections/RowSummarySection.js +15 -17
  289. package/src/View/Layout/Wizard/sections/SettingsSection.js +8 -8
  290. package/src/View/Layout/Wizard/sections/SortSection.js +5 -7
  291. package/src/View/License/LicenseWatermark.js +1 -1
  292. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +2 -2
  293. package/src/View/NamedQuery/Wizard/NamedQuerySettingsWizardSection.js +3 -3
  294. package/src/View/NamedQuery/Wizard/NamedQueryWizard.js +3 -3
  295. package/src/View/Note/NoteEditor.js +5 -1
  296. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +5 -5
  297. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +4 -4
  298. package/src/View/QuickSearch/FloatingQuickSearch/FloatingQuickSearch.js +2 -2
  299. package/src/View/QuickSearch/QuickSearchInput.d.ts +1 -0
  300. package/src/View/QuickSearch/QuickSearchInput.js +5 -5
  301. package/src/View/QuickSearch/QuickSearchPopup.js +17 -16
  302. package/src/View/QuickSearch/QuickSearchViewPanel.js +1 -1
  303. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +4 -4
  304. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +5 -5
  305. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +2 -2
  306. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +4 -4
  307. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +5 -5
  308. package/src/View/Schedule/Wizard/ScheduleWizard.js +5 -5
  309. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +5 -8
  310. package/src/View/Shortcut/Wizard/ShortcutWizard.js +5 -5
  311. package/src/View/SmartEdit/SmartEditPopup.d.ts +1 -1
  312. package/src/View/SmartEdit/SmartEditPopup.js +8 -8
  313. package/src/View/SmartEdit/SmartEditViewPanel.js +1 -1
  314. package/src/View/SpecialColumnSettingsWizardStep.js +4 -4
  315. package/src/View/StateManagement/StateManagementPopup.js +12 -12
  316. package/src/View/StateManagement/StateManagementViewPanel.js +1 -1
  317. package/src/View/StateManagement/handleExportState.d.ts +1 -1
  318. package/src/View/StatusBar/AdaptableStatusBar.js +1 -1
  319. package/src/View/StatusBar/StatusBarPanel.d.ts +2 -2
  320. package/src/View/StatusBar/StatusBarPanel.js +5 -4
  321. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +9 -9
  322. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +51 -48
  323. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +8 -8
  324. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +2 -2
  325. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.js +18 -18
  326. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.js +3 -3
  327. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.js +4 -5
  328. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +5 -5
  329. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +2 -2
  330. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.js +4 -6
  331. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +14 -15
  332. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +4 -4
  333. package/src/View/SystemStatus/SystemStatusEntityRow.js +3 -3
  334. package/src/View/SystemStatus/SystemStatusPopup.js +2 -2
  335. package/src/View/SystemStatus/SystemStatusStatusBarContent.js +2 -2
  336. package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +2 -2
  337. package/src/View/SystemStatus/SystemStatusViewPanel.js +2 -2
  338. package/src/View/TeamSharing/SharedEntityDependencies.js +4 -4
  339. package/src/View/TeamSharing/SharedEntityObjectView.js +8 -8
  340. package/src/View/Theme/ThemeEditor.js +6 -31
  341. package/src/View/Theme/ThemeEditorWindow.js +2 -2
  342. package/src/View/Theme/ThemeField.js +1 -2
  343. package/src/View/Theme/ThemePopup.d.ts +1 -1
  344. package/src/View/Theme/ThemePopup.js +4 -4
  345. package/src/View/Theme/ThemeStatusbar.js +1 -1
  346. package/src/View/Theme/VariantSelector.js +1 -1
  347. package/src/View/UIHelper.d.ts +1 -1
  348. package/src/View/Wizard/Interface/IAdaptableWizard.d.ts +1 -1
  349. package/src/View/Wizard/ObjectTagsWizardSection.js +2 -4
  350. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +10 -4
  351. package/src/View/Wizard/OnePageAdaptableWizard.js +14 -16
  352. package/src/View/Wizard/OnePageWizards.d.ts +10 -4
  353. package/src/View/Wizard/OnePageWizards.js +50 -64
  354. package/src/View/Wizard/TypeRadio.js +3 -3
  355. package/src/View/Wizard/WizardLegend.js +3 -4
  356. package/src/View/Wizard/useKeyboardNavigation.d.ts +1 -1
  357. package/src/View/Wizard/useKeyboardNavigation.js +7 -4
  358. package/src/View/renderWithAdaptableContext.js +2 -5
  359. package/src/agGrid/AdaptableAgGrid.d.ts +11 -3
  360. package/src/agGrid/AdaptableAgGrid.js +153 -18
  361. package/src/agGrid/AdaptableFilterHandler.d.ts +5 -7
  362. package/src/agGrid/AdaptableFilterHandler.js +12 -28
  363. package/src/agGrid/AgGridColumnAdapter.d.ts +6 -1
  364. package/src/agGrid/AgGridColumnAdapter.js +26 -5
  365. package/src/agGrid/AgGridFilterAdapter.js +1 -1
  366. package/src/agGrid/AgGridFloatingFilterAdapter.js +1 -21
  367. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +1 -5
  368. package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.js +1 -5
  369. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +9 -8
  370. package/src/components/Card/index.d.ts +25 -0
  371. package/src/components/Card/index.js +45 -0
  372. package/src/components/CheckBox/index.d.ts +3 -4
  373. package/src/components/CheckBox/index.js +7 -9
  374. package/src/components/CodeBlock/index.d.ts +6 -2
  375. package/src/components/CodeBlock/index.js +3 -3
  376. package/src/components/ColorPicker/ColorPicker.d.ts +1 -1
  377. package/src/components/ColorPicker/ColorPicker.js +10 -9
  378. package/src/components/Dashboard/Dashboard.js +1 -1
  379. package/src/components/Dashboard/DashboardToolbar.js +5 -6
  380. package/src/components/Datepicker/index.d.ts +2 -2
  381. package/src/components/Datepicker/index.js +9 -8
  382. package/src/components/Dialog/index.d.ts +8 -2
  383. package/src/components/Dialog/index.js +7 -7
  384. package/src/components/DragAndDropContext/DragAndDropContext.d.ts +1 -1
  385. package/src/components/DragAndDropContext/ModuleManager.d.ts +1 -0
  386. package/src/components/DragAndDropContext/ModuleManager.js +9 -6
  387. package/src/components/DragAndDropContext/TabList.d.ts +2 -1
  388. package/src/components/DragAndDropContext/TabList.js +44 -24
  389. package/src/components/DragAndDropContext/UnusedPanel.js +7 -15
  390. package/src/components/Dropdown/index.d.ts +2 -2
  391. package/src/components/Dropdown/index.js +5 -6
  392. package/src/components/DropdownButton/index.d.ts +2 -22
  393. package/src/components/DropdownButton/index.js +7 -4
  394. package/src/components/EmptyContent/index.d.ts +2 -2
  395. package/src/components/EmptyContent/index.js +4 -4
  396. package/src/components/ErrorBox/index.d.ts +2 -2
  397. package/src/components/ErrorBox/index.js +3 -3
  398. package/src/components/ExpressionEditor/BaseEditorInput.js +65 -48
  399. package/src/components/ExpressionEditor/DataTableEditor.js +6 -10
  400. package/src/components/ExpressionEditor/EditorButton.js +0 -2
  401. package/src/components/ExpressionEditor/EditorContext.d.ts +0 -1
  402. package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +5 -5
  403. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +9 -11
  404. package/src/components/ExpressionEditor/NamedQueryContext.d.ts +0 -1
  405. package/src/components/ExpressionEditor/NamedQueryEditor.js +6 -16
  406. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.d.ts +2 -10
  407. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.js +6 -6
  408. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.d.ts +1 -1
  409. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +7 -7
  410. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +9 -14
  411. package/src/components/ExpressionEditor/index.d.ts +1 -0
  412. package/src/components/ExpressionEditor/index.js +29 -34
  413. package/src/components/FieldWrap/index.d.ts +9 -2
  414. package/src/components/FieldWrap/index.js +3 -8
  415. package/src/components/FileDroppable/FileDroppableState.d.ts +0 -1
  416. package/src/components/FileDroppable/index.d.ts +3 -2
  417. package/src/components/FileDroppable/index.js +3 -3
  418. package/src/components/Flex.d.ts +15 -1
  419. package/src/components/Flex.js +40 -1
  420. package/src/components/FlexWithFooter.d.ts +3 -2
  421. package/src/components/FlexWithFooter.js +4 -4
  422. package/src/components/FormLayout/index.d.ts +5 -1
  423. package/src/components/FormLayout/index.js +1 -1
  424. package/src/components/HelpBlock/index.d.ts +2 -2
  425. package/src/components/HelpBlock/index.js +4 -3
  426. package/src/components/IconSelector/IconSelector.js +8 -8
  427. package/src/components/Input/index.d.ts +1 -2
  428. package/src/components/Input/index.js +6 -3
  429. package/src/components/Modal/Backdrop.js +1 -1
  430. package/src/components/Modal/index.d.ts +3 -2
  431. package/src/components/Modal/index.js +3 -3
  432. package/src/components/OverlayTrigger/index.js +3 -0
  433. package/src/components/Panel/index.d.ts +22 -6
  434. package/src/components/Panel/index.js +54 -15
  435. package/src/components/PopupWithFooter.js +3 -4
  436. package/src/components/ProgressIndicator/ProgressIndicator.js +3 -3
  437. package/src/components/Radio/index.d.ts +25 -3
  438. package/src/components/Radio/index.js +18 -20
  439. package/src/components/Select/Select.js +33 -21
  440. package/src/components/SelectList.js +1 -1
  441. package/src/components/SelectableList/index.d.ts +1 -1
  442. package/src/components/SimpleButton/index.d.ts +4 -6
  443. package/src/components/SimpleButton/index.js +55 -23
  444. package/src/components/SizedContainer/index.d.ts +3 -1
  445. package/src/components/SizedContainer/index.js +1 -1
  446. package/src/components/StylePreview.d.ts +3 -1
  447. package/src/components/StylePreview.js +4 -3
  448. package/src/components/Tabs/index.d.ts +3 -3
  449. package/src/components/Tabs/index.js +26 -9
  450. package/src/components/Tag/Tag.d.ts +14 -2
  451. package/src/components/Tag/Tag.js +10 -3
  452. package/src/components/Tag/index.d.ts +1 -1
  453. package/src/components/Tag/index.js +1 -1
  454. package/src/components/Textarea/index.d.ts +5 -1
  455. package/src/components/Textarea/index.js +4 -3
  456. package/src/components/Toggle/Toggle.js +48 -3
  457. package/src/components/Toggle/ToggleGroup.d.ts +7 -0
  458. package/src/components/Toggle/ToggleGroup.js +57 -2
  459. package/src/components/ToggleButton/index.d.ts +2 -2
  460. package/src/components/ToggleButton/index.js +25 -7
  461. package/src/components/Tree/TreeDropdown/index.js +10 -15
  462. package/src/components/Tree/TreeList/index.js +5 -9
  463. package/src/components/WarningBox/index.d.ts +6 -2
  464. package/src/components/WarningBox/index.js +3 -3
  465. package/src/components/WizardPanel/index.d.ts +6 -1
  466. package/src/components/WizardPanel/index.js +2 -2
  467. package/src/components/icons/DefaultIcon.d.ts +1 -0
  468. package/src/components/icons/index.d.ts +1 -1
  469. package/src/components/icons/index.js +2 -0
  470. package/src/components/icons/inspector.d.ts +3 -0
  471. package/src/components/icons/inspector.js +5 -0
  472. package/src/components/twUtils.d.ts +7 -0
  473. package/src/components/twUtils.js +13 -0
  474. package/src/components/utils/useDraggable.d.ts +0 -1
  475. package/src/devTools/index.d.ts +23 -23
  476. package/src/env.js +2 -2
  477. package/src/layout-manager/src/LMEmitter.d.ts +1 -0
  478. package/src/layout-manager/src/LMEmitter.js +1 -0
  479. package/src/layout-manager/src/index.js +2 -2
  480. package/src/migration/VersionUpgrade20.js +6 -5
  481. package/src/twMerge.d.ts +1 -0
  482. package/src/twMerge.js +11 -0
  483. package/themes/dark.css +35 -9
  484. package/themes/light.css +0 -2
  485. package/tsconfig.esm.tsbuildinfo +1 -1
  486. package/base.css +0 -5602
  487. package/base.css.map +0 -1
  488. package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.d.ts +0 -3
  489. package/src/Strategy/Utilities/FormatColumn/getFormatColumnStyleViewItems.js +0 -6
  490. package/src/View/Alert/AlertsPanel.d.ts +0 -14
  491. package/src/View/Alert/AlertsPanel.js +0 -38
  492. package/src/View/Alert/Wizard/AlertSelectQueryWizard.d.ts +0 -19
  493. package/src/View/Alert/Wizard/AlertSelectQueryWizard.js +0 -54
  494. package/src/View/Components/FilterForm/ListBoxMenu.d.ts +0 -14
  495. package/src/View/Components/FilterForm/ListBoxMenu.js +0 -28
  496. package/src/View/Components/ListBox/DualListBoxEditor.d.ts +0 -22
  497. package/src/View/Components/ListBox/DualListBoxEditor.js +0 -515
  498. package/src/View/Components/ListBox/ListBoxFilterSortComponent.d.ts +0 -13
  499. package/src/View/Components/ListBox/ListBoxFilterSortComponent.js +0 -26
  500. package/src/View/CustomSort/Wizard/CustomSortSummaryWizard.d.ts +0 -15
  501. package/src/View/CustomSort/Wizard/CustomSortSummaryWizard.js +0 -31
  502. package/src/View/Layout/Wizard/Components/ColumnLabels.d.ts +0 -9
  503. package/src/View/Layout/Wizard/Components/ColumnLabels.js +0 -52
  504. package/src/View/Wizard/AdaptableWizard.d.ts +0 -56
  505. package/src/View/Wizard/AdaptableWizard.js +0 -168
  506. package/src/components/ContainerProps.d.ts +0 -30
  507. package/src/components/ContainerProps.js +0 -1
  508. package/src/components/EllipsisContainer/index.d.ts +0 -13
  509. package/src/components/EllipsisContainer/index.js +0 -100
  510. package/src/components/List/GridList/index.d.ts +0 -10
  511. package/src/components/List/GridList/index.js +0 -23
  512. package/src/components/List/ListGroup/index.d.ts +0 -6
  513. package/src/components/List/ListGroup/index.js +0 -9
  514. package/src/components/List/ListGroupItem/index.d.ts +0 -11
  515. package/src/components/List/ListGroupItem/index.js +0 -16
  516. package/src/components/utils/useTheme.d.ts +0 -32
  517. package/src/components/utils/useTheme.js +0 -2
  518. package/src/theme.d.ts +0 -32
  519. package/src/theme.js +0 -49
  520. package/themes/dark.css.map +0 -1
  521. package/themes/light.css.map +0 -1
@@ -1,27 +1,9 @@
1
1
  export class AdaptableFilterHandler {
2
- constructor(adaptableApi, columnSetup) {
2
+ constructor(adaptableApi) {
3
3
  this.adaptableApi = adaptableApi;
4
- this.currentColumnFilters_MEMO = new WeakMap();
5
- this.colId = columnSetup.colId;
6
4
  }
7
- getCurrentColumnFilters() {
8
- // we memoize based on layout column filters object reference
9
- // this method is called for each row during filtering so we need to optimize it
10
- const layoutColumnFilters = this.adaptableApi.layoutApi.internalApi.getCurrentLayout_perfOptimized()?.ColumnFilters;
11
- const memoizedColumnFilters = this.currentColumnFilters_MEMO.get(layoutColumnFilters);
12
- if (memoizedColumnFilters) {
13
- return memoizedColumnFilters;
14
- }
15
- const columnFilters = this.adaptableApi.filterApi.columnFilterApi
16
- .getActiveColumnFilters()
17
- .filter((columnFilter) => this.adaptableApi.filterApi.columnFilterApi.isColumnFilterActive(columnFilter))
18
- .filter((columnFilter) => columnFilter.ColumnId === this.colId)
19
- .filter((columnFilter) => {
20
- const shouldEvaluateFilterOnClient = this.adaptableApi.expressionApi.internalApi.shouldEvaluatePredicatesInAdaptableQL('ColumnFilter', columnFilter, columnFilter.Predicates);
21
- return shouldEvaluateFilterOnClient;
22
- });
23
- this.currentColumnFilters_MEMO.set(layoutColumnFilters, columnFilters);
24
- return columnFilters;
5
+ init(params) {
6
+ this.colId = params.column.getColId();
25
7
  }
26
8
  doesFilterPass(params) {
27
9
  try {
@@ -31,12 +13,15 @@ export class AdaptableFilterHandler {
31
13
  if (!isRowFilterable) {
32
14
  return true;
33
15
  }
34
- const columnFilters = this.getCurrentColumnFilters();
35
- // #column_filter_predicates_evaluation
36
- const allFiltersMatched = columnFilters.every((columnFilter) => {
37
- return this.adaptableApi.filterApi.columnFilterApi.internalApi.evaluateColumnFilter(columnFilter, rowNode);
38
- });
39
- return allFiltersMatched;
16
+ const columnFilterModel = params.model;
17
+ if (!columnFilterModel) {
18
+ this.adaptableApi.logWarn(`AdaptableFilterHandler.doesFilterPass: No filter model found for column ${this.colId}`);
19
+ return true;
20
+ }
21
+ if (columnFilterModel.IsSuspended) {
22
+ return true;
23
+ }
24
+ return this.adaptableApi.filterApi.columnFilterApi.internalApi.evaluateColumnFilter(columnFilterModel, rowNode);
40
25
  }
41
26
  catch (ex) {
42
27
  this.adaptableApi.consoleError(ex);
@@ -97,6 +82,5 @@ export class AdaptableFilterHandler {
97
82
  destroy() {
98
83
  this.filterDisplayValuesResult = undefined;
99
84
  this.previousFilterDisplayValuesResult = undefined;
100
- this.currentColumnFilters_MEMO = undefined;
101
85
  }
102
86
  }
@@ -16,7 +16,12 @@ export declare class AgGridColumnAdapter {
16
16
  setColDefProperty<T extends keyof ColDef>(col: Column, propertyName: T, propertyGetter: (userPropertyValue: ColDef[T]) => ColDef[T] | undefined): void;
17
17
  getUserColDefProperty<T extends keyof ColDef>(columnId: string, propertyName: T): ColDef[T] | undefined;
18
18
  shouldSkipColumn(colId: string): boolean;
19
- setupColumns(): void;
19
+ getAllAgGridColumns(): Column<any>[];
20
+ /**
21
+ * Setup all columns, or only those with the given Ids
22
+ * @param specificColumnIds - optional list of column Ids to setup. If not provided, all columns are setup
23
+ */
24
+ setupColumns(specificColumnIds?: string[]): void;
20
25
  private setupColumnValueGetter;
21
26
  private setupColumnCellClass;
22
27
  private setupColumnHeaderClass;
@@ -102,7 +102,7 @@ export class AgGridColumnAdapter {
102
102
  !this.adaptableApi.columnApi.isAutoRowGroupColumn(colId) &&
103
103
  !this.adaptableApi.columnApi.isSelectionColumn(colId));
104
104
  }
105
- setupColumns() {
105
+ getAllAgGridColumns() {
106
106
  const pivotMode = this.adaptableInstance.isInPivotMode();
107
107
  let cols = pivotMode
108
108
  ? // for pivot mode, we take only the initial columns
@@ -117,6 +117,17 @@ export class AgGridColumnAdapter {
117
117
  .filter((column) => this.adaptableApi.columnApi.isAutoRowGroupColumn(column.getColId()));
118
118
  cols = [...autoGroupColumns, ...cols, ...pivotResultColumns];
119
119
  }
120
+ return cols;
121
+ }
122
+ /**
123
+ * Setup all columns, or only those with the given Ids
124
+ * @param specificColumnIds - optional list of column Ids to setup. If not provided, all columns are setup
125
+ */
126
+ setupColumns(specificColumnIds) {
127
+ let cols = this.getAllAgGridColumns();
128
+ if (specificColumnIds?.length) {
129
+ cols = cols.filter((col) => specificColumnIds.includes(col.getColId()));
130
+ }
120
131
  // this needs to be here, before the other setup below
121
132
  // so the setup methods below reference the correct columns in adaptable store
122
133
  cols.forEach((col) => {
@@ -132,6 +143,7 @@ export class AgGridColumnAdapter {
132
143
  colId,
133
144
  abColumn,
134
145
  };
146
+ const isAutoRowGroupColumn = this.adaptableApi.columnApi.isAutoRowGroupColumn(colId);
135
147
  this.setupColumnCellRenderer(colSetupInfo);
136
148
  this.setupColumnCellStyle(colSetupInfo);
137
149
  this.setupColumnCellClass(colSetupInfo);
@@ -139,8 +151,13 @@ export class AgGridColumnAdapter {
139
151
  this.setupColumnHeaderClass(colSetupInfo);
140
152
  this.setupColumnValueGetter(colSetupInfo);
141
153
  this.setupColumnTooltipValueGetter(colSetupInfo);
142
- this.setupColumnFilter(colSetupInfo);
143
- this.setupColumnFloatingFilter(colSetupInfo);
154
+ if (!isAutoRowGroupColumn) {
155
+ // we do NOT setup filtering for auto row group columns
156
+ // this is done via gridOptions.autoGroupColumnDef
157
+ // see #autoGroupColumnDef
158
+ this.setupColumnFilter(colSetupInfo);
159
+ this.setupColumnFloatingFilter(colSetupInfo);
160
+ }
144
161
  this.setupColumnValueFormatter(colSetupInfo);
145
162
  this.setupColumnEditable(colSetupInfo);
146
163
  this.setupColumnValueSetter(colSetupInfo);
@@ -455,8 +472,12 @@ export class AgGridColumnAdapter {
455
472
  valueToLabelMap.set(option.value, option.label);
456
473
  return option.value;
457
474
  }));
475
+ const fetchSelectItems = (_params) => {
476
+ return values;
477
+ };
458
478
  return {
459
- values,
479
+ // we need to pass a function which returns a Promise, that's what AG Grid expects
480
+ values: fetchSelectItems,
460
481
  formatValue: (value) => valueToLabelMap.get(value) ?? value,
461
482
  };
462
483
  };
@@ -639,7 +660,7 @@ export class AgGridColumnAdapter {
639
660
  }
640
661
  return {
641
662
  component: AgGridFilterAdapterFactory(this.adaptableInstance),
642
- handler: () => new AdaptableFilterHandler(this.adaptableApi, columnSetup),
663
+ handler: () => new AdaptableFilterHandler(this.adaptableApi),
643
664
  };
644
665
  });
645
666
  }
@@ -36,7 +36,7 @@ export const AgGridFilterAdapterFactory = (adaptable) => {
36
36
  if (column) {
37
37
  this.unmountReactRoot = adaptable.renderReactRoot(renderWithAdaptableContext(React.createElement(AdaptableColumnFilter, {
38
38
  columnId,
39
- wrapperProps: { p: 2 },
39
+ wrapperProps: { className: 'twa:p-2' },
40
40
  location: 'columnMenu',
41
41
  }), adaptable), this.filterContainer);
42
42
  }
@@ -57,26 +57,6 @@ export const AgGridFloatingFilterAdapterFactory = (adaptable) => {
57
57
  headerCell.style.padding = 'var(--ab-space-1)';
58
58
  }
59
59
  }
60
- if (adaptable.isAgGridInitialising) {
61
- if (adaptable.variant === 'react') {
62
- return () => React.createElement(React.Fragment, null);
63
- }
64
- return class FloatingFilterStub {
65
- init(params) {
66
- this.filterContainer = document.createElement('div');
67
- }
68
- getGui() {
69
- return this.filterContainer;
70
- }
71
- destroy() {
72
- this.unmountReactRoot?.();
73
- this.filterContainer = null;
74
- }
75
- onParentModelChanged() {
76
- // nothing yet
77
- }
78
- };
79
- }
80
60
  return class AgGridFloatingFilterAdapter {
81
61
  init(params) {
82
62
  const colId = params.column.getColId();
@@ -107,7 +87,7 @@ export const AgGridFloatingFilterAdapterFactory = (adaptable) => {
107
87
  }
108
88
  refresh(params) {
109
89
  // always reuse the current instance
110
- // the filte ris refreshed in the underlying React component
90
+ // the filter is refreshed in the underlying React component
111
91
  return true;
112
92
  }
113
93
  destroy() {
@@ -64,11 +64,7 @@ export const InternalAdaptableNumberEditor = React.forwardRef(function InternalA
64
64
  React.createElement("input", { "data-name": "AdaptableNumberEditorInput", type: props.type ?? 'number', value: value, onKeyDown: preventDisallowedChars, onChange: React.useCallback((event) => {
65
65
  setValue(event.target.value);
66
66
  }, []), style: inputStyle, ref: inputRef }),
67
- showClear ? (React.createElement("div", { style: {
68
- display: 'inline-block',
69
- marginRight: 'var(--ab-space-1)',
70
- marginLeft: 'var(--ab-space-1)',
71
- }, onClick: (e) => {
67
+ showClear ? (React.createElement("div", { className: "twa:inline-block twa:mx-1", onClick: (e) => {
72
68
  if (props.emptyValue != null) {
73
69
  setValue(props.emptyValue);
74
70
  e.stopPropagation();
@@ -57,11 +57,7 @@ export const InternalAdaptablePercentageEditor = React.forwardRef(function Inter
57
57
  React.createElement(NumberInput, { type: props.type ?? 'number', className: "ab-PercentageEditor-Input", value: value, noArrows: true, autoFocus: true, onChange: React.useCallback((value) => {
58
58
  setValue(value);
59
59
  }, []), style: inputStyle, ref: inputRef }),
60
- showClear ? (React.createElement("div", { style: {
61
- display: 'inline-block',
62
- marginRight: 'var(--ab-space-1)',
63
- marginLeft: 'var(--ab-space-1)',
64
- }, onClick: (e) => {
60
+ showClear ? (React.createElement("div", { className: "twa:inline-block twa:mx-1", onClick: (e) => {
65
61
  if (props.emptyValue != null) {
66
62
  setValue(props.emptyValue);
67
63
  e.stopPropagation();
@@ -1,5 +1,4 @@
1
1
  import * as React from 'react';
2
- import { Box, Flex } from 'rebass';
3
2
  import FormLayout, { FormRow } from '../FormLayout';
4
3
  import Input from '../Input';
5
4
  import SimpleButton from '../SimpleButton';
@@ -7,6 +6,8 @@ import AdaptableInput from '../../View/Components/AdaptableInput';
7
6
  import { useMemo } from 'react';
8
7
  import { useAdaptable } from '../../View/AdaptableContext';
9
8
  import { Select } from '../Select';
9
+ import { Box, Flex } from '../Flex';
10
+ import { twMerge } from '../../twMerge';
10
11
  export function AdaptableFormComponentButtons({ formDef, onClick, defaultTone, disabledButtons, api, context, focusFirstButton = true, }) {
11
12
  return (React.createElement(React.Fragment, null, formDef.buttons.map((button, index) => {
12
13
  const buttonIcon = api.internalApi.getIconForButton(button, context, {
@@ -28,7 +29,7 @@ export function AdaptableFormComponentButtons({ formDef, onClick, defaultTone, d
28
29
  : {
29
30
  ...api.internalApi.buildBaseContext(),
30
31
  });
31
- return (React.createElement(SimpleButton, { autoFocus: focusFirstButton && index === 0, disabled: disabledButtons[index], key: index, tooltip: buttonTooltip, icon: buttonIcon, tone: buttonStyle?.tone ?? defaultTone, variant: buttonStyle?.variant, "data-text": buttonLabel, className: buttonStyle?.className, marginLeft: index ? 2 : 0, onClick: () => {
32
+ return (React.createElement(SimpleButton, { autoFocus: focusFirstButton && index === 0, disabled: disabledButtons[index], key: index, tooltip: buttonTooltip, icon: buttonIcon, tone: buttonStyle?.tone ?? defaultTone, variant: buttonStyle?.variant, "data-text": buttonLabel, className: twMerge(index ? 'twa:ml-2' : '', buttonStyle?.className), onClick: () => {
32
33
  onClick(button);
33
34
  } }, buttonLabel));
34
35
  })));
@@ -68,7 +69,7 @@ export function AdaptableFormComponent({ formDef, data, onChange, onButtonClick,
68
69
  case 'text':
69
70
  case 'number':
70
71
  case 'date':
71
- return (React.createElement(AdaptableInput, { type: field.fieldType, style: { width: '100%' }, name: field.name, value: value, onChange: onChange }));
72
+ return (React.createElement(AdaptableInput, { type: field.fieldType, className: "twa:w-full", name: field.name, value: value, onChange: onChange }));
72
73
  case 'select':
73
74
  let items = field.options.map((item) => ({
74
75
  value: item.value,
@@ -81,7 +82,7 @@ export function AdaptableFormComponent({ formDef, data, onChange, onButtonClick,
81
82
  setFieldValue(field.name, event.target.checked);
82
83
  } }));
83
84
  case 'textOutput':
84
- return (React.createElement(Box, { paddingLeft: 2, style: { textAlign: 'left' } }, value));
85
+ return React.createElement(Box, { className: "twa:pl-2 twa:text-left" }, value);
85
86
  default:
86
87
  return React.createElement("div", null,
87
88
  "Unknown field type: ",
@@ -91,8 +92,8 @@ export function AdaptableFormComponent({ formDef, data, onChange, onButtonClick,
91
92
  // by default we have 2 columns: label & input
92
93
  const columns = formDef.config?.columns ?? [1, 2];
93
94
  return (React.createElement(React.Fragment, null,
94
- displayTitle && formDef.title && (React.createElement(Box, { "data-name": "form-title", fontSize: 5, mb: 2, style: { fontWeight: 'bold' } }, formDef.title)),
95
- formDef.description && (React.createElement(Box, { "data-name": "form-description", mb: 3 }, formDef.description)),
95
+ displayTitle && formDef.title && (React.createElement(Box, { "data-name": "form-title", className: "twa:text-5 twa:mb-2 twa:font-bold" }, formDef.title)),
96
+ formDef.description && (React.createElement(Box, { "data-name": "form-description", className: "twa:mb-3" }, formDef.description)),
96
97
  React.createElement(FormLayout, { onKeyDown: (event) => {
97
98
  const target = event.target;
98
99
  const targetName = target.name;
@@ -120,7 +121,7 @@ export function AdaptableFormComponent({ formDef, data, onChange, onButtonClick,
120
121
  },
121
122
  });
122
123
  }
123
- }, "data-name": "form-content", columns: columns, style: { overflow: 'auto' }, paddingRight: 1 }, formDef.fields?.map((field, index) => {
124
+ }, "data-name": "form-content", columns: columns, className: "twa:pr-1 twa:overflow-auto" }, formDef.fields?.map((field, index) => {
124
125
  if (Array.isArray(field)) {
125
126
  const rowFields = {};
126
127
  field.map((fieldItem, index) => {
@@ -136,6 +137,6 @@ export function AdaptableFormComponent({ formDef, data, onChange, onButtonClick,
136
137
  renderField(field)));
137
138
  }
138
139
  })),
139
- formDef.buttons ? (React.createElement(Flex, { "data-name": "form-buttons", marginTop: 3, flexDirection: "row", alignItems: "center", justifyContent: "center" },
140
+ formDef.buttons ? (React.createElement(Flex, { "data-name": "form-buttons", className: "twa:mt-3", flexDirection: "row", alignItems: "center", justifyContent: "center" },
140
141
  React.createElement(AdaptableFormComponentButtons, { focusFirstButton: focusFirstButton, onClick: onButtonClick, disabledButtons: disabledButtons, defaultTone: "success", formDef: formDef, api: api, context: context }))) : null));
141
142
  }
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+ export interface CardProps {
3
+ children: React.ReactNode;
4
+ className?: string;
5
+ style?: React.CSSProperties;
6
+ shadow?: boolean;
7
+ gap?: 0 | 1 | 2 | 3 | 4 | 8;
8
+ }
9
+ export declare function Card(props: CardProps): React.JSX.Element;
10
+ export declare namespace Card {
11
+ var Title: (props: CardTitleProps) => React.JSX.Element;
12
+ var Body: (props: CardBodyProps) => React.JSX.Element;
13
+ }
14
+ interface CardTitleProps {
15
+ children: React.ReactNode;
16
+ className?: string;
17
+ gap?: CardProps['gap'];
18
+ border?: boolean;
19
+ }
20
+ interface CardBodyProps {
21
+ children: React.ReactNode;
22
+ gap?: CardProps['gap'];
23
+ className?: string;
24
+ }
25
+ export {};
@@ -0,0 +1,45 @@
1
+ import * as React from 'react';
2
+ import { twMerge } from '../../twMerge';
3
+ import clsx from 'clsx';
4
+ import { Box } from '../Flex';
5
+ export function Card(props) {
6
+ const { shadow = true, children, className, style, gap = 2 } = props;
7
+ return (React.createElement(Box, { className: clsx('twa:bg-defaultbackground twa:text-text-on-defaultbackground', 'ab-Card', 'twa:text-3', 'twa:rounded-standard twa:p-2', 'twa:flex twa:flex-col', {
8
+ 'twa:shadow-sm': shadow,
9
+ 'twa:gap-0': gap === 0,
10
+ 'twa:gap-1': gap === 1,
11
+ 'twa:gap-2': gap === 2,
12
+ 'twa:gap-3': gap === 3,
13
+ 'twa:gap-4': gap === 4,
14
+ 'twa:gap-8': gap === 8,
15
+ }, className), style: style }, children));
16
+ }
17
+ const CardTitle = (props) => {
18
+ const { children, className, gap = 2, border = true } = props;
19
+ return (React.createElement("div", { className: twMerge(clsx('ab-Card__title', {
20
+ 'twa:flex twa:flex-row': true,
21
+ 'twa:items-center': true,
22
+ 'twa:text-4 twa:px-2': true,
23
+ 'twa:pb-2 twa:border-b': border,
24
+ 'twa:border-b-text-on-defaultbackground/20': true,
25
+ 'twa:gap-0': gap === 0,
26
+ 'twa:gap-1': gap === 1,
27
+ 'twa:gap-2': gap === 2,
28
+ 'twa:gap-3': gap === 3,
29
+ 'twa:gap-4': gap === 4,
30
+ 'twa:gap-8': gap === 8,
31
+ }, className)) }, children));
32
+ };
33
+ const CardBody = (props) => {
34
+ const { children, gap, className } = props;
35
+ return (React.createElement("div", { className: clsx('ab-Card__body', 'twa:overflow-auto twa:min-h-0', 'twa:flex-1 twa:flex twa:flex-col', {
36
+ 'twa:gap-0': gap === 0,
37
+ 'twa:gap-1': gap === 1,
38
+ 'twa:gap-2': gap === 2,
39
+ 'twa:gap-3': gap === 3,
40
+ 'twa:gap-4': gap === 4,
41
+ 'twa:gap-8': gap === 8,
42
+ }, className) }, children));
43
+ };
44
+ Card.Title = CardTitle;
45
+ Card.Body = CardBody;
@@ -1,7 +1,6 @@
1
1
  import * as React from 'react';
2
2
  import { ReactNode, SyntheticEvent } from 'react';
3
- import { FlexProps } from 'rebass';
4
- import { ContainerProps } from '../ContainerProps';
3
+ import { FlexProps } from '../Flex';
5
4
  type TypeProps = {
6
5
  checked?: boolean | null;
7
6
  disabled?: boolean;
@@ -15,10 +14,10 @@ type TypeProps = {
15
14
  gapDistance?: number | string;
16
15
  childrenPosition?: 'start' | 'end';
17
16
  };
18
- export interface CheckBoxProps extends TypeProps, Omit<ContainerProps, keyof TypeProps>, Omit<React.HTMLProps<HTMLDivElement>, keyof TypeProps | 'ref'> {
17
+ export interface CheckBoxProps extends TypeProps, Omit<React.HTMLProps<HTMLDivElement>, keyof TypeProps | 'ref'> {
19
18
  }
20
19
  declare const CheckBox: ({ children, checked, onChange, value, name, disabled, readOnly, variant, gapDistance, childrenPosition, as, ...props }: CheckBoxProps) => React.JSX.Element;
21
20
  export declare const CheckBoxGroup: (props: FlexProps & {
22
- orientation: 'horizontal' | 'vertical';
21
+ orientation: "horizontal" | "vertical";
23
22
  }) => React.JSX.Element;
24
23
  export { CheckBox };
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { useRef, useState } from 'react';
3
- import { Box, Flex } from 'rebass';
4
- import join from '../utils/join';
3
+ import { Box, Flex } from '../Flex';
4
+ import clsx from 'clsx';
5
5
  const Square = (props) => {
6
6
  return React.createElement("div", { className: `ab-CheckBox__square ab-CheckBox__square--${props.type}` });
7
7
  };
@@ -41,12 +41,10 @@ const CheckBox = ({ children, checked, onChange, value, name, disabled, readOnly
41
41
  React.useEffect(() => {
42
42
  checkboxRef.current.indeterminate = indeterminate;
43
43
  }, [indeterminate]);
44
- let input = (React.createElement("input", { className: `ab-CheckBox-input`, ref: checkboxRef, disabled: disabled, readOnly: readOnly, checked: !!computedChecked, type: "checkbox", name: name, value: value, style: {
45
- verticalAlign: 'middle',
46
- opacity: 0,
47
- cursor: 'pointer',
48
- }, onChange: onInputChange }));
49
- return (React.createElement(Box, { my: 2, ...props, className: join('ab-CheckBox', `ab-CheckBox--${type}`, `ab-CheckBox--variant-${variant}`, disabled ? 'ab-CheckBox--disabled' : '', readOnly ? 'ab-CheckBox--readonly' : '', props.className), style: props.style, as: as },
44
+ let input = (React.createElement("input", { className: clsx(`ab-CheckBox-input twa:align-middle twa:opacity-0`, {
45
+ 'twa:cursor-pointer': !readOnly && !disabled,
46
+ }), ref: checkboxRef, disabled: disabled, readOnly: readOnly, checked: !!computedChecked, type: "checkbox", name: name, value: value, onChange: onInputChange }));
47
+ return (React.createElement(Box, { ...props, className: clsx('twa:my-2', 'ab-CheckBox', `ab-CheckBox--${type}`, `ab-CheckBox--variant-${variant}`, disabled ? 'ab-CheckBox--disabled' : '', readOnly ? 'ab-CheckBox--readonly' : '', props.className), style: props.style, as: as },
50
48
  before,
51
49
  beforeGap,
52
50
  input,
@@ -56,6 +54,6 @@ const CheckBox = ({ children, checked, onChange, value, name, disabled, readOnly
56
54
  };
57
55
  export const CheckBoxGroup = (props) => {
58
56
  const { orientation, ...flexProps } = props;
59
- return (React.createElement(Flex, { className: "ab-CheckBoxGroup", flexDirection: orientation == 'horizontal' ? 'row' : 'column', alignItems: orientation == 'horizontal' ? 'center' : 'flex=start', ...flexProps }));
57
+ return (React.createElement(Flex, { className: `ab-CheckBoxGroup ${orientation === 'horizontal' ? 'twa:items-center' : 'twa:items-start'}`, flexDirection: orientation == 'horizontal' ? 'row' : 'column', ...flexProps }));
60
58
  };
61
59
  export { CheckBox };
@@ -1,4 +1,8 @@
1
1
  import * as React from 'react';
2
- import { BoxProps } from 'rebass';
2
+ import { BoxProps } from '../Flex';
3
3
  export declare const baseClassName = "ab-CodeBlock";
4
- export declare const CodeBlock: (props: BoxProps) => React.JSX.Element;
4
+ export declare const CodeBlock: (props: BoxProps & {
5
+ className?: string;
6
+ style?: React.CSSProperties;
7
+ children?: React.ReactNode;
8
+ }) => React.JSX.Element;
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
- import { Box } from 'rebass';
3
- import join from '../utils/join';
2
+ import { Box } from '../Flex';
3
+ import clsx from 'clsx';
4
4
  export const baseClassName = 'ab-CodeBlock';
5
5
  export const CodeBlock = (props) => {
6
- return React.createElement(Box, { as: "code", ...props, className: join(props.className, baseClassName) });
6
+ return (React.createElement(Box, { as: "code", ...props, className: clsx('twa:p-1 twa:rounded-standard twa:bg-primary twa:text-primary-foreground', baseClassName, props.className) }));
7
7
  };
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { HTMLProps } from 'react';
3
- import { BoxProps } from 'rebass';
4
3
  import { AdaptableApi } from '../../Api/AdaptableApi';
4
+ import { BoxProps } from '../Flex';
5
5
  export type ColorPickerProps = Omit<HTMLProps<HTMLInputElement>, 'onChange'> & {
6
6
  api: AdaptableApi;
7
7
  onChange: (color: string) => void;
@@ -1,10 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import { useCallback, useEffect } from 'react';
3
- import { Box, Flex } from 'rebass';
4
3
  import debounce from 'lodash/debounce';
5
4
  import Input from '../Input';
6
5
  import { getVariableColor } from '../../Utilities/Helpers/StyleHelper';
7
6
  import tinycolor from 'tinycolor2';
7
+ import { Box, Flex } from '../Flex';
8
+ import { twMerge } from '../../twMerge';
9
+ import clsx from 'clsx';
8
10
  export const ColorPicker = React.forwardRef((props, ref) => {
9
11
  const ColorPalette = props.api.userInterfaceApi.getColorPalette();
10
12
  let { api, value, includeAlpha = true, ...restProps } = props;
@@ -34,20 +36,19 @@ export const ColorPicker = React.forwardRef((props, ref) => {
34
36
  }, [value]);
35
37
  const rangeBackround = `linear-gradient(90deg, ${preparedAlphaColor[0]} 0%, ${preparedAlphaColor[1]} 100%)`;
36
38
  const alpha = tinycolor(value).getAlpha();
37
- return (React.createElement(Flex, { className: 'ColorPicker' },
38
- React.createElement(Input, { ...restProps, mr: 2, onChange: (event) => {
39
+ return (React.createElement(Flex, { className: clsx('ColorPicker twa:items-center twa:gap-2', {
40
+ 'twa:opacity-30': props.disabled,
41
+ }, props.className) },
42
+ React.createElement(Input, { ...restProps, disabled: props.disabled, className: twMerge('twa:w-[70px] twa:p-0', restProps.className), onChange: (event) => {
39
43
  /**
40
44
  * The value is not in the map when the color is not in the palette.
41
45
  */
42
46
  const color = optionsMap[event.target.value] ?? event.target.value;
43
47
  debouncedOnChange(color);
44
- }, value: preparedValue, ref: ref, type: "color", style: {
45
- width: 70,
46
- padding: 0 /* we need this to be 0, since otherwise on Windows browsers, the chosen color cannot be seen */,
47
- }, list: "ABcolorChoices", title: props.title }),
48
+ }, value: preparedValue, ref: ref, type: "color", list: "ABcolorChoices", title: props.title }),
48
49
  ABcolorChoices,
49
- includeAlpha && (React.createElement(Flex, { alignItems: "center" },
50
- React.createElement(Box, { mr: 1 }, "Opacity"),
50
+ includeAlpha && (React.createElement(Flex, { alignItems: "center", className: "twa:gap-1" },
51
+ React.createElement(Box, null, "Opacity"),
51
52
  React.createElement(Input, { disabled: props.disabled, className: "ab-ColorPicker-range", style: { background: rangeBackround }, value: alpha, onChange: (event) => {
52
53
  const color = tinycolor(value).setAlpha(event.target.value).toRgbString();
53
54
  debouncedOnChange(color);
@@ -42,7 +42,7 @@ export function Dashboard(props) {
42
42
  return null;
43
43
  }
44
44
  const activeTabTitle = children?.[activeTabIndex]?.props?.title ?? 'Select Toolbar';
45
- return (React.createElement(DropdownButton, { ml: 1, columns: ['label'], items: React.Children.map(children, (child, index) => ({
45
+ return (React.createElement(DropdownButton, { className: "twa:ml-1", columns: ['label'], items: React.Children.map(children, (child, index) => ({
46
46
  value: String(index),
47
47
  label: child.props.title,
48
48
  onClick: () => setActiveTabIndex(index),
@@ -1,13 +1,12 @@
1
1
  import * as React from 'react';
2
2
  import SimpleButton from '../SimpleButton';
3
3
  import join from '../utils/join';
4
- import { Flex } from 'rebass';
4
+ import { Flex } from '../Flex';
5
5
  export function DashboardToolbar(props) {
6
6
  return (React.createElement("div", { className: join('ab-Dashboard__toolbar', props.className) },
7
7
  React.createElement("div", { className: "ab-Dashboard__toolbar-content" }, props.children),
8
- React.createElement(Flex, { className: "ab-Dashboard__toolbar-title", flexDirection: "row", alignItems: "center" },
9
- React.createElement("span", null, props.title),
10
- props.showConfigure && (React.createElement(SimpleButton, { "aria-label": `Configure ${props.title}`, icon: "spanner", variant: "text", tone: "none", "data-name": "configure", iconSize: 16, marginLeft: 1, tooltip: props.tooltip || `Configure ${props.title}`, onClick: () => props.onConfigure() })),
11
- ' ',
12
- props.showClose && (React.createElement(SimpleButton, { "aria-label": `Close ${props.title}`, style: { alignSelf: 'flex-end' }, disabled: props.accessLevel == 'ReadOnly', "data-name": "close", icon: "close", variant: "text", tone: "none", iconSize: 16, marginLeft: 1, tooltip: props.tooltip || `Close ${props.title} Toolbar`, onClick: () => props.onClose() })))));
8
+ React.createElement(Flex, { className: "ab-Dashboard__toolbar-title twa:items-center twa:justify-center twa:px-2 twa:pb-1 twa:opacity-70", flexDirection: "row" },
9
+ React.createElement("span", { className: "twa:text-2" }, props.title),
10
+ props.showConfigure && (React.createElement(SimpleButton, { "aria-label": `Configure ${props.title}`, icon: "spanner", variant: "text", tone: "none", "data-name": "configure", iconSize: 16, className: "twa:ml-1", tooltip: props.tooltip || `Configure ${props.title}`, onClick: () => props.onConfigure() })),
11
+ props.showClose && (React.createElement(SimpleButton, { "aria-label": `Close ${props.title}`, style: { alignSelf: 'flex-end' }, disabled: props.accessLevel == 'ReadOnly', "data-name": "close", icon: "close", variant: "text", tone: "none", iconSize: 16, className: "twa:ml-1", tooltip: props.tooltip || `Close ${props.title} Toolbar`, onClick: () => props.onClose() })))));
13
12
  }
@@ -1,8 +1,8 @@
1
1
  import * as React from 'react';
2
- import { BoxProps } from 'rebass';
3
2
  import { DatepickerButton } from '../../AdaptableOptions/DateInputOptions';
4
3
  import { Locale } from 'date-fns';
5
- export type DatepickerProps = Omit<BoxProps, 'value' | 'onChange' | 'defaultValue'> & {
4
+ import { InputProps } from '../Input';
5
+ export type DatepickerProps = Omit<InputProps, 'value' | 'onChange' | 'defaultValue'> & {
6
6
  value: Date | undefined;
7
7
  defaultValue?: Date | undefined;
8
8
  autoFocus?: boolean;
@@ -4,13 +4,14 @@ import { useCallback, useEffect, useRef, useState } from 'react';
4
4
  import useProperty from '../utils/useProperty';
5
5
  import FieldWrap from '../FieldWrap';
6
6
  import SimpleButton from '../SimpleButton';
7
- import { Flex } from 'rebass';
8
7
  import { DateFormatter } from '../../Utilities/Helpers/FormatHelper';
9
8
  import { useDatepickerContext } from './DatepickerContext';
10
9
  import { DayPicker } from 'react-day-picker';
11
10
  import { AdaptableDateInlineInput } from '../../View/Components/AdaptableInput/AdaptableDateInlineInput';
12
11
  import { isValid, addYears, endOfYear, startOfYear, addDays, addBusinessDays, } from 'date-fns';
13
12
  import { Select } from '../Select';
13
+ import { Flex } from '../Flex';
14
+ import clsx from 'clsx';
14
15
  const onDatePickerDropdownKeyDown = (e) => {
15
16
  if (e.key === 'Escape' || e.key === 'Enter') {
16
17
  e.stopPropagation();
@@ -61,7 +62,7 @@ const DatepickerOverlay = ({ onHide, children, onKeyDown, onMouseDown, overlayDO
61
62
  const END_MONTH = endOfYear(addYears(new Date(), 10));
62
63
  const START_MONTH = startOfYear(addYears(new Date(), -50));
63
64
  export const Datepicker = React.forwardRef((props, ref) => {
64
- const { dateProps, required, disabled, style, placeholder, showWeekNumber, showOutsideDays, value: _, defaultValue: __, onChange: ___, datepickerButtons, showClearButton, autoFocus, ...boxProps } = props;
65
+ const { dateProps, required, disabled, style, className, placeholder, showWeekNumber, showOutsideDays, value: _, defaultValue: __, onChange: ___, datepickerButtons, showClearButton, autoFocus, ...boxProps } = props;
65
66
  const datepickerContext = useDatepickerContext();
66
67
  let [value, setValue] = useProperty(props, 'value', undefined, {
67
68
  onChange: props.onChange,
@@ -91,7 +92,7 @@ export const Datepicker = React.forwardRef((props, ref) => {
91
92
  const clearValue = () => {
92
93
  updateValue(undefined);
93
94
  };
94
- const renderButton = (label, onClick) => (React.createElement(SimpleButton, { onClick: onClick, margin: '2px' }, label));
95
+ const renderButton = (label, onClick) => (React.createElement(SimpleButton, { onClick: onClick, className: "twa:m-[2px]" }, label));
95
96
  const todayDate = new Date();
96
97
  const footerButtonsMap = {
97
98
  clear: renderButton('Clear', () => clearValue()),
@@ -105,11 +106,11 @@ export const Datepicker = React.forwardRef((props, ref) => {
105
106
  '|': React.createElement("hr", { style: { width: '100%', height: 0, margin: 0, border: 'none' } }),
106
107
  };
107
108
  const footerButtons = datepickerButtons.map((buttonKey, index) => React.cloneElement(footerButtonsMap[buttonKey], { key: index }));
108
- const clearButton = showClearButton !== false ? (React.createElement(SimpleButton, { "data-name": "clear", variant: "text", tooltip: "Clear", iconSize: 20, padding: 0, icon: "close", onMouseDown: (e) => {
109
+ const clearButton = showClearButton !== false ? (React.createElement(SimpleButton, { "data-name": "clear", variant: "text", tooltip: "Clear", iconSize: 20, className: "twa:p-0", icon: "close", onMouseDown: (e) => {
109
110
  e.preventDefault();
110
111
  clearValue();
111
112
  }, accessLevel: 'Full' })) : null;
112
- const calendarButton = (React.createElement(SimpleButton, { disabled: disabled, variant: "text", icon: "calendar", tooltip: "Date", iconSize: 20, px: 0, py: 0, onClick: () => setVisible(true) }));
113
+ const calendarButton = (React.createElement(SimpleButton, { disabled: disabled, variant: "text", icon: "calendar", tooltip: "Date", iconSize: 20, className: "twa:p-0", onClick: () => setVisible(true) }));
113
114
  const overlayDOMRef = useRef(null);
114
115
  return (React.createElement(Flex, null,
115
116
  React.createElement(OverlayTrigger, { visible: visible, render: () => (React.createElement(DatepickerOverlay, { overlayDOMRef: overlayDOMRef, onMouseDown: props.onMouseDown, onHide: () => setVisible(false), onKeyDown: (e) => {
@@ -117,13 +118,13 @@ export const Datepicker = React.forwardRef((props, ref) => {
117
118
  setVisible(false, e.key);
118
119
  }
119
120
  } },
120
- React.createElement(DayPicker, { fixedWeeks: true, autoFocus: autoFocus ?? true, showWeekNumber: showWeekNumber, showOutsideDays: showOutsideDays, mode: "single", captionLayout: "dropdown", month: isNaN(+month) ? new Date() : month, selected: value, onMonthChange: setMonth, onSelect: updateValue, startMonth: START_MONTH, endMonth: END_MONTH, components: DatePickerComponents, footer: React.createElement(Flex, { justifyContent: "space-between", mt: 2, flexWrap: 'wrap' }, footerButtons) }))) },
121
+ React.createElement(DayPicker, { fixedWeeks: true, autoFocus: autoFocus ?? true, showWeekNumber: showWeekNumber, showOutsideDays: showOutsideDays, mode: "single", captionLayout: "dropdown", month: isNaN(+month) ? new Date() : month, selected: value, onMonthChange: setMonth, onSelect: updateValue, startMonth: START_MONTH, endMonth: END_MONTH, components: DatePickerComponents, footer: React.createElement(Flex, { justifyContent: "space-between", className: "twa:mt-2", flexWrap: 'wrap' }, footerButtons) }))) },
121
122
  React.createElement(FieldWrap, { ...boxProps, style: {
122
123
  borderRadius: style?.borderRadius,
123
124
  width: style?.width,
124
125
  maxWidth: style?.maxWidth,
125
126
  border: style?.border,
126
- }, className: "ab-Datepicker", onFocus: () => {
127
+ }, className: clsx('ab-Datepicker twa:min-h-input', className), onFocus: () => {
127
128
  if (!visible) {
128
129
  setVisible(true);
129
130
  }
@@ -143,7 +144,7 @@ export const Datepicker = React.forwardRef((props, ref) => {
143
144
  if (isValid(date)) {
144
145
  updateValue(date);
145
146
  }
146
- }, style: style, disabled: disabled }),
147
+ }, className: className?.includes('twa:w-full') ? 'twa:w-full' : '', style: style, disabled: disabled }),
147
148
  !!inputValue ? clearButton : null,
148
149
  calendarButton))));
149
150
  });