@adaptabletools/adaptable 23.0.0-canary.7 → 23.0.0-canary.9

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 (317) hide show
  1. package/index.css +98 -17
  2. package/package.json +1 -1
  3. package/src/{Utilities → AdaptableState/Aggregations}/weightedAverage.js +1 -1
  4. package/src/AdaptableState/Common/Enums.d.ts +0 -12
  5. package/src/AdaptableState/Common/Enums.js +0 -15
  6. package/src/{Utilities → AdaptableState/Common}/MenuItem.d.ts +4 -4
  7. package/src/{Utilities → AdaptableState/Common}/MenuItem.js +1 -1
  8. package/src/AdaptableState/StyledColumnState.d.ts +8 -850
  9. package/src/AdaptableState/StyledColumnState.js +1 -9
  10. package/src/AdaptableState/StyledColumns/BadgeStyle.d.ts +143 -0
  11. package/src/AdaptableState/StyledColumns/BadgeStyle.js +9 -0
  12. package/src/AdaptableState/StyledColumns/BulletChartStyle.d.ts +147 -0
  13. package/src/AdaptableState/StyledColumns/BulletChartStyle.js +1 -0
  14. package/src/AdaptableState/StyledColumns/Common/BarStyleProperties.d.ts +84 -0
  15. package/src/AdaptableState/StyledColumns/Common/BarStyleProperties.js +5 -0
  16. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.d.ts +13 -0
  17. package/src/AdaptableState/StyledColumns/Common/CellTextOptions.js +6 -0
  18. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.d.ts +79 -0
  19. package/src/AdaptableState/StyledColumns/Common/NumericStyledColumn.js +9 -0
  20. package/src/AdaptableState/StyledColumns/GradientStyle.d.ts +48 -0
  21. package/src/AdaptableState/StyledColumns/GradientStyle.js +1 -0
  22. package/src/AdaptableState/StyledColumns/IconStyle.d.ts +158 -0
  23. package/src/AdaptableState/StyledColumns/IconStyle.js +1 -0
  24. package/src/AdaptableState/StyledColumns/PercentBarStyle.d.ts +32 -0
  25. package/src/AdaptableState/StyledColumns/PercentBarStyle.js +1 -0
  26. package/src/AdaptableState/StyledColumns/RangeBarStyle.d.ts +155 -0
  27. package/src/AdaptableState/StyledColumns/RangeBarStyle.js +1 -0
  28. package/src/AdaptableState/StyledColumns/RatingStyle.d.ts +111 -0
  29. package/src/AdaptableState/StyledColumns/RatingStyle.js +1 -0
  30. package/src/AdaptableState/StyledColumns/SparklineStyle.d.ts +21 -0
  31. package/src/AdaptableState/StyledColumns/SparklineStyle.js +1 -0
  32. package/src/Api/ColumnScopeApi.d.ts +1 -1
  33. package/src/Api/Implementation/AlertApiImpl.js +1 -1
  34. package/src/Api/Implementation/ChartingApiImpl.js +1 -1
  35. package/src/Api/Implementation/ColumnScopeApiImpl.d.ts +1 -1
  36. package/src/Api/Implementation/ExportApiImpl.js +1 -1
  37. package/src/Api/Implementation/LayoutHelpers.js +1 -1
  38. package/src/Api/Implementation/QuickSearchApiImpl.js +1 -1
  39. package/src/Api/Implementation/ThemeApiImpl.js +1 -1
  40. package/src/Api/Internal/ActionColumnInternalApi.js +1 -1
  41. package/src/Api/Internal/AlertInternalApi.js +1 -1
  42. package/src/Api/Internal/ChartingInternalApi.js +1 -1
  43. package/src/Api/Internal/ColumnInternalApi.js +1 -1
  44. package/src/Api/Internal/EventInternalApi.js +1 -1
  45. package/src/Api/Internal/ExportInternalApi.js +1 -1
  46. package/src/Api/Internal/FormatColumnInternalApi.js +1 -1
  47. package/src/Api/Internal/GridInternalApi.js +1 -1
  48. package/src/Api/Internal/StyledColumnInternalApi.d.ts +3 -1
  49. package/src/Api/Internal/StyledColumnInternalApi.js +1 -1
  50. package/src/Redux/ActionsReducers/ExportRedux.js +1 -1
  51. package/src/Redux/ActionsReducers/InternalRedux.js +1 -1
  52. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +1 -1
  53. package/src/Redux/Store/AdaptableReduxMerger.js +2 -4
  54. package/src/Redux/Store/AdaptableStore.js +3 -3
  55. package/src/Strategy/AdaptableModuleBase.d.ts +1 -1
  56. package/src/Strategy/AdaptableModuleBase.js +1 -1
  57. package/src/Strategy/AlertModule.d.ts +1 -1
  58. package/src/Strategy/AlertModule.js +2 -2
  59. package/src/Strategy/BulkUpdateModule.d.ts +1 -1
  60. package/src/Strategy/CalculatedColumnModule.d.ts +2 -2
  61. package/src/Strategy/CellSummaryModule.d.ts +2 -2
  62. package/src/Strategy/ChartingModule.d.ts +1 -1
  63. package/src/Strategy/ChartingModule.js +1 -1
  64. package/src/Strategy/ColumnInfoModule.d.ts +2 -2
  65. package/src/Strategy/CommentModule.d.ts +1 -1
  66. package/src/Strategy/CustomSortModule.d.ts +1 -1
  67. package/src/Strategy/ExportModule.js +2 -2
  68. package/src/Strategy/FlashingCellModule.d.ts +1 -1
  69. package/src/Strategy/FreeTextColumnModule.d.ts +1 -1
  70. package/src/Strategy/GridInfoModule.d.ts +2 -2
  71. package/src/Strategy/LayoutModule.js +1 -1
  72. package/src/Strategy/NoteModule.d.ts +1 -1
  73. package/src/Strategy/PlusMinusModule.d.ts +1 -1
  74. package/src/Strategy/PlusMinusModule.js +1 -1
  75. package/src/Strategy/SettingsPanelModule.d.ts +2 -2
  76. package/src/Strategy/SmartEditModule.d.ts +1 -1
  77. package/src/Strategy/SystemStatusModule.d.ts +2 -2
  78. package/src/Strategy/TeamSharingModule.js +2 -2
  79. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +1 -1
  80. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +1 -1
  81. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +1 -1
  82. package/src/Utilities/Extensions/ArrayExtensions.d.ts +32 -0
  83. package/src/Utilities/Extensions/ArrayExtensions.js +49 -0
  84. package/src/Utilities/Extensions/NumberExtensions.d.ts +21 -0
  85. package/src/Utilities/Extensions/NumberExtensions.js +74 -0
  86. package/src/Utilities/Extensions/ObjectExtensions.d.ts +44 -0
  87. package/src/Utilities/Extensions/ObjectExtensions.js +271 -0
  88. package/src/Utilities/Extensions/StringExtensions.d.ts +26 -0
  89. package/src/Utilities/Extensions/StringExtensions.js +44 -1
  90. package/src/Utilities/Helpers/AdaptableHelper.js +2 -2
  91. package/src/Utilities/Helpers/{alertFormHelper.js → AlertHelper.js} +1 -1
  92. package/src/Utilities/Helpers/DateHelper.js +1 -1
  93. package/src/Utilities/Helpers/{FormatHelper.js → DisplayFormatHelper.js} +1 -1
  94. package/src/Utilities/Helpers/Helper.d.ts +0 -6
  95. package/src/Utilities/Helpers/Helper.js +0 -35
  96. package/src/Utilities/Helpers/{QuickSearchStyleHelper.js → QuickSearchHelper.js} +1 -1
  97. package/src/Utilities/Helpers/{ScheduleHelper.d.ts → Scheduling/ScheduleHelper.d.ts} +1 -1
  98. package/src/Utilities/Helpers/{ScheduleHelper.js → Scheduling/ScheduleHelper.js} +1 -1
  99. package/src/Utilities/Helpers/{ScheduleJobManager.d.ts → Scheduling/ScheduleJobManager.d.ts} +1 -1
  100. package/src/Utilities/Helpers/{ScheduleJobRunner.d.ts → Scheduling/ScheduleJobRunner.d.ts} +1 -1
  101. package/src/Utilities/Helpers/{ScheduledAlertHelper.d.ts → Scheduling/ScheduledAlertHelper.d.ts} +1 -1
  102. package/src/Utilities/Helpers/{ScheduledAlertHelper.js → Scheduling/ScheduledAlertHelper.js} +4 -4
  103. package/src/Utilities/Helpers/{ScheduledJobsMiddlewareHelper.d.ts → Scheduling/ScheduledJobsMiddlewareHelper.d.ts} +1 -1
  104. package/src/Utilities/Helpers/{ScheduledJobsMiddlewareHelper.js → Scheduling/ScheduledJobsMiddlewareHelper.js} +1 -1
  105. package/src/Utilities/Helpers/{ScheduledReportHelper.d.ts → Scheduling/ScheduledReportHelper.d.ts} +1 -1
  106. package/src/Utilities/Helpers/{ScheduledReportHelper.js → Scheduling/ScheduledReportHelper.js} +1 -1
  107. package/src/Utilities/Helpers/SettingsPanelHelper.d.ts +5 -0
  108. package/src/Utilities/{Defaults/DefaultSettingsPanel.js → Helpers/SettingsPanelHelper.js} +14 -0
  109. package/src/Utilities/Helpers/StyledColumns/BarStylesHelper.d.ts +63 -0
  110. package/src/Utilities/Helpers/StyledColumns/BarStylesHelper.js +317 -0
  111. package/src/Utilities/Helpers/{StyledColumnGradientHelper.d.ts → StyledColumns/GradientStyleHelper.d.ts} +4 -2
  112. package/src/Utilities/Helpers/{StyledColumnGradientHelper.js → StyledColumns/GradientStyleHelper.js} +3 -3
  113. package/src/Utilities/Helpers/{IconStylePresets.d.ts → StyledColumns/IconStyleHelper.d.ts} +6 -1
  114. package/src/Utilities/Helpers/{IconStylePresets.js → StyledColumns/IconStyleHelper.js} +15 -0
  115. package/src/Utilities/Helpers/{percentBarPreviewHelper.d.ts → StyledColumns/PercentBarStyleHelper.d.ts} +2 -1
  116. package/src/Utilities/Helpers/{percentBarPreviewHelper.js → StyledColumns/PercentBarStyleHelper.js} +7 -12
  117. package/src/Utilities/Helpers/{SparklineOptionsHelper.js → StyledColumns/SparklineStyleHelper.js} +1 -1
  118. package/src/Utilities/Helpers/StyledColumns/StyledColumnHelper.d.ts +52 -0
  119. package/src/{agGrid/cellRenderers/shouldRenderStyledColumnOnRow.js → Utilities/Helpers/StyledColumns/StyledColumnHelper.js} +64 -2
  120. package/src/Utilities/Helpers/TimingHelper.d.ts +34 -0
  121. package/src/Utilities/{utils/debounce.js → Helpers/TimingHelper.js} +23 -9
  122. package/src/Utilities/ObjectFactory.js +1 -1
  123. package/src/Utilities/Services/CalculatedColumnExpressionService.d.ts +2 -0
  124. package/src/Utilities/Services/CalculatedColumnExpressionService.js +114 -1
  125. package/src/Utilities/Services/LicenseService/index.js +1 -1
  126. package/src/Utilities/Services/RowSummaryService.d.ts +1 -1
  127. package/src/Utilities/Services/RowSummaryService.js +4 -4
  128. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +1 -1
  129. package/src/View/Alert/Utilities/getAlertType.js +1 -1
  130. package/src/View/Alert/Utilities/getDefaultAlertDefinition.js +1 -1
  131. package/src/View/Alert/Utilities/mapAlertDefinition.js +1 -1
  132. package/src/View/Alert/Wizard/AlertBehaviourWizardSection.js +1 -1
  133. package/src/View/Alert/Wizard/AlertButtonsEditor.js +160 -127
  134. package/src/View/Alert/Wizard/AlertNotificationWizardSection.js +3 -3
  135. package/src/View/Alert/Wizard/AlertRulesWizardSection.js +1 -1
  136. package/src/View/Alert/Wizard/AlertScheduledWizardSection.js +1 -1
  137. package/src/View/Alert/Wizard/AlertScopeWizardSection.js +1 -1
  138. package/src/View/Alert/Wizard/AlertWizard.js +10 -2
  139. package/src/View/Alert/Wizard/isValidAlertRules.js +1 -1
  140. package/src/View/Charting/ChartingWizard/AgChargingWizard/PreviewChartSection.js +1 -1
  141. package/src/View/Charting/ChartingWizard/AgChargingWizard/SettingsSection.js +1 -1
  142. package/src/View/Charting/ChartingWizard/ExternalChartingWizard/SettingsSection.js +1 -1
  143. package/src/View/Comments/CommentsEditor.js +1 -1
  144. package/src/View/Comments/CommentsPopup.js +1 -1
  145. package/src/View/Components/AdaptableObjectList/AdaptableObjectCompactList.js +3 -2
  146. package/src/View/Components/AdaptableObjectList/AdaptableObjectList.js +3 -2
  147. package/src/View/Components/AdaptableObjectList/objectListActionButtonStyles.d.ts +2 -0
  148. package/src/View/Components/AdaptableObjectList/objectListActionButtonStyles.js +2 -0
  149. package/src/View/Components/Buttons/EntityListActionButtons.js +1 -1
  150. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.d.ts +1 -0
  151. package/src/View/Components/Buttons/SuspendToggleButton/SuspendToggleButton.js +8 -8
  152. package/src/View/Components/ColumnFilter/ColumnFilter.js +14 -1
  153. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +1 -1
  154. package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +1 -1
  155. package/src/View/Components/ColumnFilter/components/FloatingFilterInputList.js +1 -1
  156. package/src/View/Components/Forms/AdaptableFormControlTextClear.js +2 -1
  157. package/src/View/Components/Popups/AdaptablePopup/AdaptablePopupModuleView.js +1 -1
  158. package/src/View/Components/Popups/AdaptablePopup/useMenuItems.js +1 -1
  159. package/src/View/Components/Popups/AdaptablePopupAlert.js +1 -1
  160. package/src/View/Components/Popups/Utilities.js +1 -1
  161. package/src/View/Components/RangesComponent.d.ts +4 -3
  162. package/src/View/Components/RangesComponent.js +3 -7
  163. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +1 -1
  164. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +1 -1
  165. package/src/View/Dashboard/CustomDashboardButton.js +1 -1
  166. package/src/View/Dashboard/Dashboard.js +1 -1
  167. package/src/View/DataChangeHistory/DataChangeHistoryPopup.js +1 -1
  168. package/src/View/DataChangeHistory/DataChangeHistoryTable.js +1 -1
  169. package/src/View/DataChangeHistory/DataChangeHistoryViewPanel.js +1 -1
  170. package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +1 -1
  171. package/src/View/Export/ExportSchedulesTab.js +3 -4
  172. package/src/View/Filter/FilterViewPanel.js +1 -1
  173. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +3 -3
  174. package/src/View/FormatColumn/Wizard/FormatColumnPreview.js +1 -1
  175. package/src/View/FreeTextColumn/Wizard/FreeTextColumnSettingsWizardSection.js +1 -1
  176. package/src/View/Layout/LayoutViewPanel.js +1 -1
  177. package/src/View/Layout/Wizard/sections/RowSummarySection.js +129 -103
  178. package/src/View/Note/NoteEditor.js +1 -1
  179. package/src/View/Note/NotePopup.js +1 -1
  180. package/src/View/PlusMinus/Wizard/PlusMinusSettingsWizardSection.js +1 -1
  181. package/src/View/QuickSearch/QuickSearchPopup.js +1 -1
  182. package/src/View/QuickSearch/useQuickSearchDebounced.js +1 -1
  183. package/src/View/Schedule/Wizard/ScheduleScheduleWizard.js +1 -1
  184. package/src/View/SpecialColumnSettingsWizardStep.js +1 -1
  185. package/src/View/StyledColumn/Wizard/BadgePillStyleEditor.d.ts +1 -1
  186. package/src/View/StyledColumn/Wizard/StyledColumnBadgeSection.js +36 -30
  187. package/src/View/StyledColumn/Wizard/StyledColumnSliceStyleEditors.d.ts +1 -3
  188. package/src/View/StyledColumn/Wizard/StyledColumnWizardBulletSection.js +79 -68
  189. package/src/View/StyledColumn/Wizard/StyledColumnWizardGradientSection.js +1 -1
  190. package/src/View/StyledColumn/Wizard/StyledColumnWizardIconSection.js +39 -12
  191. package/src/View/StyledColumn/Wizard/StyledColumnWizardRangeBarSection.js +92 -52
  192. package/src/View/StyledColumn/Wizard/StyledColumnWizardScopeSection.js +2 -2
  193. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextLayoutEditor.d.ts +9 -0
  194. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextLayoutEditor.js +33 -0
  195. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextPreview.d.ts +23 -0
  196. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BarStyleCellTextPreview.js +57 -0
  197. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/BulletRangesSummaryPreview.d.ts +1 -1
  198. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.d.ts +3 -2
  199. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/GradientSummaryPreview.js +2 -4
  200. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/RangeBarRangesSummaryPreview.d.ts +1 -1
  201. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBadgePreview.js +3 -2
  202. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.d.ts +2 -1
  203. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnBulletPreview.js +13 -17
  204. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.d.ts +2 -1
  205. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnChartListPreviews.js +5 -5
  206. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnGradientPreview.js +1 -1
  207. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnIconPreview.js +2 -2
  208. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnPercentBarPreview.js +16 -7
  209. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRangeBarPreview.js +11 -17
  210. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnRatingPreview.d.ts +2 -1
  211. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/Components/StyledColumnSparklinePreview.js +1 -1
  212. package/src/View/StyledColumn/Wizard/StyledColumnWizardStyleSection/StyledColumnWizardStyleSection.js +20 -60
  213. package/src/View/UIHelper.js +1 -1
  214. package/src/View/Wizard/OnePageAdaptableWizard.js +1 -1
  215. package/src/View/Wizard/OnePageWizards.js +3 -1
  216. package/src/agGrid/AdaptableAgGrid.js +6 -6
  217. package/src/agGrid/AgGridColumnAdapter.js +16 -14
  218. package/src/agGrid/AgGridExportAdapter.js +1 -1
  219. package/src/agGrid/AgGridMenuAdapter.js +127 -2
  220. package/src/agGrid/cellRenderers/BadgeRenderer.js +8 -6
  221. package/src/agGrid/cellRenderers/BulletChartRenderer.js +45 -44
  222. package/src/agGrid/cellRenderers/IconRenderer.d.ts +2 -1
  223. package/src/agGrid/cellRenderers/IconRenderer.js +15 -14
  224. package/src/agGrid/cellRenderers/PercentBarRenderer.js +26 -98
  225. package/src/agGrid/cellRenderers/RangeBarRenderer.js +52 -50
  226. package/src/agGrid/cellRenderers/RatingRenderer.js +2 -2
  227. package/src/agGrid/editors/AdaptableDateEditor/index.js +1 -1
  228. package/src/components/ColorPicker/ColorPicker.js +1 -1
  229. package/src/components/Datepicker/index.js +1 -1
  230. package/src/components/FormLayout/index.js +1 -1
  231. package/src/components/OverlayTrigger/index.js +1 -1
  232. package/src/env.js +2 -2
  233. package/src/layout-manager/src/isLayoutEqual.js +1 -1
  234. package/src/metamodel/adaptable.metamodel.d.ts +118 -19
  235. package/src/metamodel/adaptable.metamodel.js +1 -1
  236. package/src/migration/VersionUpgrade23.d.ts +27 -31
  237. package/src/migration/VersionUpgrade23.js +110 -29
  238. package/src/types.d.ts +12 -1
  239. package/tsconfig.esm.tsbuildinfo +1 -1
  240. package/src/Utilities/Defaults/DefaultSettingsPanel.d.ts +0 -3
  241. package/src/Utilities/Helpers/iconStyledColumnColumnSupport.d.ts +0 -5
  242. package/src/Utilities/Helpers/iconStyledColumnColumnSupport.js +0 -15
  243. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.d.ts +0 -3
  244. package/src/Utilities/Helpers/resolveSettingsPanelNavigation.js +0 -15
  245. package/src/Utilities/Helpers/styledColumnRowKindSupport.d.ts +0 -25
  246. package/src/Utilities/Helpers/styledColumnRowKindSupport.js +0 -63
  247. package/src/Utilities/Services/CalculatedColumnSyntheticChange.d.ts +0 -4
  248. package/src/Utilities/Services/CalculatedColumnSyntheticChange.js +0 -115
  249. package/src/Utilities/utils/chunk.d.ts +0 -6
  250. package/src/Utilities/utils/chunk.js +0 -17
  251. package/src/Utilities/utils/clamp.d.ts +0 -5
  252. package/src/Utilities/utils/clamp.js +0 -7
  253. package/src/Utilities/utils/cloneDeepWith.d.ts +0 -9
  254. package/src/Utilities/utils/cloneDeepWith.js +0 -67
  255. package/src/Utilities/utils/debounce.d.ts +0 -20
  256. package/src/Utilities/utils/flatten.d.ts +0 -5
  257. package/src/Utilities/utils/flatten.js +0 -7
  258. package/src/Utilities/utils/flattenDeep.d.ts +0 -5
  259. package/src/Utilities/utils/flattenDeep.js +0 -7
  260. package/src/Utilities/utils/get.d.ts +0 -6
  261. package/src/Utilities/utils/get.js +0 -35
  262. package/src/Utilities/utils/index.d.ts +0 -22
  263. package/src/Utilities/utils/index.js +0 -22
  264. package/src/Utilities/utils/isArray.d.ts +0 -6
  265. package/src/Utilities/utils/isArray.js +0 -6
  266. package/src/Utilities/utils/isEqual.d.ts +0 -5
  267. package/src/Utilities/utils/isEqual.js +0 -124
  268. package/src/Utilities/utils/isObject.d.ts +0 -6
  269. package/src/Utilities/utils/isObject.js +0 -9
  270. package/src/Utilities/utils/isPlainObject.d.ts +0 -6
  271. package/src/Utilities/utils/isPlainObject.js +0 -17
  272. package/src/Utilities/utils/kebabCase.d.ts +0 -5
  273. package/src/Utilities/utils/kebabCase.js +0 -8
  274. package/src/Utilities/utils/merge.d.ts +0 -11
  275. package/src/Utilities/utils/merge.js +0 -40
  276. package/src/Utilities/utils/mergeWith.d.ts +0 -7
  277. package/src/Utilities/utils/mergeWith.js +0 -46
  278. package/src/Utilities/utils/orderBy.d.ts +0 -8
  279. package/src/Utilities/utils/orderBy.js +0 -30
  280. package/src/Utilities/utils/parseInt.d.ts +0 -6
  281. package/src/Utilities/utils/parseInt.js +0 -9
  282. package/src/Utilities/utils/sentenceCase.d.ts +0 -6
  283. package/src/Utilities/utils/sentenceCase.js +0 -15
  284. package/src/Utilities/utils/startCase.d.ts +0 -5
  285. package/src/Utilities/utils/startCase.js +0 -11
  286. package/src/Utilities/utils/throttle.d.ts +0 -17
  287. package/src/Utilities/utils/throttle.js +0 -19
  288. package/src/Utilities/utils/toNumber.d.ts +0 -5
  289. package/src/Utilities/utils/toNumber.js +0 -39
  290. package/src/Utilities/utils/uniq.d.ts +0 -7
  291. package/src/Utilities/utils/uniq.js +0 -9
  292. package/src/Utilities/utils/uniqBy.d.ts +0 -8
  293. package/src/Utilities/utils/uniqBy.js +0 -22
  294. package/src/Utilities/utils/words.d.ts +0 -7
  295. package/src/Utilities/utils/words.js +0 -10
  296. package/src/agGrid/buildValueAggregationMenuItem.d.ts +0 -19
  297. package/src/agGrid/buildValueAggregationMenuItem.js +0 -111
  298. package/src/agGrid/cellRenderers/shouldRenderStyledColumnOnRow.d.ts +0 -30
  299. package/src/agGrid/createAgGridIcon.d.ts +0 -10
  300. package/src/agGrid/createAgGridIcon.js +0 -16
  301. /package/src/{Utilities → AdaptableState/Aggregations}/only.d.ts +0 -0
  302. /package/src/{Utilities → AdaptableState/Aggregations}/only.js +0 -0
  303. /package/src/{Utilities → AdaptableState/Aggregations}/weightedAverage.d.ts +0 -0
  304. /package/src/Utilities/Helpers/{ActionColumnWidthHelper.d.ts → ActionColumnHelper.d.ts} +0 -0
  305. /package/src/Utilities/Helpers/{ActionColumnWidthHelper.js → ActionColumnHelper.js} +0 -0
  306. /package/src/Utilities/Helpers/{alertFormHelper.d.ts → AlertHelper.d.ts} +0 -0
  307. /package/src/Utilities/Helpers/{chartingHelper.d.ts → ChartHelper.d.ts} +0 -0
  308. /package/src/Utilities/Helpers/{chartingHelper.js → ChartHelper.js} +0 -0
  309. /package/src/Utilities/Helpers/{FormatHelper.d.ts → DisplayFormatHelper.d.ts} +0 -0
  310. /package/src/Utilities/Helpers/{plusMinusTriggerKeys.d.ts → PlusMinusHelper.d.ts} +0 -0
  311. /package/src/Utilities/Helpers/{plusMinusTriggerKeys.js → PlusMinusHelper.js} +0 -0
  312. /package/src/Utilities/Helpers/{QuickSearchStyleHelper.d.ts → QuickSearchHelper.d.ts} +0 -0
  313. /package/src/Utilities/Helpers/{ScheduleJobManager.js → Scheduling/ScheduleJobManager.js} +0 -0
  314. /package/src/Utilities/Helpers/{ScheduleJobRunner.js → Scheduling/ScheduleJobRunner.js} +0 -0
  315. /package/src/Utilities/Helpers/{SparklineOptionsHelper.d.ts → StyledColumns/SparklineStyleHelper.d.ts} +0 -0
  316. /package/src/Utilities/Helpers/{ThemeHelpers.d.ts → ThemeHelper.d.ts} +0 -0
  317. /package/src/Utilities/Helpers/{ThemeHelpers.js → ThemeHelper.js} +0 -0
