@dooboostore/simple-web-component 1.0.28 → 1.0.30
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 +437 -25
- package/dist/cjs/decorators/attribute.js +2 -1
- package/dist/cjs/decorators/attribute.js.map +2 -2
- package/dist/cjs/decorators/elementDefine.js +8 -2
- 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/lifecycles.js +4 -0
- package/dist/cjs/decorators/lifecycles.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 +44 -6
- package/dist/cjs/elements/SwcAppMixin.js.map +3 -3
- package/dist/cjs/elements/SwcAsync.js +4 -1
- package/dist/cjs/elements/SwcAsync.js.map +2 -2
- package/dist/cjs/elements/SwcChoose.js +54 -38
- package/dist/cjs/elements/SwcChoose.js.map +2 -2
- package/dist/cjs/elements/register.js +131 -39
- 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/types.js.map +1 -1
- package/dist/cjs/utils/Utils.js +30 -1
- package/dist/cjs/utils/Utils.js.map +2 -2
- package/dist/esm/decorators/attribute.js +2 -1
- package/dist/esm/decorators/attribute.js.map +2 -2
- package/dist/esm/decorators/elementDefine.js +8 -2
- 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/lifecycles.js +4 -0
- package/dist/esm/decorators/lifecycles.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 +44 -6
- package/dist/esm/elements/SwcAppMixin.js.map +3 -3
- package/dist/esm/elements/SwcAsync.js +4 -1
- package/dist/esm/elements/SwcAsync.js.map +2 -2
- package/dist/esm/elements/SwcChoose.js +54 -38
- package/dist/esm/elements/SwcChoose.js.map +2 -2
- package/dist/esm/elements/register.js +131 -39
- 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/types.js.map +1 -1
- package/dist/esm/utils/Utils.js +30 -1
- package/dist/esm/utils/Utils.js.map +2 -2
- package/dist/esm-bundle/dooboostore-simple-web-component.esm.js +118 -4
- package/dist/esm-bundle/dooboostore-simple-web-component.esm.js.map +4 -4
- package/dist/types/decorators/attribute.d.ts.map +1 -1
- 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/lifecycles.d.ts +2 -0
- package/dist/types/decorators/lifecycles.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 +7 -2
- package/dist/types/elements/SwcAppMixin.d.ts.map +1 -1
- package/dist/types/elements/SwcAsync.d.ts.map +1 -1
- package/dist/types/elements/SwcChoose.d.ts +1 -1
- package/dist/types/elements/SwcChoose.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/types.d.ts +3 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils/Utils.d.ts +13 -0
- package/dist/types/utils/Utils.d.ts.map +1 -1
- package/dist/umd-bundle/dooboostore-simple-web-component.umd.js +118 -4
- package/dist/umd-bundle/dooboostore-simple-web-component.umd.js.map +4 -4
- package/package.json +4 -4
- package/src/decorators/attribute.ts +6 -1
- package/src/decorators/elementDefine.ts +12 -4
- package/src/decorators/emitCustomEvent.ts +1 -0
- package/src/decorators/index.ts +1 -0
- package/src/decorators/lifecycles.ts +3 -0
- package/src/decorators/setProperty.ts +97 -0
- package/src/elements/SwcAppEngine.ts +3 -3
- package/src/elements/SwcAppMixin.ts +77 -14
- package/src/elements/SwcAsync.ts +5 -1
- package/src/elements/SwcChoose.ts +76 -37
- package/src/elements/register.ts +158 -39
- package/src/index.ts +3 -1
- package/src/types.ts +3 -0
- package/src/utils/Utils.ts +55 -1
|
@@ -5759,6 +5759,7 @@ var ON_AFTER_DISCONNECTED_METADATA_KEY = Symbol.for("simple-web-component:on-aft
|
|
|
5759
5759
|
var ON_BEFORE_ADOPTED_METADATA_KEY = Symbol.for("simple-web-component:on-before-adopted");
|
|
5760
5760
|
var ON_AFTER_ADOPTED_METADATA_KEY = Symbol.for("simple-web-component:on-after-adopted");
|
|
5761
5761
|
var ON_ADD_EVENT_LISTENER_METADATA_KEY = Symbol.for("simple-web-component:on-add-event-listener");
|
|
5762
|
+
var ON_CONNECTED_SWC_APP_METADATA_KEY = Symbol.for("simple-web-component:on-connected-swc-app");
|
|
5762
5763
|
var INNER_HTML_METADATA_KEY = Symbol.for("simple-web-component:inner-html");
|
|
5763
5764
|
var ATTRIBUTE_CHANGED_WILDCARD = "*";
|
|
5764
5765
|
function createLifecycleDecorator(metadataKey) {
|
|
@@ -5783,6 +5784,7 @@ var onBeforeAdopted = createLifecycleDecorator(ON_BEFORE_ADOPTED_METADATA_KEY);
|
|
|
5783
5784
|
var onAfterAdopted = createLifecycleDecorator(ON_AFTER_ADOPTED_METADATA_KEY);
|
|
5784
5785
|
var onAdopted = onAfterAdopted;
|
|
5785
5786
|
var onAddEventListener = createLifecycleDecorator(ON_ADD_EVENT_LISTENER_METADATA_KEY);
|
|
5787
|
+
var onConnectedSwcApp = createLifecycleDecorator(ON_CONNECTED_SWC_APP_METADATA_KEY);
|
|
5786
5788
|
function onConnectedInnerHtml(arg1, arg2, arg3) {
|
|
5787
5789
|
const decorator = (options, target, propertyKey) => {
|
|
5788
5790
|
const constructor = target.constructor;
|
|
@@ -5903,7 +5905,8 @@ function attribute(selector, options = {}) {
|
|
|
5903
5905
|
}
|
|
5904
5906
|
return null;
|
|
5905
5907
|
}
|
|
5906
|
-
|
|
5908
|
+
const data = convertValue(this[privateKey], targetType);
|
|
5909
|
+
return data;
|
|
5907
5910
|
},
|
|
5908
5911
|
set(nv) {
|
|
5909
5912
|
const attrName = options.name || String(propertyKey);
|
|
@@ -6785,6 +6788,77 @@ var findAllAttributeApplyMetadata = (target) => {
|
|
|
6785
6788
|
return result;
|
|
6786
6789
|
};
|
|
6787
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
|
+
|
|
6788
6862
|
// src/decorators/subscribeSwcAppRouteChange.ts
|
|
6789
6863
|
var SUBSCRIBE_SWC_APP_ROUTE_CHANGE_METADATA_KEY = Symbol.for("simple-web-component:subscribe-swc-app-route-change");
|
|
6790
6864
|
function createSwcAppRouteChangeSubscriber(options) {
|
|
@@ -7016,6 +7090,35 @@ var SwcUtils;
|
|
|
7016
7090
|
const appHostsWithoutSelf = appHosts.filter((h) => h !== el);
|
|
7017
7091
|
return appHostsWithoutSelf.length > 0 ? appHostsWithoutSelf[appHostsWithoutSelf.length - 1] : void 0;
|
|
7018
7092
|
};
|
|
7093
|
+
SwcUtils2.findParentAppHostDirect = (el) => {
|
|
7094
|
+
const appHosts = (0, SwcUtils2.findAllParentAppHostsDirect)(el);
|
|
7095
|
+
return appHosts.length > 0 ? appHosts[appHosts.length - 1] : null;
|
|
7096
|
+
};
|
|
7097
|
+
SwcUtils2.findAllParentAppHostsDirect = (el) => {
|
|
7098
|
+
const appHosts = [];
|
|
7099
|
+
let current = el.parentElement;
|
|
7100
|
+
while (current) {
|
|
7101
|
+
const isAppHost = current.tagName.toLowerCase() === "swc-app" || current.getAttribute("is")?.startsWith("swc-app-");
|
|
7102
|
+
if (isAppHost) {
|
|
7103
|
+
appHosts.push(current);
|
|
7104
|
+
}
|
|
7105
|
+
if (current.shadowRoot) {
|
|
7106
|
+
current = current.shadowRoot.host.parentElement;
|
|
7107
|
+
} else {
|
|
7108
|
+
if (!current.parentElement) {
|
|
7109
|
+
const parentNode = current.parentNode;
|
|
7110
|
+
if (parentNode instanceof ShadowRoot) {
|
|
7111
|
+
current = parentNode.host;
|
|
7112
|
+
} else {
|
|
7113
|
+
break;
|
|
7114
|
+
}
|
|
7115
|
+
} else {
|
|
7116
|
+
current = current.parentElement;
|
|
7117
|
+
}
|
|
7118
|
+
}
|
|
7119
|
+
}
|
|
7120
|
+
return appHosts.reverse();
|
|
7121
|
+
};
|
|
7019
7122
|
SwcUtils2.getHostSet = (el) => {
|
|
7020
7123
|
const isSwc = !!getElementConfig(el);
|
|
7021
7124
|
const ancestors = (0, SwcUtils2.findAllSwcHosts)(el);
|
|
@@ -7039,7 +7142,7 @@ var SwcUtils;
|
|
|
7039
7142
|
}
|
|
7040
7143
|
curr = curr.parentElement || curr.getRootNode().host;
|
|
7041
7144
|
}
|
|
7042
|
-
const $appHosts =
|
|
7145
|
+
const $appHosts = SwcUtils2.findAllParentAppHostsDirect(el);
|
|
7043
7146
|
const $appHost = $appHosts.length > 0 ? $appHosts[$appHosts.length - 1] === el ? $appHosts.length > 1 ? $appHosts[$appHosts.length - 2] : null : $appHosts[$appHosts.length - 1] : null;
|
|
7044
7147
|
const $firstAppHost = $appHosts.length > 0 ? $appHosts[0] : null;
|
|
7045
7148
|
return {
|
|
@@ -7287,6 +7390,7 @@ var ensureInit2 = (inst) => {
|
|
|
7287
7390
|
});
|
|
7288
7391
|
}
|
|
7289
7392
|
const hostSet = SwcUtils.getHostSet(inst);
|
|
7393
|
+
const appHosts = SwcUtils.findAllParentAppHostsDirect(inst);
|
|
7290
7394
|
inst._executeSwcScript?.("swc-on-constructor", hostSet);
|
|
7291
7395
|
const cMethods = findAllLifecycleMetadata(inst, ON_INITIALIZE_METADATA_KEY);
|
|
7292
7396
|
if (cMethods) {
|
|
@@ -7358,10 +7462,11 @@ var setupPrototype = (proto) => {
|
|
|
7358
7462
|
proto._invokeLifecycleMethod = function(methodName, hostSet, extraArgs = []) {
|
|
7359
7463
|
ensureInit2(this);
|
|
7360
7464
|
if (typeof this[methodName] !== "function") return;
|
|
7361
|
-
const
|
|
7465
|
+
const useHostSet = hostSet ?? SwcUtils.getHostSet(this);
|
|
7466
|
+
const app = useHostSet?.$appHost.simpleApplication;
|
|
7362
7467
|
if (app) {
|
|
7363
7468
|
const otherStorage = /* @__PURE__ */ new Map();
|
|
7364
|
-
const situations = new SituationTypeContainers([new SituationTypeContainer({ situationType: "SIMPLE_WEB_COMPONENT://HOSTSET" /* HOST_SET */, data:
|
|
7469
|
+
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 })]);
|
|
7365
7470
|
otherStorage.set(SituationTypeContainers, situations);
|
|
7366
7471
|
return app.simstanceManager.executeBindParameterSimPromise(
|
|
7367
7472
|
{
|
|
@@ -7630,8 +7735,12 @@ var elementDefine = (name, config = {}) => (constructor) => {
|
|
|
7630
7735
|
this._executeSwcScript("swc-on-connected", hostSet);
|
|
7631
7736
|
this._executeSwcScript("swc-on-after-connected", hostSet);
|
|
7632
7737
|
this.__swc_connected = true;
|
|
7738
|
+
const appHostss = SwcUtils.findAllParentAppHostsDirect(this);
|
|
7633
7739
|
if (appHost2 && typeof appHost2._connected === "function") {
|
|
7634
7740
|
appHost2._connected(this);
|
|
7741
|
+
} else if (appHost2 && typeof appHost2) {
|
|
7742
|
+
appHost2._connected_safari ?? (appHost2._connected_safari = []);
|
|
7743
|
+
appHost2._connected_safari.push(this);
|
|
7635
7744
|
}
|
|
7636
7745
|
};
|
|
7637
7746
|
const originalDisconnected = proto.disconnectedCallback;
|
|
@@ -8524,7 +8633,9 @@ export {
|
|
|
8524
8633
|
ON_BEFORE_ADOPTED_METADATA_KEY,
|
|
8525
8634
|
ON_BEFORE_CONNECTED_METADATA_KEY,
|
|
8526
8635
|
ON_BEFORE_DISCONNECTED_METADATA_KEY,
|
|
8636
|
+
ON_CONNECTED_SWC_APP_METADATA_KEY,
|
|
8527
8637
|
ON_INITIALIZE_METADATA_KEY,
|
|
8638
|
+
PROPERTY_SET_METADATA_KEY,
|
|
8528
8639
|
QUERY_ALL_METADATA_KEY,
|
|
8529
8640
|
QUERY_METADATA_KEY,
|
|
8530
8641
|
STYLE_METADATA_KEY,
|
|
@@ -8606,6 +8717,7 @@ export {
|
|
|
8606
8717
|
onBeforeDisconnected,
|
|
8607
8718
|
onConnected,
|
|
8608
8719
|
onConnectedInnerHtml,
|
|
8720
|
+
onConnectedSwcApp,
|
|
8609
8721
|
onDisconnected,
|
|
8610
8722
|
onInitialize,
|
|
8611
8723
|
parentHost,
|
|
@@ -8624,6 +8736,8 @@ export {
|
|
|
8624
8736
|
setAttributeHost,
|
|
8625
8737
|
setClass,
|
|
8626
8738
|
setClassHost,
|
|
8739
|
+
setProperty,
|
|
8740
|
+
setPropertyHost,
|
|
8627
8741
|
setStyle,
|
|
8628
8742
|
setStyleHost,
|
|
8629
8743
|
subscribeSwcAppRouteChange,
|