@huin-core/react-popover 1.0.4 → 1.0.6

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/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import * as React$1 from 'react';
1
+ import * as React from 'react';
2
2
  import React__default from 'react';
3
3
  import * as PopperPrimitive from '@huin-core/react-popper';
4
4
  import { Primitive } from '@huin-core/react-primitive';
@@ -7,7 +7,7 @@ import { DismissableLayer } from '@huin-core/react-dismissable-layer';
7
7
  import { FocusScope } from '@huin-core/react-focus-scope';
8
8
 
9
9
  type Scope<C = any> = {
10
- [scopeName: string]: React$1.Context<C>[];
10
+ [scopeName: string]: React.Context<C>[];
11
11
  } | undefined;
12
12
  type ScopeHook = (scope: Scope) => {
13
13
  [__scopeProp: string]: Scope;
@@ -19,14 +19,14 @@ interface CreateScope {
19
19
 
20
20
  declare const createPopoverScope: CreateScope;
21
21
  interface PopoverProps {
22
- children?: React$1.ReactNode;
22
+ children?: React.ReactNode;
23
23
  open?: boolean;
24
24
  defaultOpen?: boolean;
25
25
  onOpenChange?: (open: boolean) => void;
26
26
  modal?: boolean;
27
27
  }
28
- declare const Popover: React$1.FC<PopoverProps>;
29
- declare const Root: React$1.FC<PopoverProps>;
28
+ declare const Popover: React.FC<PopoverProps>;
29
+ declare const Root: React.FC<PopoverProps>;
30
30
 
31
31
  type PopperAnchorProps = React__default.ComponentPropsWithoutRef<typeof PopperPrimitive.Anchor>;
32
32
  interface PopoverAnchorProps extends PopperAnchorProps {
@@ -38,9 +38,9 @@ interface PopoverTriggerProps extends PrimitiveButtonProps {
38
38
  }
39
39
  declare const PopoverTrigger: React__default.ForwardRefExoticComponent<PopoverTriggerProps & React__default.RefAttributes<HTMLButtonElement>>;
40
40
 
41
- type PortalProps = React.ComponentPropsWithoutRef<typeof Portal>;
41
+ type PortalProps = React__default.ComponentPropsWithoutRef<typeof Portal>;
42
42
  interface PopoverPortalProps {
43
- children?: React.ReactNode;
43
+ children?: React__default.ReactNode;
44
44
  /**
45
45
  * Specify a container element to portal the content into.
46
46
  */
@@ -51,7 +51,7 @@ interface PopoverPortalProps {
51
51
  */
52
52
  forceMount?: true;
53
53
  }
54
- declare const PopoverPortal: React.FC<PopoverPortalProps>;
54
+ declare const PopoverPortal: React__default.FC<PopoverPortalProps>;
55
55
 
56
56
  interface PopoverContentProps extends PopoverContentTypeProps {
57
57
  /**
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import * as React$1 from 'react';
1
+ import * as React from 'react';
2
2
  import React__default from 'react';
3
3
  import * as PopperPrimitive from '@huin-core/react-popper';
4
4
  import { Primitive } from '@huin-core/react-primitive';
@@ -7,7 +7,7 @@ import { DismissableLayer } from '@huin-core/react-dismissable-layer';
7
7
  import { FocusScope } from '@huin-core/react-focus-scope';
8
8
 
9
9
  type Scope<C = any> = {
10
- [scopeName: string]: React$1.Context<C>[];
10
+ [scopeName: string]: React.Context<C>[];
11
11
  } | undefined;
12
12
  type ScopeHook = (scope: Scope) => {
13
13
  [__scopeProp: string]: Scope;
@@ -19,14 +19,14 @@ interface CreateScope {
19
19
 
20
20
  declare const createPopoverScope: CreateScope;
21
21
  interface PopoverProps {
22
- children?: React$1.ReactNode;
22
+ children?: React.ReactNode;
23
23
  open?: boolean;
24
24
  defaultOpen?: boolean;
25
25
  onOpenChange?: (open: boolean) => void;
26
26
  modal?: boolean;
27
27
  }
28
- declare const Popover: React$1.FC<PopoverProps>;
29
- declare const Root: React$1.FC<PopoverProps>;
28
+ declare const Popover: React.FC<PopoverProps>;
29
+ declare const Root: React.FC<PopoverProps>;
30
30
 
31
31
  type PopperAnchorProps = React__default.ComponentPropsWithoutRef<typeof PopperPrimitive.Anchor>;
32
32
  interface PopoverAnchorProps extends PopperAnchorProps {
@@ -38,9 +38,9 @@ interface PopoverTriggerProps extends PrimitiveButtonProps {
38
38
  }
39
39
  declare const PopoverTrigger: React__default.ForwardRefExoticComponent<PopoverTriggerProps & React__default.RefAttributes<HTMLButtonElement>>;
40
40
 
41
- type PortalProps = React.ComponentPropsWithoutRef<typeof Portal>;
41
+ type PortalProps = React__default.ComponentPropsWithoutRef<typeof Portal>;
42
42
  interface PopoverPortalProps {
43
- children?: React.ReactNode;
43
+ children?: React__default.ReactNode;
44
44
  /**
45
45
  * Specify a container element to portal the content into.
46
46
  */
@@ -51,7 +51,7 @@ interface PopoverPortalProps {
51
51
  */
52
52
  forceMount?: true;
53
53
  }
54
- declare const PopoverPortal: React.FC<PopoverPortalProps>;
54
+ declare const PopoverPortal: React__default.FC<PopoverPortalProps>;
55
55
 
56
56
  interface PopoverContentProps extends PopoverContentTypeProps {
57
57
  /**
package/dist/index.js CHANGED
@@ -50,7 +50,6 @@ var import_react_id = require("@huin-core/react-id");
50
50
  var PopperPrimitive = __toESM(require("@huin-core/react-popper"));
51
51
  var import_react_popper = require("@huin-core/react-popper");
52
52
  var import_react_use_controllable_state = require("@huin-core/react-use-controllable-state");
53
- var import_jsx_runtime = require("react/jsx-runtime");
54
53
  var POPOVER_NAME = "Popover";
55
54
  var [createPopoverContext, createPopoverScope] = (0, import_react_context.createContextScope)(
56
55
  POPOVER_NAME,
@@ -75,7 +74,7 @@ var Popover = (props) => {
75
74
  defaultProp: defaultOpen,
76
75
  onChange: onOpenChange
77
76
  });
78
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
77
+ return /* @__PURE__ */ React.createElement(PopperPrimitive.Root, { ...popperScope }, /* @__PURE__ */ React.createElement(
79
78
  PopoverProvider,
80
79
  {
81
80
  scope: __scopePopover,
@@ -96,10 +95,10 @@ var Popover = (props) => {
96
95
  () => setHasCustomAnchor(false),
97
96
  []
98
97
  ),
99
- modal,
100
- children
101
- }
102
- ) });
98
+ modal
99
+ },
100
+ children
101
+ ));
103
102
  };
104
103
  Popover.displayName = POPOVER_NAME;
105
104
  var Root2 = Popover;
@@ -107,7 +106,6 @@ var Root2 = Popover;
107
106
  // packages/react/popover/src/PopoverAnchor.tsx
108
107
  var PopperPrimitive2 = __toESM(require("@huin-core/react-popper"));
109
108
  var import_react = __toESM(require("react"));
110
- var import_jsx_runtime2 = require("react/jsx-runtime");
111
109
  var ANCHOR_NAME = "PopoverAnchor";
112
110
  var PopoverAnchor = import_react.default.forwardRef((props, forwardedRef) => {
113
111
  const { __scopePopover, ...anchorProps } = props;
@@ -118,7 +116,7 @@ var PopoverAnchor = import_react.default.forwardRef((props, forwardedRef) => {
118
116
  onCustomAnchorAdd();
119
117
  return () => onCustomAnchorRemove();
120
118
  }, [onCustomAnchorAdd, onCustomAnchorRemove]);
121
- return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(
119
+ return /* @__PURE__ */ import_react.default.createElement(
122
120
  PopperPrimitive2.Anchor,
123
121
  {
124
122
  ...popperScope,
@@ -130,14 +128,14 @@ var PopoverAnchor = import_react.default.forwardRef((props, forwardedRef) => {
130
128
  PopoverAnchor.displayName = ANCHOR_NAME;
131
129
 
132
130
  // packages/react/popover/src/PopoverTrigger.tsx
133
- var import_react3 = __toESM(require("react"));
131
+ var import_react4 = __toESM(require("react"));
134
132
  var import_react_primitive = require("@huin-core/react-primitive");
135
133
  var import_react_compose_refs2 = require("@huin-core/react-compose-refs");
136
134
  var PopperPrimitive4 = __toESM(require("@huin-core/react-popper"));
137
135
  var import_primitive2 = require("@huin-core/primitive");
138
136
 
139
137
  // packages/react/popover/src/PopoverContent.tsx
140
- var import_react2 = __toESM(require("react"));
138
+ var import_react3 = __toESM(require("react"));
141
139
  var import_react_presence2 = require("@huin-core/react-presence");
142
140
  var import_react_compose_refs = require("@huin-core/react-compose-refs");
143
141
  var import_aria_hidden = require("aria-hidden");
@@ -150,9 +148,9 @@ var import_react_focus_scope = require("@huin-core/react-focus-scope");
150
148
  var import_react_focus_guards = require("@huin-core/react-focus-guards");
151
149
 
152
150
  // packages/react/popover/src/PopoverPortal.tsx
151
+ var import_react2 = __toESM(require("react"));
153
152
  var import_react_portal = require("@huin-core/react-portal");
154
153
  var import_react_presence = require("@huin-core/react-presence");
155
- var import_jsx_runtime3 = require("react/jsx-runtime");
156
154
  var PORTAL_NAME = "PopoverPortal";
157
155
  var [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {
158
156
  forceMount: void 0
@@ -160,30 +158,29 @@ var [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {
160
158
  var PopoverPortal = (props) => {
161
159
  const { __scopePopover, forceMount, children, container } = props;
162
160
  const context = usePopoverContext(PORTAL_NAME, __scopePopover);
163
- return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_presence.Presence, { present: forceMount || context.open, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react_portal.Portal, { asChild: true, container, children }) }) });
161
+ return /* @__PURE__ */ import_react2.default.createElement(PortalProvider, { scope: __scopePopover, forceMount }, /* @__PURE__ */ import_react2.default.createElement(import_react_presence.Presence, { present: forceMount || context.open }, /* @__PURE__ */ import_react2.default.createElement(import_react_portal.Portal, { asChild: true, container }, children)));
164
162
  };
165
163
  PopoverPortal.displayName = PORTAL_NAME;
166
164
 
167
165
  // packages/react/popover/src/PopoverContent.tsx
168
- var import_jsx_runtime4 = require("react/jsx-runtime");
169
166
  var CONTENT_NAME = "PopoverContent";
170
- var PopoverContent = import_react2.default.forwardRef((props, forwardedRef) => {
167
+ var PopoverContent = import_react3.default.forwardRef((props, forwardedRef) => {
171
168
  const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);
172
169
  const { forceMount = portalContext.forceMount, ...contentProps } = props;
173
170
  const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
174
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_presence2.Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });
171
+ return /* @__PURE__ */ import_react3.default.createElement(import_react_presence2.Presence, { present: forceMount || context.open }, context.modal ? /* @__PURE__ */ import_react3.default.createElement(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ import_react3.default.createElement(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }));
175
172
  });
176
173
  PopoverContent.displayName = CONTENT_NAME;
177
- var PopoverContentModal = import_react2.default.forwardRef((props, forwardedRef) => {
174
+ var PopoverContentModal = import_react3.default.forwardRef((props, forwardedRef) => {
178
175
  const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
179
- const contentRef = import_react2.default.useRef(null);
176
+ const contentRef = import_react3.default.useRef(null);
180
177
  const composedRefs = (0, import_react_compose_refs.useComposedRefs)(forwardedRef, contentRef);
181
- const isRightClickOutsideRef = import_react2.default.useRef(false);
182
- import_react2.default.useEffect(() => {
178
+ const isRightClickOutsideRef = import_react3.default.useRef(false);
179
+ import_react3.default.useEffect(() => {
183
180
  const content = contentRef.current;
184
181
  if (content) return (0, import_aria_hidden.hideOthers)(content);
185
182
  }, []);
186
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_react_remove_scroll.RemoveScroll, { as: import_react_slot.Slot, allowPinchZoom: true, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
183
+ return /* @__PURE__ */ import_react3.default.createElement(import_react_remove_scroll.RemoveScroll, { as: import_react_slot.Slot, allowPinchZoom: true }, /* @__PURE__ */ import_react3.default.createElement(
187
184
  PopoverContentImpl,
188
185
  {
189
186
  ...props,
@@ -214,13 +211,13 @@ var PopoverContentModal = import_react2.default.forwardRef((props, forwardedRef)
214
211
  { checkForDefaultPrevented: false }
215
212
  )
216
213
  }
217
- ) });
214
+ ));
218
215
  });
219
- var PopoverContentNonModal = import_react2.default.forwardRef((props, forwardedRef) => {
216
+ var PopoverContentNonModal = import_react3.default.forwardRef((props, forwardedRef) => {
220
217
  const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
221
- const hasInteractedOutsideRef = import_react2.default.useRef(false);
222
- const hasPointerDownOutsideRef = import_react2.default.useRef(false);
223
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
218
+ const hasInteractedOutsideRef = import_react3.default.useRef(false);
219
+ const hasPointerDownOutsideRef = import_react3.default.useRef(false);
220
+ return /* @__PURE__ */ import_react3.default.createElement(
224
221
  PopoverContentImpl,
225
222
  {
226
223
  ...props,
@@ -255,7 +252,7 @@ var PopoverContentNonModal = import_react2.default.forwardRef((props, forwardedR
255
252
  }
256
253
  );
257
254
  });
258
- var PopoverContentImpl = import_react2.default.forwardRef((props, forwardedRef) => {
255
+ var PopoverContentImpl = import_react3.default.forwardRef((props, forwardedRef) => {
259
256
  const {
260
257
  __scopePopover,
261
258
  trapFocus,
@@ -271,49 +268,49 @@ var PopoverContentImpl = import_react2.default.forwardRef((props, forwardedRef)
271
268
  const context = usePopoverContext(CONTENT_NAME, __scopePopover);
272
269
  const popperScope = usePopperScope(__scopePopover);
273
270
  (0, import_react_focus_guards.useFocusGuards)();
274
- return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
271
+ return /* @__PURE__ */ import_react3.default.createElement(
275
272
  import_react_focus_scope.FocusScope,
276
273
  {
277
274
  asChild: true,
278
275
  loop: true,
279
276
  trapped: trapFocus,
280
277
  onMountAutoFocus: onOpenAutoFocus,
281
- onUnmountAutoFocus: onCloseAutoFocus,
282
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
283
- import_react_dismissable_layer.DismissableLayer,
278
+ onUnmountAutoFocus: onCloseAutoFocus
279
+ },
280
+ /* @__PURE__ */ import_react3.default.createElement(
281
+ import_react_dismissable_layer.DismissableLayer,
282
+ {
283
+ asChild: true,
284
+ disableOutsidePointerEvents,
285
+ onInteractOutside,
286
+ onEscapeKeyDown,
287
+ onPointerDownOutside,
288
+ onFocusOutside,
289
+ onDismiss: () => context.onOpenChange(false)
290
+ },
291
+ /* @__PURE__ */ import_react3.default.createElement(
292
+ PopperPrimitive3.Content,
284
293
  {
285
- asChild: true,
286
- disableOutsidePointerEvents,
287
- onInteractOutside,
288
- onEscapeKeyDown,
289
- onPointerDownOutside,
290
- onFocusOutside,
291
- onDismiss: () => context.onOpenChange(false),
292
- children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
293
- PopperPrimitive3.Content,
294
- {
295
- "data-state": getState(context.open),
296
- role: "dialog",
297
- id: context.contentId,
298
- ...popperScope,
299
- ...contentProps,
300
- ref: forwardedRef,
301
- style: {
302
- ...contentProps.style,
303
- // re-namespace exposed content custom properties
304
- ...{
305
- "--huin-core-popover-content-transform-origin": "var(--huin-core-popper-transform-origin)",
306
- "--huin-core-popover-content-available-width": "var(--huin-core-popper-available-width)",
307
- "--huin-core-popover-content-available-height": "var(--huin-core-popper-available-height)",
308
- "--huin-core-popover-trigger-width": "var(--huin-core-popper-anchor-width)",
309
- "--huin-core-popover-trigger-height": "var(--huin-core-popper-anchor-height)"
310
- }
311
- }
294
+ "data-state": getState(context.open),
295
+ role: "dialog",
296
+ id: context.contentId,
297
+ ...popperScope,
298
+ ...contentProps,
299
+ ref: forwardedRef,
300
+ style: {
301
+ ...contentProps.style,
302
+ // re-namespace exposed content custom properties
303
+ ...{
304
+ "--huin-core-popover-content-transform-origin": "var(--huin-core-popper-transform-origin)",
305
+ "--huin-core-popover-content-available-width": "var(--huin-core-popper-available-width)",
306
+ "--huin-core-popover-content-available-height": "var(--huin-core-popper-available-height)",
307
+ "--huin-core-popover-trigger-width": "var(--huin-core-popper-anchor-width)",
308
+ "--huin-core-popover-trigger-height": "var(--huin-core-popper-anchor-height)"
312
309
  }
313
- )
310
+ }
314
311
  }
315
312
  )
316
- }
313
+ )
317
314
  );
318
315
  });
319
316
  function getState(open) {
@@ -321,14 +318,13 @@ function getState(open) {
321
318
  }
322
319
 
323
320
  // packages/react/popover/src/PopoverTrigger.tsx
324
- var import_jsx_runtime5 = require("react/jsx-runtime");
325
321
  var TRIGGER_NAME = "PopoverTrigger";
326
- var PopoverTrigger = import_react3.default.forwardRef((props, forwardedRef) => {
322
+ var PopoverTrigger = import_react4.default.forwardRef((props, forwardedRef) => {
327
323
  const { __scopePopover, ...triggerProps } = props;
328
324
  const context = usePopoverContext(TRIGGER_NAME, __scopePopover);
329
325
  const popperScope = usePopperScope(__scopePopover);
330
326
  const composedTriggerRef = (0, import_react_compose_refs2.useComposedRefs)(forwardedRef, context.triggerRef);
331
- const trigger = /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
327
+ const trigger = /* @__PURE__ */ import_react4.default.createElement(
332
328
  import_react_primitive.Primitive.button,
333
329
  {
334
330
  type: "button",
@@ -341,21 +337,20 @@ var PopoverTrigger = import_react3.default.forwardRef((props, forwardedRef) => {
341
337
  onClick: (0, import_primitive2.composeEventHandlers)(props.onClick, context.onOpenToggle)
342
338
  }
343
339
  );
344
- return context.hasCustomAnchor ? trigger : /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(PopperPrimitive4.Anchor, { asChild: true, ...popperScope, children: trigger });
340
+ return context.hasCustomAnchor ? trigger : /* @__PURE__ */ import_react4.default.createElement(PopperPrimitive4.Anchor, { asChild: true, ...popperScope }, trigger);
345
341
  });
346
342
  PopoverTrigger.displayName = TRIGGER_NAME;
347
343
 
348
344
  // packages/react/popover/src/PopoverClose.tsx
349
- var import_react4 = __toESM(require("react"));
345
+ var import_react5 = __toESM(require("react"));
350
346
  var import_react_primitive2 = require("@huin-core/react-primitive");
351
347
  var import_primitive3 = require("@huin-core/primitive");
352
- var import_jsx_runtime6 = require("react/jsx-runtime");
353
348
  var CLOSE_NAME = "PopoverClose";
354
- var PopoverClose = import_react4.default.forwardRef(
349
+ var PopoverClose = import_react5.default.forwardRef(
355
350
  (props, forwardedRef) => {
356
351
  const { __scopePopover, ...closeProps } = props;
357
352
  const context = usePopoverContext(CLOSE_NAME, __scopePopover);
358
- return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
353
+ return /* @__PURE__ */ import_react5.default.createElement(
359
354
  import_react_primitive2.Primitive.button,
360
355
  {
361
356
  type: "button",
@@ -373,14 +368,13 @@ PopoverClose.displayName = CLOSE_NAME;
373
368
 
374
369
  // packages/react/popover/src/PopoverArrow.tsx
375
370
  var PopperPrimitive5 = __toESM(require("@huin-core/react-popper"));
376
- var import_react5 = __toESM(require("react"));
377
- var import_jsx_runtime7 = require("react/jsx-runtime");
371
+ var import_react6 = __toESM(require("react"));
378
372
  var ARROW_NAME = "PopoverArrow";
379
- var PopoverArrow = import_react5.default.forwardRef(
373
+ var PopoverArrow = import_react6.default.forwardRef(
380
374
  (props, forwardedRef) => {
381
375
  const { __scopePopover, ...arrowProps } = props;
382
376
  const popperScope = usePopperScope(__scopePopover);
383
- return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
377
+ return /* @__PURE__ */ import_react6.default.createElement(
384
378
  PopperPrimitive5.Arrow,
385
379
  {
386
380
  ...popperScope,
package/dist/index.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/index.ts", "../src/Popover.tsx", "../src/PopoverAnchor.tsx", "../src/PopoverTrigger.tsx", "../src/PopoverContent.tsx", "../src/PopoverPortal.tsx", "../src/PopoverClose.tsx", "../src/PopoverArrow.tsx"],
4
- "sourcesContent": ["\"use client\";\nexport { createPopoverScope, Popover, Root } from \"./Popover\";\nexport { PopoverAnchor } from \"./PopoverAnchor\";\nexport { PopoverTrigger } from \"./PopoverTrigger\";\nexport { PopoverPortal } from \"./PopoverPortal\";\nexport { PopoverContent } from \"./PopoverContent\";\nexport { PopoverClose } from \"./PopoverClose\";\nexport { PopoverArrow } from \"./PopoverArrow\";\n\nexport type { PopoverProps } from \"./Popover\";\nexport type { PopoverAnchorProps } from \"./PopoverAnchor\";\nexport type { PopoverTriggerProps } from \"./PopoverTrigger\";\nexport type { PopoverPortalProps } from \"./PopoverPortal\";\nexport type { PopoverContentProps } from \"./PopoverContent\";\nexport type { PopoverCloseProps } from \"./PopoverClose\";\nexport type { PopoverArrowProps } from \"./PopoverArrow\";\n", "import * as React from \"react\";\nimport { createContextScope } from \"@huin-core/react-context\";\nimport { useId } from \"@huin-core/react-id\";\nimport * as PopperPrimitive from \"@huin-core/react-popper\";\nimport { createPopperScope } from \"@huin-core/react-popper\";\nimport { useControllableState } from \"@huin-core/react-use-controllable-state\";\nimport type { Scope } from \"@huin-core/react-context\";\n\n/* -------------------------------------------------------------------------------------------------\n * Popover\n * -----------------------------------------------------------------------------------------------*/\n\nconst POPOVER_NAME = \"Popover\";\n\nexport type ScopedProps<P> = P & { __scopePopover?: Scope };\nexport const [createPopoverContext, createPopoverScope] = createContextScope(\n POPOVER_NAME,\n [createPopperScope]\n);\nexport const usePopperScope = createPopperScope();\n\ntype PopoverContextValue = {\n triggerRef: React.RefObject<HTMLButtonElement>;\n contentId: string;\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpenToggle(): void;\n hasCustomAnchor: boolean;\n onCustomAnchorAdd(): void;\n onCustomAnchorRemove(): void;\n modal: boolean;\n};\n\nexport const [PopoverProvider, usePopoverContext] =\n createPopoverContext<PopoverContextValue>(POPOVER_NAME);\n\ninterface PopoverProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n modal?: boolean;\n}\n\nconst Popover: React.FC<PopoverProps> = (props: ScopedProps<PopoverProps>) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false,\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n <PopperPrimitive.Root {...popperScope}>\n <PopoverProvider\n scope={__scopePopover}\n contentId={useId()}\n triggerRef={triggerRef}\n open={open}\n onOpenChange={setOpen}\n onOpenToggle={React.useCallback(\n () => setOpen((prevOpen) => !prevOpen),\n [setOpen]\n )}\n hasCustomAnchor={hasCustomAnchor}\n onCustomAnchorAdd={React.useCallback(\n () => setHasCustomAnchor(true),\n []\n )}\n onCustomAnchorRemove={React.useCallback(\n () => setHasCustomAnchor(false),\n []\n )}\n modal={modal}\n >\n {children}\n </PopoverProvider>\n </PopperPrimitive.Root>\n );\n};\n\nPopover.displayName = POPOVER_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Popover;\n\nexport { Popover, Root };\nexport type { PopoverProps };\n", "import * as PopperPrimitive from \"@huin-core/react-popper\";\nimport React from \"react\";\nimport { ScopedProps, usePopoverContext, usePopperScope } from \"./Popover\";\n\nconst ANCHOR_NAME = \"PopoverAnchor\";\n\ntype PopoverAnchorElement = React.ElementRef<typeof PopperPrimitive.Anchor>;\ntype PopperAnchorProps = React.ComponentPropsWithoutRef<\n typeof PopperPrimitive.Anchor\n>;\ninterface PopoverAnchorProps extends PopperAnchorProps {}\n\nconst PopoverAnchor = React.forwardRef<\n PopoverAnchorElement,\n PopoverAnchorProps\n>((props: ScopedProps<PopoverAnchorProps>, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n\n return (\n <PopperPrimitive.Anchor\n {...popperScope}\n {...anchorProps}\n ref={forwardedRef}\n />\n );\n});\n\nPopoverAnchor.displayName = ANCHOR_NAME;\n\nexport { PopoverAnchor };\nexport type { PopoverAnchorProps };\n", "import React from \"react\";\nimport { Primitive } from \"@huin-core/react-primitive\";\nimport { ScopedProps, usePopoverContext, usePopperScope } from \"./Popover\";\nimport { useComposedRefs } from \"@huin-core/react-compose-refs\";\nimport * as PopperPrimitive from \"@huin-core/react-popper\";\nimport { composeEventHandlers } from \"@huin-core/primitive\";\nimport { getState } from \"./PopoverContent\";\n\nconst TRIGGER_NAME = \"PopoverTrigger\";\n\ntype PopoverTriggerElement = React.ElementRef<typeof Primitive.button>;\nexport type PrimitiveButtonProps = React.ComponentPropsWithoutRef<\n typeof Primitive.button\n>;\ninterface PopoverTriggerProps extends PrimitiveButtonProps {}\n\nconst PopoverTrigger = React.forwardRef<\n PopoverTriggerElement,\n PopoverTriggerProps\n>((props: ScopedProps<PopoverTriggerProps>, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n\n const trigger = (\n <Primitive.button\n type=\"button\"\n aria-haspopup=\"dialog\"\n aria-expanded={context.open}\n aria-controls={context.contentId}\n data-state={getState(context.open)}\n {...triggerProps}\n ref={composedTriggerRef}\n onClick={composeEventHandlers(props.onClick, context.onOpenToggle)}\n />\n );\n\n return context.hasCustomAnchor ? (\n trigger\n ) : (\n <PopperPrimitive.Anchor asChild {...popperScope}>\n {trigger}\n </PopperPrimitive.Anchor>\n );\n});\n\nPopoverTrigger.displayName = TRIGGER_NAME;\n\nexport { PopoverTrigger };\nexport type { PopoverTriggerProps };\n", "import React from \"react\";\nimport { ScopedProps, usePopoverContext, usePopperScope } from \"./Popover\";\nimport { Presence } from \"@huin-core/react-presence\";\nimport { useComposedRefs } from \"@huin-core/react-compose-refs\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Slot } from \"@huin-core/react-slot\";\nimport { composeEventHandlers } from \"@huin-core/primitive\";\nimport * as PopperPrimitive from \"@huin-core/react-popper\";\nimport { DismissableLayer } from \"@huin-core/react-dismissable-layer\";\nimport { FocusScope } from \"@huin-core/react-focus-scope\";\nimport { useFocusGuards } from \"@huin-core/react-focus-guards\";\nimport { usePortalContext } from \"./PopoverPortal\";\n\nconst CONTENT_NAME = \"PopoverContent\";\n\ninterface PopoverContentProps extends PopoverContentTypeProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst PopoverContent = React.forwardRef<\n PopoverContentTypeElement,\n PopoverContentProps\n>((props: ScopedProps<PopoverContentProps>, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return (\n <Presence present={forceMount || context.open}>\n {context.modal ? (\n <PopoverContentModal {...contentProps} ref={forwardedRef} />\n ) : (\n <PopoverContentNonModal {...contentProps} ref={forwardedRef} />\n )}\n </Presence>\n );\n});\n\nPopoverContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype PopoverContentTypeElement = PopoverContentImplElement;\ninterface PopoverContentTypeProps\n extends Omit<\n PopoverContentImplProps,\n \"trapFocus\" | \"disableOutsidePointerEvents\"\n > {}\n\nconst PopoverContentModal = React.forwardRef<\n PopoverContentTypeElement,\n PopoverContentTypeProps\n>((props: ScopedProps<PopoverContentTypeProps>, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n\n // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n\n return (\n <RemoveScroll as={Slot} allowPinchZoom>\n <PopoverContentImpl\n {...props}\n ref={composedRefs}\n // we make sure we're not trapping once it's been closed\n // (closed !== unmounted when animating out)\n trapFocus={context.open}\n disableOutsidePointerEvents\n onCloseAutoFocus={composeEventHandlers(\n props.onCloseAutoFocus,\n (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current)\n context.triggerRef.current?.focus();\n }\n )}\n onPointerDownOutside={composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick =\n originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n )}\n // When focus is trapped, a `focusout` event may still happen.\n // We make sure we don't trigger our `onDismiss` in such case.\n onFocusOutside={composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )}\n />\n </RemoveScroll>\n );\n});\n\nconst PopoverContentNonModal = React.forwardRef<\n PopoverContentTypeElement,\n PopoverContentTypeProps\n>((props: ScopedProps<PopoverContentTypeProps>, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n\n return (\n <PopoverContentImpl\n {...props}\n ref={forwardedRef}\n trapFocus={false}\n disableOutsidePointerEvents={false}\n onCloseAutoFocus={(event) => {\n props.onCloseAutoFocus?.(event);\n\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current)\n context.triggerRef.current?.focus();\n // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n }\n\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n\n // Prevent dismissing when clicking the trigger.\n // As the trigger is already setup to close, without doing so would\n // cause it to close and immediately open.\n const target = event.target as HTMLElement;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n\n // On Safari if the trigger is inside a container with tabIndex={0}, when clicked\n // we will get the pointer down outside event on the trigger, but then a subsequent\n // focus outside event on the container, we ignore any focus outside event when we've\n // already had a pointer down outside event.\n if (\n event.detail.originalEvent.type === \"focusin\" &&\n hasPointerDownOutsideRef.current\n ) {\n event.preventDefault();\n }\n }}\n />\n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype PopoverContentImplElement = React.ElementRef<\n typeof PopperPrimitive.Content\n>;\ntype FocusScopeProps = React.ComponentPropsWithoutRef<typeof FocusScope>;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef<\n typeof DismissableLayer\n>;\ntype PopperContentProps = React.ComponentPropsWithoutRef<\n typeof PopperPrimitive.Content\n>;\ninterface PopoverContentImplProps\n extends Omit<PopperContentProps, \"onPlaced\">,\n Omit<DismissableLayerProps, \"onDismiss\"> {\n /**\n * Whether focus should be trapped within the `Popover`\n * (default: false)\n */\n trapFocus?: FocusScopeProps[\"trapped\"];\n\n /**\n * Event handler called when auto-focusing on open.\n * Can be prevented.\n */\n onOpenAutoFocus?: FocusScopeProps[\"onMountAutoFocus\"];\n\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n onCloseAutoFocus?: FocusScopeProps[\"onUnmountAutoFocus\"];\n}\n\nconst PopoverContentImpl = React.forwardRef<\n PopoverContentImplElement,\n PopoverContentImplProps\n>((props: ScopedProps<PopoverContentImplProps>, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n\n // Make sure the whole tree has focus guards as our `Popover` may be\n // the last element in the DOM (beacuse of the `Portal`)\n useFocusGuards();\n\n return (\n <FocusScope\n asChild\n loop\n trapped={trapFocus}\n onMountAutoFocus={onOpenAutoFocus}\n onUnmountAutoFocus={onCloseAutoFocus}\n >\n <DismissableLayer\n asChild\n disableOutsidePointerEvents={disableOutsidePointerEvents}\n onInteractOutside={onInteractOutside}\n onEscapeKeyDown={onEscapeKeyDown}\n onPointerDownOutside={onPointerDownOutside}\n onFocusOutside={onFocusOutside}\n onDismiss={() => context.onOpenChange(false)}\n >\n <PopperPrimitive.Content\n data-state={getState(context.open)}\n role=\"dialog\"\n id={context.contentId}\n {...popperScope}\n {...contentProps}\n ref={forwardedRef}\n style={{\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--huin-core-popover-content-transform-origin\":\n \"var(--huin-core-popper-transform-origin)\",\n \"--huin-core-popover-content-available-width\":\n \"var(--huin-core-popper-available-width)\",\n \"--huin-core-popover-content-available-height\":\n \"var(--huin-core-popper-available-height)\",\n \"--huin-core-popover-trigger-width\":\n \"var(--huin-core-popper-anchor-width)\",\n \"--huin-core-popover-trigger-height\":\n \"var(--huin-core-popper-anchor-height)\",\n },\n }}\n />\n </DismissableLayer>\n </FocusScope>\n );\n});\n\nexport function getState(open: boolean) {\n return open ? \"open\" : \"closed\";\n}\nexport { PopoverContent };\nexport type { PopoverContentProps };\n", "import { Portal as PortalPrimitive } from \"@huin-core/react-portal\";\nimport {\n createPopoverContext,\n ScopedProps,\n usePopoverContext,\n} from \"./Popover\";\nimport { Presence } from \"@huin-core/react-presence\";\n\nconst PORTAL_NAME = \"PopoverPortal\";\n\ntype PortalContextValue = { forceMount?: true };\nexport const [PortalProvider, usePortalContext] =\n createPopoverContext<PortalContextValue>(PORTAL_NAME, {\n forceMount: undefined,\n });\n\ntype PortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;\ninterface PopoverPortalProps {\n children?: React.ReactNode;\n /**\n * Specify a container element to portal the content into.\n */\n container?: PortalProps[\"container\"];\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst PopoverPortal: React.FC<PopoverPortalProps> = (\n props: ScopedProps<PopoverPortalProps>\n) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return (\n <PortalProvider scope={__scopePopover} forceMount={forceMount}>\n <Presence present={forceMount || context.open}>\n <PortalPrimitive asChild container={container}>\n {children}\n </PortalPrimitive>\n </Presence>\n </PortalProvider>\n );\n};\n\nPopoverPortal.displayName = PORTAL_NAME;\n\nexport { PopoverPortal };\nexport type { PopoverPortalProps };\n", "import React from \"react\";\nimport { Primitive } from \"@huin-core/react-primitive\";\nimport { ScopedProps, usePopoverContext } from \"./Popover\";\nimport { composeEventHandlers } from \"@huin-core/primitive\";\nimport { PrimitiveButtonProps } from \"./PopoverTrigger\";\n\nconst CLOSE_NAME = \"PopoverClose\";\n\ntype PopoverCloseElement = React.ElementRef<typeof Primitive.button>;\ninterface PopoverCloseProps extends PrimitiveButtonProps {}\n\nconst PopoverClose = React.forwardRef<PopoverCloseElement, PopoverCloseProps>(\n (props: ScopedProps<PopoverCloseProps>, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return (\n <Primitive.button\n type=\"button\"\n {...closeProps}\n ref={forwardedRef}\n onClick={composeEventHandlers(props.onClick, () =>\n context.onOpenChange(false)\n )}\n />\n );\n }\n);\n\nPopoverClose.displayName = CLOSE_NAME;\n\nexport { PopoverClose };\nexport type { PopoverCloseProps };\n", "import * as PopperPrimitive from \"@huin-core/react-popper\";\nimport React from \"react\";\nimport { ScopedProps, usePopperScope } from \"./Popover\";\n\nconst ARROW_NAME = \"PopoverArrow\";\n\ntype PopoverArrowElement = React.ElementRef<typeof PopperPrimitive.Arrow>;\ntype PopperArrowProps = React.ComponentPropsWithoutRef<\n typeof PopperPrimitive.Arrow\n>;\ninterface PopoverArrowProps extends PopperArrowProps {}\n\nconst PopoverArrow = React.forwardRef<PopoverArrowElement, PopoverArrowProps>(\n (props: ScopedProps<PopoverArrowProps>, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return (\n <PopperPrimitive.Arrow\n {...popperScope}\n {...arrowProps}\n ref={forwardedRef}\n />\n );\n }\n);\n\nPopoverArrow.displayName = ARROW_NAME;\n\nexport { PopoverArrow };\nexport type { PopoverArrowProps };\n"],
5
- "mappings": "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",
6
- "names": ["Root", "Root", "PopperPrimitive", "import_jsx_runtime", "React", "import_react", "import_react_compose_refs", "PopperPrimitive", "import_primitive", "import_react", "import_react_presence", "PopperPrimitive", "import_jsx_runtime", "PortalPrimitive", "import_jsx_runtime", "React", "import_jsx_runtime", "React", "import_react", "import_react_primitive", "import_primitive", "import_jsx_runtime", "React", "PopperPrimitive", "import_react", "import_jsx_runtime", "React"]
4
+ "sourcesContent": ["\"use client\";\nexport { createPopoverScope, Popover, Root } from \"./Popover\";\nexport { PopoverAnchor } from \"./PopoverAnchor\";\nexport { PopoverTrigger } from \"./PopoverTrigger\";\nexport { PopoverPortal } from \"./PopoverPortal\";\nexport { PopoverContent } from \"./PopoverContent\";\nexport { PopoverClose } from \"./PopoverClose\";\nexport { PopoverArrow } from \"./PopoverArrow\";\n\nexport type { PopoverProps } from \"./Popover\";\nexport type { PopoverAnchorProps } from \"./PopoverAnchor\";\nexport type { PopoverTriggerProps } from \"./PopoverTrigger\";\nexport type { PopoverPortalProps } from \"./PopoverPortal\";\nexport type { PopoverContentProps } from \"./PopoverContent\";\nexport type { PopoverCloseProps } from \"./PopoverClose\";\nexport type { PopoverArrowProps } from \"./PopoverArrow\";\n", "import * as React from \"react\";\nimport { createContextScope } from \"@huin-core/react-context\";\nimport { useId } from \"@huin-core/react-id\";\nimport * as PopperPrimitive from \"@huin-core/react-popper\";\nimport { createPopperScope } from \"@huin-core/react-popper\";\nimport { useControllableState } from \"@huin-core/react-use-controllable-state\";\nimport type { Scope } from \"@huin-core/react-context\";\n\n/* -------------------------------------------------------------------------------------------------\n * Popover\n * -----------------------------------------------------------------------------------------------*/\n\nconst POPOVER_NAME = \"Popover\";\n\nexport type ScopedProps<P> = P & { __scopePopover?: Scope };\nexport const [createPopoverContext, createPopoverScope] = createContextScope(\n POPOVER_NAME,\n [createPopperScope]\n);\nexport const usePopperScope = createPopperScope();\n\ntype PopoverContextValue = {\n triggerRef: React.RefObject<HTMLButtonElement>;\n contentId: string;\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpenToggle(): void;\n hasCustomAnchor: boolean;\n onCustomAnchorAdd(): void;\n onCustomAnchorRemove(): void;\n modal: boolean;\n};\n\nexport const [PopoverProvider, usePopoverContext] =\n createPopoverContext<PopoverContextValue>(POPOVER_NAME);\n\ninterface PopoverProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n modal?: boolean;\n}\n\nconst Popover: React.FC<PopoverProps> = (props: ScopedProps<PopoverProps>) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false,\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n <PopperPrimitive.Root {...popperScope}>\n <PopoverProvider\n scope={__scopePopover}\n contentId={useId()}\n triggerRef={triggerRef}\n open={open}\n onOpenChange={setOpen}\n onOpenToggle={React.useCallback(\n () => setOpen((prevOpen) => !prevOpen),\n [setOpen]\n )}\n hasCustomAnchor={hasCustomAnchor}\n onCustomAnchorAdd={React.useCallback(\n () => setHasCustomAnchor(true),\n []\n )}\n onCustomAnchorRemove={React.useCallback(\n () => setHasCustomAnchor(false),\n []\n )}\n modal={modal}\n >\n {children}\n </PopoverProvider>\n </PopperPrimitive.Root>\n );\n};\n\nPopover.displayName = POPOVER_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Popover;\n\nexport { Popover, Root };\nexport type { PopoverProps };\n", "import * as PopperPrimitive from \"@huin-core/react-popper\";\nimport React from \"react\";\nimport { ScopedProps, usePopoverContext, usePopperScope } from \"./Popover\";\n\nconst ANCHOR_NAME = \"PopoverAnchor\";\n\ntype PopoverAnchorElement = React.ElementRef<typeof PopperPrimitive.Anchor>;\ntype PopperAnchorProps = React.ComponentPropsWithoutRef<\n typeof PopperPrimitive.Anchor\n>;\ninterface PopoverAnchorProps extends PopperAnchorProps {}\n\nconst PopoverAnchor = React.forwardRef<\n PopoverAnchorElement,\n PopoverAnchorProps\n>((props: ScopedProps<PopoverAnchorProps>, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n\n return (\n <PopperPrimitive.Anchor\n {...popperScope}\n {...anchorProps}\n ref={forwardedRef}\n />\n );\n});\n\nPopoverAnchor.displayName = ANCHOR_NAME;\n\nexport { PopoverAnchor };\nexport type { PopoverAnchorProps };\n", "import React from \"react\";\nimport { Primitive } from \"@huin-core/react-primitive\";\nimport { ScopedProps, usePopoverContext, usePopperScope } from \"./Popover\";\nimport { useComposedRefs } from \"@huin-core/react-compose-refs\";\nimport * as PopperPrimitive from \"@huin-core/react-popper\";\nimport { composeEventHandlers } from \"@huin-core/primitive\";\nimport { getState } from \"./PopoverContent\";\n\nconst TRIGGER_NAME = \"PopoverTrigger\";\n\ntype PopoverTriggerElement = React.ElementRef<typeof Primitive.button>;\nexport type PrimitiveButtonProps = React.ComponentPropsWithoutRef<\n typeof Primitive.button\n>;\ninterface PopoverTriggerProps extends PrimitiveButtonProps {}\n\nconst PopoverTrigger = React.forwardRef<\n PopoverTriggerElement,\n PopoverTriggerProps\n>((props: ScopedProps<PopoverTriggerProps>, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n\n const trigger = (\n <Primitive.button\n type=\"button\"\n aria-haspopup=\"dialog\"\n aria-expanded={context.open}\n aria-controls={context.contentId}\n data-state={getState(context.open)}\n {...triggerProps}\n ref={composedTriggerRef}\n onClick={composeEventHandlers(props.onClick, context.onOpenToggle)}\n />\n );\n\n return context.hasCustomAnchor ? (\n trigger\n ) : (\n <PopperPrimitive.Anchor asChild {...popperScope}>\n {trigger}\n </PopperPrimitive.Anchor>\n );\n});\n\nPopoverTrigger.displayName = TRIGGER_NAME;\n\nexport { PopoverTrigger };\nexport type { PopoverTriggerProps };\n", "import React from \"react\";\nimport { ScopedProps, usePopoverContext, usePopperScope } from \"./Popover\";\nimport { Presence } from \"@huin-core/react-presence\";\nimport { useComposedRefs } from \"@huin-core/react-compose-refs\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Slot } from \"@huin-core/react-slot\";\nimport { composeEventHandlers } from \"@huin-core/primitive\";\nimport * as PopperPrimitive from \"@huin-core/react-popper\";\nimport { DismissableLayer } from \"@huin-core/react-dismissable-layer\";\nimport { FocusScope } from \"@huin-core/react-focus-scope\";\nimport { useFocusGuards } from \"@huin-core/react-focus-guards\";\nimport { usePortalContext } from \"./PopoverPortal\";\n\nconst CONTENT_NAME = \"PopoverContent\";\n\ninterface PopoverContentProps extends PopoverContentTypeProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst PopoverContent = React.forwardRef<\n PopoverContentTypeElement,\n PopoverContentProps\n>((props: ScopedProps<PopoverContentProps>, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return (\n <Presence present={forceMount || context.open}>\n {context.modal ? (\n <PopoverContentModal {...contentProps} ref={forwardedRef} />\n ) : (\n <PopoverContentNonModal {...contentProps} ref={forwardedRef} />\n )}\n </Presence>\n );\n});\n\nPopoverContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype PopoverContentTypeElement = PopoverContentImplElement;\ninterface PopoverContentTypeProps\n extends Omit<\n PopoverContentImplProps,\n \"trapFocus\" | \"disableOutsidePointerEvents\"\n > {}\n\nconst PopoverContentModal = React.forwardRef<\n PopoverContentTypeElement,\n PopoverContentTypeProps\n>((props: ScopedProps<PopoverContentTypeProps>, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n\n // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n\n return (\n <RemoveScroll as={Slot} allowPinchZoom>\n <PopoverContentImpl\n {...props}\n ref={composedRefs}\n // we make sure we're not trapping once it's been closed\n // (closed !== unmounted when animating out)\n trapFocus={context.open}\n disableOutsidePointerEvents\n onCloseAutoFocus={composeEventHandlers(\n props.onCloseAutoFocus,\n (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current)\n context.triggerRef.current?.focus();\n }\n )}\n onPointerDownOutside={composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick =\n originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n )}\n // When focus is trapped, a `focusout` event may still happen.\n // We make sure we don't trigger our `onDismiss` in such case.\n onFocusOutside={composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )}\n />\n </RemoveScroll>\n );\n});\n\nconst PopoverContentNonModal = React.forwardRef<\n PopoverContentTypeElement,\n PopoverContentTypeProps\n>((props: ScopedProps<PopoverContentTypeProps>, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n\n return (\n <PopoverContentImpl\n {...props}\n ref={forwardedRef}\n trapFocus={false}\n disableOutsidePointerEvents={false}\n onCloseAutoFocus={(event) => {\n props.onCloseAutoFocus?.(event);\n\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current)\n context.triggerRef.current?.focus();\n // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n }\n\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n\n // Prevent dismissing when clicking the trigger.\n // As the trigger is already setup to close, without doing so would\n // cause it to close and immediately open.\n const target = event.target as HTMLElement;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n\n // On Safari if the trigger is inside a container with tabIndex={0}, when clicked\n // we will get the pointer down outside event on the trigger, but then a subsequent\n // focus outside event on the container, we ignore any focus outside event when we've\n // already had a pointer down outside event.\n if (\n event.detail.originalEvent.type === \"focusin\" &&\n hasPointerDownOutsideRef.current\n ) {\n event.preventDefault();\n }\n }}\n />\n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype PopoverContentImplElement = React.ElementRef<\n typeof PopperPrimitive.Content\n>;\ntype FocusScopeProps = React.ComponentPropsWithoutRef<typeof FocusScope>;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef<\n typeof DismissableLayer\n>;\ntype PopperContentProps = React.ComponentPropsWithoutRef<\n typeof PopperPrimitive.Content\n>;\ninterface PopoverContentImplProps\n extends Omit<PopperContentProps, \"onPlaced\">,\n Omit<DismissableLayerProps, \"onDismiss\"> {\n /**\n * Whether focus should be trapped within the `Popover`\n * (default: false)\n */\n trapFocus?: FocusScopeProps[\"trapped\"];\n\n /**\n * Event handler called when auto-focusing on open.\n * Can be prevented.\n */\n onOpenAutoFocus?: FocusScopeProps[\"onMountAutoFocus\"];\n\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n onCloseAutoFocus?: FocusScopeProps[\"onUnmountAutoFocus\"];\n}\n\nconst PopoverContentImpl = React.forwardRef<\n PopoverContentImplElement,\n PopoverContentImplProps\n>((props: ScopedProps<PopoverContentImplProps>, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n\n // Make sure the whole tree has focus guards as our `Popover` may be\n // the last element in the DOM (beacuse of the `Portal`)\n useFocusGuards();\n\n return (\n <FocusScope\n asChild\n loop\n trapped={trapFocus}\n onMountAutoFocus={onOpenAutoFocus}\n onUnmountAutoFocus={onCloseAutoFocus}\n >\n <DismissableLayer\n asChild\n disableOutsidePointerEvents={disableOutsidePointerEvents}\n onInteractOutside={onInteractOutside}\n onEscapeKeyDown={onEscapeKeyDown}\n onPointerDownOutside={onPointerDownOutside}\n onFocusOutside={onFocusOutside}\n onDismiss={() => context.onOpenChange(false)}\n >\n <PopperPrimitive.Content\n data-state={getState(context.open)}\n role=\"dialog\"\n id={context.contentId}\n {...popperScope}\n {...contentProps}\n ref={forwardedRef}\n style={{\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--huin-core-popover-content-transform-origin\":\n \"var(--huin-core-popper-transform-origin)\",\n \"--huin-core-popover-content-available-width\":\n \"var(--huin-core-popper-available-width)\",\n \"--huin-core-popover-content-available-height\":\n \"var(--huin-core-popper-available-height)\",\n \"--huin-core-popover-trigger-width\":\n \"var(--huin-core-popper-anchor-width)\",\n \"--huin-core-popover-trigger-height\":\n \"var(--huin-core-popper-anchor-height)\",\n },\n }}\n />\n </DismissableLayer>\n </FocusScope>\n );\n});\n\nexport function getState(open: boolean) {\n return open ? \"open\" : \"closed\";\n}\nexport { PopoverContent };\nexport type { PopoverContentProps };\n", "import React from \"react\";\nimport { Portal as PortalPrimitive } from \"@huin-core/react-portal\";\nimport {\n createPopoverContext,\n ScopedProps,\n usePopoverContext,\n} from \"./Popover\";\nimport { Presence } from \"@huin-core/react-presence\";\n\nconst PORTAL_NAME = \"PopoverPortal\";\n\ntype PortalContextValue = { forceMount?: true };\nexport const [PortalProvider, usePortalContext] =\n createPopoverContext<PortalContextValue>(PORTAL_NAME, {\n forceMount: undefined,\n });\n\ntype PortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;\ninterface PopoverPortalProps {\n children?: React.ReactNode;\n /**\n * Specify a container element to portal the content into.\n */\n container?: PortalProps[\"container\"];\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst PopoverPortal: React.FC<PopoverPortalProps> = (\n props: ScopedProps<PopoverPortalProps>\n) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return (\n <PortalProvider scope={__scopePopover} forceMount={forceMount}>\n <Presence present={forceMount || context.open}>\n <PortalPrimitive asChild container={container}>\n {children}\n </PortalPrimitive>\n </Presence>\n </PortalProvider>\n );\n};\n\nPopoverPortal.displayName = PORTAL_NAME;\n\nexport { PopoverPortal };\nexport type { PopoverPortalProps };\n", "import React from \"react\";\nimport { Primitive } from \"@huin-core/react-primitive\";\nimport { ScopedProps, usePopoverContext } from \"./Popover\";\nimport { composeEventHandlers } from \"@huin-core/primitive\";\nimport { PrimitiveButtonProps } from \"./PopoverTrigger\";\n\nconst CLOSE_NAME = \"PopoverClose\";\n\ntype PopoverCloseElement = React.ElementRef<typeof Primitive.button>;\ninterface PopoverCloseProps extends PrimitiveButtonProps {}\n\nconst PopoverClose = React.forwardRef<PopoverCloseElement, PopoverCloseProps>(\n (props: ScopedProps<PopoverCloseProps>, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return (\n <Primitive.button\n type=\"button\"\n {...closeProps}\n ref={forwardedRef}\n onClick={composeEventHandlers(props.onClick, () =>\n context.onOpenChange(false)\n )}\n />\n );\n }\n);\n\nPopoverClose.displayName = CLOSE_NAME;\n\nexport { PopoverClose };\nexport type { PopoverCloseProps };\n", "import * as PopperPrimitive from \"@huin-core/react-popper\";\nimport React from \"react\";\nimport { ScopedProps, usePopperScope } from \"./Popover\";\n\nconst ARROW_NAME = \"PopoverArrow\";\n\ntype PopoverArrowElement = React.ElementRef<typeof PopperPrimitive.Arrow>;\ntype PopperArrowProps = React.ComponentPropsWithoutRef<\n typeof PopperPrimitive.Arrow\n>;\ninterface PopoverArrowProps extends PopperArrowProps {}\n\nconst PopoverArrow = React.forwardRef<PopoverArrowElement, PopoverArrowProps>(\n (props: ScopedProps<PopoverArrowProps>, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return (\n <PopperPrimitive.Arrow\n {...popperScope}\n {...arrowProps}\n ref={forwardedRef}\n />\n );\n }\n);\n\nPopoverArrow.displayName = ARROW_NAME;\n\nexport { PopoverArrow };\nexport type { PopoverArrowProps };\n"],
5
+ "mappings": "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",
6
+ "names": ["Root", "Root", "PopperPrimitive", "React", "import_react", "import_react_compose_refs", "PopperPrimitive", "import_primitive", "import_react", "import_react_presence", "PopperPrimitive", "import_react", "React", "PortalPrimitive", "React", "React", "import_react", "import_react_primitive", "import_primitive", "React", "PopperPrimitive", "import_react", "React"]
7
7
  }
package/dist/index.mjs CHANGED
@@ -7,7 +7,6 @@ import { useId } from "@huin-core/react-id";
7
7
  import * as PopperPrimitive from "@huin-core/react-popper";
8
8
  import { createPopperScope } from "@huin-core/react-popper";
9
9
  import { useControllableState } from "@huin-core/react-use-controllable-state";
10
- import { jsx } from "react/jsx-runtime";
11
10
  var POPOVER_NAME = "Popover";
12
11
  var [createPopoverContext, createPopoverScope] = createContextScope(
13
12
  POPOVER_NAME,
@@ -32,7 +31,7 @@ var Popover = (props) => {
32
31
  defaultProp: defaultOpen,
33
32
  onChange: onOpenChange
34
33
  });
35
- return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(
34
+ return /* @__PURE__ */ React.createElement(PopperPrimitive.Root, { ...popperScope }, /* @__PURE__ */ React.createElement(
36
35
  PopoverProvider,
37
36
  {
38
37
  scope: __scopePopover,
@@ -53,10 +52,10 @@ var Popover = (props) => {
53
52
  () => setHasCustomAnchor(false),
54
53
  []
55
54
  ),
56
- modal,
57
- children
58
- }
59
- ) });
55
+ modal
56
+ },
57
+ children
58
+ ));
60
59
  };
61
60
  Popover.displayName = POPOVER_NAME;
62
61
  var Root2 = Popover;
@@ -64,7 +63,6 @@ var Root2 = Popover;
64
63
  // packages/react/popover/src/PopoverAnchor.tsx
65
64
  import * as PopperPrimitive2 from "@huin-core/react-popper";
66
65
  import React2 from "react";
67
- import { jsx as jsx2 } from "react/jsx-runtime";
68
66
  var ANCHOR_NAME = "PopoverAnchor";
69
67
  var PopoverAnchor = React2.forwardRef((props, forwardedRef) => {
70
68
  const { __scopePopover, ...anchorProps } = props;
@@ -75,7 +73,7 @@ var PopoverAnchor = React2.forwardRef((props, forwardedRef) => {
75
73
  onCustomAnchorAdd();
76
74
  return () => onCustomAnchorRemove();
77
75
  }, [onCustomAnchorAdd, onCustomAnchorRemove]);
78
- return /* @__PURE__ */ jsx2(
76
+ return /* @__PURE__ */ React2.createElement(
79
77
  PopperPrimitive2.Anchor,
80
78
  {
81
79
  ...popperScope,
@@ -87,14 +85,14 @@ var PopoverAnchor = React2.forwardRef((props, forwardedRef) => {
87
85
  PopoverAnchor.displayName = ANCHOR_NAME;
88
86
 
89
87
  // packages/react/popover/src/PopoverTrigger.tsx
90
- import React4 from "react";
88
+ import React5 from "react";
91
89
  import { Primitive } from "@huin-core/react-primitive";
92
90
  import { useComposedRefs as useComposedRefs2 } from "@huin-core/react-compose-refs";
93
91
  import * as PopperPrimitive4 from "@huin-core/react-popper";
94
92
  import { composeEventHandlers as composeEventHandlers2 } from "@huin-core/primitive";
95
93
 
96
94
  // packages/react/popover/src/PopoverContent.tsx
97
- import React3 from "react";
95
+ import React4 from "react";
98
96
  import { Presence as Presence2 } from "@huin-core/react-presence";
99
97
  import { useComposedRefs } from "@huin-core/react-compose-refs";
100
98
  import { hideOthers } from "aria-hidden";
@@ -107,9 +105,9 @@ import { FocusScope } from "@huin-core/react-focus-scope";
107
105
  import { useFocusGuards } from "@huin-core/react-focus-guards";
108
106
 
109
107
  // packages/react/popover/src/PopoverPortal.tsx
108
+ import React3 from "react";
110
109
  import { Portal as PortalPrimitive } from "@huin-core/react-portal";
111
110
  import { Presence } from "@huin-core/react-presence";
112
- import { jsx as jsx3 } from "react/jsx-runtime";
113
111
  var PORTAL_NAME = "PopoverPortal";
114
112
  var [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {
115
113
  forceMount: void 0
@@ -117,30 +115,29 @@ var [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {
117
115
  var PopoverPortal = (props) => {
118
116
  const { __scopePopover, forceMount, children, container } = props;
119
117
  const context = usePopoverContext(PORTAL_NAME, __scopePopover);
120
- return /* @__PURE__ */ jsx3(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsx3(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx3(PortalPrimitive, { asChild: true, container, children }) }) });
118
+ return /* @__PURE__ */ React3.createElement(PortalProvider, { scope: __scopePopover, forceMount }, /* @__PURE__ */ React3.createElement(Presence, { present: forceMount || context.open }, /* @__PURE__ */ React3.createElement(PortalPrimitive, { asChild: true, container }, children)));
121
119
  };
122
120
  PopoverPortal.displayName = PORTAL_NAME;
123
121
 
124
122
  // packages/react/popover/src/PopoverContent.tsx
125
- import { jsx as jsx4 } from "react/jsx-runtime";
126
123
  var CONTENT_NAME = "PopoverContent";
127
- var PopoverContent = React3.forwardRef((props, forwardedRef) => {
124
+ var PopoverContent = React4.forwardRef((props, forwardedRef) => {
128
125
  const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);
129
126
  const { forceMount = portalContext.forceMount, ...contentProps } = props;
130
127
  const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
131
- return /* @__PURE__ */ jsx4(Presence2, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx4(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx4(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });
128
+ return /* @__PURE__ */ React4.createElement(Presence2, { present: forceMount || context.open }, context.modal ? /* @__PURE__ */ React4.createElement(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ React4.createElement(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }));
132
129
  });
133
130
  PopoverContent.displayName = CONTENT_NAME;
134
- var PopoverContentModal = React3.forwardRef((props, forwardedRef) => {
131
+ var PopoverContentModal = React4.forwardRef((props, forwardedRef) => {
135
132
  const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
136
- const contentRef = React3.useRef(null);
133
+ const contentRef = React4.useRef(null);
137
134
  const composedRefs = useComposedRefs(forwardedRef, contentRef);
138
- const isRightClickOutsideRef = React3.useRef(false);
139
- React3.useEffect(() => {
135
+ const isRightClickOutsideRef = React4.useRef(false);
136
+ React4.useEffect(() => {
140
137
  const content = contentRef.current;
141
138
  if (content) return hideOthers(content);
142
139
  }, []);
143
- return /* @__PURE__ */ jsx4(RemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsx4(
140
+ return /* @__PURE__ */ React4.createElement(RemoveScroll, { as: Slot, allowPinchZoom: true }, /* @__PURE__ */ React4.createElement(
144
141
  PopoverContentImpl,
145
142
  {
146
143
  ...props,
@@ -171,13 +168,13 @@ var PopoverContentModal = React3.forwardRef((props, forwardedRef) => {
171
168
  { checkForDefaultPrevented: false }
172
169
  )
173
170
  }
174
- ) });
171
+ ));
175
172
  });
176
- var PopoverContentNonModal = React3.forwardRef((props, forwardedRef) => {
173
+ var PopoverContentNonModal = React4.forwardRef((props, forwardedRef) => {
177
174
  const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
178
- const hasInteractedOutsideRef = React3.useRef(false);
179
- const hasPointerDownOutsideRef = React3.useRef(false);
180
- return /* @__PURE__ */ jsx4(
175
+ const hasInteractedOutsideRef = React4.useRef(false);
176
+ const hasPointerDownOutsideRef = React4.useRef(false);
177
+ return /* @__PURE__ */ React4.createElement(
181
178
  PopoverContentImpl,
182
179
  {
183
180
  ...props,
@@ -212,7 +209,7 @@ var PopoverContentNonModal = React3.forwardRef((props, forwardedRef) => {
212
209
  }
213
210
  );
214
211
  });
215
- var PopoverContentImpl = React3.forwardRef((props, forwardedRef) => {
212
+ var PopoverContentImpl = React4.forwardRef((props, forwardedRef) => {
216
213
  const {
217
214
  __scopePopover,
218
215
  trapFocus,
@@ -228,49 +225,49 @@ var PopoverContentImpl = React3.forwardRef((props, forwardedRef) => {
228
225
  const context = usePopoverContext(CONTENT_NAME, __scopePopover);
229
226
  const popperScope = usePopperScope(__scopePopover);
230
227
  useFocusGuards();
231
- return /* @__PURE__ */ jsx4(
228
+ return /* @__PURE__ */ React4.createElement(
232
229
  FocusScope,
233
230
  {
234
231
  asChild: true,
235
232
  loop: true,
236
233
  trapped: trapFocus,
237
234
  onMountAutoFocus: onOpenAutoFocus,
238
- onUnmountAutoFocus: onCloseAutoFocus,
239
- children: /* @__PURE__ */ jsx4(
240
- DismissableLayer,
235
+ onUnmountAutoFocus: onCloseAutoFocus
236
+ },
237
+ /* @__PURE__ */ React4.createElement(
238
+ DismissableLayer,
239
+ {
240
+ asChild: true,
241
+ disableOutsidePointerEvents,
242
+ onInteractOutside,
243
+ onEscapeKeyDown,
244
+ onPointerDownOutside,
245
+ onFocusOutside,
246
+ onDismiss: () => context.onOpenChange(false)
247
+ },
248
+ /* @__PURE__ */ React4.createElement(
249
+ PopperPrimitive3.Content,
241
250
  {
242
- asChild: true,
243
- disableOutsidePointerEvents,
244
- onInteractOutside,
245
- onEscapeKeyDown,
246
- onPointerDownOutside,
247
- onFocusOutside,
248
- onDismiss: () => context.onOpenChange(false),
249
- children: /* @__PURE__ */ jsx4(
250
- PopperPrimitive3.Content,
251
- {
252
- "data-state": getState(context.open),
253
- role: "dialog",
254
- id: context.contentId,
255
- ...popperScope,
256
- ...contentProps,
257
- ref: forwardedRef,
258
- style: {
259
- ...contentProps.style,
260
- // re-namespace exposed content custom properties
261
- ...{
262
- "--huin-core-popover-content-transform-origin": "var(--huin-core-popper-transform-origin)",
263
- "--huin-core-popover-content-available-width": "var(--huin-core-popper-available-width)",
264
- "--huin-core-popover-content-available-height": "var(--huin-core-popper-available-height)",
265
- "--huin-core-popover-trigger-width": "var(--huin-core-popper-anchor-width)",
266
- "--huin-core-popover-trigger-height": "var(--huin-core-popper-anchor-height)"
267
- }
268
- }
251
+ "data-state": getState(context.open),
252
+ role: "dialog",
253
+ id: context.contentId,
254
+ ...popperScope,
255
+ ...contentProps,
256
+ ref: forwardedRef,
257
+ style: {
258
+ ...contentProps.style,
259
+ // re-namespace exposed content custom properties
260
+ ...{
261
+ "--huin-core-popover-content-transform-origin": "var(--huin-core-popper-transform-origin)",
262
+ "--huin-core-popover-content-available-width": "var(--huin-core-popper-available-width)",
263
+ "--huin-core-popover-content-available-height": "var(--huin-core-popper-available-height)",
264
+ "--huin-core-popover-trigger-width": "var(--huin-core-popper-anchor-width)",
265
+ "--huin-core-popover-trigger-height": "var(--huin-core-popper-anchor-height)"
269
266
  }
270
- )
267
+ }
271
268
  }
272
269
  )
273
- }
270
+ )
274
271
  );
275
272
  });
276
273
  function getState(open) {
@@ -278,14 +275,13 @@ function getState(open) {
278
275
  }
279
276
 
280
277
  // packages/react/popover/src/PopoverTrigger.tsx
281
- import { jsx as jsx5 } from "react/jsx-runtime";
282
278
  var TRIGGER_NAME = "PopoverTrigger";
283
- var PopoverTrigger = React4.forwardRef((props, forwardedRef) => {
279
+ var PopoverTrigger = React5.forwardRef((props, forwardedRef) => {
284
280
  const { __scopePopover, ...triggerProps } = props;
285
281
  const context = usePopoverContext(TRIGGER_NAME, __scopePopover);
286
282
  const popperScope = usePopperScope(__scopePopover);
287
283
  const composedTriggerRef = useComposedRefs2(forwardedRef, context.triggerRef);
288
- const trigger = /* @__PURE__ */ jsx5(
284
+ const trigger = /* @__PURE__ */ React5.createElement(
289
285
  Primitive.button,
290
286
  {
291
287
  type: "button",
@@ -298,21 +294,20 @@ var PopoverTrigger = React4.forwardRef((props, forwardedRef) => {
298
294
  onClick: composeEventHandlers2(props.onClick, context.onOpenToggle)
299
295
  }
300
296
  );
301
- return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsx5(PopperPrimitive4.Anchor, { asChild: true, ...popperScope, children: trigger });
297
+ return context.hasCustomAnchor ? trigger : /* @__PURE__ */ React5.createElement(PopperPrimitive4.Anchor, { asChild: true, ...popperScope }, trigger);
302
298
  });
303
299
  PopoverTrigger.displayName = TRIGGER_NAME;
304
300
 
305
301
  // packages/react/popover/src/PopoverClose.tsx
306
- import React5 from "react";
302
+ import React6 from "react";
307
303
  import { Primitive as Primitive2 } from "@huin-core/react-primitive";
308
304
  import { composeEventHandlers as composeEventHandlers3 } from "@huin-core/primitive";
309
- import { jsx as jsx6 } from "react/jsx-runtime";
310
305
  var CLOSE_NAME = "PopoverClose";
311
- var PopoverClose = React5.forwardRef(
306
+ var PopoverClose = React6.forwardRef(
312
307
  (props, forwardedRef) => {
313
308
  const { __scopePopover, ...closeProps } = props;
314
309
  const context = usePopoverContext(CLOSE_NAME, __scopePopover);
315
- return /* @__PURE__ */ jsx6(
310
+ return /* @__PURE__ */ React6.createElement(
316
311
  Primitive2.button,
317
312
  {
318
313
  type: "button",
@@ -330,14 +325,13 @@ PopoverClose.displayName = CLOSE_NAME;
330
325
 
331
326
  // packages/react/popover/src/PopoverArrow.tsx
332
327
  import * as PopperPrimitive5 from "@huin-core/react-popper";
333
- import React6 from "react";
334
- import { jsx as jsx7 } from "react/jsx-runtime";
328
+ import React7 from "react";
335
329
  var ARROW_NAME = "PopoverArrow";
336
- var PopoverArrow = React6.forwardRef(
330
+ var PopoverArrow = React7.forwardRef(
337
331
  (props, forwardedRef) => {
338
332
  const { __scopePopover, ...arrowProps } = props;
339
333
  const popperScope = usePopperScope(__scopePopover);
340
- return /* @__PURE__ */ jsx7(
334
+ return /* @__PURE__ */ React7.createElement(
341
335
  PopperPrimitive5.Arrow,
342
336
  {
343
337
  ...popperScope,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/Popover.tsx", "../src/PopoverAnchor.tsx", "../src/PopoverTrigger.tsx", "../src/PopoverContent.tsx", "../src/PopoverPortal.tsx", "../src/PopoverClose.tsx", "../src/PopoverArrow.tsx"],
4
- "sourcesContent": ["import * as React from \"react\";\nimport { createContextScope } from \"@huin-core/react-context\";\nimport { useId } from \"@huin-core/react-id\";\nimport * as PopperPrimitive from \"@huin-core/react-popper\";\nimport { createPopperScope } from \"@huin-core/react-popper\";\nimport { useControllableState } from \"@huin-core/react-use-controllable-state\";\nimport type { Scope } from \"@huin-core/react-context\";\n\n/* -------------------------------------------------------------------------------------------------\n * Popover\n * -----------------------------------------------------------------------------------------------*/\n\nconst POPOVER_NAME = \"Popover\";\n\nexport type ScopedProps<P> = P & { __scopePopover?: Scope };\nexport const [createPopoverContext, createPopoverScope] = createContextScope(\n POPOVER_NAME,\n [createPopperScope]\n);\nexport const usePopperScope = createPopperScope();\n\ntype PopoverContextValue = {\n triggerRef: React.RefObject<HTMLButtonElement>;\n contentId: string;\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpenToggle(): void;\n hasCustomAnchor: boolean;\n onCustomAnchorAdd(): void;\n onCustomAnchorRemove(): void;\n modal: boolean;\n};\n\nexport const [PopoverProvider, usePopoverContext] =\n createPopoverContext<PopoverContextValue>(POPOVER_NAME);\n\ninterface PopoverProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n modal?: boolean;\n}\n\nconst Popover: React.FC<PopoverProps> = (props: ScopedProps<PopoverProps>) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false,\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n <PopperPrimitive.Root {...popperScope}>\n <PopoverProvider\n scope={__scopePopover}\n contentId={useId()}\n triggerRef={triggerRef}\n open={open}\n onOpenChange={setOpen}\n onOpenToggle={React.useCallback(\n () => setOpen((prevOpen) => !prevOpen),\n [setOpen]\n )}\n hasCustomAnchor={hasCustomAnchor}\n onCustomAnchorAdd={React.useCallback(\n () => setHasCustomAnchor(true),\n []\n )}\n onCustomAnchorRemove={React.useCallback(\n () => setHasCustomAnchor(false),\n []\n )}\n modal={modal}\n >\n {children}\n </PopoverProvider>\n </PopperPrimitive.Root>\n );\n};\n\nPopover.displayName = POPOVER_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Popover;\n\nexport { Popover, Root };\nexport type { PopoverProps };\n", "import * as PopperPrimitive from \"@huin-core/react-popper\";\nimport React from \"react\";\nimport { ScopedProps, usePopoverContext, usePopperScope } from \"./Popover\";\n\nconst ANCHOR_NAME = \"PopoverAnchor\";\n\ntype PopoverAnchorElement = React.ElementRef<typeof PopperPrimitive.Anchor>;\ntype PopperAnchorProps = React.ComponentPropsWithoutRef<\n typeof PopperPrimitive.Anchor\n>;\ninterface PopoverAnchorProps extends PopperAnchorProps {}\n\nconst PopoverAnchor = React.forwardRef<\n PopoverAnchorElement,\n PopoverAnchorProps\n>((props: ScopedProps<PopoverAnchorProps>, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n\n return (\n <PopperPrimitive.Anchor\n {...popperScope}\n {...anchorProps}\n ref={forwardedRef}\n />\n );\n});\n\nPopoverAnchor.displayName = ANCHOR_NAME;\n\nexport { PopoverAnchor };\nexport type { PopoverAnchorProps };\n", "import React from \"react\";\nimport { Primitive } from \"@huin-core/react-primitive\";\nimport { ScopedProps, usePopoverContext, usePopperScope } from \"./Popover\";\nimport { useComposedRefs } from \"@huin-core/react-compose-refs\";\nimport * as PopperPrimitive from \"@huin-core/react-popper\";\nimport { composeEventHandlers } from \"@huin-core/primitive\";\nimport { getState } from \"./PopoverContent\";\n\nconst TRIGGER_NAME = \"PopoverTrigger\";\n\ntype PopoverTriggerElement = React.ElementRef<typeof Primitive.button>;\nexport type PrimitiveButtonProps = React.ComponentPropsWithoutRef<\n typeof Primitive.button\n>;\ninterface PopoverTriggerProps extends PrimitiveButtonProps {}\n\nconst PopoverTrigger = React.forwardRef<\n PopoverTriggerElement,\n PopoverTriggerProps\n>((props: ScopedProps<PopoverTriggerProps>, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n\n const trigger = (\n <Primitive.button\n type=\"button\"\n aria-haspopup=\"dialog\"\n aria-expanded={context.open}\n aria-controls={context.contentId}\n data-state={getState(context.open)}\n {...triggerProps}\n ref={composedTriggerRef}\n onClick={composeEventHandlers(props.onClick, context.onOpenToggle)}\n />\n );\n\n return context.hasCustomAnchor ? (\n trigger\n ) : (\n <PopperPrimitive.Anchor asChild {...popperScope}>\n {trigger}\n </PopperPrimitive.Anchor>\n );\n});\n\nPopoverTrigger.displayName = TRIGGER_NAME;\n\nexport { PopoverTrigger };\nexport type { PopoverTriggerProps };\n", "import React from \"react\";\nimport { ScopedProps, usePopoverContext, usePopperScope } from \"./Popover\";\nimport { Presence } from \"@huin-core/react-presence\";\nimport { useComposedRefs } from \"@huin-core/react-compose-refs\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Slot } from \"@huin-core/react-slot\";\nimport { composeEventHandlers } from \"@huin-core/primitive\";\nimport * as PopperPrimitive from \"@huin-core/react-popper\";\nimport { DismissableLayer } from \"@huin-core/react-dismissable-layer\";\nimport { FocusScope } from \"@huin-core/react-focus-scope\";\nimport { useFocusGuards } from \"@huin-core/react-focus-guards\";\nimport { usePortalContext } from \"./PopoverPortal\";\n\nconst CONTENT_NAME = \"PopoverContent\";\n\ninterface PopoverContentProps extends PopoverContentTypeProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst PopoverContent = React.forwardRef<\n PopoverContentTypeElement,\n PopoverContentProps\n>((props: ScopedProps<PopoverContentProps>, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return (\n <Presence present={forceMount || context.open}>\n {context.modal ? (\n <PopoverContentModal {...contentProps} ref={forwardedRef} />\n ) : (\n <PopoverContentNonModal {...contentProps} ref={forwardedRef} />\n )}\n </Presence>\n );\n});\n\nPopoverContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype PopoverContentTypeElement = PopoverContentImplElement;\ninterface PopoverContentTypeProps\n extends Omit<\n PopoverContentImplProps,\n \"trapFocus\" | \"disableOutsidePointerEvents\"\n > {}\n\nconst PopoverContentModal = React.forwardRef<\n PopoverContentTypeElement,\n PopoverContentTypeProps\n>((props: ScopedProps<PopoverContentTypeProps>, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n\n // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n\n return (\n <RemoveScroll as={Slot} allowPinchZoom>\n <PopoverContentImpl\n {...props}\n ref={composedRefs}\n // we make sure we're not trapping once it's been closed\n // (closed !== unmounted when animating out)\n trapFocus={context.open}\n disableOutsidePointerEvents\n onCloseAutoFocus={composeEventHandlers(\n props.onCloseAutoFocus,\n (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current)\n context.triggerRef.current?.focus();\n }\n )}\n onPointerDownOutside={composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick =\n originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n )}\n // When focus is trapped, a `focusout` event may still happen.\n // We make sure we don't trigger our `onDismiss` in such case.\n onFocusOutside={composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )}\n />\n </RemoveScroll>\n );\n});\n\nconst PopoverContentNonModal = React.forwardRef<\n PopoverContentTypeElement,\n PopoverContentTypeProps\n>((props: ScopedProps<PopoverContentTypeProps>, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n\n return (\n <PopoverContentImpl\n {...props}\n ref={forwardedRef}\n trapFocus={false}\n disableOutsidePointerEvents={false}\n onCloseAutoFocus={(event) => {\n props.onCloseAutoFocus?.(event);\n\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current)\n context.triggerRef.current?.focus();\n // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n }\n\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n\n // Prevent dismissing when clicking the trigger.\n // As the trigger is already setup to close, without doing so would\n // cause it to close and immediately open.\n const target = event.target as HTMLElement;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n\n // On Safari if the trigger is inside a container with tabIndex={0}, when clicked\n // we will get the pointer down outside event on the trigger, but then a subsequent\n // focus outside event on the container, we ignore any focus outside event when we've\n // already had a pointer down outside event.\n if (\n event.detail.originalEvent.type === \"focusin\" &&\n hasPointerDownOutsideRef.current\n ) {\n event.preventDefault();\n }\n }}\n />\n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype PopoverContentImplElement = React.ElementRef<\n typeof PopperPrimitive.Content\n>;\ntype FocusScopeProps = React.ComponentPropsWithoutRef<typeof FocusScope>;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef<\n typeof DismissableLayer\n>;\ntype PopperContentProps = React.ComponentPropsWithoutRef<\n typeof PopperPrimitive.Content\n>;\ninterface PopoverContentImplProps\n extends Omit<PopperContentProps, \"onPlaced\">,\n Omit<DismissableLayerProps, \"onDismiss\"> {\n /**\n * Whether focus should be trapped within the `Popover`\n * (default: false)\n */\n trapFocus?: FocusScopeProps[\"trapped\"];\n\n /**\n * Event handler called when auto-focusing on open.\n * Can be prevented.\n */\n onOpenAutoFocus?: FocusScopeProps[\"onMountAutoFocus\"];\n\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n onCloseAutoFocus?: FocusScopeProps[\"onUnmountAutoFocus\"];\n}\n\nconst PopoverContentImpl = React.forwardRef<\n PopoverContentImplElement,\n PopoverContentImplProps\n>((props: ScopedProps<PopoverContentImplProps>, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n\n // Make sure the whole tree has focus guards as our `Popover` may be\n // the last element in the DOM (beacuse of the `Portal`)\n useFocusGuards();\n\n return (\n <FocusScope\n asChild\n loop\n trapped={trapFocus}\n onMountAutoFocus={onOpenAutoFocus}\n onUnmountAutoFocus={onCloseAutoFocus}\n >\n <DismissableLayer\n asChild\n disableOutsidePointerEvents={disableOutsidePointerEvents}\n onInteractOutside={onInteractOutside}\n onEscapeKeyDown={onEscapeKeyDown}\n onPointerDownOutside={onPointerDownOutside}\n onFocusOutside={onFocusOutside}\n onDismiss={() => context.onOpenChange(false)}\n >\n <PopperPrimitive.Content\n data-state={getState(context.open)}\n role=\"dialog\"\n id={context.contentId}\n {...popperScope}\n {...contentProps}\n ref={forwardedRef}\n style={{\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--huin-core-popover-content-transform-origin\":\n \"var(--huin-core-popper-transform-origin)\",\n \"--huin-core-popover-content-available-width\":\n \"var(--huin-core-popper-available-width)\",\n \"--huin-core-popover-content-available-height\":\n \"var(--huin-core-popper-available-height)\",\n \"--huin-core-popover-trigger-width\":\n \"var(--huin-core-popper-anchor-width)\",\n \"--huin-core-popover-trigger-height\":\n \"var(--huin-core-popper-anchor-height)\",\n },\n }}\n />\n </DismissableLayer>\n </FocusScope>\n );\n});\n\nexport function getState(open: boolean) {\n return open ? \"open\" : \"closed\";\n}\nexport { PopoverContent };\nexport type { PopoverContentProps };\n", "import { Portal as PortalPrimitive } from \"@huin-core/react-portal\";\nimport {\n createPopoverContext,\n ScopedProps,\n usePopoverContext,\n} from \"./Popover\";\nimport { Presence } from \"@huin-core/react-presence\";\n\nconst PORTAL_NAME = \"PopoverPortal\";\n\ntype PortalContextValue = { forceMount?: true };\nexport const [PortalProvider, usePortalContext] =\n createPopoverContext<PortalContextValue>(PORTAL_NAME, {\n forceMount: undefined,\n });\n\ntype PortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;\ninterface PopoverPortalProps {\n children?: React.ReactNode;\n /**\n * Specify a container element to portal the content into.\n */\n container?: PortalProps[\"container\"];\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst PopoverPortal: React.FC<PopoverPortalProps> = (\n props: ScopedProps<PopoverPortalProps>\n) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return (\n <PortalProvider scope={__scopePopover} forceMount={forceMount}>\n <Presence present={forceMount || context.open}>\n <PortalPrimitive asChild container={container}>\n {children}\n </PortalPrimitive>\n </Presence>\n </PortalProvider>\n );\n};\n\nPopoverPortal.displayName = PORTAL_NAME;\n\nexport { PopoverPortal };\nexport type { PopoverPortalProps };\n", "import React from \"react\";\nimport { Primitive } from \"@huin-core/react-primitive\";\nimport { ScopedProps, usePopoverContext } from \"./Popover\";\nimport { composeEventHandlers } from \"@huin-core/primitive\";\nimport { PrimitiveButtonProps } from \"./PopoverTrigger\";\n\nconst CLOSE_NAME = \"PopoverClose\";\n\ntype PopoverCloseElement = React.ElementRef<typeof Primitive.button>;\ninterface PopoverCloseProps extends PrimitiveButtonProps {}\n\nconst PopoverClose = React.forwardRef<PopoverCloseElement, PopoverCloseProps>(\n (props: ScopedProps<PopoverCloseProps>, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return (\n <Primitive.button\n type=\"button\"\n {...closeProps}\n ref={forwardedRef}\n onClick={composeEventHandlers(props.onClick, () =>\n context.onOpenChange(false)\n )}\n />\n );\n }\n);\n\nPopoverClose.displayName = CLOSE_NAME;\n\nexport { PopoverClose };\nexport type { PopoverCloseProps };\n", "import * as PopperPrimitive from \"@huin-core/react-popper\";\nimport React from \"react\";\nimport { ScopedProps, usePopperScope } from \"./Popover\";\n\nconst ARROW_NAME = \"PopoverArrow\";\n\ntype PopoverArrowElement = React.ElementRef<typeof PopperPrimitive.Arrow>;\ntype PopperArrowProps = React.ComponentPropsWithoutRef<\n typeof PopperPrimitive.Arrow\n>;\ninterface PopoverArrowProps extends PopperArrowProps {}\n\nconst PopoverArrow = React.forwardRef<PopoverArrowElement, PopoverArrowProps>(\n (props: ScopedProps<PopoverArrowProps>, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return (\n <PopperPrimitive.Arrow\n {...popperScope}\n {...arrowProps}\n ref={forwardedRef}\n />\n );\n }\n);\n\nPopoverArrow.displayName = ARROW_NAME;\n\nexport { PopoverArrow };\nexport type { PopoverArrowProps };\n"],
5
- "mappings": ";;;AAAA,YAAY,WAAW;AACvB,SAAS,0BAA0B;AACnC,SAAS,aAAa;AACtB,YAAY,qBAAqB;AACjC,SAAS,yBAAyB;AAClC,SAAS,4BAA4B;AA2D/B;AApDN,IAAM,eAAe;AAGd,IAAM,CAAC,sBAAsB,kBAAkB,IAAI;AAAA,EACxD;AAAA,EACA,CAAC,iBAAiB;AACpB;AACO,IAAM,iBAAiB,kBAAkB;AAczC,IAAM,CAAC,iBAAiB,iBAAiB,IAC9C,qBAA0C,YAAY;AAUxD,IAAM,UAAkC,CAAC,UAAqC;AAC5E,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,EACV,IAAI;AACJ,QAAM,cAAc,eAAe,cAAc;AACjD,QAAM,aAAmB,aAA0B,IAAI;AACvD,QAAM,CAAC,iBAAiB,kBAAkB,IAAU,eAAS,KAAK;AAClE,QAAM,CAAC,OAAO,OAAO,OAAO,IAAI,qBAAqB;AAAA,IACnD,MAAM;AAAA,IACN,aAAa;AAAA,IACb,UAAU;AAAA,EACZ,CAAC;AAED,SACE,oBAAiB,sBAAhB,EAAsB,GAAG,aACxB;AAAA,IAAC;AAAA;AAAA,MACC,OAAO;AAAA,MACP,WAAW,MAAM;AAAA,MACjB;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd,cAAoB;AAAA,QAClB,MAAM,QAAQ,CAAC,aAAa,CAAC,QAAQ;AAAA,QACrC,CAAC,OAAO;AAAA,MACV;AAAA,MACA;AAAA,MACA,mBAAyB;AAAA,QACvB,MAAM,mBAAmB,IAAI;AAAA,QAC7B,CAAC;AAAA,MACH;AAAA,MACA,sBAA4B;AAAA,QAC1B,MAAM,mBAAmB,KAAK;AAAA,QAC9B,CAAC;AAAA,MACH;AAAA,MACA;AAAA,MAEC;AAAA;AAAA,EACH,GACF;AAEJ;AAEA,QAAQ,cAAc;AAItB,IAAMA,QAAO;;;AC/Fb,YAAYC,sBAAqB;AACjC,OAAOC,YAAW;AA0Bd,gBAAAC,YAAA;AAvBJ,IAAM,cAAc;AAQpB,IAAM,gBAAgBC,OAAM,WAG1B,CAAC,OAAwC,iBAAiB;AAC1D,QAAM,EAAE,gBAAgB,GAAG,YAAY,IAAI;AAC3C,QAAM,UAAU,kBAAkB,aAAa,cAAc;AAC7D,QAAM,cAAc,eAAe,cAAc;AACjD,QAAM,EAAE,mBAAmB,qBAAqB,IAAI;AAEpD,EAAAA,OAAM,UAAU,MAAM;AACpB,sBAAkB;AAClB,WAAO,MAAM,qBAAqB;AAAA,EACpC,GAAG,CAAC,mBAAmB,oBAAoB,CAAC;AAE5C,SACE,gBAAAD;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACE,GAAG;AAAA,MACH,GAAG;AAAA,MACJ,KAAK;AAAA;AAAA,EACP;AAEJ,CAAC;AAED,cAAc,cAAc;;;ACnC5B,OAAOE,YAAW;AAClB,SAAS,iBAAiB;AAE1B,SAAS,mBAAAC,wBAAuB;AAChC,YAAYC,sBAAqB;AACjC,SAAS,wBAAAC,6BAA4B;;;ACLrC,OAAOC,YAAW;AAElB,SAAS,YAAAC,iBAAgB;AACzB,SAAS,uBAAuB;AAChC,SAAS,kBAAkB;AAC3B,SAAS,oBAAoB;AAC7B,SAAS,YAAY;AACrB,SAAS,4BAA4B;AACrC,YAAYC,sBAAqB;AACjC,SAAS,wBAAwB;AACjC,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;;;ACX/B,SAAS,UAAU,uBAAuB;AAM1C,SAAS,gBAAgB;AAgCjB,gBAAAC,YAAA;AA9BR,IAAM,cAAc;AAGb,IAAM,CAAC,gBAAgB,gBAAgB,IAC5C,qBAAyC,aAAa;AAAA,EACpD,YAAY;AACd,CAAC;AAgBH,IAAM,gBAA8C,CAClD,UACG;AACH,QAAM,EAAE,gBAAgB,YAAY,UAAU,UAAU,IAAI;AAC5D,QAAM,UAAU,kBAAkB,aAAa,cAAc;AAC7D,SACE,gBAAAA,KAAC,kBAAe,OAAO,gBAAgB,YACrC,0BAAAA,KAAC,YAAS,SAAS,cAAc,QAAQ,MACvC,0BAAAA,KAAC,mBAAgB,SAAO,MAAC,WACtB,UACH,GACF,GACF;AAEJ;AAEA,cAAc,cAAc;;;ADZpB,gBAAAC,YAAA;AApBR,IAAM,eAAe;AAUrB,IAAM,iBAAiBC,OAAM,WAG3B,CAAC,OAAyC,iBAAiB;AAC3D,QAAM,gBAAgB,iBAAiB,cAAc,MAAM,cAAc;AACzE,QAAM,EAAE,aAAa,cAAc,YAAY,GAAG,aAAa,IAAI;AACnE,QAAM,UAAU,kBAAkB,cAAc,MAAM,cAAc;AACpE,SACE,gBAAAD,KAACE,WAAA,EAAS,SAAS,cAAc,QAAQ,MACtC,kBAAQ,QACP,gBAAAF,KAAC,uBAAqB,GAAG,cAAc,KAAK,cAAc,IAE1D,gBAAAA,KAAC,0BAAwB,GAAG,cAAc,KAAK,cAAc,GAEjE;AAEJ,CAAC;AAED,eAAe,cAAc;AAW7B,IAAM,sBAAsBC,OAAM,WAGhC,CAAC,OAA6C,iBAAiB;AAC/D,QAAM,UAAU,kBAAkB,cAAc,MAAM,cAAc;AACpE,QAAM,aAAaA,OAAM,OAAuB,IAAI;AACpD,QAAM,eAAe,gBAAgB,cAAc,UAAU;AAC7D,QAAM,yBAAyBA,OAAM,OAAO,KAAK;AAGjD,EAAAA,OAAM,UAAU,MAAM;AACpB,UAAM,UAAU,WAAW;AAC3B,QAAI,QAAS,QAAO,WAAW,OAAO;AAAA,EACxC,GAAG,CAAC,CAAC;AAEL,SACE,gBAAAD,KAAC,gBAAa,IAAI,MAAM,gBAAc,MACpC,0BAAAA;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,KAAK;AAAA,MAGL,WAAW,QAAQ;AAAA,MACnB,6BAA2B;AAAA,MAC3B,kBAAkB;AAAA,QAChB,MAAM;AAAA,QACN,CAAC,UAAU;AACT,gBAAM,eAAe;AACrB,cAAI,CAAC,uBAAuB;AAC1B,oBAAQ,WAAW,SAAS,MAAM;AAAA,QACtC;AAAA,MACF;AAAA,MACA,sBAAsB;AAAA,QACpB,MAAM;AAAA,QACN,CAAC,UAAU;AACT,gBAAM,gBAAgB,MAAM,OAAO;AACnC,gBAAM,gBACJ,cAAc,WAAW,KAAK,cAAc,YAAY;AAC1D,gBAAM,eAAe,cAAc,WAAW,KAAK;AAEnD,iCAAuB,UAAU;AAAA,QACnC;AAAA,QACA,EAAE,0BAA0B,MAAM;AAAA,MACpC;AAAA,MAGA,gBAAgB;AAAA,QACd,MAAM;AAAA,QACN,CAAC,UAAU,MAAM,eAAe;AAAA,QAChC,EAAE,0BAA0B,MAAM;AAAA,MACpC;AAAA;AAAA,EACF,GACF;AAEJ,CAAC;AAED,IAAM,yBAAyBC,OAAM,WAGnC,CAAC,OAA6C,iBAAiB;AAC/D,QAAM,UAAU,kBAAkB,cAAc,MAAM,cAAc;AACpE,QAAM,0BAA0BA,OAAM,OAAO,KAAK;AAClD,QAAM,2BAA2BA,OAAM,OAAO,KAAK;AAEnD,SACE,gBAAAD;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,WAAW;AAAA,MACX,6BAA6B;AAAA,MAC7B,kBAAkB,CAAC,UAAU;AAC3B,cAAM,mBAAmB,KAAK;AAE9B,YAAI,CAAC,MAAM,kBAAkB;AAC3B,cAAI,CAAC,wBAAwB;AAC3B,oBAAQ,WAAW,SAAS,MAAM;AAEpC,gBAAM,eAAe;AAAA,QACvB;AAEA,gCAAwB,UAAU;AAClC,iCAAyB,UAAU;AAAA,MACrC;AAAA,MACA,mBAAmB,CAAC,UAAU;AAC5B,cAAM,oBAAoB,KAAK;AAE/B,YAAI,CAAC,MAAM,kBAAkB;AAC3B,kCAAwB,UAAU;AAClC,cAAI,MAAM,OAAO,cAAc,SAAS,eAAe;AACrD,qCAAyB,UAAU;AAAA,UACrC;AAAA,QACF;AAKA,cAAM,SAAS,MAAM;AACrB,cAAM,kBAAkB,QAAQ,WAAW,SAAS,SAAS,MAAM;AACnE,YAAI,gBAAiB,OAAM,eAAe;AAM1C,YACE,MAAM,OAAO,cAAc,SAAS,aACpC,yBAAyB,SACzB;AACA,gBAAM,eAAe;AAAA,QACvB;AAAA,MACF;AAAA;AAAA,EACF;AAEJ,CAAC;AAoCD,IAAM,qBAAqBC,OAAM,WAG/B,CAAC,OAA6C,iBAAiB;AAC/D,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,IAAI;AACJ,QAAM,UAAU,kBAAkB,cAAc,cAAc;AAC9D,QAAM,cAAc,eAAe,cAAc;AAIjD,iBAAe;AAEf,SACE,gBAAAD;AAAA,IAAC;AAAA;AAAA,MACC,SAAO;AAAA,MACP,MAAI;AAAA,MACJ,SAAS;AAAA,MACT,kBAAkB;AAAA,MAClB,oBAAoB;AAAA,MAEpB,0BAAAA;AAAA,QAAC;AAAA;AAAA,UACC,SAAO;AAAA,UACP;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,WAAW,MAAM,QAAQ,aAAa,KAAK;AAAA,UAE3C,0BAAAA;AAAA,YAAiB;AAAA,YAAhB;AAAA,cACC,cAAY,SAAS,QAAQ,IAAI;AAAA,cACjC,MAAK;AAAA,cACL,IAAI,QAAQ;AAAA,cACX,GAAG;AAAA,cACH,GAAG;AAAA,cACJ,KAAK;AAAA,cACL,OAAO;AAAA,gBACL,GAAG,aAAa;AAAA;AAAA,gBAEhB,GAAG;AAAA,kBACD,gDACE;AAAA,kBACF,+CACE;AAAA,kBACF,gDACE;AAAA,kBACF,qCACE;AAAA,kBACF,sCACE;AAAA,gBACJ;AAAA,cACF;AAAA;AAAA,UACF;AAAA;AAAA,MACF;AAAA;AAAA,EACF;AAEJ,CAAC;AAEM,SAAS,SAAS,MAAe;AACtC,SAAO,OAAO,SAAS;AACzB;;;ADvPI,gBAAAG,YAAA;AAlBJ,IAAM,eAAe;AAQrB,IAAM,iBAAiBC,OAAM,WAG3B,CAAC,OAAyC,iBAAiB;AAC3D,QAAM,EAAE,gBAAgB,GAAG,aAAa,IAAI;AAC5C,QAAM,UAAU,kBAAkB,cAAc,cAAc;AAC9D,QAAM,cAAc,eAAe,cAAc;AACjD,QAAM,qBAAqBC,iBAAgB,cAAc,QAAQ,UAAU;AAE3E,QAAM,UACJ,gBAAAF;AAAA,IAAC,UAAU;AAAA,IAAV;AAAA,MACC,MAAK;AAAA,MACL,iBAAc;AAAA,MACd,iBAAe,QAAQ;AAAA,MACvB,iBAAe,QAAQ;AAAA,MACvB,cAAY,SAAS,QAAQ,IAAI;AAAA,MAChC,GAAG;AAAA,MACJ,KAAK;AAAA,MACL,SAASG,sBAAqB,MAAM,SAAS,QAAQ,YAAY;AAAA;AAAA,EACnE;AAGF,SAAO,QAAQ,kBACb,UAEA,gBAAAH,KAAiB,yBAAhB,EAAuB,SAAO,MAAE,GAAG,aACjC,mBACH;AAEJ,CAAC;AAED,eAAe,cAAc;;;AG/C7B,OAAOI,YAAW;AAClB,SAAS,aAAAC,kBAAiB;AAE1B,SAAS,wBAAAC,6BAA4B;AAa/B,gBAAAC,YAAA;AAVN,IAAM,aAAa;AAKnB,IAAM,eAAeC,OAAM;AAAA,EACzB,CAAC,OAAuC,iBAAiB;AACvD,UAAM,EAAE,gBAAgB,GAAG,WAAW,IAAI;AAC1C,UAAM,UAAU,kBAAkB,YAAY,cAAc;AAC5D,WACE,gBAAAD;AAAA,MAACE,WAAU;AAAA,MAAV;AAAA,QACC,MAAK;AAAA,QACJ,GAAG;AAAA,QACJ,KAAK;AAAA,QACL,SAASH;AAAA,UAAqB,MAAM;AAAA,UAAS,MAC3C,QAAQ,aAAa,KAAK;AAAA,QAC5B;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAEA,aAAa,cAAc;;;AC5B3B,YAAYI,sBAAqB;AACjC,OAAOC,YAAW;AAgBZ,gBAAAC,YAAA;AAbN,IAAM,aAAa;AAQnB,IAAM,eAAeC,OAAM;AAAA,EACzB,CAAC,OAAuC,iBAAiB;AACvD,UAAM,EAAE,gBAAgB,GAAG,WAAW,IAAI;AAC1C,UAAM,cAAc,eAAe,cAAc;AACjD,WACE,gBAAAD;AAAA,MAAiB;AAAA,MAAhB;AAAA,QACE,GAAG;AAAA,QACH,GAAG;AAAA,QACJ,KAAK;AAAA;AAAA,IACP;AAAA,EAEJ;AACF;AAEA,aAAa,cAAc;",
6
- "names": ["Root", "PopperPrimitive", "React", "jsx", "React", "React", "useComposedRefs", "PopperPrimitive", "composeEventHandlers", "React", "Presence", "PopperPrimitive", "jsx", "jsx", "React", "Presence", "jsx", "React", "useComposedRefs", "composeEventHandlers", "React", "Primitive", "composeEventHandlers", "jsx", "React", "Primitive", "PopperPrimitive", "React", "jsx", "React"]
4
+ "sourcesContent": ["import * as React from \"react\";\nimport { createContextScope } from \"@huin-core/react-context\";\nimport { useId } from \"@huin-core/react-id\";\nimport * as PopperPrimitive from \"@huin-core/react-popper\";\nimport { createPopperScope } from \"@huin-core/react-popper\";\nimport { useControllableState } from \"@huin-core/react-use-controllable-state\";\nimport type { Scope } from \"@huin-core/react-context\";\n\n/* -------------------------------------------------------------------------------------------------\n * Popover\n * -----------------------------------------------------------------------------------------------*/\n\nconst POPOVER_NAME = \"Popover\";\n\nexport type ScopedProps<P> = P & { __scopePopover?: Scope };\nexport const [createPopoverContext, createPopoverScope] = createContextScope(\n POPOVER_NAME,\n [createPopperScope]\n);\nexport const usePopperScope = createPopperScope();\n\ntype PopoverContextValue = {\n triggerRef: React.RefObject<HTMLButtonElement>;\n contentId: string;\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpenToggle(): void;\n hasCustomAnchor: boolean;\n onCustomAnchorAdd(): void;\n onCustomAnchorRemove(): void;\n modal: boolean;\n};\n\nexport const [PopoverProvider, usePopoverContext] =\n createPopoverContext<PopoverContextValue>(POPOVER_NAME);\n\ninterface PopoverProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n modal?: boolean;\n}\n\nconst Popover: React.FC<PopoverProps> = (props: ScopedProps<PopoverProps>) => {\n const {\n __scopePopover,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = false,\n } = props;\n const popperScope = usePopperScope(__scopePopover);\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const [hasCustomAnchor, setHasCustomAnchor] = React.useState(false);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n <PopperPrimitive.Root {...popperScope}>\n <PopoverProvider\n scope={__scopePopover}\n contentId={useId()}\n triggerRef={triggerRef}\n open={open}\n onOpenChange={setOpen}\n onOpenToggle={React.useCallback(\n () => setOpen((prevOpen) => !prevOpen),\n [setOpen]\n )}\n hasCustomAnchor={hasCustomAnchor}\n onCustomAnchorAdd={React.useCallback(\n () => setHasCustomAnchor(true),\n []\n )}\n onCustomAnchorRemove={React.useCallback(\n () => setHasCustomAnchor(false),\n []\n )}\n modal={modal}\n >\n {children}\n </PopoverProvider>\n </PopperPrimitive.Root>\n );\n};\n\nPopover.displayName = POPOVER_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst Root = Popover;\n\nexport { Popover, Root };\nexport type { PopoverProps };\n", "import * as PopperPrimitive from \"@huin-core/react-popper\";\nimport React from \"react\";\nimport { ScopedProps, usePopoverContext, usePopperScope } from \"./Popover\";\n\nconst ANCHOR_NAME = \"PopoverAnchor\";\n\ntype PopoverAnchorElement = React.ElementRef<typeof PopperPrimitive.Anchor>;\ntype PopperAnchorProps = React.ComponentPropsWithoutRef<\n typeof PopperPrimitive.Anchor\n>;\ninterface PopoverAnchorProps extends PopperAnchorProps {}\n\nconst PopoverAnchor = React.forwardRef<\n PopoverAnchorElement,\n PopoverAnchorProps\n>((props: ScopedProps<PopoverAnchorProps>, forwardedRef) => {\n const { __scopePopover, ...anchorProps } = props;\n const context = usePopoverContext(ANCHOR_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const { onCustomAnchorAdd, onCustomAnchorRemove } = context;\n\n React.useEffect(() => {\n onCustomAnchorAdd();\n return () => onCustomAnchorRemove();\n }, [onCustomAnchorAdd, onCustomAnchorRemove]);\n\n return (\n <PopperPrimitive.Anchor\n {...popperScope}\n {...anchorProps}\n ref={forwardedRef}\n />\n );\n});\n\nPopoverAnchor.displayName = ANCHOR_NAME;\n\nexport { PopoverAnchor };\nexport type { PopoverAnchorProps };\n", "import React from \"react\";\nimport { Primitive } from \"@huin-core/react-primitive\";\nimport { ScopedProps, usePopoverContext, usePopperScope } from \"./Popover\";\nimport { useComposedRefs } from \"@huin-core/react-compose-refs\";\nimport * as PopperPrimitive from \"@huin-core/react-popper\";\nimport { composeEventHandlers } from \"@huin-core/primitive\";\nimport { getState } from \"./PopoverContent\";\n\nconst TRIGGER_NAME = \"PopoverTrigger\";\n\ntype PopoverTriggerElement = React.ElementRef<typeof Primitive.button>;\nexport type PrimitiveButtonProps = React.ComponentPropsWithoutRef<\n typeof Primitive.button\n>;\ninterface PopoverTriggerProps extends PrimitiveButtonProps {}\n\nconst PopoverTrigger = React.forwardRef<\n PopoverTriggerElement,\n PopoverTriggerProps\n>((props: ScopedProps<PopoverTriggerProps>, forwardedRef) => {\n const { __scopePopover, ...triggerProps } = props;\n const context = usePopoverContext(TRIGGER_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n\n const trigger = (\n <Primitive.button\n type=\"button\"\n aria-haspopup=\"dialog\"\n aria-expanded={context.open}\n aria-controls={context.contentId}\n data-state={getState(context.open)}\n {...triggerProps}\n ref={composedTriggerRef}\n onClick={composeEventHandlers(props.onClick, context.onOpenToggle)}\n />\n );\n\n return context.hasCustomAnchor ? (\n trigger\n ) : (\n <PopperPrimitive.Anchor asChild {...popperScope}>\n {trigger}\n </PopperPrimitive.Anchor>\n );\n});\n\nPopoverTrigger.displayName = TRIGGER_NAME;\n\nexport { PopoverTrigger };\nexport type { PopoverTriggerProps };\n", "import React from \"react\";\nimport { ScopedProps, usePopoverContext, usePopperScope } from \"./Popover\";\nimport { Presence } from \"@huin-core/react-presence\";\nimport { useComposedRefs } from \"@huin-core/react-compose-refs\";\nimport { hideOthers } from \"aria-hidden\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { Slot } from \"@huin-core/react-slot\";\nimport { composeEventHandlers } from \"@huin-core/primitive\";\nimport * as PopperPrimitive from \"@huin-core/react-popper\";\nimport { DismissableLayer } from \"@huin-core/react-dismissable-layer\";\nimport { FocusScope } from \"@huin-core/react-focus-scope\";\nimport { useFocusGuards } from \"@huin-core/react-focus-guards\";\nimport { usePortalContext } from \"./PopoverPortal\";\n\nconst CONTENT_NAME = \"PopoverContent\";\n\ninterface PopoverContentProps extends PopoverContentTypeProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst PopoverContent = React.forwardRef<\n PopoverContentTypeElement,\n PopoverContentProps\n>((props: ScopedProps<PopoverContentProps>, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n return (\n <Presence present={forceMount || context.open}>\n {context.modal ? (\n <PopoverContentModal {...contentProps} ref={forwardedRef} />\n ) : (\n <PopoverContentNonModal {...contentProps} ref={forwardedRef} />\n )}\n </Presence>\n );\n});\n\nPopoverContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype PopoverContentTypeElement = PopoverContentImplElement;\ninterface PopoverContentTypeProps\n extends Omit<\n PopoverContentImplProps,\n \"trapFocus\" | \"disableOutsidePointerEvents\"\n > {}\n\nconst PopoverContentModal = React.forwardRef<\n PopoverContentTypeElement,\n PopoverContentTypeProps\n>((props: ScopedProps<PopoverContentTypeProps>, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n const isRightClickOutsideRef = React.useRef(false);\n\n // aria-hide everything except the content (better supported equivalent to setting aria-modal)\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n\n return (\n <RemoveScroll as={Slot} allowPinchZoom>\n <PopoverContentImpl\n {...props}\n ref={composedRefs}\n // we make sure we're not trapping once it's been closed\n // (closed !== unmounted when animating out)\n trapFocus={context.open}\n disableOutsidePointerEvents\n onCloseAutoFocus={composeEventHandlers(\n props.onCloseAutoFocus,\n (event) => {\n event.preventDefault();\n if (!isRightClickOutsideRef.current)\n context.triggerRef.current?.focus();\n }\n )}\n onPointerDownOutside={composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick =\n originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n\n isRightClickOutsideRef.current = isRightClick;\n },\n { checkForDefaultPrevented: false }\n )}\n // When focus is trapped, a `focusout` event may still happen.\n // We make sure we don't trigger our `onDismiss` in such case.\n onFocusOutside={composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault(),\n { checkForDefaultPrevented: false }\n )}\n />\n </RemoveScroll>\n );\n});\n\nconst PopoverContentNonModal = React.forwardRef<\n PopoverContentTypeElement,\n PopoverContentTypeProps\n>((props: ScopedProps<PopoverContentTypeProps>, forwardedRef) => {\n const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n\n return (\n <PopoverContentImpl\n {...props}\n ref={forwardedRef}\n trapFocus={false}\n disableOutsidePointerEvents={false}\n onCloseAutoFocus={(event) => {\n props.onCloseAutoFocus?.(event);\n\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current)\n context.triggerRef.current?.focus();\n // Always prevent auto focus because we either focus manually or want user agent focus\n event.preventDefault();\n }\n\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n\n // Prevent dismissing when clicking the trigger.\n // As the trigger is already setup to close, without doing so would\n // cause it to close and immediately open.\n const target = event.target as HTMLElement;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n\n // On Safari if the trigger is inside a container with tabIndex={0}, when clicked\n // we will get the pointer down outside event on the trigger, but then a subsequent\n // focus outside event on the container, we ignore any focus outside event when we've\n // already had a pointer down outside event.\n if (\n event.detail.originalEvent.type === \"focusin\" &&\n hasPointerDownOutsideRef.current\n ) {\n event.preventDefault();\n }\n }}\n />\n );\n});\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype PopoverContentImplElement = React.ElementRef<\n typeof PopperPrimitive.Content\n>;\ntype FocusScopeProps = React.ComponentPropsWithoutRef<typeof FocusScope>;\ntype DismissableLayerProps = React.ComponentPropsWithoutRef<\n typeof DismissableLayer\n>;\ntype PopperContentProps = React.ComponentPropsWithoutRef<\n typeof PopperPrimitive.Content\n>;\ninterface PopoverContentImplProps\n extends Omit<PopperContentProps, \"onPlaced\">,\n Omit<DismissableLayerProps, \"onDismiss\"> {\n /**\n * Whether focus should be trapped within the `Popover`\n * (default: false)\n */\n trapFocus?: FocusScopeProps[\"trapped\"];\n\n /**\n * Event handler called when auto-focusing on open.\n * Can be prevented.\n */\n onOpenAutoFocus?: FocusScopeProps[\"onMountAutoFocus\"];\n\n /**\n * Event handler called when auto-focusing on close.\n * Can be prevented.\n */\n onCloseAutoFocus?: FocusScopeProps[\"onUnmountAutoFocus\"];\n}\n\nconst PopoverContentImpl = React.forwardRef<\n PopoverContentImplElement,\n PopoverContentImplProps\n>((props: ScopedProps<PopoverContentImplProps>, forwardedRef) => {\n const {\n __scopePopover,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n ...contentProps\n } = props;\n const context = usePopoverContext(CONTENT_NAME, __scopePopover);\n const popperScope = usePopperScope(__scopePopover);\n\n // Make sure the whole tree has focus guards as our `Popover` may be\n // the last element in the DOM (beacuse of the `Portal`)\n useFocusGuards();\n\n return (\n <FocusScope\n asChild\n loop\n trapped={trapFocus}\n onMountAutoFocus={onOpenAutoFocus}\n onUnmountAutoFocus={onCloseAutoFocus}\n >\n <DismissableLayer\n asChild\n disableOutsidePointerEvents={disableOutsidePointerEvents}\n onInteractOutside={onInteractOutside}\n onEscapeKeyDown={onEscapeKeyDown}\n onPointerDownOutside={onPointerDownOutside}\n onFocusOutside={onFocusOutside}\n onDismiss={() => context.onOpenChange(false)}\n >\n <PopperPrimitive.Content\n data-state={getState(context.open)}\n role=\"dialog\"\n id={context.contentId}\n {...popperScope}\n {...contentProps}\n ref={forwardedRef}\n style={{\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--huin-core-popover-content-transform-origin\":\n \"var(--huin-core-popper-transform-origin)\",\n \"--huin-core-popover-content-available-width\":\n \"var(--huin-core-popper-available-width)\",\n \"--huin-core-popover-content-available-height\":\n \"var(--huin-core-popper-available-height)\",\n \"--huin-core-popover-trigger-width\":\n \"var(--huin-core-popper-anchor-width)\",\n \"--huin-core-popover-trigger-height\":\n \"var(--huin-core-popper-anchor-height)\",\n },\n }}\n />\n </DismissableLayer>\n </FocusScope>\n );\n});\n\nexport function getState(open: boolean) {\n return open ? \"open\" : \"closed\";\n}\nexport { PopoverContent };\nexport type { PopoverContentProps };\n", "import React from \"react\";\nimport { Portal as PortalPrimitive } from \"@huin-core/react-portal\";\nimport {\n createPopoverContext,\n ScopedProps,\n usePopoverContext,\n} from \"./Popover\";\nimport { Presence } from \"@huin-core/react-presence\";\n\nconst PORTAL_NAME = \"PopoverPortal\";\n\ntype PortalContextValue = { forceMount?: true };\nexport const [PortalProvider, usePortalContext] =\n createPopoverContext<PortalContextValue>(PORTAL_NAME, {\n forceMount: undefined,\n });\n\ntype PortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;\ninterface PopoverPortalProps {\n children?: React.ReactNode;\n /**\n * Specify a container element to portal the content into.\n */\n container?: PortalProps[\"container\"];\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst PopoverPortal: React.FC<PopoverPortalProps> = (\n props: ScopedProps<PopoverPortalProps>\n) => {\n const { __scopePopover, forceMount, children, container } = props;\n const context = usePopoverContext(PORTAL_NAME, __scopePopover);\n return (\n <PortalProvider scope={__scopePopover} forceMount={forceMount}>\n <Presence present={forceMount || context.open}>\n <PortalPrimitive asChild container={container}>\n {children}\n </PortalPrimitive>\n </Presence>\n </PortalProvider>\n );\n};\n\nPopoverPortal.displayName = PORTAL_NAME;\n\nexport { PopoverPortal };\nexport type { PopoverPortalProps };\n", "import React from \"react\";\nimport { Primitive } from \"@huin-core/react-primitive\";\nimport { ScopedProps, usePopoverContext } from \"./Popover\";\nimport { composeEventHandlers } from \"@huin-core/primitive\";\nimport { PrimitiveButtonProps } from \"./PopoverTrigger\";\n\nconst CLOSE_NAME = \"PopoverClose\";\n\ntype PopoverCloseElement = React.ElementRef<typeof Primitive.button>;\ninterface PopoverCloseProps extends PrimitiveButtonProps {}\n\nconst PopoverClose = React.forwardRef<PopoverCloseElement, PopoverCloseProps>(\n (props: ScopedProps<PopoverCloseProps>, forwardedRef) => {\n const { __scopePopover, ...closeProps } = props;\n const context = usePopoverContext(CLOSE_NAME, __scopePopover);\n return (\n <Primitive.button\n type=\"button\"\n {...closeProps}\n ref={forwardedRef}\n onClick={composeEventHandlers(props.onClick, () =>\n context.onOpenChange(false)\n )}\n />\n );\n }\n);\n\nPopoverClose.displayName = CLOSE_NAME;\n\nexport { PopoverClose };\nexport type { PopoverCloseProps };\n", "import * as PopperPrimitive from \"@huin-core/react-popper\";\nimport React from \"react\";\nimport { ScopedProps, usePopperScope } from \"./Popover\";\n\nconst ARROW_NAME = \"PopoverArrow\";\n\ntype PopoverArrowElement = React.ElementRef<typeof PopperPrimitive.Arrow>;\ntype PopperArrowProps = React.ComponentPropsWithoutRef<\n typeof PopperPrimitive.Arrow\n>;\ninterface PopoverArrowProps extends PopperArrowProps {}\n\nconst PopoverArrow = React.forwardRef<PopoverArrowElement, PopoverArrowProps>(\n (props: ScopedProps<PopoverArrowProps>, forwardedRef) => {\n const { __scopePopover, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopePopover);\n return (\n <PopperPrimitive.Arrow\n {...popperScope}\n {...arrowProps}\n ref={forwardedRef}\n />\n );\n }\n);\n\nPopoverArrow.displayName = ARROW_NAME;\n\nexport { PopoverArrow };\nexport type { PopoverArrowProps };\n"],
5
+ "mappings": "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",
6
+ "names": ["Root", "PopperPrimitive", "React", "React", "React", "useComposedRefs", "PopperPrimitive", "composeEventHandlers", "React", "Presence", "PopperPrimitive", "React", "React", "React", "Presence", "React", "useComposedRefs", "composeEventHandlers", "React", "Primitive", "composeEventHandlers", "React", "Primitive", "PopperPrimitive", "React", "React"]
7
7
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@huin-core/react-popover",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "license": "MIT",
5
5
  "exports": {
6
6
  ".": {