@tamagui/dismissable 1.61.2 → 1.62.0
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/cjs/Dismissable.js +62 -164
- package/dist/cjs/Dismissable.js.map +2 -2
- package/dist/cjs/Dismissable.native.js +6 -14
- package/dist/cjs/Dismissable.native.js.map +1 -1
- package/dist/cjs/DismissableProps.js +3 -6
- package/dist/cjs/DismissableProps.js.map +1 -1
- package/dist/cjs/DismissableProps.native.js +15 -0
- package/dist/cjs/DismissableProps.native.js.map +6 -0
- package/dist/cjs/index.js +4 -8
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/index.native.js +20 -0
- package/dist/cjs/index.native.js.map +6 -0
- package/dist/esm/Dismissable.js +55 -145
- package/dist/esm/Dismissable.js.map +2 -2
- package/dist/jsx/Dismissable.js +54 -144
- package/dist/jsx/Dismissable.js.map +2 -2
- package/dist/jsx/Dismissable.native.js +1 -6
- package/dist/jsx/Dismissable.native.js.map +1 -1
- package/dist/jsx/DismissableProps.native.js +1 -0
- package/dist/jsx/DismissableProps.native.js.map +6 -0
- package/dist/jsx/index.native.js +2 -0
- package/dist/jsx/index.native.js.map +6 -0
- package/package.json +6 -6
- package/dist/esm/Dismissable.native.js +0 -12
- package/dist/esm/Dismissable.native.js.map +0 -6
package/dist/esm/Dismissable.js
CHANGED
|
@@ -1,28 +1,23 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
1
|
import { useComposedRefs } from "@tamagui/compose-refs";
|
|
3
2
|
import { composeEventHandlers } from "@tamagui/core";
|
|
4
3
|
import { useEscapeKeydown } from "@tamagui/use-escape-keydown";
|
|
5
4
|
import { useEvent } from "@tamagui/use-event";
|
|
6
5
|
import * as React from "react";
|
|
7
6
|
import * as ReactDOM from "react-dom";
|
|
7
|
+
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
function dispatchDiscreteCustomEvent(target, event) {
|
|
9
|
-
|
|
10
|
-
ReactDOM.flushSync(() => target.dispatchEvent(event));
|
|
9
|
+
target && ReactDOM.flushSync(() => target.dispatchEvent(event));
|
|
11
10
|
}
|
|
12
|
-
const DISMISSABLE_LAYER_NAME = "Dismissable";
|
|
13
|
-
const CONTEXT_UPDATE = "dismissable.update";
|
|
14
|
-
const POINTER_DOWN_OUTSIDE = "dismissable.pointerDownOutside";
|
|
15
|
-
const FOCUS_OUTSIDE = "dismissable.focusOutside";
|
|
11
|
+
const DISMISSABLE_LAYER_NAME = "Dismissable", CONTEXT_UPDATE = "dismissable.update", POINTER_DOWN_OUTSIDE = "dismissable.pointerDownOutside", FOCUS_OUTSIDE = "dismissable.focusOutside";
|
|
16
12
|
let originalBodyPointerEvents;
|
|
17
13
|
const DismissableContext = React.createContext({
|
|
18
14
|
layers: /* @__PURE__ */ new Set(),
|
|
19
15
|
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
|
|
20
16
|
branches: /* @__PURE__ */ new Set()
|
|
21
|
-
})
|
|
22
|
-
const Dismissable = React.forwardRef(
|
|
17
|
+
}), Dismissable = React.forwardRef(
|
|
23
18
|
(props, forwardedRef) => {
|
|
24
19
|
const {
|
|
25
|
-
disableOutsidePointerEvents =
|
|
20
|
+
disableOutsidePointerEvents = !1,
|
|
26
21
|
forceUnmount,
|
|
27
22
|
onEscapeKeyDown,
|
|
28
23
|
onPointerDownOutside,
|
|
@@ -30,92 +25,39 @@ const Dismissable = React.forwardRef(
|
|
|
30
25
|
onInteractOutside,
|
|
31
26
|
onDismiss,
|
|
32
27
|
...layerProps
|
|
33
|
-
} = props
|
|
34
|
-
const context = React.useContext(DismissableContext);
|
|
35
|
-
const [node, setNode] = React.useState(null);
|
|
36
|
-
const [, force] = React.useState({});
|
|
37
|
-
const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));
|
|
38
|
-
const layers = Array.from(context.layers);
|
|
39
|
-
const [highestLayerWithOutsidePointerEventsDisabled] = [
|
|
28
|
+
} = props, context = React.useContext(DismissableContext), [node, setNode] = React.useState(null), [, force] = React.useState({}), composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2)), layers = Array.from(context.layers), [highestLayerWithOutsidePointerEventsDisabled] = [
|
|
40
29
|
...context.layersWithOutsidePointerEventsDisabled
|
|
41
|
-
].slice(-1)
|
|
42
|
-
const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(
|
|
30
|
+
].slice(-1), highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(
|
|
43
31
|
highestLayerWithOutsidePointerEventsDisabled
|
|
44
|
-
)
|
|
45
|
-
|
|
46
|
-
const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;
|
|
47
|
-
const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;
|
|
48
|
-
const pointerDownOutside = usePointerDownOutside((event) => {
|
|
49
|
-
const target = event.target;
|
|
50
|
-
const isPointerDownOnBranch = [...context.branches].some(
|
|
32
|
+
), index = node ? layers.indexOf(node) : -1, isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0, isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex, pointerDownOutside = usePointerDownOutside((event) => {
|
|
33
|
+
const target = event.target, isPointerDownOnBranch = [...context.branches].some(
|
|
51
34
|
(branch) => branch.contains(target)
|
|
52
35
|
);
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
onPointerDownOutside == null ? void 0 : onPointerDownOutside(event);
|
|
56
|
-
onInteractOutside == null ? void 0 : onInteractOutside(event);
|
|
57
|
-
if (!event.defaultPrevented)
|
|
58
|
-
onDismiss == null ? void 0 : onDismiss();
|
|
59
|
-
});
|
|
60
|
-
const focusOutside = useFocusOutside((event) => {
|
|
36
|
+
!isPointerEventsEnabled || isPointerDownOnBranch || (onPointerDownOutside?.(event), onInteractOutside?.(event), event.defaultPrevented || onDismiss?.());
|
|
37
|
+
}), focusOutside = useFocusOutside((event) => {
|
|
61
38
|
const target = event.target;
|
|
62
|
-
|
|
39
|
+
[...context.branches].some(
|
|
63
40
|
(branch) => branch.contains(target)
|
|
64
|
-
);
|
|
65
|
-
if (isFocusInBranch)
|
|
66
|
-
return;
|
|
67
|
-
onFocusOutside == null ? void 0 : onFocusOutside(event);
|
|
68
|
-
onInteractOutside == null ? void 0 : onInteractOutside(event);
|
|
69
|
-
if (!event.defaultPrevented)
|
|
70
|
-
onDismiss == null ? void 0 : onDismiss();
|
|
71
|
-
});
|
|
72
|
-
useEscapeKeydown((event) => {
|
|
73
|
-
const isHighestLayer = index === context.layers.size - 1;
|
|
74
|
-
if (!isHighestLayer)
|
|
75
|
-
return;
|
|
76
|
-
onEscapeKeyDown == null ? void 0 : onEscapeKeyDown(event);
|
|
77
|
-
if (!event.defaultPrevented && onDismiss) {
|
|
78
|
-
event.preventDefault();
|
|
79
|
-
onDismiss();
|
|
80
|
-
}
|
|
41
|
+
) || (onFocusOutside?.(event), onInteractOutside?.(event), event.defaultPrevented || onDismiss?.());
|
|
81
42
|
});
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
if (
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {
|
|
96
|
-
document.body.style.pointerEvents = originalBodyPointerEvents;
|
|
97
|
-
}
|
|
98
|
-
};
|
|
99
|
-
}, [node, disableOutsidePointerEvents, context]);
|
|
100
|
-
React.useEffect(() => {
|
|
101
|
-
if (forceUnmount)
|
|
102
|
-
return;
|
|
103
|
-
return () => {
|
|
104
|
-
if (!node)
|
|
105
|
-
return;
|
|
106
|
-
context.layers.delete(node);
|
|
107
|
-
context.layersWithOutsidePointerEventsDisabled.delete(node);
|
|
108
|
-
dispatchUpdate();
|
|
109
|
-
};
|
|
110
|
-
}, [node, context, forceUnmount]);
|
|
111
|
-
React.useEffect(() => {
|
|
43
|
+
return useEscapeKeydown((event) => {
|
|
44
|
+
index === context.layers.size - 1 && (onEscapeKeyDown?.(event), !event.defaultPrevented && onDismiss && (event.preventDefault(), onDismiss()));
|
|
45
|
+
}), React.useEffect(() => {
|
|
46
|
+
if (node)
|
|
47
|
+
return disableOutsidePointerEvents && (context.layersWithOutsidePointerEventsDisabled.size === 0 && (originalBodyPointerEvents = document.body.style.pointerEvents, document.body.style.pointerEvents = "none"), context.layersWithOutsidePointerEventsDisabled.add(node)), context.layers.add(node), dispatchUpdate(), () => {
|
|
48
|
+
disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1 && (document.body.style.pointerEvents = originalBodyPointerEvents);
|
|
49
|
+
};
|
|
50
|
+
}, [node, disableOutsidePointerEvents, context]), React.useEffect(() => {
|
|
51
|
+
if (!forceUnmount)
|
|
52
|
+
return () => {
|
|
53
|
+
node && (context.layers.delete(node), context.layersWithOutsidePointerEventsDisabled.delete(node), dispatchUpdate());
|
|
54
|
+
};
|
|
55
|
+
}, [node, context, forceUnmount]), React.useEffect(() => {
|
|
112
56
|
const handleUpdate = () => {
|
|
113
57
|
force({});
|
|
114
58
|
};
|
|
115
|
-
document.addEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
116
|
-
|
|
117
|
-
}, []);
|
|
118
|
-
return /* @__PURE__ */ jsx(
|
|
59
|
+
return document.addEventListener(CONTEXT_UPDATE, handleUpdate), () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
60
|
+
}, []), /* @__PURE__ */ jsx(
|
|
119
61
|
"div",
|
|
120
62
|
{
|
|
121
63
|
...layerProps,
|
|
@@ -143,90 +85,65 @@ const Dismissable = React.forwardRef(
|
|
|
143
85
|
}
|
|
144
86
|
);
|
|
145
87
|
Dismissable.displayName = DISMISSABLE_LAYER_NAME;
|
|
146
|
-
const BRANCH_NAME = "DismissableBranch"
|
|
147
|
-
const DismissableBranch = React.forwardRef(
|
|
88
|
+
const BRANCH_NAME = "DismissableBranch", DismissableBranch = React.forwardRef(
|
|
148
89
|
(props, forwardedRef) => {
|
|
149
|
-
const context = React.useContext(DismissableContext);
|
|
150
|
-
|
|
151
|
-
const composedRefs = useComposedRefs(forwardedRef, ref);
|
|
152
|
-
React.useEffect(() => {
|
|
90
|
+
const context = React.useContext(DismissableContext), ref = React.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref);
|
|
91
|
+
return React.useEffect(() => {
|
|
153
92
|
const node = ref.current;
|
|
154
|
-
if (node)
|
|
155
|
-
context.branches.add(node)
|
|
156
|
-
return () => {
|
|
93
|
+
if (node)
|
|
94
|
+
return context.branches.add(node), () => {
|
|
157
95
|
context.branches.delete(node);
|
|
158
96
|
};
|
|
159
|
-
|
|
160
|
-
}, [context.branches]);
|
|
161
|
-
return /* @__PURE__ */ jsx("div", { style: { display: "contents" }, ...props, ref: composedRefs });
|
|
97
|
+
}, [context.branches]), /* @__PURE__ */ jsx("div", { style: { display: "contents" }, ...props, ref: composedRefs });
|
|
162
98
|
}
|
|
163
99
|
);
|
|
164
100
|
DismissableBranch.displayName = BRANCH_NAME;
|
|
165
101
|
function usePointerDownOutside(onPointerDownOutside) {
|
|
166
|
-
const handlePointerDownOutside = useEvent(onPointerDownOutside)
|
|
167
|
-
const isPointerInsideReactTreeRef = React.useRef(false);
|
|
168
|
-
const handleClickRef = React.useRef(() => {
|
|
102
|
+
const handlePointerDownOutside = useEvent(onPointerDownOutside), isPointerInsideReactTreeRef = React.useRef(!1), handleClickRef = React.useRef(() => {
|
|
169
103
|
});
|
|
170
|
-
React.useEffect(() => {
|
|
104
|
+
return React.useEffect(() => {
|
|
171
105
|
const handlePointerDown = (event) => {
|
|
172
106
|
if (event.target && !isPointerInsideReactTreeRef.current) {
|
|
173
|
-
let
|
|
107
|
+
let handleAndDispatchPointerDownOutsideEvent = function() {
|
|
174
108
|
handleAndDispatchCustomEvent(
|
|
175
109
|
POINTER_DOWN_OUTSIDE,
|
|
176
110
|
handlePointerDownOutside,
|
|
177
111
|
eventDetail,
|
|
178
|
-
{ discrete:
|
|
112
|
+
{ discrete: !0 }
|
|
179
113
|
);
|
|
180
114
|
};
|
|
181
|
-
var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;
|
|
182
115
|
const eventDetail = { originalEvent: event };
|
|
183
|
-
|
|
184
|
-
document.removeEventListener("click", handleClickRef.current);
|
|
185
|
-
handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;
|
|
186
|
-
document.addEventListener("click", handleClickRef.current, { once: true });
|
|
187
|
-
} else {
|
|
188
|
-
handleAndDispatchPointerDownOutsideEvent2();
|
|
189
|
-
}
|
|
116
|
+
event.pointerType === "touch" ? (document.removeEventListener("click", handleClickRef.current), handleClickRef.current = handleAndDispatchPointerDownOutsideEvent, document.addEventListener("click", handleClickRef.current, { once: !0 })) : handleAndDispatchPointerDownOutsideEvent();
|
|
190
117
|
}
|
|
191
|
-
isPointerInsideReactTreeRef.current =
|
|
192
|
-
}
|
|
193
|
-
const timerId = setTimeout(() => {
|
|
118
|
+
isPointerInsideReactTreeRef.current = !1;
|
|
119
|
+
}, timerId = setTimeout(() => {
|
|
194
120
|
document.addEventListener("pointerdown", handlePointerDown);
|
|
195
121
|
}, 0);
|
|
196
122
|
return () => {
|
|
197
|
-
window.clearTimeout(timerId);
|
|
198
|
-
document.removeEventListener("pointerdown", handlePointerDown);
|
|
199
|
-
document.removeEventListener("click", handleClickRef.current);
|
|
123
|
+
window.clearTimeout(timerId), document.removeEventListener("pointerdown", handlePointerDown), document.removeEventListener("click", handleClickRef.current);
|
|
200
124
|
};
|
|
201
|
-
}, [handlePointerDownOutside])
|
|
202
|
-
return {
|
|
125
|
+
}, [handlePointerDownOutside]), {
|
|
203
126
|
// ensures we check React component tree (not just DOM tree)
|
|
204
127
|
onPointerDownCapture: () => {
|
|
205
|
-
isPointerInsideReactTreeRef.current =
|
|
128
|
+
isPointerInsideReactTreeRef.current = !0;
|
|
206
129
|
}
|
|
207
130
|
};
|
|
208
131
|
}
|
|
209
132
|
function useFocusOutside(onFocusOutside) {
|
|
210
|
-
const handleFocusOutside = useEvent(onFocusOutside);
|
|
211
|
-
|
|
212
|
-
React.useEffect(() => {
|
|
133
|
+
const handleFocusOutside = useEvent(onFocusOutside), isFocusInsideReactTreeRef = React.useRef(!1);
|
|
134
|
+
return React.useEffect(() => {
|
|
213
135
|
const handleFocus = (event) => {
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
discrete: false
|
|
218
|
-
});
|
|
219
|
-
}
|
|
136
|
+
event.target && !isFocusInsideReactTreeRef.current && handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, { originalEvent: event }, {
|
|
137
|
+
discrete: !1
|
|
138
|
+
});
|
|
220
139
|
};
|
|
221
|
-
document.addEventListener("focusin", handleFocus);
|
|
222
|
-
|
|
223
|
-
}, [handleFocusOutside]);
|
|
224
|
-
return {
|
|
140
|
+
return document.addEventListener("focusin", handleFocus), () => document.removeEventListener("focusin", handleFocus);
|
|
141
|
+
}, [handleFocusOutside]), {
|
|
225
142
|
onFocusCapture: () => {
|
|
226
|
-
isFocusInsideReactTreeRef.current =
|
|
143
|
+
isFocusInsideReactTreeRef.current = !0;
|
|
227
144
|
},
|
|
228
145
|
onBlurCapture: () => {
|
|
229
|
-
isFocusInsideReactTreeRef.current =
|
|
146
|
+
isFocusInsideReactTreeRef.current = !1;
|
|
230
147
|
}
|
|
231
148
|
};
|
|
232
149
|
}
|
|
@@ -235,15 +152,8 @@ function dispatchUpdate() {
|
|
|
235
152
|
document.dispatchEvent(event);
|
|
236
153
|
}
|
|
237
154
|
function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
|
|
238
|
-
const target = detail.originalEvent.target;
|
|
239
|
-
|
|
240
|
-
if (handler)
|
|
241
|
-
target.addEventListener(name, handler, { once: true });
|
|
242
|
-
if (discrete) {
|
|
243
|
-
dispatchDiscreteCustomEvent(target, event);
|
|
244
|
-
} else {
|
|
245
|
-
target.dispatchEvent(event);
|
|
246
|
-
}
|
|
155
|
+
const target = detail.originalEvent.target, event = new CustomEvent(name, { bubbles: !1, cancelable: !0, detail });
|
|
156
|
+
handler && target.addEventListener(name, handler, { once: !0 }), discrete ? dispatchDiscreteCustomEvent(target, event) : target.dispatchEvent(event);
|
|
247
157
|
}
|
|
248
158
|
export {
|
|
249
159
|
Dismissable,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Dismissable.tsx"],
|
|
4
|
-
"mappings": "
|
|
5
|
-
"names": ["node"
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["node"]
|
|
6
6
|
}
|
package/dist/jsx/Dismissable.js
CHANGED
|
@@ -5,23 +5,18 @@ import { useEvent } from "@tamagui/use-event";
|
|
|
5
5
|
import * as React from "react";
|
|
6
6
|
import * as ReactDOM from "react-dom";
|
|
7
7
|
function dispatchDiscreteCustomEvent(target, event) {
|
|
8
|
-
|
|
9
|
-
ReactDOM.flushSync(() => target.dispatchEvent(event));
|
|
8
|
+
target && ReactDOM.flushSync(() => target.dispatchEvent(event));
|
|
10
9
|
}
|
|
11
|
-
const DISMISSABLE_LAYER_NAME = "Dismissable";
|
|
12
|
-
const CONTEXT_UPDATE = "dismissable.update";
|
|
13
|
-
const POINTER_DOWN_OUTSIDE = "dismissable.pointerDownOutside";
|
|
14
|
-
const FOCUS_OUTSIDE = "dismissable.focusOutside";
|
|
10
|
+
const DISMISSABLE_LAYER_NAME = "Dismissable", CONTEXT_UPDATE = "dismissable.update", POINTER_DOWN_OUTSIDE = "dismissable.pointerDownOutside", FOCUS_OUTSIDE = "dismissable.focusOutside";
|
|
15
11
|
let originalBodyPointerEvents;
|
|
16
12
|
const DismissableContext = React.createContext({
|
|
17
13
|
layers: /* @__PURE__ */ new Set(),
|
|
18
14
|
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
|
|
19
15
|
branches: /* @__PURE__ */ new Set()
|
|
20
|
-
})
|
|
21
|
-
const Dismissable = React.forwardRef(
|
|
16
|
+
}), Dismissable = React.forwardRef(
|
|
22
17
|
(props, forwardedRef) => {
|
|
23
18
|
const {
|
|
24
|
-
disableOutsidePointerEvents =
|
|
19
|
+
disableOutsidePointerEvents = !1,
|
|
25
20
|
forceUnmount,
|
|
26
21
|
onEscapeKeyDown,
|
|
27
22
|
onPointerDownOutside,
|
|
@@ -29,92 +24,39 @@ const Dismissable = React.forwardRef(
|
|
|
29
24
|
onInteractOutside,
|
|
30
25
|
onDismiss,
|
|
31
26
|
...layerProps
|
|
32
|
-
} = props
|
|
33
|
-
const context = React.useContext(DismissableContext);
|
|
34
|
-
const [node, setNode] = React.useState(null);
|
|
35
|
-
const [, force] = React.useState({});
|
|
36
|
-
const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));
|
|
37
|
-
const layers = Array.from(context.layers);
|
|
38
|
-
const [highestLayerWithOutsidePointerEventsDisabled] = [
|
|
27
|
+
} = props, context = React.useContext(DismissableContext), [node, setNode] = React.useState(null), [, force] = React.useState({}), composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2)), layers = Array.from(context.layers), [highestLayerWithOutsidePointerEventsDisabled] = [
|
|
39
28
|
...context.layersWithOutsidePointerEventsDisabled
|
|
40
|
-
].slice(-1)
|
|
41
|
-
const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(
|
|
29
|
+
].slice(-1), highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(
|
|
42
30
|
highestLayerWithOutsidePointerEventsDisabled
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;
|
|
46
|
-
const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;
|
|
47
|
-
const pointerDownOutside = usePointerDownOutside((event) => {
|
|
48
|
-
const target = event.target;
|
|
49
|
-
const isPointerDownOnBranch = [...context.branches].some(
|
|
31
|
+
), index = node ? layers.indexOf(node) : -1, isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0, isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex, pointerDownOutside = usePointerDownOutside((event) => {
|
|
32
|
+
const target = event.target, isPointerDownOnBranch = [...context.branches].some(
|
|
50
33
|
(branch) => branch.contains(target)
|
|
51
34
|
);
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
onPointerDownOutside?.(event);
|
|
55
|
-
onInteractOutside?.(event);
|
|
56
|
-
if (!event.defaultPrevented)
|
|
57
|
-
onDismiss?.();
|
|
58
|
-
});
|
|
59
|
-
const focusOutside = useFocusOutside((event) => {
|
|
35
|
+
!isPointerEventsEnabled || isPointerDownOnBranch || (onPointerDownOutside?.(event), onInteractOutside?.(event), event.defaultPrevented || onDismiss?.());
|
|
36
|
+
}), focusOutside = useFocusOutside((event) => {
|
|
60
37
|
const target = event.target;
|
|
61
|
-
|
|
38
|
+
[...context.branches].some(
|
|
62
39
|
(branch) => branch.contains(target)
|
|
63
|
-
);
|
|
64
|
-
if (isFocusInBranch)
|
|
65
|
-
return;
|
|
66
|
-
onFocusOutside?.(event);
|
|
67
|
-
onInteractOutside?.(event);
|
|
68
|
-
if (!event.defaultPrevented)
|
|
69
|
-
onDismiss?.();
|
|
70
|
-
});
|
|
71
|
-
useEscapeKeydown((event) => {
|
|
72
|
-
const isHighestLayer = index === context.layers.size - 1;
|
|
73
|
-
if (!isHighestLayer)
|
|
74
|
-
return;
|
|
75
|
-
onEscapeKeyDown?.(event);
|
|
76
|
-
if (!event.defaultPrevented && onDismiss) {
|
|
77
|
-
event.preventDefault();
|
|
78
|
-
onDismiss();
|
|
79
|
-
}
|
|
40
|
+
) || (onFocusOutside?.(event), onInteractOutside?.(event), event.defaultPrevented || onDismiss?.());
|
|
80
41
|
});
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
if (
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {
|
|
95
|
-
document.body.style.pointerEvents = originalBodyPointerEvents;
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
}, [node, disableOutsidePointerEvents, context]);
|
|
99
|
-
React.useEffect(() => {
|
|
100
|
-
if (forceUnmount)
|
|
101
|
-
return;
|
|
102
|
-
return () => {
|
|
103
|
-
if (!node)
|
|
104
|
-
return;
|
|
105
|
-
context.layers.delete(node);
|
|
106
|
-
context.layersWithOutsidePointerEventsDisabled.delete(node);
|
|
107
|
-
dispatchUpdate();
|
|
108
|
-
};
|
|
109
|
-
}, [node, context, forceUnmount]);
|
|
110
|
-
React.useEffect(() => {
|
|
42
|
+
return useEscapeKeydown((event) => {
|
|
43
|
+
index === context.layers.size - 1 && (onEscapeKeyDown?.(event), !event.defaultPrevented && onDismiss && (event.preventDefault(), onDismiss()));
|
|
44
|
+
}), React.useEffect(() => {
|
|
45
|
+
if (node)
|
|
46
|
+
return disableOutsidePointerEvents && (context.layersWithOutsidePointerEventsDisabled.size === 0 && (originalBodyPointerEvents = document.body.style.pointerEvents, document.body.style.pointerEvents = "none"), context.layersWithOutsidePointerEventsDisabled.add(node)), context.layers.add(node), dispatchUpdate(), () => {
|
|
47
|
+
disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1 && (document.body.style.pointerEvents = originalBodyPointerEvents);
|
|
48
|
+
};
|
|
49
|
+
}, [node, disableOutsidePointerEvents, context]), React.useEffect(() => {
|
|
50
|
+
if (!forceUnmount)
|
|
51
|
+
return () => {
|
|
52
|
+
node && (context.layers.delete(node), context.layersWithOutsidePointerEventsDisabled.delete(node), dispatchUpdate());
|
|
53
|
+
};
|
|
54
|
+
}, [node, context, forceUnmount]), React.useEffect(() => {
|
|
111
55
|
const handleUpdate = () => {
|
|
112
56
|
force({});
|
|
113
57
|
};
|
|
114
|
-
document.addEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
115
|
-
|
|
116
|
-
}, []);
|
|
117
|
-
return <div
|
|
58
|
+
return document.addEventListener(CONTEXT_UPDATE, handleUpdate), () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
59
|
+
}, []), <div
|
|
118
60
|
{...layerProps}
|
|
119
61
|
ref={composedRefs}
|
|
120
62
|
style={{
|
|
@@ -139,90 +81,65 @@ const Dismissable = React.forwardRef(
|
|
|
139
81
|
}
|
|
140
82
|
);
|
|
141
83
|
Dismissable.displayName = DISMISSABLE_LAYER_NAME;
|
|
142
|
-
const BRANCH_NAME = "DismissableBranch"
|
|
143
|
-
const DismissableBranch = React.forwardRef(
|
|
84
|
+
const BRANCH_NAME = "DismissableBranch", DismissableBranch = React.forwardRef(
|
|
144
85
|
(props, forwardedRef) => {
|
|
145
|
-
const context = React.useContext(DismissableContext);
|
|
146
|
-
|
|
147
|
-
const composedRefs = useComposedRefs(forwardedRef, ref);
|
|
148
|
-
React.useEffect(() => {
|
|
86
|
+
const context = React.useContext(DismissableContext), ref = React.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref);
|
|
87
|
+
return React.useEffect(() => {
|
|
149
88
|
const node = ref.current;
|
|
150
|
-
if (node)
|
|
151
|
-
context.branches.add(node)
|
|
152
|
-
return () => {
|
|
89
|
+
if (node)
|
|
90
|
+
return context.branches.add(node), () => {
|
|
153
91
|
context.branches.delete(node);
|
|
154
92
|
};
|
|
155
|
-
|
|
156
|
-
}, [context.branches]);
|
|
157
|
-
return <div style={{ display: "contents" }} {...props} ref={composedRefs} />;
|
|
93
|
+
}, [context.branches]), <div style={{ display: "contents" }} {...props} ref={composedRefs} />;
|
|
158
94
|
}
|
|
159
95
|
);
|
|
160
96
|
DismissableBranch.displayName = BRANCH_NAME;
|
|
161
97
|
function usePointerDownOutside(onPointerDownOutside) {
|
|
162
|
-
const handlePointerDownOutside = useEvent(onPointerDownOutside)
|
|
163
|
-
const isPointerInsideReactTreeRef = React.useRef(false);
|
|
164
|
-
const handleClickRef = React.useRef(() => {
|
|
98
|
+
const handlePointerDownOutside = useEvent(onPointerDownOutside), isPointerInsideReactTreeRef = React.useRef(!1), handleClickRef = React.useRef(() => {
|
|
165
99
|
});
|
|
166
|
-
React.useEffect(() => {
|
|
100
|
+
return React.useEffect(() => {
|
|
167
101
|
const handlePointerDown = (event) => {
|
|
168
102
|
if (event.target && !isPointerInsideReactTreeRef.current) {
|
|
169
|
-
let
|
|
103
|
+
let handleAndDispatchPointerDownOutsideEvent = function() {
|
|
170
104
|
handleAndDispatchCustomEvent(
|
|
171
105
|
POINTER_DOWN_OUTSIDE,
|
|
172
106
|
handlePointerDownOutside,
|
|
173
107
|
eventDetail,
|
|
174
|
-
{ discrete:
|
|
108
|
+
{ discrete: !0 }
|
|
175
109
|
);
|
|
176
110
|
};
|
|
177
|
-
var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;
|
|
178
111
|
const eventDetail = { originalEvent: event };
|
|
179
|
-
|
|
180
|
-
document.removeEventListener("click", handleClickRef.current);
|
|
181
|
-
handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;
|
|
182
|
-
document.addEventListener("click", handleClickRef.current, { once: true });
|
|
183
|
-
} else {
|
|
184
|
-
handleAndDispatchPointerDownOutsideEvent2();
|
|
185
|
-
}
|
|
112
|
+
event.pointerType === "touch" ? (document.removeEventListener("click", handleClickRef.current), handleClickRef.current = handleAndDispatchPointerDownOutsideEvent, document.addEventListener("click", handleClickRef.current, { once: !0 })) : handleAndDispatchPointerDownOutsideEvent();
|
|
186
113
|
}
|
|
187
|
-
isPointerInsideReactTreeRef.current =
|
|
188
|
-
}
|
|
189
|
-
const timerId = setTimeout(() => {
|
|
114
|
+
isPointerInsideReactTreeRef.current = !1;
|
|
115
|
+
}, timerId = setTimeout(() => {
|
|
190
116
|
document.addEventListener("pointerdown", handlePointerDown);
|
|
191
117
|
}, 0);
|
|
192
118
|
return () => {
|
|
193
|
-
window.clearTimeout(timerId);
|
|
194
|
-
document.removeEventListener("pointerdown", handlePointerDown);
|
|
195
|
-
document.removeEventListener("click", handleClickRef.current);
|
|
119
|
+
window.clearTimeout(timerId), document.removeEventListener("pointerdown", handlePointerDown), document.removeEventListener("click", handleClickRef.current);
|
|
196
120
|
};
|
|
197
|
-
}, [handlePointerDownOutside])
|
|
198
|
-
return {
|
|
121
|
+
}, [handlePointerDownOutside]), {
|
|
199
122
|
// ensures we check React component tree (not just DOM tree)
|
|
200
123
|
onPointerDownCapture: () => {
|
|
201
|
-
isPointerInsideReactTreeRef.current =
|
|
124
|
+
isPointerInsideReactTreeRef.current = !0;
|
|
202
125
|
}
|
|
203
126
|
};
|
|
204
127
|
}
|
|
205
128
|
function useFocusOutside(onFocusOutside) {
|
|
206
|
-
const handleFocusOutside = useEvent(onFocusOutside);
|
|
207
|
-
|
|
208
|
-
React.useEffect(() => {
|
|
129
|
+
const handleFocusOutside = useEvent(onFocusOutside), isFocusInsideReactTreeRef = React.useRef(!1);
|
|
130
|
+
return React.useEffect(() => {
|
|
209
131
|
const handleFocus = (event) => {
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
discrete: false
|
|
214
|
-
});
|
|
215
|
-
}
|
|
132
|
+
event.target && !isFocusInsideReactTreeRef.current && handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, { originalEvent: event }, {
|
|
133
|
+
discrete: !1
|
|
134
|
+
});
|
|
216
135
|
};
|
|
217
|
-
document.addEventListener("focusin", handleFocus);
|
|
218
|
-
|
|
219
|
-
}, [handleFocusOutside]);
|
|
220
|
-
return {
|
|
136
|
+
return document.addEventListener("focusin", handleFocus), () => document.removeEventListener("focusin", handleFocus);
|
|
137
|
+
}, [handleFocusOutside]), {
|
|
221
138
|
onFocusCapture: () => {
|
|
222
|
-
isFocusInsideReactTreeRef.current =
|
|
139
|
+
isFocusInsideReactTreeRef.current = !0;
|
|
223
140
|
},
|
|
224
141
|
onBlurCapture: () => {
|
|
225
|
-
isFocusInsideReactTreeRef.current =
|
|
142
|
+
isFocusInsideReactTreeRef.current = !1;
|
|
226
143
|
}
|
|
227
144
|
};
|
|
228
145
|
}
|
|
@@ -231,15 +148,8 @@ function dispatchUpdate() {
|
|
|
231
148
|
document.dispatchEvent(event);
|
|
232
149
|
}
|
|
233
150
|
function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
|
|
234
|
-
const target = detail.originalEvent.target;
|
|
235
|
-
|
|
236
|
-
if (handler)
|
|
237
|
-
target.addEventListener(name, handler, { once: true });
|
|
238
|
-
if (discrete) {
|
|
239
|
-
dispatchDiscreteCustomEvent(target, event);
|
|
240
|
-
} else {
|
|
241
|
-
target.dispatchEvent(event);
|
|
242
|
-
}
|
|
151
|
+
const target = detail.originalEvent.target, event = new CustomEvent(name, { bubbles: !1, cancelable: !0, detail });
|
|
152
|
+
handler && target.addEventListener(name, handler, { once: !0 }), discrete ? dispatchDiscreteCustomEvent(target, event) : target.dispatchEvent(event);
|
|
243
153
|
}
|
|
244
154
|
export {
|
|
245
155
|
Dismissable,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Dismissable.tsx"],
|
|
4
|
-
"mappings": "AAGA,SAAS,uBAAuB;AAChC,SAAS,4BAA4B;AACrC,SAAS,wBAAwB;AACjC,SAAS,gBAAgB;AACzB,YAAY,WAAW;AACvB,YAAY,cAAc;AAInB,SAAS,4BACd,QACA,OACA;AACA,
|
|
5
|
-
"names": ["node"
|
|
4
|
+
"mappings": "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",
|
|
5
|
+
"names": ["node"]
|
|
6
6
|
}
|