@adaptabletools/adaptable 22.1.1 → 23.0.0-canary.0

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 (1028) hide show
  1. package/devtools.d.ts +70 -0
  2. package/icons/bullet-chart.svg +1 -0
  3. package/icons/horizontal-lines.svg +1 -1
  4. package/icons/icon-style.svg +1 -0
  5. package/icons/percent-tag.svg +1 -1
  6. package/icons/range-bar.svg +1 -0
  7. package/icons/star.svg +1 -0
  8. package/index.css +2253 -342
  9. package/package.json +10 -5
  10. package/src/AdaptableInterfaces/IAdaptable.d.ts +5 -2
  11. package/src/AdaptableOptions/ActionColumnOptions.d.ts +27 -1
  12. package/src/AdaptableOptions/ChartingOptions.d.ts +7 -0
  13. package/src/AdaptableOptions/ColumnMenuOptions.d.ts +30 -0
  14. package/src/AdaptableOptions/ContextMenuOptions.d.ts +30 -0
  15. package/src/AdaptableOptions/DashboardOptions.d.ts +56 -2
  16. package/src/AdaptableOptions/DefaultAdaptableOptions.js +13 -6
  17. package/src/AdaptableOptions/EditOptions.d.ts +34 -4
  18. package/src/AdaptableOptions/NotificationsOptions.d.ts +1 -1
  19. package/src/AdaptableOptions/RowFormOptions.d.ts +46 -2
  20. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +3 -3
  21. package/src/AdaptableState/AdaptableState.d.ts +0 -2
  22. package/src/AdaptableState/AlertState.d.ts +65 -24
  23. package/src/AdaptableState/CalculatedColumnState.d.ts +1 -1
  24. package/src/AdaptableState/ChartingState.d.ts +2 -2
  25. package/src/AdaptableState/Common/AdaptableButton.d.ts +5 -0
  26. package/src/AdaptableState/Common/AdaptableColumn.d.ts +5 -0
  27. package/src/AdaptableState/Common/AdaptableForm.d.ts +304 -16
  28. package/src/AdaptableState/Common/AdaptableForm.js +211 -2
  29. package/src/AdaptableState/Common/AdaptableIcon.d.ts +1 -1
  30. package/src/AdaptableState/Common/AdaptablePredicate.js +22 -2
  31. package/src/AdaptableState/Common/AdaptableStyle.d.ts +48 -18
  32. package/src/AdaptableState/Common/AggregationColumns.d.ts +6 -1
  33. package/src/AdaptableState/Common/AggregationColumns.js +2 -4
  34. package/src/AdaptableState/Common/Enums.d.ts +1 -4
  35. package/src/AdaptableState/Common/Enums.js +0 -3
  36. package/src/AdaptableState/Common/ExtendedLayout.d.ts +3 -3
  37. package/src/AdaptableState/Common/Menu.d.ts +1 -1
  38. package/src/AdaptableState/Common/Menu.js +11 -0
  39. package/src/AdaptableState/Common/Schedule.d.ts +7 -29
  40. package/src/AdaptableState/Common/Types.d.ts +4 -4
  41. package/src/AdaptableState/Common/Types.js +0 -2
  42. package/src/AdaptableState/DashboardState.d.ts +0 -5
  43. package/src/AdaptableState/ExportState.d.ts +19 -6
  44. package/src/AdaptableState/IPushPullState.d.ts +0 -14
  45. package/src/AdaptableState/InitialState.d.ts +2 -6
  46. package/src/AdaptableState/LayoutState.d.ts +17 -0
  47. package/src/AdaptableState/OpenFinState.d.ts +0 -14
  48. package/src/AdaptableState/PlusMinusState.d.ts +8 -0
  49. package/src/AdaptableState/StyledColumnState.d.ts +742 -18
  50. package/src/Aggregation/ParameterizedAggregationRegistry.d.ts +35 -0
  51. package/src/Aggregation/ParameterizedAggregationRegistry.js +63 -0
  52. package/src/Aggregation/definitions/weightedAverageAggregationDefinition.d.ts +3 -0
  53. package/src/Aggregation/definitions/weightedAverageAggregationDefinition.js +55 -0
  54. package/src/Aggregation/parameterizedAggregationColumnMenu.d.ts +8 -0
  55. package/src/Aggregation/parameterizedAggregationColumnMenu.js +137 -0
  56. package/src/Aggregation/parameterizedAggregationHeader.d.ts +13 -0
  57. package/src/Aggregation/parameterizedAggregationHeader.js +60 -0
  58. package/src/Aggregation/parameterizedAggregationHelpers.d.ts +23 -0
  59. package/src/Aggregation/parameterizedAggregationHelpers.js +111 -0
  60. package/src/Aggregation/parameterizedAggregationWizardHelpers.d.ts +9 -0
  61. package/src/Aggregation/parameterizedAggregationWizardHelpers.js +66 -0
  62. package/src/Aggregation/validateParameterizedAggregations.d.ts +4 -0
  63. package/src/Aggregation/validateParameterizedAggregations.js +20 -0
  64. package/src/Api/AdaptableApi.d.ts +0 -5
  65. package/src/Api/AlertApi.d.ts +7 -3
  66. package/src/Api/ChartingApi.d.ts +1 -1
  67. package/src/Api/ColumnFilterApi.d.ts +4 -0
  68. package/src/Api/ColumnMenuApi.d.ts +1 -1
  69. package/src/Api/ColumnScopeApi.d.ts +6 -2
  70. package/src/Api/DashboardApi.d.ts +13 -0
  71. package/src/Api/EventApi.d.ts +7 -8
  72. package/src/Api/Events/ReportScheduleRan.d.ts +11 -0
  73. package/src/Api/ExportApi.d.ts +42 -1
  74. package/src/Api/GridApi.d.ts +2 -2
  75. package/src/Api/GridFilterApi.d.ts +10 -3
  76. package/src/Api/IPushPullApi.d.ts +1 -5
  77. package/src/Api/Implementation/AdaptableApiImpl.d.ts +0 -2
  78. package/src/Api/Implementation/AdaptableApiImpl.js +0 -4
  79. package/src/Api/Implementation/AlertApiImpl.d.ts +7 -6
  80. package/src/Api/Implementation/AlertApiImpl.js +26 -6
  81. package/src/Api/Implementation/ApiBase.d.ts +1 -2
  82. package/src/Api/Implementation/ApiBase.js +0 -3
  83. package/src/Api/Implementation/ChartingApiImpl.d.ts +1 -1
  84. package/src/Api/Implementation/ChartingApiImpl.js +24 -2
  85. package/src/Api/Implementation/ColumnFilterApiImpl.d.ts +1 -0
  86. package/src/Api/Implementation/ColumnFilterApiImpl.js +3 -0
  87. package/src/Api/Implementation/ColumnScopeApiImpl.js +20 -26
  88. package/src/Api/Implementation/DashboardApiImpl.d.ts +1 -0
  89. package/src/Api/Implementation/DashboardApiImpl.js +5 -2
  90. package/src/Api/Implementation/ExportApiImpl.d.ts +12 -1
  91. package/src/Api/Implementation/ExportApiImpl.js +37 -0
  92. package/src/Api/Implementation/GridFilterApiImpl.d.ts +1 -1
  93. package/src/Api/Implementation/GridFilterApiImpl.js +6 -0
  94. package/src/Api/Implementation/LayoutApiImpl.d.ts +2 -0
  95. package/src/Api/Implementation/LayoutApiImpl.js +31 -36
  96. package/src/Api/Implementation/LayoutHelpers.js +7 -13
  97. package/src/Api/Implementation/QuickSearchApiImpl.d.ts +5 -3
  98. package/src/Api/Implementation/QuickSearchApiImpl.js +10 -3
  99. package/src/Api/Implementation/SmartEditApiImpl.js +1 -1
  100. package/src/Api/Implementation/StateApiImpl.d.ts +5 -3
  101. package/src/Api/Implementation/StateApiImpl.js +21 -18
  102. package/src/Api/Implementation/StyledColumnApiImpl.d.ts +3 -0
  103. package/src/Api/Implementation/StyledColumnApiImpl.js +15 -0
  104. package/src/Api/Implementation/UserInterfaceApiImpl.js +11 -12
  105. package/src/Api/Internal/ActionColumnInternalApi.js +7 -1
  106. package/src/Api/Internal/AdaptableInternalApi.d.ts +1 -0
  107. package/src/Api/Internal/AdaptableInternalApi.js +3 -0
  108. package/src/Api/Internal/AlertInternalApi.d.ts +4 -4
  109. package/src/Api/Internal/AlertInternalApi.js +28 -10
  110. package/src/Api/Internal/ChartingInternalApi.js +8 -3
  111. package/src/Api/Internal/DashboardInternalApi.d.ts +27 -0
  112. package/src/Api/Internal/DashboardInternalApi.js +41 -0
  113. package/src/Api/Internal/EventInternalApi.d.ts +2 -3
  114. package/src/Api/Internal/EventInternalApi.js +4 -4
  115. package/src/Api/Internal/FormatColumnInternalApi.d.ts +6 -0
  116. package/src/Api/Internal/FormatColumnInternalApi.js +6 -0
  117. package/src/Api/Internal/GridInternalApi.js +3 -2
  118. package/src/Api/Internal/LayoutInternalApi.js +4 -1
  119. package/src/Api/Internal/RowFormInternalApi.js +23 -1
  120. package/src/Api/Internal/StateInternalApi.d.ts +10 -0
  121. package/src/Api/Internal/StateInternalApi.js +84 -0
  122. package/src/Api/Internal/StyledColumnInternalApi.d.ts +2 -0
  123. package/src/Api/Internal/StyledColumnInternalApi.js +104 -30
  124. package/src/Api/LayoutApi.d.ts +8 -1
  125. package/src/Api/OpenFinApi.d.ts +1 -5
  126. package/src/Api/PlusMinusApi.d.ts +3 -1
  127. package/src/Api/QuickSearchApi.d.ts +18 -7
  128. package/src/Api/StateApi.d.ts +4 -15
  129. package/src/Api/StyledColumnApi.d.ts +16 -0
  130. package/src/Redux/ActionsReducers/DashboardRedux.d.ts +0 -8
  131. package/src/Redux/ActionsReducers/DashboardRedux.js +0 -13
  132. package/src/Redux/ActionsReducers/ExportRedux.d.ts +40 -1
  133. package/src/Redux/ActionsReducers/ExportRedux.js +99 -2
  134. package/src/Redux/ActionsReducers/InternalRedux.d.ts +0 -5
  135. package/src/Redux/ActionsReducers/InternalRedux.js +9 -7
  136. package/src/Redux/ActionsReducers/QuickSearchRedux.d.ts +27 -2
  137. package/src/Redux/ActionsReducers/QuickSearchRedux.js +38 -4
  138. package/src/Redux/Store/AdaptableStore.js +58 -59
  139. package/src/Strategy/AlertModule.d.ts +4 -1
  140. package/src/Strategy/AlertModule.js +43 -6
  141. package/src/Strategy/CalculatedColumnModule.d.ts +1 -1
  142. package/src/Strategy/CellSummaryModule.d.ts +1 -1
  143. package/src/Strategy/ChartingModule.d.ts +2 -1
  144. package/src/Strategy/ChartingModule.js +24 -1
  145. package/src/Strategy/ColumnFilterModule.d.ts +1 -1
  146. package/src/Strategy/ColumnInfoModule.d.ts +1 -1
  147. package/src/Strategy/ExportModule.d.ts +5 -1
  148. package/src/Strategy/ExportModule.js +49 -6
  149. package/src/Strategy/FlashingCellModule.d.ts +1 -1
  150. package/src/Strategy/FormatColumnModule.d.ts +1 -1
  151. package/src/Strategy/FreeTextColumnModule.d.ts +1 -1
  152. package/src/Strategy/GridInfoModule.d.ts +1 -1
  153. package/src/Strategy/Interface/IAlertModule.d.ts +5 -0
  154. package/src/Strategy/Interface/IExportModule.d.ts +4 -0
  155. package/src/Strategy/Interface/IModule.d.ts +16 -1
  156. package/src/Strategy/LayoutModule.d.ts +1 -1
  157. package/src/Strategy/LayoutModule.js +11 -26
  158. package/src/Strategy/PlusMinusModule.d.ts +6 -1
  159. package/src/Strategy/PlusMinusModule.js +78 -26
  160. package/src/Strategy/QuickSearchModule.js +0 -12
  161. package/src/Strategy/SettingsPanelModule.d.ts +1 -1
  162. package/src/Strategy/ShortcutModule.js +1 -1
  163. package/src/Strategy/StyledColumnModule.d.ts +1 -1
  164. package/src/Strategy/StyledColumnModule.js +199 -24
  165. package/src/Strategy/SystemStatusModule.d.ts +1 -1
  166. package/src/Strategy/Utilities/Alert/getAlertPreviewViewItems.js +3 -3
  167. package/src/Strategy/Utilities/Export/formatScheduledReportSummary.d.ts +2 -0
  168. package/src/Strategy/Utilities/Export/formatScheduledReportSummary.js +6 -0
  169. package/src/Strategy/Utilities/Export/getExportRowsViewItems.js +3 -3
  170. package/src/Strategy/Utilities/Export/getReportSchedulesViewItems.d.ts +2 -0
  171. package/src/Strategy/Utilities/Export/getReportSchedulesViewItems.js +5 -0
  172. package/src/Utilities/Constants/DocumentationLinkConstants.d.ts +1 -1
  173. package/src/Utilities/Constants/DocumentationLinkConstants.js +1 -1
  174. package/src/Utilities/Constants/ModuleConstants.d.ts +0 -3
  175. package/src/Utilities/Constants/ModuleConstants.js +0 -3
  176. package/src/Utilities/Constants/ReduxConstants.d.ts +3 -1
  177. package/src/Utilities/Constants/ReduxConstants.js +6 -4
  178. package/src/Utilities/Defaults/DefaultSettingsPanel.js +0 -1
  179. package/src/Utilities/Extensions/NumberExtensions.js +1 -1
  180. package/src/Utilities/Helpers/ActionColumnWidthHelper.d.ts +6 -0
  181. package/src/Utilities/Helpers/ActionColumnWidthHelper.js +56 -0
  182. package/src/Utilities/Helpers/IconStylePresets.d.ts +6 -0
  183. package/src/Utilities/Helpers/IconStylePresets.js +132 -0
  184. package/src/Utilities/Helpers/QuickSearchStyleHelper.d.ts +12 -0
  185. package/src/Utilities/Helpers/QuickSearchStyleHelper.js +76 -0
  186. package/src/Utilities/Helpers/ScheduleHelper.d.ts +22 -0
  187. package/src/Utilities/Helpers/ScheduleHelper.js +234 -0
  188. package/src/Utilities/Helpers/ScheduleJobManager.d.ts +11 -0
  189. package/src/Utilities/Helpers/ScheduleJobManager.js +25 -0
  190. package/src/Utilities/Helpers/ScheduleJobRunner.d.ts +8 -0
  191. package/src/Utilities/Helpers/ScheduleJobRunner.js +27 -0
  192. package/src/Utilities/Helpers/ScheduledAlertHelper.d.ts +8 -0
  193. package/src/Utilities/Helpers/ScheduledAlertHelper.js +50 -0
  194. package/src/Utilities/Helpers/ScheduledJobsMiddlewareHelper.d.ts +3 -0
  195. package/src/Utilities/Helpers/ScheduledJobsMiddlewareHelper.js +9 -0
  196. package/src/Utilities/Helpers/ScheduledReportHelper.d.ts +16 -0
  197. package/src/Utilities/Helpers/ScheduledReportHelper.js +49 -0
  198. package/src/Utilities/Helpers/StyleHelper.d.ts +35 -0
  199. package/src/Utilities/Helpers/StyleHelper.js +83 -0
  200. package/src/Utilities/Helpers/StyledColumnGradientHelper.d.ts +30 -0
  201. package/src/Utilities/Helpers/StyledColumnGradientHelper.js +41 -0
  202. package/src/Utilities/Helpers/alertFormHelper.d.ts +2 -0
  203. package/src/Utilities/Helpers/alertFormHelper.js +11 -0
  204. package/src/Utilities/Helpers/chartingHelper.d.ts +14 -0
  205. package/src/Utilities/Helpers/chartingHelper.js +112 -0
  206. package/src/Utilities/Helpers/iconStyledColumnColumnSupport.d.ts +5 -0
  207. package/src/Utilities/Helpers/iconStyledColumnColumnSupport.js +15 -0
  208. package/src/Utilities/Helpers/plusMinusTriggerKeys.d.ts +41 -0
  209. package/src/Utilities/Helpers/plusMinusTriggerKeys.js +90 -0
  210. package/src/Utilities/Helpers/styledColumnRowKindSupport.d.ts +25 -0
  211. package/src/Utilities/Helpers/styledColumnRowKindSupport.js +63 -0
  212. package/src/Utilities/ObjectFactory.d.ts +7 -28
  213. package/src/Utilities/ObjectFactory.js +19 -103
  214. package/src/Utilities/Services/AlertService.js +3 -0
  215. package/src/Utilities/Services/ModuleService.js +0 -2
  216. package/src/Utilities/Services/QueryLanguageService.js +1 -1
  217. package/src/Utilities/Services/ValidationService.js +9 -3
  218. package/src/Utilities/createAgStatusPanelComponent.js +3 -2
  219. package/src/Utilities/getExpressionViewItems.js +2 -3
  220. package/src/Utilities/getObjectTagsViewItems.js +2 -1
  221. package/src/View/AdaptableComputedCSSVarsContext.js +4 -5
  222. package/src/View/AdaptablePopover/index.js +10 -19
  223. package/src/View/AdaptableView.js +8 -18
  224. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/AdaptableOptionsForm.js +15 -25
  225. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +32 -43
  226. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/Components/FormBox.js +2 -2
  227. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizard.js +7 -6
  228. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ConfigurationWizardColumnsStep.js +2 -2
  229. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/EntitlementsForm.js +11 -18
  230. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/GridOptionsForm.js +22 -32
  231. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsSidebarForm.js +6 -12
  232. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UIOptionsStatusbarForm.js +7 -19
  233. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/UIOptions/UiOptionsForm.js +2 -10
  234. package/src/View/AdaptableWizardView/Wizard.js +3 -6
  235. package/src/View/AdaptableWizardView/index.js +2 -2
  236. package/src/View/Alert/ActiveAlertsPanel.js +2 -2
  237. package/src/View/Alert/ActiveAlertsPanelItemLabel.js +3 -5
  238. package/src/View/Alert/AlertEmptyView.js +2 -2
  239. package/src/View/Alert/AlertStatusSubPanel.js +3 -2
  240. package/src/View/Alert/AlertViewPanel.js +4 -8
  241. package/src/View/Alert/Utilities/getAlertType.d.ts +2 -1
  242. package/src/View/Alert/Utilities/getAlertType.js +10 -2
  243. package/src/View/Alert/Utilities/getDefaultAlertDefinition.d.ts +17 -3
  244. package/src/View/Alert/Utilities/getDefaultAlertDefinition.js +8 -0
  245. package/src/View/Alert/Utilities/mapAlertDefinition.d.ts +1 -1
  246. package/src/View/Alert/Utilities/mapAlertDefinition.js +4 -0
  247. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +67 -97
  248. package/src/View/Alert/Wizard/AlertButtonsEditor.js +112 -159
  249. package/src/View/Alert/Wizard/AlertMessageWizardSection.d.ts +1 -1
  250. package/src/View/Alert/Wizard/AlertMessageWizardSection.js +24 -37
  251. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +95 -62
  252. package/src/View/Alert/Wizard/AlertRulesWizardSection.js +24 -38
  253. package/src/View/Alert/Wizard/AlertScheduledWizardSection.d.ts +9 -0
  254. package/src/View/Alert/Wizard/AlertScheduledWizardSection.js +31 -0
  255. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +9 -5
  256. package/src/View/Alert/Wizard/AlertTypeWizardSection.js +3 -24
  257. package/src/View/Alert/Wizard/AlertWizard.js +36 -31
  258. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.d.ts +1 -3
  259. package/src/View/Alert/Wizard/BaseAlertScopeWizardSection.js +13 -17
  260. package/src/View/Alert/Wizard/isValidAlertMessage.d.ts +3 -0
  261. package/src/View/Alert/Wizard/isValidAlertMessage.js +14 -0
  262. package/src/View/Alert/Wizard/isValidAlertRules.js +4 -0
  263. package/src/View/BulkUpdate/BulkUpdatePopup.js +11 -25
  264. package/src/View/BulkUpdate/BulkUpdateViewPanel.js +9 -14
  265. package/src/View/CalculatedColumn/Wizard/CalculatedColumnDefinitionWizardSection.js +9 -30
  266. package/src/View/CalculatedColumn/Wizard/CalculatedColumnExpressionWizardSection.js +14 -19
  267. package/src/View/CalculatedColumn/Wizard/CalculatedColumnSettingsWizardSection.js +8 -18
  268. package/src/View/CalculatedColumn/Wizard/CalculatedColumnTypeSection.js +2 -9
  269. package/src/View/CalculatedColumn/Wizard/CalculatedColumnWizard.js +9 -17
  270. package/src/View/CellSummary/CellSummaryDetails.js +2 -3
  271. package/src/View/CellSummary/CellSummaryPopover.js +2 -2
  272. package/src/View/CellSummary/CellSummaryPopup.js +2 -2
  273. package/src/View/CellSummary/CellSummaryStatusBarSubPanelPopover.js +4 -5
  274. package/src/View/CellSummary/CellSummaryStatusPanel.js +2 -1
  275. package/src/View/CellSummary/CellSummaryViewPanel.js +8 -12
  276. package/src/View/Charting/ChartingStatusBarPopover.js +2 -8
  277. package/src/View/Charting/ChartingViewPanel.js +3 -17
  278. package/src/View/Charting/ChartingWizard/AgChargingWizard/AgChargingWizard.js +5 -7
  279. package/src/View/Charting/ChartingWizard/AgChargingWizard/PreviewChartSection.js +2 -1
  280. package/src/View/Charting/ChartingWizard/AgChargingWizard/SettingsSection.js +4 -18
  281. package/src/View/Charting/ChartingWizard/ChartingWizard.js +3 -3
  282. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/ExternalChartingWizard.js +5 -6
  283. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.js +5 -14
  284. package/src/View/Charting/DeleteChartButton.js +2 -2
  285. package/src/View/Charting/EditChartButton.js +2 -2
  286. package/src/View/Charting/ShowChartButton.js +9 -10
  287. package/src/View/Charting/useChartingElements.js +8 -7
  288. package/src/View/ColumnInfo/ColumnInfo.js +11 -26
  289. package/src/View/ColumnInfo/ColumnInfoPopup.js +2 -4
  290. package/src/View/Comments/CommentsEditor.js +44 -61
  291. package/src/View/Comments/CommentsPopup.js +12 -30
  292. package/src/View/Components/AdaptableButton/AdaptableButtonComponent.d.ts +4 -0
  293. package/src/View/Components/AdaptableButton/AdaptableButtonComponent.js +13 -0
  294. package/src/View/Components/AdaptableButton/AdaptableButtonView.d.ts +58 -0
  295. package/src/View/Components/AdaptableButton/AdaptableButtonView.js +48 -0
  296. package/src/View/Components/AdaptableButton/index.d.ts +3 -3
  297. package/src/View/Components/AdaptableButton/index.js +2 -13
  298. package/src/View/Components/AdaptableDateInput/index.js +2 -1
  299. package/src/View/Components/AdaptableIconComponent/index.js +2 -2
  300. package/src/View/Components/AdaptableIconSelector/index.js +2 -2
  301. package/src/View/Components/AdaptableInput/AdaptableDateInlineInput.js +6 -2
  302. package/src/View/Components/AdaptableInput/index.js +3 -2
  303. package/src/View/Components/AdaptableObjectCollection/index.js +5 -8
  304. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +9 -21
  305. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.d.ts +1 -0
  306. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +26 -44
  307. package/src/View/Components/AdaptableObjectRow/index.js +3 -2
  308. package/src/View/Components/Badge/index.d.ts +17 -3
  309. package/src/View/Components/Badge/index.js +67 -9
  310. package/src/View/Components/Buttons/ButtonApply.js +2 -1
  311. package/src/View/Components/Buttons/ButtonBase/index.js +10 -20
  312. package/src/View/Components/Buttons/ButtonClear.js +2 -1
  313. package/src/View/Components/Buttons/ButtonClone.js +2 -2
  314. package/src/View/Components/Buttons/ButtonClose.js +2 -1
  315. package/src/View/Components/Buttons/ButtonConfigure.js +2 -1
  316. package/src/View/Components/Buttons/ButtonDelete.js +2 -2
  317. package/src/View/Components/Buttons/ButtonEdit.js +2 -2
  318. package/src/View/Components/Buttons/ButtonExpand.js +3 -1
  319. package/src/View/Components/Buttons/ButtonExport.js +2 -1
  320. package/src/View/Components/Buttons/ButtonInfo.js +2 -2
  321. package/src/View/Components/Buttons/ButtonInvalid.js +2 -1
  322. package/src/View/Components/Buttons/ButtonLogin.js +2 -1
  323. package/src/View/Components/Buttons/ButtonLogout.js +2 -1
  324. package/src/View/Components/Buttons/ButtonMaximise.js +2 -1
  325. package/src/View/Components/Buttons/ButtonMinimise.js +2 -1
  326. package/src/View/Components/Buttons/ButtonNew.js +2 -2
  327. package/src/View/Components/Buttons/ButtonNewPage.js +2 -1
  328. package/src/View/Components/Buttons/ButtonOpen.js +2 -1
  329. package/src/View/Components/Buttons/ButtonPause.js +2 -2
  330. package/src/View/Components/Buttons/ButtonPlay.js +2 -2
  331. package/src/View/Components/Buttons/ButtonSave.js +2 -1
  332. package/src/View/Components/Buttons/ButtonSchedule.js +2 -2
  333. package/src/View/Components/Buttons/ButtonShare.js +5 -6
  334. package/src/View/Components/Buttons/ButtonStop.js +2 -1
  335. package/src/View/Components/Buttons/ButtonUnsuspend.js +2 -1
  336. package/src/View/Components/Buttons/EntityListActionButtons.js +2 -6
  337. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +2 -1
  338. package/src/View/Components/CellPopup/index.js +2 -1
  339. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.d.ts +4 -1
  340. package/src/View/Components/ColumnFilter/AdaptableColumnFilter.js +9 -3
  341. package/src/View/Components/ColumnFilter/AdaptableFloatingFilter.js +2 -1
  342. package/src/View/Components/ColumnFilter/ColumnFilter.js +57 -66
  343. package/src/View/Components/ColumnFilter/ColumnFilterWindow.js +16 -17
  344. package/src/View/Components/ColumnFilter/FloatingFilter.js +28 -31
  345. package/src/View/Components/ColumnFilter/LayoutColumnFilter.js +2 -2
  346. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +9 -10
  347. package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +22 -24
  348. package/src/View/Components/ColumnFilter/components/ColumnFilterMenu.js +9 -11
  349. package/src/View/Components/ColumnFilter/components/FloatingFilterInputList.js +32 -24
  350. package/src/View/Components/ColumnFilter/components/FloatingFilterValues.js +7 -47
  351. package/src/View/Components/ColumnGroupTag/index.js +2 -4
  352. package/src/View/Components/ColumnSelector/index.js +3 -5
  353. package/src/View/Components/EntityRowItem.js +2 -3
  354. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicateEditor.js +5 -12
  355. package/src/View/Components/EntityRulesEditor/EntityRulePredicatesEditor/EntityRulePredicatesEditor.js +9 -25
  356. package/src/View/Components/EntityRulesEditor/index.js +17 -38
  357. package/src/View/Components/ExternalRenderer.js +2 -2
  358. package/src/View/Components/FilterForm/ListBoxFilterForm.d.ts +3 -2
  359. package/src/View/Components/FilterForm/ListBoxFilterForm.js +81 -27
  360. package/src/View/Components/Forms/AdaptableFormControlTextClear.js +23 -25
  361. package/src/View/Components/ModuleProfile.js +4 -7
  362. package/src/View/Components/ModuleSummary/ModuleDetail.js +6 -5
  363. package/src/View/Components/ModuleSummary/ModuleHeader.js +4 -4
  364. package/src/View/Components/ModuleSummary/SummaryRowItem.js +2 -2
  365. package/src/View/Components/ModuleValueSelector/index.js +2 -2
  366. package/src/View/Components/NewScopeComponent.js +15 -46
  367. package/src/View/Components/Panels/PanelDashboard/index.js +2 -1
  368. package/src/View/Components/Panels/PanelToolPanel/index.js +3 -6
  369. package/src/View/Components/Panels/PanelWithButton.js +3 -11
  370. package/src/View/Components/Panels/PanelWithImage.js +5 -13
  371. package/src/View/Components/Panels/PanelWithRow.js +5 -5
  372. package/src/View/Components/Popups/AdaptableLoadingScreen.js +2 -4
  373. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopup.js +7 -12
  374. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupBody.js +2 -2
  375. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupDialog.js +7 -7
  376. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +20 -19
  377. package/src/View/Components/Popups/AdaptablePopup/CustomSettingsPanelView.js +2 -2
  378. package/src/View/Components/Popups/AdaptablePopup/Navigation.js +15 -19
  379. package/src/View/Components/Popups/AdaptablePopup/PopupPanel.js +3 -12
  380. package/src/View/Components/Popups/AdaptablePopup/TopBar.js +6 -8
  381. package/src/View/Components/Popups/AdaptablePopupAlert.js +20 -26
  382. package/src/View/Components/Popups/AdaptablePopupConfirmation.js +7 -19
  383. package/src/View/Components/Popups/AdaptablePopupPrompt.js +4 -15
  384. package/src/View/Components/Popups/AdaptablePopupTeamSharing.js +2 -27
  385. package/src/View/Components/Popups/AdaptableToaster.js +2 -2
  386. package/src/View/Components/Popups/FormPopups/FormPopups.js +6 -7
  387. package/src/View/Components/Popups/GridCellPopup/GridCellPopup.js +15 -17
  388. package/src/View/Components/Popups/WindowPopups/WindowPopups.js +42 -42
  389. package/src/View/Components/Popups/WindowPopups/windowFactory.js +0 -2
  390. package/src/View/Components/PredicateEditor/PredicateEditor.js +15 -24
  391. package/src/View/Components/PreviewResultsPanel.js +4 -9
  392. package/src/View/Components/RangesComponent.d.ts +31 -5
  393. package/src/View/Components/RangesComponent.js +137 -83
  394. package/src/View/Components/ReorderDraggable/index.js +10 -18
  395. package/src/View/Components/Selectors/BulkUpdateValueSelector.js +13 -17
  396. package/src/View/Components/Selectors/ColumnSelector.d.ts +1 -2
  397. package/src/View/Components/Selectors/ColumnSelector.js +21 -7
  398. package/src/View/Components/Selectors/FieldSelector.d.ts +0 -2
  399. package/src/View/Components/Selectors/FieldSelector.js +5 -5
  400. package/src/View/Components/Selectors/PermittedValuesSelector.d.ts +0 -2
  401. package/src/View/Components/Selectors/PermittedValuesSelector.js +31 -2
  402. package/src/View/Components/SharedProps/EditableConfigEntityState.js +0 -1
  403. package/src/View/Components/SharedProps/ModuleViewPopupProps.d.ts +1 -1
  404. package/src/View/Components/StyleComponent.d.ts +0 -2
  405. package/src/View/Components/StyleComponent.js +27 -131
  406. package/src/View/Components/StyleVisualItem.js +4 -4
  407. package/src/View/Components/TagValueSelector/index.js +3 -3
  408. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +18 -40
  409. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +11 -27
  410. package/src/View/Components/ToolPanel/ToolPanelPopup.js +2 -12
  411. package/src/View/Components/ToolPanel/ToolPanelWrapper.js +16 -17
  412. package/src/View/Components/ValueSelector/index.js +87 -100
  413. package/src/View/Components/WizardSummaryPage.js +2 -4
  414. package/src/View/CustomSort/Wizard/CustomSortColumnWizardSection.js +9 -29
  415. package/src/View/CustomSort/Wizard/CustomSortValuesWizardSection.js +8 -11
  416. package/src/View/CustomSort/Wizard/CustomSortWizard.js +6 -10
  417. package/src/View/Dashboard/CustomDashboardButton.d.ts +1 -2
  418. package/src/View/Dashboard/CustomDashboardButton.js +4 -22
  419. package/src/View/Dashboard/CustomToolbar.js +85 -33
  420. package/src/View/Dashboard/Dashboard.d.ts +0 -1
  421. package/src/View/Dashboard/Dashboard.js +11 -23
  422. package/src/View/Dashboard/DashboardPopup.js +2 -23
  423. package/src/View/Dashboard/DashboardToolbarFactory.js +6 -5
  424. package/src/View/Dashboard/DashboardViewPanel.js +2 -7
  425. package/src/View/Dashboard/ModuleToolbarWrapper.js +3 -3
  426. package/src/View/Dashboard/PinnedDashboard.js +5 -7
  427. package/src/View/Dashboard/PinnedToolbarsSelector.js +2 -1
  428. package/src/View/DataChangeHistory/DataChangeHistoryGrid.js +2 -2
  429. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +7 -32
  430. package/src/View/DataChangeHistory/DataChangeHistoryStatusBarContent.js +2 -2
  431. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +4 -18
  432. package/src/View/DataImport/DataImportPopup.js +8 -12
  433. package/src/View/DataImport/DataImportWizard/DataImportWizard.js +6 -10
  434. package/src/View/DataImport/DataImportWizard/sections/ColumnsSection.js +18 -26
  435. package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +8 -11
  436. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadFileSection.js +2 -2
  437. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadSection.js +2 -11
  438. package/src/View/DataImport/DataImportWizard/sections/UploadSection/UploadTextSection.js +2 -4
  439. package/src/View/DataImport/DataImportWizard/sections/ValidationSection.js +4 -14
  440. package/src/View/DataSet/DataSetSelector.js +2 -1
  441. package/src/View/DataSet/DataSetStatusPanelPopover.js +2 -1
  442. package/src/View/DataSet/DataSetViewPanel.js +3 -3
  443. package/src/View/Export/ExportDestinationPicker.js +4 -5
  444. package/src/View/Export/ExportSchedulesTab.d.ts +2 -0
  445. package/src/View/Export/ExportSchedulesTab.js +54 -0
  446. package/src/View/Export/ExportStatusBar.js +2 -6
  447. package/src/View/Export/ExportViewPanel.js +27 -29
  448. package/src/View/Export/ReportFormatSelector.d.ts +0 -1
  449. package/src/View/Export/ReportFormatSelector.js +4 -5
  450. package/src/View/Export/ReportListItem.js +2 -4
  451. package/src/View/Export/ReportNameSelector.js +3 -4
  452. package/src/View/Export/Wizard/ExportPopupWizardRouter.d.ts +4 -0
  453. package/src/View/Export/Wizard/ExportPopupWizardRouter.js +10 -0
  454. package/src/View/Export/Wizard/NewReportWizard.js +7 -10
  455. package/src/View/Export/Wizard/ReportColumnsWizardSection.js +27 -51
  456. package/src/View/Export/Wizard/ReportNameWizardSection.js +8 -18
  457. package/src/View/Export/Wizard/ReportRowsWizardSection.js +11 -38
  458. package/src/View/Export/Wizard/ScheduledReportSettings.d.ts +11 -0
  459. package/src/View/Export/Wizard/ScheduledReportSettings.js +29 -0
  460. package/src/View/Export/Wizard/ScheduledReportSettingsSummary.d.ts +7 -0
  461. package/src/View/Export/Wizard/ScheduledReportSettingsSummary.js +27 -0
  462. package/src/View/Export/Wizard/ScheduledReportWizard.d.ts +10 -0
  463. package/src/View/Export/Wizard/ScheduledReportWizard.js +75 -0
  464. package/src/View/Export/Wizard/isReportScheduledSettingsValid.d.ts +3 -0
  465. package/src/View/Export/Wizard/isReportScheduledSettingsValid.js +15 -0
  466. package/src/View/Filter/ActiveFiltersPanel.js +2 -2
  467. package/src/View/Filter/FilterStatusBarSubPanelPopover.js +2 -2
  468. package/src/View/Filter/FilterViewPanel.js +5 -9
  469. package/src/View/FlashingCell/FlashingCellStyle.js +2 -11
  470. package/src/View/FlashingCell/Wizard/FlashingCellRulesWizardSection.js +8 -28
  471. package/src/View/FlashingCell/Wizard/FlashingCellScopeWizardSection.js +3 -3
  472. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +9 -41
  473. package/src/View/FlashingCell/Wizard/FlashingCellStyleWizardSection.js +5 -30
  474. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +9 -13
  475. package/src/View/FormatColumn/MoveFormatColumn.js +3 -4
  476. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +61 -203
  477. package/src/View/FormatColumn/Wizard/FormatColumnRuleWizardSection.js +6 -15
  478. package/src/View/FormatColumn/Wizard/FormatColumnScopeWizardSection.js +92 -0
  479. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +39 -49
  480. package/src/View/FormatColumn/Wizard/FormatColumnStyleWizardSection.js +3 -3
  481. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +12 -26
  482. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +21 -54
  483. package/src/View/FreeTextColumn/Wizard/FreeTextColumnWizard.js +5 -8
  484. package/src/View/GridFilter/GridFilterExpressionEditor.js +14 -21
  485. package/src/View/GridFilter/GridFilterPopup.js +2 -2
  486. package/src/View/GridFilter/GridFilterPopupUI/index.js +2 -18
  487. package/src/View/GridFilter/GridFilterStatusbar.js +2 -2
  488. package/src/View/GridFilter/GridFilterViewPanel.js +16 -26
  489. package/src/View/GridFilter/GridFilterWindowPopup.js +2 -2
  490. package/src/View/GridFilter/NamedQuerySelector.js +13 -21
  491. package/src/View/GridInfo/GridInfoPopup/AdaptableObjectsSummary.js +11 -13
  492. package/src/View/GridInfo/GridInfoPopup/GridInfoPopup.js +7 -23
  493. package/src/View/KeyHint.js +3 -3
  494. package/src/View/Layout/EditCurrentLayoutButton.js +2 -1
  495. package/src/View/Layout/LayoutCloneButton.js +2 -1
  496. package/src/View/Layout/LayoutRadioSelector.js +2 -1
  497. package/src/View/Layout/LayoutStatusBarSubPanelPopover.js +5 -6
  498. package/src/View/Layout/LayoutViewPanel.js +41 -32
  499. package/src/View/Layout/PivotDetailsPopoup.js +2 -2
  500. package/src/View/Layout/TransposedPopup.js +2 -8
  501. package/src/View/Layout/Wizard/LayoutWizard.js +42 -60
  502. package/src/View/Layout/Wizard/getGridFilterPreview.js +2 -3
  503. package/src/View/Layout/Wizard/sections/AggregationsSection.d.ts +3 -2
  504. package/src/View/Layout/Wizard/sections/AggregationsSection.js +29 -150
  505. package/src/View/Layout/Wizard/sections/ColumnsSection.js +131 -187
  506. package/src/View/Layout/Wizard/sections/FilterSection.js +32 -37
  507. package/src/View/Layout/Wizard/sections/GridFilterSection.js +4 -3
  508. package/src/View/Layout/Wizard/sections/ParameterizedAggFuncPicker.d.ts +12 -0
  509. package/src/View/Layout/Wizard/sections/ParameterizedAggFuncPicker.js +43 -0
  510. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.d.ts +2 -1
  511. package/src/View/Layout/Wizard/sections/PivotAggregationsSection.js +77 -197
  512. package/src/View/Layout/Wizard/sections/PivotColumnsSection.js +8 -12
  513. package/src/View/Layout/Wizard/sections/PivotRowGroupingSection.js +5 -13
  514. package/src/View/Layout/Wizard/sections/RowGroupingSection.js +21 -44
  515. package/src/View/Layout/Wizard/sections/RowSelectionSection.js +5 -72
  516. package/src/View/Layout/Wizard/sections/RowSummarySection.js +106 -140
  517. package/src/View/Layout/Wizard/sections/SettingsSection.js +3 -26
  518. package/src/View/Layout/Wizard/sections/SortSection.js +4 -9
  519. package/src/View/License/LicenseWatermark.js +1 -1
  520. package/src/View/NamedQuery/EditCurrentQueryButton.js +2 -1
  521. package/src/View/NamedQuery/Wizard/NamedQueryExpressionWizardSection.js +3 -5
  522. package/src/View/NamedQuery/Wizard/NamedQuerySettingsWizardSection.js +3 -11
  523. package/src/View/NamedQuery/Wizard/NamedQueryWizard.js +6 -8
  524. package/src/View/Note/NoteEditor.js +9 -10
  525. package/src/View/Note/NotePopup.js +4 -5
  526. package/src/View/PlusMinus/MovePlusMinus.js +3 -4
  527. package/src/View/PlusMinus/Wizard/PlusMinusRuleWizardSection.js +6 -15
  528. package/src/View/PlusMinus/Wizard/PlusMinusScopeWizardSection.js +2 -1
  529. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +78 -31
  530. package/src/View/PlusMinus/Wizard/PlusMinusWizard.js +7 -9
  531. package/src/View/QuickSearch/FloatingQuickSearch/FloatingQuickSearch.js +3 -5
  532. package/src/View/QuickSearch/QuickSearchInput.js +2 -3
  533. package/src/View/QuickSearch/QuickSearchPopup.d.ts +6 -2
  534. package/src/View/QuickSearch/QuickSearchPopup.js +18 -28
  535. package/src/View/QuickSearch/QuickSearchStatusBarContent.js +2 -2
  536. package/src/View/QuickSearch/QuickSearchViewPanel.js +2 -2
  537. package/src/View/Schedule/Wizard/ScheduleScheduleSummary.js +2 -4
  538. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.d.ts +8 -7
  539. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +136 -103
  540. package/src/View/Shortcut/Wizard/ShortcutScopeWizardSection.js +2 -1
  541. package/src/View/Shortcut/Wizard/ShortcutSettingsWizard.js +4 -38
  542. package/src/View/Shortcut/Wizard/ShortcutWizard.js +8 -18
  543. package/src/View/SmartEdit/SmartEditPopup.js +11 -17
  544. package/src/View/SmartEdit/SmartEditViewPanel.js +12 -17
  545. package/src/View/SpecialColumnSettingsWizardStep.js +6 -29
  546. package/src/View/StateManagement/StateManagementPopup.js +2 -18
  547. package/src/View/StateManagement/StateManagementViewPanel.js +3 -8
  548. package/src/View/StateManagement/components/ClearButton.js +2 -2
  549. package/src/View/StateManagement/components/ExportDropdown.js +2 -2
  550. package/src/View/StateManagement/components/LoadButton.js +13 -16
  551. package/src/View/StatusBar/AdaptableStatusBar.js +22 -20
  552. package/src/View/StatusBar/StatusBarPanel.js +3 -5
  553. package/src/View/StatusBar/StatusBarPopup.js +7 -6
  554. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +26 -0
  555. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.js +64 -0
  556. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.d.ts +5 -0
  557. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +150 -93
  558. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.d.ts +49 -0
  559. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.js +138 -0
  560. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.d.ts +12 -0
  561. package/src/View/StyledColumn/Wizard/StyledColumnSparklineSettingsSection.js +107 -172
  562. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +194 -60
  563. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.d.ts +14 -0
  564. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +301 -0
  565. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.d.ts +10 -0
  566. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +90 -0
  567. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.d.ts +20 -0
  568. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +282 -0
  569. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.d.ts +26 -0
  570. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +310 -0
  571. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.d.ts +8 -0
  572. package/src/View/StyledColumn/Wizard/StyledColumnWizardRatingSection.js +211 -0
  573. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.d.ts +12 -0
  574. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +238 -0
  575. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.d.ts +22 -0
  576. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.js +71 -0
  577. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarColumnComparisonPreview.js +6 -14
  578. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarRangesPreview.js +2 -9
  579. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/PercentBarStylePreview.js +2 -5
  580. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.d.ts +5 -0
  581. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +26 -13
  582. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgeSettings.js +20 -19
  583. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.d.ts +16 -0
  584. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.js +61 -0
  585. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardRangesSection.d.ts +12 -0
  586. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardRangesSection.js +153 -0
  587. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.d.ts +10 -1
  588. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +140 -283
  589. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.d.ts +13 -0
  590. package/src/View/StyledColumn/Wizard/StyledColumnWizardTypeSection.js +101 -27
  591. package/src/View/SystemStatus/SystemStatusEntityRow.js +4 -8
  592. package/src/View/SystemStatus/SystemStatusPopup.js +4 -4
  593. package/src/View/SystemStatus/SystemStatusStatusBarContent.js +2 -2
  594. package/src/View/SystemStatus/SystemStatusViewPanel.js +2 -2
  595. package/src/View/TeamSharing/SharedEntityDependencies.js +7 -11
  596. package/src/View/TeamSharing/SharedEntityObjectView.js +9 -21
  597. package/src/View/TeamSharing/TeamSharingApplyButton.js +2 -1
  598. package/src/View/Theme/ThemePopup.js +2 -27
  599. package/src/View/Theme/ThemeSelector.d.ts +1 -2
  600. package/src/View/Theme/ThemeSelector.js +3 -3
  601. package/src/View/Theme/ThemeStatusbar.d.ts +1 -1
  602. package/src/View/Theme/ThemeStatusbar.js +3 -4
  603. package/src/View/Theme/ThemeViewPanel.js +3 -4
  604. package/src/View/Theme/VariantSelector.js +2 -4
  605. package/src/View/UIHelper.d.ts +15 -25
  606. package/src/View/UIHelper.js +40 -116
  607. package/src/View/Wizard/ObjectTagsWizardSection.js +3 -6
  608. package/src/View/Wizard/OnePageAdaptableWizard.d.ts +13 -0
  609. package/src/View/Wizard/OnePageAdaptableWizard.js +21 -28
  610. package/src/View/Wizard/OnePageWizards.js +54 -70
  611. package/src/View/Wizard/TypeRadio.d.ts +2 -0
  612. package/src/View/Wizard/TypeRadio.js +6 -5
  613. package/src/View/renderWithAdaptableContext.js +3 -4
  614. package/src/agGrid/AdaptableAgGrid.d.ts +5 -2
  615. package/src/agGrid/AdaptableAgGrid.js +80 -40
  616. package/src/agGrid/AdaptableLogger.d.ts +1 -0
  617. package/src/agGrid/AdaptableLogger.js +8 -0
  618. package/src/agGrid/AgGridAdapter.d.ts +1 -0
  619. package/src/agGrid/AgGridAdapter.js +16 -4
  620. package/src/agGrid/AgGridColumnAdapter.d.ts +26 -0
  621. package/src/agGrid/AgGridColumnAdapter.js +333 -100
  622. package/src/agGrid/AgGridMenuAdapter.d.ts +2 -0
  623. package/src/agGrid/AgGridMenuAdapter.js +120 -6
  624. package/src/agGrid/cellRenderers/ActionColumnRenderer.d.ts +1 -0
  625. package/src/agGrid/cellRenderers/ActionColumnRenderer.js +87 -88
  626. package/src/agGrid/cellRenderers/BadgeRenderer.d.ts +2 -2
  627. package/src/agGrid/cellRenderers/BadgeRenderer.js +44 -28
  628. package/src/agGrid/cellRenderers/BulletChartRenderer.d.ts +4 -0
  629. package/src/agGrid/cellRenderers/BulletChartRenderer.js +391 -0
  630. package/src/agGrid/cellRenderers/IconRenderer.d.ts +23 -0
  631. package/src/agGrid/cellRenderers/IconRenderer.js +274 -0
  632. package/src/agGrid/cellRenderers/PercentBarRenderer.js +234 -65
  633. package/src/agGrid/cellRenderers/RangeBarRenderer.d.ts +4 -0
  634. package/src/agGrid/cellRenderers/RangeBarRenderer.js +352 -0
  635. package/src/agGrid/cellRenderers/RatingRenderer.d.ts +4 -0
  636. package/src/agGrid/cellRenderers/RatingRenderer.js +157 -0
  637. package/src/agGrid/cellRenderers/shouldRenderStyledColumnOnRow.d.ts +30 -0
  638. package/src/agGrid/cellRenderers/shouldRenderStyledColumnOnRow.js +54 -0
  639. package/src/agGrid/editors/AdaptableDateEditor/InternalAdaptableDateEditor.js +3 -4
  640. package/src/agGrid/editors/AdaptableDateEditor/index.js +4 -4
  641. package/src/agGrid/editors/AdaptableNumberEditor/InternalAdaptableNumberEditor.js +17 -19
  642. package/src/agGrid/editors/AdaptableNumberEditor/index.js +4 -4
  643. package/src/agGrid/editors/AdaptablePercentageEditor/InternalAdaptablePercentageEditor.js +21 -24
  644. package/src/agGrid/editors/AdaptablePercentageEditor/index.js +4 -4
  645. package/src/components/Accordion.js +7 -8
  646. package/src/components/AdaptableFormComponent/AdaptableFormComponent.js +364 -86
  647. package/src/components/Card/index.js +8 -8
  648. package/src/components/CheckBox/index.d.ts +3 -1
  649. package/src/components/CheckBox/index.js +12 -15
  650. package/src/components/CodeBlock/index.js +2 -2
  651. package/src/components/ColorPicker/ColorPicker.js +14 -19
  652. package/src/components/Combobox/VirtualizedList.d.ts +12 -0
  653. package/src/components/Combobox/VirtualizedList.js +62 -0
  654. package/src/components/Combobox/comboboxUtils.d.ts +82 -0
  655. package/src/components/Combobox/comboboxUtils.js +25 -0
  656. package/src/components/Combobox/index.d.ts +38 -0
  657. package/src/components/Combobox/index.js +527 -0
  658. package/src/components/Dashboard/Dashboard.d.ts +0 -3
  659. package/src/components/Dashboard/Dashboard.js +15 -42
  660. package/src/components/Dashboard/DashboardManager.js +2 -1
  661. package/src/components/Dashboard/DashboardToolbar.js +2 -7
  662. package/src/components/Datepicker/index.js +243 -106
  663. package/src/components/Dialog/index.js +7 -9
  664. package/src/components/DragAndDropContext/ModuleManager.js +2 -8
  665. package/src/components/DragAndDropContext/TabList.js +27 -41
  666. package/src/components/DragAndDropContext/UnusedPanel.js +8 -13
  667. package/src/components/Drawer/index.js +2 -1
  668. package/src/components/Dropdown/Arrows.js +3 -5
  669. package/src/components/Dropdown/index.js +15 -20
  670. package/src/components/DropdownButton/index.js +21 -29
  671. package/src/components/DropdownButton/renderItem.js +5 -6
  672. package/src/components/EmptyContent/index.js +3 -4
  673. package/src/components/ErrorBox/index.js +2 -2
  674. package/src/components/ExpressionEditor/BaseEditorInput.js +49 -90
  675. package/src/components/ExpressionEditor/DataTableEditor.js +19 -23
  676. package/src/components/ExpressionEditor/EditorButton.js +2 -2
  677. package/src/components/ExpressionEditor/EditorInput.js +2 -2
  678. package/src/components/ExpressionEditor/EditorInputWithWhereClause.js +8 -15
  679. package/src/components/ExpressionEditor/ExpressionFunctionDocumentation.js +2 -14
  680. package/src/components/ExpressionEditor/ExpressionPreview.js +6 -5
  681. package/src/components/ExpressionEditor/NamedQueryEditor.js +4 -10
  682. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilder.js +9 -22
  683. package/src/components/ExpressionEditor/QueryBuilder/QueryBuilderInputs.js +35 -53
  684. package/src/components/ExpressionEditor/QueryBuilder/QueryPredicateBuilder.js +112 -133
  685. package/src/components/ExpressionEditor/index.js +49 -95
  686. package/src/components/FieldWrap/index.js +3 -2
  687. package/src/components/FileDroppable/index.js +17 -28
  688. package/src/components/Flex.js +3 -2
  689. package/src/components/FlexWithFooter.js +2 -5
  690. package/src/components/FormLayout/index.js +7 -7
  691. package/src/components/HelpBlock/index.js +2 -2
  692. package/src/components/Icon/index.js +4 -4
  693. package/src/components/IconSelector/IconSelector.js +12 -23
  694. package/src/components/InfiniteTable/index.js +2 -2
  695. package/src/components/Input/NumberInput.js +2 -1
  696. package/src/components/Input/index.d.ts +1 -0
  697. package/src/components/Input/index.js +6 -4
  698. package/src/components/InputGroup/InputGroup.js +2 -2
  699. package/src/components/Loader/Loader.js +3 -5
  700. package/src/components/Logo/index.js +2 -9
  701. package/src/components/Modal/Backdrop.js +2 -1
  702. package/src/components/Modal/index.js +2 -5
  703. package/src/components/NewDropdownButton/index.d.ts +26 -0
  704. package/src/components/NewDropdownButton/index.js +24 -0
  705. package/src/components/NewSelect/index.d.ts +64 -0
  706. package/src/components/NewSelect/index.js +70 -0
  707. package/src/components/NewTooltip/index.d.ts +8 -0
  708. package/src/components/NewTooltip/index.js +8 -0
  709. package/src/components/NotifyResize/index.js +2 -1
  710. package/src/components/OverlayTrigger/Overlay.js +2 -1
  711. package/src/components/OverlayTrigger/index.js +11 -13
  712. package/src/components/Panel/index.js +10 -11
  713. package/src/components/PopupWithFooter.js +3 -3
  714. package/src/components/ProgressIndicator/ProgressIndicator.js +14 -19
  715. package/src/components/Radio/index.js +5 -10
  716. package/src/components/ResizeObserver/index.js +2 -2
  717. package/src/components/Select/CSSNumericVariableWatch.js +3 -3
  718. package/src/components/SelectList.js +2 -2
  719. package/src/components/SelectableList/index.js +3 -2
  720. package/src/components/SimpleButton/index.d.ts +1 -1
  721. package/src/components/SimpleButton/index.js +14 -18
  722. package/src/components/SizedContainer/index.js +6 -8
  723. package/src/components/StylePreview.js +2 -2
  724. package/src/components/Table/index.js +2 -2
  725. package/src/components/Tabs/index.js +5 -10
  726. package/src/components/Tag/Tag.js +4 -3
  727. package/src/components/Textarea/index.js +2 -1
  728. package/src/components/Toggle/Toggle.js +3 -4
  729. package/src/components/Toggle/ToggleGroup.js +3 -3
  730. package/src/components/ToggleButton/index.js +14 -17
  731. package/src/components/Tooltip/index.js +2 -2
  732. package/src/components/Tree/TreeDropdown/index.d.ts +44 -26
  733. package/src/components/Tree/TreeDropdown/index.js +503 -265
  734. package/src/components/Tree/treeUtils.d.ts +10 -0
  735. package/src/components/Tree/treeUtils.js +25 -0
  736. package/src/components/WarningBox/index.js +2 -2
  737. package/src/components/WindowModal/WindowModal.js +4 -4
  738. package/src/components/WizardPanel/index.js +2 -2
  739. package/src/components/icons/DefaultIcon.js +2 -2
  740. package/src/components/icons/add-row.js +2 -3
  741. package/src/components/icons/alert.js +2 -3
  742. package/src/components/icons/align-center.js +2 -3
  743. package/src/components/icons/align-justify.js +2 -3
  744. package/src/components/icons/align-left.js +2 -3
  745. package/src/components/icons/align-right.js +2 -3
  746. package/src/components/icons/analysis.js +2 -4
  747. package/src/components/icons/application.js +2 -3
  748. package/src/components/icons/arrow-down-long.js +2 -3
  749. package/src/components/icons/arrow-down.js +2 -3
  750. package/src/components/icons/arrow-expand.js +2 -3
  751. package/src/components/icons/arrow-left.js +2 -4
  752. package/src/components/icons/arrow-right.js +2 -3
  753. package/src/components/icons/arrow-up-long.js +2 -3
  754. package/src/components/icons/arrow-up.js +2 -3
  755. package/src/components/icons/attach-file.js +2 -4
  756. package/src/components/icons/badge.js +2 -3
  757. package/src/components/icons/blanks.js +2 -3
  758. package/src/components/icons/bold.js +2 -3
  759. package/src/components/icons/boolean-list.js +2 -3
  760. package/src/components/icons/brush.js +2 -3
  761. package/src/components/icons/build.js +2 -4
  762. package/src/components/icons/bulk-update.js +2 -3
  763. package/src/components/icons/bullet-chart.d.ts +3 -0
  764. package/src/components/icons/bullet-chart.js +7 -0
  765. package/src/components/icons/calculated-column.js +2 -4
  766. package/src/components/icons/calendar.js +2 -3
  767. package/src/components/icons/call.js +2 -3
  768. package/src/components/icons/campaign.js +2 -3
  769. package/src/components/icons/case-lower.js +2 -3
  770. package/src/components/icons/case-sentence.js +2 -4
  771. package/src/components/icons/case-upper.js +2 -3
  772. package/src/components/icons/cell-summary.js +2 -3
  773. package/src/components/icons/cell-validation.js +2 -3
  774. package/src/components/icons/chart.js +2 -3
  775. package/src/components/icons/chat.js +2 -4
  776. package/src/components/icons/check-box-outline.js +2 -3
  777. package/src/components/icons/check-box.js +2 -3
  778. package/src/components/icons/check-circle.js +2 -3
  779. package/src/components/icons/check.js +2 -3
  780. package/src/components/icons/clone.js +2 -3
  781. package/src/components/icons/close.js +2 -3
  782. package/src/components/icons/cloud-upload.js +2 -3
  783. package/src/components/icons/collapse-all.js +2 -3
  784. package/src/components/icons/collapse.js +2 -3
  785. package/src/components/icons/column-add.js +2 -6
  786. package/src/components/icons/column-chooser.js +2 -3
  787. package/src/components/icons/column-filter.js +2 -3
  788. package/src/components/icons/column-info.js +2 -3
  789. package/src/components/icons/column-outline.js +2 -3
  790. package/src/components/icons/comment.js +2 -3
  791. package/src/components/icons/comments.js +2 -3
  792. package/src/components/icons/contact.js +2 -4
  793. package/src/components/icons/contains.js +2 -3
  794. package/src/components/icons/copy.js +2 -3
  795. package/src/components/icons/csv.js +2 -3
  796. package/src/components/icons/custom-sort.js +2 -3
  797. package/src/components/icons/dashboard.js +2 -3
  798. package/src/components/icons/data-object.js +2 -3
  799. package/src/components/icons/data-set.js +2 -3
  800. package/src/components/icons/date-range.js +2 -4
  801. package/src/components/icons/delete.js +2 -3
  802. package/src/components/icons/division.js +2 -3
  803. package/src/components/icons/dock.js +2 -3
  804. package/src/components/icons/dollar.js +2 -3
  805. package/src/components/icons/drag.js +2 -3
  806. package/src/components/icons/edit.js +2 -3
  807. package/src/components/icons/ends-with.js +2 -3
  808. package/src/components/icons/equal.js +2 -3
  809. package/src/components/icons/equation.js +2 -3
  810. package/src/components/icons/error.js +2 -3
  811. package/src/components/icons/excel.js +2 -4
  812. package/src/components/icons/expand-all.js +2 -3
  813. package/src/components/icons/expand.js +2 -3
  814. package/src/components/icons/exponent.js +2 -3
  815. package/src/components/icons/export.js +2 -3
  816. package/src/components/icons/fast-backward.js +2 -3
  817. package/src/components/icons/fast-forward.js +2 -3
  818. package/src/components/icons/fdc3.js +2 -5
  819. package/src/components/icons/filter-off.js +2 -3
  820. package/src/components/icons/filter.js +2 -3
  821. package/src/components/icons/flashing-cell.js +2 -3
  822. package/src/components/icons/folder-open.js +2 -3
  823. package/src/components/icons/folder-shared.js +2 -3
  824. package/src/components/icons/folder.js +2 -3
  825. package/src/components/icons/format-column.js +2 -3
  826. package/src/components/icons/freetext-column.js +2 -7
  827. package/src/components/icons/function.js +2 -3
  828. package/src/components/icons/gradient-column.js +2 -3
  829. package/src/components/icons/gradient.js +2 -3
  830. package/src/components/icons/greater-than-or-equal.js +2 -3
  831. package/src/components/icons/greater-than.js +2 -3
  832. package/src/components/icons/grid-filter.js +2 -3
  833. package/src/components/icons/grid-info.js +2 -3
  834. package/src/components/icons/hide-column.js +2 -4
  835. package/src/components/icons/history.js +2 -3
  836. package/src/components/icons/home.js +2 -3
  837. package/src/components/icons/icon-style.d.ts +3 -0
  838. package/src/components/icons/icon-style.js +7 -0
  839. package/src/components/icons/import-export.js +2 -3
  840. package/src/components/icons/import.js +2 -3
  841. package/src/components/icons/index.d.ts +1 -1
  842. package/src/components/icons/index.js +202 -7
  843. package/src/components/icons/info.js +2 -3
  844. package/src/components/icons/inspector.js +2 -4
  845. package/src/components/icons/instrument.js +2 -4
  846. package/src/components/icons/interactions.js +2 -4
  847. package/src/components/icons/invalid.js +2 -4
  848. package/src/components/icons/ipushpull.js +2 -4
  849. package/src/components/icons/italic.js +2 -3
  850. package/src/components/icons/justify.js +2 -3
  851. package/src/components/icons/layout.js +2 -3
  852. package/src/components/icons/less-than-or-equal.js +2 -3
  853. package/src/components/icons/less-than.js +2 -3
  854. package/src/components/icons/list.js +2 -3
  855. package/src/components/icons/login.js +2 -3
  856. package/src/components/icons/logout copy.js +2 -4
  857. package/src/components/icons/logout.js +2 -4
  858. package/src/components/icons/mail.js +2 -3
  859. package/src/components/icons/menu.js +2 -3
  860. package/src/components/icons/minus.js +2 -3
  861. package/src/components/icons/money.js +2 -4
  862. package/src/components/icons/multiplication.js +2 -3
  863. package/src/components/icons/newpage.js +2 -4
  864. package/src/components/icons/news.js +2 -4
  865. package/src/components/icons/non-blanks.js +2 -3
  866. package/src/components/icons/not-contains.js +2 -3
  867. package/src/components/icons/not-equal.js +2 -3
  868. package/src/components/icons/note.js +2 -3
  869. package/src/components/icons/open-in-new.js +2 -3
  870. package/src/components/icons/order.js +2 -3
  871. package/src/components/icons/organisation.js +2 -4
  872. package/src/components/icons/overline.js +2 -3
  873. package/src/components/icons/pause.js +2 -3
  874. package/src/components/icons/percent-bar.js +2 -8
  875. package/src/components/icons/percent.js +2 -3
  876. package/src/components/icons/person.js +2 -3
  877. package/src/components/icons/pie-chart.js +2 -3
  878. package/src/components/icons/play.js +2 -4
  879. package/src/components/icons/plus-minus.js +2 -3
  880. package/src/components/icons/plus.js +2 -3
  881. package/src/components/icons/query.js +2 -3
  882. package/src/components/icons/quick-search.js +2 -3
  883. package/src/components/icons/quote.js +2 -4
  884. package/src/components/icons/range-bar.d.ts +3 -0
  885. package/src/components/icons/range-bar.js +8 -0
  886. package/src/components/icons/refresh.js +2 -3
  887. package/src/components/icons/regex.js +2 -3
  888. package/src/components/icons/reminder.js +2 -3
  889. package/src/components/icons/resume.js +2 -3
  890. package/src/components/icons/rows.js +2 -3
  891. package/src/components/icons/save.js +2 -3
  892. package/src/components/icons/schedule.js +2 -6
  893. package/src/components/icons/science.js +2 -3
  894. package/src/components/icons/select-all.js +2 -3
  895. package/src/components/icons/select-fwd.js +2 -3
  896. package/src/components/icons/select-off.js +2 -3
  897. package/src/components/icons/settings.js +2 -3
  898. package/src/components/icons/shortcut.js +2 -3
  899. package/src/components/icons/show-column.js +2 -4
  900. package/src/components/icons/smart-edit.js +2 -3
  901. package/src/components/icons/sort-asc.js +2 -6
  902. package/src/components/icons/sort-desc.js +2 -6
  903. package/src/components/icons/spark-line.js +2 -3
  904. package/src/components/icons/star.d.ts +3 -0
  905. package/src/components/icons/star.js +4 -0
  906. package/src/components/icons/starts-with.js +2 -3
  907. package/src/components/icons/state-management.js +2 -3
  908. package/src/components/icons/statusbar.js +2 -4
  909. package/src/components/icons/stop.js +2 -3
  910. package/src/components/icons/strikethrough.js +2 -3
  911. package/src/components/icons/styled-grid.js +2 -4
  912. package/src/components/icons/sync.js +2 -3
  913. package/src/components/icons/system-status.js +2 -3
  914. package/src/components/icons/tab-unselected.js +2 -3
  915. package/src/components/icons/table-arrow-right.js +2 -3
  916. package/src/components/icons/team-share.js +2 -3
  917. package/src/components/icons/theme.js +2 -4
  918. package/src/components/icons/tool-panel.js +2 -3
  919. package/src/components/icons/track-changes.js +2 -4
  920. package/src/components/icons/triangle-down.js +2 -3
  921. package/src/components/icons/triangle-up.js +2 -3
  922. package/src/components/icons/unchecked.js +2 -3
  923. package/src/components/icons/underline.js +2 -3
  924. package/src/components/icons/undo.js +2 -3
  925. package/src/components/icons/updated-row.js +2 -3
  926. package/src/components/icons/upload.js +2 -4
  927. package/src/components/icons/user-filter.js +2 -3
  928. package/src/components/icons/visibility-off.js +2 -3
  929. package/src/components/icons/visibility.js +2 -4
  930. package/src/components/icons/warning.js +2 -3
  931. package/src/components/twUtils.d.ts +3 -0
  932. package/src/components/twUtils.js +9 -3
  933. package/src/components/ui/button.d.ts +8 -0
  934. package/src/components/ui/button.js +34 -0
  935. package/src/components/ui/calendar.d.ts +7 -0
  936. package/src/components/ui/calendar.js +104 -0
  937. package/src/components/ui/combobox.d.ts +48 -0
  938. package/src/components/ui/combobox.js +100 -0
  939. package/src/components/ui/dropdown-menu.d.ts +29 -0
  940. package/src/components/ui/dropdown-menu.js +50 -0
  941. package/src/components/ui/input-group.d.ts +18 -0
  942. package/src/components/ui/input-group.js +57 -0
  943. package/src/components/ui/input.d.ts +3 -0
  944. package/src/components/ui/input.js +7 -0
  945. package/src/components/ui/popover.d.ts +9 -0
  946. package/src/components/ui/popover.js +22 -0
  947. package/src/components/ui/select.d.ts +26 -0
  948. package/src/components/ui/select.js +38 -0
  949. package/src/components/ui/textarea.d.ts +3 -0
  950. package/src/components/ui/textarea.js +6 -0
  951. package/src/components/ui/tooltip.d.ts +6 -0
  952. package/src/components/ui/tooltip.js +16 -0
  953. package/src/env.js +2 -2
  954. package/src/layout-manager/src/index.d.ts +2 -2
  955. package/src/layout-manager/src/index.js +11 -4
  956. package/src/lib/utils.d.ts +3 -0
  957. package/src/lib/utils.js +6 -0
  958. package/src/metamodel/adaptable.metamodel.d.ts +381 -59
  959. package/src/metamodel/adaptable.metamodel.js +1 -1
  960. package/src/migration/AdaptableUpgradeHelper.js +3 -1
  961. package/src/migration/VersionUpgrade22.js +11 -21
  962. package/src/migration/VersionUpgrade23.d.ts +85 -0
  963. package/src/migration/VersionUpgrade23.js +237 -0
  964. package/src/setupDevTools.d.ts +3 -0
  965. package/src/setupDevTools.js +410 -0
  966. package/src/types.d.ts +13 -12
  967. package/src/types.js +1 -0
  968. package/themes/dark.css +27 -7
  969. package/tsconfig.esm.tsbuildinfo +1 -1
  970. package/fonts/glyphicons-halflings-regular.eot +0 -0
  971. package/fonts/glyphicons-halflings-regular.svg +0 -288
  972. package/fonts/glyphicons-halflings-regular.ttf +0 -0
  973. package/fonts/glyphicons-halflings-regular.woff +0 -0
  974. package/fonts/glyphicons-halflings-regular.woff2 +0 -0
  975. package/src/AdaptableState/ScheduleState.d.ts +0 -52
  976. package/src/Api/Events/ScheduleTriggered.d.ts +0 -11
  977. package/src/Api/Implementation/ScheduleApiImpl.d.ts +0 -51
  978. package/src/Api/Implementation/ScheduleApiImpl.js +0 -199
  979. package/src/Api/ScheduleApi.d.ts +0 -224
  980. package/src/Api/ScheduleApi.js +0 -1
  981. package/src/Redux/ActionsReducers/ScheduleRedux.d.ts +0 -191
  982. package/src/Redux/ActionsReducers/ScheduleRedux.js +0 -390
  983. package/src/Strategy/Interface/IScheduleModule.d.ts +0 -4
  984. package/src/Strategy/Interface/IScheduleModule.js +0 -1
  985. package/src/Strategy/ScheduleModule.d.ts +0 -21
  986. package/src/Strategy/ScheduleModule.js +0 -269
  987. package/src/View/FormatColumn/Wizard/FormatColumnColumnScopeWizardSection.js +0 -46
  988. package/src/View/FormatColumn/Wizard/FormatColumnRowScopeWizardSection.d.ts +0 -8
  989. package/src/View/FormatColumn/Wizard/FormatColumnRowScopeWizardSection.js +0 -80
  990. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.d.ts +0 -11
  991. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsIPushPull.js +0 -73
  992. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.d.ts +0 -9
  993. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsOpenFin.js +0 -36
  994. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.d.ts +0 -8
  995. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReminder.js +0 -75
  996. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.d.ts +0 -12
  997. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsReport.js +0 -65
  998. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.d.ts +0 -7
  999. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsSummary.js +0 -86
  1000. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.d.ts +0 -7
  1001. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/ScheduleSettingsWizard.js +0 -30
  1002. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/index.d.ts +0 -3
  1003. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/index.js +0 -3
  1004. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.d.ts +0 -3
  1005. package/src/View/Schedule/Wizard/ScheduleSettingsWizard/isSettingsValid.js +0 -53
  1006. package/src/View/Schedule/Wizard/ScheduleWizard.d.ts +0 -6
  1007. package/src/View/Schedule/Wizard/ScheduleWizard.js +0 -109
  1008. package/src/View/StyledColumn/Wizard/StyledColumnBadgeRowsSection.d.ts +0 -8
  1009. package/src/View/StyledColumn/Wizard/StyledColumnBadgeRowsSection.js +0 -101
  1010. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.d.ts +0 -9
  1011. package/src/View/StyledColumn/Wizard/StyledColumnWizardColumnSection.js +0 -89
  1012. package/src/View/Theme/ThemeEditor.d.ts +0 -8
  1013. package/src/View/Theme/ThemeEditor.js +0 -160
  1014. package/src/View/Theme/ThemeEditorWindow.d.ts +0 -2
  1015. package/src/View/Theme/ThemeEditorWindow.js +0 -10
  1016. package/src/View/Theme/ThemeField.d.ts +0 -11
  1017. package/src/View/Theme/ThemeField.js +0 -34
  1018. package/src/components/Select/Select.d.ts +0 -53
  1019. package/src/components/Select/Select.js +0 -765
  1020. package/src/components/Select/index.d.ts +0 -1
  1021. package/src/components/Select/index.js +0 -1
  1022. package/src/components/Tree/TreeList/index.d.ts +0 -25
  1023. package/src/components/Tree/TreeList/index.js +0 -31
  1024. /package/{src/AdaptableState/ScheduleState.js → devtools.js} +0 -0
  1025. /package/src/Api/Events/{ScheduleTriggered.js → ReportScheduleRan.js} +0 -0
  1026. /package/src/{Api/Internal/ScheduleInternalApi.d.ts → Strategy/Interface/IAlertModule.js} +0 -0
  1027. /package/src/{Api/Internal/ScheduleInternalApi.js → Strategy/Interface/IExportModule.js} +0 -0
  1028. /package/src/View/FormatColumn/Wizard/{FormatColumnColumnScopeWizardSection.d.ts → FormatColumnScopeWizardSection.d.ts} +0 -0
