@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.
@@ -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
- if (target)
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 = false,
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
- const index = node ? layers.indexOf(node) : -1;
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
- if (!isPointerEventsEnabled || isPointerDownOnBranch)
54
- return;
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
- const isFocusInBranch = [...context.branches].some(
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
- React.useEffect(() => {
83
- if (!node)
84
- return;
85
- if (disableOutsidePointerEvents) {
86
- if (context.layersWithOutsidePointerEventsDisabled.size === 0) {
87
- originalBodyPointerEvents = document.body.style.pointerEvents;
88
- document.body.style.pointerEvents = "none";
89
- }
90
- context.layersWithOutsidePointerEventsDisabled.add(node);
91
- }
92
- context.layers.add(node);
93
- dispatchUpdate();
94
- return () => {
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
- return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
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
- const ref = React.useRef(null);
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 handleAndDispatchPointerDownOutsideEvent2 = function() {
107
+ let handleAndDispatchPointerDownOutsideEvent = function() {
174
108
  handleAndDispatchCustomEvent(
175
109
  POINTER_DOWN_OUTSIDE,
176
110
  handlePointerDownOutside,
177
111
  eventDetail,
178
- { discrete: true }
112
+ { discrete: !0 }
179
113
  );
180
114
  };
181
- var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;
182
115
  const eventDetail = { originalEvent: event };
183
- if (event.pointerType === "touch") {
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 = false;
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 = true;
128
+ isPointerInsideReactTreeRef.current = !0;
206
129
  }
207
130
  };
208
131
  }
209
132
  function useFocusOutside(onFocusOutside) {
210
- const handleFocusOutside = useEvent(onFocusOutside);
211
- const isFocusInsideReactTreeRef = React.useRef(false);
212
- React.useEffect(() => {
133
+ const handleFocusOutside = useEvent(onFocusOutside), isFocusInsideReactTreeRef = React.useRef(!1);
134
+ return React.useEffect(() => {
213
135
  const handleFocus = (event) => {
214
- if (event.target && !isFocusInsideReactTreeRef.current) {
215
- const eventDetail = { originalEvent: event };
216
- handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {
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
- return () => document.removeEventListener("focusin", handleFocus);
223
- }, [handleFocusOutside]);
224
- return {
140
+ return document.addEventListener("focusin", handleFocus), () => document.removeEventListener("focusin", handleFocus);
141
+ }, [handleFocusOutside]), {
225
142
  onFocusCapture: () => {
226
- isFocusInsideReactTreeRef.current = true;
143
+ isFocusInsideReactTreeRef.current = !0;
227
144
  },
228
145
  onBlurCapture: () => {
229
- isFocusInsideReactTreeRef.current = false;
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
- const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });
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": "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",
5
- "names": ["node", "handleAndDispatchPointerDownOutsideEvent"]
4
+ "mappings": "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",
5
+ "names": ["node"]
6
6
  }
@@ -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
- if (target)
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 = false,
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
- const index = node ? layers.indexOf(node) : -1;
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
- if (!isPointerEventsEnabled || isPointerDownOnBranch)
53
- return;
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
- const isFocusInBranch = [...context.branches].some(
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
- React.useEffect(() => {
82
- if (!node)
83
- return;
84
- if (disableOutsidePointerEvents) {
85
- if (context.layersWithOutsidePointerEventsDisabled.size === 0) {
86
- originalBodyPointerEvents = document.body.style.pointerEvents;
87
- document.body.style.pointerEvents = "none";
88
- }
89
- context.layersWithOutsidePointerEventsDisabled.add(node);
90
- }
91
- context.layers.add(node);
92
- dispatchUpdate();
93
- return () => {
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
- return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
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
- const ref = React.useRef(null);
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 handleAndDispatchPointerDownOutsideEvent2 = function() {
103
+ let handleAndDispatchPointerDownOutsideEvent = function() {
170
104
  handleAndDispatchCustomEvent(
171
105
  POINTER_DOWN_OUTSIDE,
172
106
  handlePointerDownOutside,
173
107
  eventDetail,
174
- { discrete: true }
108
+ { discrete: !0 }
175
109
  );
176
110
  };
177
- var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;
178
111
  const eventDetail = { originalEvent: event };
179
- if (event.pointerType === "touch") {
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 = false;
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 = true;
124
+ isPointerInsideReactTreeRef.current = !0;
202
125
  }
203
126
  };
204
127
  }
205
128
  function useFocusOutside(onFocusOutside) {
206
- const handleFocusOutside = useEvent(onFocusOutside);
207
- const isFocusInsideReactTreeRef = React.useRef(false);
208
- React.useEffect(() => {
129
+ const handleFocusOutside = useEvent(onFocusOutside), isFocusInsideReactTreeRef = React.useRef(!1);
130
+ return React.useEffect(() => {
209
131
  const handleFocus = (event) => {
210
- if (event.target && !isFocusInsideReactTreeRef.current) {
211
- const eventDetail = { originalEvent: event };
212
- handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {
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
- return () => document.removeEventListener("focusin", handleFocus);
219
- }, [handleFocusOutside]);
220
- return {
136
+ return document.addEventListener("focusin", handleFocus), () => document.removeEventListener("focusin", handleFocus);
137
+ }, [handleFocusOutside]), {
221
138
  onFocusCapture: () => {
222
- isFocusInsideReactTreeRef.current = true;
139
+ isFocusInsideReactTreeRef.current = !0;
223
140
  },
224
141
  onBlurCapture: () => {
225
- isFocusInsideReactTreeRef.current = false;
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
- const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });
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": "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",
5
- "names": ["node", "handleAndDispatchPointerDownOutsideEvent"]
4
+ "mappings": "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",
5
+ "names": ["node"]
6
6
  }