@studiometa/js-toolkit 2.4.7 → 2.6.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/Base/index.cjs +15 -21
- package/Base/index.d.ts +5 -5
- package/Base/index.js +5 -5
- package/Base/managers/AbstractManager.cjs +2 -2
- package/Base/managers/AbstractManager.d.ts +11 -21
- package/Base/managers/AbstractManager.js +1 -1
- package/Base/managers/ChildrenManager.cjs +3 -9
- package/Base/managers/ChildrenManager.d.ts +2 -2
- package/Base/managers/ChildrenManager.js +2 -2
- package/Base/managers/EventsManager.cjs +49 -9
- package/Base/managers/EventsManager.d.ts +26 -2
- package/Base/managers/EventsManager.js +48 -8
- package/Base/managers/OptionsManager.cjs +6 -8
- package/Base/managers/OptionsManager.d.ts +42 -55
- package/Base/managers/OptionsManager.js +4 -6
- package/Base/managers/RefsManager.cjs +9 -14
- package/Base/managers/RefsManager.d.ts +3 -11
- package/Base/managers/RefsManager.js +7 -6
- package/Base/managers/ResponsiveOptionsManager.cjs +3 -9
- package/Base/managers/ResponsiveOptionsManager.d.ts +8 -4
- package/Base/managers/ResponsiveOptionsManager.js +2 -2
- package/Base/managers/ServicesManager.cjs +19 -36
- package/Base/managers/ServicesManager.d.ts +33 -58
- package/Base/managers/ServicesManager.js +11 -22
- package/decorators/withResponsiveOptions.cjs +2 -8
- package/decorators/withResponsiveOptions.js +1 -1
- package/helpers/getClosestParent.cjs +48 -0
- package/helpers/getClosestParent.d.ts +5 -0
- package/helpers/getClosestParent.js +20 -0
- package/helpers/index.cjs +3 -1
- package/helpers/index.d.ts +2 -1
- package/helpers/index.js +11 -9
- package/package.json +1 -1
- package/services/drag.cjs +62 -37
- package/services/drag.js +62 -37
- package/utils/css/animate.cjs +29 -2
- package/utils/css/animate.d.ts +4 -24
- package/utils/css/animate.js +29 -2
- package/utils/css/classes.cjs +5 -2
- package/utils/css/classes.d.ts +6 -6
- package/utils/css/classes.js +5 -2
- package/utils/css/index.cjs +1 -1
- package/utils/css/index.d.ts +7 -7
- package/utils/css/styles.cjs +11 -8
- package/utils/css/styles.d.ts +4 -4
- package/utils/css/styles.js +11 -8
- package/utils/css/transform.cjs +5 -2
- package/utils/css/transform.d.ts +2 -2
- package/utils/css/transform.js +5 -2
- package/utils/css/transition.cjs +7 -1
- package/utils/css/transition.d.ts +5 -8
- package/utils/css/transition.js +7 -1
- package/utils/css/utils.cjs +31 -0
- package/utils/css/utils.d.ts +1 -0
- package/utils/css/utils.js +9 -0
- package/utils/index.cjs +1 -1
- package/utils/index.d.ts +19 -19
|
@@ -1,87 +1,74 @@
|
|
|
1
|
+
import type { Options as DeepmergeOptions } from 'deepmerge';
|
|
2
|
+
import { AbstractManager } from './AbstractManager.js';
|
|
3
|
+
import type { Base } from '../index.js';
|
|
4
|
+
declare type OptionType = StringConstructor | NumberConstructor | BooleanConstructor | ArrayConstructor | ObjectConstructor;
|
|
5
|
+
declare type ArrayOption = {
|
|
6
|
+
type: ArrayConstructor;
|
|
7
|
+
default?: () => unknown[];
|
|
8
|
+
merge?: boolean | DeepmergeOptions;
|
|
9
|
+
};
|
|
10
|
+
declare type ObjectOption = {
|
|
11
|
+
type: ObjectConstructor;
|
|
12
|
+
default?: () => unknown;
|
|
13
|
+
merge?: boolean | DeepmergeOptions;
|
|
14
|
+
};
|
|
15
|
+
declare type StringOption = {
|
|
16
|
+
type: StringConstructor;
|
|
17
|
+
default?: string;
|
|
18
|
+
};
|
|
19
|
+
declare type NumberOption = {
|
|
20
|
+
type: NumberConstructor;
|
|
21
|
+
default?: number;
|
|
22
|
+
};
|
|
23
|
+
declare type BooleanOption = {
|
|
24
|
+
type: BooleanConstructor;
|
|
25
|
+
default?: boolean;
|
|
26
|
+
};
|
|
27
|
+
export declare type OptionObject = ArrayOption | ObjectOption | StringOption | NumberOption | BooleanOption;
|
|
28
|
+
export declare type OptionsSchema = {
|
|
29
|
+
[name: string]: OptionType | OptionObject;
|
|
30
|
+
};
|
|
31
|
+
export declare type OptionsInterface = {
|
|
32
|
+
[optionName: string]: unknown;
|
|
33
|
+
};
|
|
1
34
|
/**
|
|
2
35
|
* Get a property name.
|
|
3
|
-
*
|
|
4
|
-
* @param {string} name
|
|
5
|
-
* @param {string} [prefix]
|
|
6
|
-
* @returns {string}
|
|
7
|
-
* @protected
|
|
8
36
|
*/
|
|
9
|
-
export function __getPropertyName(name: string, prefix?: string): string;
|
|
37
|
+
export declare function __getPropertyName(name: string, prefix?: string): string;
|
|
10
38
|
/**
|
|
11
39
|
* Class options to manage options as data attributes on an HTML element.
|
|
12
40
|
*
|
|
13
41
|
* @todo Use `MutationObserver` to update values? Might be more performant.
|
|
14
42
|
*/
|
|
15
|
-
export
|
|
43
|
+
export declare class OptionsManager extends AbstractManager {
|
|
16
44
|
/**
|
|
17
45
|
* An object to store Array and Object values for reference.
|
|
18
|
-
* @type {Object}
|
|
19
46
|
* @private
|
|
20
47
|
*/
|
|
21
|
-
|
|
48
|
+
__values: {};
|
|
22
49
|
/**
|
|
23
50
|
* Default value for the name property.
|
|
24
|
-
* @type {string}
|
|
25
51
|
*/
|
|
26
52
|
name: string;
|
|
27
53
|
/**
|
|
28
54
|
* Default value for the debug property.
|
|
29
|
-
* @type {boolean}
|
|
30
55
|
*/
|
|
31
56
|
debug: boolean;
|
|
32
57
|
/**
|
|
33
58
|
* Default value for the log property.
|
|
34
|
-
* @type {boolean}
|
|
35
59
|
*/
|
|
36
60
|
log: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* Class constructor.
|
|
63
|
+
*/
|
|
64
|
+
constructor(base: Base);
|
|
37
65
|
/**
|
|
38
66
|
* Get an option value.
|
|
39
|
-
*
|
|
40
|
-
* @param {string} name The option name.
|
|
41
|
-
* @param {OptionObject} config The option config.
|
|
42
|
-
* @returns {any}
|
|
43
67
|
*/
|
|
44
68
|
get(name: string, config: OptionObject): any;
|
|
45
69
|
/**
|
|
46
70
|
* Set an option value.
|
|
47
|
-
*
|
|
48
|
-
* @param {string} name The option name.
|
|
49
|
-
* @param {any} value The new value for this option.
|
|
50
|
-
* @param {OptionObject} config The option config.
|
|
51
71
|
*/
|
|
52
|
-
set(name: string, value:
|
|
72
|
+
set(name: string, value: unknown, config: OptionObject): void;
|
|
53
73
|
}
|
|
54
|
-
export
|
|
55
|
-
export type Base = import('../index.js').Base;
|
|
56
|
-
export type BaseConfig = import('../index.js').BaseConfig;
|
|
57
|
-
export type OptionType = StringConstructor | NumberConstructor | BooleanConstructor | ArrayConstructor | ObjectConstructor;
|
|
58
|
-
export type ArrayOption = {
|
|
59
|
-
type: ArrayConstructor;
|
|
60
|
-
default?: () => any[];
|
|
61
|
-
merge?: boolean;
|
|
62
|
-
};
|
|
63
|
-
export type ObjectOption = {
|
|
64
|
-
type: ObjectConstructor;
|
|
65
|
-
default?: () => any;
|
|
66
|
-
merge?: boolean;
|
|
67
|
-
};
|
|
68
|
-
export type StringOption = {
|
|
69
|
-
type: StringConstructor;
|
|
70
|
-
default?: string;
|
|
71
|
-
};
|
|
72
|
-
export type NumberOption = {
|
|
73
|
-
type: NumberConstructor;
|
|
74
|
-
default?: number;
|
|
75
|
-
};
|
|
76
|
-
export type BooleanOption = {
|
|
77
|
-
type: BooleanConstructor;
|
|
78
|
-
default?: boolean;
|
|
79
|
-
};
|
|
80
|
-
export type OptionObject = ArrayOption | ObjectOption | StringOption | NumberOption | BooleanOption;
|
|
81
|
-
export type OptionsSchema = {
|
|
82
|
-
[name: string]: OptionObject | OptionType;
|
|
83
|
-
};
|
|
84
|
-
export type OptionsInterface = {
|
|
85
|
-
[optionName: string]: any;
|
|
86
|
-
};
|
|
87
|
-
import AbstractManager from "./AbstractManager.js";
|
|
74
|
+
export {};
|
|
@@ -5,7 +5,7 @@ var __publicField = (obj, key, value) => {
|
|
|
5
5
|
return value;
|
|
6
6
|
};
|
|
7
7
|
import deepmerge from "deepmerge";
|
|
8
|
-
import AbstractManager from "./AbstractManager.js";
|
|
8
|
+
import { AbstractManager } from "./AbstractManager.js";
|
|
9
9
|
import { isDev, isFunction, isDefined, isBoolean, isArray, isObject } from "../../utils/index.js";
|
|
10
10
|
const types = /* @__PURE__ */ new Set([String, Number, Boolean, Array, Object]);
|
|
11
11
|
const __defaultValues = {
|
|
@@ -45,9 +45,7 @@ function __register(that, name, config) {
|
|
|
45
45
|
return;
|
|
46
46
|
}
|
|
47
47
|
Object.defineProperty(that, name, {
|
|
48
|
-
get: () =>
|
|
49
|
-
return that.get(name, config);
|
|
50
|
-
},
|
|
48
|
+
get: () => that.get(name, config),
|
|
51
49
|
set: (value) => {
|
|
52
50
|
that.set(name, value, config);
|
|
53
51
|
},
|
|
@@ -147,6 +145,6 @@ class OptionsManager extends AbstractManager {
|
|
|
147
145
|
}
|
|
148
146
|
}
|
|
149
147
|
export {
|
|
150
|
-
|
|
151
|
-
|
|
148
|
+
OptionsManager,
|
|
149
|
+
__getPropertyName
|
|
152
150
|
};
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
5
|
var __export = (target, all) => {
|
|
8
6
|
for (var name in all)
|
|
@@ -16,23 +14,20 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
14
|
}
|
|
17
15
|
return to;
|
|
18
16
|
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
|
-
mod
|
|
22
|
-
));
|
|
23
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
18
|
|
|
25
|
-
// packages/js-toolkit/Base/managers/RefsManager.
|
|
19
|
+
// packages/js-toolkit/Base/managers/RefsManager.ts
|
|
26
20
|
var RefsManager_exports = {};
|
|
27
21
|
__export(RefsManager_exports, {
|
|
28
|
-
|
|
22
|
+
RefsManager: () => RefsManager,
|
|
29
23
|
normalizeRefName: () => normalizeRefName
|
|
30
24
|
});
|
|
31
25
|
module.exports = __toCommonJS(RefsManager_exports);
|
|
32
|
-
var import_AbstractManager =
|
|
26
|
+
var import_AbstractManager = require("./AbstractManager.cjs");
|
|
33
27
|
var import_utils = require("../../utils/index.cjs");
|
|
28
|
+
var NORMALIZE_REF_NAME_REGEX = /\[\]$/;
|
|
34
29
|
function normalizeRefName(name) {
|
|
35
|
-
return name.endsWith("[]") ? name.replace(
|
|
30
|
+
return name.endsWith("[]") ? name.replace(NORMALIZE_REF_NAME_REGEX, "") : name;
|
|
36
31
|
}
|
|
37
32
|
function __filterRefsBelongingToInstance(that, ref) {
|
|
38
33
|
let ancestor = ref.parentElement;
|
|
@@ -44,9 +39,9 @@ function __filterRefsBelongingToInstance(that, ref) {
|
|
|
44
39
|
function __register(that, refName) {
|
|
45
40
|
const isMultiple = refName.endsWith("[]");
|
|
46
41
|
const propName = normalizeRefName(refName);
|
|
47
|
-
const refs = Array.from(
|
|
48
|
-
(ref)
|
|
49
|
-
);
|
|
42
|
+
const refs = Array.from(
|
|
43
|
+
that.__element.querySelectorAll(`[data-ref="${refName}"]`)
|
|
44
|
+
).filter((ref) => __filterRefsBelongingToInstance(that, ref));
|
|
50
45
|
if (import_utils.isDev && !isMultiple && refs.length > 1) {
|
|
51
46
|
console.warn(
|
|
52
47
|
`[${that.__base.$options.name}]`,
|
|
@@ -76,7 +71,7 @@ function __unregister(that, refName) {
|
|
|
76
71
|
const refs = (0, import_utils.isArray)(that[propName]) ? that[propName] : [that[propName]];
|
|
77
72
|
that.__eventsManager.unbindRef(refName, refs);
|
|
78
73
|
}
|
|
79
|
-
var RefsManager = class extends import_AbstractManager.
|
|
74
|
+
var RefsManager = class extends import_AbstractManager.AbstractManager {
|
|
80
75
|
get __refs() {
|
|
81
76
|
var _a;
|
|
82
77
|
return (_a = this.__config.refs) != null ? _a : [];
|
|
@@ -1,32 +1,24 @@
|
|
|
1
|
+
import { AbstractManager } from './AbstractManager.js';
|
|
1
2
|
/**
|
|
2
3
|
* Normalize the name of ref.
|
|
3
|
-
*
|
|
4
|
-
* @param {string} name The original name.
|
|
5
|
-
* @returns {string} The normalized name.
|
|
6
4
|
*/
|
|
7
|
-
export function normalizeRefName(name: string): string;
|
|
5
|
+
export declare function normalizeRefName(name: string): string;
|
|
8
6
|
/**
|
|
9
7
|
* Refs Manager
|
|
10
8
|
*
|
|
11
9
|
* @todo Use `MutationObserver` to automatically update refs?
|
|
12
10
|
*/
|
|
13
|
-
export
|
|
11
|
+
export declare class RefsManager extends AbstractManager {
|
|
14
12
|
/**
|
|
15
13
|
* Get refs configuration.
|
|
16
|
-
* @returns {string[]}
|
|
17
14
|
*/
|
|
18
15
|
get __refs(): string[];
|
|
19
16
|
/**
|
|
20
17
|
* Register all refs.
|
|
21
|
-
*
|
|
22
|
-
* @returns {void}
|
|
23
18
|
*/
|
|
24
19
|
registerAll(): void;
|
|
25
20
|
/**
|
|
26
21
|
* Unregister all refs.
|
|
27
|
-
*
|
|
28
|
-
* @returns {void}
|
|
29
22
|
*/
|
|
30
23
|
unregisterAll(): void;
|
|
31
24
|
}
|
|
32
|
-
import AbstractManager from "./AbstractManager.js";
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import AbstractManager from "./AbstractManager.js";
|
|
1
|
+
import { AbstractManager } from "./AbstractManager.js";
|
|
2
2
|
import { isDev, isArray, isDefined } from "../../utils/index.js";
|
|
3
|
+
const NORMALIZE_REF_NAME_REGEX = /\[\]$/;
|
|
3
4
|
function normalizeRefName(name) {
|
|
4
|
-
return name.endsWith("[]") ? name.replace(
|
|
5
|
+
return name.endsWith("[]") ? name.replace(NORMALIZE_REF_NAME_REGEX, "") : name;
|
|
5
6
|
}
|
|
6
7
|
function __filterRefsBelongingToInstance(that, ref) {
|
|
7
8
|
let ancestor = ref.parentElement;
|
|
@@ -13,9 +14,9 @@ function __filterRefsBelongingToInstance(that, ref) {
|
|
|
13
14
|
function __register(that, refName) {
|
|
14
15
|
const isMultiple = refName.endsWith("[]");
|
|
15
16
|
const propName = normalizeRefName(refName);
|
|
16
|
-
const refs = Array.from(
|
|
17
|
-
(ref)
|
|
18
|
-
);
|
|
17
|
+
const refs = Array.from(
|
|
18
|
+
that.__element.querySelectorAll(`[data-ref="${refName}"]`)
|
|
19
|
+
).filter((ref) => __filterRefsBelongingToInstance(that, ref));
|
|
19
20
|
if (isDev && !isMultiple && refs.length > 1) {
|
|
20
21
|
console.warn(
|
|
21
22
|
`[${that.__base.$options.name}]`,
|
|
@@ -58,6 +59,6 @@ class RefsManager extends AbstractManager {
|
|
|
58
59
|
}
|
|
59
60
|
}
|
|
60
61
|
export {
|
|
61
|
-
RefsManager
|
|
62
|
+
RefsManager,
|
|
62
63
|
normalizeRefName
|
|
63
64
|
};
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
5
|
var __export = (target, all) => {
|
|
8
6
|
for (var name in all)
|
|
@@ -16,19 +14,15 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
14
|
}
|
|
17
15
|
return to;
|
|
18
16
|
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
21
|
-
mod
|
|
22
|
-
));
|
|
23
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
24
18
|
|
|
25
19
|
// packages/js-toolkit/Base/managers/ResponsiveOptionsManager.ts
|
|
26
20
|
var ResponsiveOptionsManager_exports = {};
|
|
27
21
|
__export(ResponsiveOptionsManager_exports, {
|
|
28
|
-
|
|
22
|
+
ResponsiveOptionsManager: () => ResponsiveOptionsManager
|
|
29
23
|
});
|
|
30
24
|
module.exports = __toCommonJS(ResponsiveOptionsManager_exports);
|
|
31
|
-
var import_OptionsManager =
|
|
25
|
+
var import_OptionsManager = require("./OptionsManager.cjs");
|
|
32
26
|
var import_services = require("../../services/index.cjs");
|
|
33
27
|
var import_utils = require("../../utils/index.cjs");
|
|
34
28
|
function __getResponsiveName(that, name) {
|
|
@@ -48,7 +42,7 @@ function __getResponsiveName(that, name) {
|
|
|
48
42
|
});
|
|
49
43
|
return responsiveName;
|
|
50
44
|
}
|
|
51
|
-
var ResponsiveOptionsManager = class extends import_OptionsManager.
|
|
45
|
+
var ResponsiveOptionsManager = class extends import_OptionsManager.OptionsManager {
|
|
52
46
|
get(name, config) {
|
|
53
47
|
if (!config.responsive) {
|
|
54
48
|
return super.get(name, config);
|
|
@@ -1,8 +1,12 @@
|
|
|
1
|
-
import OptionsManager from './OptionsManager.js';
|
|
1
|
+
import { OptionsManager } from './OptionsManager.js';
|
|
2
|
+
import type { OptionObject } from './OptionsManager.js';
|
|
3
|
+
export declare type ResponsiveOptionObject = OptionObject & {
|
|
4
|
+
responsive?: boolean;
|
|
5
|
+
};
|
|
2
6
|
/**
|
|
3
7
|
* Class options to manage options as data attributes on an HTML element.
|
|
4
8
|
*/
|
|
5
|
-
export
|
|
9
|
+
export declare class ResponsiveOptionsManager extends OptionsManager {
|
|
6
10
|
/**
|
|
7
11
|
* Get an option value.
|
|
8
12
|
*
|
|
@@ -10,7 +14,7 @@ export default class ResponsiveOptionsManager extends OptionsManager {
|
|
|
10
14
|
* @param {ResponsiveOptionObject} config The option configuration.
|
|
11
15
|
* @returns {any}
|
|
12
16
|
*/
|
|
13
|
-
get(name:
|
|
17
|
+
get(name: string, config: ResponsiveOptionObject): any;
|
|
14
18
|
/**
|
|
15
19
|
* Set an option value.
|
|
16
20
|
*
|
|
@@ -18,5 +22,5 @@ export default class ResponsiveOptionsManager extends OptionsManager {
|
|
|
18
22
|
* @param {any} value The new value.
|
|
19
23
|
* @param {ResponsiveOptionObject} config The option configuration.
|
|
20
24
|
*/
|
|
21
|
-
set(name:
|
|
25
|
+
set(name: string, value: unknown, config: ResponsiveOptionObject): void;
|
|
22
26
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import OptionsManager,
|
|
1
|
+
import { OptionsManager, __getPropertyName } from "./OptionsManager.js";
|
|
2
2
|
import { useResize } from "../../services/index.js";
|
|
3
3
|
import { isDev } from "../../utils/index.js";
|
|
4
4
|
function __getResponsiveName(that, name) {
|
|
@@ -36,5 +36,5 @@ class ResponsiveOptionsManager extends OptionsManager {
|
|
|
36
36
|
}
|
|
37
37
|
}
|
|
38
38
|
export {
|
|
39
|
-
ResponsiveOptionsManager
|
|
39
|
+
ResponsiveOptionsManager
|
|
40
40
|
};
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
5
|
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
6
|
var __export = (target, all) => {
|
|
@@ -17,40 +15,31 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
17
15
|
}
|
|
18
16
|
return to;
|
|
19
17
|
};
|
|
20
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
22
|
-
mod
|
|
23
|
-
));
|
|
24
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
25
19
|
var __publicField = (obj, key, value) => {
|
|
26
20
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
27
21
|
return value;
|
|
28
22
|
};
|
|
29
23
|
|
|
30
|
-
// packages/js-toolkit/Base/managers/ServicesManager.
|
|
24
|
+
// packages/js-toolkit/Base/managers/ServicesManager.ts
|
|
31
25
|
var ServicesManager_exports = {};
|
|
32
26
|
__export(ServicesManager_exports, {
|
|
33
|
-
|
|
27
|
+
ServicesManager: () => ServicesManager
|
|
34
28
|
});
|
|
35
29
|
module.exports = __toCommonJS(ServicesManager_exports);
|
|
36
|
-
var
|
|
37
|
-
var
|
|
38
|
-
var import_resize = __toESM(require("../../services/resize.cjs"), 1);
|
|
39
|
-
var import_scroll = __toESM(require("../../services/scroll.cjs"), 1);
|
|
40
|
-
var import_key = __toESM(require("../../services/key.cjs"), 1);
|
|
41
|
-
var import_load = __toESM(require("../../services/load.cjs"), 1);
|
|
42
|
-
var import_AbstractManager = __toESM(require("./AbstractManager.cjs"), 1);
|
|
30
|
+
var import_services = require("../../services/index.cjs");
|
|
31
|
+
var import_AbstractManager = require("./AbstractManager.cjs");
|
|
43
32
|
var import_utils = require("../../utils/index.cjs");
|
|
44
33
|
var SERVICES_MAP = {
|
|
45
|
-
scrolled:
|
|
46
|
-
resized:
|
|
47
|
-
ticked:
|
|
48
|
-
moved:
|
|
49
|
-
keyed:
|
|
50
|
-
loaded:
|
|
34
|
+
scrolled: import_services.useScroll,
|
|
35
|
+
resized: import_services.useResize,
|
|
36
|
+
ticked: import_services.useRaf,
|
|
37
|
+
moved: import_services.usePointer,
|
|
38
|
+
keyed: import_services.useKey,
|
|
39
|
+
loaded: import_services.useLoad
|
|
51
40
|
};
|
|
52
41
|
var SERVICE_NAMES = Object.keys(SERVICES_MAP);
|
|
53
|
-
var ServicesManager = class extends import_AbstractManager.
|
|
42
|
+
var ServicesManager = class extends import_AbstractManager.AbstractManager {
|
|
54
43
|
constructor() {
|
|
55
44
|
super(...arguments);
|
|
56
45
|
__publicField(this, "__customServices", {});
|
|
@@ -78,25 +67,19 @@ var ServicesManager = class extends import_AbstractManager.default {
|
|
|
78
67
|
if (!((0, import_utils.isFunction)(this.__base[service]) || this.__base.__hasEvent(service)) || !this.__services[service]) {
|
|
79
68
|
return import_utils.noop;
|
|
80
69
|
}
|
|
81
|
-
const
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
add(this.__base.$id, serviceHandler);
|
|
70
|
+
const serviceInstance = this.__services[service]();
|
|
71
|
+
serviceInstance.add(this.__base.$id, (...args) => {
|
|
72
|
+
this.__base.__callMethod(service, ...args);
|
|
73
|
+
});
|
|
87
74
|
return this.disable.bind(this, service);
|
|
88
75
|
}
|
|
89
76
|
enableAll() {
|
|
90
|
-
return Object.keys(this.__services).map(
|
|
91
|
-
(serviceName) => this.enable(serviceName)
|
|
92
|
-
);
|
|
77
|
+
return Object.keys(this.__services).map((serviceName) => this.enable(serviceName));
|
|
93
78
|
}
|
|
94
79
|
disableAll() {
|
|
95
|
-
Object.keys(this.__services).forEach(
|
|
96
|
-
(serviceName)
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
);
|
|
80
|
+
Object.keys(this.__services).forEach((serviceName) => {
|
|
81
|
+
this.disable(serviceName);
|
|
82
|
+
});
|
|
100
83
|
}
|
|
101
84
|
disable(service) {
|
|
102
85
|
if (!this.__services[service]) {
|
|
@@ -1,47 +1,55 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { usePointer, useRaf, useResize, useScroll, useKey, useLoad } from '../../services/index.js';
|
|
2
|
+
import type { PointerServiceInterface, RafServiceInterface, ResizeServiceInterface, ScrollServiceInterface, KeyServiceInterface, LoadServiceInterface, ServiceInterface } from '../../services/index.js';
|
|
3
|
+
import { AbstractManager } from './AbstractManager.js';
|
|
4
|
+
declare type Services = {
|
|
5
|
+
scrolled: ScrollServiceInterface;
|
|
6
|
+
resized: ResizeServiceInterface;
|
|
7
|
+
ticked: RafServiceInterface;
|
|
8
|
+
moved: PointerServiceInterface;
|
|
9
|
+
keyed: KeyServiceInterface;
|
|
10
|
+
loaded: LoadServiceInterface;
|
|
11
|
+
} & Record<string, ServiceInterface<unknown>>;
|
|
12
|
+
declare type ServiceNames = keyof Services;
|
|
5
13
|
/**
|
|
6
14
|
* Services management for the Base class.
|
|
7
15
|
*
|
|
8
16
|
* @todo Add support for disabled services on mount when the method is defined.
|
|
9
17
|
*/
|
|
10
|
-
export
|
|
18
|
+
export declare class ServicesManager extends AbstractManager {
|
|
11
19
|
/**
|
|
12
|
-
*
|
|
20
|
+
* Holder for custom services.
|
|
13
21
|
*/
|
|
14
|
-
__customServices: Record<string, () =>
|
|
22
|
+
__customServices: Record<string, <T>() => ServiceInterface<T>>;
|
|
15
23
|
/**
|
|
16
|
-
*
|
|
24
|
+
* Get registered services.
|
|
17
25
|
*/
|
|
18
|
-
get __services():
|
|
26
|
+
get __services(): {
|
|
27
|
+
scrolled: typeof useScroll;
|
|
28
|
+
resized: typeof useResize;
|
|
29
|
+
ticked: typeof useRaf;
|
|
30
|
+
moved: typeof usePointer;
|
|
31
|
+
keyed: typeof useKey;
|
|
32
|
+
loaded: typeof useLoad;
|
|
33
|
+
};
|
|
19
34
|
/**
|
|
20
35
|
* Test if the given service is registered.
|
|
21
|
-
*
|
|
22
|
-
* @param {ServiceName} service The name of the service.
|
|
23
|
-
* @returns {boolean}
|
|
24
36
|
*/
|
|
25
|
-
has(service:
|
|
37
|
+
has(service: ServiceNames | string): boolean;
|
|
26
38
|
/**
|
|
27
39
|
* Get a service props by name.
|
|
28
|
-
* @param {ServiceName} service The name of the service.
|
|
29
|
-
* @returns {ReturnType<ServiceInterface['props']>}
|
|
30
40
|
*/
|
|
31
|
-
get(service:
|
|
41
|
+
get<S extends ServiceNames | string>(service: S): ReturnType<Services[S]['props']>;
|
|
32
42
|
/**
|
|
33
43
|
* Init the given service and bind it to the given instance.
|
|
34
44
|
*
|
|
35
|
-
* @param {
|
|
45
|
+
* @param {ServiceNames} service The name of the service.
|
|
36
46
|
* @returns {() => void} A function to unbind the service.
|
|
37
47
|
*/
|
|
38
|
-
enable(service:
|
|
48
|
+
enable(service: ServiceNames): () => void;
|
|
39
49
|
/**
|
|
40
50
|
* Enable all services and return methods to disable them.
|
|
41
|
-
*
|
|
42
|
-
* @returns {Function[]}
|
|
43
51
|
*/
|
|
44
|
-
enableAll():
|
|
52
|
+
enableAll(): (() => void)[];
|
|
45
53
|
/**
|
|
46
54
|
* Disable all services.
|
|
47
55
|
*
|
|
@@ -50,27 +58,21 @@ export default class ServicesManager extends AbstractManager {
|
|
|
50
58
|
disableAll(): void;
|
|
51
59
|
/**
|
|
52
60
|
* Disable a service.
|
|
53
|
-
*
|
|
54
|
-
* @param {string} service The name of the service.
|
|
55
|
-
* @returns {void}
|
|
56
61
|
*/
|
|
57
|
-
disable(service:
|
|
62
|
+
disable(service: ServiceNames): void;
|
|
58
63
|
/**
|
|
59
64
|
* Toggle a service.
|
|
60
|
-
* @param {string} service The name of the service.
|
|
61
|
-
* @param {boolean} [force] The state to force.
|
|
62
|
-
* @returns {void}
|
|
63
65
|
*/
|
|
64
|
-
toggle(service:
|
|
66
|
+
toggle(service: ServiceNames, force?: boolean): void;
|
|
65
67
|
/**
|
|
66
68
|
* Register a new service to be enabled/disabled.
|
|
67
69
|
*
|
|
68
70
|
* @param {string} name
|
|
69
71
|
* The name of the service hook.
|
|
70
|
-
* @param {() => ServiceInterface} useFunction
|
|
72
|
+
* @param {<T>(...args:unknown[]) => ServiceInterface<T>} useFunction
|
|
71
73
|
* The `use...` function for the service.
|
|
72
74
|
*/
|
|
73
|
-
register(name: string, useFunction: () =>
|
|
75
|
+
register(name: string, useFunction: <T>(...args: unknown[]) => ServiceInterface<T>): void;
|
|
74
76
|
/**
|
|
75
77
|
* Unregister a new service to be enabled disabled.
|
|
76
78
|
*
|
|
@@ -79,31 +81,4 @@ export default class ServicesManager extends AbstractManager {
|
|
|
79
81
|
*/
|
|
80
82
|
unregister(name: string): void;
|
|
81
83
|
}
|
|
82
|
-
export type Base = import('../index').Base;
|
|
83
|
-
export type BaseConstructor = import('../index').BaseConstructor;
|
|
84
|
-
export type ServiceInterface = import('../../services').ServiceInterface<any>;
|
|
85
|
-
export type Services = typeof SERVICES_MAP & Record<string, () => import("../../services").ServiceInterface<any>>;
|
|
86
|
-
export type ServiceName = keyof {
|
|
87
|
-
scrolled: typeof useScroll;
|
|
88
|
-
resized: typeof useResize;
|
|
89
|
-
ticked: typeof useRaf;
|
|
90
|
-
moved: typeof usePointer;
|
|
91
|
-
keyed: typeof useKey;
|
|
92
|
-
loaded: typeof useLoad;
|
|
93
|
-
} | string;
|
|
94
|
-
import AbstractManager from "./AbstractManager.js";
|
|
95
|
-
declare namespace SERVICES_MAP {
|
|
96
|
-
export { useScroll as scrolled };
|
|
97
|
-
export { useResize as resized };
|
|
98
|
-
export { useRaf as ticked };
|
|
99
|
-
export { usePointer as moved };
|
|
100
|
-
export { useKey as keyed };
|
|
101
|
-
export { useLoad as loaded };
|
|
102
|
-
}
|
|
103
|
-
import useScroll from "../../services/scroll.js";
|
|
104
|
-
import useResize from "../../services/resize.js";
|
|
105
|
-
import useRaf from "../../services/raf.js";
|
|
106
|
-
import usePointer from "../../services/pointer.js";
|
|
107
|
-
import useKey from "../../services/key.js";
|
|
108
|
-
import useLoad from "../../services/load.js";
|
|
109
84
|
export {};
|
|
@@ -4,13 +4,8 @@ var __publicField = (obj, key, value) => {
|
|
|
4
4
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
5
|
return value;
|
|
6
6
|
};
|
|
7
|
-
import usePointer from "../../services/
|
|
8
|
-
import
|
|
9
|
-
import useResize from "../../services/resize.js";
|
|
10
|
-
import useScroll from "../../services/scroll.js";
|
|
11
|
-
import useKey from "../../services/key.js";
|
|
12
|
-
import useLoad from "../../services/load.js";
|
|
13
|
-
import AbstractManager from "./AbstractManager.js";
|
|
7
|
+
import { usePointer, useRaf, useResize, useScroll, useKey, useLoad } from "../../services/index.js";
|
|
8
|
+
import { AbstractManager } from "./AbstractManager.js";
|
|
14
9
|
import { noop, isFunction, isDefined, isDev } from "../../utils/index.js";
|
|
15
10
|
const SERVICES_MAP = {
|
|
16
11
|
scrolled: useScroll,
|
|
@@ -49,25 +44,19 @@ class ServicesManager extends AbstractManager {
|
|
|
49
44
|
if (!(isFunction(this.__base[service]) || this.__base.__hasEvent(service)) || !this.__services[service]) {
|
|
50
45
|
return noop;
|
|
51
46
|
}
|
|
52
|
-
const
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
add(this.__base.$id, serviceHandler);
|
|
47
|
+
const serviceInstance = this.__services[service]();
|
|
48
|
+
serviceInstance.add(this.__base.$id, (...args) => {
|
|
49
|
+
this.__base.__callMethod(service, ...args);
|
|
50
|
+
});
|
|
58
51
|
return this.disable.bind(this, service);
|
|
59
52
|
}
|
|
60
53
|
enableAll() {
|
|
61
|
-
return Object.keys(this.__services).map(
|
|
62
|
-
(serviceName) => this.enable(serviceName)
|
|
63
|
-
);
|
|
54
|
+
return Object.keys(this.__services).map((serviceName) => this.enable(serviceName));
|
|
64
55
|
}
|
|
65
56
|
disableAll() {
|
|
66
|
-
Object.keys(this.__services).forEach(
|
|
67
|
-
(serviceName)
|
|
68
|
-
|
|
69
|
-
}
|
|
70
|
-
);
|
|
57
|
+
Object.keys(this.__services).forEach((serviceName) => {
|
|
58
|
+
this.disable(serviceName);
|
|
59
|
+
});
|
|
71
60
|
}
|
|
72
61
|
disable(service) {
|
|
73
62
|
if (!this.__services[service]) {
|
|
@@ -106,5 +95,5 @@ class ServicesManager extends AbstractManager {
|
|
|
106
95
|
}
|
|
107
96
|
}
|
|
108
97
|
export {
|
|
109
|
-
ServicesManager
|
|
98
|
+
ServicesManager
|
|
110
99
|
};
|