@@ -1,59 +1,163 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import * as React from 'react';
3
+ import { flattenAdaptableFormFields, isAdaptableFormFieldDisabled, isAdaptableFormFieldGroup, isAdaptableFormFieldGroupHidden, isAdaptableFormFieldHidden, validateAdaptableForm, } from '../../AdaptableState/Common/AdaptableForm';
2
4
  import FormLayout, { FormRow } from '../FormLayout';
3
5
  import Input from '../Input';
4
- import SimpleButton from '../SimpleButton';
6
+ import { AdaptableButtonView, } from '../../View/Components/AdaptableButton';
5
7
  import AdaptableInput from '../../View/Components/AdaptableInput';
6
- import { useMemo } from 'react';
8
+ import { useEffect, useId, useMemo, useState } from 'react';
7
9
  import { useAdaptable } from '../../View/AdaptableContext';
8
- import { Select } from '../Select';
9
10
  import { Box, Flex } from '../Flex';
10
11
  import { twMerge } from '../../twMerge';
12
+ import { MultiCombobox, SingleCombobox } from '../Combobox';
11
13
  export function AdaptableFormComponentButtons({ formDef, onClick, defaultTone, disabledButtons, api, context, focusFirstButton = true, }) {
12
- return (React.createElement(React.Fragment, null, formDef.buttons.map((button, index) => {
13
- const buttonIcon = api.internalApi.getIconForButton(button, context, {
14
- height: 15,
15
- width: 15,
16
- });
17
- let buttonStyle = api.internalApi.getStyleForButton(button, context
18
- ? context
19
- : {
20
- ...api.internalApi.buildBaseContext(),
21
- });
22
- let buttonLabel = api.internalApi.getLabelForButton(button, context
23
- ? context
24
- : {
25
- ...api.internalApi.buildBaseContext(),
26
- });
27
- let buttonTooltip = api.internalApi.getTooltipForButton(button, context
28
- ? context
29
- : {
30
- ...api.internalApi.buildBaseContext(),
31
- });
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: () => {
33
- onClick(button);
34
- } }, buttonLabel));
35
- })));
14
+ const formContext = context ??
15
+ {
16
+ ...api.internalApi.buildBaseContext(),
17
+ };
18
+ return (_jsx(_Fragment, { children: formDef.buttons.map((button, index) => {
19
+ const buttonLabel = api.internalApi.getLabelForButton(button, formContext) ?? '';
20
+ const buttonStyle = api.internalApi.getStyleForButton(button, formContext);
21
+ return (_jsx(AdaptableButtonView, { button: button, context: formContext, api: api, defaults: {
22
+ tone: defaultTone,
23
+ variant: buttonStyle?.variant,
24
+ }, rerenderOnClick: false, iconSize: { height: 15, width: 15 }, autoFocus: focusFirstButton && index === 0, disabled: disabledButtons?.[index], "data-text": buttonLabel, className: twMerge(index ? 'twa:ml-2' : '', buttonStyle?.className), onClick: () => onClick(button) }, index));
25
+ }) }));
36
26
  }