@@ -58,6 +58,33 @@ export declare function sortArrayWithOrder<T>(array: T[], order: T[],
58
58
  { sortUnorderedItems }: {
59
59
  sortUnorderedItems: boolean;
60
60
  }): T[];
61
+ /**
62
+ * Creates an array of elements split into groups the length of `size`.
63
+ * If `array` can't be split evenly, the final chunk will be the remaining elements.
64
+ * Drop-in replacement for lodash/chunk.
65
+ */
66
+ export declare function chunk<T>(array: T[], size?: number): T[][];
67
+ /**
68
+ * Flattens array a single level deep.
69
+ * Drop-in replacement for lodash/flatten.
70
+ */
71
+ export declare function flatten<T>(array: (T | T[])[]): T[];
72
+ /**
73
+ * Recursively flattens array.
74
+ * Drop-in replacement for lodash/flattenDeep.
75
+ */
76
+ export declare function flattenDeep<T>(array: any[]): T[];
77
+ /**
78
+ * Creates a duplicate-free version of an array, using SameValueZero for equality
79
+ * comparisons, in which only the first occurrence of each element is kept.
80
+ * Drop-in replacement for lodash/uniq.
81
+ */
82
+ export declare function uniq<T>(array: T[]): T[];
83
+ /**
84
+ * Checks if `value` is classified as an Array object.
85
+ * Drop-in replacement for lodash/isArray.
86
+ */
87
+ export declare const isArray: (value: any) => value is any[];
61
88
  export declare const ArrayExtensions: {
62
89
  GetLength: typeof GetLength;
63
90
  CorrectLength: typeof CorrectLength;
@@ -95,5 +122,10 @@ export declare const ArrayExtensions: {
95
122
  SumArray: typeof SumArray;
96
123
  reorderArray: typeof reorderArray;
97
124
  sortArrayWithOrder: typeof sortArrayWithOrder;
125
+ chunk: typeof chunk;
126
+ flatten: typeof flatten;
127
+ flattenDeep: typeof flattenDeep;
128
+ uniq: typeof uniq;
129
+ isArray: (value: any) => value is any[];
98
130
  };
99
131
  export default ArrayExtensions;
@@ -368,6 +368,50 @@ export function sortArrayWithOrder(array, order,
368
368
  }
369
369
  return [].concat(array).sort(compareItemsOfCustomSort);
370
370
  }
