@tamagui/dismissable 2.0.0-rc.9 → 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 +9 -8
- 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
|
@@ -7,6 +7,11 @@ export interface DismissableProps {
|
|
|
7
7
|
* interact with them: once to close the `Dismissable`, and again to trigger the element.
|
|
8
8
|
*/
|
|
9
9
|
disableOutsidePointerEvents?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Optional Set of branch elements that should not trigger dismissal.
|
|
12
|
+
* Pass the same Set to DismissableBranch components to scope them to this Dismissable.
|
|
13
|
+
*/
|
|
14
|
+
branches?: Set<HTMLElement>;
|
|
10
15
|
/**
|
|
11
16
|
* Event handler called when the escape key is down.
|
|
12
17
|
* Can be prevented.
|
|
@@ -43,5 +48,10 @@ export interface DismissableProps {
|
|
|
43
48
|
}
|
|
44
49
|
export interface DismissableBranchProps {
|
|
45
50
|
children?: React.ReactNode;
|
|
51
|
+
/**
|
|
52
|
+
* Optional Set to register this branch with.
|
|
53
|
+
* Pass the same Set to the Dismissable to scope this branch to that specific layer.
|
|
54
|
+
*/
|
|
55
|
+
branches?: Set<HTMLElement>;
|
|
46
56
|
}
|
|
47
57
|
//# sourceMappingURL=DismissableProps.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DismissableProps.d.ts","sourceRoot":"","sources":["../src/DismissableProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAE/E,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC;;;OAGG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAA;IAC5C;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAA;IAC/D;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACnD;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,GAAG,iBAAiB,KAAK,IAAI,CAAA;IAEhF;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IAEtB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,oBAAoB,CAAC,EAAE,GAAG,CAAA;IAC1B,aAAa,CAAC,EAAE,GAAG,CAAA;IACnB,cAAc,CAAC,EAAE,GAAG,CAAA;IAEpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"DismissableProps.d.ts","sourceRoot":"","sources":["../src/DismissableProps.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAE/E,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC;;;OAGG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;IAC3B;;;OAGG;IACH,eAAe,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAA;IAC5C;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAA;IAC/D;;;OAGG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAA;IACnD;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,GAAG,iBAAiB,KAAK,IAAI,CAAA;IAEhF;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IAEtB;;OAEG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IAEtB,oBAAoB,CAAC,EAAE,GAAG,CAAA;IAC1B,aAAa,CAAC,EAAE,GAAG,CAAA;IACnB,cAAc,CAAC,EAAE,GAAG,CAAA;IAEpB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC1B;;;OAGG;IACH,QAAQ,CAAC,EAAE,GAAG,CAAC,WAAW,CAAC,CAAA;CAC5B"}
|
package/dist/cjs/Dismissable.js
DELETED
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
|
-
var __defProp = Object.defineProperty;
|
|
3
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf, __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
-
var __export = (target, all) => {
|
|
7
|
-
for (var name in all)
|
|
8
|
-
__defProp(target, name, { get: all[name], enumerable: !0 });
|
|
9
|
-
}, __copyProps = (to, from, except, desc) => {
|
|
10
|
-
if (from && typeof from == "object" || typeof from == "function")
|
|
11
|
-
for (let key of __getOwnPropNames(from))
|
|
12
|
-
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
13
|
-
return to;
|
|
14
|
-
};
|
|
15
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
16
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
17
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
18
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
19
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
20
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: !0 }) : target,
|
|
21
|
-
mod
|
|
22
|
-
)), __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
23
|
-
var Dismissable_exports = {};
|
|
24
|
-
__export(Dismissable_exports, {
|
|
25
|
-
Dismissable: () => Dismissable,
|
|
26
|
-
DismissableBranch: () => DismissableBranch,
|
|
27
|
-
dispatchDiscreteCustomEvent: () => dispatchDiscreteCustomEvent
|
|
28
|
-
});
|
|
29
|
-
module.exports = __toCommonJS(Dismissable_exports);
|
|
30
|
-
var import_compose_refs = require("@tamagui/compose-refs"), import_core = require("@tamagui/core"), import_use_escape_keydown = require("@tamagui/use-escape-keydown"), import_use_event = require("@tamagui/use-event"), React = __toESM(require("react"), 1), ReactDOM = __toESM(require("react-dom"), 1), import_jsx_runtime = require("react/jsx-runtime");
|
|
31
|
-
function dispatchDiscreteCustomEvent(target, event) {
|
|
32
|
-
target && ReactDOM.flushSync(() => target.dispatchEvent(event));
|
|
33
|
-
}
|
|
34
|
-
const DISMISSABLE_LAYER_NAME = "Dismissable", CONTEXT_UPDATE = "dismissable.update", POINTER_DOWN_OUTSIDE = "dismissable.pointerDownOutside", FOCUS_OUTSIDE = "dismissable.focusOutside";
|
|
35
|
-
let originalBodyPointerEvents;
|
|
36
|
-
const DismissableContext = React.createContext({
|
|
37
|
-
layers: /* @__PURE__ */ new Set(),
|
|
38
|
-
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
|
|
39
|
-
branches: /* @__PURE__ */ new Set()
|
|
40
|
-
}), Dismissable = React.forwardRef((props, forwardedRef) => {
|
|
41
|
-
const {
|
|
42
|
-
disableOutsidePointerEvents = !1,
|
|
43
|
-
forceUnmount,
|
|
44
|
-
onEscapeKeyDown,
|
|
45
|
-
onPointerDownOutside,
|
|
46
|
-
onFocusOutside,
|
|
47
|
-
onInteractOutside,
|
|
48
|
-
onDismiss,
|
|
49
|
-
asChild,
|
|
50
|
-
children,
|
|
51
|
-
...layerProps
|
|
52
|
-
} = props, Comp = asChild ? import_core.Slot : import_core.View, context = React.useContext(DismissableContext), [node, setNode] = React.useState(null), [, force] = React.useState({}), composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, (node2) => setNode(node2)), layers = Array.from(context.layers), [highestLayerWithOutsidePointerEventsDisabled] = [
|
|
53
|
-
...context.layersWithOutsidePointerEventsDisabled
|
|
54
|
-
].slice(-1), highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(
|
|
55
|
-
highestLayerWithOutsidePointerEventsDisabled
|
|
56
|
-
), index = node ? layers.indexOf(node) : -1, isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0, isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex, pointerDownOutside = usePointerDownOutside((event) => {
|
|
57
|
-
const target = event.target, isPointerDownOnBranch = [...context.branches].some(
|
|
58
|
-
(branch) => branch.contains(target)
|
|
59
|
-
);
|
|
60
|
-
!isPointerEventsEnabled || isPointerDownOnBranch || (onPointerDownOutside?.(event), onInteractOutside?.(event), event.defaultPrevented || onDismiss?.());
|
|
61
|
-
}), focusOutside = useFocusOutside((event) => {
|
|
62
|
-
const target = event.target;
|
|
63
|
-
[...context.branches].some(
|
|
64
|
-
(branch) => branch.contains(target)
|
|
65
|
-
) || (onFocusOutside?.(event), onInteractOutside?.(event), event.defaultPrevented || onDismiss?.());
|
|
66
|
-
});
|
|
67
|
-
return (0, import_use_escape_keydown.useEscapeKeydown)((event) => {
|
|
68
|
-
const currentLayers = Array.from(context.layers);
|
|
69
|
-
(node ? currentLayers.indexOf(node) : -1) === currentLayers.length - 1 && (onEscapeKeyDown?.(event), !event.defaultPrevented && onDismiss && (event.preventDefault(), onDismiss()));
|
|
70
|
-
}), React.useEffect(() => {
|
|
71
|
-
if (node)
|
|
72
|
-
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(), () => {
|
|
73
|
-
disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1 && (document.body.style.pointerEvents = originalBodyPointerEvents);
|
|
74
|
-
};
|
|
75
|
-
}, [node, disableOutsidePointerEvents, context]), React.useEffect(() => {
|
|
76
|
-
if (!forceUnmount)
|
|
77
|
-
return () => {
|
|
78
|
-
node && (context.layers.delete(node), context.layersWithOutsidePointerEventsDisabled.delete(node), dispatchUpdate());
|
|
79
|
-
};
|
|
80
|
-
}, [node, context, forceUnmount]), React.useEffect(() => {
|
|
81
|
-
const handleUpdate = () => {
|
|
82
|
-
force({});
|
|
83
|
-
};
|
|
84
|
-
return document.addEventListener(CONTEXT_UPDATE, handleUpdate), () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
85
|
-
}, []), /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
86
|
-
Comp,
|
|
87
|
-
{
|
|
88
|
-
...layerProps,
|
|
89
|
-
ref: composedRefs,
|
|
90
|
-
display: "contents",
|
|
91
|
-
pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? "auto" : "none" : void 0,
|
|
92
|
-
onFocusCapture: (0, import_core.composeEventHandlers)(
|
|
93
|
-
props.onFocusCapture,
|
|
94
|
-
focusOutside.onFocusCapture
|
|
95
|
-
),
|
|
96
|
-
onBlurCapture: (0, import_core.composeEventHandlers)(
|
|
97
|
-
props.onBlurCapture,
|
|
98
|
-
focusOutside.onBlurCapture
|
|
99
|
-
),
|
|
100
|
-
onPointerDownCapture: (0, import_core.composeEventHandlers)(
|
|
101
|
-
props.onPointerDownCapture,
|
|
102
|
-
pointerDownOutside.onPointerDownCapture
|
|
103
|
-
),
|
|
104
|
-
children
|
|
105
|
-
}
|
|
106
|
-
);
|
|
107
|
-
});
|
|
108
|
-
Dismissable.displayName = DISMISSABLE_LAYER_NAME;
|
|
109
|
-
const BRANCH_NAME = "DismissableBranch", DismissableBranch = React.forwardRef(
|
|
110
|
-
(props, forwardedRef) => {
|
|
111
|
-
const context = React.useContext(DismissableContext), ref = React.useRef(null), composedRefs = (0, import_compose_refs.useComposedRefs)(forwardedRef, ref);
|
|
112
|
-
return React.useEffect(() => {
|
|
113
|
-
const node = ref.current;
|
|
114
|
-
if (node)
|
|
115
|
-
return context.branches.add(node), () => {
|
|
116
|
-
context.branches.delete(node);
|
|
117
|
-
};
|
|
118
|
-
}, [context.branches]), /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { style: { display: "contents" }, ...props, ref: composedRefs });
|
|
119
|
-
}
|
|
120
|
-
);
|
|
121
|
-
DismissableBranch.displayName = BRANCH_NAME;
|
|
122
|
-
function usePointerDownOutside(onPointerDownOutside) {
|
|
123
|
-
const handlePointerDownOutside = (0, import_use_event.useEvent)(onPointerDownOutside), isPointerInsideReactTreeRef = React.useRef(!1), handleClickRef = React.useRef(() => {
|
|
124
|
-
});
|
|
125
|
-
return React.useEffect(() => {
|
|
126
|
-
const handlePointerDown = (event) => {
|
|
127
|
-
if (event.target && !isPointerInsideReactTreeRef.current) {
|
|
128
|
-
let handleAndDispatchPointerDownOutsideEvent = function() {
|
|
129
|
-
handleAndDispatchCustomEvent(
|
|
130
|
-
POINTER_DOWN_OUTSIDE,
|
|
131
|
-
handlePointerDownOutside,
|
|
132
|
-
eventDetail,
|
|
133
|
-
{ discrete: !0 }
|
|
134
|
-
);
|
|
135
|
-
};
|
|
136
|
-
const eventDetail = { originalEvent: event };
|
|
137
|
-
event.pointerType === "touch" ? (document.removeEventListener("click", handleClickRef.current), handleClickRef.current = handleAndDispatchPointerDownOutsideEvent, document.addEventListener("click", handleClickRef.current, { once: !0 })) : handleAndDispatchPointerDownOutsideEvent();
|
|
138
|
-
}
|
|
139
|
-
isPointerInsideReactTreeRef.current = !1;
|
|
140
|
-
}, timerId = setTimeout(() => {
|
|
141
|
-
document.addEventListener("pointerdown", handlePointerDown);
|
|
142
|
-
}, 0);
|
|
143
|
-
return () => {
|
|
144
|
-
window.clearTimeout(timerId), document.removeEventListener("pointerdown", handlePointerDown), document.removeEventListener("click", handleClickRef.current);
|
|
145
|
-
};
|
|
146
|
-
}, [handlePointerDownOutside]), {
|
|
147
|
-
// ensures we check React component tree (not just DOM tree)
|
|
148
|
-
onPointerDownCapture: () => {
|
|
149
|
-
isPointerInsideReactTreeRef.current = !0;
|
|
150
|
-
}
|
|
151
|
-
};
|
|
152
|
-
}
|
|
153
|
-
function useFocusOutside(onFocusOutside) {
|
|
154
|
-
const handleFocusOutside = (0, import_use_event.useEvent)(onFocusOutside), isFocusInsideReactTreeRef = React.useRef(!1);
|
|
155
|
-
return React.useEffect(() => {
|
|
156
|
-
const handleFocus = (event) => {
|
|
157
|
-
event.target && !isFocusInsideReactTreeRef.current && handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, { originalEvent: event }, {
|
|
158
|
-
discrete: !1
|
|
159
|
-
});
|
|
160
|
-
};
|
|
161
|
-
return document.addEventListener("focusin", handleFocus), () => document.removeEventListener("focusin", handleFocus);
|
|
162
|
-
}, [handleFocusOutside]), {
|
|
163
|
-
onFocusCapture: () => {
|
|
164
|
-
isFocusInsideReactTreeRef.current = !0;
|
|
165
|
-
},
|
|
166
|
-
onBlurCapture: () => {
|
|
167
|
-
isFocusInsideReactTreeRef.current = !1;
|
|
168
|
-
}
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
function dispatchUpdate() {
|
|
172
|
-
const event = new CustomEvent(CONTEXT_UPDATE);
|
|
173
|
-
document.dispatchEvent(event);
|
|
174
|
-
}
|
|
175
|
-
function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
|
|
176
|
-
const target = detail.originalEvent.target, event = new CustomEvent(name, { bubbles: !1, cancelable: !0, detail });
|
|
177
|
-
handler && target.addEventListener(name, handler, { once: !0 }), discrete ? dispatchDiscreteCustomEvent(target, event) : target.dispatchEvent(event);
|
|
178
|
-
}
|
|
179
|
-
//# sourceMappingURL=Dismissable.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/Dismissable.tsx"],
|
|
4
|
-
"mappings": ";;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,0BAAgC,kCAChC,cAAiD,0BACjD,4BAAiC,wCACjC,mBAAyB,+BACzB,QAAuB,8BACvB,WAA0B,kCAiJtB;AA7IG,SAAS,4BACd,QACA,OACA;AACA,EAAI,UAAQ,SAAS,UAAU,MAAM,OAAO,cAAc,KAAK,CAAC;AAClE;AAMA,MAAM,yBAAyB,eACzB,iBAAiB,sBACjB,uBAAuB,kCACvB,gBAAgB;AAEtB,IAAI;AAEJ,MAAM,qBAAqB,MAAM,cAAc;AAAA,EAC7C,QAAQ,oBAAI,IAAoB;AAAA,EAChC,wCAAwC,oBAAI,IAAoB;AAAA,EAChE,UAAU,oBAAI,IAAoB;AACpC,CAAC,GAEK,cAAc,MAAM,WAGxB,CAAC,OAAO,iBAAiB;AACzB,QAAM;AAAA,IACJ,8BAA8B;AAAA,IAC9B;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI,OACE,OAAQ,UAAU,mBAAO,kBACzB,UAAU,MAAM,WAAW,kBAAkB,GAC7C,CAAC,MAAM,OAAO,IAAI,MAAM,SAAgC,IAAI,GAC5D,CAAC,EAAE,KAAK,IAAI,MAAM,SAAS,CAAC,CAAC,GAC7B,mBAAe,qCAAgB,cAAc,CAACA,UAAS,QAAQA,KAAI,CAAC,GACpE,SAAS,MAAM,KAAK,QAAQ,MAAM,GAElC,CAAC,4CAA4C,IAAI;AAAA,IACrD,GAAG,QAAQ;AAAA,EACb,EAAE,MAAM,EAAE,GACJ,oDAAoD,OAAO;AAAA,IAC/D;AAAA,EACF,GAEM,QAAQ,OAAO,OAAO,QAAQ,IAAI,IAAI,IACtC,8BACJ,QAAQ,uCAAuC,OAAO,GAClD,yBACJ,SAAS,mDAEL,qBAAqB,sBAAsB,CAAC,UAAU;AAC1D,UAAM,SAAS,MAAM,QACf,wBAAwB,CAAC,GAAG,QAAQ,QAAQ,EAAE;AAAA,MAAK,CAAC,WACxD,OAAO,SAAS,MAAM;AAAA,IACxB;AACA,IAAI,CAAC,0BAA0B,0BAC/B,uBAAuB,KAAK,GAC5B,oBAAoB,KAAK,GACpB,MAAM,oBAAkB,YAAY;AAAA,EAC3C,CAAC,GAEK,eAAe,gBAAgB,CAAC,UAAU;AAC9C,UAAM,SAAS,MAAM;AAIrB,IAHwB,CAAC,GAAG,QAAQ,QAAQ,EAAE;AAAA,MAAK,CAAC,WAClD,OAAO,SAAS,MAAM;AAAA,IACxB,MAEA,iBAAiB,KAAK,GACtB,oBAAoB,KAAK,GACpB,MAAM,oBAAkB,YAAY;AAAA,EAC3C,CAAC;AAED,yDAAiB,CAAC,UAAU;AAE1B,UAAM,gBAAgB,MAAM,KAAK,QAAQ,MAAM;AAG/C,KAFqB,OAAO,cAAc,QAAQ,IAAI,IAAI,QAClB,cAAc,SAAS,MAE/D,kBAAkB,KAAK,GACnB,CAAC,MAAM,oBAAoB,cAC7B,MAAM,eAAe,GACrB,UAAU;AAAA,EAEd,CAAC,GAED,MAAM,UAAU,MAAM;AACpB,QAAK;AACL,aAAI,gCACE,QAAQ,uCAAuC,SAAS,MAC1D,4BAA4B,SAAS,KAAK,MAAM,eAChD,SAAS,KAAK,MAAM,gBAAgB,SAEtC,QAAQ,uCAAuC,IAAI,IAAI,IAEzD,QAAQ,OAAO,IAAI,IAAI,GACvB,eAAe,GACR,MAAM;AACX,QACE,+BACA,QAAQ,uCAAuC,SAAS,MAExD,SAAS,KAAK,MAAM,gBAAgB;AAAA,MAExC;AAAA,EACF,GAAG,CAAC,MAAM,6BAA6B,OAAO,CAAC,GAQ/C,MAAM,UAAU,MAAM;AACpB,QAAI;AACJ,aAAO,MAAM;AACX,QAAK,SACL,QAAQ,OAAO,OAAO,IAAI,GAC1B,QAAQ,uCAAuC,OAAO,IAAI,GAC1D,eAAe;AAAA,MACjB;AAAA,EACF,GAAG,CAAC,MAAM,SAAS,YAAY,CAAC,GAEhC,MAAM,UAAU,MAAM;AACpB,UAAM,eAAe,MAAM;AACzB,YAAM,CAAC,CAAC;AAAA,IACV;AACA,oBAAS,iBAAiB,gBAAgB,YAAY,GAC/C,MAAM,SAAS,oBAAoB,gBAAgB,YAAY;AAAA,EACxE,GAAG,CAAC,CAAC,GAGH;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MAEJ,KAAK;AAAA,MACL,SAAQ;AAAA,MACR,eACE,8BACI,yBACE,SACA,SACF;AAAA,MAEN,oBAAgB;AAAA,QACd,MAAM;AAAA,QACN,aAAa;AAAA,MACf;AAAA,MACA,mBAAe;AAAA,QACb,MAAM;AAAA,QACN,aAAa;AAAA,MACf;AAAA,MACA,0BAAsB;AAAA,QACpB,MAAM;AAAA,QACN,mBAAmB;AAAA,MACrB;AAAA,MAEC;AAAA;AAAA,EACH;AAEJ,CAAC;AAED,YAAY,cAAc;AAM1B,MAAM,cAAc,qBAEd,oBAAoB,MAAM;AAAA,EAC9B,CAAC,OAAO,iBAAiB;AACvB,UAAM,UAAU,MAAM,WAAW,kBAAkB,GAC7C,MAAM,MAAM,OAAuB,IAAI,GACvC,mBAAe,qCAAgB,cAAc,GAAG;AAEtD,iBAAM,UAAU,MAAM;AACpB,YAAM,OAAO,IAAI;AACjB,UAAI;AACF,uBAAQ,SAAS,IAAI,IAAI,GAClB,MAAM;AACX,kBAAQ,SAAS,OAAO,IAAI;AAAA,QAC9B;AAAA,IAEJ,GAAG,CAAC,QAAQ,QAAQ,CAAC,GAEd,4CAAC,SAAI,OAAO,EAAE,SAAS,WAAW,GAAI,GAAG,OAAO,KAAK,cAAc;AAAA,EAC5E;AACF;AAEA,kBAAkB,cAAc;AAYhC,SAAS,sBACP,sBACA;AACA,QAAM,+BAA2B,2BAAS,oBAAoB,GACxD,8BAA8B,MAAM,OAAO,EAAK,GAChD,iBAAiB,MAAM,OAAO,MAAM;AAAA,EAAC,CAAC;AAE5C,eAAM,UAAU,MAAM;AACpB,UAAM,oBAAoB,CAAC,UAAwB;AACjD,UAAI,MAAM,UAAU,CAAC,4BAA4B,SAAS;AAGxD,YAAS,2CAAT,WAAoD;AAClD;AAAA,YACE;AAAA,YACA;AAAA,YACA;AAAA,YACA,EAAE,UAAU,GAAK;AAAA,UACnB;AAAA,QACF;AATA,cAAM,cAAc,EAAE,eAAe,MAAM;AAuB3C,QAAI,MAAM,gBAAgB,WACxB,SAAS,oBAAoB,SAAS,eAAe,OAAO,GAC5D,eAAe,UAAU,0CACzB,SAAS,iBAAiB,SAAS,eAAe,SAAS,EAAE,MAAM,GAAK,CAAC,KAEzE,yCAAyC;AAAA,MAE7C;AACA,kCAA4B,UAAU;AAAA,IACxC,GAcM,UAAU,WAAW,MAAM;AAC/B,eAAS,iBAAiB,eAAe,iBAAiB;AAAA,IAC5D,GAAG,CAAC;AACJ,WAAO,MAAM;AACX,aAAO,aAAa,OAAO,GAC3B,SAAS,oBAAoB,eAAe,iBAAiB,GAC7D,SAAS,oBAAoB,SAAS,eAAe,OAAO;AAAA,IAC9D;AAAA,EACF,GAAG,CAAC,wBAAwB,CAAC,GAEtB;AAAA;AAAA,IAEL,sBAAsB,MAAM;AAC1B,kCAA4B,UAAU;AAAA,IACxC;AAAA,EACF;AACF;AAMA,SAAS,gBAAgB,gBAAqD;AAC5E,QAAM,yBAAqB,2BAAS,cAAc,GAC5C,4BAA4B,MAAM,OAAO,EAAK;AAEpD,eAAM,UAAU,MAAM;AACpB,UAAM,cAAc,CAAC,UAAsB;AACzC,MAAI,MAAM,UAAU,CAAC,0BAA0B,WAE7C,6BAA6B,eAAe,oBADxB,EAAE,eAAe,MAAM,GACkC;AAAA,QAC3E,UAAU;AAAA,MACZ,CAAC;AAAA,IAEL;AACA,oBAAS,iBAAiB,WAAW,WAAW,GACzC,MAAM,SAAS,oBAAoB,WAAW,WAAW;AAAA,EAClE,GAAG,CAAC,kBAAkB,CAAC,GAEhB;AAAA,IACL,gBAAgB,MAAM;AACpB,gCAA0B,UAAU;AAAA,IACtC;AAAA,IACA,eAAe,MAAM;AACnB,gCAA0B,UAAU;AAAA,IACtC;AAAA,EACF;AACF;AAEA,SAAS,iBAAiB;AACxB,QAAM,QAAQ,IAAI,YAAY,cAAc;AAC5C,WAAS,cAAc,KAAK;AAC9B;AAEA,SAAS,6BACP,MACA,SACA,QACA,EAAE,SAAS,GACX;AACA,QAAM,SAAS,OAAO,cAAc,QAC9B,QAAQ,IAAI,YAAY,MAAM,EAAE,SAAS,IAAO,YAAY,IAAM,OAAO,CAAC;AAChF,EAAI,WAAS,OAAO,iBAAiB,MAAM,SAA0B,EAAE,MAAM,GAAK,CAAC,GAE/E,WACF,4BAA4B,QAAQ,KAAK,IAEzC,OAAO,cAAc,KAAK;AAE9B;",
|
|
5
|
-
"names": ["node"]
|
|
6
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __copyProps = (to, from, except, desc) => {
|
|
6
|
-
if (from && typeof from == "object" || typeof from == "function")
|
|
7
|
-
for (let key of __getOwnPropNames(from))
|
|
8
|
-
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
|
-
return to;
|
|
10
|
-
};
|
|
11
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
12
|
-
var DismissableProps_exports = {};
|
|
13
|
-
module.exports = __toCommonJS(DismissableProps_exports);
|
|
14
|
-
//# sourceMappingURL=DismissableProps.js.map
|
package/dist/cjs/index.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
var __defProp = Object.defineProperty;
|
|
2
|
-
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
3
|
-
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
4
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
5
|
-
var __copyProps = (to, from, except, desc) => {
|
|
6
|
-
if (from && typeof from == "object" || typeof from == "function")
|
|
7
|
-
for (let key of __getOwnPropNames(from))
|
|
8
|
-
!__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
9
|
-
return to;
|
|
10
|
-
}, __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
11
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
|
|
12
|
-
var index_exports = {};
|
|
13
|
-
module.exports = __toCommonJS(index_exports);
|
|
14
|
-
__reExport(index_exports, require("./Dismissable"), module.exports);
|
|
15
|
-
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
DELETED
package/dist/esm/Dismissable.js
DELETED
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import { useComposedRefs } from "@tamagui/compose-refs";
|
|
2
|
-
import { Slot, View, composeEventHandlers } from "@tamagui/core";
|
|
3
|
-
import { useEscapeKeydown } from "@tamagui/use-escape-keydown";
|
|
4
|
-
import { useEvent } from "@tamagui/use-event";
|
|
5
|
-
import * as React from "react";
|
|
6
|
-
import * as ReactDOM from "react-dom";
|
|
7
|
-
import { jsx } from "react/jsx-runtime";
|
|
8
|
-
function dispatchDiscreteCustomEvent(target, event) {
|
|
9
|
-
target && ReactDOM.flushSync(() => target.dispatchEvent(event));
|
|
10
|
-
}
|
|
11
|
-
const DISMISSABLE_LAYER_NAME = "Dismissable", CONTEXT_UPDATE = "dismissable.update", POINTER_DOWN_OUTSIDE = "dismissable.pointerDownOutside", FOCUS_OUTSIDE = "dismissable.focusOutside";
|
|
12
|
-
let originalBodyPointerEvents;
|
|
13
|
-
const DismissableContext = React.createContext({
|
|
14
|
-
layers: /* @__PURE__ */ new Set(),
|
|
15
|
-
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
|
|
16
|
-
branches: /* @__PURE__ */ new Set()
|
|
17
|
-
}), Dismissable = React.forwardRef((props, forwardedRef) => {
|
|
18
|
-
const {
|
|
19
|
-
disableOutsidePointerEvents = !1,
|
|
20
|
-
forceUnmount,
|
|
21
|
-
onEscapeKeyDown,
|
|
22
|
-
onPointerDownOutside,
|
|
23
|
-
onFocusOutside,
|
|
24
|
-
onInteractOutside,
|
|
25
|
-
onDismiss,
|
|
26
|
-
asChild,
|
|
27
|
-
children,
|
|
28
|
-
...layerProps
|
|
29
|
-
} = props, Comp = asChild ? Slot : View, context = React.useContext(DismissableContext), [node, setNode] = React.useState(null), [, force] = React.useState({}), composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2)), layers = Array.from(context.layers), [highestLayerWithOutsidePointerEventsDisabled] = [
|
|
30
|
-
...context.layersWithOutsidePointerEventsDisabled
|
|
31
|
-
].slice(-1), highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(
|
|
32
|
-
highestLayerWithOutsidePointerEventsDisabled
|
|
33
|
-
), index = node ? layers.indexOf(node) : -1, isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0, isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex, pointerDownOutside = usePointerDownOutside((event) => {
|
|
34
|
-
const target = event.target, isPointerDownOnBranch = [...context.branches].some(
|
|
35
|
-
(branch) => branch.contains(target)
|
|
36
|
-
);
|
|
37
|
-
!isPointerEventsEnabled || isPointerDownOnBranch || (onPointerDownOutside?.(event), onInteractOutside?.(event), event.defaultPrevented || onDismiss?.());
|
|
38
|
-
}), focusOutside = useFocusOutside((event) => {
|
|
39
|
-
const target = event.target;
|
|
40
|
-
[...context.branches].some(
|
|
41
|
-
(branch) => branch.contains(target)
|
|
42
|
-
) || (onFocusOutside?.(event), onInteractOutside?.(event), event.defaultPrevented || onDismiss?.());
|
|
43
|
-
});
|
|
44
|
-
return useEscapeKeydown((event) => {
|
|
45
|
-
const currentLayers = Array.from(context.layers);
|
|
46
|
-
(node ? currentLayers.indexOf(node) : -1) === currentLayers.length - 1 && (onEscapeKeyDown?.(event), !event.defaultPrevented && onDismiss && (event.preventDefault(), onDismiss()));
|
|
47
|
-
}), React.useEffect(() => {
|
|
48
|
-
if (node)
|
|
49
|
-
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(), () => {
|
|
50
|
-
disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1 && (document.body.style.pointerEvents = originalBodyPointerEvents);
|
|
51
|
-
};
|
|
52
|
-
}, [node, disableOutsidePointerEvents, context]), React.useEffect(() => {
|
|
53
|
-
if (!forceUnmount)
|
|
54
|
-
return () => {
|
|
55
|
-
node && (context.layers.delete(node), context.layersWithOutsidePointerEventsDisabled.delete(node), dispatchUpdate());
|
|
56
|
-
};
|
|
57
|
-
}, [node, context, forceUnmount]), React.useEffect(() => {
|
|
58
|
-
const handleUpdate = () => {
|
|
59
|
-
force({});
|
|
60
|
-
};
|
|
61
|
-
return document.addEventListener(CONTEXT_UPDATE, handleUpdate), () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
62
|
-
}, []), /* @__PURE__ */ jsx(
|
|
63
|
-
Comp,
|
|
64
|
-
{
|
|
65
|
-
...layerProps,
|
|
66
|
-
ref: composedRefs,
|
|
67
|
-
display: "contents",
|
|
68
|
-
pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? "auto" : "none" : void 0,
|
|
69
|
-
onFocusCapture: composeEventHandlers(
|
|
70
|
-
props.onFocusCapture,
|
|
71
|
-
focusOutside.onFocusCapture
|
|
72
|
-
),
|
|
73
|
-
onBlurCapture: composeEventHandlers(
|
|
74
|
-
props.onBlurCapture,
|
|
75
|
-
focusOutside.onBlurCapture
|
|
76
|
-
),
|
|
77
|
-
onPointerDownCapture: composeEventHandlers(
|
|
78
|
-
props.onPointerDownCapture,
|
|
79
|
-
pointerDownOutside.onPointerDownCapture
|
|
80
|
-
),
|
|
81
|
-
children
|
|
82
|
-
}
|
|
83
|
-
);
|
|
84
|
-
});
|
|
85
|
-
Dismissable.displayName = DISMISSABLE_LAYER_NAME;
|
|
86
|
-
const BRANCH_NAME = "DismissableBranch", DismissableBranch = React.forwardRef(
|
|
87
|
-
(props, forwardedRef) => {
|
|
88
|
-
const context = React.useContext(DismissableContext), ref = React.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref);
|
|
89
|
-
return React.useEffect(() => {
|
|
90
|
-
const node = ref.current;
|
|
91
|
-
if (node)
|
|
92
|
-
return context.branches.add(node), () => {
|
|
93
|
-
context.branches.delete(node);
|
|
94
|
-
};
|
|
95
|
-
}, [context.branches]), /* @__PURE__ */ jsx("div", { style: { display: "contents" }, ...props, ref: composedRefs });
|
|
96
|
-
}
|
|
97
|
-
);
|
|
98
|
-
DismissableBranch.displayName = BRANCH_NAME;
|
|
99
|
-
function usePointerDownOutside(onPointerDownOutside) {
|
|
100
|
-
const handlePointerDownOutside = useEvent(onPointerDownOutside), isPointerInsideReactTreeRef = React.useRef(!1), handleClickRef = React.useRef(() => {
|
|
101
|
-
});
|
|
102
|
-
return React.useEffect(() => {
|
|
103
|
-
const handlePointerDown = (event) => {
|
|
104
|
-
if (event.target && !isPointerInsideReactTreeRef.current) {
|
|
105
|
-
let handleAndDispatchPointerDownOutsideEvent = function() {
|
|
106
|
-
handleAndDispatchCustomEvent(
|
|
107
|
-
POINTER_DOWN_OUTSIDE,
|
|
108
|
-
handlePointerDownOutside,
|
|
109
|
-
eventDetail,
|
|
110
|
-
{ discrete: !0 }
|
|
111
|
-
);
|
|
112
|
-
};
|
|
113
|
-
const eventDetail = { originalEvent: event };
|
|
114
|
-
event.pointerType === "touch" ? (document.removeEventListener("click", handleClickRef.current), handleClickRef.current = handleAndDispatchPointerDownOutsideEvent, document.addEventListener("click", handleClickRef.current, { once: !0 })) : handleAndDispatchPointerDownOutsideEvent();
|
|
115
|
-
}
|
|
116
|
-
isPointerInsideReactTreeRef.current = !1;
|
|
117
|
-
}, timerId = setTimeout(() => {
|
|
118
|
-
document.addEventListener("pointerdown", handlePointerDown);
|
|
119
|
-
}, 0);
|
|
120
|
-
return () => {
|
|
121
|
-
window.clearTimeout(timerId), document.removeEventListener("pointerdown", handlePointerDown), document.removeEventListener("click", handleClickRef.current);
|
|
122
|
-
};
|
|
123
|
-
}, [handlePointerDownOutside]), {
|
|
124
|
-
// ensures we check React component tree (not just DOM tree)
|
|
125
|
-
onPointerDownCapture: () => {
|
|
126
|
-
isPointerInsideReactTreeRef.current = !0;
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
function useFocusOutside(onFocusOutside) {
|
|
131
|
-
const handleFocusOutside = useEvent(onFocusOutside), isFocusInsideReactTreeRef = React.useRef(!1);
|
|
132
|
-
return React.useEffect(() => {
|
|
133
|
-
const handleFocus = (event) => {
|
|
134
|
-
event.target && !isFocusInsideReactTreeRef.current && handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, { originalEvent: event }, {
|
|
135
|
-
discrete: !1
|
|
136
|
-
});
|
|
137
|
-
};
|
|
138
|
-
return document.addEventListener("focusin", handleFocus), () => document.removeEventListener("focusin", handleFocus);
|
|
139
|
-
}, [handleFocusOutside]), {
|
|
140
|
-
onFocusCapture: () => {
|
|
141
|
-
isFocusInsideReactTreeRef.current = !0;
|
|
142
|
-
},
|
|
143
|
-
onBlurCapture: () => {
|
|
144
|
-
isFocusInsideReactTreeRef.current = !1;
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
function dispatchUpdate() {
|
|
149
|
-
const event = new CustomEvent(CONTEXT_UPDATE);
|
|
150
|
-
document.dispatchEvent(event);
|
|
151
|
-
}
|
|
152
|
-
function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
|
|
153
|
-
const target = detail.originalEvent.target, event = new CustomEvent(name, { bubbles: !1, cancelable: !0, detail });
|
|
154
|
-
handler && target.addEventListener(name, handler, { once: !0 }), discrete ? dispatchDiscreteCustomEvent(target, event) : target.dispatchEvent(event);
|
|
155
|
-
}
|
|
156
|
-
export {
|
|
157
|
-
Dismissable,
|
|
158
|
-
DismissableBranch,
|
|
159
|
-
dispatchDiscreteCustomEvent
|
|
160
|
-
};
|
|
161
|
-
//# sourceMappingURL=Dismissable.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/Dismissable.tsx"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["node"]
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=DismissableProps.js.map
|
package/dist/jsx/Dismissable.js
DELETED
|
@@ -1,161 +0,0 @@
|
|
|
1
|
-
import { useComposedRefs } from "@tamagui/compose-refs";
|
|
2
|
-
import { Slot, View, composeEventHandlers } from "@tamagui/core";
|
|
3
|
-
import { useEscapeKeydown } from "@tamagui/use-escape-keydown";
|
|
4
|
-
import { useEvent } from "@tamagui/use-event";
|
|
5
|
-
import * as React from "react";
|
|
6
|
-
import * as ReactDOM from "react-dom";
|
|
7
|
-
import { jsx } from "react/jsx-runtime";
|
|
8
|
-
function dispatchDiscreteCustomEvent(target, event) {
|
|
9
|
-
target && ReactDOM.flushSync(() => target.dispatchEvent(event));
|
|
10
|
-
}
|
|
11
|
-
const DISMISSABLE_LAYER_NAME = "Dismissable", CONTEXT_UPDATE = "dismissable.update", POINTER_DOWN_OUTSIDE = "dismissable.pointerDownOutside", FOCUS_OUTSIDE = "dismissable.focusOutside";
|
|
12
|
-
let originalBodyPointerEvents;
|
|
13
|
-
const DismissableContext = React.createContext({
|
|
14
|
-
layers: /* @__PURE__ */ new Set(),
|
|
15
|
-
layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),
|
|
16
|
-
branches: /* @__PURE__ */ new Set()
|
|
17
|
-
}), Dismissable = React.forwardRef((props, forwardedRef) => {
|
|
18
|
-
const {
|
|
19
|
-
disableOutsidePointerEvents = !1,
|
|
20
|
-
forceUnmount,
|
|
21
|
-
onEscapeKeyDown,
|
|
22
|
-
onPointerDownOutside,
|
|
23
|
-
onFocusOutside,
|
|
24
|
-
onInteractOutside,
|
|
25
|
-
onDismiss,
|
|
26
|
-
asChild,
|
|
27
|
-
children,
|
|
28
|
-
...layerProps
|
|
29
|
-
} = props, Comp = asChild ? Slot : View, context = React.useContext(DismissableContext), [node, setNode] = React.useState(null), [, force] = React.useState({}), composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2)), layers = Array.from(context.layers), [highestLayerWithOutsidePointerEventsDisabled] = [
|
|
30
|
-
...context.layersWithOutsidePointerEventsDisabled
|
|
31
|
-
].slice(-1), highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(
|
|
32
|
-
highestLayerWithOutsidePointerEventsDisabled
|
|
33
|
-
), index = node ? layers.indexOf(node) : -1, isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0, isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex, pointerDownOutside = usePointerDownOutside((event) => {
|
|
34
|
-
const target = event.target, isPointerDownOnBranch = [...context.branches].some(
|
|
35
|
-
(branch) => branch.contains(target)
|
|
36
|
-
);
|
|
37
|
-
!isPointerEventsEnabled || isPointerDownOnBranch || (onPointerDownOutside?.(event), onInteractOutside?.(event), event.defaultPrevented || onDismiss?.());
|
|
38
|
-
}), focusOutside = useFocusOutside((event) => {
|
|
39
|
-
const target = event.target;
|
|
40
|
-
[...context.branches].some(
|
|
41
|
-
(branch) => branch.contains(target)
|
|
42
|
-
) || (onFocusOutside?.(event), onInteractOutside?.(event), event.defaultPrevented || onDismiss?.());
|
|
43
|
-
});
|
|
44
|
-
return useEscapeKeydown((event) => {
|
|
45
|
-
const currentLayers = Array.from(context.layers);
|
|
46
|
-
(node ? currentLayers.indexOf(node) : -1) === currentLayers.length - 1 && (onEscapeKeyDown?.(event), !event.defaultPrevented && onDismiss && (event.preventDefault(), onDismiss()));
|
|
47
|
-
}), React.useEffect(() => {
|
|
48
|
-
if (node)
|
|
49
|
-
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(), () => {
|
|
50
|
-
disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1 && (document.body.style.pointerEvents = originalBodyPointerEvents);
|
|
51
|
-
};
|
|
52
|
-
}, [node, disableOutsidePointerEvents, context]), React.useEffect(() => {
|
|
53
|
-
if (!forceUnmount)
|
|
54
|
-
return () => {
|
|
55
|
-
node && (context.layers.delete(node), context.layersWithOutsidePointerEventsDisabled.delete(node), dispatchUpdate());
|
|
56
|
-
};
|
|
57
|
-
}, [node, context, forceUnmount]), React.useEffect(() => {
|
|
58
|
-
const handleUpdate = () => {
|
|
59
|
-
force({});
|
|
60
|
-
};
|
|
61
|
-
return document.addEventListener(CONTEXT_UPDATE, handleUpdate), () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);
|
|
62
|
-
}, []), /* @__PURE__ */ jsx(
|
|
63
|
-
Comp,
|
|
64
|
-
{
|
|
65
|
-
...layerProps,
|
|
66
|
-
ref: composedRefs,
|
|
67
|
-
display: "contents",
|
|
68
|
-
pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? "auto" : "none" : void 0,
|
|
69
|
-
onFocusCapture: composeEventHandlers(
|
|
70
|
-
props.onFocusCapture,
|
|
71
|
-
focusOutside.onFocusCapture
|
|
72
|
-
),
|
|
73
|
-
onBlurCapture: composeEventHandlers(
|
|
74
|
-
props.onBlurCapture,
|
|
75
|
-
focusOutside.onBlurCapture
|
|
76
|
-
),
|
|
77
|
-
onPointerDownCapture: composeEventHandlers(
|
|
78
|
-
props.onPointerDownCapture,
|
|
79
|
-
pointerDownOutside.onPointerDownCapture
|
|
80
|
-
),
|
|
81
|
-
children
|
|
82
|
-
}
|
|
83
|
-
);
|
|
84
|
-
});
|
|
85
|
-
Dismissable.displayName = DISMISSABLE_LAYER_NAME;
|
|
86
|
-
const BRANCH_NAME = "DismissableBranch", DismissableBranch = React.forwardRef(
|
|
87
|
-
(props, forwardedRef) => {
|
|
88
|
-
const context = React.useContext(DismissableContext), ref = React.useRef(null), composedRefs = useComposedRefs(forwardedRef, ref);
|
|
89
|
-
return React.useEffect(() => {
|
|
90
|
-
const node = ref.current;
|
|
91
|
-
if (node)
|
|
92
|
-
return context.branches.add(node), () => {
|
|
93
|
-
context.branches.delete(node);
|
|
94
|
-
};
|
|
95
|
-
}, [context.branches]), /* @__PURE__ */ jsx("div", { style: { display: "contents" }, ...props, ref: composedRefs });
|
|
96
|
-
}
|
|
97
|
-
);
|
|
98
|
-
DismissableBranch.displayName = BRANCH_NAME;
|
|
99
|
-
function usePointerDownOutside(onPointerDownOutside) {
|
|
100
|
-
const handlePointerDownOutside = useEvent(onPointerDownOutside), isPointerInsideReactTreeRef = React.useRef(!1), handleClickRef = React.useRef(() => {
|
|
101
|
-
});
|
|
102
|
-
return React.useEffect(() => {
|
|
103
|
-
const handlePointerDown = (event) => {
|
|
104
|
-
if (event.target && !isPointerInsideReactTreeRef.current) {
|
|
105
|
-
let handleAndDispatchPointerDownOutsideEvent = function() {
|
|
106
|
-
handleAndDispatchCustomEvent(
|
|
107
|
-
POINTER_DOWN_OUTSIDE,
|
|
108
|
-
handlePointerDownOutside,
|
|
109
|
-
eventDetail,
|
|
110
|
-
{ discrete: !0 }
|
|
111
|
-
);
|
|
112
|
-
};
|
|
113
|
-
const eventDetail = { originalEvent: event };
|
|
114
|
-
event.pointerType === "touch" ? (document.removeEventListener("click", handleClickRef.current), handleClickRef.current = handleAndDispatchPointerDownOutsideEvent, document.addEventListener("click", handleClickRef.current, { once: !0 })) : handleAndDispatchPointerDownOutsideEvent();
|
|
115
|
-
}
|
|
116
|
-
isPointerInsideReactTreeRef.current = !1;
|
|
117
|
-
}, timerId = setTimeout(() => {
|
|
118
|
-
document.addEventListener("pointerdown", handlePointerDown);
|
|
119
|
-
}, 0);
|
|
120
|
-
return () => {
|
|
121
|
-
window.clearTimeout(timerId), document.removeEventListener("pointerdown", handlePointerDown), document.removeEventListener("click", handleClickRef.current);
|
|
122
|
-
};
|
|
123
|
-
}, [handlePointerDownOutside]), {
|
|
124
|
-
// ensures we check React component tree (not just DOM tree)
|
|
125
|
-
onPointerDownCapture: () => {
|
|
126
|
-
isPointerInsideReactTreeRef.current = !0;
|
|
127
|
-
}
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
function useFocusOutside(onFocusOutside) {
|
|
131
|
-
const handleFocusOutside = useEvent(onFocusOutside), isFocusInsideReactTreeRef = React.useRef(!1);
|
|
132
|
-
return React.useEffect(() => {
|
|
133
|
-
const handleFocus = (event) => {
|
|
134
|
-
event.target && !isFocusInsideReactTreeRef.current && handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, { originalEvent: event }, {
|
|
135
|
-
discrete: !1
|
|
136
|
-
});
|
|
137
|
-
};
|
|
138
|
-
return document.addEventListener("focusin", handleFocus), () => document.removeEventListener("focusin", handleFocus);
|
|
139
|
-
}, [handleFocusOutside]), {
|
|
140
|
-
onFocusCapture: () => {
|
|
141
|
-
isFocusInsideReactTreeRef.current = !0;
|
|
142
|
-
},
|
|
143
|
-
onBlurCapture: () => {
|
|
144
|
-
isFocusInsideReactTreeRef.current = !1;
|
|
145
|
-
}
|
|
146
|
-
};
|
|
147
|
-
}
|
|
148
|
-
function dispatchUpdate() {
|
|
149
|
-
const event = new CustomEvent(CONTEXT_UPDATE);
|
|
150
|
-
document.dispatchEvent(event);
|
|
151
|
-
}
|
|
152
|
-
function handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {
|
|
153
|
-
const target = detail.originalEvent.target, event = new CustomEvent(name, { bubbles: !1, cancelable: !0, detail });
|
|
154
|
-
handler && target.addEventListener(name, handler, { once: !0 }), discrete ? dispatchDiscreteCustomEvent(target, event) : target.dispatchEvent(event);
|
|
155
|
-
}
|
|
156
|
-
export {
|
|
157
|
-
Dismissable,
|
|
158
|
-
DismissableBranch,
|
|
159
|
-
dispatchDiscreteCustomEvent
|
|
160
|
-
};
|
|
161
|
-
//# sourceMappingURL=Dismissable.js.map
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../../src/Dismissable.tsx"],
|
|
4
|
-
"mappings": "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",
|
|
5
|
-
"names": ["node"]
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
//# sourceMappingURL=DismissableProps.js.map
|