37
27
  export function AdaptableFormComponent({ formDef, data, onChange, onButtonClick, displayTitle, api, context, focusFirstButton, }) {
38
28
  const getFieldValue = (key) => data[key];
39
29
  const setFieldValue = (key, value) => {
40
30
  const newData = { ...data, [key]: value };
41
31
  onChange(newData);
32
+ // Per-field `onValueChange` hook. We resolve the field by name from the
33
+ // form definition so callers (e.g. number-input keyDown handler) can use
34
+ // the same setter and still get the per-field callback fired.
35
+ //
36
+ // We enrich the host-supplied `context` with the freshly-computed
37
+ // `newData` as `formData` so consumers (e.g. CustomToolbarFormContext)
38
+ // see the updated values immediately - without having to wait for a
39
+ // React re-render to flush the new `data` prop into a rebuilt context.
40
+ const changedField = flatFields.find((f) => f.name === key);
41
+ if (changedField?.onValueChange) {
42
+ const enrichedContext = { ...(context ?? {}), formData: newData };
43
+ changedField.onValueChange(value, enrichedContext);
44
+ }
42
45
  };
43
46
  const adaptable = useAdaptable();
47
+ // Stable form-instance id used to namespace every field's id so that
48
+ // multiple AdaptableForms on the same page (Alerts + a Custom Toolbar +
49
+ // a wizard, say) don't generate clashing DOM ids - and so screen readers
50
+ // can correctly resolve `htmlFor` / `aria-describedby` references.
51
+ const formInstanceId = useId();
52
+ const fieldDomId = (field) => `${formInstanceId}-${field.name}`;
53
+ const fieldLabelId = (field) => `${formInstanceId}-${field.name}-label`;
54
+ const fieldHelpId = (field) => `${formInstanceId}-${field.name}-help`;
55
+ const fieldErrorId = (field) => `${formInstanceId}-${field.name}-error`;
56
+ // Flat list of fields - shared by validation, options resolution, etc.
57
+ // Flattens both inline-row arrays and field groups.
58
+ const flatFields = useMemo(() => flattenAdaptableFormFields(formDef), [formDef]);
59
+ // Cache for async options resolution. Populated by the effect below.
60
+ const [asyncOptionsCache, setAsyncOptionsCache] = useState({});
61
+ // Kick off resolution of any function-form `options` that return a
62
+ // Promise. Synchronous functions are still resolved during render
63
+ // (via `resolveOptions`) so there's no first-paint lag for them.
64
+ useEffect(() => {
65
+ let cancelled = false;
66
+ flatFields.forEach((field) => {
67
+ const usesOptions = field.fieldType === 'select' || field.fieldType === 'radio';
68
+ if (usesOptions && typeof field.options === 'function') {
69
+ const result = field.options(data, context);
70
+ if (result instanceof Promise) {
71
+ result
72
+ .then((resolved) => {
73
+ if (!cancelled) {
74
+ setAsyncOptionsCache((prev) => ({ ...prev, [field.name]: resolved }));
75
+ }
76
+ })
77
+ .catch(() => {
78
+ /* swallow - leave the previous cache entry in place */
79
+ });
80
+ }
81
+ }
82
+ });
83
+ return () => {
84
+ cancelled = true;
85
+ };
86
+ }, [flatFields, data, context]);
87
+ const resolveOptions = (field) => {
88
+ const opts = field.options;
89
+ if (!opts)
90
+ return [];
91
+ if (Array.isArray(opts))
92
+ return opts;
93
+ const result = opts(data, context);
94
+ if (result instanceof Promise) {
95
+ return asyncOptionsCache[field.name] ?? [];
96
+ }
97
+ return result;
98
+ };
99
+ // Run validation once per render so errors can be rendered inline AND
100
+ // exposed to button-level handlers via context (`formIsValid`,
101
+ // `formErrors`).
102
+ const formErrors = useMemo(() => validateAdaptableForm(formDef, data, context),
103
+ // intentionally include formDef so dynamic hidden/disabled functions
104
+ // re-evaluate when the form definition changes
105
+ [formDef, data, context]);
106
+ const formIsValid = Object.keys(formErrors).length === 0;
107
+ // Context enriched with the freshly-computed form data + validity, so
108
+ // that button hidden/disabled/onClick callbacks see consistent values.
109
+ const buttonContext = useMemo(() => ({
110
+ ...(context ?? {}),
111
+ formData: data,
112
+ formIsValid,
113
+ formErrors,
114
+ }), [context, data, formIsValid, formErrors]);
44
115
  const disabledButtons = useMemo(() => formDef.buttons?.map((button) => {
45
116
  // defensive programming: conventionally context should ALWAYS be present for validating buttons
46
- const isValid = !!button.disabled && !!context ? !button.disabled(button, context) : true;
117
+ const isValid = !!button.disabled && !!buttonContext ? !button.disabled(button, buttonContext) : true;
47
118
  return !isValid;
48
- }) ?? [], [data]);
119
+ }) ?? [], [buttonContext, formDef.buttons]);
49
120
  const renderLabel = (field) => {
50
- return (React.createElement(Box, { className: 'ab-FormLayout_column--label', style: { textAlign: 'end' } }, field.label));
121
+ const required = field.required;
122
+ // For radio groups we render a `<div>` (the radiogroup container has
123
+ // no single focusable element to associate the label with), but for
124
+ // every other field type we wire the label to the field's input with
125
+ // `htmlFor` so clicking the label focuses the control and so screen
126
+ // readers announce it correctly.
127
+ const useFor = field.fieldType !== 'radio' && field.fieldType !== 'textOutput';
128
+ const requiredMarker = required ? (_jsx("span", { className: "ab-Form_required-marker", "aria-hidden": "true", children: ' *' })) : null;
129
+ if (useFor) {
130
+ return (_jsxs("label", { id: fieldLabelId(field), htmlFor: fieldDomId(field), className: "ab-FormLayout_column--label", style: { textAlign: 'end' }, title: field.tooltip, children: [field.label, requiredMarker] }));
131
+ }
132
+ return (_jsxs(Box, { id: fieldLabelId(field), className: "ab-FormLayout_column--label", style: { textAlign: 'end' }, title: field.tooltip, children: [field.label, requiredMarker] }));
51
133
  };
