@adaptabletools/adaptable-cjs 22.0.0-canary.11 → 22.0.0-canary.13

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 (141) hide show
  1. package/index.css +3 -12
  2. package/index.css.map +1 -1
  3. package/index.d.ts +8 -8
  4. package/index.js +8 -8
  5. package/package.json +1 -4
  6. package/src/AdaptableOptions/UserInterfaceOptions.d.ts +2 -2
  7. package/src/AdaptableState/Common/AdaptableColumn.d.ts +3 -3
  8. package/src/AdaptableState/Common/AdaptableForm.d.ts +1 -1
  9. package/src/AdaptableState/InitialState.d.ts +1 -1
  10. package/src/AdaptableState/UserInterfaceState.d.ts +1 -1
  11. package/src/Api/ColumnApi.d.ts +1 -1
  12. package/src/Api/Implementation/ColumnApiImpl.d.ts +1 -1
  13. package/src/Api/Implementation/ColumnApiImpl.js +4 -4
  14. package/src/Api/Implementation/LayoutHelpers.js +1 -1
  15. package/src/Api/Internal/ColumnInternalApi.d.ts +1 -1
  16. package/src/Api/Internal/ColumnInternalApi.js +5 -3
  17. package/src/Api/Internal/EventInternalApi.js +1 -1
  18. package/src/Redux/Store/AdaptableReduxLocalStorageEngine.js +1 -1
  19. package/src/Redux/Store/AdaptableReduxMerger.js +5 -6
  20. package/src/Strategy/FormatColumnModule.js +2 -2
  21. package/src/Strategy/LayoutModule.js +1 -1
  22. package/src/Strategy/StyledColumnModule.js +14 -6
  23. package/src/Strategy/TeamSharingModule.js +2 -2
  24. package/src/Strategy/Utilities/FormatColumn/{getFormatColumnSettingsTargetItems.d.ts → getFormatColumnRowTargetItems.d.ts} +1 -1
  25. package/src/Strategy/Utilities/FormatColumn/getFormatColumnRowTargetItems.js +26 -0
  26. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsViewItems.js +5 -13
  27. package/src/Utilities/ExpressionFunctions/aggregatedBooleanExpressionFunctions.js +1 -1
  28. package/src/Utilities/ExpressionFunctions/expressionFunctionUtils.js +1 -1
  29. package/src/Utilities/ExpressionFunctions/observableExpressionFunctions.js +1 -1
  30. package/src/Utilities/Extensions/StringExtensions.js +1 -1
  31. package/src/Utilities/Helpers/AdaptableHelper.js +2 -2
  32. package/src/Utilities/Helpers/FormatHelper.js +2 -2
  33. package/src/Utilities/Services/LicenseService/index.js +1 -1
  34. package/src/Utilities/Services/RowSummaryService.d.ts +1 -1
  35. package/src/Utilities/Services/RowSummaryService.js +2 -2
  36. package/src/Utilities/getScopeViewItems.js +1 -1
  37. package/src/Utilities/utils/chunk.d.ts +6 -0
  38. package/src/Utilities/utils/chunk.js +20 -0
  39. package/src/Utilities/utils/clamp.d.ts +5 -0
  40. package/src/Utilities/utils/clamp.js +10 -0
  41. package/src/Utilities/utils/cloneDeepWith.d.ts +9 -0
  42. package/src/Utilities/utils/cloneDeepWith.js +70 -0
  43. package/src/Utilities/utils/debounce.d.ts +20 -0
  44. package/src/Utilities/utils/debounce.js +124 -0
  45. package/src/Utilities/utils/flatten.d.ts +5 -0
  46. package/src/Utilities/utils/flatten.js +10 -0
  47. package/src/Utilities/utils/flattenDeep.d.ts +5 -0
  48. package/src/Utilities/utils/flattenDeep.js +10 -0
  49. package/src/Utilities/utils/get.d.ts +6 -0
  50. package/src/Utilities/utils/get.js +38 -0
  51. package/src/Utilities/utils/index.d.ts +22 -0
  52. package/src/Utilities/utils/index.js +48 -0
  53. package/src/Utilities/utils/isArray.d.ts +6 -0
  54. package/src/Utilities/utils/isArray.js +8 -0
  55. package/src/Utilities/utils/isEqual.d.ts +5 -0
  56. package/src/Utilities/utils/isEqual.js +127 -0
  57. package/src/Utilities/utils/isObject.d.ts +6 -0
  58. package/src/Utilities/utils/isObject.js +12 -0
  59. package/src/Utilities/utils/isPlainObject.d.ts +6 -0
  60. package/src/Utilities/utils/isPlainObject.js +20 -0
  61. package/src/Utilities/utils/kebabCase.d.ts +5 -0
  62. package/src/Utilities/utils/kebabCase.js +12 -0
  63. package/src/Utilities/utils/merge.d.ts +11 -0
  64. package/src/Utilities/utils/merge.js +44 -0
  65. package/src/Utilities/utils/mergeWith.d.ts +7 -0
  66. package/src/Utilities/utils/mergeWith.js +50 -0
  67. package/src/Utilities/utils/orderBy.d.ts +8 -0
  68. package/src/Utilities/utils/orderBy.js +33 -0
  69. package/src/Utilities/utils/parseInt.d.ts +6 -0
  70. package/src/Utilities/utils/parseInt.js +12 -0
  71. package/src/Utilities/utils/sentenceCase.d.ts +6 -0
  72. package/src/Utilities/utils/sentenceCase.js +19 -0
  73. package/src/Utilities/utils/startCase.d.ts +5 -0
  74. package/src/Utilities/utils/startCase.js +15 -0
  75. package/src/Utilities/utils/throttle.d.ts +17 -0
  76. package/src/Utilities/utils/throttle.js +23 -0
  77. package/src/Utilities/utils/toNumber.d.ts +5 -0
  78. package/src/Utilities/utils/toNumber.js +42 -0
  79. package/src/Utilities/utils/uniq.d.ts +7 -0
  80. package/src/Utilities/utils/uniq.js +12 -0
  81. package/src/Utilities/utils/uniqBy.d.ts +8 -0
  82. package/src/Utilities/utils/uniqBy.js +25 -0
  83. package/src/Utilities/utils/words.d.ts +7 -0
  84. package/src/Utilities/utils/words.js +13 -0
  85. package/src/Utilities/weightedAverage.js +1 -1
  86. package/src/View/AdaptableComputedCSSVarsContext.js +1 -1
  87. package/src/View/AdaptableWizardView/AdaptableConfigurationDialog/ColumnsList.js +1 -1
  88. package/src/View/Alert/Wizard/AlertButtonsEditor.js +2 -2
  89. package/src/View/Charting/ChartingWizard/AgChargingWizard/PreviewChartSection.js +1 -1
  90. package/src/View/Components/ColumnFilter/components/ColumnFilterInput.js +1 -1
  91. package/src/View/Components/ColumnFilter/components/ColumnFilterInputList.js +2 -2
  92. package/src/View/Components/ColumnFilter/components/FloatingFilterInputList.js +2 -2
  93. package/src/View/Components/RangesComponent.js +1 -1
  94. package/src/View/Components/ToolPanel/AdaptableToolPanel.js +1 -1
  95. package/src/View/Components/ToolPanel/CustomToolPanelContent.js +1 -1
  96. package/src/View/Components/ValueSelector/index.js +7 -2
  97. package/src/View/Dashboard/CustomDashboardButton.js +1 -1
  98. package/src/View/Dashboard/Dashboard.js +1 -1
  99. package/src/View/DataImport/DataImportWizard/sections/DataPreview.js +1 -1
  100. package/src/View/DataSet/DataSetViewPanel.d.ts +1 -1
  101. package/src/View/Export/Wizard/NewReportWizard.js +8 -8
  102. package/src/View/Filter/FilterViewPanel.d.ts +1 -1
  103. package/src/View/FlashingCell/Wizard/FlashingCellSettingsWizardSection.js +19 -10
  104. package/src/View/FlashingCell/Wizard/FlashingCellWizard.js +1 -1
  105. package/src/View/FormatColumn/Wizard/FormatColumnFormatWizardSection.js +2 -2
  106. package/src/View/FormatColumn/Wizard/FormatColumnRowScopeWizardSection.d.ts +8 -0
  107. package/src/View/FormatColumn/Wizard/FormatColumnRowScopeWizardSection.js +86 -0
  108. package/src/View/FormatColumn/Wizard/FormatColumnSettingsWizardSection.js +22 -61
  109. package/src/View/FormatColumn/Wizard/FormatColumnWizard.js +22 -10
  110. package/src/View/GridFilter/GridFilterViewPanel.js +3 -3
  111. package/src/View/Layout/LayoutViewPanel.js +1 -1
  112. package/src/View/Layout/Wizard/sections/ColumnsSection.js +1 -1
  113. package/src/View/Note/NoteEditor.js +1 -1
  114. package/src/View/QuickSearch/useQuickSearchDebounced.js +1 -1
  115. package/src/View/SpecialColumnSettingsWizardStep.js +1 -1
  116. package/src/View/StyledColumn/Wizard/StyledColumnBadgeRowsSection.d.ts +8 -0
  117. package/src/View/StyledColumn/Wizard/{StyledColumnWizardSettingsSection.js → StyledColumnBadgeRowsSection.js} +22 -22
  118. package/src/View/StyledColumn/Wizard/StyledColumnWizard.js +10 -11
  119. package/src/View/SystemStatus/SystemStatusViewPanel.d.ts +1 -1
  120. package/src/View/Theme/ThemeEditor.js +1 -1
  121. package/src/View/Theme/ThemeField.js +1 -1
  122. package/src/View/Wizard/OnePageAdaptableWizard.js +1 -1
  123. package/src/agGrid/AdaptableAgGrid.js +2 -2
  124. package/src/agGrid/AgGridAdapter.js +4 -4
  125. package/src/agGrid/AgGridColumnAdapter.js +2 -2
  126. package/src/agGrid/cellRenderers/PercentBarRenderer.js +1 -1
  127. package/src/components/ColorPicker/ColorPicker.js +1 -1
  128. package/src/components/DropdownButton/renderItem.js +1 -1
  129. package/src/components/FormLayout/index.js +1 -1
  130. package/src/components/OverlayTrigger/index.js +1 -1
  131. package/src/env.js +2 -2
  132. package/src/layout-manager/src/isLayoutEqual.js +1 -1
  133. package/src/metamodel/adaptable.metamodel.js +1 -1
  134. package/src/migration/VersionUpgrade22.js +9 -0
  135. package/tsconfig.cjs.tsbuildinfo +1 -1
  136. package/src/Strategy/Utilities/FormatColumn/getFormatColumnSettingsTargetItems.js +0 -16
  137. package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.d.ts +0 -8
  138. package/src/View/FormatColumn/Wizard/FormatColumnTargetWizardSection.js +0 -37
  139. package/src/View/StyledColumn/Wizard/StyledColumnWizardSettingsSection.d.ts +0 -8
  140. /package/src/View/FormatColumn/Wizard/{FormatColumnScopeWizardSection.d.ts → FormatColumnColumnScopeWizardSection.d.ts} +0 -0
  141. /package/src/View/FormatColumn/Wizard/{FormatColumnScopeWizardSection.js → FormatColumnColumnScopeWizardSection.js} +0 -0
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = flatten;
4
+ /**
5
+ * Flattens array a single level deep.
6
+ * Drop-in replacement for lodash/flatten.
7
+ */
8
+ function flatten(array) {
9
+ return array.flat();
10
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Recursively flattens array.
3
+ * Drop-in replacement for lodash/flattenDeep.
4
+ */
5
+ export default function flattenDeep<T>(array: any[]): T[];
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = flattenDeep;
4
+ /**
5
+ * Recursively flattens array.
6
+ * Drop-in replacement for lodash/flattenDeep.
7
+ */
8
+ function flattenDeep(array) {
9
+ return array.flat(Infinity);
10
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Gets the value at path of object. If the resolved value is undefined,
3
+ * the defaultValue is returned in its place.
4
+ * Drop-in replacement for lodash/get.
5
+ */
6
+ export default function get(object: any, path: string | string[], defaultValue?: any): any;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ /**
3
+ * Gets the value at path of object. If the resolved value is undefined,
4
+ * the defaultValue is returned in its place.
5
+ * Drop-in replacement for lodash/get.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.default = get;
9
+ const rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g;
10
+ function toPath(path) {
11
+ if (Array.isArray(path)) {
12
+ return path;
13
+ }
14
+ const result = [];
15
+ const str = String(path);
16
+ str.replace(rePropName, (match, number, quote, subString) => {
17
+ result.push(quote ? subString.replace(/\\(\\)?/g, '$1') : number || match);
18
+ return match;
19
+ });
20
+ return result;
21
+ }
22
+ function get(object, path, defaultValue) {
23
+ if (typeof path === 'string' && path === '') {
24
+ return defaultValue;
25
+ }
26
+ const keys = toPath(path);
27
+ if (keys.length === 0) {
28
+ return defaultValue;
29
+ }
30
+ let result = object;
31
+ for (const key of keys) {
32
+ if (result == null) {
33
+ return defaultValue;
34
+ }
35
+ result = result[key];
36
+ }
37
+ return result === undefined ? defaultValue : result;
38
+ }
@@ -0,0 +1,22 @@
1
+ export { default as chunk } from './chunk';
2
+ export { default as clamp } from './clamp';
3
+ export { default as cloneDeepWith } from './cloneDeepWith';
4
+ export { default as debounce } from './debounce';
5
+ export { default as flatten } from './flatten';
6
+ export { default as flattenDeep } from './flattenDeep';
7
+ export { default as get } from './get';
8
+ export { default as isArray } from './isArray';
9
+ export { default as isEqual } from './isEqual';
10
+ export { default as isObject } from './isObject';
11
+ export { default as isPlainObject } from './isPlainObject';
12
+ export { default as kebabCase } from './kebabCase';
13
+ export { default as merge } from './merge';
14
+ export { default as mergeWith } from './mergeWith';
15
+ export { default as orderBy } from './orderBy';
16
+ export { default as parseInt } from './parseInt';
17
+ export { default as sentenceCase } from './sentenceCase';
18
+ export { default as startCase } from './startCase';
19
+ export { default as throttle } from './throttle';
20
+ export { default as toNumber } from './toNumber';
21
+ export { default as uniq } from './uniq';
22
+ export { default as uniqBy } from './uniqBy';
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uniqBy = exports.uniq = exports.toNumber = exports.throttle = exports.startCase = exports.sentenceCase = exports.parseInt = exports.orderBy = exports.mergeWith = exports.merge = exports.kebabCase = exports.isPlainObject = exports.isObject = exports.isEqual = exports.isArray = exports.get = exports.flattenDeep = exports.flatten = exports.debounce = exports.cloneDeepWith = exports.clamp = exports.chunk = void 0;
4
+ const tslib_1 = require("tslib");
5
+ var chunk_1 = require("./chunk");
6
+ Object.defineProperty(exports, "chunk", { enumerable: true, get: function () { return tslib_1.__importDefault(chunk_1).default; } });
7
+ var clamp_1 = require("./clamp");
8
+ Object.defineProperty(exports, "clamp", { enumerable: true, get: function () { return tslib_1.__importDefault(clamp_1).default; } });
9
+ var cloneDeepWith_1 = require("./cloneDeepWith");
10
+ Object.defineProperty(exports, "cloneDeepWith", { enumerable: true, get: function () { return tslib_1.__importDefault(cloneDeepWith_1).default; } });
11
+ var debounce_1 = require("./debounce");
12
+ Object.defineProperty(exports, "debounce", { enumerable: true, get: function () { return tslib_1.__importDefault(debounce_1).default; } });
13
+ var flatten_1 = require("./flatten");
14
+ Object.defineProperty(exports, "flatten", { enumerable: true, get: function () { return tslib_1.__importDefault(flatten_1).default; } });
15
+ var flattenDeep_1 = require("./flattenDeep");
16
+ Object.defineProperty(exports, "flattenDeep", { enumerable: true, get: function () { return tslib_1.__importDefault(flattenDeep_1).default; } });
17
+ var get_1 = require("./get");
18
+ Object.defineProperty(exports, "get", { enumerable: true, get: function () { return tslib_1.__importDefault(get_1).default; } });
19
+ var isArray_1 = require("./isArray");
20
+ Object.defineProperty(exports, "isArray", { enumerable: true, get: function () { return tslib_1.__importDefault(isArray_1).default; } });
21
+ var isEqual_1 = require("./isEqual");
22
+ Object.defineProperty(exports, "isEqual", { enumerable: true, get: function () { return tslib_1.__importDefault(isEqual_1).default; } });
23
+ var isObject_1 = require("./isObject");
24
+ Object.defineProperty(exports, "isObject", { enumerable: true, get: function () { return tslib_1.__importDefault(isObject_1).default; } });
25
+ var isPlainObject_1 = require("./isPlainObject");
26
+ Object.defineProperty(exports, "isPlainObject", { enumerable: true, get: function () { return tslib_1.__importDefault(isPlainObject_1).default; } });
27
+ var kebabCase_1 = require("./kebabCase");
28
+ Object.defineProperty(exports, "kebabCase", { enumerable: true, get: function () { return tslib_1.__importDefault(kebabCase_1).default; } });
29
+ var merge_1 = require("./merge");
30
+ Object.defineProperty(exports, "merge", { enumerable: true, get: function () { return tslib_1.__importDefault(merge_1).default; } });
31
+ var mergeWith_1 = require("./mergeWith");
32
+ Object.defineProperty(exports, "mergeWith", { enumerable: true, get: function () { return tslib_1.__importDefault(mergeWith_1).default; } });
33
+ var orderBy_1 = require("./orderBy");
34
+ Object.defineProperty(exports, "orderBy", { enumerable: true, get: function () { return tslib_1.__importDefault(orderBy_1).default; } });
35
+ var parseInt_1 = require("./parseInt");
36
+ Object.defineProperty(exports, "parseInt", { enumerable: true, get: function () { return tslib_1.__importDefault(parseInt_1).default; } });
37
+ var sentenceCase_1 = require("./sentenceCase");
38
+ Object.defineProperty(exports, "sentenceCase", { enumerable: true, get: function () { return tslib_1.__importDefault(sentenceCase_1).default; } });
39
+ var startCase_1 = require("./startCase");
40
+ Object.defineProperty(exports, "startCase", { enumerable: true, get: function () { return tslib_1.__importDefault(startCase_1).default; } });
41
+ var throttle_1 = require("./throttle");
42
+ Object.defineProperty(exports, "throttle", { enumerable: true, get: function () { return tslib_1.__importDefault(throttle_1).default; } });
43
+ var toNumber_1 = require("./toNumber");
44
+ Object.defineProperty(exports, "toNumber", { enumerable: true, get: function () { return tslib_1.__importDefault(toNumber_1).default; } });
45
+ var uniq_1 = require("./uniq");
46
+ Object.defineProperty(exports, "uniq", { enumerable: true, get: function () { return tslib_1.__importDefault(uniq_1).default; } });
47
+ var uniqBy_1 = require("./uniqBy");
48
+ Object.defineProperty(exports, "uniqBy", { enumerable: true, get: function () { return tslib_1.__importDefault(uniqBy_1).default; } });
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Checks if value is classified as an Array object.
3
+ * Drop-in replacement for lodash/isArray.
4
+ */
5
+ declare const isArray: (value: any) => value is any[];
6
+ export default isArray;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ /**
4
+ * Checks if value is classified as an Array object.
5
+ * Drop-in replacement for lodash/isArray.
6
+ */
7
+ const isArray = Array.isArray;
8
+ exports.default = isArray;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Performs a deep comparison between two values to determine if they are equivalent.
3
+ * Drop-in replacement for lodash/isEqual.
4
+ */
5
+ export default function isEqual(value: any, other: any): boolean;
@@ -0,0 +1,127 @@
1
+ "use strict";
2
+ /**
3
+ * Performs a deep comparison between two values to determine if they are equivalent.
4
+ * Drop-in replacement for lodash/isEqual.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.default = isEqual;
8
+ function baseIsEqual(a, b, seen) {
9
+ // Identical references or primitives
10
+ if (a === b) {
11
+ return true;
12
+ }
13
+ // NaN check
14
+ if (a !== a && b !== b) {
15
+ return true;
16
+ }
17
+ // Null/undefined/primitive mismatch
18
+ if (a == null || b == null) {
19
+ return false;
20
+ }
21
+ const typeA = typeof a;
22
+ const typeB = typeof b;
23
+ if (typeA !== typeB) {
24
+ return false;
25
+ }
26
+ if (typeA !== 'object') {
27
+ return false;
28
+ }
29
+ // Date
30
+ if (a instanceof Date && b instanceof Date) {
31
+ return a.getTime() === b.getTime();
32
+ }
33
+ // RegExp
34
+ if (a instanceof RegExp && b instanceof RegExp) {
35
+ return a.source === b.source && a.flags === b.flags;
36
+ }
37
+ // One is Date/RegExp but the other is not
38
+ if (a instanceof Date !== b instanceof Date) {
39
+ return false;
40
+ }
41
+ if (a instanceof RegExp !== b instanceof RegExp) {
42
+ return false;
43
+ }
44
+ // Circular reference detection
45
+ if (seen.has(a)) {
46
+ return seen.get(a) === b;
47
+ }
48
+ seen.set(a, b);
49
+ // Arrays
50
+ if (Array.isArray(a)) {
51
+ if (!Array.isArray(b) || a.length !== b.length) {
52
+ return false;
53
+ }
54
+ for (let i = 0; i < a.length; i++) {
55
+ if (!baseIsEqual(a[i], b[i], seen)) {
56
+ return false;
57
+ }
58
+ }
59
+ return true;
60
+ }
61
+ if (Array.isArray(b)) {
62
+ return false;
63
+ }
64
+ // Map
65
+ if (a instanceof Map && b instanceof Map) {
66
+ if (a.size !== b.size) {
67
+ return false;
68
+ }
69
+ for (const [key, val] of a) {
70
+ if (!b.has(key) || !baseIsEqual(val, b.get(key), seen)) {
71
+ return false;
72
+ }
73
+ }
74
+ return true;
75
+ }
76
+ // Set (unordered deep comparison, matching lodash behavior)
77
+ if (a instanceof Set && b instanceof Set) {
78
+ if (a.size !== b.size) {
79
+ return false;
80
+ }
81
+ for (const valA of a) {
82
+ let found = false;
83
+ for (const valB of b) {
84
+ if (baseIsEqual(valA, valB, new Map(seen))) {
85
+ found = true;
86
+ break;
87
+ }
88
+ }
89
+ if (!found) {
90
+ return false;
91
+ }
92
+ }
93
+ return true;
94
+ }
95
+ // ArrayBuffer / TypedArray
96
+ if (ArrayBuffer.isView(a) && ArrayBuffer.isView(b)) {
97
+ const viewA = a;
98
+ const viewB = b;
99
+ if (viewA.length !== viewB.length) {
100
+ return false;
101
+ }
102
+ for (let i = 0; i < viewA.length; i++) {
103
+ if (viewA[i] !== viewB[i]) {
104
+ return false;
105
+ }
106
+ }
107
+ return true;
108
+ }
109
+ // Plain objects
110
+ const keysA = Object.keys(a);
111
+ const keysB = Object.keys(b);
112
+ if (keysA.length !== keysB.length) {
113
+ return false;
114
+ }
115
+ for (const key of keysA) {
116
+ if (!Object.prototype.hasOwnProperty.call(b, key)) {
117
+ return false;
118
+ }
119
+ if (!baseIsEqual(a[key], b[key], seen)) {
120
+ return false;
121
+ }
122
+ }
123
+ return true;
124
+ }
125
+ function isEqual(value, other) {
126
+ return baseIsEqual(value, other, new Map());
127
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Checks if value is the language type of Object.
3
+ * (e.g. arrays, functions, objects, regexes, new Number(0), and new String(''))
4
+ * Drop-in replacement for lodash/isObject.
5
+ */
6
+ export default function isObject(value: any): value is object;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = isObject;
4
+ /**
5
+ * Checks if value is the language type of Object.
6
+ * (e.g. arrays, functions, objects, regexes, new Number(0), and new String(''))
7
+ * Drop-in replacement for lodash/isObject.
8
+ */
9
+ function isObject(value) {
10
+ const type = typeof value;
11
+ return value != null && (type === 'object' || type === 'function');
12
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Checks if value is a plain object, that is, an object created by the
3
+ * Object constructor or one with a [[Prototype]] of null.
4
+ * Drop-in replacement for lodash/isPlainObject.
5
+ */
6
+ export default function isPlainObject(value: any): value is Record<string, any>;
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = isPlainObject;
4
+ /**
5
+ * Checks if value is a plain object, that is, an object created by the
6
+ * Object constructor or one with a [[Prototype]] of null.
7
+ * Drop-in replacement for lodash/isPlainObject.
8
+ */
9
+ function isPlainObject(value) {
10
+ if (value === null || value === undefined || typeof value !== 'object') {
11
+ return false;
12
+ }
13
+ const proto = Object.getPrototypeOf(value);
14
+ // Object.create(null)
15
+ if (proto === null) {
16
+ return true;
17
+ }
18
+ // Normal plain objects
19
+ return proto === Object.prototype;
20
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Converts string to kebab-case.
3
+ * Drop-in replacement for lodash/kebabCase.
4
+ */
5
+ export default function kebabCase(string: string): string;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ /**
3
+ * Converts string to kebab-case.
4
+ * Drop-in replacement for lodash/kebabCase.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.default = kebabCase;
8
+ const tslib_1 = require("tslib");
9
+ const words_1 = tslib_1.__importDefault(require("./words"));
10
+ function kebabCase(string) {
11
+ return (0, words_1.default)(string).map((w) => w.toLowerCase()).join('-');
12
+ }
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Recursively merges own enumerable string keyed properties of source objects into
3
+ * the destination object. Source properties that resolve to undefined are skipped if
4
+ * a destination value exists. Array and plain object properties are merged recursively.
5
+ * Other objects and value types are overridden by assignment.
6
+ * Drop-in replacement for lodash/merge.
7
+ */
8
+ export default function merge<TObject, TSource1>(object: TObject, source1: TSource1): TObject & TSource1;
9
+ export default function merge<TObject, TSource1, TSource2>(object: TObject, source1: TSource1, source2: TSource2): TObject & TSource1 & TSource2;
10
+ export default function merge<TObject, TSource1, TSource2, TSource3>(object: TObject, source1: TSource1, source2: TSource2, source3: TSource3): TObject & TSource1 & TSource2 & TSource3;
11
+ export default function merge(target: any, ...sources: any[]): any;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ /**
3
+ * Recursively merges own enumerable string keyed properties of source objects into
4
+ * the destination object. Source properties that resolve to undefined are skipped if
5
+ * a destination value exists. Array and plain object properties are merged recursively.
6
+ * Other objects and value types are overridden by assignment.
7
+ * Drop-in replacement for lodash/merge.
8
+ */
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.default = merge;
11
+ const tslib_1 = require("tslib");
12
+ const isPlainObject_1 = tslib_1.__importDefault(require("./isPlainObject"));
13
+ function baseMerge(target, source) {
14
+ if (source == null) {
15
+ return target;
16
+ }
17
+ const keys = Object.keys(source);
18
+ for (const key of keys) {
19
+ const srcValue = source[key];
20
+ const tgtValue = target[key];
21
+ if (Array.isArray(srcValue)) {
22
+ if (!Array.isArray(tgtValue)) {
23
+ target[key] = [];
24
+ }
25
+ baseMerge(target[key], srcValue);
26
+ }
27
+ else if ((0, isPlainObject_1.default)(srcValue)) {
28
+ if (!(0, isPlainObject_1.default)(tgtValue)) {
29
+ target[key] = {};
30
+ }
31
+ baseMerge(target[key], srcValue);
32
+ }
33
+ else if (srcValue !== undefined) {
34
+ target[key] = srcValue;
35
+ }
36
+ }
37
+ return target;
38
+ }
39
+ function merge(target, ...sources) {
40
+ for (const source of sources) {
41
+ baseMerge(target, source);
42
+ }
43
+ return target;
44
+ }
@@ -0,0 +1,7 @@
1
+ /**
2
+ * This method is like `merge` except that it accepts customizer which is
3
+ * invoked to produce the merged values of the destination and source properties.
4
+ * If customizer returns undefined, merging is handled by the method instead.
5
+ * Drop-in replacement for lodash/mergeWith.
6
+ */
7
+ export default function mergeWith<T extends object>(target: T, ...args: any[]): T;
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ /**
3
+ * This method is like `merge` except that it accepts customizer which is
4
+ * invoked to produce the merged values of the destination and source properties.
5
+ * If customizer returns undefined, merging is handled by the method instead.
6
+ * Drop-in replacement for lodash/mergeWith.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.default = mergeWith;
10
+ const tslib_1 = require("tslib");
11
+ const isPlainObject_1 = tslib_1.__importDefault(require("./isPlainObject"));
12
+ function baseMergeWith(target, source, customizer) {
13
+ if (source == null) {
14
+ return target;
15
+ }
16
+ const keys = Object.keys(source);
17
+ for (const key of keys) {
18
+ const srcValue = source[key];
19
+ const tgtValue = target[key];
20
+ const customResult = customizer(tgtValue, srcValue, key, target, source);
21
+ if (customResult !== undefined) {
22
+ target[key] = customResult;
23
+ }
24
+ else if (Array.isArray(srcValue)) {
25
+ if (!Array.isArray(tgtValue)) {
26
+ target[key] = [];
27
+ }
28
+ baseMergeWith(target[key], srcValue, customizer);
29
+ }
30
+ else if ((0, isPlainObject_1.default)(srcValue)) {
31
+ if (!(0, isPlainObject_1.default)(tgtValue)) {
32
+ target[key] = {};
33
+ }
34
+ baseMergeWith(target[key], srcValue, customizer);
35
+ }
36
+ else if (srcValue !== undefined) {
37
+ target[key] = srcValue;
38
+ }
39
+ }
40
+ return target;
41
+ }
42
+ function mergeWith(target, ...args) {
43
+ // The last argument is the customizer function
44
+ const customizer = args[args.length - 1];
45
+ const sources = args.slice(0, -1);
46
+ for (const source of sources) {
47
+ baseMergeWith(target, source, customizer);
48
+ }
49
+ return target;
50
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * This method is like `sortBy` except that it allows specifying the sort
3
+ * orders of the iteratees to sort by. If orders is unspecified, all values
4
+ * are sorted in ascending order. Otherwise, specify an order of "desc" for
5
+ * descending or "asc" for ascending sort order of corresponding values.
6
+ * Drop-in replacement for lodash/orderBy.
7
+ */
8
+ export default function orderBy<T>(collection: T[], iteratees: ((item: T) => any)[] | string[], orders?: ('asc' | 'desc')[]): T[];
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = orderBy;
4
+ /**
5
+ * This method is like `sortBy` except that it allows specifying the sort
6
+ * orders of the iteratees to sort by. If orders is unspecified, all values
7
+ * are sorted in ascending order. Otherwise, specify an order of "desc" for
8
+ * descending or "asc" for ascending sort order of corresponding values.
9
+ * Drop-in replacement for lodash/orderBy.
10
+ */
11
+ function orderBy(collection, iteratees, orders) {
12
+ const result = [...collection];
13
+ const fns = iteratees.map((iteratee) => typeof iteratee === 'function' ? iteratee : (item) => item?.[iteratee]);
14
+ result.sort((a, b) => {
15
+ for (let i = 0; i < fns.length; i++) {
16
+ const valA = fns[i](a);
17
+ const valB = fns[i](b);
18
+ if (valA !== valB) {
19
+ const order = orders?.[i] === 'desc' ? -1 : 1;
20
+ if (valA == null)
21
+ return 1;
22
+ if (valB == null)
23
+ return -1;
24
+ if (valA < valB)
25
+ return -order;
26
+ if (valA > valB)
27
+ return order;
28
+ }
29
+ }
30
+ return 0;
31
+ });
32
+ return result;
33
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Converts string to an integer of the specified radix.
3
+ * If radix is undefined or 0, a radix of 10 is used (unlike native parseInt which auto-detects).
4
+ * Drop-in replacement for lodash/parseInt.
5
+ */
6
+ export default function parseIntFn(string: string, radix?: number): number;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.default = parseIntFn;
4
+ /**
5
+ * Converts string to an integer of the specified radix.
6
+ * If radix is undefined or 0, a radix of 10 is used (unlike native parseInt which auto-detects).
7
+ * Drop-in replacement for lodash/parseInt.
8
+ */
9
+ function parseIntFn(string, radix) {
10
+ const str = typeof string === 'string' ? string.trim() : String(string);
11
+ return globalThis.parseInt(str, radix || 10);
12
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Converts string to Sentence case.
3
+ * Splits on camelCase, PascalCase, dots, underscores, hyphens, and non-alphanumeric characters.
4
+ * Drop-in replacement for the sentence-case package.
5
+ */
6
+ export default function sentenceCase(input: string): string;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ /**
3
+ * Converts string to Sentence case.
4
+ * Splits on camelCase, PascalCase, dots, underscores, hyphens, and non-alphanumeric characters.
5
+ * Drop-in replacement for the sentence-case package.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.default = sentenceCase;
9
+ const tslib_1 = require("tslib");
10
+ const words_1 = tslib_1.__importDefault(require("./words"));
11
+ function sentenceCase(input) {
12
+ const parts = (0, words_1.default)(input);
13
+ if (parts.length === 0) {
14
+ return '';
15
+ }
16
+ return parts
17
+ .map((w, i) => (i === 0 ? w.charAt(0).toUpperCase() + w.slice(1).toLowerCase() : w.toLowerCase()))
18
+ .join(' ');
19
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Converts string to Start Case.
3
+ * Drop-in replacement for lodash/startCase.
4
+ */
5
+ export default function startCase(string: string): string;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ /**
3
+ * Converts string to Start Case.
4
+ * Drop-in replacement for lodash/startCase.
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.default = startCase;
8
+ const tslib_1 = require("tslib");
9
+ const words_1 = tslib_1.__importDefault(require("./words"));
10
+ function capitalize(word) {
11
+ return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
12
+ }
13
+ function startCase(string) {
14
+ return (0, words_1.default)(string).map(capitalize).join(' ');
15
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Creates a throttled function that only invokes func at most once per
3
+ * every wait milliseconds. The throttled function comes with a cancel
4
+ * method to cancel delayed func invocations and a flush method to
5
+ * immediately invoke them.
6
+ *
7
+ * Supports options: { leading, trailing }
8
+ * Drop-in replacement for lodash/throttle.
9
+ *
10
+ * Implemented using debounce with maxWait (same approach as lodash).
11
+ */
12
+ import { DebouncedFunction } from './debounce';
13
+ export interface ThrottleOptions {
14
+ leading?: boolean;
15
+ trailing?: boolean;
16
+ }
17
+ export default function throttle<T extends (...args: any[]) => any>(func: T, wait?: number, options?: ThrottleOptions): DebouncedFunction<T>;
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ /**
3
+ * Creates a throttled function that only invokes func at most once per
4
+ * every wait milliseconds. The throttled function comes with a cancel
5
+ * method to cancel delayed func invocations and a flush method to
6
+ * immediately invoke them.
7
+ *
8
+ * Supports options: { leading, trailing }
9
+ * Drop-in replacement for lodash/throttle.
10
+ *
11
+ * Implemented using debounce with maxWait (same approach as lodash).
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.default = throttle;
15
+ const tslib_1 = require("tslib");
16
+ const debounce_1 = tslib_1.__importDefault(require("./debounce"));
17
+ function throttle(func, wait = 0, options) {
18
+ return (0, debounce_1.default)(func, wait, {
19
+ leading: options?.leading ?? true,
20
+ trailing: options?.trailing ?? true,
21
+ maxWait: wait,
22
+ });
23
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Converts value to a number.
3
+ * Drop-in replacement for lodash/toNumber.
4
+ */
5
+ export default function toNumber(value: any): number;