@studiometa/ui 0.2.52 → 1.0.0-alpha.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/atoms/Action/Action.cjs +58 -28
- package/atoms/Action/Action.cjs.map +2 -2
- package/atoms/Action/Action.d.ts +6 -2
- package/atoms/Action/Action.js +59 -29
- package/atoms/Action/Action.js.map +2 -2
- package/atoms/Action/Target.cjs +35 -0
- package/atoms/Action/Target.cjs.map +7 -0
- package/atoms/Action/Target.d.ts +13 -0
- package/atoms/Action/Target.js +13 -0
- package/atoms/Action/Target.js.map +7 -0
- package/atoms/Action/index.cjs +1 -0
- package/atoms/Action/index.cjs.map +2 -2
- package/atoms/Action/index.d.ts +1 -0
- package/atoms/Action/index.js +1 -0
- package/atoms/Action/index.js.map +2 -2
- package/atoms/Button/Button.twig +1 -1
- package/atoms/Data/DataBind.cjs +124 -0
- package/atoms/Data/DataBind.cjs.map +7 -0
- package/atoms/Data/DataBind.d.ts +23 -0
- package/atoms/Data/DataBind.js +102 -0
- package/atoms/Data/DataBind.js.map +7 -0
- package/atoms/Data/DataComputed.cjs +49 -0
- package/atoms/Data/DataComputed.cjs.map +7 -0
- package/atoms/Data/DataComputed.d.ts +13 -0
- package/atoms/Data/DataComputed.js +28 -0
- package/atoms/Data/DataComputed.js.map +7 -0
- package/atoms/Data/DataEffect.cjs +47 -0
- package/atoms/Data/DataEffect.cjs.map +7 -0
- package/atoms/Data/DataEffect.d.ts +13 -0
- package/atoms/Data/DataEffect.js +25 -0
- package/atoms/Data/DataEffect.js.map +7 -0
- package/atoms/Data/DataModel.cjs +38 -0
- package/atoms/Data/DataModel.cjs.map +7 -0
- package/atoms/Data/DataModel.d.ts +9 -0
- package/atoms/Data/DataModel.js +16 -0
- package/atoms/Data/DataModel.js.map +7 -0
- package/atoms/Data/index.cjs +24 -0
- package/atoms/Data/index.cjs.map +7 -0
- package/atoms/Data/index.d.ts +4 -0
- package/atoms/Data/index.js +5 -0
- package/atoms/Data/index.js.map +7 -0
- package/atoms/Data/utils.cjs +46 -0
- package/atoms/Data/utils.cjs.map +7 -0
- package/atoms/Data/utils.d.ts +4 -0
- package/atoms/Data/utils.js +24 -0
- package/atoms/Data/utils.js.map +7 -0
- package/atoms/Icon/IconInline.twig +1 -1
- package/atoms/ScrollAnimation/ScrollAnimationChildWithEase.d.ts +1 -1
- package/atoms/ScrollAnimation/ScrollAnimationWithEase.d.ts +2 -2
- package/atoms/index.cjs +1 -0
- package/atoms/index.cjs.map +2 -2
- package/atoms/index.d.ts +1 -0
- package/atoms/index.js +1 -0
- package/atoms/index.js.map +2 -2
- package/molecules/AnchorNav/AnchorNavLink.d.ts +1 -1
- package/molecules/Menu/MenuList.d.ts +1 -1
- package/molecules/Modal/Modal.cjs +3 -4
- package/molecules/Modal/Modal.cjs.map +3 -3
- package/molecules/Modal/Modal.d.ts +1 -1
- package/molecules/Modal/Modal.js +6 -2
- package/molecules/Modal/Modal.js.map +2 -2
- package/molecules/Slider/SliderDots.d.ts +1 -1
- package/organisms/Frame/FrameTarget.d.ts +1 -1
- package/package.json +2 -2
- package/primitives/Transition/Transition.d.ts +1 -1
package/atoms/Action/Action.cjs
CHANGED
|
@@ -23,7 +23,8 @@ __export(Action_exports, {
|
|
|
23
23
|
});
|
|
24
24
|
module.exports = __toCommonJS(Action_exports);
|
|
25
25
|
var import_js_toolkit = require("@studiometa/js-toolkit");
|
|
26
|
-
var
|
|
26
|
+
var TARGET_REGEX = /([a-zA-Z]+)(\((.*)\))?/;
|
|
27
|
+
var effectCache = /* @__PURE__ */ new Map();
|
|
27
28
|
var Action = class extends import_js_toolkit.Base {
|
|
28
29
|
static config = {
|
|
29
30
|
name: "Action",
|
|
@@ -33,46 +34,75 @@ var Action = class extends import_js_toolkit.Base {
|
|
|
33
34
|
default: "click"
|
|
34
35
|
},
|
|
35
36
|
target: String,
|
|
36
|
-
|
|
37
|
-
|
|
37
|
+
selector: String,
|
|
38
|
+
effect: String
|
|
38
39
|
}
|
|
39
40
|
};
|
|
41
|
+
get event() {
|
|
42
|
+
const [event] = this.$options.on.split(".", 1);
|
|
43
|
+
return event;
|
|
44
|
+
}
|
|
45
|
+
get modifiers() {
|
|
46
|
+
return this.$options.on.split(".").slice(1);
|
|
47
|
+
}
|
|
48
|
+
get effect() {
|
|
49
|
+
const { effect } = this.$options;
|
|
50
|
+
if (!effectCache.has(effect)) {
|
|
51
|
+
effectCache.set(effect, new Function("ctx", "event", "target", `return ${effect}`));
|
|
52
|
+
}
|
|
53
|
+
return effectCache.get(effect);
|
|
54
|
+
}
|
|
55
|
+
get targets() {
|
|
56
|
+
const { target } = this.$options;
|
|
57
|
+
const parts = target.split(" ").map((part) => {
|
|
58
|
+
const [, name, , selector] = part.match(TARGET_REGEX) ?? [];
|
|
59
|
+
return [name, selector];
|
|
60
|
+
});
|
|
61
|
+
const targets = [];
|
|
62
|
+
for (const instance of (0, import_js_toolkit.getInstances)()) {
|
|
63
|
+
const { name } = instance.__config;
|
|
64
|
+
for (const part of parts) {
|
|
65
|
+
const shouldPush = part[0] === name && (!part[1] || part[1] && instance.$el.matches(part[1]));
|
|
66
|
+
if (shouldPush) {
|
|
67
|
+
targets.push({ [instance.$options.name]: instance });
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
return targets;
|
|
72
|
+
}
|
|
40
73
|
/**
|
|
41
74
|
* Run method on targeted components
|
|
42
75
|
*/
|
|
43
|
-
handleEvent() {
|
|
44
|
-
const {
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
this.$warn("Target not found.");
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
if (selector || selector.length > 0) {
|
|
51
|
-
targets = targets.filter((target) => target.$el.matches(selector));
|
|
76
|
+
handleEvent(event) {
|
|
77
|
+
const { targets, effect, modifiers } = this;
|
|
78
|
+
if (modifiers.includes("prevent")) {
|
|
79
|
+
event.preventDefault();
|
|
52
80
|
}
|
|
53
|
-
if (
|
|
54
|
-
|
|
55
|
-
return;
|
|
81
|
+
if (modifiers.includes("stop")) {
|
|
82
|
+
event.stopPropagation();
|
|
56
83
|
}
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
84
|
+
for (const target of targets) {
|
|
85
|
+
try {
|
|
86
|
+
const [name, currentTarget] = Object.entries(target).flat();
|
|
87
|
+
const value = effect(target, event, currentTarget);
|
|
88
|
+
if (typeof value === "function") {
|
|
89
|
+
value(target, event, currentTarget);
|
|
90
|
+
}
|
|
91
|
+
} catch (err) {
|
|
92
|
+
this.$warn(err);
|
|
61
93
|
}
|
|
62
|
-
|
|
63
|
-
});
|
|
94
|
+
}
|
|
64
95
|
}
|
|
65
96
|
/**
|
|
66
97
|
* Mounted
|
|
67
98
|
*/
|
|
68
99
|
mounted() {
|
|
69
|
-
const {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}
|
|
75
|
-
this.$el.addEventListener(eventName, this);
|
|
100
|
+
const { event, modifiers } = this;
|
|
101
|
+
this.$el.addEventListener(event, this, {
|
|
102
|
+
capture: modifiers.includes("capture"),
|
|
103
|
+
once: modifiers.includes("once"),
|
|
104
|
+
passive: modifiers.includes("passive")
|
|
105
|
+
});
|
|
76
106
|
}
|
|
77
107
|
/**
|
|
78
108
|
* Destroyed
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../packages/ui/atoms/Action/Action.ts"],
|
|
4
|
-
"sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport { isFunction } from '@studiometa/js-toolkit/utils';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\n\nexport interface ActionProps extends BaseProps {\n $options: {\n on: string;\n target: string;\n
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,
|
|
4
|
+
"sourcesContent": ["import { Base, getInstances } from '@studiometa/js-toolkit';\nimport { isFunction } from '@studiometa/js-toolkit/utils';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\n\nexport interface ActionProps extends BaseProps {\n $options: {\n on: string;\n target: string;\n selector: string;\n effect: string;\n };\n}\n\n/**\n * Extract component name and an optional additional selector from a string.\n * @type {RegExp}\n */\nconst TARGET_REGEX = /([a-zA-Z]+)(\\((.*)\\))?/;\n\nconst effectCache = new Map<string, Function>();\n\n/**\n * Action class.\n */\nexport class Action<T extends BaseProps = BaseProps> extends Base<ActionProps & T> {\n static config: BaseConfig = {\n name: 'Action',\n options: {\n on: {\n type: String,\n default: 'click',\n },\n target: String,\n selector: String,\n effect: String,\n },\n };\n\n get event() {\n const [event] = this.$options.on.split('.', 1);\n return event;\n }\n\n get modifiers() {\n return this.$options.on.split('.').slice(1);\n }\n\n get effect() {\n const { effect } = this.$options;\n if (!effectCache.has(effect)) {\n effectCache.set(effect, new Function('ctx', 'event', 'target', `return ${effect}`));\n }\n return effectCache.get(effect);\n }\n\n get targets() {\n const { target } = this.$options;\n const parts = target.split(' ').map((part) => {\n const [, name, , selector] = part.match(TARGET_REGEX) ?? [];\n return [name, selector];\n });\n\n const targets = [] as Array<Record<string, Base>>;\n\n for (const instance of getInstances()) {\n const { name } = instance.__config;\n\n for (const part of parts) {\n const shouldPush =\n part[0] === name && (!part[1] || (part[1] && instance.$el.matches(part[1])));\n if (shouldPush) {\n targets.push({ [instance.$options.name]: instance });\n }\n }\n }\n\n return targets;\n }\n\n /**\n * Run method on targeted components\n */\n handleEvent(event: Event) {\n const { targets, effect, modifiers } = this;\n\n if (modifiers.includes('prevent')) {\n event.preventDefault();\n }\n\n if (modifiers.includes('stop')) {\n event.stopPropagation();\n }\n\n for (const target of targets) {\n try {\n const [name, currentTarget] = Object.entries(target).flat();\n const value = effect(target, event, currentTarget);\n if (typeof value === 'function') {\n value(target, event, currentTarget);\n }\n } catch (err) {\n this.$warn(err);\n }\n }\n }\n\n /**\n * Mounted\n */\n mounted() {\n const { event, modifiers } = this;\n\n this.$el.addEventListener(event, this, {\n capture: modifiers.includes('capture'),\n once: modifiers.includes('once'),\n passive: modifiers.includes('passive'),\n });\n }\n\n /**\n * Destroyed\n */\n destroyed() {\n this.$el.removeEventListener(this.$options.on, this);\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAmC;AAiBnC,IAAM,eAAe;AAErB,IAAM,cAAc,oBAAI,IAAsB;AAKvC,IAAM,SAAN,cAAsD,uBAAsB;AAAA,EACjF,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,SAAS;AAAA,MACP,IAAI;AAAA,QACF,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEA,IAAI,QAAQ;AACV,UAAM,CAAC,KAAK,IAAI,KAAK,SAAS,GAAG,MAAM,KAAK,CAAC;AAC7C,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,YAAY;AACd,WAAO,KAAK,SAAS,GAAG,MAAM,GAAG,EAAE,MAAM,CAAC;AAAA,EAC5C;AAAA,EAEA,IAAI,SAAS;AACX,UAAM,EAAE,OAAO,IAAI,KAAK;AACxB,QAAI,CAAC,YAAY,IAAI,MAAM,GAAG;AAC5B,kBAAY,IAAI,QAAQ,IAAI,SAAS,OAAO,SAAS,UAAU,UAAU,MAAM,EAAE,CAAC;AAAA,IACpF;AACA,WAAO,YAAY,IAAI,MAAM;AAAA,EAC/B;AAAA,EAEA,IAAI,UAAU;AACZ,UAAM,EAAE,OAAO,IAAI,KAAK;AACxB,UAAM,QAAQ,OAAO,MAAM,GAAG,EAAE,IAAI,CAAC,SAAS;AAC5C,YAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,IAAI,KAAK,MAAM,YAAY,KAAK,CAAC;AAC1D,aAAO,CAAC,MAAM,QAAQ;AAAA,IACxB,CAAC;AAED,UAAM,UAAU,CAAC;AAEjB,eAAW,gBAAY,gCAAa,GAAG;AACrC,YAAM,EAAE,KAAK,IAAI,SAAS;AAE1B,iBAAW,QAAQ,OAAO;AACxB,cAAM,aACJ,KAAK,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,KAAM,KAAK,CAAC,KAAK,SAAS,IAAI,QAAQ,KAAK,CAAC,CAAC;AAC3E,YAAI,YAAY;AACd,kBAAQ,KAAK,EAAE,CAAC,SAAS,SAAS,IAAI,GAAG,SAAS,CAAC;AAAA,QACrD;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY,OAAc;AACxB,UAAM,EAAE,SAAS,QAAQ,UAAU,IAAI;AAEvC,QAAI,UAAU,SAAS,SAAS,GAAG;AACjC,YAAM,eAAe;AAAA,IACvB;AAEA,QAAI,UAAU,SAAS,MAAM,GAAG;AAC9B,YAAM,gBAAgB;AAAA,IACxB;AAEA,eAAW,UAAU,SAAS;AAC5B,UAAI;AACF,cAAM,CAAC,MAAM,aAAa,IAAI,OAAO,QAAQ,MAAM,EAAE,KAAK;AAC1D,cAAM,QAAQ,OAAO,QAAQ,OAAO,aAAa;AACjD,YAAI,OAAO,UAAU,YAAY;AAC/B,gBAAM,QAAQ,OAAO,aAAa;AAAA,QACpC;AAAA,MACF,SAAS,KAAK;AACZ,aAAK,MAAM,GAAG;AAAA,MAChB;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACR,UAAM,EAAE,OAAO,UAAU,IAAI;AAE7B,SAAK,IAAI,iBAAiB,OAAO,MAAM;AAAA,MACrC,SAAS,UAAU,SAAS,SAAS;AAAA,MACrC,MAAM,UAAU,SAAS,MAAM;AAAA,MAC/B,SAAS,UAAU,SAAS,SAAS;AAAA,IACvC,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY;AACV,SAAK,IAAI,oBAAoB,KAAK,SAAS,IAAI,IAAI;AAAA,EACrD;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/atoms/Action/Action.d.ts
CHANGED
|
@@ -4,8 +4,8 @@ export interface ActionProps extends BaseProps {
|
|
|
4
4
|
$options: {
|
|
5
5
|
on: string;
|
|
6
6
|
target: string;
|
|
7
|
-
method: string;
|
|
8
7
|
selector: string;
|
|
8
|
+
effect: string;
|
|
9
9
|
};
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
@@ -13,10 +13,14 @@ export interface ActionProps extends BaseProps {
|
|
|
13
13
|
*/
|
|
14
14
|
export declare class Action<T extends BaseProps = BaseProps> extends Base<ActionProps & T> {
|
|
15
15
|
static config: BaseConfig;
|
|
16
|
+
get event(): string;
|
|
17
|
+
get modifiers(): string[];
|
|
18
|
+
get effect(): Function;
|
|
19
|
+
get targets(): Record<string, Base<BaseProps>>[];
|
|
16
20
|
/**
|
|
17
21
|
* Run method on targeted components
|
|
18
22
|
*/
|
|
19
|
-
handleEvent(): void;
|
|
23
|
+
handleEvent(event: Event): void;
|
|
20
24
|
/**
|
|
21
25
|
* Mounted
|
|
22
26
|
*/
|
package/atoms/Action/Action.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { Base } from "@studiometa/js-toolkit";
|
|
2
|
-
|
|
1
|
+
import { Base, getInstances } from "@studiometa/js-toolkit";
|
|
2
|
+
const TARGET_REGEX = /([a-zA-Z]+)(\((.*)\))?/;
|
|
3
|
+
const effectCache = /* @__PURE__ */ new Map();
|
|
3
4
|
class Action extends Base {
|
|
4
5
|
static config = {
|
|
5
6
|
name: "Action",
|
|
@@ -9,46 +10,75 @@ class Action extends Base {
|
|
|
9
10
|
default: "click"
|
|
10
11
|
},
|
|
11
12
|
target: String,
|
|
12
|
-
|
|
13
|
-
|
|
13
|
+
selector: String,
|
|
14
|
+
effect: String
|
|
14
15
|
}
|
|
15
16
|
};
|
|
17
|
+
get event() {
|
|
18
|
+
const [event] = this.$options.on.split(".", 1);
|
|
19
|
+
return event;
|
|
20
|
+
}
|
|
21
|
+
get modifiers() {
|
|
22
|
+
return this.$options.on.split(".").slice(1);
|
|
23
|
+
}
|
|
24
|
+
get effect() {
|
|
25
|
+
const { effect } = this.$options;
|
|
26
|
+
if (!effectCache.has(effect)) {
|
|
27
|
+
effectCache.set(effect, new Function("ctx", "event", "target", `return ${effect}`));
|
|
28
|
+
}
|
|
29
|
+
return effectCache.get(effect);
|
|
30
|
+
}
|
|
31
|
+
get targets() {
|
|
32
|
+
const { target } = this.$options;
|
|
33
|
+
const parts = target.split(" ").map((part) => {
|
|
34
|
+
const [, name, , selector] = part.match(TARGET_REGEX) ?? [];
|
|
35
|
+
return [name, selector];
|
|
36
|
+
});
|
|
37
|
+
const targets = [];
|
|
38
|
+
for (const instance of getInstances()) {
|
|
39
|
+
const { name } = instance.__config;
|
|
40
|
+
for (const part of parts) {
|
|
41
|
+
const shouldPush = part[0] === name && (!part[1] || part[1] && instance.$el.matches(part[1]));
|
|
42
|
+
if (shouldPush) {
|
|
43
|
+
targets.push({ [instance.$options.name]: instance });
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
return targets;
|
|
48
|
+
}
|
|
16
49
|
/**
|
|
17
50
|
* Run method on targeted components
|
|
18
51
|
*/
|
|
19
|
-
handleEvent() {
|
|
20
|
-
const {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
this.$warn("Target not found.");
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
if (selector || selector.length > 0) {
|
|
27
|
-
targets = targets.filter((target) => target.$el.matches(selector));
|
|
52
|
+
handleEvent(event) {
|
|
53
|
+
const { targets, effect, modifiers } = this;
|
|
54
|
+
if (modifiers.includes("prevent")) {
|
|
55
|
+
event.preventDefault();
|
|
28
56
|
}
|
|
29
|
-
if (
|
|
30
|
-
|
|
31
|
-
return;
|
|
57
|
+
if (modifiers.includes("stop")) {
|
|
58
|
+
event.stopPropagation();
|
|
32
59
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
60
|
+
for (const target of targets) {
|
|
61
|
+
try {
|
|
62
|
+
const [name, currentTarget] = Object.entries(target).flat();
|
|
63
|
+
const value = effect(target, event, currentTarget);
|
|
64
|
+
if (typeof value === "function") {
|
|
65
|
+
value(target, event, currentTarget);
|
|
66
|
+
}
|
|
67
|
+
} catch (err) {
|
|
68
|
+
this.$warn(err);
|
|
37
69
|
}
|
|
38
|
-
|
|
39
|
-
});
|
|
70
|
+
}
|
|
40
71
|
}
|
|
41
72
|
/**
|
|
42
73
|
* Mounted
|
|
43
74
|
*/
|
|
44
75
|
mounted() {
|
|
45
|
-
const {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
this.$el.addEventListener(eventName, this);
|
|
76
|
+
const { event, modifiers } = this;
|
|
77
|
+
this.$el.addEventListener(event, this, {
|
|
78
|
+
capture: modifiers.includes("capture"),
|
|
79
|
+
once: modifiers.includes("once"),
|
|
80
|
+
passive: modifiers.includes("passive")
|
|
81
|
+
});
|
|
52
82
|
}
|
|
53
83
|
/**
|
|
54
84
|
* Destroyed
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../packages/ui/atoms/Action/Action.ts"],
|
|
4
|
-
"sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport { isFunction } from '@studiometa/js-toolkit/utils';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\n\nexport interface ActionProps extends BaseProps {\n $options: {\n on: string;\n target: string;\n
|
|
5
|
-
"mappings": "AAAA,SAAS,
|
|
4
|
+
"sourcesContent": ["import { Base, getInstances } from '@studiometa/js-toolkit';\nimport { isFunction } from '@studiometa/js-toolkit/utils';\nimport type { BaseProps, BaseConfig } from '@studiometa/js-toolkit';\n\nexport interface ActionProps extends BaseProps {\n $options: {\n on: string;\n target: string;\n selector: string;\n effect: string;\n };\n}\n\n/**\n * Extract component name and an optional additional selector from a string.\n * @type {RegExp}\n */\nconst TARGET_REGEX = /([a-zA-Z]+)(\\((.*)\\))?/;\n\nconst effectCache = new Map<string, Function>();\n\n/**\n * Action class.\n */\nexport class Action<T extends BaseProps = BaseProps> extends Base<ActionProps & T> {\n static config: BaseConfig = {\n name: 'Action',\n options: {\n on: {\n type: String,\n default: 'click',\n },\n target: String,\n selector: String,\n effect: String,\n },\n };\n\n get event() {\n const [event] = this.$options.on.split('.', 1);\n return event;\n }\n\n get modifiers() {\n return this.$options.on.split('.').slice(1);\n }\n\n get effect() {\n const { effect } = this.$options;\n if (!effectCache.has(effect)) {\n effectCache.set(effect, new Function('ctx', 'event', 'target', `return ${effect}`));\n }\n return effectCache.get(effect);\n }\n\n get targets() {\n const { target } = this.$options;\n const parts = target.split(' ').map((part) => {\n const [, name, , selector] = part.match(TARGET_REGEX) ?? [];\n return [name, selector];\n });\n\n const targets = [] as Array<Record<string, Base>>;\n\n for (const instance of getInstances()) {\n const { name } = instance.__config;\n\n for (const part of parts) {\n const shouldPush =\n part[0] === name && (!part[1] || (part[1] && instance.$el.matches(part[1])));\n if (shouldPush) {\n targets.push({ [instance.$options.name]: instance });\n }\n }\n }\n\n return targets;\n }\n\n /**\n * Run method on targeted components\n */\n handleEvent(event: Event) {\n const { targets, effect, modifiers } = this;\n\n if (modifiers.includes('prevent')) {\n event.preventDefault();\n }\n\n if (modifiers.includes('stop')) {\n event.stopPropagation();\n }\n\n for (const target of targets) {\n try {\n const [name, currentTarget] = Object.entries(target).flat();\n const value = effect(target, event, currentTarget);\n if (typeof value === 'function') {\n value(target, event, currentTarget);\n }\n } catch (err) {\n this.$warn(err);\n }\n }\n }\n\n /**\n * Mounted\n */\n mounted() {\n const { event, modifiers } = this;\n\n this.$el.addEventListener(event, this, {\n capture: modifiers.includes('capture'),\n once: modifiers.includes('once'),\n passive: modifiers.includes('passive'),\n });\n }\n\n /**\n * Destroyed\n */\n destroyed() {\n this.$el.removeEventListener(this.$options.on, this);\n }\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,MAAM,oBAAoB;AAiBnC,MAAM,eAAe;AAErB,MAAM,cAAc,oBAAI,IAAsB;AAKvC,MAAM,eAAgD,KAAsB;AAAA,EACjF,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,SAAS;AAAA,MACP,IAAI;AAAA,QACF,MAAM;AAAA,QACN,SAAS;AAAA,MACX;AAAA,MACA,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,QAAQ;AAAA,IACV;AAAA,EACF;AAAA,EAEA,IAAI,QAAQ;AACV,UAAM,CAAC,KAAK,IAAI,KAAK,SAAS,GAAG,MAAM,KAAK,CAAC;AAC7C,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,YAAY;AACd,WAAO,KAAK,SAAS,GAAG,MAAM,GAAG,EAAE,MAAM,CAAC;AAAA,EAC5C;AAAA,EAEA,IAAI,SAAS;AACX,UAAM,EAAE,OAAO,IAAI,KAAK;AACxB,QAAI,CAAC,YAAY,IAAI,MAAM,GAAG;AAC5B,kBAAY,IAAI,QAAQ,IAAI,SAAS,OAAO,SAAS,UAAU,UAAU,MAAM,EAAE,CAAC;AAAA,IACpF;AACA,WAAO,YAAY,IAAI,MAAM;AAAA,EAC/B;AAAA,EAEA,IAAI,UAAU;AACZ,UAAM,EAAE,OAAO,IAAI,KAAK;AACxB,UAAM,QAAQ,OAAO,MAAM,GAAG,EAAE,IAAI,CAAC,SAAS;AAC5C,YAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,IAAI,KAAK,MAAM,YAAY,KAAK,CAAC;AAC1D,aAAO,CAAC,MAAM,QAAQ;AAAA,IACxB,CAAC;AAED,UAAM,UAAU,CAAC;AAEjB,eAAW,YAAY,aAAa,GAAG;AACrC,YAAM,EAAE,KAAK,IAAI,SAAS;AAE1B,iBAAW,QAAQ,OAAO;AACxB,cAAM,aACJ,KAAK,CAAC,MAAM,SAAS,CAAC,KAAK,CAAC,KAAM,KAAK,CAAC,KAAK,SAAS,IAAI,QAAQ,KAAK,CAAC,CAAC;AAC3E,YAAI,YAAY;AACd,kBAAQ,KAAK,EAAE,CAAC,SAAS,SAAS,IAAI,GAAG,SAAS,CAAC;AAAA,QACrD;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY,OAAc;AACxB,UAAM,EAAE,SAAS,QAAQ,UAAU,IAAI;AAEvC,QAAI,UAAU,SAAS,SAAS,GAAG;AACjC,YAAM,eAAe;AAAA,IACvB;AAEA,QAAI,UAAU,SAAS,MAAM,GAAG;AAC9B,YAAM,gBAAgB;AAAA,IACxB;AAEA,eAAW,UAAU,SAAS;AAC5B,UAAI;AACF,cAAM,CAAC,MAAM,aAAa,IAAI,OAAO,QAAQ,MAAM,EAAE,KAAK;AAC1D,cAAM,QAAQ,OAAO,QAAQ,OAAO,aAAa;AACjD,YAAI,OAAO,UAAU,YAAY;AAC/B,gBAAM,QAAQ,OAAO,aAAa;AAAA,QACpC;AAAA,MACF,SAAS,KAAK;AACZ,aAAK,MAAM,GAAG;AAAA,MAChB;AAAA,IACF;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AACR,UAAM,EAAE,OAAO,UAAU,IAAI;AAE7B,SAAK,IAAI,iBAAiB,OAAO,MAAM;AAAA,MACrC,SAAS,UAAU,SAAS,SAAS;AAAA,MACrC,MAAM,UAAU,SAAS,MAAM;AAAA,MAC/B,SAAS,UAAU,SAAS,SAAS;AAAA,IACvC,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY;AACV,SAAK,IAAI,oBAAoB,KAAK,SAAS,IAAI,IAAI;AAAA,EACrD;AACF;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// packages/ui/atoms/Action/Target.ts
|
|
20
|
+
var Target_exports = {};
|
|
21
|
+
__export(Target_exports, {
|
|
22
|
+
Target: () => Target
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(Target_exports);
|
|
25
|
+
var import_js_toolkit = require("@studiometa/js-toolkit");
|
|
26
|
+
var Target = class extends import_js_toolkit.Base {
|
|
27
|
+
/**
|
|
28
|
+
* Config.
|
|
29
|
+
*/
|
|
30
|
+
static config = {
|
|
31
|
+
name: "Target"
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
if (module.exports.default) module.exports = module.exports.default;
|
|
35
|
+
//# sourceMappingURL=Target.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/atoms/Action/Target.ts"],
|
|
4
|
+
"sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\n\nexport interface TargetProps extends BaseProps {}\n\n/**\n * Target class.\n */\nexport class Target extends Base<TargetProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'Target',\n };\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqB;AAQd,IAAM,SAAN,cAAqB,uBAAkB;AAAA;AAAA;AAAA;AAAA,EAI5C,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,EACR;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Base } from '@studiometa/js-toolkit';
|
|
2
|
+
import type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';
|
|
3
|
+
export interface TargetProps extends BaseProps {
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Target class.
|
|
7
|
+
*/
|
|
8
|
+
export declare class Target extends Base<TargetProps> {
|
|
9
|
+
/**
|
|
10
|
+
* Config.
|
|
11
|
+
*/
|
|
12
|
+
static config: BaseConfig;
|
|
13
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/atoms/Action/Target.ts"],
|
|
4
|
+
"sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\n\nexport interface TargetProps extends BaseProps {}\n\n/**\n * Target class.\n */\nexport class Target extends Base<TargetProps> {\n /**\n * Config.\n */\n static config: BaseConfig = {\n name: 'Target',\n };\n}\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,YAAY;AAQd,MAAM,eAAe,KAAkB;AAAA;AAAA;AAAA;AAAA,EAI5C,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,EACR;AACF;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/atoms/Action/index.cjs
CHANGED
|
@@ -17,5 +17,6 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
17
17
|
var Action_exports = {};
|
|
18
18
|
module.exports = __toCommonJS(Action_exports);
|
|
19
19
|
__reExport(Action_exports, require("./Action.cjs"), module.exports);
|
|
20
|
+
__reExport(Action_exports, require("./Target.cjs"), module.exports);
|
|
20
21
|
if (module.exports.default) module.exports = module.exports.default;
|
|
21
22
|
//# sourceMappingURL=index.cjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../packages/ui/atoms/Action/index.ts"],
|
|
4
|
-
"sourcesContent": ["export * from './Action.js';\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,2BAAc,yBAAd;",
|
|
4
|
+
"sourcesContent": ["export * from './Action.js';\nexport * from './Target.js';\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;AAAA;AAAA;AAAA,2BAAc,yBAAd;AACA,2BAAc,yBADd;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/atoms/Action/index.d.ts
CHANGED
package/atoms/Action/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../packages/ui/atoms/Action/index.ts"],
|
|
4
|
-
"sourcesContent": ["export * from './Action.js';\n"],
|
|
5
|
-
"mappings": "AAAA,cAAc;",
|
|
4
|
+
"sourcesContent": ["export * from './Action.js';\nexport * from './Target.js';\n"],
|
|
5
|
+
"mappings": "AAAA,cAAc;AACd,cAAc;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/atoms/Button/Button.twig
CHANGED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
+
var __export = (target, all) => {
|
|
6
|
+
for (var name in all)
|
|
7
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
8
|
+
};
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
+
|
|
19
|
+
// packages/ui/atoms/Data/DataBind.ts
|
|
20
|
+
var DataBind_exports = {};
|
|
21
|
+
__export(DataBind_exports, {
|
|
22
|
+
DataBind: () => DataBind
|
|
23
|
+
});
|
|
24
|
+
module.exports = __toCommonJS(DataBind_exports);
|
|
25
|
+
var import_js_toolkit = require("@studiometa/js-toolkit");
|
|
26
|
+
var import_utils = require("@studiometa/js-toolkit/utils");
|
|
27
|
+
var import_utils2 = require("./utils.cjs");
|
|
28
|
+
var instances = /* @__PURE__ */ new Map();
|
|
29
|
+
var DataBind = class extends import_js_toolkit.Base {
|
|
30
|
+
static config = {
|
|
31
|
+
name: "DataBind",
|
|
32
|
+
options: {
|
|
33
|
+
prop: String,
|
|
34
|
+
name: String
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
get relatedInstances() {
|
|
38
|
+
const { name } = this.$options;
|
|
39
|
+
if (!instances.has(name)) {
|
|
40
|
+
instances.set(name, /* @__PURE__ */ new Set());
|
|
41
|
+
}
|
|
42
|
+
return instances.get(name);
|
|
43
|
+
}
|
|
44
|
+
get multiple() {
|
|
45
|
+
return this.$options.name.endsWith("[]");
|
|
46
|
+
}
|
|
47
|
+
get target() {
|
|
48
|
+
return this.$el;
|
|
49
|
+
}
|
|
50
|
+
get prop() {
|
|
51
|
+
if (this.$options.prop) {
|
|
52
|
+
return this.$options.prop;
|
|
53
|
+
}
|
|
54
|
+
const { target } = this;
|
|
55
|
+
if (target instanceof HTMLInputElement) {
|
|
56
|
+
return "value";
|
|
57
|
+
}
|
|
58
|
+
return "textContent";
|
|
59
|
+
}
|
|
60
|
+
get value() {
|
|
61
|
+
return this.get();
|
|
62
|
+
}
|
|
63
|
+
set value(value) {
|
|
64
|
+
this.set(value);
|
|
65
|
+
}
|
|
66
|
+
get() {
|
|
67
|
+
const { target, multiple } = this;
|
|
68
|
+
if ((0, import_utils2.isSelect)(target)) {
|
|
69
|
+
if (multiple) {
|
|
70
|
+
const values = [];
|
|
71
|
+
for (const option2 of target.options) {
|
|
72
|
+
if (option2.selected) {
|
|
73
|
+
values.push(option2.value);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return values;
|
|
77
|
+
}
|
|
78
|
+
const option = target.options.item(target.selectedIndex);
|
|
79
|
+
return option.value;
|
|
80
|
+
}
|
|
81
|
+
if ((0, import_utils2.isCheckbox)(target)) {
|
|
82
|
+
if (multiple) {
|
|
83
|
+
const values = [];
|
|
84
|
+
for (const instance of this.relatedInstances) {
|
|
85
|
+
if ((0, import_utils2.isCheckbox)(instance.target) && instance.target.checked) {
|
|
86
|
+
values.push(instance.target.value);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
return values;
|
|
90
|
+
} else {
|
|
91
|
+
return target.checked;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return target[this.prop];
|
|
95
|
+
}
|
|
96
|
+
set(value) {
|
|
97
|
+
const { target, multiple } = this;
|
|
98
|
+
if ((0, import_utils2.isSelect)(target)) {
|
|
99
|
+
for (const option of target.options) {
|
|
100
|
+
option.selected = multiple && (0, import_utils.isArray)(value) ? value.includes(option.value) : option.value === value;
|
|
101
|
+
}
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
if ((0, import_utils2.isInput)(target)) {
|
|
105
|
+
switch (target.type) {
|
|
106
|
+
case "radio":
|
|
107
|
+
target.checked = target.value === value;
|
|
108
|
+
return;
|
|
109
|
+
case "checkbox":
|
|
110
|
+
target.checked = multiple && (0, import_utils.isArray)(value) ? value.includes(target.value) : Boolean(value);
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
target[this.prop] = value;
|
|
115
|
+
}
|
|
116
|
+
mounted() {
|
|
117
|
+
this.relatedInstances.add(this);
|
|
118
|
+
}
|
|
119
|
+
destroyed() {
|
|
120
|
+
this.relatedInstances.delete(this);
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
if (module.exports.default) module.exports = module.exports.default;
|
|
124
|
+
//# sourceMappingURL=DataBind.cjs.map
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../../packages/ui/atoms/Data/DataBind.ts"],
|
|
4
|
+
"sourcesContent": ["import { Base } from '@studiometa/js-toolkit';\nimport type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';\nimport { isArray } from '@studiometa/js-toolkit/utils';\nimport { isInput, isCheckbox, isSelect } from './utils.js';\n\nconst instances = new Map<string, Set<DataBind>>();\n\nexport interface DataBindProps extends BaseProps {\n $options: {\n prop: string;\n name: string;\n };\n}\n\nexport class DataBind<T extends BaseProps = BaseProps> extends Base<DataBindProps & T> {\n static config: BaseConfig = {\n name: 'DataBind',\n options: {\n prop: String,\n name: String,\n },\n };\n\n get relatedInstances() {\n const { name } = this.$options;\n\n if (!instances.has(name)) {\n instances.set(name, new Set());\n }\n\n return instances.get(name);\n }\n\n get multiple() {\n return this.$options.name.endsWith('[]');\n }\n\n get target() {\n return this.$el;\n }\n\n get prop() {\n if (this.$options.prop) {\n return this.$options.prop;\n }\n\n const { target } = this;\n if (target instanceof HTMLInputElement) {\n return 'value';\n }\n\n return 'textContent';\n }\n\n get value() {\n return this.get();\n }\n\n set value(value) {\n this.set(value);\n }\n\n get() {\n const { target, multiple } = this;\n\n if (isSelect(target)) {\n if (multiple) {\n const values = [];\n for (const option of target.options) {\n if (option.selected) {\n values.push(option.value);\n }\n }\n\n return values;\n }\n\n const option = target.options.item(target.selectedIndex);\n return option.value;\n }\n\n if (isCheckbox(target)) {\n if (multiple) {\n const values = [];\n for (const instance of this.relatedInstances) {\n if (isCheckbox(instance.target) && instance.target.checked) {\n values.push(instance.target.value);\n }\n }\n return values;\n } else {\n return target.checked;\n }\n }\n\n return target[this.prop];\n }\n\n set(value: boolean | string | string[]) {\n const { target, multiple } = this;\n\n if (isSelect(target)) {\n for (const option of target.options) {\n option.selected =\n multiple && isArray(value) ? value.includes(option.value) : option.value === value;\n }\n return;\n }\n\n if (isInput(target)) {\n switch (target.type) {\n case 'radio':\n target.checked = target.value === value;\n return;\n case 'checkbox':\n target.checked =\n multiple && isArray(value) ? value.includes(target.value) : Boolean(value);\n return;\n }\n }\n\n target[this.prop] = value;\n }\n\n mounted() {\n this.relatedInstances.add(this);\n }\n\n destroyed() {\n this.relatedInstances.delete(this);\n }\n}\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAqB;AAErB,mBAAwB;AACxB,IAAAA,gBAA8C;AAE9C,IAAM,YAAY,oBAAI,IAA2B;AAS1C,IAAM,WAAN,cAAwD,uBAAwB;AAAA,EACrF,OAAO,SAAqB;AAAA,IAC1B,MAAM;AAAA,IACN,SAAS;AAAA,MACP,MAAM;AAAA,MACN,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EAEA,IAAI,mBAAmB;AACrB,UAAM,EAAE,KAAK,IAAI,KAAK;AAEtB,QAAI,CAAC,UAAU,IAAI,IAAI,GAAG;AACxB,gBAAU,IAAI,MAAM,oBAAI,IAAI,CAAC;AAAA,IAC/B;AAEA,WAAO,UAAU,IAAI,IAAI;AAAA,EAC3B;AAAA,EAEA,IAAI,WAAW;AACb,WAAO,KAAK,SAAS,KAAK,SAAS,IAAI;AAAA,EACzC;AAAA,EAEA,IAAI,SAAS;AACX,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,IAAI,OAAO;AACT,QAAI,KAAK,SAAS,MAAM;AACtB,aAAO,KAAK,SAAS;AAAA,IACvB;AAEA,UAAM,EAAE,OAAO,IAAI;AACnB,QAAI,kBAAkB,kBAAkB;AACtC,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,EACT;AAAA,EAEA,IAAI,QAAQ;AACV,WAAO,KAAK,IAAI;AAAA,EAClB;AAAA,EAEA,IAAI,MAAM,OAAO;AACf,SAAK,IAAI,KAAK;AAAA,EAChB;AAAA,EAEA,MAAM;AACJ,UAAM,EAAE,QAAQ,SAAS,IAAI;AAE7B,YAAI,wBAAS,MAAM,GAAG;AACpB,UAAI,UAAU;AACZ,cAAM,SAAS,CAAC;AAChB,mBAAWC,WAAU,OAAO,SAAS;AACnC,cAAIA,QAAO,UAAU;AACnB,mBAAO,KAAKA,QAAO,KAAK;AAAA,UAC1B;AAAA,QACF;AAEA,eAAO;AAAA,MACT;AAEA,YAAM,SAAS,OAAO,QAAQ,KAAK,OAAO,aAAa;AACvD,aAAO,OAAO;AAAA,IAChB;AAEA,YAAI,0BAAW,MAAM,GAAG;AACtB,UAAI,UAAU;AACZ,cAAM,SAAS,CAAC;AAChB,mBAAW,YAAY,KAAK,kBAAkB;AAC5C,kBAAI,0BAAW,SAAS,MAAM,KAAK,SAAS,OAAO,SAAS;AAC1D,mBAAO,KAAK,SAAS,OAAO,KAAK;AAAA,UACnC;AAAA,QACF;AACA,eAAO;AAAA,MACT,OAAO;AACL,eAAO,OAAO;AAAA,MAChB;AAAA,IACF;AAEA,WAAO,OAAO,KAAK,IAAI;AAAA,EACzB;AAAA,EAEA,IAAI,OAAoC;AACtC,UAAM,EAAE,QAAQ,SAAS,IAAI;AAE7B,YAAI,wBAAS,MAAM,GAAG;AACpB,iBAAW,UAAU,OAAO,SAAS;AACnC,eAAO,WACL,gBAAY,sBAAQ,KAAK,IAAI,MAAM,SAAS,OAAO,KAAK,IAAI,OAAO,UAAU;AAAA,MACjF;AACA;AAAA,IACF;AAEA,YAAI,uBAAQ,MAAM,GAAG;AACnB,cAAQ,OAAO,MAAM;AAAA,QACnB,KAAK;AACH,iBAAO,UAAU,OAAO,UAAU;AAClC;AAAA,QACF,KAAK;AACH,iBAAO,UACL,gBAAY,sBAAQ,KAAK,IAAI,MAAM,SAAS,OAAO,KAAK,IAAI,QAAQ,KAAK;AAC3E;AAAA,MACJ;AAAA,IACF;AAEA,WAAO,KAAK,IAAI,IAAI;AAAA,EACtB;AAAA,EAEA,UAAU;AACR,SAAK,iBAAiB,IAAI,IAAI;AAAA,EAChC;AAAA,EAEA,YAAY;AACV,SAAK,iBAAiB,OAAO,IAAI;AAAA,EACnC;AACF;",
|
|
6
|
+
"names": ["import_utils", "option"]
|
|
7
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Base } from '@studiometa/js-toolkit';
|
|
2
|
+
import type { BaseConfig, BaseProps } from '@studiometa/js-toolkit';
|
|
3
|
+
export interface DataBindProps extends BaseProps {
|
|
4
|
+
$options: {
|
|
5
|
+
prop: string;
|
|
6
|
+
name: string;
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export declare class DataBind<T extends BaseProps = BaseProps> extends Base<DataBindProps & T> {
|
|
10
|
+
static config: BaseConfig;
|
|
11
|
+
get relatedInstances(): Set<DataBind<BaseProps>>;
|
|
12
|
+
get multiple(): boolean;
|
|
13
|
+
get target(): (DataBindProps & T)["$el"] & HTMLElement & {
|
|
14
|
+
__base__?: WeakMap<import("@studiometa/js-toolkit").BaseConstructor, Base | "terminated">;
|
|
15
|
+
};
|
|
16
|
+
get prop(): string;
|
|
17
|
+
get value(): any;
|
|
18
|
+
set value(value: any);
|
|
19
|
+
get(): any;
|
|
20
|
+
set(value: boolean | string | string[]): void;
|
|
21
|
+
mounted(): void;
|
|
22
|
+
destroyed(): void;
|
|
23
|
+
}
|