371
+ /**
372
+ * Creates an array of elements split into groups the length of `size`.
373
+ * If `array` can't be split evenly, the final chunk will be the remaining elements.
374
+ * Drop-in replacement for lodash/chunk.
375
+ */
376
+ export function chunk(array, size = 1) {
377
+ const length = array.length;
378
+ if (!length || !(size >= 1)) {
379
+ return [];
380
+ }
381
+ const chunkSize = Math.floor(size);
382
+ const result = [];
383
+ for (let i = 0; i < length; i += chunkSize) {
384
+ result.push(array.slice(i, i + chunkSize));
385
+ }
386
+ return result;
387
+ }
388
+ /**
389
+ * Flattens array a single level deep.
390
+ * Drop-in replacement for lodash/flatten.
391
+ */
392
+ export function flatten(array) {
393
+ return array.flat();
394
+ }
395
+ /**
396
+ * Recursively flattens array.
397
+ * Drop-in replacement for lodash/flattenDeep.
398
+ */
399
+ export function flattenDeep(array) {
400
+ return array.flat(Infinity);
401
+ }
402
+ /**
403
+ * Creates a duplicate-free version of an array, using SameValueZero for equality
404
+ * comparisons, in which only the first occurrence of each element is kept.
405
+ * Drop-in replacement for lodash/uniq.
406
+ */
407
+ export function uniq(array) {
408
+ return [...new Set(array)];
409
+ }
410
+ /**
411
+ * Checks if `value` is classified as an Array object.
412
+ * Drop-in replacement for lodash/isArray.
413
+ */
414
+ export const isArray = Array.isArray;
371
415
  export const ArrayExtensions = {
372
416
  GetLength,
373
417
  CorrectLength,
@@ -405,5 +449,10 @@ export const ArrayExtensions = {
405
449
  SumArray,
406
450
  reorderArray,
407
451
  sortArrayWithOrder,
452
+ chunk,
453
+ flatten,
454
+ flattenDeep,
455
+ uniq,
456
+ isArray,
408
457
  };
409
458
  export default ArrayExtensions;
@@ -3,11 +3,32 @@ export declare function wrapInParentheses(numberToWrap: number): string;
3
3
  export declare function timesBy100(value: any): any;
4
4
  export declare function divideBy100(value: any): any;
5
5
  export declare function avoidJavascriptPrecisionIssues(value: number): number;
6
+ /**
7
+ * Clamps `number` within the inclusive `lower` and `upper` bounds.
8
+ * Drop-in replacement for lodash/clamp.
9
+ */
10
+ export declare function clamp(value: number, lower: number, upper: number): number;
11
+ export declare function roundNumber(numberToRound: any, decimalPlaces: number): number;
12
+ /**
13
+ * Converts value to a number.
14
+ * Drop-in replacement for lodash/toNumber.
15
+ */
16
+ export declare function toNumber(value: any): number;
17
+ /**
18
+ * Converts string to an integer of the specified radix.
19
+ * If radix is undefined or 0, a radix of 10 is used (unlike native parseInt which auto-detects).
20
+ * Drop-in replacement for lodash/parseInt.
21
+ */
22
+ export declare function parseIntFn(string: string, radix?: number): number;
6
23
  export declare const NumberExtensions: {
7
24
  abbreviateNumber: typeof abbreviateNumber;
8
25
  wrapInParentheses: typeof wrapInParentheses;
9
26
  timesBy100: typeof timesBy100;
10
27
  divideBy100: typeof divideBy100;
11
28
  avoidJavascriptPrecisionIssues: typeof avoidJavascriptPrecisionIssues;
29
+ clamp: typeof clamp;
30
+ roundNumber: typeof roundNumber;
31
+ toNumber: typeof toNumber;
32
+ parseIntFn: typeof parseIntFn;
12
33
  };
13
34
  export default NumberExtensions;
@@ -77,11 +77,85 @@ export function avoidJavascriptPrecisionIssues(value) {
77
77
  }
78
78
  return newValue;
79
79
  }
