saloe 0.0.35 → 0.0.36
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/dist/listener.cjs.js +9 -8
- package/dist/listener.es.js +9 -8
- package/package.json +1 -1
- package/src/listener.js +9 -2
package/dist/listener.cjs.js
CHANGED
|
@@ -45,10 +45,8 @@ const listener = ({
|
|
|
45
45
|
if (scriptNames && EVENTS_PREVENT_DEFAULT_MANDATORY.includes(event)) e.preventDefault();
|
|
46
46
|
const scripts = await Promise.all(
|
|
47
47
|
(_a = scriptNames == null ? void 0 : scriptNames.split(",")) == null ? void 0 : _a.map((scriptName) => {
|
|
48
|
-
var _a2;
|
|
49
48
|
const scriptToImport = `/${scriptName == null ? void 0 : scriptName.trim()}.js`;
|
|
50
|
-
return (
|
|
51
|
-
});
|
|
49
|
+
return importScriptDynamically({ path: scriptToImport });
|
|
52
50
|
})
|
|
53
51
|
);
|
|
54
52
|
const listeners = scripts == null ? void 0 : scripts.map((script) => getListenerFromScript({ script, event }));
|
|
@@ -100,6 +98,11 @@ const listener = ({
|
|
|
100
98
|
(_b = document == null ? void 0 : document.body) == null ? void 0 : _b.insertAdjacentElement("beforeend", script);
|
|
101
99
|
});
|
|
102
100
|
};
|
|
101
|
+
const importScriptDynamically = ({ path }) => {
|
|
102
|
+
var _a;
|
|
103
|
+
return (_a = import(path)) == null ? void 0 : _a.catch((err) => {
|
|
104
|
+
});
|
|
105
|
+
};
|
|
103
106
|
const fireLoadListener = () => {
|
|
104
107
|
const event = "load";
|
|
105
108
|
const srcElements = document == null ? void 0 : document.querySelectorAll(`[on-${event}]`);
|
|
@@ -120,20 +123,18 @@ const listener = ({
|
|
|
120
123
|
return acc;
|
|
121
124
|
}, /* @__PURE__ */ new Map())) == null ? void 0 : _a.keys()];
|
|
122
125
|
uniqueScriptNames == null ? void 0 : uniqueScriptNames.forEach(async (scriptName) => {
|
|
123
|
-
var _a2;
|
|
124
126
|
const observedSrcElements = document.querySelectorAll(`[on-observe*="${scriptName}"]`);
|
|
125
|
-
const script = await (
|
|
126
|
-
}));
|
|
127
|
+
const script = await importScriptDynamically({ path: `/${scriptName == null ? void 0 : scriptName.trim()}.js` });
|
|
127
128
|
const listener2 = getListenerFromScript({ script, event: "observe" });
|
|
128
129
|
if (!listener2) return;
|
|
129
130
|
const observer = new IntersectionObserver((entries) => {
|
|
130
131
|
entries.forEach((entry) => listener2({ entry, observer }));
|
|
131
132
|
});
|
|
132
133
|
observedSrcElements == null ? void 0 : observedSrcElements.forEach((observerSrcElement) => {
|
|
133
|
-
var
|
|
134
|
+
var _a2, _b;
|
|
134
135
|
observer.observe(observerSrcElement);
|
|
135
136
|
const observerAttr = observerSrcElement == null ? void 0 : observerSrcElement.getAttribute("on-observe");
|
|
136
|
-
const updatedObserverAttr = (_b = (
|
|
137
|
+
const updatedObserverAttr = (_b = (_a2 = observerAttr == null ? void 0 : observerAttr.replaceAll(scriptName + ", ", "")) == null ? void 0 : _a2.replaceAll(", " + scriptName, "")) == null ? void 0 : _b.replaceAll(scriptName, "");
|
|
137
138
|
if (updatedObserverAttr === "") observerSrcElement.removeAttribute("on-observe");
|
|
138
139
|
else observerSrcElement.setAttribute("on-observe", updatedObserverAttr);
|
|
139
140
|
});
|
package/dist/listener.es.js
CHANGED
|
@@ -43,10 +43,8 @@ const listener = ({
|
|
|
43
43
|
if (scriptNames && EVENTS_PREVENT_DEFAULT_MANDATORY.includes(event)) e.preventDefault();
|
|
44
44
|
const scripts = await Promise.all(
|
|
45
45
|
(_a = scriptNames == null ? void 0 : scriptNames.split(",")) == null ? void 0 : _a.map((scriptName) => {
|
|
46
|
-
var _a2;
|
|
47
46
|
const scriptToImport = `/${scriptName == null ? void 0 : scriptName.trim()}.js`;
|
|
48
|
-
return (
|
|
49
|
-
});
|
|
47
|
+
return importScriptDynamically({ path: scriptToImport });
|
|
50
48
|
})
|
|
51
49
|
);
|
|
52
50
|
const listeners = scripts == null ? void 0 : scripts.map((script) => getListenerFromScript({ script, event }));
|
|
@@ -98,6 +96,11 @@ const listener = ({
|
|
|
98
96
|
(_b = document == null ? void 0 : document.body) == null ? void 0 : _b.insertAdjacentElement("beforeend", script);
|
|
99
97
|
});
|
|
100
98
|
};
|
|
99
|
+
const importScriptDynamically = ({ path }) => {
|
|
100
|
+
var _a;
|
|
101
|
+
return (_a = import(path)) == null ? void 0 : _a.catch((err) => {
|
|
102
|
+
});
|
|
103
|
+
};
|
|
101
104
|
const fireLoadListener = () => {
|
|
102
105
|
const event = "load";
|
|
103
106
|
const srcElements = document == null ? void 0 : document.querySelectorAll(`[on-${event}]`);
|
|
@@ -118,20 +121,18 @@ const listener = ({
|
|
|
118
121
|
return acc;
|
|
119
122
|
}, /* @__PURE__ */ new Map())) == null ? void 0 : _a.keys()];
|
|
120
123
|
uniqueScriptNames == null ? void 0 : uniqueScriptNames.forEach(async (scriptName) => {
|
|
121
|
-
var _a2;
|
|
122
124
|
const observedSrcElements = document.querySelectorAll(`[on-observe*="${scriptName}"]`);
|
|
123
|
-
const script = await (
|
|
124
|
-
}));
|
|
125
|
+
const script = await importScriptDynamically({ path: `/${scriptName == null ? void 0 : scriptName.trim()}.js` });
|
|
125
126
|
const listener2 = getListenerFromScript({ script, event: "observe" });
|
|
126
127
|
if (!listener2) return;
|
|
127
128
|
const observer = new IntersectionObserver((entries) => {
|
|
128
129
|
entries.forEach((entry) => listener2({ entry, observer }));
|
|
129
130
|
});
|
|
130
131
|
observedSrcElements == null ? void 0 : observedSrcElements.forEach((observerSrcElement) => {
|
|
131
|
-
var
|
|
132
|
+
var _a2, _b;
|
|
132
133
|
observer.observe(observerSrcElement);
|
|
133
134
|
const observerAttr = observerSrcElement == null ? void 0 : observerSrcElement.getAttribute("on-observe");
|
|
134
|
-
const updatedObserverAttr = (_b = (
|
|
135
|
+
const updatedObserverAttr = (_b = (_a2 = observerAttr == null ? void 0 : observerAttr.replaceAll(scriptName + ", ", "")) == null ? void 0 : _a2.replaceAll(", " + scriptName, "")) == null ? void 0 : _b.replaceAll(scriptName, "");
|
|
135
136
|
if (updatedObserverAttr === "") observerSrcElement.removeAttribute("on-observe");
|
|
136
137
|
else observerSrcElement.setAttribute("on-observe", updatedObserverAttr);
|
|
137
138
|
});
|
package/package.json
CHANGED
package/src/listener.js
CHANGED
|
@@ -51,7 +51,8 @@ const listener = ({
|
|
|
51
51
|
const scripts = await Promise.all(
|
|
52
52
|
scriptNames?.split(',')?.map((scriptName) => {
|
|
53
53
|
const scriptToImport = `/${scriptName?.trim()}.js`
|
|
54
|
-
return import(scriptToImport)?.catch((err) => { })
|
|
54
|
+
// return import(scriptToImport)?.catch((err) => { })
|
|
55
|
+
return importScriptDynamically({ path: scriptToImport })
|
|
55
56
|
})
|
|
56
57
|
)
|
|
57
58
|
|
|
@@ -115,6 +116,11 @@ const listener = ({
|
|
|
115
116
|
})
|
|
116
117
|
}
|
|
117
118
|
|
|
119
|
+
// FIX: return import() to prevent __vitePreload to take action
|
|
120
|
+
const importScriptDynamically = ({ path }) => {
|
|
121
|
+
return import(path)?.catch((err) => { })
|
|
122
|
+
}
|
|
123
|
+
|
|
118
124
|
// load
|
|
119
125
|
const fireLoadListener = () => {
|
|
120
126
|
const event = 'load'
|
|
@@ -178,7 +184,8 @@ const listener = ({
|
|
|
178
184
|
uniqueScriptNames?.forEach(async (scriptName) => {
|
|
179
185
|
const observedSrcElements = document.querySelectorAll(`[on-observe*="${scriptName}"]`)
|
|
180
186
|
|
|
181
|
-
const script = await import(`/${scriptName?.trim()}.js`)?.catch((err) => { })
|
|
187
|
+
// const script = await import(`/${scriptName?.trim()}.js`)?.catch((err) => { })
|
|
188
|
+
const script = await importScriptDynamically({ path: `/${scriptName?.trim()}.js` })
|
|
182
189
|
const listener = getListenerFromScript({ script, event: 'observe' })
|
|
183
190
|
if (!listener) return
|
|
184
191
|
|