@slickgrid-universal/utils 9.6.0 → 9.8.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/README.md +1 -1
- package/dist/domUtils.d.ts +3 -9
- package/dist/domUtils.d.ts.map +1 -1
- package/dist/domUtils.js +9 -21
- package/dist/domUtils.js.map +1 -1
- package/package.json +3 -3
- package/src/domUtils.ts +10 -23
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
|
|
8
8
|
[](https://github.com/ghiscoding/slickgrid-universal/actions)
|
|
9
9
|
[](https://www.cypress.io/)
|
|
10
|
-
[](https://vitest.dev/)
|
|
11
11
|
[](https://codecov.io/gh/ghiscoding/slickgrid-universal)
|
|
12
12
|
|
|
13
13
|
## Common Utils
|
package/dist/domUtils.d.ts
CHANGED
|
@@ -76,18 +76,12 @@ export declare function findWidthOrDefault(inputWidth?: number | string | null,
|
|
|
76
76
|
*/
|
|
77
77
|
export declare function htmlEncode(inputValue: string): string;
|
|
78
78
|
/**
|
|
79
|
-
* Simple function to decode the
|
|
80
|
-
* For example: "<div>
|
|
79
|
+
* Simple function to decode the most common HTML entities.
|
|
80
|
+
* For example: "<div>Hablar español? ��</div>" => "<div>Hablar español? 🦄</div>"
|
|
81
81
|
* @param {String} inputValue - input value to be decoded
|
|
82
82
|
* @return {String}
|
|
83
83
|
*/
|
|
84
|
-
export declare function htmlDecode(input?: string): string;
|
|
85
|
-
/**
|
|
86
|
-
* Decode text into html entity
|
|
87
|
-
* @param string text: input text
|
|
88
|
-
* @param string text: output text
|
|
89
|
-
*/
|
|
90
|
-
export declare function htmlEntityDecode(input: string): string;
|
|
84
|
+
export declare function htmlDecode(input?: string | boolean | number): string;
|
|
91
85
|
/**
|
|
92
86
|
* Encode string to html special char and add html space padding defined
|
|
93
87
|
* @param {string} inputStr - input string
|
package/dist/domUtils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domUtils.d.ts","sourceRoot":"","sources":["../src/domUtils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGtD,iEAAiE;AACjE,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,WAAW,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAY1H;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,qBAAqB,EAAE,CAAC,SAAS,MAAM,qBAAqB,CAAC,CAAC,CAAC,EAC9G,OAAO,EAAE,CAAC,EACV,cAAc,CAAC,EAAE,IAAI,GAAG;KAAG,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,EAC/E,cAAc,CAAC,EAAE,OAAO,GACvB,qBAAqB,CAAC,CAAC,CAAC,CAqB1B;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,SAAS,SAAK,GAAG,MAAM,EAAE,CAExD;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAWrD;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,SAAS,GAAG,IAAI,CAKlG;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,gBAAgB,GAAG,WAAW,GAAG,MAAM,GAAG,MAAM,EACvD,IAAI,GAAE,WAAW,GAAG,WAAyB,GAC5C,MAAM,CAQR;AAED,8DAA8D;AAC9D,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,WAAW,GAAG,IAAI,EAC7B,QAAQ,EAAE,WAAW,GAAG,IAAI,GAE1B;IACE,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd,GACD,SAAS,CAYZ;AAED,2CAA2C;AAC3C,wBAAgB,SAAS,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,mBAAmB,CAYvE;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAa/E;AAED,0FAA0F;AAC1F,wBAAgB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAK9E;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,IAAI,CAU5G;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,EAAE,YAAY,SAAS,GAAG,MAAM,CAErG;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAUrD;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"domUtils.d.ts","sourceRoot":"","sources":["../src/domUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/domUtils.js
CHANGED
|
@@ -4,7 +4,7 @@ export function calculateAvailableSpace(element) {
|
|
|
4
4
|
const vh = window.innerHeight || 0;
|
|
5
5
|
const vw = window.innerWidth || 0;
|
|
6
6
|
const { top: pageScrollTop, left: pageScrollLeft } = windowScrollPosition();
|
|
7
|
-
const { top: elementOffsetTop, left: elementOffsetLeft } = getOffset(element) || {};
|
|
7
|
+
const { top: elementOffsetTop = 0, left: elementOffsetLeft = 0 } = getOffset(element) || {};
|
|
8
8
|
const top = elementOffsetTop - pageScrollTop;
|
|
9
9
|
const left = elementOffsetLeft - pageScrollLeft;
|
|
10
10
|
const bottom = vh - (elementOffsetTop - pageScrollTop + element.clientHeight);
|
|
@@ -139,7 +139,7 @@ export function getInnerSize(elm, type) {
|
|
|
139
139
|
/** Get a DOM element style property value by calling getComputedStyle() on the element */
|
|
140
140
|
export function getStyleProp(elm, property) {
|
|
141
141
|
if (elm) {
|
|
142
|
-
return
|
|
142
|
+
return getComputedStyle(elm).getPropertyValue(property);
|
|
143
143
|
}
|
|
144
144
|
return null;
|
|
145
145
|
}
|
|
@@ -181,33 +181,21 @@ export function htmlEncode(inputValue) {
|
|
|
181
181
|
return (val || '').toString().replace(/[&<>"']/g, (s) => entityMap[s]);
|
|
182
182
|
}
|
|
183
183
|
/**
|
|
184
|
-
* Simple function to decode the
|
|
185
|
-
* For example: "<div>
|
|
184
|
+
* Simple function to decode the most common HTML entities.
|
|
185
|
+
* For example: "<div>Hablar español? ��</div>" => "<div>Hablar español? 🦄</div>"
|
|
186
186
|
* @param {String} inputValue - input value to be decoded
|
|
187
187
|
* @return {String}
|
|
188
188
|
*/
|
|
189
189
|
export function htmlDecode(input) {
|
|
190
190
|
if (isDefined(input)) {
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
.replace(/"/g, '"')
|
|
197
|
-
.replace(/'/g, "'");
|
|
191
|
+
// 1. decode html entities (e.g. `'` => single quote)
|
|
192
|
+
// 2. use textarea to decode the rest (e.g. html tags and symbols, `<div>` => `<div>`)
|
|
193
|
+
const txt = document.createElement('textarea');
|
|
194
|
+
txt.innerHTML = input.toString().replace(/&#(\d+);/g, (_, dec) => String.fromCharCode(dec));
|
|
195
|
+
return txt.value;
|
|
198
196
|
}
|
|
199
197
|
return '';
|
|
200
198
|
}
|
|
201
|
-
/**
|
|
202
|
-
* Decode text into html entity
|
|
203
|
-
* @param string text: input text
|
|
204
|
-
* @param string text: output text
|
|
205
|
-
*/
|
|
206
|
-
export function htmlEntityDecode(input) {
|
|
207
|
-
return input.replace(/&#(\d+);/g, (_match, dec) => {
|
|
208
|
-
return String.fromCharCode(dec);
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
199
|
/**
|
|
212
200
|
* Encode string to html special char and add html space padding defined
|
|
213
201
|
* @param {string} inputStr - input string
|
package/dist/domUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domUtils.js","sourceRoot":"","sources":["../src/domUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,iEAAiE;AACjE,MAAM,UAAU,uBAAuB,CAAC,OAAoB;IAC1D,MAAM,EAAE,GAAG,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC;IACnC,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,IAAI,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,cAAc,EAAE,GAAG,oBAAoB,EAAE,CAAC;IAC5E,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"domUtils.js","sourceRoot":"","sources":["../src/domUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slickgrid-universal/utils",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.8.0",
|
|
4
4
|
"description": "Common set of small utilities",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -31,9 +31,9 @@
|
|
|
31
31
|
"url": "https://github.com/ghiscoding/slickgrid-universal/issues"
|
|
32
32
|
},
|
|
33
33
|
"browserslist": [
|
|
34
|
-
"last 2
|
|
34
|
+
"last 2 versions",
|
|
35
35
|
"> 1%",
|
|
36
36
|
"not dead"
|
|
37
37
|
],
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "c18cbb7edf292e2ac4025cafeb1911a4f3eeb38b"
|
|
39
39
|
}
|
package/src/domUtils.ts
CHANGED
|
@@ -7,7 +7,7 @@ export function calculateAvailableSpace(element: HTMLElement): { top: number; bo
|
|
|
7
7
|
const vh = window.innerHeight || 0;
|
|
8
8
|
const vw = window.innerWidth || 0;
|
|
9
9
|
const { top: pageScrollTop, left: pageScrollLeft } = windowScrollPosition();
|
|
10
|
-
const { top: elementOffsetTop, left: elementOffsetLeft } = getOffset(element) || {};
|
|
10
|
+
const { top: elementOffsetTop = 0, left: elementOffsetLeft = 0 } = getOffset(element) || {};
|
|
11
11
|
|
|
12
12
|
const top = elementOffsetTop - pageScrollTop;
|
|
13
13
|
const left = elementOffsetLeft - pageScrollLeft;
|
|
@@ -173,7 +173,7 @@ export function getInnerSize(elm: HTMLElement, type: 'height' | 'width'): number
|
|
|
173
173
|
/** Get a DOM element style property value by calling getComputedStyle() on the element */
|
|
174
174
|
export function getStyleProp(elm: HTMLElement, property: string): string | null {
|
|
175
175
|
if (elm) {
|
|
176
|
-
return
|
|
176
|
+
return getComputedStyle(elm).getPropertyValue(property);
|
|
177
177
|
}
|
|
178
178
|
return null;
|
|
179
179
|
}
|
|
@@ -219,35 +219,22 @@ export function htmlEncode(inputValue: string): string {
|
|
|
219
219
|
}
|
|
220
220
|
|
|
221
221
|
/**
|
|
222
|
-
* Simple function to decode the
|
|
223
|
-
* For example: "<div>
|
|
222
|
+
* Simple function to decode the most common HTML entities.
|
|
223
|
+
* For example: "<div>Hablar español? ��</div>" => "<div>Hablar español? 🦄</div>"
|
|
224
224
|
* @param {String} inputValue - input value to be decoded
|
|
225
225
|
* @return {String}
|
|
226
226
|
*/
|
|
227
|
-
export function htmlDecode(input?: string): string {
|
|
227
|
+
export function htmlDecode(input?: string | boolean | number): string {
|
|
228
228
|
if (isDefined(input)) {
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
.replace(/"/g, '"')
|
|
235
|
-
.replace(/'/g, "'");
|
|
229
|
+
// 1. decode html entities (e.g. `'` => single quote)
|
|
230
|
+
// 2. use textarea to decode the rest (e.g. html tags and symbols, `<div>` => `<div>`)
|
|
231
|
+
const txt = document.createElement('textarea');
|
|
232
|
+
txt.innerHTML = input.toString().replace(/&#(\d+);/g, (_, dec) => String.fromCharCode(dec));
|
|
233
|
+
return txt.value;
|
|
236
234
|
}
|
|
237
235
|
return '';
|
|
238
236
|
}
|
|
239
237
|
|
|
240
|
-
/**
|
|
241
|
-
* Decode text into html entity
|
|
242
|
-
* @param string text: input text
|
|
243
|
-
* @param string text: output text
|
|
244
|
-
*/
|
|
245
|
-
export function htmlEntityDecode(input: string): string {
|
|
246
|
-
return input.replace(/&#(\d+);/g, (_match, dec) => {
|
|
247
|
-
return String.fromCharCode(dec);
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
|
|
251
238
|
/**
|
|
252
239
|
* Encode string to html special char and add html space padding defined
|
|
253
240
|
* @param {string} inputStr - input string
|