80
+ /**
81
+ * Clamps `number` within the inclusive `lower` and `upper` bounds.
82
+ * Drop-in replacement for lodash/clamp.
83
+ */
84
+ export function clamp(value, lower, upper) {
85
+ return Math.min(Math.max(value, lower), upper);
86
+ }
87
+ export function roundNumber(numberToRound, decimalPlaces) {
88
+ switch (decimalPlaces) {
89
+ case 1:
90
+ return Math.round(numberToRound * 10) / 10;
91
+ case 2:
92
+ return Math.round(numberToRound * 100) / 100;
93
+ case 3:
94
+ return Math.round(numberToRound * 1000) / 1000;
95
+ case 4:
96
+ return Math.round(numberToRound * 10000) / 10000;
97
+ case 5:
98
+ return Math.round(numberToRound * 100000) / 100000;
99
+ case 6:
100
+ return Math.round(numberToRound * 1000000) / 1000000;
101
+ }
102
+ }
103
+ const _reTrimStart = /^\s+/;
104
+ const _reTrimEnd = /\s+$/;
105
+ const _reIsBinary = /^0b[01]+$/i;
106
+ const _reIsOctal = /^0o[0-7]+$/i;
107
+ const _reIsBadHex = /^[-+]0x[0-9a-f]+$/i;
108
+ /**
109
+ * Converts value to a number.
110
+ * Drop-in replacement for lodash/toNumber.
111
+ */
112
+ export function toNumber(value) {
113
+ if (typeof value === 'number') {
114
+ return value;
115
+ }
116
+ if (typeof value === 'symbol') {
117
+ return NaN;
118
+ }
119
+ if (typeof value === 'boolean') {
120
+ return value ? 1 : 0;
121
+ }
122
+ if (value == null) {
123
+ return value === undefined ? NaN : 0;
124
+ }
125
+ if (typeof value === 'string') {
126
+ const trimmed = value.replace(_reTrimStart, '').replace(_reTrimEnd, '');
127
+ if (_reIsBinary.test(trimmed)) {
128
+ return globalThis.parseInt(trimmed.slice(2), 2);
129
+ }
130
+ if (_reIsOctal.test(trimmed)) {
131
+ return globalThis.parseInt(trimmed.slice(2), 8);
132
+ }
133
+ if (_reIsBadHex.test(trimmed)) {
134
+ return NaN;
135
+ }
136
+ return +trimmed;
137
+ }
138
+ const other = typeof value.valueOf === 'function' ? value.valueOf() : value;
139
+ return +other;
140
+ }
141
+ /**
142
+ * Converts string to an integer of the specified radix.
143
+ * If radix is undefined or 0, a radix of 10 is used (unlike native parseInt which auto-detects).
144
+ * Drop-in replacement for lodash/parseInt.
145
+ */
146
+ export function parseIntFn(string, radix) {
147
+ const str = typeof string === 'string' ? string.trim() : String(string);
148
+ return globalThis.parseInt(str, radix || 10);
149
+ }
80
150
  export const NumberExtensions = {
81
151
  abbreviateNumber,
82
152
  wrapInParentheses,
83
153
  timesBy100,
84
154
  divideBy100,
85
155
  avoidJavascriptPrecisionIssues,
156
+ clamp,
157
+ roundNumber,
158
+ toNumber,
159
+ parseIntFn,
86
160
  };