52
134
  const renderField = (field) => {
53
135
  const value = getFieldValue(field.name) ?? '';
136
+ const isDisabled = isAdaptableFormFieldDisabled(field, data, context);
137
+ const error = formErrors[field.name];
138
+ // Accessibility: every editable input gets a stable id (so the label's
139
+ // `htmlFor` resolves) plus `aria-*` attributes that announce required
140
+ // state, validity and link the help / error text via
141
+ // `aria-describedby`.
142
+ const inputId = fieldDomId(field);
143
+ const helpId = field.helpText ? fieldHelpId(field) : undefined;
144
+ const errorId = error ? fieldErrorId(field) : undefined;
145
+ const describedBy = [errorId, helpId].filter(Boolean).join(' ') || undefined;
146
+ const a11yProps = {
147
+ id: inputId,
148
+ 'aria-required': field.required ? true : undefined,
149
+ 'aria-invalid': error ? true : undefined,
150
+ 'aria-describedby': describedBy,
151
+ };
54
152
  const onChange = (event) => {
55
153
  if (field.fieldType === 'number') {
56
- const numberValue = Number(event.target.value);
154
+ const rawValue = event.target.value;
155
+ // Empty string -> null (so `required` validation can detect it)
156
+ if (rawValue === '') {
157
+ setFieldValue(field.name, null);
158
+ return;
159
+ }
160
+ const numberValue = Number(rawValue);
57
161
  if (isNaN(numberValue)) {
58
162
  setFieldValue(field.name, null);
59
163
  }
@@ -65,78 +169,252 @@ export function AdaptableFormComponent({ formDef, data, onChange, onButtonClick,
65
169
  setFieldValue(field.name, event.target.value);
66
170
  }
67
171
  };
172
+ let control;
68
173
  switch (field.fieldType) {
69
174
  case 'text':
70
175
  case 'number':
71
176
  case 'date':
72
- return (React.createElement(AdaptableInput, { type: field.fieldType, className: "twa:w-full", name: field.name, value: value, onChange: onChange }));
73
- case 'select':
74
- let items = field.options.map((item) => ({
177
+ control = (_jsx(AdaptableInput, { type: field.fieldType, className: "twa:w-full", name: field.name, value: value, onChange: onChange, disabled: isDisabled, placeholder: field.placeholder, min: field.min, max: field.max, step: field.step, minLength: field.fieldType === 'text' ? field.minLength : undefined, maxLength: field.fieldType === 'text' ? field.maxLength : undefined, pattern: field.fieldType === 'text' ? field.pattern : undefined, ...a11yProps }));
178
+ break;
179
+ case 'time':
180
+ control = (_jsx(Input, { type: "time", className: "twa:w-full", name: field.name, value: value, onChange: onChange, disabled: isDisabled, placeholder: field.placeholder, min: field.min, max: field.max, step: field.step, ...a11yProps }));
181
+ break;
182
+ case 'datetime':
183
+ control = (_jsx(Input, { type: "datetime-local", className: "twa:w-full", name: field.name, value: value, onChange: onChange, disabled: isDisabled, placeholder: field.placeholder, min: field.min, max: field.max, step: field.step, ...a11yProps }));
184
+ break;
185
+ case 'color':
186
+ control = (_jsx(Input, { type: "color", name: field.name, value: value || '#000000', onChange: onChange, disabled: isDisabled, ...a11yProps }));
187
+ break;
188
+ case 'textarea': {
189
+ const rows = field.rows ?? 3;
190
+ control = (_jsx("textarea", { id: inputId, name: field.name, value: value, disabled: isDisabled, placeholder: field.placeholder, minLength: field.minLength, maxLength: field.maxLength, rows: rows, "aria-required": field.required ? true : undefined, "aria-invalid": error ? true : undefined, "aria-describedby": describedBy, onChange: (e) => setFieldValue(field.name, e.target.value), className: twMerge('ab-Input', 'twa:box-border', 'twa:rounded-input', 'twa:w-full', 'twa:p-2', isDisabled
191
+ ? 'twa:bg-(--ab-cmp-input--disabled__background)'
192
+ : 'twa:bg-input-background') }));
193
+ break;
194
+ }
195
+ case 'slider': {
196
+ const min = typeof field.min === 'number' ? field.min : 0;
197
+ const max = typeof field.max === 'number' ? field.max : 100;
198
+ const step = field.step ?? 1;
199
+ const numericValue = typeof value === 'number' ? value : Number(value) || min;
200
+ control = (_jsxs(Flex, { flexDirection: "row", alignItems: "center", style: { columnGap: 'var(--ab-base-space)', minWidth: 160 }, children: [_jsx(Input, { type: "range", name: field.name, value: numericValue, disabled: isDisabled, min: min, max: max, step: step, "aria-valuemin": min, "aria-valuemax": max, "aria-valuenow": numericValue, onChange: (e) => {
201
+ const next = Number(e.target.value);
202
+ setFieldValue(field.name, Number.isNaN(next) ? null : next);
203
+ }, className: "twa:flex-1", ...a11yProps }), _jsx(Box, { className: "twa:text-xs twa:tabular-nums", style: { minWidth: 32, textAlign: 'right' }, "aria-hidden": "true", children: numericValue })] }));
204
+ break;
205
+ }
206
+ case 'select': {
207
+ const items = resolveOptions(field).map((item) => ({
75
208
  value: item.value,
76
209
  label: item.label,
77
- onClick: () => setFieldValue(field.name, item.value),
78
210
  }));
79
- return (React.createElement(Select, { style: { width: '100%' }, className: `ab-options__select`, options: items, onChange: (newValue) => setFieldValue(field.name, newValue), value: value }));
211
+ // The underlying SingleCombobox / MultiCombobox manage their own
212
+ // popup-based focus; we wrap them in a labelled `role="group"` so
213
+ // assistive tech announces "<label> group" when focus enters and
214
+ // can read out the help/error text via `aria-describedby`.
215
+ const groupProps = {
216
+ id: inputId,
217
+ role: 'group',
218
+ 'aria-labelledby': fieldLabelId(field),
219
+ 'aria-required': field.required ? true : undefined,
220
+ 'aria-invalid': error ? true : undefined,
221
+ 'aria-describedby': describedBy,
222
+ };
223
+ if (field.multi) {
224
+ // For multi-selects the canonical value is an array. Coerce
225
+ // anything else (e.g. legacy string defaults) to [] so the
226
+ // underlying combobox never receives a non-array value.
227
+ const selected = Array.isArray(value) ? value : [];
228
+ control = (_jsx(Box, { ...groupProps, children: _jsx(MultiCombobox, { items: items, onValueChange: (newValues) => setFieldValue(field.name, newValues), value: selected, disabled: isDisabled, placeholder: field.placeholder }) }));
229
+ }
230
+ else {
231
+ control = (_jsx(Box, { ...groupProps, children: _jsx(SingleCombobox, { items: items, onValueChange: (newValue) => setFieldValue(field.name, newValue), value: value, disabled: isDisabled, placeholder: field.placeholder }) }));
232
+ }
233
+ break;
234
+ }
235
+ case 'radio': {
236
+ const items = resolveOptions(field);
237
+ const groupName = `${formInstanceId}-radio-${field.name}`;
238
+ control = (_jsx(Flex, { id: inputId, role: "radiogroup", "aria-labelledby": fieldLabelId(field), "aria-required": field.required ? true : undefined, "aria-invalid": error ? true : undefined, "aria-describedby": describedBy, flexDirection: "row", alignItems: "center", flexWrap: "wrap", style: { columnGap: 'var(--ab-base-space-2)', rowGap: 'var(--ab-base-space)' }, children: items.map((item) => {
239
+ const optionId = `${groupName}-${String(item.value)}`;
240
+ const checked = value === item.value;
241
+ return (_jsxs("label", { htmlFor: optionId, className: "twa:flex twa:flex-row twa:items-center twa:box-border", style: {
242
+ columnGap: 'var(--ab-base-space)',
243
+ cursor: isDisabled ? 'not-allowed' : 'pointer',
244
+ }, children: [_jsx(Input, { type: "radio", id: optionId, name: groupName, value: String(item.value), checked: checked, disabled: isDisabled, onChange: () => setFieldValue(field.name, item.value) }), _jsx(Box, { children: item.label })] }, optionId));
245
+ }) }));
246
+ break;
247
+ }
80
248
  case 'checkbox':
81
- return (React.createElement(Input, { type: "checkbox", name: field.name, checked: value, onChange: (event) => {
249
+ control = (_jsx(Input, { type: "checkbox", name: field.name, checked: value, disabled: isDisabled, onChange: (event) => {
82
250
  setFieldValue(field.name, event.target.checked);
83
- } }));
251
+ }, ...a11yProps }));
252
+ break;
84
253
  case 'textOutput':
85
- return React.createElement(Box, { className: "twa:pl-2 twa:text-left" }, value);
254
+ control = _jsx(Box, { className: "twa:pl-2 twa:text-left", children: value });
255
+ break;
256
+ case 'custom':
257
+ // The consumer renders whatever they like; we keep the wiring
258
+ // controlled by routing reads/writes through `setFieldValue`.
259
+ control = field.render ? (field.render({
260
+ value,
261
+ setValue: (newValue) => setFieldValue(field.name, newValue),
262
+ field,
263
+ formData: data,
264
+ context,
265
+ disabled: isDisabled,
266
+ error,
267
+ })) : (_jsx(Box, { className: "twa:text-xs twa:opacity-60", children: "custom field requires a `render` function" }));
268
+ break;
86
269
  default:
87
- return React.createElement("div", null,
88
- "Unknown field type: ",
89
- field.fieldType);
270
+ control = _jsxs("div", { children: ["Unknown field type: ", field.fieldType] });
90
271
  }
272
+ // No surrounding wrapper if there's nothing extra to show - keeps the
273
+ // existing simple cases visually identical.
274
+ if (!field.helpText && !error) {
275
+ return control;
276
+ }
277
+ return (_jsxs(Box, { children: [control, field.helpText && !error ? (_jsx(Box, { id: helpId, className: "ab-Form_help twa:text-xs twa:opacity-70 twa:mt-1", children: field.helpText })) : null, error ? (_jsx(Box, { id: errorId, role: "alert", "aria-live": "polite", className: "ab-Form_error twa:text-xs twa:mt-1", style: { color: 'var(--ab-color-error, #c00)' }, children: error })) : null] }));
91
278
  };
92
279
  // by default we have 2 columns: label & input
93
280
  const columns = formDef.config?.columns ?? [1, 2];
94
- return (React.createElement(React.Fragment, null,
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)),
97
- React.createElement(FormLayout, { onKeyDown: (event) => {
98
- const target = event.target;
99
- const targetName = target.name;
100
- const field = formDef.fields
101
- .map((field) => {
102
- if (Array.isArray(field)) {
103
- return field.filter((f) => f.name === targetName)[0];
104
- }
105
- else {
106
- return field.name === targetName ? field : null;
107
- }
108
- })
109
- .filter(Boolean)[0];
110
- if (field && field.fieldType === 'number') {
111
- // for number fields
112
- // hook them up to the CellEditorKeyDown event
113
- // so Shortcuts work as expected
114
- const value = event.target.value;
115
- adaptable._emit('CellEditorKeyDown', {
116
- keyDownEvent: event,
117
- cellValue: value,
118
- columnId: field.name,
119
- updateValueCallback: (updatedValue) => {
120
- setFieldValue(field.name, updatedValue);
121
- },
122
- });
281
+ // Form-level Enter-to-submit. Shift+Enter or Enter inside a textarea
282
+ // inserts a newline rather than submitting; this matches user
283
+ // expectations for multi-line inputs. We explicitly don't trigger on
284
+ // submit when a select dropdown is open (Enter selects an option),
285
+ // which the SingleCombobox/MultiCombobox handle internally by
286
+ // stopping propagation.
287
+ const handleFormKeyDown = (event) => {
288
+ handleKeyDownForNumberFields(event);
289
+ if (!formDef.onSubmit) {
290
+ return;
291
+ }
292
+ if (event.key !== 'Enter') {
293
+ return;
294
+ }
295
+ if (event.shiftKey) {
296
+ return;
297
+ }
298
+ const target = event.target;
299
+ if (target && target.tagName === 'TEXTAREA') {
300
+ return;
301
+ }
302
+ if (!formIsValid) {
303
+ return;
304
+ }
305
+ event.preventDefault();
306
+ formDef.onSubmit(data, buttonContext);
307
+ };
308
+ const handleKeyDownForNumberFields = (event) => {
309
+ const target = event.target;
310
+ const targetName = target.name;
311
+ const field = flatFields.find((f) => f.name === targetName);
312
+ if (field && field.fieldType === 'number') {
313
+ // for number fields
314
+ // hook them up to the CellEditorKeyDown event
315
+ // so Shortcuts work as expected
316
+ const value = event.target.value;
317
+ adaptable._emit('CellEditorKeyDown', {
318
+ keyDownEvent: event,
319
+ cellValue: value,
320
+ columnId: field.name,
321
+ updateValueCallback: (updatedValue) => {
322
+ setFieldValue(field.name, updatedValue);
323
+ },
324
+ });
325
+ }
326
+ };
327
+ // `inline` lays fields out on a single horizontal row, with each field
328
+ // rendered as `<label> <input>` side-by-side. Designed for compact hosts
329
+ // like Dashboard Custom Toolbars; the standard popup/wizard layout (rows
330
+ // with label-on-left grid) is preserved for everything else.
331
+ const isInlineLayout = formDef.layout === 'inline';
332
+ // Inline-layout entries: groups are flattened (their title/description
333
+ // skipped because there's no vertical room) but inline-row arrays are
334
+ // also flattened so every visible field becomes its own cell.
335
+ const renderInlineEntries = () => {
336
+ const items = [];
337
+ for (const entry of formDef.fields ?? []) {
338
+ if (isAdaptableFormFieldGroup(entry)) {
339
+ if (isAdaptableFormFieldGroupHidden(entry, data, context))
340
+ continue;
341
+ for (const inner of entry.fields) {
342
+ if (Array.isArray(inner))
343
+ items.push(...inner);
344
+ else
345
+ items.push(inner);
123
346
  }
124
- }, "data-name": "form-content", columns: columns, className: "twa:pr-1 twa:overflow-auto" }, formDef.fields?.map((field, index) => {
125
- if (Array.isArray(field)) {
126
- const rowFields = {};
127
- field.map((fieldItem, index) => {
128
- const rowFieldIndex = 2 * index + 1;
129
- rowFields[rowFieldIndex] = renderLabel(fieldItem);
130
- rowFields[rowFieldIndex + 1] = renderField(fieldItem);
131
- });
132
- return React.createElement(FormRow, { key: index, ...rowFields });
347
+ }
348
+ else if (Array.isArray(entry)) {
349
+ items.push(...entry);
133
350
  }
134
351
  else {
135
- return (React.createElement(FormRow, { key: field.name },
136
- renderLabel(field),
137
- renderField(field)));
352
+ items.push(entry);
138
353
  }
139
- })),
140
- formDef.buttons ? (React.createElement(Flex, { "data-name": "form-buttons", className: "twa:mt-3", flexDirection: "row", alignItems: "center", justifyContent: "center" },
141
- React.createElement(AdaptableFormComponentButtons, { focusFirstButton: focusFirstButton, onClick: onButtonClick, disabledButtons: disabledButtons, defaultTone: "success", formDef: formDef, api: api, context: context }))) : null));
354
+ }
355
+ return items
356
+ .filter((field) => !isAdaptableFormFieldHidden(field, data, context))
357
+ .map((field) => {
358
+ const useFor = field.fieldType !== 'radio' && field.fieldType !== 'textOutput';
359
+ const requiredMarker = field.required ? (_jsx("span", { className: "ab-Form_required-marker", "aria-hidden": "true", children: ' *' })) : null;
360
+ return (_jsxs(Flex, { flexDirection: "row", alignItems: "center", style: { columnGap: 'var(--ab-base-space)' }, children: [field.label ? (useFor ? (_jsxs("label", { id: fieldLabelId(field), htmlFor: fieldDomId(field), className: "ab-FormLayout--inline_field-label", title: field.tooltip, children: [field.label, requiredMarker] })) : (_jsxs(Box, { id: fieldLabelId(field), className: "ab-FormLayout--inline_field-label", title: field.tooltip, children: [field.label, requiredMarker] }))) : null, renderField(field)] }, field.name));
361
+ });
362
+ };
363
+ const renderRowsEntry = (entry, index) => {
364
+ if (isAdaptableFormFieldGroup(entry)) {
365
+ if (isAdaptableFormFieldGroupHidden(entry, data, context)) {
366
+ return null;
367
+ }
368
+ // Render inner items using the same row/inline-row logic that
369
+ // top-level entries use, just nested below the group header.
370
+ const innerNodes = entry.fields.map((inner, innerIndex) => {
371
+ if (Array.isArray(inner)) {
372
+ const visible = inner.filter((f) => !isAdaptableFormFieldHidden(f, data, context));
373
+ if (visible.length === 0)
374
+ return null;
375
+ // `renderField` returns `React.ReactNode` (custom fields may
376
+ // produce strings/fragments) so we widen the row-bag to match.
377
+ const rowFields = {};
378
+ visible.map((fieldItem, idx) => {
379
+ const rowFieldIndex = 2 * idx + 1;
380
+ rowFields[rowFieldIndex] = renderLabel(fieldItem);
381
+ rowFields[rowFieldIndex + 1] = renderField(fieldItem);
382
+ });
383
+ return _jsx(FormRow, { ...rowFields }, `g${index}-r${innerIndex}`);
384
+ }
385
+ if (isAdaptableFormFieldHidden(inner, data, context))
386
+ return null;
387
+ return (_jsxs(FormRow, { children: [renderLabel(inner), renderField(inner)] }, `g${index}-${inner.name}`));
388
+ });
389
+ const hasHeader = entry.title || entry.description;
390
+ return (_jsxs(React.Fragment, { children: [hasHeader ? (_jsxs(Box, { "data-name": "form-group-header", className: "ab-Form_group-header", style: {
391
+ gridColumn: '1 / -1',
392
+ marginTop: index === 0 ? 0 : 'var(--ab-base-space-2)',
393
+ marginBottom: 'var(--ab-base-space)',
394
+ paddingBottom: 'var(--ab-base-space-half)',
395
+ borderBottom: '1px solid var(--ab-color-divider, rgba(0,0,0,0.08))',
396
+ }, children: [entry.title ? (_jsx(Box, { className: "ab-Form_group-title twa:text-4 twa:font-bold", children: entry.title })) : null, entry.description ? (_jsx(Box, { className: "ab-Form_group-description twa:text-xs twa:opacity-70 twa:mt-1", children: entry.description })) : null] })) : null, innerNodes] }, `group-${index}`));
397
+ }
398
+ if (Array.isArray(entry)) {
399
+ // `renderField` returns `React.ReactNode` (custom fields may
400
+ // produce strings/fragments) so we widen the row-bag to match.
401
+ const rowFields = {};
402
+ const visible = entry.filter((f) => !isAdaptableFormFieldHidden(f, data, context));
403
+ if (visible.length === 0)
404
+ return null;
405
+ visible.map((fieldItem, idx) => {
406
+ const rowFieldIndex = 2 * idx + 1;
407
+ rowFields[rowFieldIndex] = renderLabel(fieldItem);
408
+ rowFields[rowFieldIndex + 1] = renderField(fieldItem);
409
+ });
410
+ return _jsx(FormRow, { ...rowFields }, index);
411
+ }
412
+ if (isAdaptableFormFieldHidden(entry, data, context)) {
413
+ return null;
414
+ }
415
+ return (_jsxs(FormRow, { children: [renderLabel(entry), renderField(entry)] }, entry.name));
416
+ };
417
+ return (_jsxs(_Fragment, { children: [displayTitle && formDef.title && (_jsx(Box, { "data-name": "form-title", className: "twa:text-5 twa:mb-2 twa:font-bold", children: formDef.title })), formDef.description && (_jsx(Box, { "data-name": "form-description", className: "twa:mb-3", children: formDef.description })), isInlineLayout ? (_jsx(Flex, { "data-name": "form-content", className: "ab-FormLayout--inline", flexDirection: "row", alignItems: "center", flexWrap: "wrap", style: { columnGap: 'var(--ab-base-space-2)', rowGap: 'var(--ab-base-space)' }, onKeyDown: handleFormKeyDown, children: renderInlineEntries() })) : (_jsx(FormLayout, { onKeyDown: handleFormKeyDown, "data-name": "form-content", columns: columns, className: "twa:pr-1 twa:overflow-auto", children: formDef.fields?.map((entry, index) => renderRowsEntry(entry, index)) })), formDef.buttons ? (_jsx(Flex, { "data-name": "form-buttons", className: isInlineLayout ? '' : 'twa:mt-3', flexDirection: "row", alignItems: "center", justifyContent: isInlineLayout ? 'space-start' : 'center', style: isInlineLayout
418
+ ? { marginLeft: 'var(--ab-base-space-2)', columnGap: 'var(--ab-base-space)' }
419
+ : undefined, children: _jsx(AdaptableFormComponentButtons, { focusFirstButton: focusFirstButton, onClick: onButtonClick, disabledButtons: disabledButtons, defaultTone: "success", formDef: formDef, api: api, context: buttonContext }) })) : null] }));
142
420
  }
@@ -1,10 +1,10 @@
1
- import * as React from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { twMerge } from '../../twMerge';
3
3
  import clsx from 'clsx';
4
4
  import { Box } from '../Flex';
5
5
  export function Card(props) {
6
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', {
7
+ return (_jsx(Box, { className: clsx('twa:bg-defaultbackground twa:text-foreground', 'ab-Card', 'twa:text-3', 'twa:rounded-standard twa:p-2', 'twa:flex twa:flex-col', {
8
8
  'twa:shadow-sm': shadow,
9
9
  'twa:gap-0': gap === 0,
10
10
  'twa:gap-1': gap === 1,
@@ -12,34 +12,34 @@ export function Card(props) {
12
12
  'twa:gap-3': gap === 3,
13
13
  'twa:gap-4': gap === 4,
14
14
  'twa:gap-8': gap === 8,
15
- }, className), style: style }, children));
15
+ }, className), style: style, children: children }));
16
16
  }
