@zag-js/popover 0.0.0-dev-20220616105639 → 0.0.0-dev-20220616113129

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/index.js CHANGED
@@ -52,75 +52,14 @@ var runIfFn = (v, ...a) => {
52
52
  const res = typeof v === "function" ? v(...a) : v;
53
53
  return res != null ? res : void 0;
54
54
  };
55
- var noop = () => {
56
- };
57
55
  var pipe = (...fns) => (v) => fns.reduce((a, b) => b(a), v);
58
- function getListenerElements() {
59
- ;
60
- globalThis.__listenerElements__ = globalThis.__listenerElements__ || /* @__PURE__ */ new Map();
61
- return globalThis.__listenerElements__;
62
- }
63
- function getListenerCache() {
64
- ;
65
- globalThis.__listenerCache__ = globalThis.__listenerCache__ || /* @__PURE__ */ new Map();
66
- return globalThis.__listenerCache__;
67
- }
68
- function addGlobalEventListener(node, type, handler, options) {
69
- var _a;
70
- if (!node)
71
- return noop;
72
- const hash = JSON.stringify({ type, options });
73
- const listenerElements = getListenerElements();
74
- const listenerCache = getListenerCache();
75
- const group = listenerElements.get(node);
76
- if (!listenerElements.has(node)) {
77
- const group2 = /* @__PURE__ */ new Map([[hash, /* @__PURE__ */ new Set([handler])]]);
78
- listenerElements.set(node, group2);
79
- } else if (group == null ? void 0 : group.has(hash)) {
80
- (_a = group == null ? void 0 : group.get(hash)) == null ? void 0 : _a.add(handler);
81
- } else {
82
- group == null ? void 0 : group.set(hash, /* @__PURE__ */ new Set([handler]));
83
- }
84
- function attach(node2) {
85
- var _a2, _b;
86
- function listener(event) {
87
- var _a3;
88
- const group2 = listenerElements.get(node2);
89
- (_a3 = group2 == null ? void 0 : group2.get(hash)) == null ? void 0 : _a3.forEach((fn) => fn(event));
90
- }
91
- if (!(listenerCache == null ? void 0 : listenerCache.has(node2))) {
92
- listenerCache.set(node2, /* @__PURE__ */ new Map([[hash, listener]]));
93
- node2.addEventListener(type, listener, options);
94
- return;
95
- }
96
- if (!((_a2 = listenerCache == null ? void 0 : listenerCache.get(node2)) == null ? void 0 : _a2.has(hash))) {
97
- (_b = listenerCache.get(node2)) == null ? void 0 : _b.set(hash, listener);
98
- node2.addEventListener(type, listener, options);
99
- }
100
- }
101
- attach(node);
102
- return function remove() {
103
- var _a2, _b, _c, _d;
104
- if (!listenerElements.has(node))
105
- return;
106
- const group2 = listenerElements.get(node);
107
- (_a2 = group2 == null ? void 0 : group2.get(hash)) == null ? void 0 : _a2.delete(handler);
108
- if (((_b = group2 == null ? void 0 : group2.get(hash)) == null ? void 0 : _b.size) === 0) {
109
- const listener = (_c = listenerCache.get(node)) == null ? void 0 : _c.get(hash);
110
- node.removeEventListener(type, listener, options);
111
- group2 == null ? void 0 : group2.delete(hash);
112
- (_d = listenerCache.get(node)) == null ? void 0 : _d.delete(hash);
113
- if ((group2 == null ? void 0 : group2.size) === 0) {
114
- listenerElements.delete(node);
115
- listenerCache.delete(node);
116
- }
117
- }
118
- };
119
- }
120
56
  var isRef = (v) => hasProp(v, "current");