87
161
  export default NumberExtensions;
@@ -13,3 +13,47 @@ export declare const deepClone: (obj: any) => any;
13
13
  export declare const diff: <T extends {
14
14
  [key: string]: unknown;
15
15
  }>(obj1: T, obj2: T) => (keyof T)[];
16
+ /**
17
+ * Checks if `value` is the language type of Object.
18
+ * (e.g. arrays, functions, objects, regexes, new Number(0), and new String(''))
19
+ * Drop-in replacement for lodash/isObject.
20
+ */
21
+ export declare function isObject(value: any): value is object;
22
+ /**
23
+ * Checks if `value` is a plain object, that is, an object created by the
24
+ * Object constructor or one with a [[Prototype]] of null.
25
+ * Drop-in replacement for lodash/isPlainObject.
26
+ */
27
+ export declare function isPlainObject(value: any): value is Record<string, any>;
28
+ /**
29
+ * Performs a deep comparison between two values to determine if they are equivalent.
30
+ * Drop-in replacement for lodash/isEqual.
31
+ */
32
+ export declare function isEqual(value: any, other: any): boolean;
33
+ type CloneCustomizer = (value: any) => any;
34
+ /**
35
+ * Like `cloneDeep` except that it accepts a customizer which is invoked to
36
+ * produce the cloned value. If the customizer returns `undefined`, cloning is
37
+ * handled by the method instead.
38
+ * Drop-in replacement for lodash/cloneDeepWith.
39
+ */
40
+ export declare function cloneDeepWith<T>(value: T, customizer: CloneCustomizer): T;
41
+ /**
42
+ * Recursively merges own enumerable string-keyed properties of source objects
43
+ * into `target`. Source properties that resolve to `undefined` are skipped if a
44
+ * destination value exists. Array and plain object properties are merged
45
+ * recursively; other values are overridden by assignment.
46
+ * Drop-in replacement for lodash/merge.
47
+ */
48
+ export declare function merge<TObject, TSource1>(object: TObject, source1: TSource1): TObject & TSource1;
49
+ export declare function merge<TObject, TSource1, TSource2>(object: TObject, source1: TSource1, source2: TSource2): TObject & TSource1 & TSource2;
50
+ export declare function merge<TObject, TSource1, TSource2, TSource3>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3): TObject & TSource1 & TSource2 & TSource3;
51
+ export declare function merge(target: any, ...sources: any[]): any;
52
+ /**
53
+ * Like `merge` except that it accepts a customizer which is invoked to produce
54
+ * the merged values of the destination and source properties. If the customizer
55
+ * returns `undefined`, merging is handled by the method instead.
56
+ * Drop-in replacement for lodash/mergeWith.
57
+ */
58
+ export declare function mergeWith<T extends object>(target: T, ...args: any[]): T;
59
+ export {};
@@ -34,3 +34,274 @@ export const diff = (obj1, obj2) => {
34
34
  }