17
17
  const CardTitle = (props) => {
18
18
  const { children, className, gap = 2, border = true } = props;
19
- return (React.createElement("div", { className: twMerge(clsx('ab-Card__title', {
19
+ return (_jsx("div", { className: twMerge(clsx('ab-Card__title', {
20
20
  'twa:flex twa:flex-row': true,
21
21
  'twa:items-center': true,
22
22
  'twa:text-4 twa:px-2': true,
23
23
  'twa:pb-2 twa:border-b': border,
24
- 'twa:border-b-text-on-defaultbackground/20': true,
24
+ 'twa:border-b-foreground/20': true,
25
25
  'twa:gap-0': gap === 0,
26
26
  'twa:gap-1': gap === 1,
27
27
  'twa:gap-2': gap === 2,
28
28
  'twa:gap-3': gap === 3,
29
29
  'twa:gap-4': gap === 4,
30
30
  'twa:gap-8': gap === 8,
31
- }, className)) }, children));
31
+ }, className)), children: children }));
32
32
  };
33
33
  const CardBody = (props) => {
34
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', {
35
+ return (_jsx("div", { className: clsx('ab-Card__body', 'twa:overflow-auto twa:min-h-0', 'twa:flex-1 twa:flex twa:flex-col', {
36
36
  'twa:gap-0': gap === 0,
37
37
  'twa:gap-1': gap === 1,
38
38
  'twa:gap-2': gap === 2,
39
39
  'twa:gap-3': gap === 3,
40
40
  'twa:gap-4': gap === 4,
41
41
  'twa:gap-8': gap === 8,
42
- }, className) }, children));
42
+ }, className), children: children }));
43
43
  };
