saloe 0.0.80 → 0.0.82

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.
@@ -23,7 +23,7 @@ const listener = ({
23
23
  };
24
24
  const executeListeners = async ({ e, srcElement, listeners, afterExecuteListeners }) => {
25
25
  await Promise.all(
26
- listeners == null ? void 0 : listeners.map((listener2) => {
26
+ (listeners ?? []).map((listener2) => {
27
27
  if (listener2) return listener2({ e, srcElement });
28
28
  })
29
29
  );
@@ -152,9 +152,21 @@ const listener = ({
152
152
  if (closestButton) return closestButton;
153
153
  return srcElement;
154
154
  };
155
+ const cloneSrcElement = ({ srcElement }) => {
156
+ const newSrcElement = document.createElement(srcElement == null ? void 0 : srcElement.tagName);
157
+ Array.from(srcElement == null ? void 0 : srcElement.attributes).forEach((attr) => {
158
+ if (attr.name.startsWith("on-")) return;
159
+ newSrcElement.setAttribute(attr.name, attr.value);
160
+ });
161
+ return newSrcElement;
162
+ };
155
163
  const isAnchorBeingClicked = ({ srcElement, eventName }) => {
156
164
  return (srcElement == null ? void 0 : srcElement.tagName) === "A" && eventName === "click";
157
165
  };
166
+ const clickDefaultAnchor = ({ srcElement }) => {
167
+ const newAnchor = cloneSrcElement({ srcElement });
168
+ newAnchor.click();
169
+ };
158
170
  const fireListeners = () => {
159
171
  EVENTS.forEach((eventName) => {
160
172
  document.body[`on${eventName}`] = async (e) => {
@@ -165,7 +177,7 @@ const listener = ({
165
177
  console.log("--- document.body ~ eventName =", eventName);
166
178
  const listeners = await fetchListeners({ srcElement, eventName, e });
167
179
  const afterExecuteListeners = isAnchorClicked ? () => {
168
- console.log("$$$ clickDefaultAnchor");
180
+ clickDefaultAnchor({ srcElement });
169
181
  } : null;
170
182
  executeListeners({ e, srcElement, listeners, afterExecuteListeners });
171
183
  addListener({ srcElement, eventName, listeners, afterExecuteListeners });
@@ -21,7 +21,7 @@ const listener = ({
21
21
  };
22
22
  const executeListeners = async ({ e, srcElement, listeners, afterExecuteListeners }) => {
23
23
  await Promise.all(
24
- listeners == null ? void 0 : listeners.map((listener2) => {
24
+ (listeners ?? []).map((listener2) => {
25
25
  if (listener2) return listener2({ e, srcElement });
26
26
  })
27
27
  );
@@ -150,9 +150,21 @@ const listener = ({
150
150
  if (closestButton) return closestButton;
151
151
  return srcElement;
152
152
  };
153
+ const cloneSrcElement = ({ srcElement }) => {
154
+ const newSrcElement = document.createElement(srcElement == null ? void 0 : srcElement.tagName);
155
+ Array.from(srcElement == null ? void 0 : srcElement.attributes).forEach((attr) => {
156
+ if (attr.name.startsWith("on-")) return;
157
+ newSrcElement.setAttribute(attr.name, attr.value);
158
+ });
159
+ return newSrcElement;
160
+ };
153
161
  const isAnchorBeingClicked = ({ srcElement, eventName }) => {
154
162
  return (srcElement == null ? void 0 : srcElement.tagName) === "A" && eventName === "click";
155
163
  };
164
+ const clickDefaultAnchor = ({ srcElement }) => {
165
+ const newAnchor = cloneSrcElement({ srcElement });
166
+ newAnchor.click();
167
+ };
156
168
  const fireListeners = () => {
157
169
  EVENTS.forEach((eventName) => {
158
170
  document.body[`on${eventName}`] = async (e) => {
@@ -163,7 +175,7 @@ const listener = ({
163
175
  console.log("--- document.body ~ eventName =", eventName);
164
176
  const listeners = await fetchListeners({ srcElement, eventName, e });
165
177
  const afterExecuteListeners = isAnchorClicked ? () => {
166
- console.log("$$$ clickDefaultAnchor");
178
+ clickDefaultAnchor({ srcElement });
167
179
  } : null;
168
180
  executeListeners({ e, srcElement, listeners, afterExecuteListeners });
169
181
  addListener({ srcElement, eventName, listeners, afterExecuteListeners });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "saloe",
3
- "version": "0.0.80",
3
+ "version": "0.0.82",
4
4
  "description": "Tools for making web development easy and efficient",
5
5
  "type": "module",
6
6
  "scripts": {
package/src/listener.js CHANGED
@@ -36,7 +36,7 @@ const listener = ({
36
36
 
37
37
  const executeListeners = async ({ e, srcElement, listeners, afterExecuteListeners }) => {
38
38
  await Promise.all(
39
- listeners?.map((listener) => {
39
+ (listeners ?? []).map((listener) => {
40
40
  if (listener) return listener({ e, srcElement })
41
41
  })
42
42
  )
@@ -291,10 +291,7 @@ const listener = ({
291
291
  // if (srcElement?.removeAttribute) srcElement.removeAttribute(`on-${eventName}`)
292
292
 
293
293
  const afterExecuteListeners = isAnchorClicked
294
- ? () => {
295
- // return clickDefaultAnchor({ srcElement })
296
- console.log('$$$ clickDefaultAnchor')
297
- }
294
+ ? () => { clickDefaultAnchor({ srcElement }) }
298
295
  : null
299
296
 
300
297
  executeListeners({ e, srcElement, listeners, afterExecuteListeners })