35
35
  return changed;
36
36
  };
37
+ /**
38
+ * Checks if `value` is the language type of Object.
39
+ * (e.g. arrays, functions, objects, regexes, new Number(0), and new String(''))
40
+ * Drop-in replacement for lodash/isObject.
41
+ */
42
+ export function isObject(value) {
43
+ const type = typeof value;
44
+ return value != null && (type === 'object' || type === 'function');
45
+ }
46
+ /**
47
+ * Checks if `value` is a plain object, that is, an object created by the
48
+ * Object constructor or one with a [[Prototype]] of null.
49
+ * Drop-in replacement for lodash/isPlainObject.
50
+ */
51
+ export function isPlainObject(value) {
52
+ if (value === null || value === undefined || typeof value !== 'object') {
53
+ return false;
54
+ }
55
+ const proto = Object.getPrototypeOf(value);
56
+ if (proto === null) {
57
+ return true;
58
+ }
59
+ return proto === Object.prototype;
60
+ }
61
+ /**
62
+ * Performs a deep comparison between two values to determine if they are equivalent.
63
+ * Drop-in replacement for lodash/isEqual.
64
+ */
65
+ export function isEqual(value, other) {
66
+ return _baseIsEqual(value, other, new Map());
67
+ }
68
+ function _baseIsEqual(a, b, seen) {
69
+ if (a === b) {
70
+ return true;
71
+ }
72
+ if (a !== a && b !== b) {
73
+ return true;
74
+ }
75
+ if (a == null || b == null) {
76
+ return false;
77
+ }
78
+ const typeA = typeof a;
79
+ const typeB = typeof b;
80
+ if (typeA !== typeB) {
81
+ return false;
82
+ }
83
+ if (typeA !== 'object') {
84
+ return false;
85
+ }
86
+ if (a instanceof Date && b instanceof Date) {
87
+ return a.getTime() === b.getTime();
88
+ }
89
+ if (a instanceof RegExp && b instanceof RegExp) {
90
+ return a.source === b.source && a.flags === b.flags;
91
+ }
92
+ if (a instanceof Date !== b instanceof Date) {
93
+ return false;
94
+ }
95
+ if (a instanceof RegExp !== b instanceof RegExp) {
96
+ return false;
97
+ }
98
+ if (seen.has(a)) {
99
+ return seen.get(a) === b;
100
+ }
101
+ seen.set(a, b);
102
+ if (Array.isArray(a)) {
103
+ if (!Array.isArray(b) || a.length !== b.length) {
104
+ return false;
105
+ }
106
+ for (let i = 0; i < a.length; i++) {
107
+ if (!_baseIsEqual(a[i], b[i], seen)) {
108
+ return false;
109
+ }
110
+ }
111
+ return true;
112
+ }
113
+ if (Array.isArray(b)) {
114
+ return false;
115
+ }
116
+ if (a instanceof Map && b instanceof Map) {
117
+ if (a.size !== b.size) {
118
+ return false;
119
+ }
120
+ for (const [key, val] of a) {
121
+ if (!b.has(key) || !_baseIsEqual(val, b.get(key), seen)) {
122
+ return false;
123
+ }
124
+ }
125
+ return true;
126
+ }
127
+ // Unordered deep comparison for Sets, matching lodash behaviour
128
+ if (a instanceof Set && b instanceof Set) {
129
+ if (a.size !== b.size) {
130
+ return false;
131
+ }
132
+ for (const valA of a) {
133
+ let found = false;
134
+ for (const valB of b) {
135
+ if (_baseIsEqual(valA, valB, new Map(seen))) {
136
+ found = true;
137
+ break;
138
+ }
139
+ }
140
+ if (!found) {
141
+ return false;
142
+ }
143
+ }
144
+ return true;
145
+ }
146
+ if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
147
+ const viewA = a;
148
+ const viewB = b;
149
+ if (viewA.length !== viewB.length) {
150
+ return false;
151
+ }
152
+ for (let i = 0; i < viewA.length; i++) {
153
+ if (viewA[i] !== viewB[i]) {
154
+ return false;
155
+ }
156
+ }
157
+ return true;
158
+ }
159
+ const keysA = Object.keys(a);
160
+ const keysB = Object.keys(b);
161
+ if (keysA.length !== keysB.length) {
162
+ return false;
163
+ }
164
+ for (const key of keysA) {
165
+ if (!Object.prototype.hasOwnProperty.call(b, key)) {
166
+ return false;
167
+ }
168
+ if (!_baseIsEqual(a[key], b[key], seen)) {
169
+ return false;
170
+ }
171
+ }
172
+ return true;
173
+ }
174
+ /**
175
+ * Like `cloneDeep` except that it accepts a customizer which is invoked to
176
+ * produce the cloned value. If the customizer returns `undefined`, cloning is
177
+ * handled by the method instead.
178
+ * Drop-in replacement for lodash/cloneDeepWith.
179
+ */
180
+ export function cloneDeepWith(value, customizer) {
181
+ return _baseCloneDeep(value, customizer, new Map());
182
+ }
183
+ function _baseCloneDeep(value, customizer, seen) {
184
+ const customResult = customizer(value);
185
+ if (customResult !== undefined) {
186
+ return customResult;
187
+ }
188
+ if (value === null || typeof value !== 'object') {
189
+ return value;
190
+ }
191
+ if (seen.has(value)) {
192
+ return seen.get(value);
193
+ }
194
+ if (value instanceof Date) {
195
+ return new Date(value.getTime());
196
+ }
197
+ if (value instanceof RegExp) {
198
+ return new RegExp(value.source, value.flags);
199
+ }
200
+ if (value instanceof Map) {
201
+ const cloned = new Map();
202
+ seen.set(value, cloned);
203
+ value.forEach((v, k) => {
204
+ cloned.set(_baseCloneDeep(k, customizer, seen), _baseCloneDeep(v, customizer, seen));
205
+ });
206
+ return cloned;
207
+ }
208
+ if (value instanceof Set) {
209
+ const cloned = new Set();
210
+ seen.set(value, cloned);
211
+ value.forEach((v) => {
212
+ cloned.add(_baseCloneDeep(v, customizer, seen));
213
+ });
214
+ return cloned;
215
+ }
216
+ if (Array.isArray(value)) {
217
+ const cloned = [];
218
+ seen.set(value, cloned);
219
+ for (let i = 0; i < value.length; i++) {
220
+ cloned[i] = _baseCloneDeep(value[i], customizer, seen);
221
+ }
222
+ return cloned;
223
+ }
224
+ const cloned = Object.create(Object.getPrototypeOf(value));
225
+ seen.set(value, cloned);
226
+ const keys = Object.keys(value);
227
+ for (const key of keys) {
228
+ cloned[key] = _baseCloneDeep(value[key], customizer, seen);
229
+ }
230
+ return cloned;
231
+ }
232
+ function _baseMerge(target, source) {
233
+ if (source == null) {
234
+ return target;
235
+ }
236
+ const keys = Object.keys(source);
237
+ for (const key of keys) {
238
+ const srcValue = source[key];
239
+ const tgtValue = target[key];
240
+ if (Array.isArray(srcValue)) {
241
+ if (!Array.isArray(tgtValue)) {
242
+ target[key] = [];
243
+ }
244
+ _baseMerge(target[key], srcValue);
245
+ }
246
+ else if (isPlainObject(srcValue)) {
247
+ if (!isPlainObject(tgtValue)) {
248
+ target[key] = {};
249
+ }
250
+ _baseMerge(target[key], srcValue);
251
+ }
252
+ else if (srcValue !== undefined) {
253
+ target[key] = srcValue;
254
+ }
255
+ }
256
+ return target;
257
+ }
258
+ export function merge(target, ...sources) {
259
+ for (const source of sources) {
260
+ _baseMerge(target, source);
261
+ }
262
+ return target;
263
+ }
264
+ function _baseMergeWith(target, source, customizer) {
265
+ if (source == null) {
266
+ return target;
267
+ }
268
+ const keys = Object.keys(source);
269
+ for (const key of keys) {
270
+ const srcValue = source[key];
271
+ const tgtValue = target[key];
272
+ const customResult = customizer(tgtValue, srcValue, key, target, source);
273
+ if (customResult !== undefined) {
274
+ target[key] = customResult;
275
+ }
276
+ else if (Array.isArray(srcValue)) {
277
+ if (!Array.isArray(tgtValue)) {
278
+ target[key] = [];
279
+ }
280
+ _baseMergeWith(target[key], srcValue, customizer);
281
+ }
282
+ else if (isPlainObject(srcValue)) {
283
+ if (!isPlainObject(tgtValue)) {
284
+ target[key] = {};
285
+ }
286
+ _baseMergeWith(target[key], srcValue, customizer);
287
+ }
288
+ else if (srcValue !== undefined) {
289
+ target[key] = srcValue;
290
+ }
291
+ }
292
+ return target;
293
+ }
294
+ /**
295
+ * Like `merge` except that it accepts a customizer which is invoked to produce
296
+ * the merged values of the destination and source properties. If the customizer
297
+ * returns `undefined`, merging is handled by the method instead.
298
+ * Drop-in replacement for lodash/mergeWith.
299
+ */
300
+ export function mergeWith(target, ...args) {
301
+ const customizer = args[args.length - 1];
302
+ const sources = args.slice(0, -1);
303
+ for (const source of sources) {
304
+ _baseMergeWith(target, source, customizer);
305
+ }
306
+ return target;
307
+ }
@@ -18,6 +18,28 @@ export declare function ReplaceEmptySpacesWithUnderscore(str?: string): string;
18
18
  export declare function IsNumeric(str: string): boolean;
