@zag-js/popover 1.34.1 → 1.35.1

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.
@@ -0,0 +1,292 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __export = (target, all) => {
9
+ for (var name in all)
10
+ __defProp(target, name, { get: all[name], enumerable: true });
11
+ };
12
+ var __copyProps = (to, from, except, desc) => {
13
+ if (from && typeof from === "object" || typeof from === "function") {
14
+ for (let key of __getOwnPropNames(from))
15
+ if (!__hasOwnProp.call(to, key) && key !== except)
16
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
+ }
18
+ return to;
19
+ };
20
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
+ // If the importer is in node compatibility mode or this is not an ESM
22
+ // file that has been converted to a CommonJS file using a Babel-
23
+ // compatible transform (i.e. "__esModule" has not been set), then set
24
+ // "default" to the CommonJS "module.exports" for node compatibility.
25
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
+ mod
27
+ ));
28
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
+
30
+ // src/popover.machine.ts
31
+ var popover_machine_exports = {};
32
+ __export(popover_machine_exports, {
33
+ machine: () => machine
34
+ });
35
+ module.exports = __toCommonJS(popover_machine_exports);
36
+ var import_aria_hidden = require("@zag-js/aria-hidden");
37
+ var import_core = require("@zag-js/core");
38
+ var import_dismissable = require("@zag-js/dismissable");
39
+ var import_dom_query = require("@zag-js/dom-query");
40
+ var import_focus_trap = require("@zag-js/focus-trap");
41
+ var import_popper = require("@zag-js/popper");
42
+ var import_remove_scroll = require("@zag-js/remove-scroll");
43
+ var dom = __toESM(require("./popover.dom.cjs"));
44
+ var machine = (0, import_core.createMachine)({
45
+ props({ props }) {
46
+ return {
47
+ closeOnInteractOutside: true,
48
+ closeOnEscape: true,
49
+ autoFocus: true,
50
+ modal: false,
51
+ portalled: true,
52
+ ...props,
53
+ positioning: {
54
+ placement: "bottom",
55
+ ...props.positioning
56
+ }
57
+ };
58
+ },
59
+ initialState({ prop }) {
60
+ const open = prop("open") || prop("defaultOpen");
61
+ return open ? "open" : "closed";
62
+ },
63
+ context({ bindable }) {
64
+ return {
65
+ currentPlacement: bindable(() => ({
66
+ defaultValue: void 0
67
+ })),
68
+ renderedElements: bindable(() => ({
69
+ defaultValue: { title: true, description: true }
70
+ }))
71
+ };
72
+ },
73
+ computed: {
74
+ currentPortalled: ({ prop }) => !!prop("modal") || !!prop("portalled")
75
+ },
76
+ watch({ track, prop, action }) {
77
+ track([() => prop("open")], () => {
78
+ action(["toggleVisibility"]);
79
+ });
80
+ },
81
+ entry: ["checkRenderedElements"],
82
+ states: {
83
+ closed: {
84
+ on: {
85
+ "CONTROLLED.OPEN": {
86
+ target: "open",
87
+ actions: ["setInitialFocus"]
88
+ },
89
+ TOGGLE: [
90
+ {
91
+ guard: "isOpenControlled",
92
+ actions: ["invokeOnOpen"]
93
+ },
94
+ {
95
+ target: "open",
96
+ actions: ["invokeOnOpen", "setInitialFocus"]
97
+ }
98
+ ],
99
+ OPEN: [
100
+ {
101
+ guard: "isOpenControlled",
102
+ actions: ["invokeOnOpen"]
103
+ },
104
+ {
105
+ target: "open",
106
+ actions: ["invokeOnOpen", "setInitialFocus"]
107
+ }
108
+ ]
109
+ }
110
+ },
111
+ open: {
112
+ effects: [
113
+ "trapFocus",
114
+ "preventScroll",
115
+ "hideContentBelow",
116
+ "trackDismissableElement",
117
+ "trackPositioning",
118
+ "proxyTabFocus"
119
+ ],
120
+ on: {
121
+ "CONTROLLED.CLOSE": {
122
+ target: "closed",
123
+ actions: ["setFinalFocus"]
124
+ },
125
+ CLOSE: [
126
+ {
127
+ guard: "isOpenControlled",
128
+ actions: ["invokeOnClose"]
129
+ },
130
+ {
131
+ target: "closed",
132
+ actions: ["invokeOnClose", "setFinalFocus"]
133
+ }
134
+ ],
135
+ TOGGLE: [
136
+ {
137
+ guard: "isOpenControlled",
138
+ actions: ["invokeOnClose"]
139
+ },
140
+ {
141
+ target: "closed",
142
+ actions: ["invokeOnClose"]
143
+ }
144
+ ],
145
+ "POSITIONING.SET": {
146
+ actions: ["reposition"]
147
+ }
148
+ }
149
+ }
150
+ },
151
+ implementations: {
152
+ guards: {
153
+ isOpenControlled: ({ prop }) => prop("open") != void 0
154
+ },
155
+ effects: {
156
+ trackPositioning({ context, prop, scope }) {
157
+ context.set("currentPlacement", prop("positioning").placement);
158
+ const anchorEl = dom.getAnchorEl(scope) ?? dom.getTriggerEl(scope);
159
+ const getPositionerEl2 = () => dom.getPositionerEl(scope);
160
+ return (0, import_popper.getPlacement)(anchorEl, getPositionerEl2, {
161
+ ...prop("positioning"),
162
+ defer: true,
163
+ onComplete(data) {
164
+ context.set("currentPlacement", data.placement);
165
+ }
166
+ });
167
+ },
168
+ trackDismissableElement({ send, prop, scope }) {
169
+ const getContentEl2 = () => dom.getContentEl(scope);
170
+ let restoreFocus = true;
171
+ return (0, import_dismissable.trackDismissableElement)(getContentEl2, {
172
+ type: "popover",
173
+ pointerBlocking: prop("modal"),
174
+ exclude: dom.getTriggerEl(scope),
175
+ defer: true,
176
+ onEscapeKeyDown(event) {
177
+ prop("onEscapeKeyDown")?.(event);
178
+ if (prop("closeOnEscape")) return;
179
+ event.preventDefault();
180
+ },
181
+ onInteractOutside(event) {
182
+ prop("onInteractOutside")?.(event);
183
+ if (event.defaultPrevented) return;
184
+ restoreFocus = !(event.detail.focusable || event.detail.contextmenu);
185
+ if (!prop("closeOnInteractOutside")) {
186
+ event.preventDefault();
187
+ }
188
+ },
189
+ onPointerDownOutside: prop("onPointerDownOutside"),
190
+ onFocusOutside: prop("onFocusOutside"),
191
+ persistentElements: prop("persistentElements"),
192
+ onRequestDismiss: prop("onRequestDismiss"),
193
+ onDismiss() {
194
+ send({ type: "CLOSE", src: "interact-outside", restoreFocus });
195
+ }
196
+ });
197
+ },
198
+ proxyTabFocus({ prop, scope }) {
199
+ if (prop("modal") || !prop("portalled")) return;
200
+ const getContentEl2 = () => dom.getContentEl(scope);
201
+ return (0, import_dom_query.proxyTabFocus)(getContentEl2, {
202
+ triggerElement: dom.getTriggerEl(scope),
203
+ defer: true,
204
+ getShadowRoot: true,
205
+ onFocus(el) {
206
+ el.focus({ preventScroll: true });
207
+ }
208
+ });
209
+ },
210
+ hideContentBelow({ prop, scope }) {
211
+ if (!prop("modal")) return;
212
+ const getElements = () => [dom.getContentEl(scope), dom.getTriggerEl(scope)];
213
+ return (0, import_aria_hidden.ariaHidden)(getElements, { defer: true });
214
+ },
215
+ preventScroll({ prop, scope }) {
216
+ if (!prop("modal")) return;
217
+ return (0, import_remove_scroll.preventBodyScroll)(scope.getDoc());
218
+ },
219
+ trapFocus({ prop, scope }) {
220
+ if (!prop("modal")) return;
221
+ const contentEl = () => dom.getContentEl(scope);
222
+ return (0, import_focus_trap.trapFocus)(contentEl, {
223
+ initialFocus: () => (0, import_dom_query.getInitialFocus)({
224
+ root: dom.getContentEl(scope),
225
+ getInitialEl: prop("initialFocusEl"),
226
+ enabled: prop("autoFocus")
227
+ }),
228
+ getShadowRoot: true
229
+ });
230
+ }
231
+ },
232
+ actions: {
233
+ reposition({ event, prop, scope, context }) {
234
+ const anchorEl = dom.getAnchorEl(scope) ?? dom.getTriggerEl(scope);
235
+ const getPositionerEl2 = () => dom.getPositionerEl(scope);
236
+ (0, import_popper.getPlacement)(anchorEl, getPositionerEl2, {
237
+ ...prop("positioning"),
238
+ ...event.options,
239
+ defer: true,
240
+ listeners: false,
241
+ onComplete(data) {
242
+ context.set("currentPlacement", data.placement);
243
+ }
244
+ });
245
+ },
246
+ checkRenderedElements({ context, scope }) {
247
+ (0, import_dom_query.raf)(() => {
248
+ Object.assign(context.get("renderedElements"), {
249
+ title: !!dom.getTitleEl(scope),
250
+ description: !!dom.getDescriptionEl(scope)
251
+ });
252
+ });
253
+ },
254
+ setInitialFocus({ prop, scope }) {
255
+ if (prop("modal")) return;
256
+ (0, import_dom_query.raf)(() => {
257
+ const element = (0, import_dom_query.getInitialFocus)({
258
+ root: dom.getContentEl(scope),
259
+ getInitialEl: prop("initialFocusEl"),
260
+ enabled: prop("autoFocus")
261
+ });
262
+ element?.focus({ preventScroll: true });
263
+ });
264
+ },
265
+ setFinalFocus({ event, scope }) {
266
+ const restoreFocus = event.restoreFocus ?? event.previousEvent?.restoreFocus;
267
+ if (restoreFocus != null && !restoreFocus) return;
268
+ (0, import_dom_query.raf)(() => {
269
+ const element = dom.getTriggerEl(scope);
270
+ element?.focus({ preventScroll: true });
271
+ });
272
+ },
273
+ invokeOnOpen({ prop, flush }) {
274
+ flush(() => {
275
+ prop("onOpenChange")?.({ open: true });
276
+ });
277
+ },
278
+ invokeOnClose({ prop, flush }) {
279
+ flush(() => {
280
+ prop("onOpenChange")?.({ open: false });
281
+ });
282
+ },
283
+ toggleVisibility({ event, send, prop }) {
284
+ send({ type: prop("open") ? "CONTROLLED.OPEN" : "CONTROLLED.CLOSE", previousEvent: event });
285
+ }
286
+ }
287
+ }
288
+ });
289
+ // Annotate the CommonJS export names for ESM import in node:
290
+ 0 && (module.exports = {
291
+ machine
292
+ });
@@ -0,0 +1,257 @@
1
+ // src/popover.machine.ts
2
+ import { ariaHidden } from "@zag-js/aria-hidden";
3
+ import { createMachine } from "@zag-js/core";
4
+ import { trackDismissableElement } from "@zag-js/dismissable";
5
+ import { getInitialFocus, proxyTabFocus, raf } from "@zag-js/dom-query";
6
+ import { trapFocus } from "@zag-js/focus-trap";
7
+ import { getPlacement } from "@zag-js/popper";
8
+ import { preventBodyScroll } from "@zag-js/remove-scroll";
9
+ import * as dom from "./popover.dom.mjs";
10
+ var machine = createMachine({
11
+ props({ props }) {
12
+ return {
13
+ closeOnInteractOutside: true,
14
+ closeOnEscape: true,
15
+ autoFocus: true,
16
+ modal: false,
17
+ portalled: true,
18
+ ...props,
19
+ positioning: {
20
+ placement: "bottom",
21
+ ...props.positioning
22
+ }
23
+ };
24
+ },
25
+ initialState({ prop }) {
26
+ const open = prop("open") || prop("defaultOpen");
27
+ return open ? "open" : "closed";
28
+ },
29
+ context({ bindable }) {
30
+ return {
31
+ currentPlacement: bindable(() => ({
32
+ defaultValue: void 0
33
+ })),
34
+ renderedElements: bindable(() => ({
35
+ defaultValue: { title: true, description: true }
36
+ }))
37
+ };
38
+ },
39
+ computed: {
40
+ currentPortalled: ({ prop }) => !!prop("modal") || !!prop("portalled")
41
+ },
42
+ watch({ track, prop, action }) {
43
+ track([() => prop("open")], () => {
44
+ action(["toggleVisibility"]);
45
+ });
46
+ },
47
+ entry: ["checkRenderedElements"],
48
+ states: {
49
+ closed: {
50
+ on: {
51
+ "CONTROLLED.OPEN": {
52
+ target: "open",
53
+ actions: ["setInitialFocus"]
54
+ },
55
+ TOGGLE: [
56
+ {
57
+ guard: "isOpenControlled",
58
+ actions: ["invokeOnOpen"]
59
+ },
60
+ {
61
+ target: "open",
62
+ actions: ["invokeOnOpen", "setInitialFocus"]
63
+ }
64
+ ],
65
+ OPEN: [
66
+ {
67
+ guard: "isOpenControlled",
68
+ actions: ["invokeOnOpen"]
69
+ },
70
+ {
71
+ target: "open",
72
+ actions: ["invokeOnOpen", "setInitialFocus"]
73
+ }
74
+ ]
75
+ }
76
+ },
77
+ open: {
78
+ effects: [
79
+ "trapFocus",
80
+ "preventScroll",
81
+ "hideContentBelow",
82
+ "trackDismissableElement",
83
+ "trackPositioning",
84
+ "proxyTabFocus"
85
+ ],
86
+ on: {
87
+ "CONTROLLED.CLOSE": {
88
+ target: "closed",
89
+ actions: ["setFinalFocus"]
90
+ },
91
+ CLOSE: [
92
+ {
93
+ guard: "isOpenControlled",
94
+ actions: ["invokeOnClose"]
95
+ },
96
+ {
97
+ target: "closed",
98
+ actions: ["invokeOnClose", "setFinalFocus"]
99
+ }
100
+ ],
101
+ TOGGLE: [
102
+ {
103
+ guard: "isOpenControlled",
104
+ actions: ["invokeOnClose"]
105
+ },
106
+ {
107
+ target: "closed",
108
+ actions: ["invokeOnClose"]
109
+ }
110
+ ],
111
+ "POSITIONING.SET": {
112
+ actions: ["reposition"]
113
+ }
114
+ }
115
+ }
116
+ },
117
+ implementations: {
118
+ guards: {
119
+ isOpenControlled: ({ prop }) => prop("open") != void 0
120
+ },
121
+ effects: {
122
+ trackPositioning({ context, prop, scope }) {
123
+ context.set("currentPlacement", prop("positioning").placement);
124
+ const anchorEl = dom.getAnchorEl(scope) ?? dom.getTriggerEl(scope);
125
+ const getPositionerEl2 = () => dom.getPositionerEl(scope);
126
+ return getPlacement(anchorEl, getPositionerEl2, {
127
+ ...prop("positioning"),
128
+ defer: true,
129
+ onComplete(data) {
130
+ context.set("currentPlacement", data.placement);
131
+ }
132
+ });
133
+ },
134
+ trackDismissableElement({ send, prop, scope }) {
135
+ const getContentEl2 = () => dom.getContentEl(scope);
136
+ let restoreFocus = true;
137
+ return trackDismissableElement(getContentEl2, {
138
+ type: "popover",
139
+ pointerBlocking: prop("modal"),
140
+ exclude: dom.getTriggerEl(scope),
141
+ defer: true,
142
+ onEscapeKeyDown(event) {
143
+ prop("onEscapeKeyDown")?.(event);
144
+ if (prop("closeOnEscape")) return;
145
+ event.preventDefault();
146
+ },
147
+ onInteractOutside(event) {
148
+ prop("onInteractOutside")?.(event);
149
+ if (event.defaultPrevented) return;
150
+ restoreFocus = !(event.detail.focusable || event.detail.contextmenu);
151
+ if (!prop("closeOnInteractOutside")) {
152
+ event.preventDefault();
153
+ }
154
+ },
155
+ onPointerDownOutside: prop("onPointerDownOutside"),
156
+ onFocusOutside: prop("onFocusOutside"),
157
+ persistentElements: prop("persistentElements"),
158
+ onRequestDismiss: prop("onRequestDismiss"),
159
+ onDismiss() {
160
+ send({ type: "CLOSE", src: "interact-outside", restoreFocus });
161
+ }
162
+ });
163
+ },
164
+ proxyTabFocus({ prop, scope }) {
165
+ if (prop("modal") || !prop("portalled")) return;
166
+ const getContentEl2 = () => dom.getContentEl(scope);
167
+ return proxyTabFocus(getContentEl2, {
168
+ triggerElement: dom.getTriggerEl(scope),
169
+ defer: true,
170
+ getShadowRoot: true,
171
+ onFocus(el) {
172
+ el.focus({ preventScroll: true });
173
+ }
174
+ });
175
+ },
176
+ hideContentBelow({ prop, scope }) {
177
+ if (!prop("modal")) return;
178
+ const getElements = () => [dom.getContentEl(scope), dom.getTriggerEl(scope)];
179
+ return ariaHidden(getElements, { defer: true });
180
+ },
181
+ preventScroll({ prop, scope }) {
182
+ if (!prop("modal")) return;
183
+ return preventBodyScroll(scope.getDoc());
184
+ },
185
+ trapFocus({ prop, scope }) {
186
+ if (!prop("modal")) return;
187
+ const contentEl = () => dom.getContentEl(scope);
188
+ return trapFocus(contentEl, {
189
+ initialFocus: () => getInitialFocus({
190
+ root: dom.getContentEl(scope),
191
+ getInitialEl: prop("initialFocusEl"),
192
+ enabled: prop("autoFocus")
193
+ }),
194
+ getShadowRoot: true
195
+ });
196
+ }
197
+ },
198
+ actions: {
199
+ reposition({ event, prop, scope, context }) {
200
+ const anchorEl = dom.getAnchorEl(scope) ?? dom.getTriggerEl(scope);
201
+ const getPositionerEl2 = () => dom.getPositionerEl(scope);
202
+ getPlacement(anchorEl, getPositionerEl2, {
203
+ ...prop("positioning"),
204
+ ...event.options,
205
+ defer: true,
206
+ listeners: false,
207
+ onComplete(data) {
208
+ context.set("currentPlacement", data.placement);
209
+ }
210
+ });
211
+ },
212
+ checkRenderedElements({ context, scope }) {
213
+ raf(() => {
214
+ Object.assign(context.get("renderedElements"), {
215
+ title: !!dom.getTitleEl(scope),
216
+ description: !!dom.getDescriptionEl(scope)
217
+ });
218
+ });
219
+ },
220
+ setInitialFocus({ prop, scope }) {
221
+ if (prop("modal")) return;
222
+ raf(() => {
223
+ const element = getInitialFocus({
224
+ root: dom.getContentEl(scope),
225
+ getInitialEl: prop("initialFocusEl"),
226
+ enabled: prop("autoFocus")
227
+ });
228
+ element?.focus({ preventScroll: true });
229
+ });
230
+ },
231
+ setFinalFocus({ event, scope }) {
232
+ const restoreFocus = event.restoreFocus ?? event.previousEvent?.restoreFocus;
233
+ if (restoreFocus != null && !restoreFocus) return;
234
+ raf(() => {
235
+ const element = dom.getTriggerEl(scope);
236
+ element?.focus({ preventScroll: true });
237
+ });
238
+ },
239
+ invokeOnOpen({ prop, flush }) {
240
+ flush(() => {
241
+ prop("onOpenChange")?.({ open: true });
242
+ });
243
+ },
244
+ invokeOnClose({ prop, flush }) {
245
+ flush(() => {
246
+ prop("onOpenChange")?.({ open: false });
247
+ });
248
+ },
249
+ toggleVisibility({ event, send, prop }) {
250
+ send({ type: prop("open") ? "CONTROLLED.OPEN" : "CONTROLLED.CLOSE", previousEvent: event });
251
+ }
252
+ }
253
+ }
254
+ });
255
+ export {
256
+ machine
257
+ };
@@ -0,0 +1,10 @@
1
+ import { PopoverProps } from './popover.types.mjs';
2
+ import '@zag-js/core';
3
+ import '@zag-js/dismissable';
4
+ import '@zag-js/popper';
5
+ import '@zag-js/types';
6
+
7
+ declare const props: (keyof PopoverProps)[];
8
+ declare const splitProps: <Props extends Partial<PopoverProps>>(props: Props) => [Partial<PopoverProps>, Omit<Props, keyof PopoverProps>];
9
+
10
+ export { props, splitProps };
@@ -0,0 +1,10 @@
1
+ import { PopoverProps } from './popover.types.js';
2
+ import '@zag-js/core';
3
+ import '@zag-js/dismissable';
4
+ import '@zag-js/popper';
5
+ import '@zag-js/types';
6
+
7
+ declare const props: (keyof PopoverProps)[];
8
+ declare const splitProps: <Props extends Partial<PopoverProps>>(props: Props) => [Partial<PopoverProps>, Omit<Props, keyof PopoverProps>];
9
+
10
+ export { props, splitProps };
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/popover.props.ts
21
+ var popover_props_exports = {};
22
+ __export(popover_props_exports, {
23
+ props: () => props,
24
+ splitProps: () => splitProps
25
+ });
26
+ module.exports = __toCommonJS(popover_props_exports);
27
+ var import_types = require("@zag-js/types");
28
+ var import_utils = require("@zag-js/utils");
29
+ var props = (0, import_types.createProps)()([
30
+ "autoFocus",
31
+ "closeOnEscape",
32
+ "closeOnInteractOutside",
33
+ "dir",
34
+ "getRootNode",
35
+ "id",
36
+ "ids",
37
+ "initialFocusEl",
38
+ "modal",
39
+ "onEscapeKeyDown",
40
+ "onFocusOutside",
41
+ "onInteractOutside",
42
+ "onOpenChange",
43
+ "onPointerDownOutside",
44
+ "onRequestDismiss",
45
+ "defaultOpen",
46
+ "open",
47
+ "persistentElements",
48
+ "portalled",
49
+ "positioning"
50
+ ]);
51
+ var splitProps = (0, import_utils.createSplitProps)(props);
52
+ // Annotate the CommonJS export names for ESM import in node:
53
+ 0 && (module.exports = {
54
+ props,
55
+ splitProps
56
+ });
@@ -0,0 +1,30 @@
1
+ // src/popover.props.ts
2
+ import { createProps } from "@zag-js/types";
3
+ import { createSplitProps } from "@zag-js/utils";
4
+ var props = createProps()([
5
+ "autoFocus",
6
+ "closeOnEscape",
7
+ "closeOnInteractOutside",
8
+ "dir",
9
+ "getRootNode",
10
+ "id",
11
+ "ids",
12
+ "initialFocusEl",
13
+ "modal",
14
+ "onEscapeKeyDown",
15
+ "onFocusOutside",
16
+ "onInteractOutside",
17
+ "onOpenChange",
18
+ "onPointerDownOutside",
19
+ "onRequestDismiss",
20
+ "defaultOpen",
21
+ "open",
22
+ "persistentElements",
23
+ "portalled",
24
+ "positioning"
25
+ ]);
26
+ var splitProps = createSplitProps(props);
27
+ export {
28
+ props,
29
+ splitProps
30
+ };