@studiometa/js-toolkit 2.2.0-alpha.1 → 2.2.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/managers/EventsManager.cjs +19 -6
- package/Base/managers/EventsManager.d.ts +0 -4
- package/Base/managers/EventsManager.js +19 -6
- package/Base/managers/OptionsManager.cjs +1 -1
- package/Base/managers/OptionsManager.js +1 -1
- package/decorators/withVue2.cjs +1 -1
- package/decorators/withVue2.js +1 -1
- package/package.json +2 -2
- package/utils/css/transition.cjs +6 -6
- package/utils/css/transition.js +1 -1
- package/utils/index.cjs +2 -2
- package/utils/index.d.ts +1 -1
- package/utils/index.js +14 -14
- package/utils/nextFrame.cjs +2 -2
- package/utils/nextFrame.d.ts +1 -1
- package/utils/nextFrame.js +2 -2
- package/utils/scheduler.cjs +3 -2
- package/utils/scheduler.js +3 -2
|
@@ -35,21 +35,34 @@ module.exports = __toCommonJS(EventsManager_exports);
|
|
|
35
35
|
var import_getAllProperties = __toESM(require("../../utils/object/getAllProperties.cjs"), 1);
|
|
36
36
|
var import_AbstractManager = __toESM(require("./AbstractManager.cjs"), 1);
|
|
37
37
|
var import_RefsManager = require("./RefsManager.cjs");
|
|
38
|
+
var names = /* @__PURE__ */ new Map();
|
|
38
39
|
function normalizeName(name) {
|
|
39
|
-
|
|
40
|
+
if (!names.has(name)) {
|
|
41
|
+
names.set(name, name.replace(/[A-Z]([A-Z].*)/g, (c) => c.toLowerCase()).replace(/[^a-zA-Z\d\s:]/g, " ").replace(/(^\w|\s+\w)/g, (c) => c.trim().toUpperCase()).trim());
|
|
42
|
+
}
|
|
43
|
+
return names.get(name);
|
|
40
44
|
}
|
|
45
|
+
var eventNames = /* @__PURE__ */ new Map();
|
|
41
46
|
function normalizeEventName(name) {
|
|
42
|
-
|
|
47
|
+
if (!eventNames.has(name)) {
|
|
48
|
+
eventNames.set(name, name.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`).replace(/^-/, ""));
|
|
49
|
+
}
|
|
50
|
+
return eventNames.get(name);
|
|
51
|
+
}
|
|
52
|
+
var regexes = /* @__PURE__ */ new Map();
|
|
53
|
+
function getRegex(regex) {
|
|
54
|
+
if (!regexes.has(regex)) {
|
|
55
|
+
regexes.set(regex, new RegExp(regex));
|
|
56
|
+
}
|
|
57
|
+
return regexes.get(regex);
|
|
43
58
|
}
|
|
44
59
|
function __getEventNameByMethod(that, method, name = "") {
|
|
45
|
-
const
|
|
46
|
-
const regex = new RegExp(`^on${normalizedName}([A-Z].*)$`);
|
|
60
|
+
const regex = getRegex(`^on${normalizeName(name)}([A-Z].*)$`);
|
|
47
61
|
const [, event] = method.match(regex);
|
|
48
62
|
return normalizeEventName(event);
|
|
49
63
|
}
|
|
50
64
|
function __getEventMethodsByName(that, name = "") {
|
|
51
|
-
const
|
|
52
|
-
const regex = new RegExp(`^on${normalizedName}[A-Z].*$`);
|
|
65
|
+
const regex = getRegex(`^on${normalizeName(name)}[A-Z].*$`);
|
|
53
66
|
const key = regex.toString();
|
|
54
67
|
let methods = that.__methodsCache.get(key);
|
|
55
68
|
if (!methods) {
|
|
@@ -7,21 +7,34 @@ var __publicField = (obj, key, value) => {
|
|
|
7
7
|
import getAllProperties from "../../utils/object/getAllProperties.js";
|
|
8
8
|
import AbstractManager from "./AbstractManager.js";
|
|
9
9
|
import { normalizeRefName } from "./RefsManager.js";
|
|
10
|
+
const names = /* @__PURE__ */ new Map();
|
|
10
11
|
function normalizeName(name) {
|
|
11
|
-
|
|
12
|
+
if (!names.has(name)) {
|
|
13
|
+
names.set(name, name.replace(/[A-Z]([A-Z].*)/g, (c) => c.toLowerCase()).replace(/[^a-zA-Z\d\s:]/g, " ").replace(/(^\w|\s+\w)/g, (c) => c.trim().toUpperCase()).trim());
|
|
14
|
+
}
|
|
15
|
+
return names.get(name);
|
|
12
16
|
}
|
|
17
|
+
const eventNames = /* @__PURE__ */ new Map();
|
|
13
18
|
function normalizeEventName(name) {
|
|
14
|
-
|
|
19
|
+
if (!eventNames.has(name)) {
|
|
20
|
+
eventNames.set(name, name.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`).replace(/^-/, ""));
|
|
21
|
+
}
|
|
22
|
+
return eventNames.get(name);
|
|
23
|
+
}
|
|
24
|
+
const regexes = /* @__PURE__ */ new Map();
|
|
25
|
+
function getRegex(regex) {
|
|
26
|
+
if (!regexes.has(regex)) {
|
|
27
|
+
regexes.set(regex, new RegExp(regex));
|
|
28
|
+
}
|
|
29
|
+
return regexes.get(regex);
|
|
15
30
|
}
|
|
16
31
|
function __getEventNameByMethod(that, method, name = "") {
|
|
17
|
-
const
|
|
18
|
-
const regex = new RegExp(`^on${normalizedName}([A-Z].*)$`);
|
|
32
|
+
const regex = getRegex(`^on${normalizeName(name)}([A-Z].*)$`);
|
|
19
33
|
const [, event] = method.match(regex);
|
|
20
34
|
return normalizeEventName(event);
|
|
21
35
|
}
|
|
22
36
|
function __getEventMethodsByName(that, name = "") {
|
|
23
|
-
const
|
|
24
|
-
const regex = new RegExp(`^on${normalizedName}[A-Z].*$`);
|
|
37
|
+
const regex = getRegex(`^on${normalizeName(name)}[A-Z].*$`);
|
|
25
38
|
const key = regex.toString();
|
|
26
39
|
let methods = that.__methodsCache.get(key);
|
|
27
40
|
if (!methods) {
|
|
@@ -76,12 +76,12 @@ function __register(that, name, config) {
|
|
|
76
76
|
}
|
|
77
77
|
var OptionsManager = class extends import_AbstractManager.default {
|
|
78
78
|
constructor(base) {
|
|
79
|
+
var _a, _b;
|
|
79
80
|
super(base);
|
|
80
81
|
__publicField(this, "__values", {});
|
|
81
82
|
__publicField(this, "name", "Base");
|
|
82
83
|
__publicField(this, "debug", false);
|
|
83
84
|
__publicField(this, "log", false);
|
|
84
|
-
var _a, _b;
|
|
85
85
|
this.__hideProperties(["__values", "__defaultValues"]);
|
|
86
86
|
const schema = this.__config.options || {};
|
|
87
87
|
this.name = this.__config.name;
|
|
@@ -49,12 +49,12 @@ function __register(that, name, config) {
|
|
|
49
49
|
}
|
|
50
50
|
class OptionsManager extends AbstractManager {
|
|
51
51
|
constructor(base) {
|
|
52
|
+
var _a, _b;
|
|
52
53
|
super(base);
|
|
53
54
|
__publicField(this, "__values", {});
|
|
54
55
|
__publicField(this, "name", "Base");
|
|
55
56
|
__publicField(this, "debug", false);
|
|
56
57
|
__publicField(this, "log", false);
|
|
57
|
-
var _a, _b;
|
|
58
58
|
this.__hideProperties(["__values", "__defaultValues"]);
|
|
59
59
|
const schema = this.__config.options || {};
|
|
60
60
|
this.name = this.__config.name;
|
package/decorators/withVue2.cjs
CHANGED
|
@@ -31,9 +31,9 @@ var withVue2_default = (BaseClass, Vue) => {
|
|
|
31
31
|
var _a, _b, _c;
|
|
32
32
|
return _c = class extends BaseClass {
|
|
33
33
|
constructor(element) {
|
|
34
|
+
var _a2;
|
|
34
35
|
super(element);
|
|
35
36
|
__publicField(this, "$vue");
|
|
36
|
-
var _a2;
|
|
37
37
|
const vueConfig = (_a2 = this.vueConfig) != null ? _a2 : this.constructor.vueConfig;
|
|
38
38
|
if (!vueConfig) {
|
|
39
39
|
throw new Error("[withVue] You must define a `vueConfig` object.");
|
package/decorators/withVue2.js
CHANGED
|
@@ -8,9 +8,9 @@ var withVue2_default = (BaseClass, Vue) => {
|
|
|
8
8
|
var _a, _b, _c;
|
|
9
9
|
return _c = class extends BaseClass {
|
|
10
10
|
constructor(element) {
|
|
11
|
+
var _a2;
|
|
11
12
|
super(element);
|
|
12
13
|
__publicField(this, "$vue");
|
|
13
|
-
var _a2;
|
|
14
14
|
const vueConfig = (_a2 = this.vueConfig) != null ? _a2 : this.constructor.vueConfig;
|
|
15
15
|
if (!vueConfig) {
|
|
16
16
|
throw new Error("[withVue] You must define a `vueConfig` object.");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@studiometa/js-toolkit",
|
|
3
|
-
"version": "2.2.0
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "A set of useful little bits of JavaScript to boost your project! 🚀",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
"toolkit"
|
|
40
40
|
],
|
|
41
41
|
"dependencies": {
|
|
42
|
-
"@motionone/easing": "^10.
|
|
42
|
+
"@motionone/easing": "^10.9.0",
|
|
43
43
|
"deepmerge": "^4.2.2"
|
|
44
44
|
}
|
|
45
45
|
}
|
package/utils/css/transition.cjs
CHANGED
|
@@ -31,7 +31,7 @@ __export(transition_exports, {
|
|
|
31
31
|
setClassesOrStyles: () => setClassesOrStyles
|
|
32
32
|
});
|
|
33
33
|
module.exports = __toCommonJS(transition_exports);
|
|
34
|
-
var import_nextFrame =
|
|
34
|
+
var import_nextFrame = require("../nextFrame.cjs");
|
|
35
35
|
var classes = __toESM(require("./classes.cjs"), 1);
|
|
36
36
|
var styles = __toESM(require("./styles.cjs"), 1);
|
|
37
37
|
var cache = /* @__PURE__ */ new WeakMap();
|
|
@@ -67,11 +67,11 @@ async function start(element, classesOrStyles) {
|
|
|
67
67
|
const trs = Transition.getInstance(element);
|
|
68
68
|
trs.isTransitioning = true;
|
|
69
69
|
setClassesOrStyles(element, classesOrStyles.from);
|
|
70
|
-
await (0, import_nextFrame.
|
|
71
|
-
await (0, import_nextFrame.
|
|
70
|
+
await (0, import_nextFrame.nextFrame)();
|
|
71
|
+
await (0, import_nextFrame.nextFrame)();
|
|
72
72
|
setClassesOrStyles(element, classesOrStyles.active);
|
|
73
|
-
await (0, import_nextFrame.
|
|
74
|
-
await (0, import_nextFrame.
|
|
73
|
+
await (0, import_nextFrame.nextFrame)();
|
|
74
|
+
await (0, import_nextFrame.nextFrame)();
|
|
75
75
|
}
|
|
76
76
|
async function next(element, classesOrStyles) {
|
|
77
77
|
const hasTransition = testTransition(element);
|
|
@@ -83,7 +83,7 @@ async function next(element, classesOrStyles) {
|
|
|
83
83
|
}
|
|
84
84
|
setClassesOrStyles(element, classesOrStyles.from, "remove");
|
|
85
85
|
setClassesOrStyles(element, classesOrStyles.to);
|
|
86
|
-
await (0, import_nextFrame.
|
|
86
|
+
await (0, import_nextFrame.nextFrame)();
|
|
87
87
|
if (!hasTransition) {
|
|
88
88
|
resolve();
|
|
89
89
|
}
|
package/utils/css/transition.js
CHANGED
|
@@ -4,7 +4,7 @@ var __publicField = (obj, key, value) => {
|
|
|
4
4
|
__defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
5
5
|
return value;
|
|
6
6
|
};
|
|
7
|
-
import nextFrame from "../nextFrame.js";
|
|
7
|
+
import { nextFrame } from "../nextFrame.js";
|
|
8
8
|
import * as classes from "./classes.js";
|
|
9
9
|
import * as styles from "./styles.js";
|
|
10
10
|
const cache = /* @__PURE__ */ new WeakMap();
|
package/utils/index.cjs
CHANGED
|
@@ -31,7 +31,7 @@ __export(utils_exports, {
|
|
|
31
31
|
isFunction: () => import_isFunction.default,
|
|
32
32
|
keyCodes: () => import_keyCodes.default,
|
|
33
33
|
memoize: () => import_memoize.default,
|
|
34
|
-
nextFrame: () => import_nextFrame.
|
|
34
|
+
nextFrame: () => import_nextFrame.nextFrame,
|
|
35
35
|
nextMicrotask: () => import_nextMicrotask.default,
|
|
36
36
|
nextTick: () => import_nextTick.default,
|
|
37
37
|
objectToURLSearchParams: () => import_history.objectToURLSearchParams,
|
|
@@ -43,7 +43,7 @@ var import_debounce = __toESM(require("./debounce.cjs"), 1);
|
|
|
43
43
|
var import_focusTrap = __toESM(require("./focusTrap.cjs"), 1);
|
|
44
44
|
var import_keyCodes = __toESM(require("./keyCodes.cjs"), 1);
|
|
45
45
|
var import_memoize = __toESM(require("./memoize.cjs"), 1);
|
|
46
|
-
var import_nextFrame =
|
|
46
|
+
var import_nextFrame = require("./nextFrame.cjs");
|
|
47
47
|
var import_nextTick = __toESM(require("./nextTick.cjs"), 1);
|
|
48
48
|
var import_nextMicrotask = __toESM(require("./nextMicrotask.cjs"), 1);
|
|
49
49
|
var import_throttle = __toESM(require("./throttle.cjs"), 1);
|
package/utils/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { default as debounce } from "./debounce.js";
|
|
|
2
2
|
export { default as focusTrap } from "./focusTrap.js";
|
|
3
3
|
export { default as keyCodes } from "./keyCodes.js";
|
|
4
4
|
export { default as memoize } from "./memoize.js";
|
|
5
|
-
export {
|
|
5
|
+
export { nextFrame } from "./nextFrame.js";
|
|
6
6
|
export { default as nextTick } from "./nextTick.js";
|
|
7
7
|
export { default as nextMicrotask } from "./nextMicrotask.js";
|
|
8
8
|
export { default as throttle } from "./throttle.js";
|
package/utils/index.js
CHANGED
|
@@ -2,13 +2,13 @@ import { default as default2 } from "./debounce.js";
|
|
|
2
2
|
import { default as default3 } from "./focusTrap.js";
|
|
3
3
|
import { default as default4 } from "./keyCodes.js";
|
|
4
4
|
import { default as default5 } from "./memoize.js";
|
|
5
|
-
import {
|
|
6
|
-
import { default as
|
|
7
|
-
import { default as
|
|
8
|
-
import { default as
|
|
9
|
-
import { default as
|
|
10
|
-
import { default as
|
|
11
|
-
import { default as
|
|
5
|
+
import { nextFrame } from "./nextFrame.js";
|
|
6
|
+
import { default as default6 } from "./nextTick.js";
|
|
7
|
+
import { default as default7 } from "./nextMicrotask.js";
|
|
8
|
+
import { default as default8 } from "./throttle.js";
|
|
9
|
+
import { default as default9 } from "./scrollTo.js";
|
|
10
|
+
import { default as default10 } from "./isDefined.js";
|
|
11
|
+
import { default as default11 } from "./isFunction.js";
|
|
12
12
|
export * from "./css/index.js";
|
|
13
13
|
import {
|
|
14
14
|
objectToURLSearchParams,
|
|
@@ -24,14 +24,14 @@ export {
|
|
|
24
24
|
default3 as focusTrap,
|
|
25
25
|
push as historyPush,
|
|
26
26
|
replace as historyReplace,
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
default10 as isDefined,
|
|
28
|
+
default11 as isFunction,
|
|
29
29
|
default4 as keyCodes,
|
|
30
30
|
default5 as memoize,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
nextFrame,
|
|
32
|
+
default7 as nextMicrotask,
|
|
33
|
+
default6 as nextTick,
|
|
34
34
|
objectToURLSearchParams,
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
default9 as scrollTo,
|
|
36
|
+
default8 as throttle
|
|
37
37
|
};
|
package/utils/nextFrame.cjs
CHANGED
|
@@ -19,9 +19,9 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
19
19
|
// packages/js-toolkit/utils/nextFrame.js
|
|
20
20
|
var nextFrame_exports = {};
|
|
21
21
|
__export(nextFrame_exports, {
|
|
22
|
-
default: () => nextFrame,
|
|
23
22
|
getCancelRaf: () => getCancelRaf,
|
|
24
|
-
getRaf: () => getRaf
|
|
23
|
+
getRaf: () => getRaf,
|
|
24
|
+
nextFrame: () => nextFrame
|
|
25
25
|
});
|
|
26
26
|
module.exports = __toCommonJS(nextFrame_exports);
|
|
27
27
|
function getRaf() {
|
package/utils/nextFrame.d.ts
CHANGED
|
@@ -24,4 +24,4 @@ export function getCancelRaf(): (id: number) => void;
|
|
|
24
24
|
* console.log('hello world');
|
|
25
25
|
* ```
|
|
26
26
|
*/
|
|
27
|
-
export
|
|
27
|
+
export function nextFrame<T extends () => any>(fn?: T): Promise<T extends Function ? ReturnType<T> : undefined>;
|
package/utils/nextFrame.js
CHANGED
package/utils/scheduler.cjs
CHANGED
|
@@ -60,7 +60,8 @@ function getScheduler(steps) {
|
|
|
60
60
|
return api;
|
|
61
61
|
}
|
|
62
62
|
var instances = /* @__PURE__ */ new Map();
|
|
63
|
-
|
|
63
|
+
var domSchedulerSteps = ["read", "write", "afterWrite"];
|
|
64
|
+
function useScheduler(steps = domSchedulerSteps) {
|
|
64
65
|
const key = steps.join("-");
|
|
65
66
|
if (instances.has(key)) {
|
|
66
67
|
return instances.get(key);
|
|
@@ -69,5 +70,5 @@ function useScheduler(steps = ["read", "write"]) {
|
|
|
69
70
|
instances.set(key, scheduler);
|
|
70
71
|
return scheduler;
|
|
71
72
|
}
|
|
72
|
-
var domScheduler = useScheduler(
|
|
73
|
+
var domScheduler = useScheduler(domSchedulerSteps);
|
|
73
74
|
if (module.exports.default) module.exports = module.exports.default;
|
package/utils/scheduler.js
CHANGED
|
@@ -35,7 +35,8 @@ function getScheduler(steps) {
|
|
|
35
35
|
return api;
|
|
36
36
|
}
|
|
37
37
|
const instances = /* @__PURE__ */ new Map();
|
|
38
|
-
|
|
38
|
+
const domSchedulerSteps = ["read", "write", "afterWrite"];
|
|
39
|
+
function useScheduler(steps = domSchedulerSteps) {
|
|
39
40
|
const key = steps.join("-");
|
|
40
41
|
if (instances.has(key)) {
|
|
41
42
|
return instances.get(key);
|
|
@@ -44,7 +45,7 @@ function useScheduler(steps = ["read", "write"]) {
|
|
|
44
45
|
instances.set(key, scheduler);
|
|
45
46
|
return scheduler;
|
|
46
47
|
}
|
|
47
|
-
const domScheduler = useScheduler(
|
|
48
|
+
const domScheduler = useScheduler(domSchedulerSteps);
|
|
48
49
|
export {
|
|
49
50
|
domScheduler,
|
|
50
51
|
useScheduler
|