@dooboostore/simple-web-component 1.0.24 → 1.0.25
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 +64 -3406
- package/dist/cjs/decorators/addEventListener.js +1 -1
- package/dist/cjs/decorators/addEventListener.js.map +2 -2
- package/dist/cjs/decorators/applyAttribute.js +148 -0
- package/dist/cjs/decorators/applyAttribute.js.map +7 -0
- package/dist/cjs/decorators/applyClass.js +164 -0
- package/dist/cjs/decorators/applyClass.js.map +7 -0
- package/dist/cjs/decorators/applyNode.js +87 -194
- package/dist/cjs/decorators/applyNode.js.map +2 -2
- package/dist/cjs/decorators/{style.js → applyStyle.js} +50 -60
- package/dist/cjs/decorators/applyStyle.js.map +7 -0
- package/dist/cjs/decorators/attribute.js +10 -16
- package/dist/cjs/decorators/attribute.js.map +2 -2
- package/dist/cjs/decorators/changedAttributeHost.js +1 -1
- package/dist/cjs/decorators/changedAttributeHost.js.map +2 -2
- package/dist/cjs/decorators/elementDefine.js +14 -23
- package/dist/cjs/decorators/elementDefine.js.map +2 -2
- package/dist/cjs/decorators/emitCustomEvent.js +5 -2
- package/dist/cjs/decorators/emitCustomEvent.js.map +2 -2
- package/dist/cjs/decorators/index.js +3 -3
- package/dist/cjs/decorators/index.js.map +2 -2
- package/dist/cjs/decorators/lifecycles.js +9 -9
- package/dist/cjs/decorators/lifecycles.js.map +2 -2
- package/dist/cjs/decorators/query.js +1 -1
- package/dist/cjs/decorators/query.js.map +2 -2
- package/dist/cjs/decorators/queryAll.js +1 -1
- package/dist/cjs/decorators/queryAll.js.map +2 -2
- package/dist/cjs/elements/SwcAppEngine.js +19 -4
- package/dist/cjs/elements/SwcAppEngine.js.map +2 -2
- package/dist/cjs/elements/SwcAppMixin.js +2 -0
- package/dist/cjs/elements/SwcAppMixin.js.map +2 -2
- package/dist/cjs/utils/Utils.js +1 -1
- package/dist/cjs/utils/Utils.js.map +2 -2
- package/dist/esm/decorators/addEventListener.js +1 -1
- package/dist/esm/decorators/addEventListener.js.map +2 -2
- package/dist/esm/decorators/applyAttribute.js +129 -0
- package/dist/esm/decorators/applyAttribute.js.map +7 -0
- package/dist/esm/decorators/applyClass.js +145 -0
- package/dist/esm/decorators/applyClass.js.map +7 -0
- package/dist/esm/decorators/applyNode.js +87 -194
- package/dist/esm/decorators/applyNode.js.map +2 -2
- package/dist/esm/decorators/{style.js → applyStyle.js} +47 -57
- package/dist/esm/decorators/applyStyle.js.map +7 -0
- package/dist/esm/decorators/attribute.js +10 -16
- package/dist/esm/decorators/attribute.js.map +2 -2
- package/dist/esm/decorators/changedAttributeHost.js +1 -1
- package/dist/esm/decorators/changedAttributeHost.js.map +2 -2
- package/dist/esm/decorators/elementDefine.js +14 -23
- package/dist/esm/decorators/elementDefine.js.map +2 -2
- package/dist/esm/decorators/emitCustomEvent.js +5 -2
- package/dist/esm/decorators/emitCustomEvent.js.map +2 -2
- package/dist/esm/decorators/index.js +3 -3
- package/dist/esm/decorators/index.js.map +1 -1
- package/dist/esm/decorators/lifecycles.js +9 -9
- package/dist/esm/decorators/lifecycles.js.map +2 -2
- package/dist/esm/decorators/query.js +1 -1
- package/dist/esm/decorators/query.js.map +2 -2
- package/dist/esm/decorators/queryAll.js +1 -1
- package/dist/esm/decorators/queryAll.js.map +2 -2
- package/dist/esm/elements/SwcAppEngine.js +19 -4
- package/dist/esm/elements/SwcAppEngine.js.map +2 -2
- package/dist/esm/elements/SwcAppMixin.js +2 -0
- package/dist/esm/elements/SwcAppMixin.js.map +2 -2
- package/dist/esm/utils/Utils.js +1 -1
- package/dist/esm/utils/Utils.js.map +2 -2
- package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +2884 -586
- package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
- package/dist/types/decorators/addEventListener.d.ts.map +1 -1
- package/dist/types/decorators/applyAttribute.d.ts +22 -0
- package/dist/types/decorators/applyAttribute.d.ts.map +1 -0
- package/dist/types/decorators/applyClass.d.ts +65 -0
- package/dist/types/decorators/applyClass.d.ts.map +1 -0
- package/dist/types/decorators/applyNode.d.ts +15 -123
- package/dist/types/decorators/applyNode.d.ts.map +1 -1
- package/dist/types/decorators/applyStyle.d.ts +21 -0
- package/dist/types/decorators/applyStyle.d.ts.map +1 -0
- package/dist/types/decorators/attribute.d.ts +10 -19
- package/dist/types/decorators/attribute.d.ts.map +1 -1
- package/dist/types/decorators/changedAttributeHost.d.ts.map +1 -1
- package/dist/types/decorators/elementDefine.d.ts.map +1 -1
- package/dist/types/decorators/emitCustomEvent.d.ts +1 -1
- package/dist/types/decorators/emitCustomEvent.d.ts.map +1 -1
- package/dist/types/decorators/index.d.ts +3 -3
- package/dist/types/decorators/index.d.ts.map +1 -1
- package/dist/types/decorators/lifecycles.d.ts.map +1 -1
- package/dist/types/decorators/query.d.ts.map +1 -1
- package/dist/types/decorators/queryAll.d.ts.map +1 -1
- package/dist/types/elements/SwcAppEngine.d.ts +7 -0
- package/dist/types/elements/SwcAppEngine.d.ts.map +1 -1
- package/dist/types/elements/SwcAppMixin.d.ts +1 -1
- package/dist/types/elements/SwcAppMixin.d.ts.map +1 -1
- package/dist/types/utils/Utils.d.ts.map +1 -1
- package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +2884 -586
- package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
- package/package.json +3 -3
- package/src/decorators/addEventListener.ts +1 -1
- package/src/decorators/applyAttribute.ts +147 -0
- package/src/decorators/applyClass.ts +158 -0
- package/src/decorators/applyNode.ts +112 -330
- package/src/decorators/applyStyle.ts +128 -0
- package/src/decorators/attribute.ts +21 -55
- package/src/decorators/changedAttributeHost.ts +1 -1
- package/src/decorators/elementDefine.ts +18 -39
- package/src/decorators/emitCustomEvent.ts +6 -3
- package/src/decorators/index.ts +3 -3
- package/src/decorators/lifecycles.ts +9 -11
- package/src/decorators/query.ts +1 -1
- package/src/decorators/queryAll.ts +1 -1
- package/src/elements/SwcAppEngine.ts +32 -4
- package/src/elements/SwcAppMixin.ts +2 -0
- package/src/utils/Utils.ts +2 -1
- package/dist/cjs/decorators/classList.js +0 -177
- package/dist/cjs/decorators/classList.js.map +0 -7
- package/dist/cjs/decorators/setAttribute.js +0 -111
- package/dist/cjs/decorators/setAttribute.js.map +0 -7
- package/dist/cjs/decorators/style.js.map +0 -7
- package/dist/esm/decorators/classList.js +0 -158
- package/dist/esm/decorators/classList.js.map +0 -7
- package/dist/esm/decorators/setAttribute.js +0 -92
- package/dist/esm/decorators/setAttribute.js.map +0 -7
- package/dist/esm/decorators/style.js.map +0 -7
- package/dist/types/decorators/classList.d.ts +0 -71
- package/dist/types/decorators/classList.d.ts.map +0 -1
- package/dist/types/decorators/setAttribute.d.ts +0 -23
- package/dist/types/decorators/setAttribute.d.ts.map +0 -1
- package/dist/types/decorators/style.d.ts +0 -58
- package/dist/types/decorators/style.d.ts.map +0 -1
- package/src/decorators/classList.ts +0 -234
- package/src/decorators/setAttribute.ts +0 -114
- package/src/decorators/style.ts +0 -185
|
@@ -1,177 +0,0 @@
|
|
|
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
|
-
var classList_exports = {};
|
|
19
|
-
__export(classList_exports, {
|
|
20
|
-
CLASS_LIST_METADATA_KEY: () => CLASS_LIST_METADATA_KEY,
|
|
21
|
-
addClassList: () => addClassList,
|
|
22
|
-
addClassListHost: () => addClassListHost,
|
|
23
|
-
findAllClassListMetadata: () => findAllClassListMetadata,
|
|
24
|
-
removeClassList: () => removeClassList,
|
|
25
|
-
removeClassListHost: () => removeClassListHost,
|
|
26
|
-
setClassList: () => setClassList,
|
|
27
|
-
setClassListHost: () => setClassListHost,
|
|
28
|
-
toggleClassList: () => toggleClassList,
|
|
29
|
-
toggleClassListHost: () => toggleClassListHost,
|
|
30
|
-
updateClassList: () => updateClassList,
|
|
31
|
-
updateClassListHost: () => updateClassListHost
|
|
32
|
-
});
|
|
33
|
-
module.exports = __toCommonJS(classList_exports);
|
|
34
|
-
var import_core = require("@dooboostore/core");
|
|
35
|
-
var import_elementDefine = require("./elementDefine");
|
|
36
|
-
var import_Utils = require("../utils/Utils");
|
|
37
|
-
const CLASS_LIST_METADATA_KEY = Symbol("simple-web-component:class-list");
|
|
38
|
-
function createClassListDecorator(action) {
|
|
39
|
-
return (selector, options = {}) => {
|
|
40
|
-
return (target, propertyKey, descriptor) => {
|
|
41
|
-
const constructor = target.constructor;
|
|
42
|
-
let metaList = import_core.ReflectUtils.getOwnMetadata(CLASS_LIST_METADATA_KEY, constructor);
|
|
43
|
-
if (!metaList) {
|
|
44
|
-
metaList = /* @__PURE__ */ new Map();
|
|
45
|
-
import_core.ReflectUtils.defineMetadata(CLASS_LIST_METADATA_KEY, metaList, constructor);
|
|
46
|
-
}
|
|
47
|
-
metaList.set(propertyKey, { propertyKey, selector, action, options });
|
|
48
|
-
const original = descriptor.value;
|
|
49
|
-
descriptor.value = async function(...args) {
|
|
50
|
-
(0, import_elementDefine.ensureInit)(this);
|
|
51
|
-
const res = await original.apply(this, args);
|
|
52
|
-
if (res !== void 0) {
|
|
53
|
-
const r = options.root || "auto";
|
|
54
|
-
const hostSet = import_Utils.SwcUtils.getHostSet(this);
|
|
55
|
-
const targetEls = [];
|
|
56
|
-
const applyRoot = (t) => {
|
|
57
|
-
if (!t || !(t instanceof HTMLElement)) return;
|
|
58
|
-
if (r === "auto") {
|
|
59
|
-
targetEls.push(t);
|
|
60
|
-
} else {
|
|
61
|
-
if (r === "light" || r === "all") targetEls.push(t);
|
|
62
|
-
if ((r === "shadow" || r === "all") && t.shadowRoot) {
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
if (selector === ":parentHost") applyRoot(hostSet.$parentHost);
|
|
67
|
-
else if (selector === ":appHost") applyRoot(hostSet.$appHost);
|
|
68
|
-
else if (selector === ":firstHost") applyRoot(hostSet.$firstHost);
|
|
69
|
-
else if (selector === ":lastHost") applyRoot(hostSet.$lastHost);
|
|
70
|
-
else if (selector === ":firstAppHost") applyRoot(hostSet.$firstAppHost);
|
|
71
|
-
else if (selector === ":lastAppHost") applyRoot(hostSet.$lastAppHost);
|
|
72
|
-
else if (selector === ":hosts") hostSet.$hosts.forEach(applyRoot);
|
|
73
|
-
else if (selector === ":appHosts") hostSet.$appHosts.forEach(applyRoot);
|
|
74
|
-
else if (selector === ":host" || !selector) applyRoot(this);
|
|
75
|
-
else {
|
|
76
|
-
if (r === "shadow") {
|
|
77
|
-
const found = this.shadowRoot?.querySelectorAll(selector);
|
|
78
|
-
if (found) targetEls.push(...Array.from(found));
|
|
79
|
-
} else if (r === "light") {
|
|
80
|
-
const found = this.querySelectorAll(selector);
|
|
81
|
-
if (found) targetEls.push(...Array.from(found));
|
|
82
|
-
} else if (r === "all") {
|
|
83
|
-
const sFound = this.shadowRoot?.querySelectorAll(selector);
|
|
84
|
-
const lFound = this.querySelectorAll(selector);
|
|
85
|
-
if (sFound) targetEls.push(...Array.from(sFound));
|
|
86
|
-
if (lFound) targetEls.push(...Array.from(lFound));
|
|
87
|
-
} else {
|
|
88
|
-
const found = (this.shadowRoot || this).querySelectorAll(selector);
|
|
89
|
-
if (found) targetEls.push(...Array.from(found));
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
targetEls.forEach((targetEl) => {
|
|
93
|
-
if (action === "set") {
|
|
94
|
-
let classes = "";
|
|
95
|
-
if (typeof res === "object" && res !== null && !Array.isArray(res)) {
|
|
96
|
-
classes = Object.entries(res).filter(([_, force]) => !!force).map(([cls]) => cls).join(" ");
|
|
97
|
-
} else {
|
|
98
|
-
classes = Array.isArray(res) ? res.join(" ") : String(res);
|
|
99
|
-
}
|
|
100
|
-
targetEl.className = classes;
|
|
101
|
-
} else if (action === "update") {
|
|
102
|
-
if (typeof res === "object" && res !== null && !Array.isArray(res)) {
|
|
103
|
-
Object.entries(res).forEach(([cls, force]) => {
|
|
104
|
-
targetEl.classList.toggle(cls, !!force);
|
|
105
|
-
});
|
|
106
|
-
} else if (res !== void 0 && res !== null) {
|
|
107
|
-
const classes = Array.isArray(res) ? res.map(String) : [String(res)];
|
|
108
|
-
targetEl.classList.add(...classes);
|
|
109
|
-
}
|
|
110
|
-
} else if (action === "add") {
|
|
111
|
-
const classes = Array.isArray(res) ? res.map(String) : [String(res)];
|
|
112
|
-
targetEl.classList.add(...classes);
|
|
113
|
-
} else if (action === "remove") {
|
|
114
|
-
const classes = Array.isArray(res) ? res.map(String) : [String(res)];
|
|
115
|
-
targetEl.classList.remove(...classes);
|
|
116
|
-
} else if (action === "toggle") {
|
|
117
|
-
const classes = Array.isArray(res) ? res.map(String) : [String(res)];
|
|
118
|
-
classes.forEach((c) => targetEl.classList.toggle(c));
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
}
|
|
122
|
-
return res;
|
|
123
|
-
};
|
|
124
|
-
};
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
const setClassList = (selector, options = {}) => createClassListDecorator("set")(selector, options);
|
|
128
|
-
const updateClassList = (selector, options = {}) => createClassListDecorator("update")(selector, options);
|
|
129
|
-
const addClassList = (selector, options = {}) => createClassListDecorator("add")(selector, options);
|
|
130
|
-
const removeClassList = (selector, options = {}) => createClassListDecorator("remove")(selector, options);
|
|
131
|
-
const toggleClassList = (selector, options = {}) => createClassListDecorator("toggle")(selector, options);
|
|
132
|
-
function setClassListHost(targetOrOptions, propertyKey, descriptor) {
|
|
133
|
-
if (propertyKey !== void 0) {
|
|
134
|
-
const decorator = createClassListDecorator("set")(":host", {});
|
|
135
|
-
return decorator(targetOrOptions, propertyKey, descriptor);
|
|
136
|
-
}
|
|
137
|
-
return createClassListDecorator("set")(":host", targetOrOptions || {});
|
|
138
|
-
}
|
|
139
|
-
function updateClassListHost(targetOrOptions, propertyKey, descriptor) {
|
|
140
|
-
if (propertyKey !== void 0) {
|
|
141
|
-
const decorator = createClassListDecorator("update")(":host", {});
|
|
142
|
-
return decorator(targetOrOptions, propertyKey, descriptor);
|
|
143
|
-
}
|
|
144
|
-
return createClassListDecorator("update")(":host", targetOrOptions || {});
|
|
145
|
-
}
|
|
146
|
-
function addClassListHost(targetOrOptions, propertyKey, descriptor) {
|
|
147
|
-
if (propertyKey !== void 0) {
|
|
148
|
-
const decorator = createClassListDecorator("add")(":host", {});
|
|
149
|
-
return decorator(targetOrOptions, propertyKey, descriptor);
|
|
150
|
-
}
|
|
151
|
-
return createClassListDecorator("add")(":host", targetOrOptions || {});
|
|
152
|
-
}
|
|
153
|
-
function removeClassListHost(targetOrOptions, propertyKey, descriptor) {
|
|
154
|
-
if (propertyKey !== void 0) {
|
|
155
|
-
const decorator = createClassListDecorator("remove")(":host", {});
|
|
156
|
-
return decorator(targetOrOptions, propertyKey, descriptor);
|
|
157
|
-
}
|
|
158
|
-
return createClassListDecorator("remove")(":host", targetOrOptions || {});
|
|
159
|
-
}
|
|
160
|
-
function toggleClassListHost(targetOrOptions, propertyKey, descriptor) {
|
|
161
|
-
if (propertyKey !== void 0) {
|
|
162
|
-
const decorator = createClassListDecorator("toggle")(":host", {});
|
|
163
|
-
return decorator(targetOrOptions, propertyKey, descriptor);
|
|
164
|
-
}
|
|
165
|
-
return createClassListDecorator("toggle")(":host", targetOrOptions || {});
|
|
166
|
-
}
|
|
167
|
-
const findAllClassListMetadata = (target) => {
|
|
168
|
-
const result = /* @__PURE__ */ new Map();
|
|
169
|
-
const maps = import_core.ReflectUtils.findAllMetadata(CLASS_LIST_METADATA_KEY, target);
|
|
170
|
-
maps.forEach((map) => {
|
|
171
|
-
if (map instanceof Map) {
|
|
172
|
-
map.forEach((v, k) => result.set(k, v));
|
|
173
|
-
}
|
|
174
|
-
});
|
|
175
|
-
return result;
|
|
176
|
-
};
|
|
177
|
-
//# sourceMappingURL=classList.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/decorators/classList.ts"],
|
|
4
|
-
"sourcesContent": ["import { ReflectUtils } from '@dooboostore/core';\nimport { ensureInit } from './elementDefine';\nimport { SwcUtils } from '../utils/Utils';\nimport { SwcQueryOptions } from '../types';\n\nexport const CLASS_LIST_METADATA_KEY = Symbol('simple-web-component:class-list');\n\nexport type ClassListAction = 'set' | 'update' | 'add' | 'remove' | 'toggle';\n\nexport interface ClassListMetadata {\n propertyKey: string | symbol;\n selector: string;\n action: ClassListAction;\n options: SwcQueryOptions;\n}\n\nfunction createClassListDecorator(action: ClassListAction) {\n return (selector: string, options: SwcQueryOptions = {}): MethodDecorator => {\n return (target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const constructor = target.constructor;\n let metaList = ReflectUtils.getOwnMetadata(CLASS_LIST_METADATA_KEY, constructor) as Map<string | symbol, ClassListMetadata>;\n if (!metaList) {\n metaList = new Map<string | symbol, ClassListMetadata>();\n ReflectUtils.defineMetadata(CLASS_LIST_METADATA_KEY, metaList, constructor);\n }\n metaList.set(propertyKey, { propertyKey, selector, action, options });\n\n const original = descriptor.value;\n descriptor.value = async function (...args: any[]) {\n ensureInit(this);\n const res = await original.apply(this, args);\n if (res !== undefined) {\n const r = options.root || 'auto';\n const hostSet = SwcUtils.getHostSet(this as any);\n const targetEls: HTMLElement[] = [];\n\n const applyRoot = (t: any) => {\n if (!t || !(t instanceof HTMLElement)) return;\n if (r === 'auto') {\n // Classes belong to the ELEMENT, not the ShadowRoot.\n targetEls.push(t);\n } else {\n if (r === 'light' || r === 'all') targetEls.push(t);\n if ((r === 'shadow' || r === 'all') && t.shadowRoot) {\n // Technically ShadowRoot doesn't have classList, but user might have specified it.\n // We'll skip adding shadowRoot to targetEls for class operations.\n }\n }\n };\n\n if (selector === ':parentHost') applyRoot(hostSet.$parentHost);\n else if (selector === ':appHost') applyRoot(hostSet.$appHost);\n else if (selector === ':firstHost') applyRoot(hostSet.$firstHost);\n else if (selector === ':lastHost') applyRoot(hostSet.$lastHost);\n else if (selector === ':firstAppHost') applyRoot(hostSet.$firstAppHost);\n else if (selector === ':lastAppHost') applyRoot(hostSet.$lastAppHost);\n else if (selector === ':hosts') hostSet.$hosts.forEach(applyRoot);\n else if (selector === ':appHosts') hostSet.$appHosts.forEach(applyRoot);\n else if (selector === ':host' || !selector) applyRoot(this);\n else {\n if (r === 'shadow') {\n const found = this.shadowRoot?.querySelectorAll(selector);\n if (found) targetEls.push(...(Array.from(found) as HTMLElement[]));\n } else if (r === 'light') {\n const found = (this as any).querySelectorAll(selector);\n if (found) targetEls.push(...(Array.from(found) as HTMLElement[]));\n } else if (r === 'all') {\n const sFound = this.shadowRoot?.querySelectorAll(selector);\n const lFound = (this as any).querySelectorAll(selector);\n if (sFound) targetEls.push(...(Array.from(sFound) as HTMLElement[]));\n if (lFound) targetEls.push(...(Array.from(lFound) as HTMLElement[]));\n } else {\n // auto\n const found = (this.shadowRoot || (this as any)).querySelectorAll(selector);\n if (found) targetEls.push(...(Array.from(found) as HTMLElement[]));\n }\n }\n\n targetEls.forEach(targetEl => {\n if (action === 'set') {\n let classes = '';\n if (typeof res === 'object' && res !== null && !Array.isArray(res)) {\n classes = Object.entries(res)\n .filter(([_, force]) => !!force)\n .map(([cls]) => cls)\n .join(' ');\n } else {\n classes = Array.isArray(res) ? res.join(' ') : String(res);\n }\n targetEl.className = classes;\n } else if (action === 'update') {\n if (typeof res === 'object' && res !== null && !Array.isArray(res)) {\n Object.entries(res).forEach(([cls, force]) => {\n targetEl.classList.toggle(cls, !!force);\n });\n } else if (res !== undefined && res !== null) {\n const classes = Array.isArray(res) ? res.map(String) : [String(res)];\n targetEl.classList.add(...classes);\n }\n } else if (action === 'add') {\n const classes = Array.isArray(res) ? res.map(String) : [String(res)];\n targetEl.classList.add(...classes);\n } else if (action === 'remove') {\n const classes = Array.isArray(res) ? res.map(String) : [String(res)];\n targetEl.classList.remove(...classes);\n } else if (action === 'toggle') {\n const classes = Array.isArray(res) ? res.map(String) : [String(res)];\n classes.forEach(c => targetEl.classList.toggle(c));\n }\n });\n }\n return res;\n };\n };\n };\n}\n\n/**\n * @setClassList decorator to surgically replace all classes on a target element.\n * Returns: string | string[]\n */\nexport const setClassList = (selector: string, options: SwcQueryOptions = {}) => createClassListDecorator('set')(selector, options);\n\n/**\n * @updateClassList decorator to surgically update specific classes.\n * Returns: Record<string, boolean> (toggle with force) | string | string[] (add)\n */\nexport const updateClassList = (selector: string, options: SwcQueryOptions = {}) => createClassListDecorator('update')(selector, options);\n\n/**\n * @addClassList decorator to surgically add classes to a target element.\n * Returns: string | string[]\n */\nexport const addClassList = (selector: string, options: SwcQueryOptions = {}) => createClassListDecorator('add')(selector, options);\n\n/**\n * @removeClassList decorator to surgically remove classes from a target element.\n * Returns: string | string[]\n */\nexport const removeClassList = (selector: string, options: SwcQueryOptions = {}) => createClassListDecorator('remove')(selector, options);\n\n/**\n * @toggleClassList decorator to surgically toggle classes on a target element.\n * Returns: string | string[]\n */\nexport const toggleClassList = (selector: string, options: SwcQueryOptions = {}) => createClassListDecorator('toggle')(selector, options);\n\n// Host-specific versions (for :host selector)\n\n/**\n * @setClassListHost decorator to set classes on :host element.\n * Returns: string | string[]\n */\nexport function setClassListHost(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): any;\nexport function setClassListHost(): MethodDecorator;\nexport function setClassListHost(options: SwcQueryOptions): MethodDecorator;\nexport function setClassListHost(targetOrOptions?: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): any {\n if (propertyKey !== undefined) {\n const decorator = createClassListDecorator('set')(':host', {});\n return decorator(targetOrOptions, propertyKey, descriptor);\n }\n return createClassListDecorator('set')(':host', (targetOrOptions as SwcQueryOptions) || {});\n}\n\n/**\n * @updateClassListHost decorator to update specific classes on :host.\n * Returns: Record<string, boolean> (toggle with force) | string | string[] (add)\n */\nexport function updateClassListHost(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): any;\nexport function updateClassListHost(): MethodDecorator;\nexport function updateClassListHost(options: SwcQueryOptions): MethodDecorator;\nexport function updateClassListHost(targetOrOptions?: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): any {\n if (propertyKey !== undefined) {\n const decorator = createClassListDecorator('update')(':host', {});\n return decorator(targetOrOptions, propertyKey, descriptor);\n }\n return createClassListDecorator('update')(':host', (targetOrOptions as SwcQueryOptions) || {});\n}\n\n/**\n * @addClassListHost decorator to add classes to :host element.\n * Returns: string | string[]\n */\nexport function addClassListHost(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): any;\nexport function addClassListHost(): MethodDecorator;\nexport function addClassListHost(options: SwcQueryOptions): MethodDecorator;\nexport function addClassListHost(targetOrOptions?: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): any {\n if (propertyKey !== undefined) {\n const decorator = createClassListDecorator('add')(':host', {});\n return decorator(targetOrOptions, propertyKey, descriptor);\n }\n return createClassListDecorator('add')(':host', (targetOrOptions as SwcQueryOptions) || {});\n}\n\n/**\n * @removeClassListHost decorator to remove classes from :host element.\n * Returns: string | string[]\n */\nexport function removeClassListHost(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): any;\nexport function removeClassListHost(): MethodDecorator;\nexport function removeClassListHost(options: SwcQueryOptions): MethodDecorator;\nexport function removeClassListHost(targetOrOptions?: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): any {\n if (propertyKey !== undefined) {\n const decorator = createClassListDecorator('remove')(':host', {});\n return decorator(targetOrOptions, propertyKey, descriptor);\n }\n return createClassListDecorator('remove')(':host', (targetOrOptions as SwcQueryOptions) || {});\n}\n\n/**\n * @toggleClassListHost decorator to toggle classes on :host element.\n * Returns: string | string[]\n */\nexport function toggleClassListHost(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): any;\nexport function toggleClassListHost(): MethodDecorator;\nexport function toggleClassListHost(options: SwcQueryOptions): MethodDecorator;\nexport function toggleClassListHost(targetOrOptions?: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): any {\n if (propertyKey !== undefined) {\n const decorator = createClassListDecorator('toggle')(':host', {});\n return decorator(targetOrOptions, propertyKey, descriptor);\n }\n return createClassListDecorator('toggle')(':host', (targetOrOptions as SwcQueryOptions) || {});\n}\n\nexport const findAllClassListMetadata = (target: any): Map<string | symbol, ClassListMetadata> => {\n const result = new Map<string | symbol, ClassListMetadata>();\n const maps = ReflectUtils.findAllMetadata<Map<string | symbol, ClassListMetadata>>(CLASS_LIST_METADATA_KEY, target);\n maps.forEach(map => {\n if (map instanceof Map) {\n map.forEach((v, k) => result.set(k, v));\n }\n });\n return result;\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,111 +0,0 @@
|
|
|
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
|
-
var setAttribute_exports = {};
|
|
19
|
-
__export(setAttribute_exports, {
|
|
20
|
-
SET_ATTRIBUTE_METADATA_KEY: () => SET_ATTRIBUTE_METADATA_KEY,
|
|
21
|
-
findAllSetAttributeMetadata: () => findAllSetAttributeMetadata,
|
|
22
|
-
getSetAttributeMetadata: () => getSetAttributeMetadata,
|
|
23
|
-
setAttribute: () => setAttribute,
|
|
24
|
-
setAttributeHost: () => setAttributeHost
|
|
25
|
-
});
|
|
26
|
-
module.exports = __toCommonJS(setAttribute_exports);
|
|
27
|
-
var import_core = require("@dooboostore/core");
|
|
28
|
-
var import_elementDefine = require("./elementDefine");
|
|
29
|
-
var import_Utils = require("../utils/Utils");
|
|
30
|
-
const SET_ATTRIBUTE_METADATA_KEY = Symbol("simple-web-component:set-attribute");
|
|
31
|
-
function setAttribute(selector, name, options = {}) {
|
|
32
|
-
return (target, propertyKey, descriptor) => {
|
|
33
|
-
const constructor = target.constructor;
|
|
34
|
-
let metaList = import_core.ReflectUtils.getOwnMetadata(SET_ATTRIBUTE_METADATA_KEY, constructor);
|
|
35
|
-
if (!metaList) {
|
|
36
|
-
metaList = /* @__PURE__ */ new Map();
|
|
37
|
-
import_core.ReflectUtils.defineMetadata(SET_ATTRIBUTE_METADATA_KEY, metaList, constructor);
|
|
38
|
-
}
|
|
39
|
-
metaList.set(propertyKey, { propertyKey, selector, name, options });
|
|
40
|
-
const original = descriptor.value;
|
|
41
|
-
descriptor.value = async function(...args) {
|
|
42
|
-
(0, import_elementDefine.ensureInit)(this);
|
|
43
|
-
const res = await original.apply(this, args);
|
|
44
|
-
if (res !== void 0) {
|
|
45
|
-
const hostSet = import_Utils.SwcUtils.getHostSet(this);
|
|
46
|
-
const conf = (0, import_elementDefine.getElementConfig)(this);
|
|
47
|
-
const currentWin = this._resolveWindow?.(conf) || (typeof window !== "undefined" ? window : void 0);
|
|
48
|
-
const targetEls = [];
|
|
49
|
-
const r = options.root || "auto";
|
|
50
|
-
const applyRoot = (t) => {
|
|
51
|
-
if (!t) return;
|
|
52
|
-
if (r === "auto") {
|
|
53
|
-
targetEls.push(t);
|
|
54
|
-
} else {
|
|
55
|
-
if (r === "light" || r === "all") targetEls.push(t);
|
|
56
|
-
if ((r === "shadow" || r === "all") && t.shadowRoot) targetEls.push(t.shadowRoot);
|
|
57
|
-
}
|
|
58
|
-
};
|
|
59
|
-
if (selector === ":window") targetEls.push(currentWin);
|
|
60
|
-
else if (selector === ":document") targetEls.push(currentWin.document);
|
|
61
|
-
else if (selector === ":parentHost") applyRoot(hostSet.$parentHost);
|
|
62
|
-
else if (selector === ":appHost") applyRoot(hostSet.$appHost);
|
|
63
|
-
else if (selector === ":firstHost") applyRoot(hostSet.$firstHost);
|
|
64
|
-
else if (selector === ":lastHost") applyRoot(hostSet.$lastHost);
|
|
65
|
-
else if (selector === ":firstAppHost") applyRoot(hostSet.$firstAppHost);
|
|
66
|
-
else if (selector === ":lastAppHost") applyRoot(hostSet.$lastAppHost);
|
|
67
|
-
else if (selector === ":hosts") hostSet.$hosts.forEach(applyRoot);
|
|
68
|
-
else if (selector === ":appHosts") hostSet.$appHosts.forEach(applyRoot);
|
|
69
|
-
else if (selector === ":host" || !selector) applyRoot(this);
|
|
70
|
-
else {
|
|
71
|
-
const roots = [];
|
|
72
|
-
if (r === "shadow") {
|
|
73
|
-
if (this.shadowRoot) roots.push(this.shadowRoot);
|
|
74
|
-
} else if (r === "light") {
|
|
75
|
-
roots.push(this);
|
|
76
|
-
} else if (r === "all") {
|
|
77
|
-
roots.push(this);
|
|
78
|
-
if (this.shadowRoot) roots.push(this.shadowRoot);
|
|
79
|
-
} else {
|
|
80
|
-
roots.push(this.shadowRoot || this);
|
|
81
|
-
}
|
|
82
|
-
roots.forEach((root) => targetEls.push(...root.querySelectorAll(selector)));
|
|
83
|
-
}
|
|
84
|
-
targetEls.forEach((targetEl) => {
|
|
85
|
-
if (!targetEl || typeof targetEl.setAttribute !== "function") return;
|
|
86
|
-
if (res === null) targetEl.removeAttribute(name);
|
|
87
|
-
else targetEl.setAttribute(name, String(res));
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
return res;
|
|
91
|
-
};
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
const getSetAttributeMetadata = (target) => {
|
|
95
|
-
const constructor = target instanceof Function ? target : target.constructor;
|
|
96
|
-
return import_core.ReflectUtils.getMetadata(SET_ATTRIBUTE_METADATA_KEY, constructor);
|
|
97
|
-
};
|
|
98
|
-
const findAllSetAttributeMetadata = (target) => {
|
|
99
|
-
const result = /* @__PURE__ */ new Map();
|
|
100
|
-
const maps = import_core.ReflectUtils.findAllMetadata(SET_ATTRIBUTE_METADATA_KEY, target);
|
|
101
|
-
maps.forEach((map) => {
|
|
102
|
-
if (map instanceof Map) {
|
|
103
|
-
map.forEach((v, k) => result.set(k, v));
|
|
104
|
-
}
|
|
105
|
-
});
|
|
106
|
-
return result;
|
|
107
|
-
};
|
|
108
|
-
function setAttributeHost(name, options) {
|
|
109
|
-
return setAttribute(":host", name, options);
|
|
110
|
-
}
|
|
111
|
-
//# sourceMappingURL=setAttribute.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/decorators/setAttribute.ts"],
|
|
4
|
-
"sourcesContent": ["import { ReflectUtils } from '@dooboostore/core';\nimport { ensureInit, getElementConfig } from './elementDefine';\nimport { SwcUtils } from '../utils/Utils';\nimport { SwcQueryOptions } from '../types';\n\nexport interface SetAttributeMetadata {\n propertyKey: string | symbol;\n selector: string;\n name: string;\n options: SwcQueryOptions;\n}\n\nexport const SET_ATTRIBUTE_METADATA_KEY = Symbol('simple-web-component:set-attribute');\n\n/**\n * @setAttribute decorator to surgically update an attribute of a target element.\n * Usage: @setAttribute(':host', 'count')\n * Usage: @setAttribute('#child', 'disabled')\n */\nexport function setAttribute(selector: string, name: string): MethodDecorator;\nexport function setAttribute(selector: string, name: string, options?: SwcQueryOptions): MethodDecorator;\nexport function setAttribute(selector: string, name: string, options: SwcQueryOptions = {}): MethodDecorator {\n return (target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const constructor = target.constructor;\n let metaList = ReflectUtils.getOwnMetadata(SET_ATTRIBUTE_METADATA_KEY, constructor) as Map<string | symbol, SetAttributeMetadata>;\n if (!metaList) {\n metaList = new Map<string | symbol, SetAttributeMetadata>();\n ReflectUtils.defineMetadata(SET_ATTRIBUTE_METADATA_KEY, metaList, constructor);\n }\n metaList.set(propertyKey, { propertyKey, selector, name, options });\n\n const original = descriptor.value;\n descriptor.value = async function (...args: any[]) {\n ensureInit(this);\n const res = await original.apply(this, args);\n if (res !== undefined) {\n const hostSet = SwcUtils.getHostSet(this as any);\n const conf = getElementConfig(this);\n const currentWin = (this as any)._resolveWindow?.(conf) || ((typeof window !== 'undefined' ? window : undefined) as Window);\n\n const targetEls: any[] = [];\n const r = options.root || 'auto';\n\n const applyRoot = (t: any) => {\n if (!t) return;\n if (r === 'auto') {\n // Attributes belong to the ELEMENT, not the ShadowRoot.\n targetEls.push(t);\n } else {\n if (r === 'light' || r === 'all') targetEls.push(t);\n if ((r === 'shadow' || r === 'all') && (t as any).shadowRoot) targetEls.push((t as any).shadowRoot);\n }\n };\n\n if (selector === ':window') targetEls.push(currentWin);\n else if (selector === ':document') targetEls.push(currentWin.document as any);\n else if (selector === ':parentHost') applyRoot(hostSet.$parentHost);\n else if (selector === ':appHost') applyRoot(hostSet.$appHost);\n else if (selector === ':firstHost') applyRoot(hostSet.$firstHost);\n else if (selector === ':lastHost') applyRoot(hostSet.$lastHost);\n else if (selector === ':firstAppHost') applyRoot(hostSet.$firstAppHost);\n else if (selector === ':lastAppHost') applyRoot(hostSet.$lastAppHost);\n else if (selector === ':hosts') hostSet.$hosts.forEach(applyRoot);\n else if (selector === ':appHosts') hostSet.$appHosts.forEach(applyRoot);\n else if (selector === ':host' || !selector) applyRoot(this);\n else {\n const roots: any[] = [];\n if (r === 'shadow') {\n if ((this as any).shadowRoot) roots.push((this as any).shadowRoot);\n } else if (r === 'light') {\n roots.push(this as any);\n } else if (r === 'all') {\n roots.push(this as any);\n if ((this as any).shadowRoot) roots.push((this as any).shadowRoot);\n } else {\n roots.push((this as any).shadowRoot || (this as any));\n }\n roots.forEach(root => targetEls.push(...root.querySelectorAll(selector)));\n }\n\n targetEls.forEach(targetEl => {\n if (!targetEl || typeof (targetEl as any).setAttribute !== 'function') return;\n if (res === null) (targetEl as any).removeAttribute(name);\n else (targetEl as any).setAttribute(name, String(res));\n });\n }\n return res;\n };\n };\n}\n\nexport const getSetAttributeMetadata = (target: any): Map<string | symbol, SetAttributeMetadata> | undefined => {\n const constructor = target instanceof Function ? target : target.constructor;\n return ReflectUtils.getMetadata(SET_ATTRIBUTE_METADATA_KEY, constructor);\n};\n\nexport const findAllSetAttributeMetadata = (target: any): Map<string | symbol, SetAttributeMetadata> => {\n const result = new Map<string | symbol, SetAttributeMetadata>();\n const maps = ReflectUtils.findAllMetadata<Map<string | symbol, SetAttributeMetadata>>(SET_ATTRIBUTE_METADATA_KEY, target);\n maps.forEach(map => {\n if (map instanceof Map) {\n map.forEach((v, k) => result.set(k, v));\n }\n });\n return result;\n};\n\n/**\n * @setAttributeHost decorator - simplified version of @setAttribute for :host selector\n * Usage: @setAttributeHost('aria-disabled')\n */\nexport function setAttributeHost(name: string, options?: SwcQueryOptions): MethodDecorator {\n return setAttribute(':host', name, options);\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/decorators/style.ts"],
|
|
4
|
-
"sourcesContent": ["import { ReflectUtils } from '@dooboostore/core';\nimport { ensureInit } from './elementDefine';\nimport { SwcUtils } from '../utils/Utils';\nimport { SwcQueryOptions } from '../types';\n\nexport type StyleAction = 'set' | 'update' | 'remove';\n\nexport interface StyleOptions extends SwcQueryOptions {}\n\nexport interface StyleMetadata {\n propertyKey: string | symbol;\n selector: string;\n action: StyleAction;\n options: StyleOptions;\n}\n\nexport const STYLE_METADATA_KEY = Symbol('simple-web-component:style');\n\nfunction createStyleDecorator(action: StyleAction) {\n return (selector: string, options: StyleOptions = {}): MethodDecorator => {\n return (target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const constructor = target.constructor;\n let metaList = ReflectUtils.getOwnMetadata(STYLE_METADATA_KEY, constructor) as Map<string | symbol, StyleMetadata>;\n if (!metaList) {\n metaList = new Map<string | symbol, StyleMetadata>();\n ReflectUtils.defineMetadata(STYLE_METADATA_KEY, metaList, constructor);\n }\n metaList.set(propertyKey, { propertyKey, selector, action, options });\n\n const original = descriptor.value;\n descriptor.value = async function (...args: any[]) {\n ensureInit(this);\n const res = await original.apply(this, args);\n if (res !== undefined) {\n const r = options.root || 'auto';\n const hostSet = SwcUtils.getHostSet(this as any);\n const targetEls: HTMLElement[] = [];\n\n const applyRoot = (t: any) => {\n if (!t || !(t instanceof HTMLElement)) return;\n if (r === 'auto') {\n // Styles belong to the ELEMENT, not the ShadowRoot.\n targetEls.push(t);\n } else {\n if (r === 'light' || r === 'all') targetEls.push(t);\n if ((r === 'shadow' || r === 'all') && t.shadowRoot) {\n // ShadowRoot doesn't have a style property, so we skip it.\n }\n }\n };\n\n if (selector === ':parentHost') applyRoot(hostSet.$parentHost);\n else if (selector === ':appHost') applyRoot(hostSet.$appHost);\n else if (selector === ':firstHost') applyRoot(hostSet.$firstHost);\n else if (selector === ':lastHost') applyRoot(hostSet.$lastHost);\n else if (selector === ':firstAppHost') applyRoot(hostSet.$firstAppHost);\n else if (selector === ':lastAppHost') applyRoot(hostSet.$lastAppHost);\n else if (selector === ':hosts') hostSet.$hosts.forEach(applyRoot);\n else if (selector === ':appHosts') hostSet.$appHosts.forEach(applyRoot);\n else if (selector === ':host' || !selector) applyRoot(this);\n else {\n if (r === 'shadow') {\n const found = this.shadowRoot?.querySelectorAll(selector);\n if (found) targetEls.push(...(Array.from(found) as HTMLElement[]));\n } else if (r === 'light') {\n const found = (this as any).querySelectorAll(selector);\n if (found) targetEls.push(...(Array.from(found) as HTMLElement[]));\n } else if (r === 'all') {\n const sFound = this.shadowRoot?.querySelectorAll(selector);\n const lFound = (this as any).querySelectorAll(selector);\n if (sFound) targetEls.push(...(Array.from(sFound) as HTMLElement[]));\n if (lFound) targetEls.push(...(Array.from(lFound) as HTMLElement[]));\n } else {\n // auto\n const found = (this.shadowRoot || (this as any)).querySelectorAll(selector);\n if (found) targetEls.push(...(Array.from(found) as HTMLElement[]));\n }\n }\n\n targetEls.forEach(targetEl => {\n if (action === 'set') {\n targetEl.style.cssText = '';\n if (typeof res === 'object' && res !== null) {\n Object.assign(targetEl.style, res);\n } else if (typeof res === 'string') {\n targetEl.style.cssText = res;\n }\n } else if (action === 'update') {\n if (typeof res === 'object' && res !== null) {\n Object.assign(targetEl.style, res);\n }\n } else if (action === 'remove') {\n const props = Array.isArray(res) ? res : [res];\n props.forEach(p => targetEl.style.removeProperty(String(p)));\n }\n });\n }\n return res;\n };\n };\n };\n}\n\n/**\n * @setStyle decorator to surgically set styles on a target element (replaces all existing styles).\n * Usage: @setStyle('#box') getStyles() { return { color: 'red', display: 'block' }; }\n * Usage: @setStyle('#box', { root: 'shadow' }) getStyles() { return { color: 'red' }; }\n */\nexport const setStyle = (selector: string, options: StyleOptions = {}) => createStyleDecorator('set')(selector, options);\n\n/**\n * @setStyleHost decorator - simplified version of @setStyle for :host selector.\n * Usage: @setStyleHost setHostStyle() { return { color: 'red' }; }\n * Usage: @setStyleHost() setHostStyle() { return { color: 'red' }; }\n * Usage: @setStyleHost({ ... }) setHostStyle() { return { color: 'red' }; }\n */\nexport function setStyleHost(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): any;\nexport function setStyleHost(): MethodDecorator;\nexport function setStyleHost(options: StyleOptions): MethodDecorator;\nexport function setStyleHost(targetOrOptions?: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): any {\n if (propertyKey !== undefined) {\n const decorator = createStyleDecorator('set')(':host', {});\n return decorator(targetOrOptions, propertyKey, descriptor);\n }\n return createStyleDecorator('set')(':host', (targetOrOptions as StyleOptions) || {});\n}\n\n/**\n * @updateStyle decorator to surgically update styles on a target element (merges with existing styles).\n * Usage: @updateStyle('#box') updateStyles() { return { color: 'blue' }; }\n * Usage: @updateStyle('#box', { root: 'shadow' }) updateStyles() { return { color: 'blue' }; }\n */\nexport const updateStyle = (selector: string, options: StyleOptions = {}) => createStyleDecorator('update')(selector, options);\n\n/**\n * @updateStyleHost decorator - simplified version of @updateStyle for :host selector.\n * Usage: @updateStyleHost updateStyles() { return { color: 'blue' }; }\n * Usage: @updateStyleHost() updateStyles() { return { color: 'blue' }; }\n * Usage: @updateStyleHost({ ... }) updateStyles() { return { color: 'blue' }; }\n */\nexport function updateStyleHost(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): any;\nexport function updateStyleHost(): MethodDecorator;\nexport function updateStyleHost(options: StyleOptions): MethodDecorator;\nexport function updateStyleHost(targetOrOptions?: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): any {\n if (propertyKey !== undefined) {\n const decorator = createStyleDecorator('update')(':host', {});\n return decorator(targetOrOptions, propertyKey, descriptor);\n }\n return createStyleDecorator('update')(':host', (targetOrOptions as StyleOptions) || {});\n}\n\n/**\n * @removeStyle decorator to surgically remove styles from a target element.\n * Usage: @removeStyle('#box') clearStyles() { return ['color', 'display']; }\n * Usage: @removeStyle('#box', { root: 'shadow' }) clearStyles() { return ['color']; }\n */\nexport const removeStyle = (selector: string, options: StyleOptions = {}) => createStyleDecorator('remove')(selector, options);\n\n/**\n * @removeStyleHost decorator - simplified version of @removeStyle for :host selector.\n * Usage: @removeStyleHost clearStyles() { return ['color']; }\n * Usage: @removeStyleHost() clearStyles() { return ['color']; }\n * Usage: @removeStyleHost({ ... }) clearStyles() { return ['color']; }\n */\nexport function removeStyleHost(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): any;\nexport function removeStyleHost(): MethodDecorator;\nexport function removeStyleHost(options: StyleOptions): MethodDecorator;\nexport function removeStyleHost(targetOrOptions?: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): any {\n if (propertyKey !== undefined) {\n const decorator = createStyleDecorator('remove')(':host', {});\n return decorator(targetOrOptions, propertyKey, descriptor);\n }\n return createStyleDecorator('remove')(':host', (targetOrOptions as StyleOptions) || {});\n}\n\nexport const findAllStyleMetadata = (target: any): Map<string | symbol, StyleMetadata> => {\n const result = new Map<string | symbol, StyleMetadata>();\n const maps = ReflectUtils.findAllMetadata<Map<string | symbol, StyleMetadata>>(STYLE_METADATA_KEY, target);\n maps.forEach(map => {\n if (map instanceof Map) {\n map.forEach((v, k) => result.set(k, v));\n }\n });\n return result;\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import { ReflectUtils } from "@dooboostore/core";
|
|
2
|
-
import { ensureInit } from "./elementDefine.js";
|
|
3
|
-
import { SwcUtils } from "../utils/Utils.js";
|
|
4
|
-
const CLASS_LIST_METADATA_KEY = Symbol("simple-web-component:class-list");
|
|
5
|
-
function createClassListDecorator(action) {
|
|
6
|
-
return (selector, options = {}) => {
|
|
7
|
-
return (target, propertyKey, descriptor) => {
|
|
8
|
-
const constructor = target.constructor;
|
|
9
|
-
let metaList = ReflectUtils.getOwnMetadata(CLASS_LIST_METADATA_KEY, constructor);
|
|
10
|
-
if (!metaList) {
|
|
11
|
-
metaList = /* @__PURE__ */ new Map();
|
|
12
|
-
ReflectUtils.defineMetadata(CLASS_LIST_METADATA_KEY, metaList, constructor);
|
|
13
|
-
}
|
|
14
|
-
metaList.set(propertyKey, { propertyKey, selector, action, options });
|
|
15
|
-
const original = descriptor.value;
|
|
16
|
-
descriptor.value = async function(...args) {
|
|
17
|
-
ensureInit(this);
|
|
18
|
-
const res = await original.apply(this, args);
|
|
19
|
-
if (res !== void 0) {
|
|
20
|
-
const r = options.root || "auto";
|
|
21
|
-
const hostSet = SwcUtils.getHostSet(this);
|
|
22
|
-
const targetEls = [];
|
|
23
|
-
const applyRoot = (t) => {
|
|
24
|
-
if (!t || !(t instanceof HTMLElement)) return;
|
|
25
|
-
if (r === "auto") {
|
|
26
|
-
targetEls.push(t);
|
|
27
|
-
} else {
|
|
28
|
-
if (r === "light" || r === "all") targetEls.push(t);
|
|
29
|
-
if ((r === "shadow" || r === "all") && t.shadowRoot) {
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
if (selector === ":parentHost") applyRoot(hostSet.$parentHost);
|
|
34
|
-
else if (selector === ":appHost") applyRoot(hostSet.$appHost);
|
|
35
|
-
else if (selector === ":firstHost") applyRoot(hostSet.$firstHost);
|
|
36
|
-
else if (selector === ":lastHost") applyRoot(hostSet.$lastHost);
|
|
37
|
-
else if (selector === ":firstAppHost") applyRoot(hostSet.$firstAppHost);
|
|
38
|
-
else if (selector === ":lastAppHost") applyRoot(hostSet.$lastAppHost);
|
|
39
|
-
else if (selector === ":hosts") hostSet.$hosts.forEach(applyRoot);
|
|
40
|
-
else if (selector === ":appHosts") hostSet.$appHosts.forEach(applyRoot);
|
|
41
|
-
else if (selector === ":host" || !selector) applyRoot(this);
|
|
42
|
-
else {
|
|
43
|
-
if (r === "shadow") {
|
|
44
|
-
const found = this.shadowRoot?.querySelectorAll(selector);
|
|
45
|
-
if (found) targetEls.push(...Array.from(found));
|
|
46
|
-
} else if (r === "light") {
|
|
47
|
-
const found = this.querySelectorAll(selector);
|
|
48
|
-
if (found) targetEls.push(...Array.from(found));
|
|
49
|
-
} else if (r === "all") {
|
|
50
|
-
const sFound = this.shadowRoot?.querySelectorAll(selector);
|
|
51
|
-
const lFound = this.querySelectorAll(selector);
|
|
52
|
-
if (sFound) targetEls.push(...Array.from(sFound));
|
|
53
|
-
if (lFound) targetEls.push(...Array.from(lFound));
|
|
54
|
-
} else {
|
|
55
|
-
const found = (this.shadowRoot || this).querySelectorAll(selector);
|
|
56
|
-
if (found) targetEls.push(...Array.from(found));
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
targetEls.forEach((targetEl) => {
|
|
60
|
-
if (action === "set") {
|
|
61
|
-
let classes = "";
|
|
62
|
-
if (typeof res === "object" && res !== null && !Array.isArray(res)) {
|
|
63
|
-
classes = Object.entries(res).filter(([_, force]) => !!force).map(([cls]) => cls).join(" ");
|
|
64
|
-
} else {
|
|
65
|
-
classes = Array.isArray(res) ? res.join(" ") : String(res);
|
|
66
|
-
}
|
|
67
|
-
targetEl.className = classes;
|
|
68
|
-
} else if (action === "update") {
|
|
69
|
-
if (typeof res === "object" && res !== null && !Array.isArray(res)) {
|
|
70
|
-
Object.entries(res).forEach(([cls, force]) => {
|
|
71
|
-
targetEl.classList.toggle(cls, !!force);
|
|
72
|
-
});
|
|
73
|
-
} else if (res !== void 0 && res !== null) {
|
|
74
|
-
const classes = Array.isArray(res) ? res.map(String) : [String(res)];
|
|
75
|
-
targetEl.classList.add(...classes);
|
|
76
|
-
}
|
|
77
|
-
} else if (action === "add") {
|
|
78
|
-
const classes = Array.isArray(res) ? res.map(String) : [String(res)];
|
|
79
|
-
targetEl.classList.add(...classes);
|
|
80
|
-
} else if (action === "remove") {
|
|
81
|
-
const classes = Array.isArray(res) ? res.map(String) : [String(res)];
|
|
82
|
-
targetEl.classList.remove(...classes);
|
|
83
|
-
} else if (action === "toggle") {
|
|
84
|
-
const classes = Array.isArray(res) ? res.map(String) : [String(res)];
|
|
85
|
-
classes.forEach((c) => targetEl.classList.toggle(c));
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
return res;
|
|
90
|
-
};
|
|
91
|
-
};
|
|
92
|
-
};
|
|
93
|
-
}
|
|
94
|
-
const setClassList = (selector, options = {}) => createClassListDecorator("set")(selector, options);
|
|
95
|
-
const updateClassList = (selector, options = {}) => createClassListDecorator("update")(selector, options);
|
|
96
|
-
const addClassList = (selector, options = {}) => createClassListDecorator("add")(selector, options);
|
|
97
|
-
const removeClassList = (selector, options = {}) => createClassListDecorator("remove")(selector, options);
|
|
98
|
-
const toggleClassList = (selector, options = {}) => createClassListDecorator("toggle")(selector, options);
|
|
99
|
-
function setClassListHost(targetOrOptions, propertyKey, descriptor) {
|
|
100
|
-
if (propertyKey !== void 0) {
|
|
101
|
-
const decorator = createClassListDecorator("set")(":host", {});
|
|
102
|
-
return decorator(targetOrOptions, propertyKey, descriptor);
|
|
103
|
-
}
|
|
104
|
-
return createClassListDecorator("set")(":host", targetOrOptions || {});
|
|
105
|
-
}
|
|
106
|
-
function updateClassListHost(targetOrOptions, propertyKey, descriptor) {
|
|
107
|
-
if (propertyKey !== void 0) {
|
|
108
|
-
const decorator = createClassListDecorator("update")(":host", {});
|
|
109
|
-
return decorator(targetOrOptions, propertyKey, descriptor);
|
|
110
|
-
}
|
|
111
|
-
return createClassListDecorator("update")(":host", targetOrOptions || {});
|
|
112
|
-
}
|
|
113
|
-
function addClassListHost(targetOrOptions, propertyKey, descriptor) {
|
|
114
|
-
if (propertyKey !== void 0) {
|
|
115
|
-
const decorator = createClassListDecorator("add")(":host", {});
|
|
116
|
-
return decorator(targetOrOptions, propertyKey, descriptor);
|
|
117
|
-
}
|
|
118
|
-
return createClassListDecorator("add")(":host", targetOrOptions || {});
|
|
119
|
-
}
|
|
120
|
-
function removeClassListHost(targetOrOptions, propertyKey, descriptor) {
|
|
121
|
-
if (propertyKey !== void 0) {
|
|
122
|
-
const decorator = createClassListDecorator("remove")(":host", {});
|
|
123
|
-
return decorator(targetOrOptions, propertyKey, descriptor);
|
|
124
|
-
}
|
|
125
|
-
return createClassListDecorator("remove")(":host", targetOrOptions || {});
|
|
126
|
-
}
|
|
127
|
-
function toggleClassListHost(targetOrOptions, propertyKey, descriptor) {
|
|
128
|
-
if (propertyKey !== void 0) {
|
|
129
|
-
const decorator = createClassListDecorator("toggle")(":host", {});
|
|
130
|
-
return decorator(targetOrOptions, propertyKey, descriptor);
|
|
131
|
-
}
|
|
132
|
-
return createClassListDecorator("toggle")(":host", targetOrOptions || {});
|
|
133
|
-
}
|
|
134
|
-
const findAllClassListMetadata = (target) => {
|
|
135
|
-
const result = /* @__PURE__ */ new Map();
|
|
136
|
-
const maps = ReflectUtils.findAllMetadata(CLASS_LIST_METADATA_KEY, target);
|
|
137
|
-
maps.forEach((map) => {
|
|
138
|
-
if (map instanceof Map) {
|
|
139
|
-
map.forEach((v, k) => result.set(k, v));
|
|
140
|
-
}
|
|
141
|
-
});
|
|
142
|
-
return result;
|
|
143
|
-
};
|
|
144
|
-
export {
|
|
145
|
-
CLASS_LIST_METADATA_KEY,
|
|
146
|
-
addClassList,
|
|
147
|
-
addClassListHost,
|
|
148
|
-
findAllClassListMetadata,
|
|
149
|
-
removeClassList,
|
|
150
|
-
removeClassListHost,
|
|
151
|
-
setClassList,
|
|
152
|
-
setClassListHost,
|
|
153
|
-
toggleClassList,
|
|
154
|
-
toggleClassListHost,
|
|
155
|
-
updateClassList,
|
|
156
|
-
updateClassListHost
|
|
157
|
-
};
|
|
158
|
-
//# sourceMappingURL=classList.js.map
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../../src/decorators/classList.ts"],
|
|
4
|
-
"sourcesContent": ["import { ReflectUtils } from '@dooboostore/core';\nimport { ensureInit } from './elementDefine';\nimport { SwcUtils } from '../utils/Utils';\nimport { SwcQueryOptions } from '../types';\n\nexport const CLASS_LIST_METADATA_KEY = Symbol('simple-web-component:class-list');\n\nexport type ClassListAction = 'set' | 'update' | 'add' | 'remove' | 'toggle';\n\nexport interface ClassListMetadata {\n propertyKey: string | symbol;\n selector: string;\n action: ClassListAction;\n options: SwcQueryOptions;\n}\n\nfunction createClassListDecorator(action: ClassListAction) {\n return (selector: string, options: SwcQueryOptions = {}): MethodDecorator => {\n return (target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor) => {\n const constructor = target.constructor;\n let metaList = ReflectUtils.getOwnMetadata(CLASS_LIST_METADATA_KEY, constructor) as Map<string | symbol, ClassListMetadata>;\n if (!metaList) {\n metaList = new Map<string | symbol, ClassListMetadata>();\n ReflectUtils.defineMetadata(CLASS_LIST_METADATA_KEY, metaList, constructor);\n }\n metaList.set(propertyKey, { propertyKey, selector, action, options });\n\n const original = descriptor.value;\n descriptor.value = async function (...args: any[]) {\n ensureInit(this);\n const res = await original.apply(this, args);\n if (res !== undefined) {\n const r = options.root || 'auto';\n const hostSet = SwcUtils.getHostSet(this as any);\n const targetEls: HTMLElement[] = [];\n\n const applyRoot = (t: any) => {\n if (!t || !(t instanceof HTMLElement)) return;\n if (r === 'auto') {\n // Classes belong to the ELEMENT, not the ShadowRoot.\n targetEls.push(t);\n } else {\n if (r === 'light' || r === 'all') targetEls.push(t);\n if ((r === 'shadow' || r === 'all') && t.shadowRoot) {\n // Technically ShadowRoot doesn't have classList, but user might have specified it.\n // We'll skip adding shadowRoot to targetEls for class operations.\n }\n }\n };\n\n if (selector === ':parentHost') applyRoot(hostSet.$parentHost);\n else if (selector === ':appHost') applyRoot(hostSet.$appHost);\n else if (selector === ':firstHost') applyRoot(hostSet.$firstHost);\n else if (selector === ':lastHost') applyRoot(hostSet.$lastHost);\n else if (selector === ':firstAppHost') applyRoot(hostSet.$firstAppHost);\n else if (selector === ':lastAppHost') applyRoot(hostSet.$lastAppHost);\n else if (selector === ':hosts') hostSet.$hosts.forEach(applyRoot);\n else if (selector === ':appHosts') hostSet.$appHosts.forEach(applyRoot);\n else if (selector === ':host' || !selector) applyRoot(this);\n else {\n if (r === 'shadow') {\n const found = this.shadowRoot?.querySelectorAll(selector);\n if (found) targetEls.push(...(Array.from(found) as HTMLElement[]));\n } else if (r === 'light') {\n const found = (this as any).querySelectorAll(selector);\n if (found) targetEls.push(...(Array.from(found) as HTMLElement[]));\n } else if (r === 'all') {\n const sFound = this.shadowRoot?.querySelectorAll(selector);\n const lFound = (this as any).querySelectorAll(selector);\n if (sFound) targetEls.push(...(Array.from(sFound) as HTMLElement[]));\n if (lFound) targetEls.push(...(Array.from(lFound) as HTMLElement[]));\n } else {\n // auto\n const found = (this.shadowRoot || (this as any)).querySelectorAll(selector);\n if (found) targetEls.push(...(Array.from(found) as HTMLElement[]));\n }\n }\n\n targetEls.forEach(targetEl => {\n if (action === 'set') {\n let classes = '';\n if (typeof res === 'object' && res !== null && !Array.isArray(res)) {\n classes = Object.entries(res)\n .filter(([_, force]) => !!force)\n .map(([cls]) => cls)\n .join(' ');\n } else {\n classes = Array.isArray(res) ? res.join(' ') : String(res);\n }\n targetEl.className = classes;\n } else if (action === 'update') {\n if (typeof res === 'object' && res !== null && !Array.isArray(res)) {\n Object.entries(res).forEach(([cls, force]) => {\n targetEl.classList.toggle(cls, !!force);\n });\n } else if (res !== undefined && res !== null) {\n const classes = Array.isArray(res) ? res.map(String) : [String(res)];\n targetEl.classList.add(...classes);\n }\n } else if (action === 'add') {\n const classes = Array.isArray(res) ? res.map(String) : [String(res)];\n targetEl.classList.add(...classes);\n } else if (action === 'remove') {\n const classes = Array.isArray(res) ? res.map(String) : [String(res)];\n targetEl.classList.remove(...classes);\n } else if (action === 'toggle') {\n const classes = Array.isArray(res) ? res.map(String) : [String(res)];\n classes.forEach(c => targetEl.classList.toggle(c));\n }\n });\n }\n return res;\n };\n };\n };\n}\n\n/**\n * @setClassList decorator to surgically replace all classes on a target element.\n * Returns: string | string[]\n */\nexport const setClassList = (selector: string, options: SwcQueryOptions = {}) => createClassListDecorator('set')(selector, options);\n\n/**\n * @updateClassList decorator to surgically update specific classes.\n * Returns: Record<string, boolean> (toggle with force) | string | string[] (add)\n */\nexport const updateClassList = (selector: string, options: SwcQueryOptions = {}) => createClassListDecorator('update')(selector, options);\n\n/**\n * @addClassList decorator to surgically add classes to a target element.\n * Returns: string | string[]\n */\nexport const addClassList = (selector: string, options: SwcQueryOptions = {}) => createClassListDecorator('add')(selector, options);\n\n/**\n * @removeClassList decorator to surgically remove classes from a target element.\n * Returns: string | string[]\n */\nexport const removeClassList = (selector: string, options: SwcQueryOptions = {}) => createClassListDecorator('remove')(selector, options);\n\n/**\n * @toggleClassList decorator to surgically toggle classes on a target element.\n * Returns: string | string[]\n */\nexport const toggleClassList = (selector: string, options: SwcQueryOptions = {}) => createClassListDecorator('toggle')(selector, options);\n\n// Host-specific versions (for :host selector)\n\n/**\n * @setClassListHost decorator to set classes on :host element.\n * Returns: string | string[]\n */\nexport function setClassListHost(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): any;\nexport function setClassListHost(): MethodDecorator;\nexport function setClassListHost(options: SwcQueryOptions): MethodDecorator;\nexport function setClassListHost(targetOrOptions?: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): any {\n if (propertyKey !== undefined) {\n const decorator = createClassListDecorator('set')(':host', {});\n return decorator(targetOrOptions, propertyKey, descriptor);\n }\n return createClassListDecorator('set')(':host', (targetOrOptions as SwcQueryOptions) || {});\n}\n\n/**\n * @updateClassListHost decorator to update specific classes on :host.\n * Returns: Record<string, boolean> (toggle with force) | string | string[] (add)\n */\nexport function updateClassListHost(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): any;\nexport function updateClassListHost(): MethodDecorator;\nexport function updateClassListHost(options: SwcQueryOptions): MethodDecorator;\nexport function updateClassListHost(targetOrOptions?: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): any {\n if (propertyKey !== undefined) {\n const decorator = createClassListDecorator('update')(':host', {});\n return decorator(targetOrOptions, propertyKey, descriptor);\n }\n return createClassListDecorator('update')(':host', (targetOrOptions as SwcQueryOptions) || {});\n}\n\n/**\n * @addClassListHost decorator to add classes to :host element.\n * Returns: string | string[]\n */\nexport function addClassListHost(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): any;\nexport function addClassListHost(): MethodDecorator;\nexport function addClassListHost(options: SwcQueryOptions): MethodDecorator;\nexport function addClassListHost(targetOrOptions?: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): any {\n if (propertyKey !== undefined) {\n const decorator = createClassListDecorator('add')(':host', {});\n return decorator(targetOrOptions, propertyKey, descriptor);\n }\n return createClassListDecorator('add')(':host', (targetOrOptions as SwcQueryOptions) || {});\n}\n\n/**\n * @removeClassListHost decorator to remove classes from :host element.\n * Returns: string | string[]\n */\nexport function removeClassListHost(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): any;\nexport function removeClassListHost(): MethodDecorator;\nexport function removeClassListHost(options: SwcQueryOptions): MethodDecorator;\nexport function removeClassListHost(targetOrOptions?: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): any {\n if (propertyKey !== undefined) {\n const decorator = createClassListDecorator('remove')(':host', {});\n return decorator(targetOrOptions, propertyKey, descriptor);\n }\n return createClassListDecorator('remove')(':host', (targetOrOptions as SwcQueryOptions) || {});\n}\n\n/**\n * @toggleClassListHost decorator to toggle classes on :host element.\n * Returns: string | string[]\n */\nexport function toggleClassListHost(target: Object, propertyKey: string | symbol, descriptor: PropertyDescriptor): any;\nexport function toggleClassListHost(): MethodDecorator;\nexport function toggleClassListHost(options: SwcQueryOptions): MethodDecorator;\nexport function toggleClassListHost(targetOrOptions?: any, propertyKey?: string | symbol, descriptor?: PropertyDescriptor): any {\n if (propertyKey !== undefined) {\n const decorator = createClassListDecorator('toggle')(':host', {});\n return decorator(targetOrOptions, propertyKey, descriptor);\n }\n return createClassListDecorator('toggle')(':host', (targetOrOptions as SwcQueryOptions) || {});\n}\n\nexport const findAllClassListMetadata = (target: any): Map<string | symbol, ClassListMetadata> => {\n const result = new Map<string | symbol, ClassListMetadata>();\n const maps = ReflectUtils.findAllMetadata<Map<string | symbol, ClassListMetadata>>(CLASS_LIST_METADATA_KEY, target);\n maps.forEach(map => {\n if (map instanceof Map) {\n map.forEach((v, k) => result.set(k, v));\n }\n });\n return result;\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": []
|
|
7
|
-
}
|