19
19
  export declare function UnescapeHtmlEntities(str: string): string;
20
20
  export declare function ReplaceAllOccurencesExceptLastOne(str: string, searchTerm: string, replacement: string): string;
21
+ /**
22
+ * Splits a string into words: handles camelCase, PascalCase, UPPER_CASE,
23
+ * UPPER_SNAKE_CASE, snake_case, kebab-case, spaces, and dot.notation.
24
+ * Shared helper used by `kebabCase`, `startCase`, and `sentenceCase`.
25
+ */
26
+ export declare function words(str: string): string[];
27
+ /**
28
+ * Converts string to kebab-case.
29
+ * Drop-in replacement for lodash/kebabCase.
30
+ */
31
+ export declare function kebabCase(string: string): string;
32
+ /**
33
+ * Converts string to Start Case.
34
+ * Drop-in replacement for lodash/startCase.
35
+ */
36
+ export declare function startCase(string: string): string;
37
+ /**
38
+ * Converts string to Sentence case.
39
+ * Splits on camelCase, PascalCase, dots, underscores, hyphens, and non-alphanumeric characters.
40
+ * Drop-in replacement for the sentence-case package.
41
+ */
42
+ export declare function sentenceCase(input: string): string;
21
43
  export declare const StringExtensions: {
22
44
  IsNull: typeof IsNull;
23
45
  IsNotNull: typeof IsNotNull;
@@ -39,5 +61,9 @@ export declare const StringExtensions: {
39
61
  IsNumeric: typeof IsNumeric;
40
62
  UnescapeHtmlEntities: typeof UnescapeHtmlEntities;
41
63
  ReplaceAllOccurencesExceptLastOne: typeof ReplaceAllOccurencesExceptLastOne;
64
+ words: typeof words;
65
+ kebabCase: typeof kebabCase;
66
+ startCase: typeof startCase;
67
+ sentenceCase: typeof sentenceCase;
42
68
  };
43
69
  export default StringExtensions;
@@ -1,4 +1,3 @@
1
- import startCase from '../utils/startCase';
2
1
  export function IsNull(stringToCheck) {
3
2
  return stringToCheck == null || stringToCheck == undefined;
4
3
  }
@@ -107,6 +106,46 @@ export function ReplaceAllOccurencesExceptLastOne(str, searchTerm, replacement)
107
106
  // Recombine the modified first part with the untouched second part
108
107
  return replacedPart + partAfterLast;
109
108
  }