44
44
  Card.Title = CardTitle;
45
45
  Card.Body = CardBody;
@@ -13,11 +13,13 @@ type TypeProps = {
13
13
  children?: ReactNode;
14
14
  gapDistance?: number | string;
15
15
  childrenPosition?: 'start' | 'end';
16
+ checkSquareClassName?: string;
16
17
  };
17
18
  export interface CheckBoxProps extends TypeProps, Omit<React.HTMLProps<HTMLDivElement>, keyof TypeProps | 'ref'> {
18
19
  }
19
- declare const CheckBox: ({ children, checked, onChange, value, name, disabled, readOnly, variant, gapDistance, childrenPosition, as, ...props }: CheckBoxProps) => React.JSX.Element;
20
+ declare const CheckBox: ({ children, checked, onChange, value, name, disabled, readOnly, variant, gapDistance, childrenPosition, checkSquareClassName, tabIndex, as, ...props }: CheckBoxProps) => React.JSX.Element;
20
21
  export declare const CheckBoxGroup: (props: FlexProps & {
21
22
  orientation: "horizontal" | "vertical";
23
+ children?: ReactNode;
22
24
  }) => React.JSX.Element;
23
25
  export { CheckBox };
@@ -1,11 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import * as React from 'react';
2
3
  import { useRef, useState } from 'react';
