ngx-bootstrap 9.0.0-RC.2 → 10.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/README.md +4 -4
- package/accordion/accordion-group.component.d.ts +0 -1
- package/accordion/esm2020/accordion-group.component.mjs +1 -5
- package/accordion/fesm2015/ngx-bootstrap-accordion.mjs +0 -4
- package/accordion/fesm2015/ngx-bootstrap-accordion.mjs.map +1 -1
- package/accordion/fesm2020/ngx-bootstrap-accordion.mjs +0 -4
- package/accordion/fesm2020/ngx-bootstrap-accordion.mjs.map +1 -1
- package/accordion/package.json +2 -3
- package/alert/package.json +2 -2
- package/buttons/button-radio-group.directive.d.ts +2 -2
- package/buttons/button-radio.directive.d.ts +5 -5
- package/buttons/esm2020/button-radio-group.directive.mjs +1 -1
- package/buttons/esm2020/button-radio.directive.mjs +1 -1
- package/buttons/fesm2015/ngx-bootstrap-buttons.mjs.map +1 -1
- package/buttons/fesm2020/ngx-bootstrap-buttons.mjs.map +1 -1
- package/buttons/package.json +1 -1
- package/carousel/carousel.component.d.ts +0 -1
- package/carousel/esm2020/carousel.component.mjs +4 -7
- package/carousel/fesm2015/ngx-bootstrap-carousel.mjs +3 -6
- package/carousel/fesm2015/ngx-bootstrap-carousel.mjs.map +1 -1
- package/carousel/fesm2020/ngx-bootstrap-carousel.mjs +3 -6
- package/carousel/fesm2020/ngx-bootstrap-carousel.mjs.map +1 -1
- package/carousel/package.json +2 -2
- package/chronos/package.json +1 -1
- package/collapse/package.json +1 -1
- package/component-loader/package.json +2 -2
- package/datepicker/package.json +5 -5
- package/dropdown/bs-dropdown.directive.d.ts +0 -1
- package/dropdown/esm2020/bs-dropdown-container.component.mjs +2 -3
- package/dropdown/esm2020/bs-dropdown.directive.mjs +6 -12
- package/dropdown/fesm2015/ngx-bootstrap-dropdown.mjs +6 -12
- package/dropdown/fesm2015/ngx-bootstrap-dropdown.mjs.map +1 -1
- package/dropdown/fesm2020/ngx-bootstrap-dropdown.mjs +6 -12
- package/dropdown/fesm2020/ngx-bootstrap-dropdown.mjs.map +1 -1
- package/dropdown/package.json +2 -3
- package/focus-trap/package.json +1 -1
- package/locale/package.json +2 -2
- package/mini-ngrx/package.json +1 -1
- package/modal/esm2020/bs-modal.service.mjs +2 -2
- package/modal/esm2020/modal-backdrop.component.mjs +4 -12
- package/modal/esm2020/modal-container.component.mjs +4 -5
- package/modal/esm2020/modal-options.class.mjs +2 -2
- package/modal/esm2020/modal.directive.mjs +4 -12
- package/modal/fesm2015/ngx-bootstrap-modal.mjs +10 -26
- package/modal/fesm2015/ngx-bootstrap-modal.mjs.map +1 -1
- package/modal/fesm2020/ngx-bootstrap-modal.mjs +10 -26
- package/modal/fesm2020/ngx-bootstrap-modal.mjs.map +1 -1
- package/modal/package.json +3 -3
- package/package.json +1 -1
- package/pagination/package.json +1 -1
- package/popover/package.json +4 -4
- package/positioning/package.json +2 -2
- package/progressbar/bar.component.d.ts +0 -1
- package/progressbar/esm2020/bar.component.mjs +3 -8
- package/progressbar/esm2020/progressbar-type.interface.mjs +1 -1
- package/progressbar/fesm2015/ngx-bootstrap-progressbar.mjs +2 -7
- package/progressbar/fesm2015/ngx-bootstrap-progressbar.mjs.map +1 -1
- package/progressbar/fesm2020/ngx-bootstrap-progressbar.mjs +2 -7
- package/progressbar/fesm2020/ngx-bootstrap-progressbar.mjs.map +1 -1
- package/progressbar/package.json +1 -2
- package/rating/package.json +1 -1
- package/schematics/utils/current_dependency_versions.json +1 -1
- package/schematics/utils/index.js +9 -4
- package/schematics/utils/index.js.map +1 -1
- package/sortable/package.json +1 -1
- package/tabs/package.json +1 -1
- package/timepicker/esm2020/timepicker.component.mjs +3 -3
- package/timepicker/fesm2015/ngx-bootstrap-timepicker.mjs +2 -2
- package/timepicker/fesm2015/ngx-bootstrap-timepicker.mjs.map +1 -1
- package/timepicker/fesm2020/ngx-bootstrap-timepicker.mjs +2 -2
- package/timepicker/fesm2020/ngx-bootstrap-timepicker.mjs.map +1 -1
- package/timepicker/package.json +2 -2
- package/tooltip/esm2020/tooltip-container.component.mjs +3 -5
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.mjs +2 -4
- package/tooltip/fesm2015/ngx-bootstrap-tooltip.mjs.map +1 -1
- package/tooltip/fesm2020/ngx-bootstrap-tooltip.mjs +2 -4
- package/tooltip/fesm2020/ngx-bootstrap-tooltip.mjs.map +1 -1
- package/tooltip/package.json +4 -4
- package/typeahead/esm2020/typeahead-container.component.mjs +7 -11
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.mjs +6 -10
- package/typeahead/fesm2015/ngx-bootstrap-typeahead.mjs.map +1 -1
- package/typeahead/fesm2020/ngx-bootstrap-typeahead.mjs +6 -10
- package/typeahead/fesm2020/ngx-bootstrap-typeahead.mjs.map +1 -1
- package/typeahead/package.json +3 -3
- package/typeahead/typeahead-container.component.d.ts +0 -1
- package/utils/esm2020/public_api.mjs +2 -2
- package/utils/esm2020/theme-provider.mjs +1 -29
- package/utils/esm2020/utils.class.mjs +4 -4
- package/utils/fesm2015/ngx-bootstrap-utils.mjs +4 -32
- package/utils/fesm2015/ngx-bootstrap-utils.mjs.map +1 -1
- package/utils/fesm2020/ngx-bootstrap-utils.mjs +4 -32
- package/utils/fesm2020/ngx-bootstrap-utils.mjs.map +1 -1
- package/utils/package.json +1 -1
- package/utils/public_api.d.ts +1 -1
- package/utils/theme-provider.d.ts +1 -4
package/typeahead/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "ngx-bootstrap/typeahead",
|
3
|
-
"version": "
|
3
|
+
"version": "10.0.0",
|
4
4
|
"author": "Dmitriy Shekhovtsov <valorkin@gmail.com>",
|
5
5
|
"license": "MIT",
|
6
6
|
"module": "fesm2015/ngx-bootstrap-typeahead.mjs",
|
@@ -30,9 +30,9 @@
|
|
30
30
|
"@angular/core": "14.0.6",
|
31
31
|
"@angular/platform-browser": "14.0.6",
|
32
32
|
"rxjs": "7.5.6",
|
33
|
-
"ngx-bootstrap/positioning": "
|
33
|
+
"ngx-bootstrap/positioning": "10.0.0",
|
34
34
|
"@angular/forms": "14.0.6",
|
35
35
|
"@angular/animations": "14.0.6",
|
36
|
-
"ngx-bootstrap/component-loader": "
|
36
|
+
"ngx-bootstrap/component-loader": "10.0.0"
|
37
37
|
}
|
38
38
|
}
|
@@ -25,7 +25,6 @@ export declare class TypeaheadContainerComponent implements OnDestroy {
|
|
25
25
|
positionServiceSubscription: Subscription;
|
26
26
|
height: number;
|
27
27
|
popupId: string;
|
28
|
-
get isBs4(): boolean;
|
29
28
|
get typeaheadTemplateMethods(): TypeaheadTemplateMethods;
|
30
29
|
protected _active?: TypeaheadMatch;
|
31
30
|
protected _matches: TypeaheadMatch[];
|
@@ -1,5 +1,5 @@
|
|
1
1
|
export * from './triggers';
|
2
|
-
export {
|
2
|
+
export { setTheme, getBsVer, currentBsVersion, BsVerions } from './theme-provider';
|
3
3
|
export { LinkedList } from './linked-list.class';
|
4
4
|
export { listenToTriggersV2, registerOutsideClick, registerEscClick } from './triggers';
|
5
5
|
export { OnChange } from './decorators';
|
@@ -7,4 +7,4 @@ export { Trigger } from './trigger.class';
|
|
7
7
|
export { Utils } from './utils.class';
|
8
8
|
export { window, document } from './facade/browser';
|
9
9
|
export { warnOnce } from './warn-once';
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy91dGlscy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDO0FBQzNCLE9BQU8sRUFDTCxRQUFRLEVBQ1IsUUFBUSxFQUNSLGdCQUFnQixFQUVoQixTQUFTLEVBRVYsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFakQsT0FBTyxFQUNMLGtCQUFrQixFQUNsQixvQkFBb0IsRUFDcEIsZ0JBQWdCLEVBQ2pCLE1BQU0sWUFBWSxDQUFDO0FBRXBCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDeEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQUssYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90cmlnZ2Vycyc7XG5leHBvcnQge1xuICBzZXRUaGVtZSxcbiAgZ2V0QnNWZXIsXG4gIGN1cnJlbnRCc1ZlcnNpb24sXG4gIElCc1ZlcnNpb24sXG4gIEJzVmVyaW9ucyxcbiAgQXZhaWxhYmxlQnNWZXJzaW9uc1xufSBmcm9tICcuL3RoZW1lLXByb3ZpZGVyJztcbmV4cG9ydCB7IExpbmtlZExpc3QgfSBmcm9tICcuL2xpbmtlZC1saXN0LmNsYXNzJztcblxuZXhwb3J0IHtcbiAgbGlzdGVuVG9UcmlnZ2Vyc1YyLFxuICByZWdpc3Rlck91dHNpZGVDbGljayxcbiAgcmVnaXN0ZXJFc2NDbGlja1xufSBmcm9tICcuL3RyaWdnZXJzJztcblxuZXhwb3J0IHsgT25DaGFuZ2UgfSBmcm9tICcuL2RlY29yYXRvcnMnO1xuZXhwb3J0IHsgVHJpZ2dlciB9IGZyb20gJy4vdHJpZ2dlci5jbGFzcyc7XG5leHBvcnQgeyBVdGlscyB9IGZyb20gJy4vdXRpbHMuY2xhc3MnO1xuZXhwb3J0IHsgd2luZG93LCBkb2N1bWVudCB9IGZyb20gJy4vZmFjYWRlL2Jyb3dzZXInO1xuZXhwb3J0IHsgd2Fybk9uY2UgfWZyb20gJy4vd2Fybi1vbmNlJztcbiJdfQ==
|
@@ -1,26 +1,17 @@
|
|
1
1
|
import { window } from './facade/browser';
|
2
2
|
export var BsVerions;
|
3
3
|
(function (BsVerions) {
|
4
|
-
BsVerions["isBs3"] = "bs3";
|
5
4
|
BsVerions["isBs4"] = "bs4";
|
6
5
|
BsVerions["isBs5"] = "bs5";
|
7
6
|
})(BsVerions || (BsVerions = {}));
|
8
7
|
let guessedVersion;
|
9
8
|
function _guessBsVersion() {
|
10
|
-
if (typeof window.document === 'undefined') {
|
11
|
-
return 'bs4';
|
12
|
-
}
|
13
9
|
const spanEl = window.document.createElement('span');
|
14
10
|
spanEl.innerText = 'testing bs version';
|
15
11
|
spanEl.classList.add('d-none');
|
16
12
|
spanEl.classList.add('pl-1');
|
17
13
|
window.document.head.appendChild(spanEl);
|
18
|
-
const rect = spanEl.getBoundingClientRect();
|
19
14
|
const checkPadding = window.getComputedStyle(spanEl).paddingLeft;
|
20
|
-
if (!rect || (rect && rect.top !== 0)) {
|
21
|
-
window.document.head.removeChild(spanEl);
|
22
|
-
return 'bs3';
|
23
|
-
}
|
24
15
|
if (checkPadding && parseFloat(checkPadding)) {
|
25
16
|
window.document.head.removeChild(spanEl);
|
26
17
|
return 'bs4';
|
@@ -31,31 +22,13 @@ function _guessBsVersion() {
|
|
31
22
|
export function setTheme(theme) {
|
32
23
|
guessedVersion = theme;
|
33
24
|
}
|
34
|
-
// todo: in ngx-bootstrap, bs4 will became a default one
|
35
|
-
export function isBs3() {
|
36
|
-
if (typeof window === 'undefined') {
|
37
|
-
return true;
|
38
|
-
}
|
39
|
-
if (typeof window.__theme === 'undefined') {
|
40
|
-
if (guessedVersion) {
|
41
|
-
return guessedVersion === 'bs3';
|
42
|
-
}
|
43
|
-
guessedVersion = _guessBsVersion();
|
44
|
-
return guessedVersion === 'bs3';
|
45
|
-
}
|
46
|
-
return window.__theme === 'bs3';
|
47
|
-
}
|
48
25
|
export function isBs4() {
|
49
|
-
if (isBs3())
|
50
|
-
return false;
|
51
26
|
if (guessedVersion)
|
52
27
|
return guessedVersion === 'bs4';
|
53
28
|
guessedVersion = _guessBsVersion();
|
54
29
|
return guessedVersion === 'bs4';
|
55
30
|
}
|
56
31
|
export function isBs5() {
|
57
|
-
if (isBs3() || isBs4())
|
58
|
-
return false;
|
59
32
|
if (guessedVersion)
|
60
33
|
return guessedVersion === 'bs5';
|
61
34
|
guessedVersion = _guessBsVersion();
|
@@ -63,7 +36,6 @@ export function isBs5() {
|
|
63
36
|
}
|
64
37
|
export function getBsVer() {
|
65
38
|
return {
|
66
|
-
isBs3: isBs3(),
|
67
39
|
isBs4: isBs4(),
|
68
40
|
isBs5: isBs5()
|
69
41
|
};
|
@@ -73,4 +45,4 @@ export function currentBsVersion() {
|
|
73
45
|
const resVersion = Object.keys(bsVer).find(key => bsVer[key]);
|
74
46
|
return BsVerions[resVersion];
|
75
47
|
}
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUtcHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdGhlbWUtcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBYTFDLE1BQU0sQ0FBTixJQUFZLFNBR1g7QUFIRCxXQUFZLFNBQVM7SUFDbkIsMEJBQWEsQ0FBQTtJQUNiLDBCQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsU0FBUyxLQUFULFNBQVMsUUFHcEI7QUFFRCxJQUFJLGNBQW1DLENBQUM7QUFFeEMsU0FBUyxlQUFlO0lBQ3RCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JELE1BQU0sQ0FBQyxTQUFTLEdBQUcsb0JBQW9CLENBQUM7SUFDeEMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0IsTUFBTSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDN0IsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFFakUsSUFBSSxZQUFZLElBQUksVUFBVSxDQUFDLFlBQVksQ0FBQyxFQUFFO1FBQzVDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN6QyxPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBMEI7SUFDakQsY0FBYyxHQUFHLEtBQUssQ0FBQztBQUN6QixDQUFDO0FBRUQsTUFBTSxVQUFVLEtBQUs7SUFDbkIsSUFBSSxjQUFjO1FBQUUsT0FBTyxjQUFjLEtBQUssS0FBSyxDQUFDO0lBRXBELGNBQWMsR0FBRyxlQUFlLEVBQUUsQ0FBQztJQUNuQyxPQUFPLGNBQWMsS0FBSyxLQUFLLENBQUM7QUFDbEMsQ0FBQztBQUVELE1BQU0sVUFBVSxLQUFLO0lBQ25CLElBQUksY0FBYztRQUFFLE9BQU8sY0FBYyxLQUFLLEtBQUssQ0FBQztJQUVwRCxjQUFjLEdBQUcsZUFBZSxFQUFFLENBQUM7SUFDbkMsT0FBTyxjQUFjLEtBQUssS0FBSyxDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLFVBQVUsUUFBUTtJQUN0QixPQUFPO1FBQ0wsS0FBSyxFQUFFLEtBQUssRUFBRTtRQUNkLEtBQUssRUFBRSxLQUFLLEVBQUU7S0FDZixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxnQkFBZ0I7SUFDOUIsTUFBTSxLQUFLLEdBQUcsUUFBUSxFQUFFLENBQUM7SUFDekIsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUM5RCxPQUFPLFNBQVMsQ0FBQyxVQUFvQyxDQUFDLENBQUM7QUFDekQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHdpbmRvdyB9IGZyb20gJy4vZmFjYWRlL2Jyb3dzZXInO1xuXG5leHBvcnQgdHlwZSBBdmFpbGFibGVCc1ZlcnNpb25zID0gJ2JzNCcgfCAnYnM1JztcblxuaW50ZXJmYWNlIElPYmplY3RLZXlzIHtcbiAgW2tleTogc3RyaW5nXTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJQnNWZXJzaW9uIGV4dGVuZHMgSU9iamVjdEtleXN7XG4gIGlzQnM0OiBib29sZWFuO1xuICBpc0JzNTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGVudW0gQnNWZXJpb25zIHtcbiAgaXNCczQgPSAnYnM0JyxcbiAgaXNCczUgPSAnYnM1J1xufVxuXG5sZXQgZ3Vlc3NlZFZlcnNpb246IEF2YWlsYWJsZUJzVmVyc2lvbnM7XG5cbmZ1bmN0aW9uIF9ndWVzc0JzVmVyc2lvbigpOiBBdmFpbGFibGVCc1ZlcnNpb25zIHtcbiAgY29uc3Qgc3BhbkVsID0gd2luZG93LmRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTtcbiAgc3BhbkVsLmlubmVyVGV4dCA9ICd0ZXN0aW5nIGJzIHZlcnNpb24nO1xuICBzcGFuRWwuY2xhc3NMaXN0LmFkZCgnZC1ub25lJyk7XG4gIHNwYW5FbC5jbGFzc0xpc3QuYWRkKCdwbC0xJyk7XG4gIHdpbmRvdy5kb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNwYW5FbCk7XG4gIGNvbnN0IGNoZWNrUGFkZGluZyA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHNwYW5FbCkucGFkZGluZ0xlZnQ7XG5cbiAgaWYgKGNoZWNrUGFkZGluZyAmJiBwYXJzZUZsb2F0KGNoZWNrUGFkZGluZykpIHtcbiAgICB3aW5kb3cuZG9jdW1lbnQuaGVhZC5yZW1vdmVDaGlsZChzcGFuRWwpO1xuICAgIHJldHVybiAnYnM0JztcbiAgfVxuXG4gIHdpbmRvdy5kb2N1bWVudC5oZWFkLnJlbW92ZUNoaWxkKHNwYW5FbCk7XG4gIHJldHVybiAnYnM1Jztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFRoZW1lKHRoZW1lOiBBdmFpbGFibGVCc1ZlcnNpb25zKTogdm9pZCB7XG4gIGd1ZXNzZWRWZXJzaW9uID0gdGhlbWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0JzNCgpOiBib29sZWFuIHtcbiAgaWYgKGd1ZXNzZWRWZXJzaW9uKSByZXR1cm4gZ3Vlc3NlZFZlcnNpb24gPT09ICdiczQnO1xuXG4gIGd1ZXNzZWRWZXJzaW9uID0gX2d1ZXNzQnNWZXJzaW9uKCk7XG4gIHJldHVybiBndWVzc2VkVmVyc2lvbiA9PT0gJ2JzNCc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0JzNSgpOiBib29sZWFuIHtcbiAgaWYgKGd1ZXNzZWRWZXJzaW9uKSByZXR1cm4gZ3Vlc3NlZFZlcnNpb24gPT09ICdiczUnO1xuXG4gIGd1ZXNzZWRWZXJzaW9uID0gX2d1ZXNzQnNWZXJzaW9uKCk7XG4gIHJldHVybiBndWVzc2VkVmVyc2lvbiA9PT0gJ2JzNSc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRCc1ZlcigpOiBJQnNWZXJzaW9uIHtcbiAgcmV0dXJuIHtcbiAgICBpc0JzNDogaXNCczQoKSxcbiAgICBpc0JzNTogaXNCczUoKVxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3VycmVudEJzVmVyc2lvbigpOiBBdmFpbGFibGVCc1ZlcnNpb25zIHtcbiAgY29uc3QgYnNWZXIgPSBnZXRCc1ZlcigpO1xuICBjb25zdCByZXNWZXJzaW9uID0gT2JqZWN0LmtleXMoYnNWZXIpLmZpbmQoa2V5ID0+IGJzVmVyW2tleV0pO1xuICByZXR1cm4gQnNWZXJpb25zW3Jlc1ZlcnNpb24gYXMga2V5b2YgdHlwZW9mIEJzVmVyaW9uc107XG59XG5cblxuIl19
|
@@ -21,10 +21,10 @@ export class Utils {
|
|
21
21
|
static stackOverflowConfig() {
|
22
22
|
const bsVer = currentBsVersion();
|
23
23
|
return {
|
24
|
-
crossorigin:
|
25
|
-
integrity: bsVer === 'bs5' ? 'sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We' :
|
26
|
-
cdnLink: bsVer === 'bs5' ? 'https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css' :
|
24
|
+
crossorigin: "anonymous",
|
25
|
+
integrity: bsVer === 'bs5' ? 'sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We' : 'sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2',
|
26
|
+
cdnLink: bsVer === 'bs5' ? 'https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css' : 'https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css',
|
27
27
|
};
|
28
28
|
}
|
29
29
|
}
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvdXRpbHMuY2xhc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRXBELE1BQU0sT0FBTyxLQUFLO0lBQ2hCLDhEQUE4RDtJQUM5RCxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQVk7UUFDeEIsOERBQThEO1FBQzlELENBQUMsQ0FBQyxFQUFPLEVBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsZ0ZBQWdGO0lBQ2hGLDhEQUE4RDtJQUM5RCxNQUFNLENBQUMsU0FBUyxDQUFDLElBQVM7UUFDeEIsdURBQXVEO1FBQ3ZELDBDQUEwQztRQUMxQywrRUFBK0U7UUFDL0UsSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUM7UUFFMUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDekIsSUFBSSxHQUFHLE1BQU0sQ0FBQztTQUNmO1FBRUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVBLE1BQU0sQ0FBQyxtQkFBbUI7UUFDekIsTUFBTSxLQUFLLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztRQUMvQixPQUFPO1lBQ1AsV0FBVyxFQUFFLFdBQVc7WUFDeEIsU0FBUyxFQUFFLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLHlFQUF5RSxDQUFDLENBQUMsQ0FBQyx5RUFBeUU7WUFDbEwsT0FBTyxFQUFFLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLHlFQUF5RSxDQUFDLENBQUMsQ0FBQyx5RUFBeUU7U0FDakwsQ0FBQztJQUNILENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHdpbmRvdyB9IGZyb20gJy4vZmFjYWRlL2Jyb3dzZXInO1xuaW1wb3J0IHsgY3VycmVudEJzVmVyc2lvbiB9IGZyb20gJy4vdGhlbWUtcHJvdmlkZXInO1xuXG5leHBvcnQgY2xhc3MgVXRpbHMge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICBzdGF0aWMgcmVmbG93KGVsZW1lbnQ6IGFueSk6IHZvaWQge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgKChiczogYW55KTogdm9pZCA9PiBicykoZWxlbWVudC5vZmZzZXRIZWlnaHQpO1xuICB9XG5cbiAgLy8gc291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vanF1ZXJ5L2pxdWVyeS9ibG9iL21hc3Rlci9zcmMvY3NzL3Zhci9nZXRTdHlsZXMuanNcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgc3RhdGljIGdldFN0eWxlcyhlbGVtOiBhbnkpOiBhbnkge1xuICAgIC8vIFN1cHBvcnQ6IElFIDw9MTEgb25seSwgRmlyZWZveCA8PTMwICgjMTUwOTgsICMxNDE1MClcbiAgICAvLyBJRSB0aHJvd3Mgb24gZWxlbWVudHMgY3JlYXRlZCBpbiBwb3B1cHNcbiAgICAvLyBGRiBtZWFud2hpbGUgdGhyb3dzIG9uIGZyYW1lIGVsZW1lbnRzIHRocm91Z2ggXCJkZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlXCJcbiAgICBsZXQgdmlldyA9IGVsZW0ub3duZXJEb2N1bWVudC5kZWZhdWx0VmlldztcblxuICAgIGlmICghdmlldyB8fCAhdmlldy5vcGVuZXIpIHtcbiAgICAgIHZpZXcgPSB3aW5kb3c7XG4gICAgfVxuXG4gICAgcmV0dXJuIHZpZXcuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtKTtcbiAgfVxuXG4gICBzdGF0aWMgc3RhY2tPdmVyZmxvd0NvbmZpZygpOiB7IGNyb3Nzb3JpZ2luPzogc3RyaW5nLCBpbnRlZ3JpdHk/OiBzdHJpbmcsIGNkbkxpbms6IHN0cmluZyB9IHtcbiAgICBjb25zdCBic1ZlciA9IGN1cnJlbnRCc1ZlcnNpb24oKTtcbiAgICAgIHJldHVybiB7XG4gICAgICBjcm9zc29yaWdpbjogXCJhbm9ueW1vdXNcIixcbiAgICAgIGludGVncml0eTogYnNWZXIgPT09ICdiczUnID8gJ3NoYTM4NC1LeVpYRUFnM1FocUxNcEc4cis4ZmhBWExSazJ2dm9DMmYzQjA5elZYbjhDQTVRSVZmWk9KM0JDc3cyUDBwL1dlJyA6ICdzaGEzODQtVFg4dDI3RWNSRTNlL2loVTd6bVF4Vm5jREF5NXVJS3o0ckVrZ0lYZU1lZDRNMGpsZklEUHZnNnVxS0kyeFhyMicsXG4gICAgICBjZG5MaW5rOiBic1ZlciA9PT0gJ2JzNScgPyAnaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9ib290c3RyYXBANS4xLjAvZGlzdC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MnIDogJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vYm9vdHN0cmFwQDQuNS4zL2Rpc3QvY3NzL2Jvb3RzdHJhcC5taW4uY3NzJyxcbiAgICB9O1xuICAgfVxufVxuIl19
|
@@ -158,26 +158,17 @@ const EventListener = win.EventListener;
|
|
158
158
|
|
159
159
|
var BsVerions;
|
160
160
|
(function (BsVerions) {
|
161
|
-
BsVerions["isBs3"] = "bs3";
|
162
161
|
BsVerions["isBs4"] = "bs4";
|
163
162
|
BsVerions["isBs5"] = "bs5";
|
164
163
|
})(BsVerions || (BsVerions = {}));
|
165
164
|
let guessedVersion;
|
166
165
|
function _guessBsVersion() {
|
167
|
-
if (typeof win.document === 'undefined') {
|
168
|
-
return 'bs4';
|
169
|
-
}
|
170
166
|
const spanEl = win.document.createElement('span');
|
171
167
|
spanEl.innerText = 'testing bs version';
|
172
168
|
spanEl.classList.add('d-none');
|
173
169
|
spanEl.classList.add('pl-1');
|
174
170
|
win.document.head.appendChild(spanEl);
|
175
|
-
const rect = spanEl.getBoundingClientRect();
|
176
171
|
const checkPadding = win.getComputedStyle(spanEl).paddingLeft;
|
177
|
-
if (!rect || (rect && rect.top !== 0)) {
|
178
|
-
win.document.head.removeChild(spanEl);
|
179
|
-
return 'bs3';
|
180
|
-
}
|
181
172
|
if (checkPadding && parseFloat(checkPadding)) {
|
182
173
|
win.document.head.removeChild(spanEl);
|
183
174
|
return 'bs4';
|
@@ -188,31 +179,13 @@ function _guessBsVersion() {
|
|
188
179
|
function setTheme(theme) {
|
189
180
|
guessedVersion = theme;
|
190
181
|
}
|
191
|
-
// todo: in ngx-bootstrap, bs4 will became a default one
|
192
|
-
function isBs3() {
|
193
|
-
if (typeof win === 'undefined') {
|
194
|
-
return true;
|
195
|
-
}
|
196
|
-
if (typeof win.__theme === 'undefined') {
|
197
|
-
if (guessedVersion) {
|
198
|
-
return guessedVersion === 'bs3';
|
199
|
-
}
|
200
|
-
guessedVersion = _guessBsVersion();
|
201
|
-
return guessedVersion === 'bs3';
|
202
|
-
}
|
203
|
-
return win.__theme === 'bs3';
|
204
|
-
}
|
205
182
|
function isBs4() {
|
206
|
-
if (isBs3())
|
207
|
-
return false;
|
208
183
|
if (guessedVersion)
|
209
184
|
return guessedVersion === 'bs4';
|
210
185
|
guessedVersion = _guessBsVersion();
|
211
186
|
return guessedVersion === 'bs4';
|
212
187
|
}
|
213
188
|
function isBs5() {
|
214
|
-
if (isBs3() || isBs4())
|
215
|
-
return false;
|
216
189
|
if (guessedVersion)
|
217
190
|
return guessedVersion === 'bs5';
|
218
191
|
guessedVersion = _guessBsVersion();
|
@@ -220,7 +193,6 @@ function isBs5() {
|
|
220
193
|
}
|
221
194
|
function getBsVer() {
|
222
195
|
return {
|
223
|
-
isBs3: isBs3(),
|
224
196
|
isBs4: isBs4(),
|
225
197
|
isBs5: isBs5()
|
226
198
|
};
|
@@ -524,9 +496,9 @@ class Utils {
|
|
524
496
|
static stackOverflowConfig() {
|
525
497
|
const bsVer = currentBsVersion();
|
526
498
|
return {
|
527
|
-
crossorigin:
|
528
|
-
integrity: bsVer === 'bs5' ? 'sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We' :
|
529
|
-
cdnLink: bsVer === 'bs5' ? 'https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css' :
|
499
|
+
crossorigin: "anonymous",
|
500
|
+
integrity: bsVer === 'bs5' ? 'sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We' : 'sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2',
|
501
|
+
cdnLink: bsVer === 'bs5' ? 'https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css' : 'https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css',
|
530
502
|
};
|
531
503
|
}
|
532
504
|
}
|
@@ -545,5 +517,5 @@ function warnOnce(msg) {
|
|
545
517
|
* Generated bundle index. Do not edit.
|
546
518
|
*/
|
547
519
|
|
548
|
-
export { BsVerions, LinkedList, OnChange, Trigger, Utils, currentBsVersion, document, getBsVer,
|
520
|
+
export { BsVerions, LinkedList, OnChange, Trigger, Utils, currentBsVersion, document, getBsVer, listenToTriggers, listenToTriggersV2, parseTriggers, registerEscClick, registerOutsideClick, setTheme, warnOnce, win as window };
|
549
521
|
//# sourceMappingURL=ngx-bootstrap-utils.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ngx-bootstrap-utils.mjs","sources":["../../../../src/utils/trigger.class.ts","../../../../src/utils/triggers.ts","../../../../src/utils/facade/browser.ts","../../../../src/utils/theme-provider.ts","../../../../src/utils/linked-list.class.ts","../../../../src/utils/decorators.ts","../../../../src/utils/utils.class.ts","../../../../src/utils/warn-once.ts","../../../../src/utils/ngx-bootstrap-utils.ts"],"sourcesContent":["/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\n\nexport class Trigger {\n open: string;\n close?: string;\n\n constructor(open: string, close?: string) {\n this.open = open;\n this.close = close || open;\n }\n\n isManual(): boolean {\n return this.open === 'manual' || this.close === 'manual';\n }\n}\n","/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\nimport { Renderer2 } from '@angular/core';\nimport { Trigger } from './trigger.class';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type BsEventCallback = (event?: any) => boolean | void;\n\nexport interface ListenOptions {\n target?: HTMLElement;\n targets?: HTMLElement[];\n triggers?: string;\n outsideClick?: boolean;\n outsideEsc?: boolean;\n show?: BsEventCallback;\n hide?: BsEventCallback;\n toggle?: BsEventCallback;\n}\n\nconst DEFAULT_ALIASES = {\n hover: ['mouseover', 'mouseout'],\n focus: ['focusin', 'focusout']\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function parseTriggers(triggers?: string, aliases: any = DEFAULT_ALIASES): Trigger[] {\n const trimmedTriggers = (triggers || '').trim();\n\n if (trimmedTriggers.length === 0) {\n return [];\n }\n\n const parsedTriggers = trimmedTriggers\n .split(/\\s+/)\n .map((trigger: string) => trigger.split(':'))\n .map((triggerPair: string[]) => {\n const alias = aliases[triggerPair[0]] || triggerPair;\n\n return new Trigger(alias[0], alias[1]);\n });\n\n const manualTriggers = parsedTriggers.filter((triggerPair: Trigger) =>\n triggerPair.isManual()\n );\n\n if (manualTriggers.length > 1) {\n throw new Error('Triggers parse error: only one manual trigger is allowed');\n }\n\n if (manualTriggers.length === 1 && parsedTriggers.length > 1) {\n throw new Error('Triggers parse error: manual trigger can\\'t be mixed with other triggers');\n }\n\n return parsedTriggers;\n}\n\nexport function listenToTriggers(renderer: Renderer2,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n target: any,\n triggers: string,\n showFn: BsEventCallback,\n hideFn: BsEventCallback,\n toggleFn: BsEventCallback): () => void {\n const parsedTriggers = parseTriggers(triggers);\n const listeners: Array<() => void> = [];\n\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return Function.prototype as () => void;\n }\n\n parsedTriggers.forEach((trigger: Trigger) => {\n if (trigger.open === trigger.close) {\n listeners.push(renderer.listen(target, trigger.open, toggleFn));\n\n return;\n }\n\n listeners.push(renderer.listen(target, trigger.open, showFn));\n if (trigger.close) {\n listeners.push(renderer.listen(target, trigger.close, hideFn));\n }\n });\n\n return () => {\n listeners.forEach((unsubscribeFn) => unsubscribeFn());\n };\n}\n\nexport function listenToTriggersV2(renderer: Renderer2,\n options: ListenOptions): () => void {\n const parsedTriggers = parseTriggers(options.triggers);\n const target = options.target;\n // do nothing\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return Function.prototype as () => void;\n }\n\n // all listeners\n const listeners: Array<() => void> = [];\n\n // lazy listeners registration\n const _registerHide: Array<() => () => void> = [];\n const registerHide = () => {\n // add hide listeners to unregister array\n _registerHide.forEach((fn) => listeners.push(fn()));\n // register hide events only once\n _registerHide.length = 0;\n };\n\n // register open\\close\\toggle listeners\n parsedTriggers.forEach((trigger: Trigger) => {\n const useToggle = trigger.open === trigger.close;\n const showFn = useToggle ? options.toggle : options.show;\n\n if (!useToggle && trigger.close && options.hide) {\n const _hide = renderer.listen(target, trigger.close, options.hide);\n _registerHide.push(() => _hide);\n }\n\n if (showFn) {\n listeners.push(renderer.listen(target, trigger.open, () => showFn(registerHide)));\n }\n });\n\n return () => {\n listeners.forEach((unsubscribeFn: () => void) => unsubscribeFn());\n };\n}\n\nexport function registerOutsideClick(renderer: Renderer2,\n options: ListenOptions) {\n if (!options.outsideClick) {\n return Function.prototype;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return renderer.listen('document', 'click', (event: any) => {\n if (options.target && options.target.contains(event.target)) {\n return;\n }\n if (\n options.targets &&\n options.targets.some(target => target.contains(event.target))\n ) {\n return;\n }\n\n if (options.hide) {\n options.hide();\n }\n });\n}\n\nexport function registerEscClick(renderer: Renderer2,\n options: ListenOptions) {\n if (!options.outsideEsc) {\n return Function.prototype;\n }\n\n return renderer.listen('document', 'keyup.esc', (event) => {\n if (options.target && options.target.contains(event.target)) {\n return;\n }\n if (\n options.targets &&\n options.targets.some(target => target.contains(event.target))\n ) {\n return;\n }\n\n if (options.hide) {\n options.hide();\n }\n });\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * JS version of browser APIs. This library can only run in the browser.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst win = (typeof window !== 'undefined' && window) || {} as any;\n\nexport { win as window };\nexport const document = win.document;\nexport const location = win.location;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const gc = win.gc ? () => win.gc() : (): any => null;\nexport const performance = win.performance ? win.performance : null;\nexport const Event = win.Event;\nexport const MouseEvent = win.MouseEvent;\nexport const KeyboardEvent = win.KeyboardEvent;\nexport const EventTarget = win.EventTarget;\nexport const History = win.History;\nexport const Location = win.Location;\nexport const EventListener = win.EventListener;\n","import { window } from './facade/browser';\n\nexport type AvailableBsVersions = 'bs3' | 'bs4' | 'bs5';\n\ninterface IObjectKeys {\n [key: string]: boolean;\n}\n\nexport interface IBsVersion extends IObjectKeys{\n isBs3: boolean;\n isBs4: boolean;\n isBs5: boolean;\n}\n\nexport enum BsVerions {\n isBs3 = 'bs3',\n isBs4 = 'bs4',\n isBs5 = 'bs5'\n}\n\nlet guessedVersion: AvailableBsVersions;\n\nfunction _guessBsVersion(): AvailableBsVersions {\n if (typeof window.document === 'undefined') {\n return 'bs4';\n }\n const spanEl = window.document.createElement('span');\n spanEl.innerText = 'testing bs version';\n spanEl.classList.add('d-none');\n spanEl.classList.add('pl-1');\n window.document.head.appendChild(spanEl);\n const rect = spanEl.getBoundingClientRect();\n const checkPadding = window.getComputedStyle(spanEl).paddingLeft;\n if (!rect || (rect && rect.top !== 0)) {\n window.document.head.removeChild(spanEl);\n return 'bs3';\n }\n\n if (checkPadding && parseFloat(checkPadding)) {\n window.document.head.removeChild(spanEl);\n return 'bs4';\n }\n\n window.document.head.removeChild(spanEl);\n return 'bs5';\n}\n\nexport function setTheme(theme: AvailableBsVersions): void {\n guessedVersion = theme;\n}\n\n// todo: in ngx-bootstrap, bs4 will became a default one\nexport function isBs3(): boolean {\n if (typeof window === 'undefined') {\n return true;\n }\n\n if (typeof window.__theme === 'undefined') {\n if (guessedVersion) {\n return guessedVersion === 'bs3';\n }\n guessedVersion = _guessBsVersion();\n\n return guessedVersion === 'bs3';\n }\n\n return window.__theme === 'bs3';\n}\n\nexport function isBs4(): boolean {\n if (isBs3()) return false;\n\n if (guessedVersion) return guessedVersion === 'bs4';\n\n guessedVersion = _guessBsVersion();\n return guessedVersion === 'bs4';\n}\n\nexport function isBs5(): boolean {\n if (isBs3() || isBs4()) return false;\n\n if (guessedVersion) return guessedVersion === 'bs5';\n\n guessedVersion = _guessBsVersion();\n return guessedVersion === 'bs5';\n}\n\nexport function getBsVer(): IBsVersion {\n return {\n isBs3: isBs3(),\n isBs4: isBs4(),\n isBs5: isBs5()\n };\n}\n\nexport function currentBsVersion(): AvailableBsVersions {\n const bsVer = getBsVer();\n const resVersion = Object.keys(bsVer).find(key => bsVer[key]);\n return BsVerions[resVersion as keyof typeof BsVerions];\n}\n\n\n","interface ListNode<T> {\n value: T,\n next?: ListNode<T>,\n previous?: ListNode<T>\n}\n\nexport class LinkedList<T> {\n length = 0;\n protected head?: ListNode<T>;\n protected tail?: ListNode<T>;\n protected current?: ListNode<T>;\n protected asArray: T[] = [];\n\n get(position: number): T | undefined {\n if (this.length === 0 || position < 0 || position >= this.length) {\n return void 0;\n }\n\n let current = this.head;\n\n for (let index = 0; index < position; index++) {\n current = current?.next;\n }\n\n return current?.value;\n }\n\n add(value: T, position: number = this.length): void {\n if (position < 0 || position > this.length) {\n throw new Error('Position is out of the list');\n }\n\n const node: ListNode<T> = {\n value,\n next: undefined,\n previous: undefined\n };\n\n if (this.length === 0) {\n this.head = node;\n this.tail = node;\n this.current = node;\n } else {\n if (position === 0 && this.head) {\n // first node\n node.next = this.head;\n this.head.previous = node;\n this.head = node;\n } else if (position === this.length && this.tail) {\n // last node\n this.tail.next = node;\n node.previous = this.tail;\n this.tail = node;\n } else {\n // node in middle\n const currentPreviousNode = this.getNode(position - 1);\n const currentNextNode = currentPreviousNode?.next;\n if (currentPreviousNode && currentNextNode) {\n currentPreviousNode.next = node;\n currentNextNode.previous = node;\n node.previous = currentPreviousNode;\n node.next = currentNextNode;\n }\n }\n }\n this.length++;\n this.createInternalArrayRepresentation();\n }\n\n remove(position = 0): void {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n\n if (position === 0 && this.head) {\n // first node\n this.head = this.head.next;\n\n if (this.head) {\n // there is no second node\n this.head.previous = undefined;\n } else {\n // there is no second node\n this.tail = undefined;\n }\n } else if (position === this.length - 1 && this.tail?.previous) {\n // last node\n this.tail = this.tail.previous;\n this.tail.next = undefined;\n } else {\n // middle node\n const removedNode = this.getNode(position);\n if (removedNode?.next && removedNode.previous) {\n removedNode.next.previous = removedNode.previous;\n removedNode.previous.next = removedNode.next;\n }\n }\n\n this.length--;\n this.createInternalArrayRepresentation();\n }\n\n set(position: number, value: T): void {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n\n const node = this.getNode(position);\n if (node) {\n node.value = value;\n this.createInternalArrayRepresentation();\n }\n }\n\n toArray(): T[] {\n return this.asArray;\n }\n\n findAll(fn: (value: T, index: number) => boolean): { index: number, value: T }[] {\n let current = this.head;\n const result: { index: number, value: T }[] = [];\n\n if (!current) {\n return result;\n }\n\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return result;\n }\n if (fn(current.value, index)) {\n result.push({ index, value: current.value });\n }\n current = current.next;\n\n }\n\n return result;\n }\n\n // Array methods overriding start\n push(...args: T[]): number {\n args.forEach((arg: T) => {\n this.add(arg);\n });\n\n return this.length;\n }\n\n pop(): T | undefined {\n if (this.length === 0) {\n return undefined;\n }\n const last = this.tail;\n this.remove(this.length - 1);\n\n return last?.value;\n }\n\n unshift(...args: T[]): number {\n args.reverse();\n args.forEach((arg: T) => {\n this.add(arg, 0);\n });\n\n return this.length;\n }\n\n shift(): T | undefined {\n if (this.length === 0) {\n return undefined;\n }\n const lastItem = this.head?.value;\n this.remove();\n\n return lastItem;\n }\n\n forEach(fn: (value: T, index: number) => void): void {\n let current = this.head;\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return;\n }\n fn(current.value, index);\n current = current.next;\n }\n }\n\n indexOf(value: T): number {\n let current = this.head;\n let position = -1;\n\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return position;\n }\n if (current.value === value) {\n position = index;\n break;\n }\n current = current.next;\n }\n\n return position;\n }\n\n some(fn: (value: T) => boolean): boolean {\n let current = this.head;\n let result = false;\n while (current && !result) {\n if (fn(current.value)) {\n result = true;\n break;\n }\n current = current.next;\n }\n\n return result;\n }\n\n every(fn: (value: T) => boolean): boolean {\n let current = this.head;\n let result = true;\n while (current && result) {\n if (!fn(current.value)) {\n result = false;\n }\n current = current.next;\n }\n\n return result;\n }\n\n toString(): string {\n return '[Linked List]';\n }\n\n find(fn: (value: T, index: number) => boolean): T | void {\n let current = this.head;\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return;\n }\n if (fn(current.value, index)) {\n return current.value;\n }\n current = current.next;\n }\n }\n\n findIndex(fn: (value: T, index: number) => boolean): number {\n let current = this.head;\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return -1;\n }\n\n if (fn(current.value, index)) {\n return index;\n }\n\n current = current.next;\n }\n\n return -1;\n }\n\n protected getNode(position: number): ListNode<T>|undefined {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n\n let current = this.head;\n\n for (let index = 0; index < position; index++) {\n current = current?.next;\n }\n\n return current;\n }\n\n protected createInternalArrayRepresentation(): void {\n const outArray: T[] = [];\n let current = this.head;\n\n while (current) {\n outArray.push(current.value);\n current = current.next;\n }\n this.asArray = outArray;\n }\n\n // Array methods overriding END\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function OnChange(): any {\n const sufix = 'Change';\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function OnChangeHandler(target: any, propertyKey: string): void {\n const _key = ` __${propertyKey}Value`;\n Object.defineProperty(target, propertyKey, {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get(): any {\n return this[_key];\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(value: any): void {\n const prevValue = this[_key];\n this[_key] = value;\n if (prevValue !== value && this[propertyKey + sufix]) {\n this[propertyKey + sufix].emit(value);\n }\n }\n });\n };\n}\n","import { window } from './facade/browser';\nimport { currentBsVersion } from './theme-provider';\n\nexport class Utils {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static reflow(element: any): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ((bs: any): void => bs)(element.offsetHeight);\n }\n\n // source: https://github.com/jquery/jquery/blob/master/src/css/var/getStyles.js\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static getStyles(elem: any): any {\n // Support: IE <=11 only, Firefox <=30 (#15098, #14150)\n // IE throws on elements created in popups\n // FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n let view = elem.ownerDocument.defaultView;\n\n if (!view || !view.opener) {\n view = window;\n }\n\n return view.getComputedStyle(elem);\n }\n\n static stackOverflowConfig(): { crossorigin?: string, integrity?: string, cdnLink: string } {\n const bsVer = currentBsVersion();\n return {\n crossorigin: bsVer !== 'bs3' ? \"anonymous\" : undefined,\n integrity: bsVer === 'bs5' ? 'sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We' : bsVer === 'bs4' ? 'sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2' : undefined,\n cdnLink: bsVer === 'bs5' ? 'https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css' : bsVer === 'bs4' ? 'https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css' : 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css',\n };\n }\n}\n","import { isDevMode } from '@angular/core';\nconst _messagesHash: { [key: string]: boolean } = {};\nconst _hideMsg = typeof console === 'undefined' || !('warn' in console);\n\nexport function warnOnce(msg: string): void {\n if (!isDevMode() || _hideMsg || msg in _messagesHash) {\n return;\n }\n\n _messagesHash[msg] = true;\n console.warn(msg);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["window"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ngx-bootstrap-utils.mjs","sources":["../../../../src/utils/trigger.class.ts","../../../../src/utils/triggers.ts","../../../../src/utils/facade/browser.ts","../../../../src/utils/theme-provider.ts","../../../../src/utils/linked-list.class.ts","../../../../src/utils/decorators.ts","../../../../src/utils/utils.class.ts","../../../../src/utils/warn-once.ts","../../../../src/utils/ngx-bootstrap-utils.ts"],"sourcesContent":["/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\n\nexport class Trigger {\n open: string;\n close?: string;\n\n constructor(open: string, close?: string) {\n this.open = open;\n this.close = close || open;\n }\n\n isManual(): boolean {\n return this.open === 'manual' || this.close === 'manual';\n }\n}\n","/**\n * @copyright Valor Software\n * @copyright Angular ng-bootstrap team\n */\nimport { Renderer2 } from '@angular/core';\nimport { Trigger } from './trigger.class';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type BsEventCallback = (event?: any) => boolean | void;\n\nexport interface ListenOptions {\n target?: HTMLElement;\n targets?: HTMLElement[];\n triggers?: string;\n outsideClick?: boolean;\n outsideEsc?: boolean;\n show?: BsEventCallback;\n hide?: BsEventCallback;\n toggle?: BsEventCallback;\n}\n\nconst DEFAULT_ALIASES = {\n hover: ['mouseover', 'mouseout'],\n focus: ['focusin', 'focusout']\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function parseTriggers(triggers?: string, aliases: any = DEFAULT_ALIASES): Trigger[] {\n const trimmedTriggers = (triggers || '').trim();\n\n if (trimmedTriggers.length === 0) {\n return [];\n }\n\n const parsedTriggers = trimmedTriggers\n .split(/\\s+/)\n .map((trigger: string) => trigger.split(':'))\n .map((triggerPair: string[]) => {\n const alias = aliases[triggerPair[0]] || triggerPair;\n\n return new Trigger(alias[0], alias[1]);\n });\n\n const manualTriggers = parsedTriggers.filter((triggerPair: Trigger) =>\n triggerPair.isManual()\n );\n\n if (manualTriggers.length > 1) {\n throw new Error('Triggers parse error: only one manual trigger is allowed');\n }\n\n if (manualTriggers.length === 1 && parsedTriggers.length > 1) {\n throw new Error('Triggers parse error: manual trigger can\\'t be mixed with other triggers');\n }\n\n return parsedTriggers;\n}\n\nexport function listenToTriggers(renderer: Renderer2,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n target: any,\n triggers: string,\n showFn: BsEventCallback,\n hideFn: BsEventCallback,\n toggleFn: BsEventCallback): () => void {\n const parsedTriggers = parseTriggers(triggers);\n const listeners: Array<() => void> = [];\n\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return Function.prototype as () => void;\n }\n\n parsedTriggers.forEach((trigger: Trigger) => {\n if (trigger.open === trigger.close) {\n listeners.push(renderer.listen(target, trigger.open, toggleFn));\n\n return;\n }\n\n listeners.push(renderer.listen(target, trigger.open, showFn));\n if (trigger.close) {\n listeners.push(renderer.listen(target, trigger.close, hideFn));\n }\n });\n\n return () => {\n listeners.forEach((unsubscribeFn) => unsubscribeFn());\n };\n}\n\nexport function listenToTriggersV2(renderer: Renderer2,\n options: ListenOptions): () => void {\n const parsedTriggers = parseTriggers(options.triggers);\n const target = options.target;\n // do nothing\n if (parsedTriggers.length === 1 && parsedTriggers[0].isManual()) {\n return Function.prototype as () => void;\n }\n\n // all listeners\n const listeners: Array<() => void> = [];\n\n // lazy listeners registration\n const _registerHide: Array<() => () => void> = [];\n const registerHide = () => {\n // add hide listeners to unregister array\n _registerHide.forEach((fn) => listeners.push(fn()));\n // register hide events only once\n _registerHide.length = 0;\n };\n\n // register open\\close\\toggle listeners\n parsedTriggers.forEach((trigger: Trigger) => {\n const useToggle = trigger.open === trigger.close;\n const showFn = useToggle ? options.toggle : options.show;\n\n if (!useToggle && trigger.close && options.hide) {\n const _hide = renderer.listen(target, trigger.close, options.hide);\n _registerHide.push(() => _hide);\n }\n\n if (showFn) {\n listeners.push(renderer.listen(target, trigger.open, () => showFn(registerHide)));\n }\n });\n\n return () => {\n listeners.forEach((unsubscribeFn: () => void) => unsubscribeFn());\n };\n}\n\nexport function registerOutsideClick(renderer: Renderer2,\n options: ListenOptions) {\n if (!options.outsideClick) {\n return Function.prototype;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return renderer.listen('document', 'click', (event: any) => {\n if (options.target && options.target.contains(event.target)) {\n return;\n }\n if (\n options.targets &&\n options.targets.some(target => target.contains(event.target))\n ) {\n return;\n }\n\n if (options.hide) {\n options.hide();\n }\n });\n}\n\nexport function registerEscClick(renderer: Renderer2,\n options: ListenOptions) {\n if (!options.outsideEsc) {\n return Function.prototype;\n }\n\n return renderer.listen('document', 'keyup.esc', (event) => {\n if (options.target && options.target.contains(event.target)) {\n return;\n }\n if (\n options.targets &&\n options.targets.some(target => target.contains(event.target))\n ) {\n return;\n }\n\n if (options.hide) {\n options.hide();\n }\n });\n}\n","/**\n * @license\n * Copyright Google Inc. All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n/**\n * JS version of browser APIs. This library can only run in the browser.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst win = (typeof window !== 'undefined' && window) || {} as any;\n\nexport { win as window };\nexport const document = win.document;\nexport const location = win.location;\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const gc = win.gc ? () => win.gc() : (): any => null;\nexport const performance = win.performance ? win.performance : null;\nexport const Event = win.Event;\nexport const MouseEvent = win.MouseEvent;\nexport const KeyboardEvent = win.KeyboardEvent;\nexport const EventTarget = win.EventTarget;\nexport const History = win.History;\nexport const Location = win.Location;\nexport const EventListener = win.EventListener;\n","import { window } from './facade/browser';\n\nexport type AvailableBsVersions = 'bs4' | 'bs5';\n\ninterface IObjectKeys {\n [key: string]: boolean;\n}\n\nexport interface IBsVersion extends IObjectKeys{\n isBs4: boolean;\n isBs5: boolean;\n}\n\nexport enum BsVerions {\n isBs4 = 'bs4',\n isBs5 = 'bs5'\n}\n\nlet guessedVersion: AvailableBsVersions;\n\nfunction _guessBsVersion(): AvailableBsVersions {\n const spanEl = window.document.createElement('span');\n spanEl.innerText = 'testing bs version';\n spanEl.classList.add('d-none');\n spanEl.classList.add('pl-1');\n window.document.head.appendChild(spanEl);\n const checkPadding = window.getComputedStyle(spanEl).paddingLeft;\n\n if (checkPadding && parseFloat(checkPadding)) {\n window.document.head.removeChild(spanEl);\n return 'bs4';\n }\n\n window.document.head.removeChild(spanEl);\n return 'bs5';\n}\n\nexport function setTheme(theme: AvailableBsVersions): void {\n guessedVersion = theme;\n}\n\nexport function isBs4(): boolean {\n if (guessedVersion) return guessedVersion === 'bs4';\n\n guessedVersion = _guessBsVersion();\n return guessedVersion === 'bs4';\n}\n\nexport function isBs5(): boolean {\n if (guessedVersion) return guessedVersion === 'bs5';\n\n guessedVersion = _guessBsVersion();\n return guessedVersion === 'bs5';\n}\n\nexport function getBsVer(): IBsVersion {\n return {\n isBs4: isBs4(),\n isBs5: isBs5()\n };\n}\n\nexport function currentBsVersion(): AvailableBsVersions {\n const bsVer = getBsVer();\n const resVersion = Object.keys(bsVer).find(key => bsVer[key]);\n return BsVerions[resVersion as keyof typeof BsVerions];\n}\n\n\n","interface ListNode<T> {\n value: T,\n next?: ListNode<T>,\n previous?: ListNode<T>\n}\n\nexport class LinkedList<T> {\n length = 0;\n protected head?: ListNode<T>;\n protected tail?: ListNode<T>;\n protected current?: ListNode<T>;\n protected asArray: T[] = [];\n\n get(position: number): T | undefined {\n if (this.length === 0 || position < 0 || position >= this.length) {\n return void 0;\n }\n\n let current = this.head;\n\n for (let index = 0; index < position; index++) {\n current = current?.next;\n }\n\n return current?.value;\n }\n\n add(value: T, position: number = this.length): void {\n if (position < 0 || position > this.length) {\n throw new Error('Position is out of the list');\n }\n\n const node: ListNode<T> = {\n value,\n next: undefined,\n previous: undefined\n };\n\n if (this.length === 0) {\n this.head = node;\n this.tail = node;\n this.current = node;\n } else {\n if (position === 0 && this.head) {\n // first node\n node.next = this.head;\n this.head.previous = node;\n this.head = node;\n } else if (position === this.length && this.tail) {\n // last node\n this.tail.next = node;\n node.previous = this.tail;\n this.tail = node;\n } else {\n // node in middle\n const currentPreviousNode = this.getNode(position - 1);\n const currentNextNode = currentPreviousNode?.next;\n if (currentPreviousNode && currentNextNode) {\n currentPreviousNode.next = node;\n currentNextNode.previous = node;\n node.previous = currentPreviousNode;\n node.next = currentNextNode;\n }\n }\n }\n this.length++;\n this.createInternalArrayRepresentation();\n }\n\n remove(position = 0): void {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n\n if (position === 0 && this.head) {\n // first node\n this.head = this.head.next;\n\n if (this.head) {\n // there is no second node\n this.head.previous = undefined;\n } else {\n // there is no second node\n this.tail = undefined;\n }\n } else if (position === this.length - 1 && this.tail?.previous) {\n // last node\n this.tail = this.tail.previous;\n this.tail.next = undefined;\n } else {\n // middle node\n const removedNode = this.getNode(position);\n if (removedNode?.next && removedNode.previous) {\n removedNode.next.previous = removedNode.previous;\n removedNode.previous.next = removedNode.next;\n }\n }\n\n this.length--;\n this.createInternalArrayRepresentation();\n }\n\n set(position: number, value: T): void {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n\n const node = this.getNode(position);\n if (node) {\n node.value = value;\n this.createInternalArrayRepresentation();\n }\n }\n\n toArray(): T[] {\n return this.asArray;\n }\n\n findAll(fn: (value: T, index: number) => boolean): { index: number, value: T }[] {\n let current = this.head;\n const result: { index: number, value: T }[] = [];\n\n if (!current) {\n return result;\n }\n\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return result;\n }\n if (fn(current.value, index)) {\n result.push({ index, value: current.value });\n }\n current = current.next;\n\n }\n\n return result;\n }\n\n // Array methods overriding start\n push(...args: T[]): number {\n args.forEach((arg: T) => {\n this.add(arg);\n });\n\n return this.length;\n }\n\n pop(): T | undefined {\n if (this.length === 0) {\n return undefined;\n }\n const last = this.tail;\n this.remove(this.length - 1);\n\n return last?.value;\n }\n\n unshift(...args: T[]): number {\n args.reverse();\n args.forEach((arg: T) => {\n this.add(arg, 0);\n });\n\n return this.length;\n }\n\n shift(): T | undefined {\n if (this.length === 0) {\n return undefined;\n }\n const lastItem = this.head?.value;\n this.remove();\n\n return lastItem;\n }\n\n forEach(fn: (value: T, index: number) => void): void {\n let current = this.head;\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return;\n }\n fn(current.value, index);\n current = current.next;\n }\n }\n\n indexOf(value: T): number {\n let current = this.head;\n let position = -1;\n\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return position;\n }\n if (current.value === value) {\n position = index;\n break;\n }\n current = current.next;\n }\n\n return position;\n }\n\n some(fn: (value: T) => boolean): boolean {\n let current = this.head;\n let result = false;\n while (current && !result) {\n if (fn(current.value)) {\n result = true;\n break;\n }\n current = current.next;\n }\n\n return result;\n }\n\n every(fn: (value: T) => boolean): boolean {\n let current = this.head;\n let result = true;\n while (current && result) {\n if (!fn(current.value)) {\n result = false;\n }\n current = current.next;\n }\n\n return result;\n }\n\n toString(): string {\n return '[Linked List]';\n }\n\n find(fn: (value: T, index: number) => boolean): T | void {\n let current = this.head;\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return;\n }\n if (fn(current.value, index)) {\n return current.value;\n }\n current = current.next;\n }\n }\n\n findIndex(fn: (value: T, index: number) => boolean): number {\n let current = this.head;\n for (let index = 0; index < this.length; index++) {\n if (!current) {\n return -1;\n }\n\n if (fn(current.value, index)) {\n return index;\n }\n\n current = current.next;\n }\n\n return -1;\n }\n\n protected getNode(position: number): ListNode<T>|undefined {\n if (this.length === 0 || position < 0 || position >= this.length) {\n throw new Error('Position is out of the list');\n }\n\n let current = this.head;\n\n for (let index = 0; index < position; index++) {\n current = current?.next;\n }\n\n return current;\n }\n\n protected createInternalArrayRepresentation(): void {\n const outArray: T[] = [];\n let current = this.head;\n\n while (current) {\n outArray.push(current.value);\n current = current.next;\n }\n this.asArray = outArray;\n }\n\n // Array methods overriding END\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function OnChange(): any {\n const sufix = 'Change';\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function OnChangeHandler(target: any, propertyKey: string): void {\n const _key = ` __${propertyKey}Value`;\n Object.defineProperty(target, propertyKey, {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n get(): any {\n return this[_key];\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(value: any): void {\n const prevValue = this[_key];\n this[_key] = value;\n if (prevValue !== value && this[propertyKey + sufix]) {\n this[propertyKey + sufix].emit(value);\n }\n }\n });\n };\n}\n","import { window } from './facade/browser';\nimport { currentBsVersion } from './theme-provider';\n\nexport class Utils {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static reflow(element: any): void {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ((bs: any): void => bs)(element.offsetHeight);\n }\n\n // source: https://github.com/jquery/jquery/blob/master/src/css/var/getStyles.js\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n static getStyles(elem: any): any {\n // Support: IE <=11 only, Firefox <=30 (#15098, #14150)\n // IE throws on elements created in popups\n // FF meanwhile throws on frame elements through \"defaultView.getComputedStyle\"\n let view = elem.ownerDocument.defaultView;\n\n if (!view || !view.opener) {\n view = window;\n }\n\n return view.getComputedStyle(elem);\n }\n\n static stackOverflowConfig(): { crossorigin?: string, integrity?: string, cdnLink: string } {\n const bsVer = currentBsVersion();\n return {\n crossorigin: \"anonymous\",\n integrity: bsVer === 'bs5' ? 'sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We' : 'sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2',\n cdnLink: bsVer === 'bs5' ? 'https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css' : 'https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css',\n };\n }\n}\n","import { isDevMode } from '@angular/core';\nconst _messagesHash: { [key: string]: boolean } = {};\nconst _hideMsg = typeof console === 'undefined' || !('warn' in console);\n\nexport function warnOnce(msg: string): void {\n if (!isDevMode() || _hideMsg || msg in _messagesHash) {\n return;\n }\n\n _messagesHash[msg] = true;\n console.warn(msg);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["window"],"mappings":"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"}
|
@@ -158,26 +158,17 @@ const EventListener = win.EventListener;
|
|
158
158
|
|
159
159
|
var BsVerions;
|
160
160
|
(function (BsVerions) {
|
161
|
-
BsVerions["isBs3"] = "bs3";
|
162
161
|
BsVerions["isBs4"] = "bs4";
|
163
162
|
BsVerions["isBs5"] = "bs5";
|
164
163
|
})(BsVerions || (BsVerions = {}));
|
165
164
|
let guessedVersion;
|
166
165
|
function _guessBsVersion() {
|
167
|
-
if (typeof win.document === 'undefined') {
|
168
|
-
return 'bs4';
|
169
|
-
}
|
170
166
|
const spanEl = win.document.createElement('span');
|
171
167
|
spanEl.innerText = 'testing bs version';
|
172
168
|
spanEl.classList.add('d-none');
|
173
169
|
spanEl.classList.add('pl-1');
|
174
170
|
win.document.head.appendChild(spanEl);
|
175
|
-
const rect = spanEl.getBoundingClientRect();
|
176
171
|
const checkPadding = win.getComputedStyle(spanEl).paddingLeft;
|
177
|
-
if (!rect || (rect && rect.top !== 0)) {
|
178
|
-
win.document.head.removeChild(spanEl);
|
179
|
-
return 'bs3';
|
180
|
-
}
|
181
172
|
if (checkPadding && parseFloat(checkPadding)) {
|
182
173
|
win.document.head.removeChild(spanEl);
|
183
174
|
return 'bs4';
|
@@ -188,31 +179,13 @@ function _guessBsVersion() {
|
|
188
179
|
function setTheme(theme) {
|
189
180
|
guessedVersion = theme;
|
190
181
|
}
|
191
|
-
// todo: in ngx-bootstrap, bs4 will became a default one
|
192
|
-
function isBs3() {
|
193
|
-
if (typeof win === 'undefined') {
|
194
|
-
return true;
|
195
|
-
}
|
196
|
-
if (typeof win.__theme === 'undefined') {
|
197
|
-
if (guessedVersion) {
|
198
|
-
return guessedVersion === 'bs3';
|
199
|
-
}
|
200
|
-
guessedVersion = _guessBsVersion();
|
201
|
-
return guessedVersion === 'bs3';
|
202
|
-
}
|
203
|
-
return win.__theme === 'bs3';
|
204
|
-
}
|
205
182
|
function isBs4() {
|
206
|
-
if (isBs3())
|
207
|
-
return false;
|
208
183
|
if (guessedVersion)
|
209
184
|
return guessedVersion === 'bs4';
|
210
185
|
guessedVersion = _guessBsVersion();
|
211
186
|
return guessedVersion === 'bs4';
|
212
187
|
}
|
213
188
|
function isBs5() {
|
214
|
-
if (isBs3() || isBs4())
|
215
|
-
return false;
|
216
189
|
if (guessedVersion)
|
217
190
|
return guessedVersion === 'bs5';
|
218
191
|
guessedVersion = _guessBsVersion();
|
@@ -220,7 +193,6 @@ function isBs5() {
|
|
220
193
|
}
|
221
194
|
function getBsVer() {
|
222
195
|
return {
|
223
|
-
isBs3: isBs3(),
|
224
196
|
isBs4: isBs4(),
|
225
197
|
isBs5: isBs5()
|
226
198
|
};
|
@@ -522,9 +494,9 @@ class Utils {
|
|
522
494
|
static stackOverflowConfig() {
|
523
495
|
const bsVer = currentBsVersion();
|
524
496
|
return {
|
525
|
-
crossorigin:
|
526
|
-
integrity: bsVer === 'bs5' ? 'sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We' :
|
527
|
-
cdnLink: bsVer === 'bs5' ? 'https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css' :
|
497
|
+
crossorigin: "anonymous",
|
498
|
+
integrity: bsVer === 'bs5' ? 'sha384-KyZXEAg3QhqLMpG8r+8fhAXLRk2vvoC2f3B09zVXn8CA5QIVfZOJ3BCsw2P0p/We' : 'sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2',
|
499
|
+
cdnLink: bsVer === 'bs5' ? 'https://cdn.jsdelivr.net/npm/bootstrap@5.1.0/dist/css/bootstrap.min.css' : 'https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css',
|
528
500
|
};
|
529
501
|
}
|
530
502
|
}
|
@@ -543,5 +515,5 @@ function warnOnce(msg) {
|
|
543
515
|
* Generated bundle index. Do not edit.
|
544
516
|
*/
|
545
517
|
|
546
|
-
export { BsVerions, LinkedList, OnChange, Trigger, Utils, currentBsVersion, document, getBsVer,
|
518
|
+
export { BsVerions, LinkedList, OnChange, Trigger, Utils, currentBsVersion, document, getBsVer, listenToTriggers, listenToTriggersV2, parseTriggers, registerEscClick, registerOutsideClick, setTheme, warnOnce, win as window };
|
547
519
|
//# sourceMappingURL=ngx-bootstrap-utils.mjs.map
|