@slickgrid-universal/utils 5.10.2 → 9.0.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.
- package/dist/{types/domUtils.d.ts → domUtils.d.ts} +1 -1
- package/dist/domUtils.d.ts.map +1 -0
- package/dist/{esm/domUtils.js → domUtils.js} +23 -41
- package/dist/domUtils.js.map +1 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/models/interfaces.d.ts.map +1 -0
- package/dist/{cjs/models → models}/interfaces.js.map +1 -1
- package/dist/models/types.d.ts.map +1 -0
- package/dist/{cjs/models → models}/types.js.map +1 -1
- package/dist/nodeExtend.d.ts.map +1 -0
- package/dist/{esm/nodeExtend.js → nodeExtend.js} +4 -2
- package/dist/nodeExtend.js.map +1 -0
- package/dist/stripTagsUtil.d.ts.map +1 -0
- package/dist/{esm/stripTagsUtil.js → stripTagsUtil.js} +2 -2
- package/dist/stripTagsUtil.js.map +1 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/{esm/utils.js → utils.js} +26 -18
- package/dist/utils.js.map +1 -0
- package/package.json +7 -9
- package/src/domUtils.ts +48 -58
- package/src/index.ts +1 -1
- package/src/models/types.ts +2 -5
- package/src/nodeExtend.ts +5 -3
- package/src/stripTagsUtil.ts +9 -9
- package/src/utils.ts +31 -20
- package/dist/cjs/domUtils.js +0 -259
- package/dist/cjs/domUtils.js.map +0 -1
- package/dist/cjs/index.js +0 -21
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/models/interfaces.js +0 -3
- package/dist/cjs/models/types.js +0 -3
- package/dist/cjs/nodeExtend.js +0 -123
- package/dist/cjs/nodeExtend.js.map +0 -1
- package/dist/cjs/stripTagsUtil.js +0 -175
- package/dist/cjs/stripTagsUtil.js.map +0 -1
- package/dist/cjs/utils.js +0 -370
- package/dist/cjs/utils.js.map +0 -1
- package/dist/esm/domUtils.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/models/interfaces.js.map +0 -1
- package/dist/esm/models/types.js.map +0 -1
- package/dist/esm/nodeExtend.js.map +0 -1
- package/dist/esm/stripTagsUtil.js.map +0 -1
- package/dist/esm/utils.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/types/domUtils.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/models/interfaces.d.ts.map +0 -1
- package/dist/types/models/types.d.ts.map +0 -1
- package/dist/types/nodeExtend.d.ts.map +0 -1
- package/dist/types/stripTagsUtil.d.ts.map +0 -1
- package/dist/types/utils.d.ts.map +0 -1
- /package/dist/{types/index.d.ts → index.d.ts} +0 -0
- /package/dist/{esm/index.js → index.js} +0 -0
- /package/dist/{types/models → models}/interfaces.d.ts +0 -0
- /package/dist/{esm/models → models}/interfaces.js +0 -0
- /package/dist/{types/models → models}/types.d.ts +0 -0
- /package/dist/{esm/models → models}/types.js +0 -0
- /package/dist/{types/nodeExtend.d.ts → nodeExtend.d.ts} +0 -0
- /package/dist/{types/stripTagsUtil.d.ts → stripTagsUtil.d.ts} +0 -0
- /package/dist/{types/utils.d.ts → utils.d.ts} +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { HtmlElementPosition } from './models/interfaces.js';
|
|
2
2
|
import type { InferDOMType } from './models/types.js';
|
|
3
|
-
/**
|
|
3
|
+
/** Calculate available space for each side of the DOM element */
|
|
4
4
|
export declare function calculateAvailableSpace(element: HTMLElement): {
|
|
5
5
|
top: number;
|
|
6
6
|
bottom: number;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domUtils.d.ts","sourceRoot":"","sources":["../src/domUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,13 @@
|
|
|
1
|
-
/**
|
|
1
|
+
/** Calculate available space for each side of the DOM element */
|
|
2
2
|
export function calculateAvailableSpace(element) {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
const pageScrollLeft = scrollPosition.left;
|
|
12
|
-
const elmOffset = getOffset(element);
|
|
13
|
-
if (elmOffset) {
|
|
14
|
-
const elementOffsetTop = elmOffset.top;
|
|
15
|
-
const elementOffsetLeft = elmOffset.left;
|
|
16
|
-
top = elementOffsetTop - pageScrollTop;
|
|
17
|
-
left = elementOffsetLeft - pageScrollLeft;
|
|
18
|
-
bottom = windowHeight - (elementOffsetTop - pageScrollTop + element.clientHeight);
|
|
19
|
-
right = windowWidth - (elementOffsetLeft - pageScrollLeft + element.clientWidth);
|
|
20
|
-
}
|
|
3
|
+
const vh = window.innerHeight || 0;
|
|
4
|
+
const vw = window.innerWidth || 0;
|
|
5
|
+
const { top: pageScrollTop, left: pageScrollLeft } = windowScrollPosition();
|
|
6
|
+
const { top: elementOffsetTop, left: elementOffsetLeft } = getOffset(element) || {};
|
|
7
|
+
const top = elementOffsetTop - pageScrollTop;
|
|
8
|
+
const left = elementOffsetLeft - pageScrollLeft;
|
|
9
|
+
const bottom = vh - (elementOffsetTop - pageScrollTop + element.clientHeight);
|
|
10
|
+
const right = vw - (elementOffsetLeft - pageScrollLeft + element.clientWidth);
|
|
21
11
|
return { top, bottom, left, right };
|
|
22
12
|
}
|
|
23
13
|
/**
|
|
@@ -47,9 +37,7 @@ export function createDomElement(tagName, elementOptions, appendToParent) {
|
|
|
47
37
|
}
|
|
48
38
|
});
|
|
49
39
|
}
|
|
50
|
-
|
|
51
|
-
appendToParent.appendChild(elm);
|
|
52
|
-
}
|
|
40
|
+
appendToParent?.appendChild(elm);
|
|
53
41
|
return elm;
|
|
54
42
|
}
|
|
55
43
|
/**
|
|
@@ -60,7 +48,7 @@ export function createDomElement(tagName, elementOptions, appendToParent) {
|
|
|
60
48
|
* @param {String} className - space separated list of class names
|
|
61
49
|
*/
|
|
62
50
|
export function classNameToList(className = '') {
|
|
63
|
-
return className.split(' ').filter(cls => cls); // filter will remove whitespace entries
|
|
51
|
+
return className.split(' ').filter((cls) => cls); // filter will remove whitespace entries
|
|
64
52
|
}
|
|
65
53
|
/**
|
|
66
54
|
* Loop through all properties of an object and nullify any properties that are instanceof HTMLElement,
|
|
@@ -69,7 +57,7 @@ export function classNameToList(className = '') {
|
|
|
69
57
|
*/
|
|
70
58
|
export function destroyAllElementProps(obj) {
|
|
71
59
|
if (typeof obj === 'object') {
|
|
72
|
-
Object.keys(obj).forEach(key => {
|
|
60
|
+
Object.keys(obj).forEach((key) => {
|
|
73
61
|
if (Array.isArray(obj[key])) {
|
|
74
62
|
destroyAllElementProps(obj[key]);
|
|
75
63
|
}
|
|
@@ -123,22 +111,16 @@ export function getOffsetRelativeToParent(parentElm, childElm) {
|
|
|
123
111
|
}
|
|
124
112
|
/** Get HTML element offset with pure JS */
|
|
125
113
|
export function getOffset(elm) {
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
let bottom = 0;
|
|
129
|
-
let right = 0;
|
|
130
|
-
if (!elm || !elm.getBoundingClientRect) {
|
|
131
|
-
return { top, bottom, left, right };
|
|
132
|
-
}
|
|
133
|
-
const box = elm.getBoundingClientRect();
|
|
134
|
-
const docElem = document.documentElement;
|
|
135
|
-
if (box?.top !== undefined && box.left !== undefined) {
|
|
136
|
-
top = box.top + window.pageYOffset - docElem.clientTop;
|
|
137
|
-
left = box.left + window.pageXOffset - docElem.clientLeft;
|
|
138
|
-
right = box.right;
|
|
139
|
-
bottom = box.bottom;
|
|
114
|
+
if (!elm?.getBoundingClientRect) {
|
|
115
|
+
return { top: 0, bottom: 0, left: 0, right: 0 };
|
|
140
116
|
}
|
|
141
|
-
|
|
117
|
+
const { top, left, bottom, right } = elm.getBoundingClientRect();
|
|
118
|
+
return {
|
|
119
|
+
top: top + window.pageYOffset,
|
|
120
|
+
left: left + window.pageXOffset,
|
|
121
|
+
bottom,
|
|
122
|
+
right,
|
|
123
|
+
};
|
|
142
124
|
}
|
|
143
125
|
export function getInnerSize(elm, type) {
|
|
144
126
|
let size = 0;
|
|
@@ -147,7 +129,7 @@ export function getInnerSize(elm, type) {
|
|
|
147
129
|
const sides = type === 'height' ? ['top', 'bottom'] : ['left', 'right'];
|
|
148
130
|
size = elm[clientSize];
|
|
149
131
|
for (const side of sides) {
|
|
150
|
-
const sideSize =
|
|
132
|
+
const sideSize = parseFloat(getStyleProp(elm, `padding-${side}`) || '') || 0;
|
|
151
133
|
size -= sideSize;
|
|
152
134
|
}
|
|
153
135
|
}
|
|
@@ -194,7 +176,7 @@ export function htmlEncode(inputValue) {
|
|
|
194
176
|
'<': '<',
|
|
195
177
|
'>': '>',
|
|
196
178
|
'"': '"',
|
|
197
|
-
'
|
|
179
|
+
"'": ''',
|
|
198
180
|
};
|
|
199
181
|
return (val || '').toString().replace(/[&<>"']/g, (s) => entityMap[s]);
|
|
200
182
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"domUtils.js","sourceRoot":"","sources":["../src/domUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,mBAAmB,wBAAwB,CAAC;AAC5C,mBAAmB,mBAAmB,CAAC;AACvC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/models/interfaces.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/models/interfaces.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;AAEzH,MAAM,MAAM,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/models/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeExtend.d.ts","sourceRoot":"","sources":["../src/nodeExtend.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAgEH,wBAAgB,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAyDjD"}
|
|
@@ -33,7 +33,9 @@ const isPlainObject = function isPlainObject(obj) {
|
|
|
33
33
|
}
|
|
34
34
|
// Own properties are enumerated firstly, so to speed up, if last one is own, then all properties are own.
|
|
35
35
|
let key;
|
|
36
|
-
for (key in obj) {
|
|
36
|
+
for (key in obj) {
|
|
37
|
+
/**/
|
|
38
|
+
}
|
|
37
39
|
return typeof key === 'undefined' || hasOwn.call(obj, key);
|
|
38
40
|
};
|
|
39
41
|
// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target
|
|
@@ -43,7 +45,7 @@ const setProperty = function setProperty(target, options) {
|
|
|
43
45
|
enumerable: true,
|
|
44
46
|
configurable: true,
|
|
45
47
|
value: options.newValue,
|
|
46
|
-
writable: true
|
|
48
|
+
writable: true,
|
|
47
49
|
});
|
|
48
50
|
}
|
|
49
51
|
else {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeExtend.js","sourceRoot":"","sources":["../src/nodeExtend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stripTagsUtil.d.ts","sourceRoot":"","sources":["../src/stripTagsUtil.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAmBH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,EACjD,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,EACjC,cAAc,CAAC,EAAE,MAAM,GACtB,MAAM,CA+JR"}
|
|
@@ -39,7 +39,7 @@ export function stripTags(htmlText, allowableTags, tagReplacement) {
|
|
|
39
39
|
state: STATE_PLAINTEXT,
|
|
40
40
|
tag_buffer: '',
|
|
41
41
|
depth: 0,
|
|
42
|
-
in_quote_char: ''
|
|
42
|
+
in_quote_char: '',
|
|
43
43
|
};
|
|
44
44
|
}
|
|
45
45
|
function striptags_internal(html, context) {
|
|
@@ -96,7 +96,7 @@ export function stripTags(htmlText, allowableTags, tagReplacement) {
|
|
|
96
96
|
tag_buffer = '';
|
|
97
97
|
break;
|
|
98
98
|
case '"':
|
|
99
|
-
case '
|
|
99
|
+
case "'":
|
|
100
100
|
// catch both single and double quotes
|
|
101
101
|
if (char === in_quote_char) {
|
|
102
102
|
in_quote_char = '';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stripTagsUtil.js","sourceRoot":"","sources":["../src/stripTagsUtil.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -66,9 +66,9 @@ export function deepMerge(target, ...sources) {
|
|
|
66
66
|
}
|
|
67
67
|
const source = sources.shift();
|
|
68
68
|
// when target is not an object but source is an object, then we'll assign as object
|
|
69
|
-
target =
|
|
69
|
+
target = !isObject(target) && isObject(source) ? {} : target;
|
|
70
70
|
if (isObject(target) && isObject(source)) {
|
|
71
|
-
Object.keys(source).forEach(prop => {
|
|
71
|
+
Object.keys(source).forEach((prop) => {
|
|
72
72
|
if (source.hasOwnProperty(prop)) {
|
|
73
73
|
if (prop in target) {
|
|
74
74
|
// handling merging of two properties with equal names
|
|
@@ -106,7 +106,7 @@ export function deepMerge(target, ...sources) {
|
|
|
106
106
|
*/
|
|
107
107
|
export function emptyObject(obj) {
|
|
108
108
|
if (isObject(obj)) {
|
|
109
|
-
Object.keys(obj).forEach(key => {
|
|
109
|
+
Object.keys(obj).forEach((key) => {
|
|
110
110
|
if (obj.hasOwnProperty(key)) {
|
|
111
111
|
delete obj[key];
|
|
112
112
|
}
|
|
@@ -129,19 +129,19 @@ export function getFunctionDetails(fn, addReturn = true) {
|
|
|
129
129
|
const fnStr = func.toString();
|
|
130
130
|
isAsyncFn = fnStr.includes('async ');
|
|
131
131
|
// when fn is one liner arrow fn returning an object in brackets e.g. `() => ({ hello: 'world' })`
|
|
132
|
-
if (
|
|
132
|
+
if (fnStr.replaceAll(' ', '').includes('=>({')) {
|
|
133
133
|
const matches = fnStr.match(/(({.*}))/g) || [];
|
|
134
134
|
return matches.length >= 1 ? `return ${matches[0].trimStart()}` : fnStr;
|
|
135
135
|
}
|
|
136
|
-
const isOneLinerArrowFn =
|
|
137
|
-
const body = fnStr.substring(
|
|
136
|
+
const isOneLinerArrowFn = !fnStr.includes('{') && fnStr.includes('=>');
|
|
137
|
+
const body = fnStr.substring(fnStr.indexOf('{') + 1 || fnStr.indexOf('=>') + 2, fnStr.includes('}') ? fnStr.lastIndexOf('}') : fnStr.length);
|
|
138
138
|
if (addReturn && isOneLinerArrowFn && !body.startsWith('return')) {
|
|
139
139
|
return 'return ' + body.trimStart(); // add the `return ...` to the body for ES6 arrow fn
|
|
140
140
|
}
|
|
141
141
|
return body;
|
|
142
142
|
};
|
|
143
143
|
const getFunctionParams = (func) => {
|
|
144
|
-
const STRIP_COMMENTS = /(\/\/.*$)|(\/\*[\s\S]*?\*\/)|(\s*=[^,)]*(('(?:\\'|[^'\r\n])*')|("(?:\\"|[^"\r\n])*"))|(\s*=[^,)]*))/
|
|
144
|
+
const STRIP_COMMENTS = /(\/\/.*$)|(\/\*[\s\S]*?\*\/)|(\s*=[^,)]*(('(?:\\'|[^'\r\n])*')|("(?:\\"|[^"\r\n])*"))|(\s*=[^,)]*))/gm;
|
|
145
145
|
const ARG_NAMES = /([^\s,]+)/g;
|
|
146
146
|
const fnStr = func.toString().replace(STRIP_COMMENTS, '');
|
|
147
147
|
return fnStr.slice(fnStr.indexOf('(') + 1, fnStr.indexOf(')')).match(ARG_NAMES) ?? [];
|
|
@@ -196,9 +196,9 @@ export function isPrimitiveOrHTML(val) {
|
|
|
196
196
|
*/
|
|
197
197
|
export function isNumber(value, strict = false) {
|
|
198
198
|
if (strict) {
|
|
199
|
-
return
|
|
199
|
+
return value === null || value === undefined || typeof value === 'string' ? false : !isNaN(value);
|
|
200
200
|
}
|
|
201
|
-
return
|
|
201
|
+
return value === null || value === undefined || value === '' ? false : !isNaN(+value);
|
|
202
202
|
}
|
|
203
203
|
/** Check if an object is empty, it will also be considered empty when the input is null, undefined or isn't an object */
|
|
204
204
|
export function isObjectEmpty(obj) {
|
|
@@ -215,7 +215,7 @@ export function parseBoolean(input) {
|
|
|
215
215
|
* @returns
|
|
216
216
|
*/
|
|
217
217
|
export function removeAccentFromText(text, shouldLowerCase = false) {
|
|
218
|
-
const normalizedText =
|
|
218
|
+
const normalizedText = typeof text.normalize === 'function' ? text.normalize('NFD').replace(/[\u0300-\u036f]/g, '') : text;
|
|
219
219
|
return shouldLowerCase ? normalizedText.toLowerCase() : normalizedText;
|
|
220
220
|
}
|
|
221
221
|
/** Set the object value of deeper node from a given dot (.) notation path (e.g.: "user.firstName") */
|
|
@@ -226,13 +226,14 @@ export function setDeepValue(obj, path, value) {
|
|
|
226
226
|
if (path.length > 1) {
|
|
227
227
|
const e = path.shift();
|
|
228
228
|
if (obj && e !== undefined) {
|
|
229
|
-
setDeepValue((obj
|
|
230
|
-
|
|
231
|
-
|
|
229
|
+
setDeepValue((obj[e] =
|
|
230
|
+
isDefined(obj[e]) && (Array.isArray(obj[e]) || Object.prototype.toString.call(obj[e]) === '[object Object]')
|
|
231
|
+
? obj[e]
|
|
232
|
+
: {}), path, value);
|
|
232
233
|
}
|
|
233
234
|
}
|
|
234
235
|
else if (obj && path[0]) {
|
|
235
|
-
|
|
236
|
+
obj[path[0]] = value;
|
|
236
237
|
}
|
|
237
238
|
}
|
|
238
239
|
/**
|
|
@@ -276,7 +277,9 @@ export function toCamelCase(inputStr) {
|
|
|
276
277
|
*/
|
|
277
278
|
export function toKebabCase(inputStr) {
|
|
278
279
|
if (typeof inputStr === 'string') {
|
|
279
|
-
return toCamelCase(inputStr)
|
|
280
|
+
return toCamelCase(inputStr)
|
|
281
|
+
.replace(/([A-Z])|([-_])/g, '-$1')
|
|
282
|
+
.toLowerCase();
|
|
280
283
|
}
|
|
281
284
|
return inputStr;
|
|
282
285
|
}
|
|
@@ -287,7 +290,10 @@ export function toKebabCase(inputStr) {
|
|
|
287
290
|
*/
|
|
288
291
|
export function toSentenceCase(inputStr) {
|
|
289
292
|
if (typeof inputStr === 'string') {
|
|
290
|
-
const result = inputStr
|
|
293
|
+
const result = inputStr
|
|
294
|
+
.replace(/([A-Z])|([-_])/g, ' $1')
|
|
295
|
+
.replace(/\s+/g, ' ')
|
|
296
|
+
.trim();
|
|
291
297
|
return result.charAt(0).toUpperCase() + result.slice(1);
|
|
292
298
|
}
|
|
293
299
|
return inputStr;
|
|
@@ -299,7 +305,9 @@ export function toSentenceCase(inputStr) {
|
|
|
299
305
|
*/
|
|
300
306
|
export function toSnakeCase(inputStr) {
|
|
301
307
|
if (typeof inputStr === 'string') {
|
|
302
|
-
return toCamelCase(inputStr)
|
|
308
|
+
return toCamelCase(inputStr)
|
|
309
|
+
.replace(/([A-Z])/g, '_$1')
|
|
310
|
+
.toLowerCase();
|
|
303
311
|
}
|
|
304
312
|
return inputStr;
|
|
305
313
|
}
|
|
@@ -332,7 +340,7 @@ export function uniqueObjectArray(arr, propertyName = 'id') {
|
|
|
332
340
|
map.set(item[propertyName], true); // set any value to Map
|
|
333
341
|
result.push({
|
|
334
342
|
id: item[propertyName],
|
|
335
|
-
name: item.name
|
|
343
|
+
name: item.name,
|
|
336
344
|
});
|
|
337
345
|
}
|
|
338
346
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slickgrid-universal/utils",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.0",
|
|
4
4
|
"description": "Common set of small utilities",
|
|
5
|
-
"
|
|
6
|
-
"
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": {
|
|
9
|
-
"types": "./dist/
|
|
10
|
-
"
|
|
11
|
-
"require": "./dist/cjs/index.js",
|
|
12
|
-
"default": "./dist/esm/index.js"
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"default": "./dist/index.js"
|
|
13
11
|
},
|
|
14
12
|
"./package.json": "./package.json"
|
|
15
13
|
},
|
|
16
|
-
"
|
|
14
|
+
"types": "./dist/index.d.ts",
|
|
17
15
|
"publishConfig": {
|
|
18
16
|
"access": "public"
|
|
19
17
|
},
|
|
@@ -37,5 +35,5 @@
|
|
|
37
35
|
"> 1%",
|
|
38
36
|
"not dead"
|
|
39
37
|
],
|
|
40
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "6433a9acf9fa1e5f723a83d5f12e3eff5a455251"
|
|
41
39
|
}
|
package/src/domUtils.ts
CHANGED
|
@@ -1,28 +1,17 @@
|
|
|
1
1
|
import type { HtmlElementPosition } from './models/interfaces.js';
|
|
2
2
|
import type { InferDOMType } from './models/types.js';
|
|
3
3
|
|
|
4
|
-
/**
|
|
5
|
-
export function calculateAvailableSpace(element: HTMLElement): { top: number; bottom: number; left: number; right: number
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
/** Calculate available space for each side of the DOM element */
|
|
5
|
+
export function calculateAvailableSpace(element: HTMLElement): { top: number; bottom: number; left: number; right: number } {
|
|
6
|
+
const vh = window.innerHeight || 0;
|
|
7
|
+
const vw = window.innerWidth || 0;
|
|
8
|
+
const { top: pageScrollTop, left: pageScrollLeft } = windowScrollPosition();
|
|
9
|
+
const { top: elementOffsetTop, left: elementOffsetLeft } = getOffset(element) || {};
|
|
10
10
|
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
const pageScrollLeft = scrollPosition.left;
|
|
16
|
-
const elmOffset = getOffset(element);
|
|
17
|
-
|
|
18
|
-
if (elmOffset) {
|
|
19
|
-
const elementOffsetTop = elmOffset.top;
|
|
20
|
-
const elementOffsetLeft = elmOffset.left;
|
|
21
|
-
top = elementOffsetTop - pageScrollTop;
|
|
22
|
-
left = elementOffsetLeft - pageScrollLeft;
|
|
23
|
-
bottom = windowHeight - (elementOffsetTop - pageScrollTop + element.clientHeight);
|
|
24
|
-
right = windowWidth - (elementOffsetLeft - pageScrollLeft + element.clientWidth);
|
|
25
|
-
}
|
|
11
|
+
const top = elementOffsetTop - pageScrollTop;
|
|
12
|
+
const left = elementOffsetLeft - pageScrollLeft;
|
|
13
|
+
const bottom = vh - (elementOffsetTop - pageScrollTop + element.clientHeight);
|
|
14
|
+
const right = vw - (elementOffsetLeft - pageScrollLeft + element.clientWidth);
|
|
26
15
|
|
|
27
16
|
return { top, bottom, left, right };
|
|
28
17
|
}
|
|
@@ -47,8 +36,10 @@ export function createDomElement<T extends keyof HTMLElementTagNameMap, K extend
|
|
|
47
36
|
if (elementOptions) {
|
|
48
37
|
Object.keys(elementOptions).forEach((elmOptionKey) => {
|
|
49
38
|
if (elmOptionKey === 'innerHTML') {
|
|
50
|
-
console.warn(
|
|
51
|
-
`
|
|
39
|
+
console.warn(
|
|
40
|
+
`[Slickgrid-Universal] For better CSP (Content Security Policy) support, do not use "innerHTML" directly in "createDomElement('${tagName}', { innerHTML: 'some html'})", ` +
|
|
41
|
+
`it is better as separate assignment: "const elm = createDomElement('span'); elm.innerHTML = 'some html';"`
|
|
42
|
+
);
|
|
52
43
|
}
|
|
53
44
|
const elmValue = elementOptions[elmOptionKey as keyof typeof elementOptions];
|
|
54
45
|
if (typeof elmValue === 'object') {
|
|
@@ -58,9 +49,7 @@ export function createDomElement<T extends keyof HTMLElementTagNameMap, K extend
|
|
|
58
49
|
}
|
|
59
50
|
});
|
|
60
51
|
}
|
|
61
|
-
|
|
62
|
-
appendToParent.appendChild(elm);
|
|
63
|
-
}
|
|
52
|
+
appendToParent?.appendChild(elm);
|
|
64
53
|
return elm;
|
|
65
54
|
}
|
|
66
55
|
|
|
@@ -72,7 +61,7 @@ export function createDomElement<T extends keyof HTMLElementTagNameMap, K extend
|
|
|
72
61
|
* @param {String} className - space separated list of class names
|
|
73
62
|
*/
|
|
74
63
|
export function classNameToList(className = ''): string[] {
|
|
75
|
-
return className.split(' ').filter(cls => cls); // filter will remove whitespace entries
|
|
64
|
+
return className.split(' ').filter((cls) => cls); // filter will remove whitespace entries
|
|
76
65
|
}
|
|
77
66
|
|
|
78
67
|
/**
|
|
@@ -82,7 +71,7 @@ export function classNameToList(className = ''): string[] {
|
|
|
82
71
|
*/
|
|
83
72
|
export function destroyAllElementProps(obj: any): void {
|
|
84
73
|
if (typeof obj === 'object') {
|
|
85
|
-
Object.keys(obj).forEach(key => {
|
|
74
|
+
Object.keys(obj).forEach((key) => {
|
|
86
75
|
if (Array.isArray(obj[key])) {
|
|
87
76
|
destroyAllElementProps(obj[key]);
|
|
88
77
|
}
|
|
@@ -112,7 +101,10 @@ export function emptyElement<T extends Element = Element>(element?: T | null): T
|
|
|
112
101
|
* @param {'innerHTML' | 'outerHTML'} [type] - when the input is a DocumentFragment or HTMLElement, which type of HTML do you want to return? 'innerHTML' or 'outerHTML'
|
|
113
102
|
* @returns {String}
|
|
114
103
|
*/
|
|
115
|
-
export function getHtmlStringOutput(
|
|
104
|
+
export function getHtmlStringOutput(
|
|
105
|
+
input: DocumentFragment | HTMLElement | string | number,
|
|
106
|
+
type: 'innerHTML' | 'outerHTML' = 'innerHTML'
|
|
107
|
+
): string {
|
|
116
108
|
if (input instanceof DocumentFragment) {
|
|
117
109
|
// a DocumentFragment doesn't have innerHTML/outerHTML, but we can loop through all children and concatenate them all to an HTML string
|
|
118
110
|
return [].map.call(input.childNodes, (x: HTMLElement) => x[type]).join('') || input.textContent || '';
|
|
@@ -123,12 +115,17 @@ export function getHtmlStringOutput(input: DocumentFragment | HTMLElement | stri
|
|
|
123
115
|
}
|
|
124
116
|
|
|
125
117
|
/** Get offset of HTML element relative to a parent element */
|
|
126
|
-
export function getOffsetRelativeToParent(
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
118
|
+
export function getOffsetRelativeToParent(
|
|
119
|
+
parentElm: HTMLElement | null,
|
|
120
|
+
childElm: HTMLElement | null
|
|
121
|
+
):
|
|
122
|
+
| {
|
|
123
|
+
top: number;
|
|
124
|
+
right: number;
|
|
125
|
+
bottom: number;
|
|
126
|
+
left: number;
|
|
127
|
+
}
|
|
128
|
+
| undefined {
|
|
132
129
|
if (!parentElm || !childElm) {
|
|
133
130
|
return undefined;
|
|
134
131
|
}
|
|
@@ -144,24 +141,17 @@ export function getOffsetRelativeToParent(parentElm: HTMLElement | null, childEl
|
|
|
144
141
|
|
|
145
142
|
/** Get HTML element offset with pure JS */
|
|
146
143
|
export function getOffset(elm?: HTMLElement | null): HtmlElementPosition {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
let bottom = 0;
|
|
150
|
-
let right = 0;
|
|
151
|
-
|
|
152
|
-
if (!elm || !elm.getBoundingClientRect) {
|
|
153
|
-
return { top, bottom, left, right };
|
|
144
|
+
if (!elm?.getBoundingClientRect) {
|
|
145
|
+
return { top: 0, bottom: 0, left: 0, right: 0 };
|
|
154
146
|
}
|
|
155
|
-
const box = elm.getBoundingClientRect();
|
|
156
|
-
const docElem = document.documentElement;
|
|
157
147
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
bottom
|
|
163
|
-
|
|
164
|
-
|
|
148
|
+
const { top, left, bottom, right } = elm.getBoundingClientRect();
|
|
149
|
+
return {
|
|
150
|
+
top: top + window.pageYOffset,
|
|
151
|
+
left: left + window.pageXOffset,
|
|
152
|
+
bottom,
|
|
153
|
+
right,
|
|
154
|
+
};
|
|
165
155
|
}
|
|
166
156
|
|
|
167
157
|
export function getInnerSize(elm: HTMLElement, type: 'height' | 'width'): number {
|
|
@@ -172,7 +162,7 @@ export function getInnerSize(elm: HTMLElement, type: 'height' | 'width'): number
|
|
|
172
162
|
const sides = type === 'height' ? ['top', 'bottom'] : ['left', 'right'];
|
|
173
163
|
size = elm[clientSize];
|
|
174
164
|
for (const side of sides) {
|
|
175
|
-
const sideSize =
|
|
165
|
+
const sideSize = parseFloat(getStyleProp(elm, `padding-${side}`) || '') || 0;
|
|
176
166
|
size -= sideSize;
|
|
177
167
|
}
|
|
178
168
|
}
|
|
@@ -206,7 +196,7 @@ export function findFirstAttribute(inputElm: Element | null | undefined, attribu
|
|
|
206
196
|
* @returns {String} string output
|
|
207
197
|
*/
|
|
208
198
|
export function findWidthOrDefault(inputWidth?: number | string | null, defaultValue = 'auto'): string {
|
|
209
|
-
return (/^[0-9]+$/i.test(`${inputWidth}`) ? `${+(inputWidth as number)}px` : inputWidth as string) || defaultValue;
|
|
199
|
+
return (/^[0-9]+$/i.test(`${inputWidth}`) ? `${+(inputWidth as number)}px` : (inputWidth as string)) || defaultValue;
|
|
210
200
|
}
|
|
211
201
|
|
|
212
202
|
/**
|
|
@@ -218,14 +208,14 @@ export function findWidthOrDefault(inputWidth?: number | string | null, defaultV
|
|
|
218
208
|
*/
|
|
219
209
|
export function htmlEncode(inputValue: string): string {
|
|
220
210
|
const val = typeof inputValue === 'string' ? inputValue : String(inputValue);
|
|
221
|
-
const entityMap: { [char: string]: string
|
|
211
|
+
const entityMap: { [char: string]: string } = {
|
|
222
212
|
'&': '&',
|
|
223
213
|
'<': '<',
|
|
224
214
|
'>': '>',
|
|
225
215
|
'"': '"',
|
|
226
|
-
'
|
|
216
|
+
"'": ''',
|
|
227
217
|
};
|
|
228
|
-
return (val || '').toString().replace(/[&<>"']/g, (s) => entityMap[s as keyof { [char: string]: string
|
|
218
|
+
return (val || '').toString().replace(/[&<>"']/g, (s) => entityMap[s as keyof { [char: string]: string }]);
|
|
229
219
|
}
|
|
230
220
|
|
|
231
221
|
/**
|
|
@@ -265,9 +255,9 @@ export function insertAfterElement(referenceNode: HTMLElement, newNode: HTMLElem
|
|
|
265
255
|
* Get the Window Scroll top/left Position
|
|
266
256
|
* @returns
|
|
267
257
|
*/
|
|
268
|
-
export function windowScrollPosition(): { left: number; top: number
|
|
258
|
+
export function windowScrollPosition(): { left: number; top: number } {
|
|
269
259
|
return {
|
|
270
260
|
left: window.pageXOffset || document.documentElement.scrollLeft || 0,
|
|
271
261
|
top: window.pageYOffset || document.documentElement.scrollTop || 0,
|
|
272
262
|
};
|
|
273
|
-
}
|
|
263
|
+
}
|
package/src/index.ts
CHANGED