@dooboostore/simple-web-component 1.0.29 → 1.0.31
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 +651 -27
- package/dist/cjs/decorators/elementDefine.js +5 -3
- package/dist/cjs/decorators/elementDefine.js.map +2 -2
- package/dist/cjs/decorators/emitCustomEvent.js.map +2 -2
- package/dist/cjs/decorators/index.js +1 -0
- package/dist/cjs/decorators/index.js.map +2 -2
- package/dist/cjs/decorators/setProperty.js +97 -0
- package/dist/cjs/decorators/setProperty.js.map +7 -0
- package/dist/cjs/elements/SwcAppEngine.js +3 -3
- package/dist/cjs/elements/SwcAppEngine.js.map +2 -2
- package/dist/cjs/elements/SwcAppMixin.js +1 -8
- package/dist/cjs/elements/SwcAppMixin.js.map +2 -2
- package/dist/cjs/elements/SwcAsync.js +37 -53
- package/dist/cjs/elements/SwcAsync.js.map +2 -2
- package/dist/cjs/elements/SwcChoose.js +55 -60
- package/dist/cjs/elements/SwcChoose.js.map +2 -2
- package/dist/cjs/elements/SwcIf.js +31 -60
- package/dist/cjs/elements/SwcIf.js.map +2 -2
- package/dist/cjs/elements/SwcLoop.js +20 -43
- package/dist/cjs/elements/SwcLoop.js.map +2 -2
- package/dist/cjs/elements/SwcSubTemplates.js +0 -27
- package/dist/cjs/elements/SwcSubTemplates.js.map +2 -2
- package/dist/cjs/elements/register.js +216 -128
- package/dist/cjs/elements/register.js.map +2 -2
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/router/ElementRouter.js +1 -8
- package/dist/cjs/router/ElementRouter.js.map +2 -2
- package/dist/cjs/types.js.map +1 -1
- package/dist/cjs/utils/Utils.js +26 -10
- package/dist/cjs/utils/Utils.js.map +2 -2
- package/dist/esm/decorators/elementDefine.js +5 -3
- package/dist/esm/decorators/elementDefine.js.map +2 -2
- package/dist/esm/decorators/emitCustomEvent.js.map +2 -2
- package/dist/esm/decorators/index.js +1 -0
- package/dist/esm/decorators/index.js.map +2 -2
- package/dist/esm/decorators/setProperty.js +78 -0
- package/dist/esm/decorators/setProperty.js.map +7 -0
- package/dist/esm/elements/SwcAppEngine.js +3 -3
- package/dist/esm/elements/SwcAppEngine.js.map +2 -2
- package/dist/esm/elements/SwcAppMixin.js +1 -8
- package/dist/esm/elements/SwcAppMixin.js.map +2 -2
- package/dist/esm/elements/SwcAsync.js +37 -34
- package/dist/esm/elements/SwcAsync.js.map +2 -2
- package/dist/esm/elements/SwcChoose.js +55 -41
- package/dist/esm/elements/SwcChoose.js.map +2 -2
- package/dist/esm/elements/SwcIf.js +31 -41
- package/dist/esm/elements/SwcIf.js.map +2 -2
- package/dist/esm/elements/SwcLoop.js +20 -24
- package/dist/esm/elements/SwcLoop.js.map +2 -2
- package/dist/esm/elements/SwcSubTemplates.js +0 -8
- package/dist/esm/elements/SwcSubTemplates.js.map +2 -2
- package/dist/esm/elements/register.js +216 -128
- package/dist/esm/elements/register.js.map +2 -2
- package/dist/esm/index.js +2 -1
- package/dist/esm/index.js.map +2 -2
- package/dist/esm/router/ElementRouter.js +1 -8
- package/dist/esm/router/ElementRouter.js.map +2 -2
- package/dist/esm/types.js.map +1 -1
- package/dist/esm/utils/Utils.js +26 -10
- package/dist/esm/utils/Utils.js.map +2 -2
- package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +105 -13
- package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
- package/dist/types/decorators/elementDefine.d.ts.map +1 -1
- package/dist/types/decorators/emitCustomEvent.d.ts.map +1 -1
- package/dist/types/decorators/index.d.ts +1 -0
- package/dist/types/decorators/index.d.ts.map +1 -1
- package/dist/types/decorators/setProperty.d.ts +13 -0
- package/dist/types/decorators/setProperty.d.ts.map +1 -0
- package/dist/types/elements/SwcAppMixin.d.ts.map +1 -1
- package/dist/types/elements/SwcAsync.d.ts +1 -11
- package/dist/types/elements/SwcAsync.d.ts.map +1 -1
- package/dist/types/elements/SwcChoose.d.ts +1 -13
- package/dist/types/elements/SwcChoose.d.ts.map +1 -1
- package/dist/types/elements/SwcIf.d.ts +1 -13
- package/dist/types/elements/SwcIf.d.ts.map +1 -1
- package/dist/types/elements/SwcLoop.d.ts +1 -13
- package/dist/types/elements/SwcLoop.d.ts.map +1 -1
- package/dist/types/elements/SwcSubTemplates.d.ts +6 -6
- package/dist/types/elements/SwcSubTemplates.d.ts.map +1 -1
- package/dist/types/elements/register.d.ts +3 -1
- package/dist/types/elements/register.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/router/ElementRouter.d.ts.map +1 -1
- package/dist/types/types.d.ts +3 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils/Utils.d.ts +10 -0
- package/dist/types/utils/Utils.d.ts.map +1 -1
- package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +105 -13
- package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
- package/package.json +3 -3
- package/src/decorators/elementDefine.ts +10 -3
- package/src/decorators/emitCustomEvent.ts +1 -0
- package/src/decorators/index.ts +1 -0
- package/src/decorators/setProperty.ts +97 -0
- package/src/elements/SwcAppEngine.ts +3 -3
- package/src/elements/SwcAppMixin.ts +7 -28
- package/src/elements/SwcAsync.ts +46 -30
- package/src/elements/SwcChoose.ts +82 -38
- package/src/elements/SwcIf.ts +38 -38
- package/src/elements/SwcLoop.ts +24 -19
- package/src/elements/SwcSubTemplates.ts +6 -6
- package/src/elements/register.ts +261 -121
- package/src/index.ts +3 -1
- package/src/router/ElementRouter.ts +1 -12
- package/src/types.ts +3 -1
- package/src/utils/Utils.ts +40 -19
|
@@ -6788,6 +6788,77 @@ var findAllAttributeApplyMetadata = (target) => {
|
|
|
6788
6788
|
return result;
|
|
6789
6789
|
};
|
|
6790
6790
|
|
|
6791
|
+
// src/decorators/setProperty.ts
|
|
6792
|
+
var PROPERTY_SET_METADATA_KEY = Symbol.for("simple-web-component:property-set");
|
|
6793
|
+
var setProperty = (selector, propertyNameOrOptions, options = {}) => {
|
|
6794
|
+
return (target, propertyKey, descriptor) => {
|
|
6795
|
+
const constructor = target.constructor;
|
|
6796
|
+
let metaList = ReflectUtils.getOwnMetadata(PROPERTY_SET_METADATA_KEY, constructor);
|
|
6797
|
+
if (!metaList) {
|
|
6798
|
+
metaList = /* @__PURE__ */ new Map();
|
|
6799
|
+
ReflectUtils.defineMetadata(PROPERTY_SET_METADATA_KEY, metaList, constructor);
|
|
6800
|
+
}
|
|
6801
|
+
let propertyName = typeof propertyNameOrOptions === "string" ? propertyNameOrOptions : void 0;
|
|
6802
|
+
let finalOptions = options;
|
|
6803
|
+
if (typeof propertyNameOrOptions === "object" && propertyNameOrOptions !== null) {
|
|
6804
|
+
finalOptions = propertyNameOrOptions;
|
|
6805
|
+
}
|
|
6806
|
+
metaList.set(propertyKey, {
|
|
6807
|
+
propertyKey,
|
|
6808
|
+
selector,
|
|
6809
|
+
options: { ...finalOptions, name: propertyName }
|
|
6810
|
+
});
|
|
6811
|
+
const original = descriptor.value;
|
|
6812
|
+
descriptor.value = async function(...args) {
|
|
6813
|
+
ensureInit2(this);
|
|
6814
|
+
const res = await original.apply(this, args);
|
|
6815
|
+
if (res !== void 0) {
|
|
6816
|
+
const win = this.ownerDocument?.defaultView || window;
|
|
6817
|
+
const host2 = this;
|
|
6818
|
+
const hostSet = { ...SwcUtils.getHelperAndHostSet(win, host2), $this: this };
|
|
6819
|
+
const r = finalOptions.root || "auto";
|
|
6820
|
+
const targetEls = [];
|
|
6821
|
+
const applyRoot = (t) => {
|
|
6822
|
+
if (!t || !(t instanceof win.HTMLElement)) return;
|
|
6823
|
+
targetEls.push(t);
|
|
6824
|
+
};
|
|
6825
|
+
if (selector === ":parentHost") applyRoot(hostSet.$parentHost);
|
|
6826
|
+
else if (selector === ":appHost") applyRoot(hostSet.$appHost);
|
|
6827
|
+
else if (selector === ":firstHost") applyRoot(hostSet.$firstHost);
|
|
6828
|
+
else if (selector === ":lastHost") applyRoot(hostSet.$lastHost);
|
|
6829
|
+
else if (selector === ":firstAppHost") applyRoot(hostSet.$firstAppHost);
|
|
6830
|
+
else if (selector === ":lastAppHost") applyRoot(hostSet.$lastAppHost);
|
|
6831
|
+
else if (selector === ":hosts") hostSet.$hosts.forEach(applyRoot);
|
|
6832
|
+
else if (selector === ":appHosts") hostSet.$appHosts.forEach(applyRoot);
|
|
6833
|
+
else if (selector === ":host" || !selector) applyRoot(host2);
|
|
6834
|
+
else {
|
|
6835
|
+
const targetRoot = r === "auto" ? host2.shadowRoot || host2 : r === "shadow" ? host2.shadowRoot : host2;
|
|
6836
|
+
if (targetRoot) {
|
|
6837
|
+
const found = targetRoot.querySelectorAll(selector);
|
|
6838
|
+
if (found) targetEls.push(...Array.from(found));
|
|
6839
|
+
}
|
|
6840
|
+
}
|
|
6841
|
+
targetEls.forEach((targetEl) => {
|
|
6842
|
+
const resolvedRes = typeof res === "function" ? res(targetEl, hostSet) : res;
|
|
6843
|
+
if (propertyName) {
|
|
6844
|
+
targetEl[propertyName] = resolvedRes;
|
|
6845
|
+
} else if (typeof resolvedRes === "object" && resolvedRes !== null && !Array.isArray(resolvedRes)) {
|
|
6846
|
+
Object.entries(resolvedRes).forEach(([prop, val]) => {
|
|
6847
|
+
const finalVal = typeof val === "function" ? val(targetEl, hostSet) : val;
|
|
6848
|
+
targetEl[prop] = finalVal;
|
|
6849
|
+
});
|
|
6850
|
+
} else {
|
|
6851
|
+
targetEl.value = resolvedRes;
|
|
6852
|
+
}
|
|
6853
|
+
});
|
|
6854
|
+
}
|
|
6855
|
+
};
|
|
6856
|
+
};
|
|
6857
|
+
};
|
|
6858
|
+
var setPropertyHost = (propertyNameOrOptions, options = {}) => {
|
|
6859
|
+
return setProperty(":host", propertyNameOrOptions, options);
|
|
6860
|
+
};
|
|
6861
|
+
|
|
6791
6862
|
// src/decorators/subscribeSwcAppRouteChange.ts
|
|
6792
6863
|
var SUBSCRIBE_SWC_APP_ROUTE_CHANGE_METADATA_KEY = Symbol.for("simple-web-component:subscribe-swc-app-route-change");
|
|
6793
6864
|
function createSwcAppRouteChangeSubscriber(options) {
|
|
@@ -6952,6 +7023,23 @@ var htmlArticleElement = (options) => {
|
|
|
6952
7023
|
};
|
|
6953
7024
|
var SwcUtils;
|
|
6954
7025
|
((SwcUtils2) => {
|
|
7026
|
+
SwcUtils2.parsePathPatternsSetAttributeString = (pathPattern, path) => {
|
|
7027
|
+
return JSON.stringify(SwcUtils2.parsePathPatternsSet(pathPattern, path)).replace(/"/g, "'");
|
|
7028
|
+
};
|
|
7029
|
+
SwcUtils2.parsePathPatternsSet = (pathPattern, path) => {
|
|
7030
|
+
return {
|
|
7031
|
+
path,
|
|
7032
|
+
pathData: SwcUtils2.parsePathPatterns(pathPattern, path)
|
|
7033
|
+
};
|
|
7034
|
+
};
|
|
7035
|
+
SwcUtils2.parsePathPatterns = (pathPattern, path) => {
|
|
7036
|
+
for (const pattern of pathPattern) {
|
|
7037
|
+
const data = SwcUtils2.parsePathPattern(pattern, path || "/");
|
|
7038
|
+
if (data !== null) {
|
|
7039
|
+
return data;
|
|
7040
|
+
}
|
|
7041
|
+
}
|
|
7042
|
+
};
|
|
6955
7043
|
SwcUtils2.getHelperSet = (win) => {
|
|
6956
7044
|
const doc = win.document;
|
|
6957
7045
|
return {
|
|
@@ -7025,22 +7113,21 @@ var SwcUtils;
|
|
|
7025
7113
|
};
|
|
7026
7114
|
SwcUtils2.findAllParentAppHostsDirect = (el) => {
|
|
7027
7115
|
const appHosts = [];
|
|
7028
|
-
let current =
|
|
7029
|
-
const rootNode = el.getRootNode();
|
|
7030
|
-
if (rootNode instanceof ShadowRoot) {
|
|
7031
|
-
current = rootNode.host;
|
|
7032
|
-
} else {
|
|
7033
|
-
current = el.parentElement;
|
|
7034
|
-
}
|
|
7116
|
+
let current = el;
|
|
7035
7117
|
while (current) {
|
|
7036
7118
|
const isAppHost = current.tagName.toLowerCase() === "swc-app" || current.getAttribute("is")?.startsWith("swc-app-");
|
|
7037
7119
|
if (isAppHost) {
|
|
7038
7120
|
appHosts.push(current);
|
|
7039
7121
|
}
|
|
7040
|
-
if (current.
|
|
7041
|
-
current = current.shadowRoot.host.parentElement;
|
|
7042
|
-
} else {
|
|
7122
|
+
if (current.parentElement) {
|
|
7043
7123
|
current = current.parentElement;
|
|
7124
|
+
} else {
|
|
7125
|
+
const root = current.getRootNode();
|
|
7126
|
+
if (root instanceof ShadowRoot) {
|
|
7127
|
+
current = root.host;
|
|
7128
|
+
} else {
|
|
7129
|
+
break;
|
|
7130
|
+
}
|
|
7044
7131
|
}
|
|
7045
7132
|
}
|
|
7046
7133
|
return appHosts.reverse();
|
|
@@ -7316,6 +7403,7 @@ var ensureInit2 = (inst) => {
|
|
|
7316
7403
|
});
|
|
7317
7404
|
}
|
|
7318
7405
|
const hostSet = SwcUtils.getHostSet(inst);
|
|
7406
|
+
const appHosts = SwcUtils.findAllParentAppHostsDirect(inst);
|
|
7319
7407
|
inst._executeSwcScript?.("swc-on-constructor", hostSet);
|
|
7320
7408
|
const cMethods = findAllLifecycleMetadata(inst, ON_INITIALIZE_METADATA_KEY);
|
|
7321
7409
|
if (cMethods) {
|
|
@@ -7388,12 +7476,12 @@ var setupPrototype = (proto) => {
|
|
|
7388
7476
|
ensureInit2(this);
|
|
7389
7477
|
if (typeof this[methodName] !== "function") return;
|
|
7390
7478
|
const useHostSet = hostSet ?? SwcUtils.getHostSet(this);
|
|
7391
|
-
const app = useHostSet?.$appHost
|
|
7479
|
+
const app = useHostSet?.$appHost?.simpleApplication;
|
|
7392
7480
|
if (app) {
|
|
7393
7481
|
const otherStorage = /* @__PURE__ */ new Map();
|
|
7394
7482
|
const situations = new SituationTypeContainers([new SituationTypeContainer({ situationType: "SIMPLE_WEB_COMPONENT://HOSTSET" /* HOST_SET */, data: useHostSet }), new SituationTypeContainer({ situationType: "SIMPLE_WEB_COMPONENT://APPHOST" /* APP_HOST */, data: useHostSet.$appHost }), new SituationTypeContainer({ situationType: "SIMPLE_WEB_COMPONENT://APPHOSTS" /* APP_HOSTS */, data: useHostSet.$appHosts }), new SituationTypeContainer({ situationType: "SIMPLE_WEB_COMPONENT://HOST" /* HOST */, data: useHostSet.$host }), new SituationTypeContainer({ situationType: "SIMPLE_WEB_COMPONENT://HOSTS" /* HOSTS */, data: useHostSet.$hosts }), new SituationTypeContainer({ situationType: "SIMPLE_WEB_COMPONENT://FIRSTHOST" /* FIRST_HOST */, data: useHostSet.$firstHost }), new SituationTypeContainer({ situationType: "SIMPLE_WEB_COMPONENT://LASTHOST" /* LAST_HOST */, data: useHostSet.$lastHost }), new SituationTypeContainer({ situationType: "SIMPLE_WEB_COMPONENT://FIRSTAPPHOST" /* FIRST_APP_HOST */, data: useHostSet.$firstAppHost }), new SituationTypeContainer({ situationType: "SIMPLE_WEB_COMPONENT://LASTAPPHOST" /* LAST_APP_HOST */, data: useHostSet.$lastAppHost })]);
|
|
7395
7483
|
otherStorage.set(SituationTypeContainers, situations);
|
|
7396
|
-
return app.simstanceManager.
|
|
7484
|
+
return app.simstanceManager.executeBindParameterSim(
|
|
7397
7485
|
{
|
|
7398
7486
|
target: this,
|
|
7399
7487
|
targetKey: methodName,
|
|
@@ -7516,7 +7604,7 @@ var elementDefine = (name, config = {}) => (constructor) => {
|
|
|
7516
7604
|
if (connectedInnerHtmlList.length > 0) {
|
|
7517
7605
|
let sContent = "", lContent = "";
|
|
7518
7606
|
for (const meta of connectedInnerHtmlList) {
|
|
7519
|
-
const res = this
|
|
7607
|
+
const res = this._invokeLifecycleMethod(meta.propertyKey, hostSet);
|
|
7520
7608
|
if (res !== void 0) {
|
|
7521
7609
|
if (meta.options.useShadow) sContent += res;
|
|
7522
7610
|
else lContent += res;
|
|
@@ -7660,6 +7748,7 @@ var elementDefine = (name, config = {}) => (constructor) => {
|
|
|
7660
7748
|
this._executeSwcScript("swc-on-connected", hostSet);
|
|
7661
7749
|
this._executeSwcScript("swc-on-after-connected", hostSet);
|
|
7662
7750
|
this.__swc_connected = true;
|
|
7751
|
+
const appHostss = SwcUtils.findAllParentAppHostsDirect(this);
|
|
7663
7752
|
if (appHost2 && typeof appHost2._connected === "function") {
|
|
7664
7753
|
appHost2._connected(this);
|
|
7665
7754
|
} else if (appHost2 && typeof appHost2) {
|
|
@@ -8559,6 +8648,7 @@ export {
|
|
|
8559
8648
|
ON_BEFORE_DISCONNECTED_METADATA_KEY,
|
|
8560
8649
|
ON_CONNECTED_SWC_APP_METADATA_KEY,
|
|
8561
8650
|
ON_INITIALIZE_METADATA_KEY,
|
|
8651
|
+
PROPERTY_SET_METADATA_KEY,
|
|
8562
8652
|
QUERY_ALL_METADATA_KEY,
|
|
8563
8653
|
QUERY_METADATA_KEY,
|
|
8564
8654
|
STYLE_METADATA_KEY,
|
|
@@ -8659,6 +8749,8 @@ export {
|
|
|
8659
8749
|
setAttributeHost,
|
|
8660
8750
|
setClass,
|
|
8661
8751
|
setClassHost,
|
|
8752
|
+
setProperty,
|
|
8753
|
+
setPropertyHost,
|
|
8662
8754
|
setStyle,
|
|
8663
8755
|
setStyleHost,
|
|
8664
8756
|
subscribeSwcAppRouteChange,
|