3
4
  import { Box, Flex } from '../Flex';
4
5
  import clsx from 'clsx';
6
+ import { cn } from '../../lib/utils';
7
+ import { targetPeer } from '../twUtils';
5
8
  const Square = (props) => {
6
- return React.createElement("div", { className: `ab-CheckBox__square ab-CheckBox__square--${props.type}` });
9
+ return (_jsx("div", { className: cn(`ab-CheckBox__square ab-CheckBox__square--${props.type}`, targetPeer.focusVisibleOutline, props.className) }));
7
10
  };
8
- const CheckBox = ({ children, checked, onChange, value, name, disabled, readOnly, variant = 'default', gapDistance = 'var(--ab-base-space)', childrenPosition = 'end', as = 'label', ...props }) => {
11
+ const CheckBox = ({ children, checked, onChange, value, name, disabled, readOnly, variant = 'default', gapDistance = 'var(--ab-base-space)', childrenPosition = 'end', checkSquareClassName, tabIndex, as = 'label', ...props }) => {
9
12
  const [stateChecked, setStateChecked] = useState(false);
10
13
  const computedChecked = checked !== undefined ? checked : stateChecked;
11
14
  const onInputChange = (event) => {
@@ -25,13 +28,13 @@ const CheckBox = ({ children, checked, onChange, value, name, disabled, readOnly
25
28
  : computedChecked === false
26
29
  ? 'unchecked'
27
30
  : 'indeterminate';
28
- const gap = React.createElement("div", { style: { marginLeft: gapDistance, display: 'inline-block' } });
29
- children = children ? (React.createElement("div", { style: {
31
+ const gap = _jsx("div", { style: { marginLeft: gapDistance, display: 'inline-block' } });
32
+ children = children ? (_jsx("div", { style: {
30
33
  display: 'inline-block',
31
34
  whiteSpace: 'nowrap',
32
35
  overflow: 'hidden',
33
36
  textOverflow: 'ellipsis',
34
- } }, children)) : null;
37
+ }, children: children })) : null;
35
38
  const before = childrenPosition === 'start' ? children : null;
36
39
  const beforeGap = childrenPosition === 'start' && children ? gap : null;
37
40
  const after = childrenPosition === 'end' ? children : null;
@@ -41,19 +44,13 @@ const CheckBox = ({ children, checked, onChange, value, name, disabled, readOnly
41
44
  React.useEffect(() => {
42
45
  checkboxRef.current.indeterminate = indeterminate;
43
46
  }, [indeterminate]);
44
- let input = (React.createElement("input", { className: clsx(`ab-CheckBox-input twa:align-middle twa:opacity-0`, {
47
+ let input = (_jsx("input", { className: clsx(`ab-CheckBox-input twa:peer twa:align-middle twa:opacity-0`, {
45
48
  '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 },
48
- before,
49
- beforeGap,
50
- input,
51
- React.createElement(Square, { type: type }),
52
- afterGap,
53
- after));
49
+ }), ref: checkboxRef, disabled: disabled, readOnly: readOnly, checked: !!computedChecked, tabIndex: tabIndex, type: "checkbox", name: name, value: value, onChange: onInputChange }));
50
+ return (_jsxs(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, children: [before, beforeGap, input, _jsx(Square, { type: type, className: checkSquareClassName }), afterGap, after] }));
54
51
  };
55
52
  export const CheckBoxGroup = (props) => {
56
53
  const { orientation, ...flexProps } = props;
57
- return (React.createElement(Flex, { className: `ab-CheckBoxGroup ${orientation === 'horizontal' ? 'twa:items-center' : 'twa:items-start'}`, flexDirection: orientation == 'horizontal' ? 'row' : 'column', ...flexProps }));
54
+ return (_jsx(Flex, { className: `ab-CheckBoxGroup ${orientation === 'horizontal' ? 'twa:items-center' : 'twa:items-start'}`, flexDirection: orientation == 'horizontal' ? 'row' : 'column', ...flexProps }));
58
55
  };
59
56
  export { CheckBox };