@sima-land/ui-nucleons 45.0.0-alpha.70 → 45.0.0-alpha.71
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.
|
@@ -6,14 +6,17 @@ import { disableBodyScroll, enableBodyScroll, BodyScrollOptions } from 'body-scr
|
|
|
6
6
|
* прокручиваемый родитель элемента обрабатывается с помощью body-scroll-lock.
|
|
7
7
|
*/
|
|
8
8
|
export declare const BSL_IGNORE_ATTR: string;
|
|
9
|
+
/** Ключ в globalThis, под которым хранится общая для страницы библиотека BSL. */
|
|
10
|
+
export declare const BSL_SHARED_KEY = "__uiNucleonsBodyScrollLock__";
|
|
11
|
+
type BodyScrollLockLib = {
|
|
12
|
+
disableBodyScroll: (...args: Parameters<typeof disableBodyScroll>) => void;
|
|
13
|
+
enableBodyScroll: (...args: Parameters<typeof enableBodyScroll>) => void;
|
|
14
|
+
};
|
|
9
15
|
/** Адаптер блокировки прокрутки использующий BSL. */
|
|
10
16
|
export declare class PageScrollLockAdapterBSL implements PageScrollLockAdapter {
|
|
11
17
|
private element;
|
|
12
18
|
private options?;
|
|
13
|
-
lib:
|
|
14
|
-
disableBodyScroll: (...args: Parameters<typeof disableBodyScroll>) => void;
|
|
15
|
-
enableBodyScroll: (...args: Parameters<typeof enableBodyScroll>) => void;
|
|
16
|
-
};
|
|
19
|
+
lib: BodyScrollLockLib;
|
|
17
20
|
/**
|
|
18
21
|
* Конструктор.
|
|
19
22
|
* @param element Целевой элемент для которого надо сохранить прокрутку.
|
|
@@ -40,3 +43,4 @@ export declare class PageScrollLockAdapterBSL implements PageScrollLockAdapter {
|
|
|
40
43
|
* @return Нужно ли позволить перетаскивание элемента.
|
|
41
44
|
*/
|
|
42
45
|
export declare const allowTouchMove: Required<BodyScrollOptions>['allowTouchMove'];
|
|
46
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.allowTouchMove = exports.PageScrollLockAdapterBSL = exports.BSL_IGNORE_ATTR = void 0;
|
|
3
|
+
exports.allowTouchMove = exports.PageScrollLockAdapterBSL = exports.BSL_SHARED_KEY = exports.BSL_IGNORE_ATTR = void 0;
|
|
4
4
|
const body_scroll_lock_upgrade_1 = require("body-scroll-lock-upgrade");
|
|
5
5
|
/**
|
|
6
6
|
* Имя атрибута, устанавливаемого на элемент, имеющий прокрутку.
|
|
@@ -8,6 +8,23 @@ const body_scroll_lock_upgrade_1 = require("body-scroll-lock-upgrade");
|
|
|
8
8
|
* прокручиваемый родитель элемента обрабатывается с помощью body-scroll-lock.
|
|
9
9
|
*/
|
|
10
10
|
exports.BSL_IGNORE_ATTR = 'data-bsl-ignore';
|
|
11
|
+
/** Ключ в globalThis, под которым хранится общая для страницы библиотека BSL. */
|
|
12
|
+
exports.BSL_SHARED_KEY = '__uiNucleonsBodyScrollLock__';
|
|
13
|
+
/**
|
|
14
|
+
* Возвращает библиотеку BSL, общую для всех копий ui-nucleons на странице.
|
|
15
|
+
* Состояние BSL (список блокировок, запомненные стили body) хранится в переменных модуля,
|
|
16
|
+
* поэтому две независимо собранные копии (например, в разных сервисах) мешали бы друг другу:
|
|
17
|
+
* одна запоминала бы как исходное состояние то, что выставила другая.
|
|
18
|
+
* Первая копия, обратившаяся сюда, регистрирует свою библиотеку, остальные используют её же.
|
|
19
|
+
* @return Библиотека BSL.
|
|
20
|
+
*/
|
|
21
|
+
function getSharedLib() {
|
|
22
|
+
const store = globalThis;
|
|
23
|
+
if (!store[exports.BSL_SHARED_KEY]) {
|
|
24
|
+
store[exports.BSL_SHARED_KEY] = { disableBodyScroll: body_scroll_lock_upgrade_1.disableBodyScroll, enableBodyScroll: body_scroll_lock_upgrade_1.enableBodyScroll };
|
|
25
|
+
}
|
|
26
|
+
return store[exports.BSL_SHARED_KEY];
|
|
27
|
+
}
|
|
11
28
|
/** Адаптер блокировки прокрутки использующий BSL. */
|
|
12
29
|
class PageScrollLockAdapterBSL {
|
|
13
30
|
element;
|
|
@@ -21,10 +38,7 @@ class PageScrollLockAdapterBSL {
|
|
|
21
38
|
constructor(element, options) {
|
|
22
39
|
this.element = element;
|
|
23
40
|
this.options = options;
|
|
24
|
-
this.lib =
|
|
25
|
-
disableBodyScroll: body_scroll_lock_upgrade_1.disableBodyScroll,
|
|
26
|
-
enableBodyScroll: body_scroll_lock_upgrade_1.enableBodyScroll,
|
|
27
|
-
};
|
|
41
|
+
this.lib = getSharedLib();
|
|
28
42
|
}
|
|
29
43
|
/**
|
|
30
44
|
* Позволяет заменить библиотеку body-scroll-lock.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"body-scroll-lock.js","sourceRoot":"","sources":["../../../../src/_internal/page-scroll-lock/adapters/body-scroll-lock.ts"],"names":[],"mappings":";;;AACA,uEAAkG;AAElG;;;;GAIG;AACU,QAAA,eAAe,GAAW,iBAAiB,CAAC;AAEzD,qDAAqD;AACrD,MAAa,wBAAwB;IAC3B,OAAO,CAAc;IACrB,OAAO,CAAqB;IAEpC,GAAG,
|
|
1
|
+
{"version":3,"file":"body-scroll-lock.js","sourceRoot":"","sources":["../../../../src/_internal/page-scroll-lock/adapters/body-scroll-lock.ts"],"names":[],"mappings":";;;AACA,uEAAkG;AAElG;;;;GAIG;AACU,QAAA,eAAe,GAAW,iBAAiB,CAAC;AAEzD,iFAAiF;AACpE,QAAA,cAAc,GAAG,8BAA8B,CAAC;AAO7D;;;;;;;GAOG;AACH,SAAS,YAAY;IACnB,MAAM,KAAK,GAAG,UAA0E,CAAC;IAEzF,IAAI,CAAC,KAAK,CAAC,sBAAc,CAAC,EAAE,CAAC;QAC3B,KAAK,CAAC,sBAAc,CAAC,GAAG,EAAE,iBAAiB,EAAjB,4CAAiB,EAAE,gBAAgB,EAAhB,2CAAgB,EAAE,CAAC;IAClE,CAAC;IAED,OAAO,KAAK,CAAC,sBAAc,CAAC,CAAC;AAC/B,CAAC;AAED,qDAAqD;AACrD,MAAa,wBAAwB;IAC3B,OAAO,CAAc;IACrB,OAAO,CAAqB;IAEpC,GAAG,CAAoB;IAEvB;;;;OAIG;IACH,YAAY,OAAoB,EAAE,OAA2B;QAC3D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,YAAY,EAAE,CAAC;IAC5B,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,GAAoC;QAC7C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,kBAAkB;IAClB,IAAI;QACF,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,EAAE;YACvC,GAAG,IAAI,CAAC,OAAO;YACf,cAAc,EAAd,sBAAc;SACf,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAClB,MAAM;QACJ,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1C,CAAC;CACF;AAtCD,4DAsCC;AAED;;;;;;;GAOG;AACI,MAAM,cAAc,GAAkD,CAAC,OAAO,EAAW,EAAE;IAChG,IAAI,EAAE,GAAiC,OAAO,YAAY,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAEnF,OAAO,EAAE,IAAI,EAAE,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;QAClC,IAAI,EAAE,CAAC,YAAY,CAAC,uBAAe,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC;IACxB,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAZW,QAAA,cAAc,kBAYzB"}
|