@tamagui/dismissable 2.0.0-rc.8 → 2.0.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.cjs +331 -158
- package/dist/cjs/Dismissable.native.js +46 -28
- package/dist/cjs/Dismissable.native.js.map +1 -1
- package/dist/cjs/DismissableProps.cjs +7 -5
- package/dist/cjs/DismissableProps.native.js +7 -5
- package/dist/cjs/DismissableProps.native.js.map +1 -1
- package/dist/cjs/index.cjs +7 -5
- package/dist/cjs/index.native.js +7 -5
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/esm/Dismissable.mjs +295 -129
- package/dist/esm/Dismissable.mjs.map +1 -1
- package/dist/esm/Dismissable.native.js +18 -6
- package/dist/esm/Dismissable.native.js.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -6
- package/dist/jsx/Dismissable.mjs +295 -129
- package/dist/jsx/Dismissable.mjs.map +1 -1
- package/dist/jsx/Dismissable.native.js +46 -28
- package/dist/jsx/Dismissable.native.js.map +1 -1
- package/dist/jsx/DismissableProps.native.js +7 -5
- package/dist/jsx/index.js +1 -1
- package/dist/jsx/index.js.map +1 -6
- package/dist/jsx/index.native.js +7 -5
- package/package.json +10 -13
- package/src/Dismissable.native.tsx +21 -1
- package/src/Dismissable.tsx +187 -33
- package/src/DismissableProps.tsx +10 -0
- package/types/Dismissable.d.ts +28 -2
- package/types/Dismissable.d.ts.map +1 -1
- package/types/Dismissable.native.d.ts +4 -0
- package/types/Dismissable.native.d.ts.map +1 -1
- package/types/DismissableProps.d.ts +10 -0
- package/types/DismissableProps.d.ts.map +1 -1
- package/dist/cjs/Dismissable.js +0 -179
- package/dist/cjs/Dismissable.js.map +0 -6
- package/dist/cjs/DismissableProps.js +0 -14
- package/dist/cjs/DismissableProps.js.map +0 -6
- package/dist/cjs/index.js +0 -15
- package/dist/cjs/index.js.map +0 -6
- package/dist/esm/Dismissable.js +0 -161
- package/dist/esm/Dismissable.js.map +0 -6
- package/dist/esm/DismissableProps.js +0 -1
- package/dist/esm/DismissableProps.js.map +0 -6
- package/dist/jsx/Dismissable.js +0 -161
- package/dist/jsx/Dismissable.js.map +0 -6
- package/dist/jsx/DismissableProps.js +0 -1
- package/dist/jsx/DismissableProps.js.map +0 -6
|
@@ -1,10 +1,22 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
function dispatchDiscreteCustomEvent(_target, _event) {}
|
|
3
|
+
function getDismissableLayerCount() {
|
|
4
|
+
return 0;
|
|
5
|
+
}
|
|
6
|
+
function useHasDismissableLayers() {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
function useIsInsideDismissable(_ref) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
function useDismissableLayersAbove(_ref) {
|
|
13
|
+
return 0;
|
|
14
|
+
}
|
|
3
15
|
var Dismissable = /* @__PURE__ */React.forwardRef(function (props, _ref) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export { Dismissable, DismissableBranch, dispatchDiscreteCustomEvent };
|
|
16
|
+
return props.children;
|
|
17
|
+
});
|
|
18
|
+
var DismissableBranch = /* @__PURE__ */React.forwardRef(function (props, _ref) {
|
|
19
|
+
return props.children;
|
|
20
|
+
});
|
|
21
|
+
export { Dismissable, DismissableBranch, dispatchDiscreteCustomEvent, getDismissableLayerCount, useDismissableLayersAbove, useHasDismissableLayers, useIsInsideDismissable };
|
|
10
22
|
//# sourceMappingURL=Dismissable.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","dispatchDiscreteCustomEvent","_target","_event","
|
|
1
|
+
{"version":3,"names":["React","dispatchDiscreteCustomEvent","_target","_event","getDismissableLayerCount","useHasDismissableLayers","useIsInsideDismissable","_ref","useDismissableLayersAbove","Dismissable","forwardRef","props","children","DismissableBranch"],"sources":["../../src/Dismissable.native.tsx"],"sourcesContent":[null],"mappings":"AAAA,OAAOA,KAAA,MAAW;AAEX,SAASC,4BAA4BC,OAAA,EAASC,MAAA,EAAQ,CAAC;AACvD,SAASC,yBAAA,EAA2B;EACvC,OAAO;AACX;AACO,SAASC,wBAAA,EAA0B;EACtC,OAAO;AACX;AACO,SAASC,uBAAuBC,IAAA,EAAM;EACzC,OAAO;AACX;AACO,SAASC,0BAA0BD,IAAA,EAAM;EAC5C,OAAO;AACX;AACO,IAAIE,WAAA,GAA4B,eAAAT,KAAA,CAAMU,UAAA,CAAW,UAASC,KAAA,EAAOJ,IAAA,EAAM;EAC1E,OAAOI,KAAA,CAAMC,QAAA;AACjB,CAAC;AACM,IAAIC,iBAAA,GAAkC,eAAAb,KAAA,CAAMU,UAAA,CAAW,UAASC,KAAA,EAAOJ,IAAA,EAAM;EAChF,OAAOI,KAAA,CAAMC,QAAA;AACjB,CAAC","ignoreList":[]}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export * from "./Dismissable";
|
|
1
|
+
export * from "./Dismissable.mjs";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
package/dist/jsx/Dismissable.mjs
CHANGED
|
@@ -6,150 +6,311 @@ import * as React from "react";
|
|
|
6
6
|
import * as ReactDOM from "react-dom";
|
|
7
7
|
import { jsx } from "react/jsx-runtime";
|
|
8
8
|
function dispatchDiscreteCustomEvent(target, event) {
|
|
9
|
-
target
|
|
9
|
+
if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));
|
|
10
10
|
}
|
|
11
|
-
const DISMISSABLE_LAYER_NAME = "Dismissable"
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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";
|
|
15
15
|
let originalBodyPointerEvents;
|
|
16
|
+
const globalLayers = /* @__PURE__ */new Set();
|
|
17
|
+
const layerChangeListeners = /* @__PURE__ */new Set();
|
|
18
|
+
let layersWithPointerEventsDisabledCount = 0;
|
|
19
|
+
function notifyLayerChange() {
|
|
20
|
+
for (const listener of layerChangeListeners) {
|
|
21
|
+
listener();
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function getDismissableLayerCount() {
|
|
25
|
+
return globalLayers.size;
|
|
26
|
+
}
|
|
27
|
+
function debugDismissableLayers() {
|
|
28
|
+
const layers = Array.from(globalLayers);
|
|
29
|
+
console.log("[Dismissable] Active layers:", layers.length, layers);
|
|
30
|
+
return layers;
|
|
31
|
+
}
|
|
32
|
+
function useHasDismissableLayers() {
|
|
33
|
+
const [count, setCount] = React.useState(() => globalLayers.size);
|
|
34
|
+
React.useEffect(() => {
|
|
35
|
+
setCount(globalLayers.size);
|
|
36
|
+
const update = () => setCount(globalLayers.size);
|
|
37
|
+
layerChangeListeners.add(update);
|
|
38
|
+
return () => {
|
|
39
|
+
layerChangeListeners.delete(update);
|
|
40
|
+
};
|
|
41
|
+
}, []);
|
|
42
|
+
return count > 0;
|
|
43
|
+
}
|
|
16
44
|
const DismissableContext = React.createContext({
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
45
|
+
layers: /* @__PURE__ */new Set(),
|
|
46
|
+
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */new Set(),
|
|
47
|
+
branches: /* @__PURE__ */new Set()
|
|
48
|
+
});
|
|
49
|
+
function useIsInsideDismissable(ref) {
|
|
50
|
+
const context = React.useContext(DismissableContext);
|
|
51
|
+
const [isInside, setIsInside] = React.useState(false);
|
|
52
|
+
React.useEffect(() => {
|
|
53
|
+
const check = () => {
|
|
54
|
+
const el = ref.current;
|
|
55
|
+
if (!el) {
|
|
56
|
+
setIsInside(false);
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
for (const layer of context.layers) {
|
|
60
|
+
if (layer.contains(el)) {
|
|
61
|
+
setIsInside(true);
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
setIsInside(false);
|
|
66
|
+
};
|
|
67
|
+
check();
|
|
68
|
+
document.addEventListener(CONTEXT_UPDATE, check);
|
|
69
|
+
return () => document.removeEventListener(CONTEXT_UPDATE, check);
|
|
70
|
+
}, [context.layers, ref]);
|
|
71
|
+
return isInside;
|
|
72
|
+
}
|
|
73
|
+
function useDismissableLayersAbove(ref) {
|
|
74
|
+
const context = React.useContext(DismissableContext);
|
|
75
|
+
const [count, setCount] = React.useState(0);
|
|
76
|
+
React.useEffect(() => {
|
|
77
|
+
const check = () => {
|
|
78
|
+
const el = ref.current;
|
|
79
|
+
if (!el) {
|
|
80
|
+
setCount(0);
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
let above = 0;
|
|
84
|
+
for (const layer of context.layers) {
|
|
85
|
+
if (layer.contains(el)) {
|
|
86
|
+
above++;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
setCount(above);
|
|
90
|
+
};
|
|
91
|
+
check();
|
|
92
|
+
document.addEventListener(CONTEXT_UPDATE, check);
|
|
93
|
+
return () => document.removeEventListener(CONTEXT_UPDATE, check);
|
|
94
|
+
}, [context.layers, ref]);
|
|
95
|
+
return count;
|
|
96
|
+
}
|
|
97
|
+
const Dismissable = React.forwardRef((props, forwardedRef) => {
|
|
98
|
+
const {
|
|
99
|
+
disableOutsidePointerEvents = false,
|
|
100
|
+
forceUnmount,
|
|
101
|
+
onEscapeKeyDown,
|
|
102
|
+
onPointerDownOutside,
|
|
103
|
+
onFocusOutside,
|
|
104
|
+
onInteractOutside,
|
|
105
|
+
onDismiss,
|
|
106
|
+
asChild,
|
|
107
|
+
children,
|
|
108
|
+
branches: branchesProp,
|
|
109
|
+
...layerProps
|
|
110
|
+
} = props;
|
|
111
|
+
const Comp = asChild ? Slot : View;
|
|
112
|
+
const context = React.useContext(DismissableContext);
|
|
113
|
+
const [node, setNode] = React.useState(null);
|
|
114
|
+
const [, force] = React.useState({});
|
|
115
|
+
const composedRefs = useComposedRefs(forwardedRef, node2 => setNode(node2));
|
|
116
|
+
const layers = Array.from(context.layers);
|
|
117
|
+
const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);
|
|
118
|
+
const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);
|
|
119
|
+
const index = node ? layers.indexOf(node) : -1;
|
|
120
|
+
const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;
|
|
121
|
+
const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;
|
|
122
|
+
const pointerDownOutside = usePointerDownOutside(event => {
|
|
123
|
+
const target = event.target;
|
|
124
|
+
const branches = branchesProp || context.branches;
|
|
125
|
+
const isPointerDownOnBranch = [...branches].some(branch => branch.contains(target));
|
|
126
|
+
if (!isPointerEventsEnabled || isPointerDownOnBranch) return;
|
|
127
|
+
onPointerDownOutside?.(event);
|
|
128
|
+
onInteractOutside?.(event);
|
|
129
|
+
if (!event.defaultPrevented) onDismiss?.();
|
|
130
|
+
});
|
|
131
|
+
const focusOutside = useFocusOutside(event => {
|
|
132
|
+
const target = event.target;
|
|
133
|
+
const branches = branchesProp || context.branches;
|
|
134
|
+
const isFocusInBranch = [...branches].some(branch => branch.contains(target));
|
|
135
|
+
if (isFocusInBranch) return;
|
|
136
|
+
onFocusOutside?.(event);
|
|
137
|
+
onInteractOutside?.(event);
|
|
138
|
+
if (!event.defaultPrevented) onDismiss?.();
|
|
139
|
+
});
|
|
140
|
+
const forceUnmountRef = React.useRef(forceUnmount);
|
|
141
|
+
React.useEffect(() => {
|
|
142
|
+
forceUnmountRef.current = forceUnmount;
|
|
143
|
+
}, [forceUnmount]);
|
|
144
|
+
useEscapeKeydown(event => {
|
|
145
|
+
if (forceUnmountRef.current) return;
|
|
146
|
+
const currentLayers = Array.from(context.layers);
|
|
147
|
+
const currentIndex = node ? currentLayers.indexOf(node) : -1;
|
|
148
|
+
const isHighestLayer = currentIndex === currentLayers.length - 1;
|
|
149
|
+
if (!isHighestLayer) return;
|
|
150
|
+
onEscapeKeyDown?.(event);
|
|
151
|
+
if (!event.defaultPrevented && onDismiss) {
|
|
152
|
+
event.preventDefault();
|
|
153
|
+
onDismiss();
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
React.useEffect(() => {
|
|
157
|
+
if (!node) return;
|
|
158
|
+
if (forceUnmount) return;
|
|
159
|
+
if (disableOutsidePointerEvents) {
|
|
160
|
+
if (context.layersWithOutsidePointerEventsDisabled.size === 0) {
|
|
161
|
+
originalBodyPointerEvents = document.body.style.pointerEvents;
|
|
162
|
+
document.body.style.pointerEvents = "none";
|
|
163
|
+
}
|
|
164
|
+
context.layersWithOutsidePointerEventsDisabled.add(node);
|
|
165
|
+
layersWithPointerEventsDisabledCount++;
|
|
166
|
+
}
|
|
167
|
+
context.layers.add(node);
|
|
168
|
+
globalLayers.add(node);
|
|
169
|
+
if (disableOutsidePointerEvents || layersWithPointerEventsDisabledCount > 0) {
|
|
170
|
+
dispatchUpdate();
|
|
171
|
+
}
|
|
172
|
+
notifyLayerChange();
|
|
173
|
+
return () => {
|
|
174
|
+
if (disableOutsidePointerEvents) {
|
|
175
|
+
if (context.layersWithOutsidePointerEventsDisabled.size === 1) {
|
|
176
|
+
document.body.style.pointerEvents = originalBodyPointerEvents;
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
};
|
|
180
|
+
}, [node, disableOutsidePointerEvents, forceUnmount, context]);
|
|
181
|
+
React.useEffect(() => {
|
|
182
|
+
if (forceUnmount) return;
|
|
183
|
+
return () => {
|
|
184
|
+
if (!node) return;
|
|
185
|
+
const hadPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.has(node);
|
|
186
|
+
context.layers.delete(node);
|
|
187
|
+
context.layersWithOutsidePointerEventsDisabled.delete(node);
|
|
188
|
+
globalLayers.delete(node);
|
|
189
|
+
if (layersWithPointerEventsDisabledCount > 0) {
|
|
190
|
+
dispatchUpdate();
|
|
191
|
+
}
|
|
192
|
+
notifyLayerChange();
|
|
193
|
+
if (hadPointerEventsDisabled) {
|
|
194
|
+
layersWithPointerEventsDisabledCount--;
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
}, [node, context, forceUnmount]);
|
|
198
|
+
React.useEffect(() => {
|
|
199
|
+
const handleUpdate = () => {
|
|
200
|
+
if (layersWithPointerEventsDisabledCount > 0) {
|
|
67
201
|
force({});
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
202
|
+
}
|
|
203
|
+
};
|
|
204
|
+
document.addEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
205
|
+
return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
206
|
+
}, []);
|
|
207
|
+
return /* @__PURE__ */jsx(Comp, {
|
|
208
|
+
...layerProps,
|
|
209
|
+
ref: composedRefs,
|
|
210
|
+
...(!asChild && {
|
|
211
|
+
display: "contents"
|
|
212
|
+
}),
|
|
213
|
+
pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? "auto" : "none" : void 0,
|
|
214
|
+
onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),
|
|
215
|
+
onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),
|
|
216
|
+
onPointerDownCapture: composeEventHandlers(props.onPointerDownCapture, pointerDownOutside.onPointerDownCapture),
|
|
217
|
+
children
|
|
80
218
|
});
|
|
219
|
+
});
|
|
81
220
|
Dismissable.displayName = DISMISSABLE_LAYER_NAME;
|
|
82
|
-
const BRANCH_NAME = "DismissableBranch"
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
221
|
+
const BRANCH_NAME = "DismissableBranch";
|
|
222
|
+
const DismissableBranch = React.forwardRef((props, forwardedRef) => {
|
|
223
|
+
const {
|
|
224
|
+
branches: branchesProp,
|
|
225
|
+
...rest
|
|
226
|
+
} = props;
|
|
227
|
+
const context = React.useContext(DismissableContext);
|
|
228
|
+
const ref = React.useRef(null);
|
|
229
|
+
const composedRefs = useComposedRefs(forwardedRef, ref);
|
|
230
|
+
React.useEffect(() => {
|
|
231
|
+
const node = ref.current;
|
|
232
|
+
if (!(node instanceof HTMLElement)) return;
|
|
233
|
+
const branches = branchesProp || context.branches;
|
|
234
|
+
if (node && branches) {
|
|
235
|
+
branches.add(node);
|
|
236
|
+
return () => {
|
|
237
|
+
branches.delete(node);
|
|
91
238
|
};
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
});
|
|
239
|
+
}
|
|
240
|
+
}, [branchesProp, context.branches]);
|
|
241
|
+
return /* @__PURE__ */jsx(View, {
|
|
242
|
+
asChild: "except-style",
|
|
243
|
+
...rest,
|
|
244
|
+
ref: composedRefs
|
|
99
245
|
});
|
|
246
|
+
});
|
|
100
247
|
DismissableBranch.displayName = BRANCH_NAME;
|
|
101
248
|
function usePointerDownOutside(onPointerDownOutside) {
|
|
102
|
-
const handlePointerDownOutside = useEvent(onPointerDownOutside)
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
249
|
+
const handlePointerDownOutside = useEvent(onPointerDownOutside);
|
|
250
|
+
const isPointerInsideReactTreeRef = React.useRef(false);
|
|
251
|
+
const handleClickRef = React.useRef(() => {});
|
|
252
|
+
React.useEffect(() => {
|
|
106
253
|
const handlePointerDown = event => {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
254
|
+
if (event.target && !isPointerInsideReactTreeRef.current) {
|
|
255
|
+
let handleAndDispatchPointerDownOutsideEvent = function () {
|
|
256
|
+
handleAndDispatchCustomEvent(POINTER_DOWN_OUTSIDE, handlePointerDownOutside, eventDetail, {
|
|
257
|
+
discrete: true
|
|
258
|
+
});
|
|
259
|
+
};
|
|
260
|
+
const eventDetail = {
|
|
261
|
+
originalEvent: event
|
|
262
|
+
};
|
|
263
|
+
if (event.pointerType === "touch") {
|
|
264
|
+
document.removeEventListener("click", handleClickRef.current);
|
|
265
|
+
handleClickRef.current = handleAndDispatchPointerDownOutsideEvent;
|
|
266
|
+
document.addEventListener("click", handleClickRef.current, {
|
|
267
|
+
once: true
|
|
268
|
+
});
|
|
269
|
+
} else {
|
|
270
|
+
handleAndDispatchPointerDownOutsideEvent();
|
|
119
271
|
}
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
272
|
+
}
|
|
273
|
+
isPointerInsideReactTreeRef.current = false;
|
|
274
|
+
};
|
|
275
|
+
const timerId = setTimeout(() => {
|
|
276
|
+
document.addEventListener("pointerdown", handlePointerDown);
|
|
277
|
+
}, 0);
|
|
125
278
|
return () => {
|
|
126
|
-
window.clearTimeout(timerId)
|
|
279
|
+
window.clearTimeout(timerId);
|
|
280
|
+
document.removeEventListener("pointerdown", handlePointerDown);
|
|
281
|
+
document.removeEventListener("click", handleClickRef.current);
|
|
127
282
|
};
|
|
128
|
-
}, [handlePointerDownOutside])
|
|
283
|
+
}, [handlePointerDownOutside]);
|
|
284
|
+
return {
|
|
129
285
|
// ensures we check React component tree (not just DOM tree)
|
|
130
286
|
onPointerDownCapture: () => {
|
|
131
|
-
isPointerInsideReactTreeRef.current =
|
|
287
|
+
isPointerInsideReactTreeRef.current = true;
|
|
132
288
|
}
|
|
133
289
|
};
|
|
134
290
|
}
|
|
135
291
|
function useFocusOutside(onFocusOutside) {
|
|
136
|
-
const handleFocusOutside = useEvent(onFocusOutside)
|
|
137
|
-
|
|
138
|
-
|
|
292
|
+
const handleFocusOutside = useEvent(onFocusOutside);
|
|
293
|
+
const isFocusInsideReactTreeRef = React.useRef(false);
|
|
294
|
+
React.useEffect(() => {
|
|
139
295
|
const handleFocus = event => {
|
|
140
|
-
event.target && !isFocusInsideReactTreeRef.current
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
296
|
+
if (event.target && !isFocusInsideReactTreeRef.current) {
|
|
297
|
+
const eventDetail = {
|
|
298
|
+
originalEvent: event
|
|
299
|
+
};
|
|
300
|
+
handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {
|
|
301
|
+
discrete: false
|
|
302
|
+
});
|
|
303
|
+
}
|
|
145
304
|
};
|
|
146
|
-
|
|
147
|
-
|
|
305
|
+
document.addEventListener("focusin", handleFocus);
|
|
306
|
+
return () => document.removeEventListener("focusin", handleFocus);
|
|
307
|
+
}, [handleFocusOutside]);
|
|
308
|
+
return {
|
|
148
309
|
onFocusCapture: () => {
|
|
149
|
-
isFocusInsideReactTreeRef.current =
|
|
310
|
+
isFocusInsideReactTreeRef.current = true;
|
|
150
311
|
},
|
|
151
312
|
onBlurCapture: () => {
|
|
152
|
-
isFocusInsideReactTreeRef.current =
|
|
313
|
+
isFocusInsideReactTreeRef.current = false;
|
|
153
314
|
}
|
|
154
315
|
};
|
|
155
316
|
}
|
|
@@ -160,15 +321,20 @@ function dispatchUpdate() {
|
|
|
160
321
|
function handleAndDispatchCustomEvent(name, handler, detail, {
|
|
161
322
|
discrete
|
|
162
323
|
}) {
|
|
163
|
-
const target = detail.originalEvent.target
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
handler
|
|
170
|
-
once:
|
|
171
|
-
})
|
|
324
|
+
const target = detail.originalEvent.target;
|
|
325
|
+
const event = new CustomEvent(name, {
|
|
326
|
+
bubbles: false,
|
|
327
|
+
cancelable: true,
|
|
328
|
+
detail
|
|
329
|
+
});
|
|
330
|
+
if (handler) target.addEventListener(name, handler, {
|
|
331
|
+
once: true
|
|
332
|
+
});
|
|
333
|
+
if (discrete) {
|
|
334
|
+
dispatchDiscreteCustomEvent(target, event);
|
|
335
|
+
} else {
|
|
336
|
+
target.dispatchEvent(event);
|
|
337
|
+
}
|
|
172
338
|
}
|
|
173
|
-
export { Dismissable, DismissableBranch, dispatchDiscreteCustomEvent };
|
|
339
|
+
export { Dismissable, DismissableBranch, debugDismissableLayers, dispatchDiscreteCustomEvent, getDismissableLayerCount, useDismissableLayersAbove, useHasDismissableLayers, useIsInsideDismissable };
|
|
174
340
|
//# sourceMappingURL=Dismissable.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useComposedRefs","Slot","View","composeEventHandlers","useEscapeKeydown","useEvent","React","ReactDOM","jsx","dispatchDiscreteCustomEvent","target","event","flushSync","dispatchEvent","DISMISSABLE_LAYER_NAME","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","originalBodyPointerEvents","DismissableContext","createContext","layers","Set","layersWithOutsidePointerEventsDisabled","branches","Dismissable","forwardRef","props","forwardedRef","disableOutsidePointerEvents","forceUnmount","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","asChild","children","layerProps","Comp","context","useContext","node","setNode","useState","force","composedRefs","node2","Array","from","highestLayerWithOutsidePointerEventsDisabled","slice","highestLayerWithOutsidePointerEventsDisabledIndex","indexOf","index","isBodyPointerEventsDisabled","size","isPointerEventsEnabled","pointerDownOutside","usePointerDownOutside","isPointerDownOnBranch","some","branch","contains","defaultPrevented","focusOutside","useFocusOutside","currentLayers","length","preventDefault","useEffect","document","body","style","pointerEvents","add","dispatchUpdate","delete","handleUpdate","addEventListener","removeEventListener","ref","display","onFocusCapture","onBlurCapture","onPointerDownCapture","displayName","BRANCH_NAME","DismissableBranch","useRef","current","handlePointerDownOutside","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent","handleAndDispatchCustomEvent","eventDetail","discrete","originalEvent","pointerType","once","timerId","setTimeout","window","clearTimeout","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","CustomEvent","name","handler","detail","bubbles","cancelable"],"sources":["../../src/Dismissable.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useComposedRefs","Slot","View","composeEventHandlers","useEscapeKeydown","useEvent","React","ReactDOM","jsx","dispatchDiscreteCustomEvent","target","event","flushSync","dispatchEvent","DISMISSABLE_LAYER_NAME","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","originalBodyPointerEvents","globalLayers","Set","layerChangeListeners","layersWithPointerEventsDisabledCount","notifyLayerChange","listener","getDismissableLayerCount","size","debugDismissableLayers","layers","Array","from","console","log","length","useHasDismissableLayers","count","setCount","useState","useEffect","update","add","delete","DismissableContext","createContext","layersWithOutsidePointerEventsDisabled","branches","useIsInsideDismissable","ref","context","useContext","isInside","setIsInside","check","el","current","layer","contains","document","addEventListener","removeEventListener","useDismissableLayersAbove","above","Dismissable","forwardRef","props","forwardedRef","disableOutsidePointerEvents","forceUnmount","onEscapeKeyDown","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","asChild","children","branchesProp","layerProps","Comp","node","setNode","force","composedRefs","node2","highestLayerWithOutsidePointerEventsDisabled","slice","highestLayerWithOutsidePointerEventsDisabledIndex","indexOf","index","isBodyPointerEventsDisabled","isPointerEventsEnabled","pointerDownOutside","usePointerDownOutside","isPointerDownOnBranch","some","branch","defaultPrevented","focusOutside","useFocusOutside","isFocusInBranch","forceUnmountRef","useRef","currentLayers","currentIndex","isHighestLayer","preventDefault","body","style","pointerEvents","dispatchUpdate","hadPointerEventsDisabled","has","handleUpdate","display","onFocusCapture","onBlurCapture","onPointerDownCapture","displayName","BRANCH_NAME","DismissableBranch","rest","HTMLElement","handlePointerDownOutside","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent","handleAndDispatchCustomEvent","eventDetail","discrete","originalEvent","pointerType","once","timerId","setTimeout","window","clearTimeout","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","CustomEvent","name","handler","detail","bubbles","cancelable"],"sources":["../../src/Dismissable.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|