109
+ /**
110
+ * Splits a string into words: handles camelCase, PascalCase, UPPER_CASE,
111
+ * UPPER_SNAKE_CASE, snake_case, kebab-case, spaces, and dot.notation.
112
+ * Shared helper used by `kebabCase`, `startCase`, and `sentenceCase`.
113
+ */
114
+ export function words(str) {
115
+ const matches = str.match(/[A-Z]?[a-z]+|[A-Z]+(?=[A-Z][a-z]|\d|$|[^a-zA-Z0-9])|[A-Z]|[0-9]+/g);
116
+ return matches || [];
117
+ }
118
+ function _capitalizeWord(word) {
119
+ return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
120
+ }
121
+ /**
122
+ * Converts string to kebab-case.
123
+ * Drop-in replacement for lodash/kebabCase.
124
+ */
125
+ export function kebabCase(string) {
126
+ return words(string).map((w) => w.toLowerCase()).join('-');
127
+ }
128
+ /**
129
+ * Converts string to Start Case.
130
+ * Drop-in replacement for lodash/startCase.
131
+ */
132
+ export function startCase(string) {
133
+ return words(string).map(_capitalizeWord).join(' ');
134
+ }
135
+ /**
136
+ * Converts string to Sentence case.
137
+ * Splits on camelCase, PascalCase, dots, underscores, hyphens, and non-alphanumeric characters.
138
+ * Drop-in replacement for the sentence-case package.
139
+ */
140
+ export function sentenceCase(input) {
141
+ const parts = words(input);
142
+ if (parts.length === 0) {
143
+ return '';
144
+ }
145
+ return parts
146
+ .map((w, i) => (i === 0 ? w.charAt(0).toUpperCase() + w.slice(1).toLowerCase() : w.toLowerCase()))
147
+ .join(' ');
148
+ }
110
149
  export const StringExtensions = {
111
150
  IsNull,
112
151
  IsNotNull,
@@ -128,5 +167,9 @@ export const StringExtensions = {
128
167
  IsNumeric,
129
168
  UnescapeHtmlEntities,
130
169
  ReplaceAllOccurencesExceptLastOne,
170
+ words,
171
+ kebabCase,
172
+ startCase,
173
+ sentenceCase,
131
174
  };
132
175
  export default StringExtensions;
@@ -1,5 +1,5 @@
1
- import cloneDeepWith from '../utils/cloneDeepWith';
2
- import isPlainObject from '../utils/isPlainObject';
1
+ import { cloneDeepWith } from '../Extensions/ObjectExtensions';
2
+ import { isPlainObject } from '../Extensions/ObjectExtensions';
3
3
  import { createUuid } from '../../AdaptableState/Uuid';
4
4
  import { ACCESS_LEVEL_FULL, ACCESS_LEVEL_READ_ONLY, } from '../Constants/GeneralConstants';
5
5
  import packageJson from '../../../package.json';
@@ -1,4 +1,4 @@
1
- import { getScheduledAlertNotificationForm, isScheduledAlertDefinition, } from './ScheduledAlertHelper';
1
+ import { getScheduledAlertNotificationForm, isScheduledAlertDefinition, } from './Scheduling/ScheduledAlertHelper';
2
2
  export function resolveAlertFormForDefinition(alert, defaultForm) {
3
3
  if (isScheduledAlertDefinition(alert)) {
4
4
  if (!alert.AlertProperties?.DisplayNotification) {
@@ -1,5 +1,5 @@
1
1
  import { parseISO, parse } from 'date-fns';
2
- import { DateFormatter } from './FormatHelper';
2
+ import { DateFormatter } from './DisplayFormatHelper';
3
3
  import { AdaptableLogger } from '../../agGrid/AdaptableLogger';
4
4
  export const isValidDate = (date) => {
5
5
  return date instanceof Date && !isNaN(date.getTime());
@@ -1,6 +1,6 @@
1
1
  // TODO inspect why the following is erroring on angular build
2
2
  import { format as dateFnsFormat } from 'date-fns';
3
- import sentenceCase from '../utils/sentenceCase';
3
+ import { sentenceCase } from '../Extensions/StringExtensions';
4
4
  import { DEFAULT_DATE_FORMAT_PATTERN } from '../Constants/GeneralConstants';
5
5
  import Helper from './Helper';
6
6
  import StringExtensions from '../Extensions/StringExtensions';