121
- function addDomEvent(target, event, listener, options) {
57
+ function addDomEvent(target, eventName, handler, options) {
122
58
  const node = isRef(target) ? target.current : runIfFn(target);
123
- return addGlobalEventListener(node, event, listener, options);
59
+ node == null ? void 0 : node.addEventListener(eventName, handler, options);
60
+ return () => {
61
+ node == null ? void 0 : node.removeEventListener(eventName, handler, options);
62
+ };
124
63
  }
125
64
  function nextTick(fn) {
126
65
  const set = /* @__PURE__ */ new Set();
package/dist/index.mjs CHANGED
@@ -29,75 +29,14 @@ var runIfFn = (v, ...a) => {
29
29
  const res = typeof v === "function" ? v(...a) : v;
30
30
  return res != null ? res : void 0;
31
31
  };
32
- var noop = () => {
33
- };
34
32
  var pipe = (...fns) => (v) => fns.reduce((a, b) => b(a), v);
35
- function getListenerElements() {
36
- ;
37
- globalThis.__listenerElements__ = globalThis.__listenerElements__ || /* @__PURE__ */ new Map();
38
- return globalThis.__listenerElements__;
39
- }
40
- function getListenerCache() {
41
- ;
42
- globalThis.__listenerCache__ = globalThis.__listenerCache__ || /* @__PURE__ */ new Map();
43
- return globalThis.__listenerCache__;
44
- }
45
- function addGlobalEventListener(node, type, handler, options) {
46
- var _a;
47
- if (!node)
48
- return noop;
49
- const hash = JSON.stringify({ type, options });
50
- const listenerElements = getListenerElements();
51
- const listenerCache = getListenerCache();
52
- const group = listenerElements.get(node);
53
- if (!listenerElements.has(node)) {
54
- const group2 = /* @__PURE__ */ new Map([[hash, /* @__PURE__ */ new Set([handler])]]);
55
- listenerElements.set(node, group2);
56
- } else if (group == null ? void 0 : group.has(hash)) {
57
- (_a = group == null ? void 0 : group.get(hash)) == null ? void 0 : _a.add(handler);
58
- } else {
59
- group == null ? void 0 : group.set(hash, /* @__PURE__ */ new Set([handler]));
60
- }
61
- function attach(node2) {
62
- var _a2, _b;
63
- function listener(event) {
64
- var _a3;
65
- const group2 = listenerElements.get(node2);
66
- (_a3 = group2 == null ? void 0 : group2.get(hash)) == null ? void 0 : _a3.forEach((fn) => fn(event));
67
- }
68
- if (!(listenerCache == null ? void 0 : listenerCache.has(node2))) {
69
- listenerCache.set(node2, /* @__PURE__ */ new Map([[hash, listener]]));
70
- node2.addEventListener(type, listener, options);
71
- return;
72
- }
73
- if (!((_a2 = listenerCache == null ? void 0 : listenerCache.get(node2)) == null ? void 0 : _a2.has(hash))) {
74
- (_b = listenerCache.get(node2)) == null ? void 0 : _b.set(hash, listener);
75
- node2.addEventListener(type, listener, options);
76
- }
77
- }
78
- attach(node);
79
- return function remove() {
80
- var _a2, _b, _c, _d;
81
- if (!listenerElements.has(node))
82
- return;
83
- const group2 = listenerElements.get(node);
84
- (_a2 = group2 == null ? void 0 : group2.get(hash)) == null ? void 0 : _a2.delete(handler);
85
- if (((_b = group2 == null ? void 0 : group2.get(hash)) == null ? void 0 : _b.size) === 0) {
86
- const listener = (_c = listenerCache.get(node)) == null ? void 0 : _c.get(hash);
87
- node.removeEventListener(type, listener, options);
88
- group2 == null ? void 0 : group2.delete(hash);
89
- (_d = listenerCache.get(node)) == null ? void 0 : _d.delete(hash);
90
- if ((group2 == null ? void 0 : group2.size) === 0) {
91
- listenerElements.delete(node);
92
- listenerCache.delete(node);
93
- }
94
- }
95
- };
96
- }
97
33
  var isRef = (v) => hasProp(v, "current");
98
- function addDomEvent(target, event, listener, options) {
34
+ function addDomEvent(target, eventName, handler, options) {
99
35
  const node = isRef(target) ? target.current : runIfFn(target);
100
- return addGlobalEventListener(node, event, listener, options);
36
+ node == null ? void 0 : node.addEventListener(eventName, handler, options);
37
+ return () => {
38
+ node == null ? void 0 : node.removeEventListener(eventName, handler, options);
39
+ };
101
40
  }
102
41
  function nextTick(fn) {
103
42
  const set = /* @__PURE__ */ new Set();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zag-js/popover",
3
- "version": "0.0.0-dev-20220616105639",
3
+ "version": "0.0.0-dev-20220616113129",
4
4
  "description": "Core logic for the popover widget implemented as a state machine",
5
5
  "keywords": [
6
6
  "js",
@@ -31,10 +31,10 @@
31
31
  "dependencies": {
32
32
  "@zag-js/aria-hidden": "0.1.0",
33
33
  "@zag-js/core": "0.1.6",
34
- "@zag-js/dom-utils": "0.0.0-dev-20220616105639",
35
- "@zag-js/popper": "0.0.0-dev-20220616105639",
34
+ "@zag-js/dom-utils": "0.0.0-dev-20220616113129",
35
+ "@zag-js/popper": "0.0.0-dev-20220616113129",
36
36
  "@zag-js/remove-scroll": "0.1.0",
37
- "@zag-js/types": "0.0.0-dev-20220616105639",
37
+ "@zag-js/types": "0.0.0-dev-20220616113129",
38
38
  "@zag-js/utils": "0.1.2",
39
39
  "focus-trap": "^6.7.1"
40
40
  },