@radix-ui/react-dialog 1.0.3 → 1.0.4-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"mappings":";;;;;;AA0BA,OAAA,wFAAgF,CAAC;AAgBjF;IACE,QAAQ,CAAC,EAAE,MAAM,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,OAAA,MAAM,QAAQ,MAAM,EAAE,CAAC,WAAW,CAiCjC,CAAC;AAWF,4BAA4B,MAAM,wBAAwB,CAAC,OAAO,UAAU,MAAM,CAAC,CAAC;AACpF,mCAA6B,SAAQ,oBAAoB;CAAG;AAE5D,OAAA,MAAM,2GAkBL,CAAC;AAeF,mBAAmB,MAAM,wBAAwB,CAAC,eAAsB,CAAC,CAAC;AAC1E,kCAA4B,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;IAC9D,QAAQ,CAAC,EAAE,MAAM,SAAS,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED,OAAA,MAAM,cAAc,MAAM,EAAE,CAAC,iBAAiB,CAc7C,CAAC;AAWF,mCAA6B,SAAQ,sBAAsB;IACzD;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED,OAAA,MAAM,wGAWL,CAAC;AAKF,yBAAyB,MAAM,wBAAwB,CAAC,OAAO,UAAU,GAAG,CAAC,CAAC;AAC9E,gCAAiC,SAAQ,iBAAiB;CAAG;AA6B7D,mCAA6B,SAAQ,sBAAsB;IACzD;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED,OAAA,MAAM,wGAeL,CAAC;AAOF,gCACE,SAAQ,IAAI,CAAC,sBAAsB,EAAE,WAAW,GAAG,6BAA6B,CAAC;CAAG;AA4FtF,6BAA6B,MAAM,wBAAwB,CAAC,uBAAuB,CAAC,CAAC;AACrF,uBAAuB,MAAM,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;AACzE,gCAAiC,SAAQ,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC;IAC/E;;;;OAIG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAEvC;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAEtD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAC1D;AAmDD,8BAA8B,MAAM,wBAAwB,CAAC,OAAO,UAAU,EAAE,CAAC,CAAC;AAClF,iCAA2B,SAAQ,sBAAsB;CAAG;AAE5D,OAAA,MAAM,wGAML,CAAC;AAWF,+BAA+B,MAAM,wBAAwB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;AAClF,uCAAiC,SAAQ,uBAAuB;CAAG;AAEnE,OAAA,MAAM,sHAML,CAAC;AAWF,iCAA2B,SAAQ,oBAAoB;CAAG;AAE1D,OAAA,MAAM,uGAaL,CAAC;AAYF,OAAA;;;;;;;;;CAIE,CAAC;AA8CH,OAAA,MAAM,2BAAa,CAAC;AACpB,OAAA,MAAM,qGAAuB,CAAC;AAC9B,OAAA,MAAM,mCAAqB,CAAC;AAC5B,OAAA,MAAM,kGAAuB,CAAC;AAC9B,OAAA,MAAM,kGAAuB,CAAC;AAC9B,OAAA,MAAM,kGAAmB,CAAC;AAC1B,OAAA,MAAM,gHAA+B,CAAC;AACtC,OAAA,MAAM,iGAAmB,CAAC","sources":["packages/react/dialog/src/packages/react/dialog/src/Dialog.tsx","packages/react/dialog/src/packages/react/dialog/src/index.ts","packages/react/dialog/src/index.ts"],"sourcesContent":[null,null,"export {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Title,\n Description,\n Close,\n //\n WarningProvider,\n} from './Dialog';\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n} from './Dialog';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
1
+ {"mappings":";;;;;;AA0BA,OAAA,wFAAgF,CAAC;AAgBjF;IACE,QAAQ,CAAC,EAAE,MAAM,SAAS,CAAC;IAC3B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,OAAA,MAAM,QAAQ,MAAM,EAAE,CAAC,WAAW,CAiCjC,CAAC;AAWF,4BAA4B,MAAM,wBAAwB,CAAC,OAAO,UAAU,MAAM,CAAC,CAAC;AACpF,mCAA6B,SAAQ,oBAAoB;CAAG;AAE5D,OAAA,MAAM,2GAkBL,CAAC;AAeF,mBAAmB,MAAM,wBAAwB,CAAC,eAAsB,CAAC,CAAC;AAC1E,kCAA4B,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,CAAC;IAC9D,QAAQ,CAAC,EAAE,MAAM,SAAS,CAAC;IAC3B;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED,OAAA,MAAM,cAAc,MAAM,EAAE,CAAC,iBAAiB,CAc7C,CAAC;AAWF,mCAA6B,SAAQ,sBAAsB;IACzD;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED,OAAA,MAAM,wGAWL,CAAC;AAKF,yBAAyB,MAAM,wBAAwB,CAAC,OAAO,UAAU,GAAG,CAAC,CAAC;AAC9E,gCAAiC,SAAQ,iBAAiB;CAAG;AA6B7D,mCAA6B,SAAQ,sBAAsB;IACzD;;;OAGG;IACH,UAAU,CAAC,EAAE,IAAI,CAAC;CACnB;AAED,OAAA,MAAM,wGAeL,CAAC;AAOF,gCACE,SAAQ,IAAI,CAAC,sBAAsB,EAAE,WAAW,GAAG,6BAA6B,CAAC;CAAG;AAwGtF,6BAA6B,MAAM,wBAAwB,CAAC,uBAAuB,CAAC,CAAC;AACrF,uBAAuB,MAAM,wBAAwB,CAAC,iBAAiB,CAAC,CAAC;AACzE,gCAAiC,SAAQ,IAAI,CAAC,qBAAqB,EAAE,WAAW,CAAC;IAC/E;;;;OAIG;IACH,SAAS,CAAC,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC;IAEvC;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAEtD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAC1D;AAmDD,8BAA8B,MAAM,wBAAwB,CAAC,OAAO,UAAU,EAAE,CAAC,CAAC;AAClF,iCAA2B,SAAQ,sBAAsB;CAAG;AAE5D,OAAA,MAAM,wGAML,CAAC;AAWF,+BAA+B,MAAM,wBAAwB,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC;AAClF,uCAAiC,SAAQ,uBAAuB;CAAG;AAEnE,OAAA,MAAM,sHAML,CAAC;AAWF,iCAA2B,SAAQ,oBAAoB;CAAG;AAE1D,OAAA,MAAM,uGAaL,CAAC;AAYF,OAAA;;;;;;;;;CAIE,CAAC;AA8CH,OAAA,MAAM,2BAAa,CAAC;AACpB,OAAA,MAAM,qGAAuB,CAAC;AAC9B,OAAA,MAAM,mCAAqB,CAAC;AAC5B,OAAA,MAAM,kGAAuB,CAAC;AAC9B,OAAA,MAAM,kGAAuB,CAAC;AAC9B,OAAA,MAAM,kGAAmB,CAAC;AAC1B,OAAA,MAAM,gHAA+B,CAAC;AACtC,OAAA,MAAM,iGAAmB,CAAC","sources":["packages/react/dialog/src/packages/react/dialog/src/Dialog.tsx","packages/react/dialog/src/packages/react/dialog/src/index.ts","packages/react/dialog/src/index.ts"],"sourcesContent":[null,null,"export {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Title,\n Description,\n Close,\n //\n WarningProvider,\n} from './Dialog';\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n} from './Dialog';\n"],"names":[],"version":3,"file":"index.d.ts.map"}
package/dist/index.js CHANGED
@@ -223,6 +223,7 @@ const $f4833395aa1bca1a$export$b6d9565de1e068cf = /*#__PURE__*/ $aJCrN$react.for
223
223
  /* -----------------------------------------------------------------------------------------------*/ const $f4833395aa1bca1a$var$DialogContentNonModal = /*#__PURE__*/ $aJCrN$react.forwardRef((props, forwardedRef)=>{
224
224
  const context = $f4833395aa1bca1a$var$useDialogContext($f4833395aa1bca1a$var$CONTENT_NAME, props.__scopeDialog);
225
225
  const hasInteractedOutsideRef = $aJCrN$react.useRef(false);
226
+ const hasPointerDownOutsideRef = $aJCrN$react.useRef(false);
226
227
  return /*#__PURE__*/ $aJCrN$react.createElement($f4833395aa1bca1a$var$DialogContentImpl, ($parcel$interopDefault($aJCrN$babelruntimehelpersextends))({}, props, {
227
228
  ref: forwardedRef,
228
229
  trapFocus: false,
@@ -236,19 +237,24 @@ const $f4833395aa1bca1a$export$b6d9565de1e068cf = /*#__PURE__*/ $aJCrN$react.for
236
237
  event.preventDefault();
237
238
  }
238
239
  hasInteractedOutsideRef.current = false;
240
+ hasPointerDownOutsideRef.current = false;
239
241
  },
240
242
  onInteractOutside: (event)=>{
241
243
  var _props$onInteractOuts, _context$triggerRef$c3;
242
244
  (_props$onInteractOuts = props.onInteractOutside) === null || _props$onInteractOuts === void 0 || _props$onInteractOuts.call(props, event);
243
- if (!event.defaultPrevented) hasInteractedOutsideRef.current = true; // Prevent dismissing when clicking the trigger.
245
+ if (!event.defaultPrevented) {
246
+ hasInteractedOutsideRef.current = true;
247
+ if (event.detail.originalEvent.type === 'pointerdown') hasPointerDownOutsideRef.current = true;
248
+ } // Prevent dismissing when clicking the trigger.
244
249
  // As the trigger is already setup to close, without doing so would
245
250
  // cause it to close and immediately open.
246
- //
247
- // We use `onInteractOutside` as some browsers also
248
- // focus on pointer down, creating the same issue.
249
251
  const target = event.target;
250
252
  const targetIsTrigger = (_context$triggerRef$c3 = context.triggerRef.current) === null || _context$triggerRef$c3 === void 0 ? void 0 : _context$triggerRef$c3.contains(target);
251
- if (targetIsTrigger) event.preventDefault();
253
+ if (targetIsTrigger) event.preventDefault(); // On Safari if the trigger is inside a container with tabIndex={0}, when clicked
254
+ // we will get the pointer down outside event on the trigger, but then a subsequent
255
+ // focus outside event on the container, we ignore any focus outside event when we've
256
+ // already had a pointer down outside event.
257
+ if (event.detail.originalEvent.type === 'focusin' && hasPointerDownOutsideRef.current) event.preventDefault();
252
258
  }
253
259
  }));
254
260
  });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/react/dialog/src/index.ts","packages/react/dialog/src/Dialog.tsx"],"sourcesContent":["export {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Title,\n Description,\n Close,\n //\n WarningProvider,\n} from './Dialog';\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n} from './Dialog';\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContext, createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { Portal as PortalPrimitive } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useFocusGuards } from '@radix-ui/react-focus-guards';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport { hideOthers } from 'aria-hidden';\nimport { Slot } from '@radix-ui/react-slot';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Dialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst DIALOG_NAME = 'Dialog';\n\ntype ScopedProps<P> = P & { __scopeDialog?: Scope };\nconst [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\n\ntype DialogContextValue = {\n triggerRef: React.RefObject<HTMLButtonElement>;\n contentRef: React.RefObject<DialogContentElement>;\n contentId: string;\n titleId: string;\n descriptionId: string;\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpenToggle(): void;\n modal: boolean;\n};\n\nconst [DialogProvider, useDialogContext] = createDialogContext<DialogContextValue>(DIALOG_NAME);\n\ninterface DialogProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n modal?: boolean;\n}\n\nconst Dialog: React.FC<DialogProps> = (props: ScopedProps<DialogProps>) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true,\n } = props;\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const contentRef = React.useRef<DialogContentElement>(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n <DialogProvider\n scope={__scopeDialog}\n triggerRef={triggerRef}\n contentRef={contentRef}\n contentId={useId()}\n titleId={useId()}\n descriptionId={useId()}\n open={open}\n onOpenChange={setOpen}\n onOpenToggle={React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen])}\n modal={modal}\n >\n {children}\n </DialogProvider>\n );\n};\n\nDialog.displayName = DIALOG_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'DialogTrigger';\n\ntype DialogTriggerElement = React.ElementRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = Radix.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface DialogTriggerProps extends PrimitiveButtonProps {}\n\nconst DialogTrigger = React.forwardRef<DialogTriggerElement, DialogTriggerProps>(\n (props: ScopedProps<DialogTriggerProps>, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return (\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);\n\nDialogTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'DialogPortal';\n\ntype PortalContextValue = { forceMount?: true };\nconst [PortalProvider, usePortalContext] = createDialogContext<PortalContextValue>(PORTAL_NAME, {\n forceMount: undefined,\n});\n\ntype PortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;\ninterface DialogPortalProps extends Omit<PortalProps, 'asChild'> {\n children?: React.ReactNode;\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 DialogPortal: React.FC<DialogPortalProps> = (props: ScopedProps<DialogPortalProps>) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return (\n <PortalProvider scope={__scopeDialog} forceMount={forceMount}>\n {React.Children.map(children, (child) => (\n <Presence present={forceMount || context.open}>\n <PortalPrimitive asChild container={container}>\n {child}\n </PortalPrimitive>\n </Presence>\n ))}\n </PortalProvider>\n );\n};\n\nDialogPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogOverlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst OVERLAY_NAME = 'DialogOverlay';\n\ntype DialogOverlayElement = DialogOverlayImplElement;\ninterface DialogOverlayProps extends DialogOverlayImplProps {\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 DialogOverlay = React.forwardRef<DialogOverlayElement, DialogOverlayProps>(\n (props: ScopedProps<DialogOverlayProps>, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? (\n <Presence present={forceMount || context.open}>\n <DialogOverlayImpl {...overlayProps} ref={forwardedRef} />\n </Presence>\n ) : null;\n }\n);\n\nDialogOverlay.displayName = OVERLAY_NAME;\n\ntype DialogOverlayImplElement = React.ElementRef<typeof Primitive.div>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface DialogOverlayImplProps extends PrimitiveDivProps {}\n\nconst DialogOverlayImpl = React.forwardRef<DialogOverlayImplElement, DialogOverlayImplProps>(\n (props: ScopedProps<DialogOverlayImplProps>, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n <RemoveScroll as={Slot} allowPinchZoom shards={[context.contentRef]}>\n <Primitive.div\n data-state={getState(context.open)}\n {...overlayProps}\n ref={forwardedRef}\n // We re-enable pointer-events prevented by `Dialog.Content` to allow scrolling the overlay.\n style={{ pointerEvents: 'auto', ...overlayProps.style }}\n />\n </RemoveScroll>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'DialogContent';\n\ntype DialogContentElement = DialogContentTypeElement;\ninterface DialogContentProps extends DialogContentTypeProps {\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 DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>(\n (props: ScopedProps<DialogContentProps>, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return (\n <Presence present={forceMount || context.open}>\n {context.modal ? (\n <DialogContentModal {...contentProps} ref={forwardedRef} />\n ) : (\n <DialogContentNonModal {...contentProps} ref={forwardedRef} />\n )}\n </Presence>\n );\n }\n);\n\nDialogContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentTypeElement = DialogContentImplElement;\ninterface DialogContentTypeProps\n extends Omit<DialogContentImplProps, 'trapFocus' | 'disableOutsidePointerEvents'> {}\n\nconst DialogContentModal = React.forwardRef<DialogContentTypeElement, DialogContentTypeProps>(\n (props: ScopedProps<DialogContentTypeProps>, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\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 <DialogContentImpl\n {...props}\n ref={composedRefs}\n // we make sure focus isn't trapped once `DialogContent` has been closed\n // (closed !== unmounted when animating out)\n trapFocus={context.open}\n disableOutsidePointerEvents\n onCloseAutoFocus={composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n })}\n onPointerDownOutside={composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n\n // If the event is a right-click, we shouldn't close because\n // it is effectively as if we right-clicked the `Overlay`.\n if (isRightClick) event.preventDefault();\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(props.onFocusOutside, (event) =>\n event.preventDefault()\n )}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst DialogContentNonModal = React.forwardRef<DialogContentTypeElement, DialogContentTypeProps>(\n (props: ScopedProps<DialogContentTypeProps>, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n\n return (\n <DialogContentImpl\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) 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 }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented) hasInteractedOutsideRef.current = true;\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 //\n // We use `onInteractOutside` as some browsers also\n // focus on pointer down, creating the same issue.\n const target = event.target as HTMLElement;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n }}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentImplElement = React.ElementRef<typeof DismissableLayer>;\ntype DismissableLayerProps = Radix.ComponentPropsWithoutRef<typeof DismissableLayer>;\ntype FocusScopeProps = Radix.ComponentPropsWithoutRef<typeof FocusScope>;\ninterface DialogContentImplProps extends Omit<DismissableLayerProps, 'onDismiss'> {\n /**\n * When `true`, focus cannot escape the `Content` via keyboard,\n * pointer, or a programmatic focus.\n * @defaultValue 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 DialogContentImpl = React.forwardRef<DialogContentImplElement, DialogContentImplProps>(\n (props: ScopedProps<DialogContentImplProps>, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n\n // Make sure the whole tree has focus guards as our `Dialog` will be\n // the last element in the DOM (beacuse of the `Portal`)\n useFocusGuards();\n\n return (\n <>\n <FocusScope\n asChild\n loop\n trapped={trapFocus}\n onMountAutoFocus={onOpenAutoFocus}\n onUnmountAutoFocus={onCloseAutoFocus}\n >\n <DismissableLayer\n role=\"dialog\"\n id={context.contentId}\n aria-describedby={context.descriptionId}\n aria-labelledby={context.titleId}\n data-state={getState(context.open)}\n {...contentProps}\n ref={composedRefs}\n onDismiss={() => context.onOpenChange(false)}\n />\n </FocusScope>\n {process.env.NODE_ENV !== 'production' && (\n <>\n <TitleWarning titleId={context.titleId} />\n <DescriptionWarning contentRef={contentRef} descriptionId={context.descriptionId} />\n </>\n )}\n </>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTitle\n * -----------------------------------------------------------------------------------------------*/\n\nconst TITLE_NAME = 'DialogTitle';\n\ntype DialogTitleElement = React.ElementRef<typeof Primitive.h2>;\ntype PrimitiveHeading2Props = Radix.ComponentPropsWithoutRef<typeof Primitive.h2>;\ninterface DialogTitleProps extends PrimitiveHeading2Props {}\n\nconst DialogTitle = React.forwardRef<DialogTitleElement, DialogTitleProps>(\n (props: ScopedProps<DialogTitleProps>, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return <Primitive.h2 id={context.titleId} {...titleProps} ref={forwardedRef} />;\n }\n);\n\nDialogTitle.displayName = TITLE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogDescription\n * -----------------------------------------------------------------------------------------------*/\n\nconst DESCRIPTION_NAME = 'DialogDescription';\n\ntype DialogDescriptionElement = React.ElementRef<typeof Primitive.p>;\ntype PrimitiveParagraphProps = Radix.ComponentPropsWithoutRef<typeof Primitive.p>;\ninterface DialogDescriptionProps extends PrimitiveParagraphProps {}\n\nconst DialogDescription = React.forwardRef<DialogDescriptionElement, DialogDescriptionProps>(\n (props: ScopedProps<DialogDescriptionProps>, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return <Primitive.p id={context.descriptionId} {...descriptionProps} ref={forwardedRef} />;\n }\n);\n\nDialogDescription.displayName = DESCRIPTION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogClose\n * -----------------------------------------------------------------------------------------------*/\n\nconst CLOSE_NAME = 'DialogClose';\n\ntype DialogCloseElement = React.ElementRef<typeof Primitive.button>;\ninterface DialogCloseProps extends PrimitiveButtonProps {}\n\nconst DialogClose = React.forwardRef<DialogCloseElement, DialogCloseProps>(\n (props: ScopedProps<DialogCloseProps>, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return (\n <Primitive.button\n type=\"button\"\n {...closeProps}\n ref={forwardedRef}\n onClick={composeEventHandlers(props.onClick, () => context.onOpenChange(false))}\n />\n );\n }\n);\n\nDialogClose.displayName = CLOSE_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst TITLE_WARNING_NAME = 'DialogTitleWarning';\n\nconst [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: 'dialog',\n});\n\ntype TitleWarningProps = { titleId?: string };\n\nconst TitleWarning: React.FC<TitleWarningProps> = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) throw new Error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n\n return null;\n};\n\nconst DESCRIPTION_WARNING_NAME = 'DialogDescriptionWarning';\n\ntype DescriptionWarningProps = {\n contentRef: React.RefObject<DialogContentElement>;\n descriptionId?: string;\n};\n\nconst DescriptionWarning: React.FC<DescriptionWarningProps> = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute('aria-describedby');\n // if we have an id and the user hasn't set aria-describedby={undefined}\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n\n return null;\n};\n\nconst Root = Dialog;\nconst Trigger = DialogTrigger;\nconst Portal = DialogPortal;\nconst Overlay = DialogOverlay;\nconst Content = DialogContent;\nconst Title = DialogTitle;\nconst Description = DialogDescription;\nconst Close = DialogClose;\n\nexport {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Title,\n Description,\n Close,\n //\n WarningProvider,\n};\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n};\n"],"names":["createDialogScope","Dialog","DialogTrigger","DialogPortal","DialogOverlay","DialogContent","DialogTitle","DialogDescription","DialogClose","Root","Trigger","Portal","Overlay","Content","Title","Description","Close","WarningProvider","React","composeEventHandlers","useComposedRefs","createContext","createContextScope","useId","useControllableState","DismissableLayer","FocusScope","PortalPrimitive","Presence","Primitive","useFocusGuards","RemoveScroll","hideOthers","Slot","DIALOG_NAME","createDialogContext","DialogProvider","useDialogContext","props","__scopeDialog","children","open","openProp","defaultOpen","onOpenChange","modal","triggerRef","useRef","contentRef","setOpen","prop","defaultProp","onChange","useCallback","prevOpen","TRIGGER_NAME","forwardRef","forwardedRef","triggerProps","context","composedTriggerRef","contentId","getState","onClick","onOpenToggle","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","undefined","container","Children","map","child","OVERLAY_NAME","portalContext","overlayProps","DialogOverlayImpl","pointerEvents","style","CONTENT_NAME","contentProps","DialogContentModal","composedRefs","useEffect","content","current","onCloseAutoFocus","event","preventDefault","focus","onPointerDownOutside","originalEvent","detail","ctrlLeftClick","button","ctrlKey","isRightClick","onFocusOutside","DialogContentNonModal","hasInteractedOutsideRef","defaultPrevented","onInteractOutside","target","targetIsTrigger","contains","DialogContentImpl","trapFocus","onOpenAutoFocus","descriptionId","titleId","process","env","NODE_ENV","TITLE_NAME","titleProps","DESCRIPTION_NAME","descriptionProps","CLOSE_NAME","closeProps","TITLE_WARNING_NAME","useWarningContext","contentName","titleName","docsSlug","TitleWarning","titleWarningContext","MESSAGE","hasTitle","document","getElementById","Error","DESCRIPTION_WARNING_NAME","DescriptionWarning","descriptionWarningContext","describedById","getAttribute","hasDescription","console","warn"],"version":3,"file":"index.js.map"}
1
+ {"mappings":"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","sources":["packages/react/dialog/src/index.ts","packages/react/dialog/src/Dialog.tsx"],"sourcesContent":["export {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Title,\n Description,\n Close,\n //\n WarningProvider,\n} from './Dialog';\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n} from './Dialog';\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContext, createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { Portal as PortalPrimitive } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useFocusGuards } from '@radix-ui/react-focus-guards';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport { hideOthers } from 'aria-hidden';\nimport { Slot } from '@radix-ui/react-slot';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Dialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst DIALOG_NAME = 'Dialog';\n\ntype ScopedProps<P> = P & { __scopeDialog?: Scope };\nconst [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\n\ntype DialogContextValue = {\n triggerRef: React.RefObject<HTMLButtonElement>;\n contentRef: React.RefObject<DialogContentElement>;\n contentId: string;\n titleId: string;\n descriptionId: string;\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpenToggle(): void;\n modal: boolean;\n};\n\nconst [DialogProvider, useDialogContext] = createDialogContext<DialogContextValue>(DIALOG_NAME);\n\ninterface DialogProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n modal?: boolean;\n}\n\nconst Dialog: React.FC<DialogProps> = (props: ScopedProps<DialogProps>) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true,\n } = props;\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const contentRef = React.useRef<DialogContentElement>(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n <DialogProvider\n scope={__scopeDialog}\n triggerRef={triggerRef}\n contentRef={contentRef}\n contentId={useId()}\n titleId={useId()}\n descriptionId={useId()}\n open={open}\n onOpenChange={setOpen}\n onOpenToggle={React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen])}\n modal={modal}\n >\n {children}\n </DialogProvider>\n );\n};\n\nDialog.displayName = DIALOG_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'DialogTrigger';\n\ntype DialogTriggerElement = React.ElementRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = Radix.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface DialogTriggerProps extends PrimitiveButtonProps {}\n\nconst DialogTrigger = React.forwardRef<DialogTriggerElement, DialogTriggerProps>(\n (props: ScopedProps<DialogTriggerProps>, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return (\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);\n\nDialogTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'DialogPortal';\n\ntype PortalContextValue = { forceMount?: true };\nconst [PortalProvider, usePortalContext] = createDialogContext<PortalContextValue>(PORTAL_NAME, {\n forceMount: undefined,\n});\n\ntype PortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;\ninterface DialogPortalProps extends Omit<PortalProps, 'asChild'> {\n children?: React.ReactNode;\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 DialogPortal: React.FC<DialogPortalProps> = (props: ScopedProps<DialogPortalProps>) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return (\n <PortalProvider scope={__scopeDialog} forceMount={forceMount}>\n {React.Children.map(children, (child) => (\n <Presence present={forceMount || context.open}>\n <PortalPrimitive asChild container={container}>\n {child}\n </PortalPrimitive>\n </Presence>\n ))}\n </PortalProvider>\n );\n};\n\nDialogPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogOverlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst OVERLAY_NAME = 'DialogOverlay';\n\ntype DialogOverlayElement = DialogOverlayImplElement;\ninterface DialogOverlayProps extends DialogOverlayImplProps {\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 DialogOverlay = React.forwardRef<DialogOverlayElement, DialogOverlayProps>(\n (props: ScopedProps<DialogOverlayProps>, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? (\n <Presence present={forceMount || context.open}>\n <DialogOverlayImpl {...overlayProps} ref={forwardedRef} />\n </Presence>\n ) : null;\n }\n);\n\nDialogOverlay.displayName = OVERLAY_NAME;\n\ntype DialogOverlayImplElement = React.ElementRef<typeof Primitive.div>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface DialogOverlayImplProps extends PrimitiveDivProps {}\n\nconst DialogOverlayImpl = React.forwardRef<DialogOverlayImplElement, DialogOverlayImplProps>(\n (props: ScopedProps<DialogOverlayImplProps>, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n <RemoveScroll as={Slot} allowPinchZoom shards={[context.contentRef]}>\n <Primitive.div\n data-state={getState(context.open)}\n {...overlayProps}\n ref={forwardedRef}\n // We re-enable pointer-events prevented by `Dialog.Content` to allow scrolling the overlay.\n style={{ pointerEvents: 'auto', ...overlayProps.style }}\n />\n </RemoveScroll>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'DialogContent';\n\ntype DialogContentElement = DialogContentTypeElement;\ninterface DialogContentProps extends DialogContentTypeProps {\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 DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>(\n (props: ScopedProps<DialogContentProps>, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return (\n <Presence present={forceMount || context.open}>\n {context.modal ? (\n <DialogContentModal {...contentProps} ref={forwardedRef} />\n ) : (\n <DialogContentNonModal {...contentProps} ref={forwardedRef} />\n )}\n </Presence>\n );\n }\n);\n\nDialogContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentTypeElement = DialogContentImplElement;\ninterface DialogContentTypeProps\n extends Omit<DialogContentImplProps, 'trapFocus' | 'disableOutsidePointerEvents'> {}\n\nconst DialogContentModal = React.forwardRef<DialogContentTypeElement, DialogContentTypeProps>(\n (props: ScopedProps<DialogContentTypeProps>, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\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 <DialogContentImpl\n {...props}\n ref={composedRefs}\n // we make sure focus isn't trapped once `DialogContent` has been closed\n // (closed !== unmounted when animating out)\n trapFocus={context.open}\n disableOutsidePointerEvents\n onCloseAutoFocus={composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n })}\n onPointerDownOutside={composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n\n // If the event is a right-click, we shouldn't close because\n // it is effectively as if we right-clicked the `Overlay`.\n if (isRightClick) event.preventDefault();\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(props.onFocusOutside, (event) =>\n event.preventDefault()\n )}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst DialogContentNonModal = React.forwardRef<DialogContentTypeElement, DialogContentTypeProps>(\n (props: ScopedProps<DialogContentTypeProps>, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n\n return (\n <DialogContentImpl\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) 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 (event.detail.originalEvent.type === 'focusin' && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentImplElement = React.ElementRef<typeof DismissableLayer>;\ntype DismissableLayerProps = Radix.ComponentPropsWithoutRef<typeof DismissableLayer>;\ntype FocusScopeProps = Radix.ComponentPropsWithoutRef<typeof FocusScope>;\ninterface DialogContentImplProps extends Omit<DismissableLayerProps, 'onDismiss'> {\n /**\n * When `true`, focus cannot escape the `Content` via keyboard,\n * pointer, or a programmatic focus.\n * @defaultValue 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 DialogContentImpl = React.forwardRef<DialogContentImplElement, DialogContentImplProps>(\n (props: ScopedProps<DialogContentImplProps>, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n\n // Make sure the whole tree has focus guards as our `Dialog` will be\n // the last element in the DOM (beacuse of the `Portal`)\n useFocusGuards();\n\n return (\n <>\n <FocusScope\n asChild\n loop\n trapped={trapFocus}\n onMountAutoFocus={onOpenAutoFocus}\n onUnmountAutoFocus={onCloseAutoFocus}\n >\n <DismissableLayer\n role=\"dialog\"\n id={context.contentId}\n aria-describedby={context.descriptionId}\n aria-labelledby={context.titleId}\n data-state={getState(context.open)}\n {...contentProps}\n ref={composedRefs}\n onDismiss={() => context.onOpenChange(false)}\n />\n </FocusScope>\n {process.env.NODE_ENV !== 'production' && (\n <>\n <TitleWarning titleId={context.titleId} />\n <DescriptionWarning contentRef={contentRef} descriptionId={context.descriptionId} />\n </>\n )}\n </>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTitle\n * -----------------------------------------------------------------------------------------------*/\n\nconst TITLE_NAME = 'DialogTitle';\n\ntype DialogTitleElement = React.ElementRef<typeof Primitive.h2>;\ntype PrimitiveHeading2Props = Radix.ComponentPropsWithoutRef<typeof Primitive.h2>;\ninterface DialogTitleProps extends PrimitiveHeading2Props {}\n\nconst DialogTitle = React.forwardRef<DialogTitleElement, DialogTitleProps>(\n (props: ScopedProps<DialogTitleProps>, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return <Primitive.h2 id={context.titleId} {...titleProps} ref={forwardedRef} />;\n }\n);\n\nDialogTitle.displayName = TITLE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogDescription\n * -----------------------------------------------------------------------------------------------*/\n\nconst DESCRIPTION_NAME = 'DialogDescription';\n\ntype DialogDescriptionElement = React.ElementRef<typeof Primitive.p>;\ntype PrimitiveParagraphProps = Radix.ComponentPropsWithoutRef<typeof Primitive.p>;\ninterface DialogDescriptionProps extends PrimitiveParagraphProps {}\n\nconst DialogDescription = React.forwardRef<DialogDescriptionElement, DialogDescriptionProps>(\n (props: ScopedProps<DialogDescriptionProps>, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return <Primitive.p id={context.descriptionId} {...descriptionProps} ref={forwardedRef} />;\n }\n);\n\nDialogDescription.displayName = DESCRIPTION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogClose\n * -----------------------------------------------------------------------------------------------*/\n\nconst CLOSE_NAME = 'DialogClose';\n\ntype DialogCloseElement = React.ElementRef<typeof Primitive.button>;\ninterface DialogCloseProps extends PrimitiveButtonProps {}\n\nconst DialogClose = React.forwardRef<DialogCloseElement, DialogCloseProps>(\n (props: ScopedProps<DialogCloseProps>, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return (\n <Primitive.button\n type=\"button\"\n {...closeProps}\n ref={forwardedRef}\n onClick={composeEventHandlers(props.onClick, () => context.onOpenChange(false))}\n />\n );\n }\n);\n\nDialogClose.displayName = CLOSE_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst TITLE_WARNING_NAME = 'DialogTitleWarning';\n\nconst [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: 'dialog',\n});\n\ntype TitleWarningProps = { titleId?: string };\n\nconst TitleWarning: React.FC<TitleWarningProps> = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) throw new Error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n\n return null;\n};\n\nconst DESCRIPTION_WARNING_NAME = 'DialogDescriptionWarning';\n\ntype DescriptionWarningProps = {\n contentRef: React.RefObject<DialogContentElement>;\n descriptionId?: string;\n};\n\nconst DescriptionWarning: React.FC<DescriptionWarningProps> = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute('aria-describedby');\n // if we have an id and the user hasn't set aria-describedby={undefined}\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n\n return null;\n};\n\nconst Root = Dialog;\nconst Trigger = DialogTrigger;\nconst Portal = DialogPortal;\nconst Overlay = DialogOverlay;\nconst Content = DialogContent;\nconst Title = DialogTitle;\nconst Description = DialogDescription;\nconst Close = DialogClose;\n\nexport {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Title,\n Description,\n Close,\n //\n WarningProvider,\n};\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n};\n"],"names":["createDialogScope","Dialog","DialogTrigger","DialogPortal","DialogOverlay","DialogContent","DialogTitle","DialogDescription","DialogClose","Root","Trigger","Portal","Overlay","Content","Title","Description","Close","WarningProvider","React","composeEventHandlers","useComposedRefs","createContext","createContextScope","useId","useControllableState","DismissableLayer","FocusScope","PortalPrimitive","Presence","Primitive","useFocusGuards","RemoveScroll","hideOthers","Slot","DIALOG_NAME","createDialogContext","DialogProvider","useDialogContext","props","__scopeDialog","children","open","openProp","defaultOpen","onOpenChange","modal","triggerRef","useRef","contentRef","setOpen","prop","defaultProp","onChange","useCallback","prevOpen","TRIGGER_NAME","forwardRef","forwardedRef","triggerProps","context","composedTriggerRef","contentId","getState","onClick","onOpenToggle","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","undefined","container","Children","map","child","OVERLAY_NAME","portalContext","overlayProps","DialogOverlayImpl","pointerEvents","style","CONTENT_NAME","contentProps","DialogContentModal","composedRefs","useEffect","content","current","onCloseAutoFocus","event","preventDefault","focus","onPointerDownOutside","originalEvent","detail","ctrlLeftClick","button","ctrlKey","isRightClick","onFocusOutside","DialogContentNonModal","hasInteractedOutsideRef","hasPointerDownOutsideRef","defaultPrevented","onInteractOutside","type","target","targetIsTrigger","contains","DialogContentImpl","trapFocus","onOpenAutoFocus","descriptionId","titleId","process","env","NODE_ENV","TITLE_NAME","titleProps","DESCRIPTION_NAME","descriptionProps","CLOSE_NAME","closeProps","TITLE_WARNING_NAME","useWarningContext","contentName","titleName","docsSlug","TitleWarning","titleWarningContext","MESSAGE","hasTitle","document","getElementById","Error","DESCRIPTION_WARNING_NAME","DescriptionWarning","descriptionWarningContext","describedById","getAttribute","hasDescription","console","warn"],"version":3,"file":"index.js.map"}
@@ -198,6 +198,7 @@ const $5d3850c4d0b4e6c7$export$b6d9565de1e068cf = /*#__PURE__*/ $67UHm$forwardRe
198
198
  /* -----------------------------------------------------------------------------------------------*/ const $5d3850c4d0b4e6c7$var$DialogContentNonModal = /*#__PURE__*/ $67UHm$forwardRef((props, forwardedRef)=>{
199
199
  const context = $5d3850c4d0b4e6c7$var$useDialogContext($5d3850c4d0b4e6c7$var$CONTENT_NAME, props.__scopeDialog);
200
200
  const hasInteractedOutsideRef = $67UHm$useRef(false);
201
+ const hasPointerDownOutsideRef = $67UHm$useRef(false);
201
202
  return /*#__PURE__*/ $67UHm$createElement($5d3850c4d0b4e6c7$var$DialogContentImpl, $67UHm$babelruntimehelpersesmextends({}, props, {
202
203
  ref: forwardedRef,
203
204
  trapFocus: false,
@@ -211,19 +212,24 @@ const $5d3850c4d0b4e6c7$export$b6d9565de1e068cf = /*#__PURE__*/ $67UHm$forwardRe
211
212
  event.preventDefault();
212
213
  }
213
214
  hasInteractedOutsideRef.current = false;
215
+ hasPointerDownOutsideRef.current = false;
214
216
  },
215
217
  onInteractOutside: (event)=>{
216
218
  var _props$onInteractOuts, _context$triggerRef$c3;
217
219
  (_props$onInteractOuts = props.onInteractOutside) === null || _props$onInteractOuts === void 0 || _props$onInteractOuts.call(props, event);
218
- if (!event.defaultPrevented) hasInteractedOutsideRef.current = true; // Prevent dismissing when clicking the trigger.
220
+ if (!event.defaultPrevented) {
221
+ hasInteractedOutsideRef.current = true;
222
+ if (event.detail.originalEvent.type === 'pointerdown') hasPointerDownOutsideRef.current = true;
223
+ } // Prevent dismissing when clicking the trigger.
219
224
  // As the trigger is already setup to close, without doing so would
220
225
  // cause it to close and immediately open.
221
- //
222
- // We use `onInteractOutside` as some browsers also
223
- // focus on pointer down, creating the same issue.
224
226
  const target = event.target;
225
227
  const targetIsTrigger = (_context$triggerRef$c3 = context.triggerRef.current) === null || _context$triggerRef$c3 === void 0 ? void 0 : _context$triggerRef$c3.contains(target);
226
- if (targetIsTrigger) event.preventDefault();
228
+ if (targetIsTrigger) event.preventDefault(); // On Safari if the trigger is inside a container with tabIndex={0}, when clicked
229
+ // we will get the pointer down outside event on the trigger, but then a subsequent
230
+ // focus outside event on the container, we ignore any focus outside event when we've
231
+ // already had a pointer down outside event.
232
+ if (event.detail.originalEvent.type === 'focusin' && hasPointerDownOutsideRef.current) event.preventDefault();
227
233
  }
228
234
  }));
229
235
  });
@@ -1 +1 @@
1
- {"mappings":"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","sources":["packages/react/dialog/src/index.ts","packages/react/dialog/src/Dialog.tsx"],"sourcesContent":["export {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Title,\n Description,\n Close,\n //\n WarningProvider,\n} from './Dialog';\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n} from './Dialog';\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContext, createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { Portal as PortalPrimitive } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useFocusGuards } from '@radix-ui/react-focus-guards';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport { hideOthers } from 'aria-hidden';\nimport { Slot } from '@radix-ui/react-slot';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Dialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst DIALOG_NAME = 'Dialog';\n\ntype ScopedProps<P> = P & { __scopeDialog?: Scope };\nconst [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\n\ntype DialogContextValue = {\n triggerRef: React.RefObject<HTMLButtonElement>;\n contentRef: React.RefObject<DialogContentElement>;\n contentId: string;\n titleId: string;\n descriptionId: string;\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpenToggle(): void;\n modal: boolean;\n};\n\nconst [DialogProvider, useDialogContext] = createDialogContext<DialogContextValue>(DIALOG_NAME);\n\ninterface DialogProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n modal?: boolean;\n}\n\nconst Dialog: React.FC<DialogProps> = (props: ScopedProps<DialogProps>) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true,\n } = props;\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const contentRef = React.useRef<DialogContentElement>(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n <DialogProvider\n scope={__scopeDialog}\n triggerRef={triggerRef}\n contentRef={contentRef}\n contentId={useId()}\n titleId={useId()}\n descriptionId={useId()}\n open={open}\n onOpenChange={setOpen}\n onOpenToggle={React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen])}\n modal={modal}\n >\n {children}\n </DialogProvider>\n );\n};\n\nDialog.displayName = DIALOG_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'DialogTrigger';\n\ntype DialogTriggerElement = React.ElementRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = Radix.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface DialogTriggerProps extends PrimitiveButtonProps {}\n\nconst DialogTrigger = React.forwardRef<DialogTriggerElement, DialogTriggerProps>(\n (props: ScopedProps<DialogTriggerProps>, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return (\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);\n\nDialogTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'DialogPortal';\n\ntype PortalContextValue = { forceMount?: true };\nconst [PortalProvider, usePortalContext] = createDialogContext<PortalContextValue>(PORTAL_NAME, {\n forceMount: undefined,\n});\n\ntype PortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;\ninterface DialogPortalProps extends Omit<PortalProps, 'asChild'> {\n children?: React.ReactNode;\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 DialogPortal: React.FC<DialogPortalProps> = (props: ScopedProps<DialogPortalProps>) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return (\n <PortalProvider scope={__scopeDialog} forceMount={forceMount}>\n {React.Children.map(children, (child) => (\n <Presence present={forceMount || context.open}>\n <PortalPrimitive asChild container={container}>\n {child}\n </PortalPrimitive>\n </Presence>\n ))}\n </PortalProvider>\n );\n};\n\nDialogPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogOverlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst OVERLAY_NAME = 'DialogOverlay';\n\ntype DialogOverlayElement = DialogOverlayImplElement;\ninterface DialogOverlayProps extends DialogOverlayImplProps {\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 DialogOverlay = React.forwardRef<DialogOverlayElement, DialogOverlayProps>(\n (props: ScopedProps<DialogOverlayProps>, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? (\n <Presence present={forceMount || context.open}>\n <DialogOverlayImpl {...overlayProps} ref={forwardedRef} />\n </Presence>\n ) : null;\n }\n);\n\nDialogOverlay.displayName = OVERLAY_NAME;\n\ntype DialogOverlayImplElement = React.ElementRef<typeof Primitive.div>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface DialogOverlayImplProps extends PrimitiveDivProps {}\n\nconst DialogOverlayImpl = React.forwardRef<DialogOverlayImplElement, DialogOverlayImplProps>(\n (props: ScopedProps<DialogOverlayImplProps>, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n <RemoveScroll as={Slot} allowPinchZoom shards={[context.contentRef]}>\n <Primitive.div\n data-state={getState(context.open)}\n {...overlayProps}\n ref={forwardedRef}\n // We re-enable pointer-events prevented by `Dialog.Content` to allow scrolling the overlay.\n style={{ pointerEvents: 'auto', ...overlayProps.style }}\n />\n </RemoveScroll>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'DialogContent';\n\ntype DialogContentElement = DialogContentTypeElement;\ninterface DialogContentProps extends DialogContentTypeProps {\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 DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>(\n (props: ScopedProps<DialogContentProps>, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return (\n <Presence present={forceMount || context.open}>\n {context.modal ? (\n <DialogContentModal {...contentProps} ref={forwardedRef} />\n ) : (\n <DialogContentNonModal {...contentProps} ref={forwardedRef} />\n )}\n </Presence>\n );\n }\n);\n\nDialogContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentTypeElement = DialogContentImplElement;\ninterface DialogContentTypeProps\n extends Omit<DialogContentImplProps, 'trapFocus' | 'disableOutsidePointerEvents'> {}\n\nconst DialogContentModal = React.forwardRef<DialogContentTypeElement, DialogContentTypeProps>(\n (props: ScopedProps<DialogContentTypeProps>, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\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 <DialogContentImpl\n {...props}\n ref={composedRefs}\n // we make sure focus isn't trapped once `DialogContent` has been closed\n // (closed !== unmounted when animating out)\n trapFocus={context.open}\n disableOutsidePointerEvents\n onCloseAutoFocus={composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n })}\n onPointerDownOutside={composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n\n // If the event is a right-click, we shouldn't close because\n // it is effectively as if we right-clicked the `Overlay`.\n if (isRightClick) event.preventDefault();\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(props.onFocusOutside, (event) =>\n event.preventDefault()\n )}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst DialogContentNonModal = React.forwardRef<DialogContentTypeElement, DialogContentTypeProps>(\n (props: ScopedProps<DialogContentTypeProps>, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n\n return (\n <DialogContentImpl\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) 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 }}\n onInteractOutside={(event) => {\n props.onInteractOutside?.(event);\n\n if (!event.defaultPrevented) hasInteractedOutsideRef.current = true;\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 //\n // We use `onInteractOutside` as some browsers also\n // focus on pointer down, creating the same issue.\n const target = event.target as HTMLElement;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n }}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentImplElement = React.ElementRef<typeof DismissableLayer>;\ntype DismissableLayerProps = Radix.ComponentPropsWithoutRef<typeof DismissableLayer>;\ntype FocusScopeProps = Radix.ComponentPropsWithoutRef<typeof FocusScope>;\ninterface DialogContentImplProps extends Omit<DismissableLayerProps, 'onDismiss'> {\n /**\n * When `true`, focus cannot escape the `Content` via keyboard,\n * pointer, or a programmatic focus.\n * @defaultValue 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 DialogContentImpl = React.forwardRef<DialogContentImplElement, DialogContentImplProps>(\n (props: ScopedProps<DialogContentImplProps>, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n\n // Make sure the whole tree has focus guards as our `Dialog` will be\n // the last element in the DOM (beacuse of the `Portal`)\n useFocusGuards();\n\n return (\n <>\n <FocusScope\n asChild\n loop\n trapped={trapFocus}\n onMountAutoFocus={onOpenAutoFocus}\n onUnmountAutoFocus={onCloseAutoFocus}\n >\n <DismissableLayer\n role=\"dialog\"\n id={context.contentId}\n aria-describedby={context.descriptionId}\n aria-labelledby={context.titleId}\n data-state={getState(context.open)}\n {...contentProps}\n ref={composedRefs}\n onDismiss={() => context.onOpenChange(false)}\n />\n </FocusScope>\n {process.env.NODE_ENV !== 'production' && (\n <>\n <TitleWarning titleId={context.titleId} />\n <DescriptionWarning contentRef={contentRef} descriptionId={context.descriptionId} />\n </>\n )}\n </>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTitle\n * -----------------------------------------------------------------------------------------------*/\n\nconst TITLE_NAME = 'DialogTitle';\n\ntype DialogTitleElement = React.ElementRef<typeof Primitive.h2>;\ntype PrimitiveHeading2Props = Radix.ComponentPropsWithoutRef<typeof Primitive.h2>;\ninterface DialogTitleProps extends PrimitiveHeading2Props {}\n\nconst DialogTitle = React.forwardRef<DialogTitleElement, DialogTitleProps>(\n (props: ScopedProps<DialogTitleProps>, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return <Primitive.h2 id={context.titleId} {...titleProps} ref={forwardedRef} />;\n }\n);\n\nDialogTitle.displayName = TITLE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogDescription\n * -----------------------------------------------------------------------------------------------*/\n\nconst DESCRIPTION_NAME = 'DialogDescription';\n\ntype DialogDescriptionElement = React.ElementRef<typeof Primitive.p>;\ntype PrimitiveParagraphProps = Radix.ComponentPropsWithoutRef<typeof Primitive.p>;\ninterface DialogDescriptionProps extends PrimitiveParagraphProps {}\n\nconst DialogDescription = React.forwardRef<DialogDescriptionElement, DialogDescriptionProps>(\n (props: ScopedProps<DialogDescriptionProps>, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return <Primitive.p id={context.descriptionId} {...descriptionProps} ref={forwardedRef} />;\n }\n);\n\nDialogDescription.displayName = DESCRIPTION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogClose\n * -----------------------------------------------------------------------------------------------*/\n\nconst CLOSE_NAME = 'DialogClose';\n\ntype DialogCloseElement = React.ElementRef<typeof Primitive.button>;\ninterface DialogCloseProps extends PrimitiveButtonProps {}\n\nconst DialogClose = React.forwardRef<DialogCloseElement, DialogCloseProps>(\n (props: ScopedProps<DialogCloseProps>, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return (\n <Primitive.button\n type=\"button\"\n {...closeProps}\n ref={forwardedRef}\n onClick={composeEventHandlers(props.onClick, () => context.onOpenChange(false))}\n />\n );\n }\n);\n\nDialogClose.displayName = CLOSE_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst TITLE_WARNING_NAME = 'DialogTitleWarning';\n\nconst [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: 'dialog',\n});\n\ntype TitleWarningProps = { titleId?: string };\n\nconst TitleWarning: React.FC<TitleWarningProps> = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) throw new Error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n\n return null;\n};\n\nconst DESCRIPTION_WARNING_NAME = 'DialogDescriptionWarning';\n\ntype DescriptionWarningProps = {\n contentRef: React.RefObject<DialogContentElement>;\n descriptionId?: string;\n};\n\nconst DescriptionWarning: React.FC<DescriptionWarningProps> = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute('aria-describedby');\n // if we have an id and the user hasn't set aria-describedby={undefined}\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n\n return null;\n};\n\nconst Root = Dialog;\nconst Trigger = DialogTrigger;\nconst Portal = DialogPortal;\nconst Overlay = DialogOverlay;\nconst Content = DialogContent;\nconst Title = DialogTitle;\nconst Description = DialogDescription;\nconst Close = DialogClose;\n\nexport {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Title,\n Description,\n Close,\n //\n WarningProvider,\n};\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n};\n"],"names":["createDialogScope","Dialog","DialogTrigger","DialogPortal","DialogOverlay","DialogContent","DialogTitle","DialogDescription","DialogClose","Root","Trigger","Portal","Overlay","Content","Title","Description","Close","WarningProvider","React","composeEventHandlers","useComposedRefs","createContext","createContextScope","useId","useControllableState","DismissableLayer","FocusScope","PortalPrimitive","Presence","Primitive","useFocusGuards","RemoveScroll","hideOthers","Slot","DIALOG_NAME","createDialogContext","DialogProvider","useDialogContext","props","__scopeDialog","children","open","openProp","defaultOpen","onOpenChange","modal","triggerRef","useRef","contentRef","setOpen","prop","defaultProp","onChange","useCallback","prevOpen","TRIGGER_NAME","forwardRef","forwardedRef","triggerProps","context","composedTriggerRef","contentId","getState","onClick","onOpenToggle","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","undefined","container","Children","map","child","OVERLAY_NAME","portalContext","overlayProps","DialogOverlayImpl","pointerEvents","style","CONTENT_NAME","contentProps","DialogContentModal","composedRefs","useEffect","content","current","onCloseAutoFocus","event","preventDefault","focus","onPointerDownOutside","originalEvent","detail","ctrlLeftClick","button","ctrlKey","isRightClick","onFocusOutside","DialogContentNonModal","hasInteractedOutsideRef","defaultPrevented","onInteractOutside","target","targetIsTrigger","contains","DialogContentImpl","trapFocus","onOpenAutoFocus","descriptionId","titleId","process","env","NODE_ENV","TITLE_NAME","titleProps","DESCRIPTION_NAME","descriptionProps","CLOSE_NAME","closeProps","TITLE_WARNING_NAME","useWarningContext","contentName","titleName","docsSlug","TitleWarning","titleWarningContext","MESSAGE","hasTitle","document","getElementById","Error","DESCRIPTION_WARNING_NAME","DescriptionWarning","descriptionWarningContext","describedById","getAttribute","hasDescription","console","warn"],"version":3,"file":"index.module.js.map"}
1
+ {"mappings":";;;;;;;;;;;;;;;;;A;;;;;;;;;;;;;;;;ACmBA;;oGAEA,CAEA,MAAMkC,iCAAW,GAAG,QAApB,AAAA;AAGA,MAAM,CAACC,yCAAD,EAAsBnC,yCAAtB,CAAA,GAA2CsB,yBAAkB,CAACY,iCAAD,CAAnE,AAAA;AAcA,MAAM,CAACE,oCAAD,EAAiBC,sCAAjB,CAAA,GAAqCF,yCAAmB,CAAqBD,iCAArB,CAA9D,AAAA;AAUA,MAAMjC,yCAA6B,GAAIqC,CAAAA,KAAD,GAAqC;IACzE,MAAM,E,eACJC,aADI,CAAA,E,UAEJC,QAFI,CAAA,EAGJC,IAAI,EAAEC,QAHF,CAAA,E,aAIJC,WAJI,CAAA,E,cAKJC,YALI,CAAA,SAMJC,KAAK,GAAG,IAARA,GANI,GAOFP,KAPJ,AAAM;IAQN,MAAMQ,UAAU,GAAG5B,aAAA,CAAgC,IAAhC,CAAnB,AAAA;IACA,MAAM8B,UAAU,GAAG9B,aAAA,CAAmC,IAAnC,CAAnB,AAAA;IACA,MAAM,CAACuB,IAAI,GAAG,KAAR,EAAeQ,OAAf,CAAA,GAA0BzB,2BAAoB,CAAC;QACnD0B,IAAI,EAAER,QAD6C;QAEnDS,WAAW,EAAER,WAFsC;QAGnDS,QAAQ,EAAER,YAAVQ;KAHkD,CAApD,AAAqD;IAMrD,OAAA,aACE,CAAA,oBAAA,CAAC,oCAAD,EADF;QAEI,KAAK,EAAEb,aADT;QAEE,UAAU,EAAEO,UAFd;QAGE,UAAU,EAAEE,UAHd;QAIE,SAAS,EAAEzB,YAAK,EAJlB;QAKE,OAAO,EAAEA,YAAK,EALhB;QAME,aAAa,EAAEA,YAAK,EANtB;QAOE,IAAI,EAAEkB,IAPR;QAQE,YAAY,EAAEQ,OARhB;QASE,YAAY,EAAE/B,kBAAA,CAAkB,IAAM+B,OAAO,CAAEK,CAAAA,QAAD,GAAc,CAACA,QAAhB;YAAA,CAA/B;QAAA,EAA0D;YAACL,OAAD;SAA1D,CAThB;QAUE,KAAK,EAAEJ,KAAP;KAVF,EAYGL,QAZH,CADF,CACE;CAlBJ,AAiCC;AAED,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,iCAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAMe,kCAAY,GAAG,eAArB,AAAA;AAMA,MAAMrD,yCAAa,GAAA,aAAGgB,CAAAA,iBAAA,CACpB,CAACoB,KAAD,EAAyCmB,YAAzC,GAA0D;IACxD,MAAM,E,eAAElB,aAAF,CAAA,EAAiB,GAAGmB,YAAH,EAAjB,GAAqCpB,KAA3C,AAAM;IACN,MAAMqB,OAAO,GAAGtB,sCAAgB,CAACkB,kCAAD,EAAehB,aAAf,CAAhC,AAAA;IACA,MAAMqB,kBAAkB,GAAGxC,sBAAe,CAACqC,YAAD,EAAeE,OAAO,CAACb,UAAvB,CAA1C,AAAA;IACA,OAAA,aACE,CAAA,oBAAA,CAAC,gBAAD,CAAW,MAAX,EADF,oCAAA,CAAA;QAEI,IAAI,EAAC,QADP;QAEE,eAAA,EAAc,QAFhB;QAGE,eAAA,EAAea,OAAO,CAAClB,IAHzB;QAIE,eAAA,EAAekB,OAAO,CAACE,SAJzB;QAKE,YAAA,EAAYC,8BAAQ,CAACH,OAAO,CAAClB,IAAT,CAApB;KALF,EAMMiB,YANN,EAAA;QAOE,GAAG,EAAEE,kBAPP;QAQE,OAAO,EAAEzC,2BAAoB,CAACmB,KAAK,CAACyB,OAAP,EAAgBJ,OAAO,CAACK,YAAxB,CAA7B;KARF,CAAA,CADF,CACE;CANgB,CAAtB,AAiBG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,kCAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAMC,iCAAW,GAAG,cAApB,AAAA;AAGA,MAAM,CAACC,oCAAD,EAAiBC,sCAAjB,CAAA,GAAqChC,yCAAmB,CAAqB8B,iCAArB,EAAkC;IAC9FG,UAAU,EAAEC,SAAZD;CAD4D,CAA9D,AAAgG;AAchG,MAAMjE,yCAAyC,GAAImC,CAAAA,KAAD,GAA2C;IAC3F,MAAM,E,eAAEC,aAAF,CAAA,E,YAAiB6B,UAAjB,CAAA,E,UAA6B5B,QAA7B,CAAA,E,WAAuC8B,SAAAA,CAAAA,EAAvC,GAAqDhC,KAA3D,AAAM;IACN,MAAMqB,OAAO,GAAGtB,sCAAgB,CAAC4B,iCAAD,EAAc1B,aAAd,CAAhC,AAAA;IACA,OAAA,aACE,CAAA,oBAAA,CAAC,oCAAD,EADF;QACkB,KAAK,EAAEA,aAAvB;QAAsC,UAAU,EAAE6B,UAAZ;KAAtC,EACGlD,eAAA,CAAesD,GAAf,CAAmBhC,QAAnB,EAA8BiC,CAAAA,KAAD,GAAA,aAC5B,CAAA,oBAAA,CAAC,eAAD,EAFJ;YAEc,OAAO,EAAEL,UAAU,IAAIT,OAAO,CAAClB,IAA/B;SAAV,EAAA,aACE,CAAA,oBAAA,CAAC,aAAD,EADF;YACmB,OAAO,EAAA,IAAxB;YAAyB,SAAS,EAAE6B,SAAX;SAAzB,EACGG,KADH,CADF,CADD;IAAA,CADH,CADF,CAIQ;CAPV,AAcC;AAED,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,iCAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAMC,kCAAY,GAAG,eAArB,AAAA;AAWA,MAAMtE,yCAAa,GAAA,aAAGc,CAAAA,iBAAA,CACpB,CAACoB,KAAD,EAAyCmB,YAAzC,GAA0D;IACxD,MAAMkB,aAAa,GAAGR,sCAAgB,CAACO,kCAAD,EAAepC,KAAK,CAACC,aAArB,CAAtC,AAAA;IACA,MAAM,cAAE6B,UAAU,GAAGO,aAAa,CAACP,UAA7B,GAAyC,GAAGQ,YAAH,EAAzC,GAA6DtC,KAAnE,AAAM;IACN,MAAMqB,OAAO,GAAGtB,sCAAgB,CAACqC,kCAAD,EAAepC,KAAK,CAACC,aAArB,CAAhC,AAAA;IACA,OAAOoB,OAAO,CAACd,KAAR,GAAA,aACL,CAAA,oBAAA,CAAC,eAAD,EADF;QACY,OAAO,EAAEuB,UAAU,IAAIT,OAAO,CAAClB,IAA/B;KAAV,EAAA,aACE,CAAA,oBAAA,CAAC,uCAAD,EAAA,oCAAA,CAAA,EAAA,EAAuBmC,YAAvB,EADF;QACuC,GAAG,EAAEnB,YAAL;KAArC,CAAA,CADF,CADK,GAIH,IAJJ,CAEI;CAPc,CAAtB,AAUG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,kCAAA;CAAA,CAAA,CAAA;AAMA,MAAMoB,uCAAiB,GAAA,aAAG3D,CAAAA,iBAAA,CACxB,CAACoB,KAAD,EAA6CmB,YAA7C,GAA8D;IAC5D,MAAM,E,eAAElB,aAAF,CAAA,EAAiB,GAAGqC,YAAH,EAAjB,GAAqCtC,KAA3C,AAAM;IACN,MAAMqB,OAAO,GAAGtB,sCAAgB,CAACqC,kCAAD,EAAenC,aAAf,CAAhC,AAAA;IACA,OAAA,aAAA,CACE,oFAAA;IACA,gDAAA;IACA,oBAAA,CAAC,mBAAD,EAAA;QAAc,EAAE,EAAEN,WAAlB;QAAwB,cAAc,EAAA,IAAtC;QAAuC,MAAM,EAAE;YAAC0B,OAAO,CAACX,UAAT;SAAR;KAAvC,EAAA,aACE,CAAA,oBAAA,CAAC,gBAAD,CAAW,GAAX,EADF,oCAAA,CAAA;QAEI,YAAA,EAAYc,8BAAQ,CAACH,OAAO,CAAClB,IAAT,CAApB;KADF,EAEMmC,YAFN,EAAA;QAGE,GAAG,EAAEnB,YAHP,CAIE,4FADA;QAHF;QAKE,KAAK,EAAE;YAAEqB,aAAa,EAAE,MAAjB;YAAyB,GAAGF,YAAY,CAACG,KAAhB;SAAzB;KALT,CAAA,CADF,CACE,EAJJ;CAJsB,CAA1B,AAiBG;AAGH;;oGAEA,CAEA,MAAMC,kCAAY,GAAG,eAArB,AAAA;AAWA,MAAM3E,yCAAa,GAAA,aAAGa,CAAAA,iBAAA,CACpB,CAACoB,KAAD,EAAyCmB,YAAzC,GAA0D;IACxD,MAAMkB,aAAa,GAAGR,sCAAgB,CAACa,kCAAD,EAAe1C,KAAK,CAACC,aAArB,CAAtC,AAAA;IACA,MAAM,cAAE6B,UAAU,GAAGO,aAAa,CAACP,UAA7B,GAAyC,GAAGa,YAAH,EAAzC,GAA6D3C,KAAnE,AAAM;IACN,MAAMqB,OAAO,GAAGtB,sCAAgB,CAAC2C,kCAAD,EAAe1C,KAAK,CAACC,aAArB,CAAhC,AAAA;IACA,OAAA,aACE,CAAA,oBAAA,CAAC,eAAD,EADF;QACY,OAAO,EAAE6B,UAAU,IAAIT,OAAO,CAAClB,IAA/B;KAAV,EACGkB,OAAO,CAACd,KAAR,GAAA,aACC,CAAA,oBAAA,CAAC,wCAAD,EAAA,oCAAA,CAAA,EAAA,EAAwBoC,YAAxB,EAFJ;QAE0C,GAAG,EAAExB,YAAL;KAAtC,CAAA,CADD,GAAA,aAGC,CAAA,oBAAA,CAAC,2CAAD,EAAA,oCAAA,CAAA,EAAA,EAA2BwB,YAA3B,EAFA;QAEyC,GAAG,EAAExB,YAAL;KAAzC,CAAA,CAJJ,CADF,CAKM;CAVY,CAAtB,AAcG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,kCAAA;CAAA,CAAA,CAAA;AAEA,oGAAA,CAMA,MAAMyB,wCAAkB,GAAA,aAAGhE,CAAAA,iBAAA,CACzB,CAACoB,KAAD,EAA6CmB,YAA7C,GAA8D;IAC5D,MAAME,OAAO,GAAGtB,sCAAgB,CAAC2C,kCAAD,EAAe1C,KAAK,CAACC,aAArB,CAAhC,AAAA;IACA,MAAMS,UAAU,GAAG9B,aAAA,CAA6B,IAA7B,CAAnB,AAAA;IACA,MAAMiE,YAAY,GAAG/D,sBAAe,CAACqC,YAAD,EAAeE,OAAO,CAACX,UAAvB,EAAmCA,UAAnC,CAApC,AAH4D,EAK5D,8FAFA;IAGA9B,gBAAA,CAAgB,IAAM;QACpB,MAAMmE,OAAO,GAAGrC,UAAU,CAACsC,OAA3B,AAAA;QACA,IAAID,OAAJ,EAAa,OAAOrD,iBAAU,CAACqD,OAAD,CAAjB,CAAb;KAFF,EAGG,EAHH,CAGC,CAAA;IAED,OAAA,aACE,CAAA,oBAAA,CAAC,uCAAD,EAAA,oCAAA,CAAA,EAAA,EACM/C,KADN,EADF;QAGI,GAAG,EAAE6C,YAFP,CAGE,wEADA;QAFF;QAKE,SAAS,EAAExB,OAAO,CAAClB,IALrB;QAME,2BAA2B,EAAA,IAN7B;QAOE,gBAAgB,EAAEtB,2BAAoB,CAACmB,KAAK,CAACiD,gBAAP,EAA0BC,CAAAA,KAAD,GAAW;YAAA,IAAA,qBAAA,AAAA;YACxEA,KAAK,CAACC,cAAN,EAAAD,CAAAA;YACA,CAAA,qBAAA,GAAA7B,OAAO,CAACb,UAAR,CAAmBwC,OAAnB,CAAA,KAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,IAAA,qBAAA,CAA4BI,KAA5B,EAAA,CAAA;SAFoC,CAPxC;QAWE,oBAAoB,EAAEvE,2BAAoB,CAACmB,KAAK,CAACqD,oBAAP,EAA8BH,CAAAA,KAAD,GAAW;YAChF,MAAMI,aAAa,GAAGJ,KAAK,CAACK,MAAN,CAAaD,aAAnC,AAAA;YACA,MAAME,aAAa,GAAGF,aAAa,CAACG,MAAd,KAAyB,CAAzB,IAA8BH,aAAa,CAACI,OAAd,KAA0B,IAA9E,AAAA;YACA,MAAMC,YAAY,GAAGL,aAAa,CAACG,MAAd,KAAyB,CAAzB,IAA8BD,aAAnD,AAHgF,EAKhF,4DAFA;YAGA,0DAAA;YACA,IAAIG,YAAJ,EAAkBT,KAAK,CAACC,cAAN,EAAlB,CAAA;SAPwC,CAX5C,CAoBE,8DADC;QAnBH;QAsBE,cAAc,EAAEtE,2BAAoB,CAACmB,KAAK,CAAC4D,cAAP,EAAwBV,CAAAA,KAAD,GACzDA,KAAK,CAACC,cAAN,EADkC;QAAA,CAApC;KAtBF,CAAA,CADF,CACE;CAbqB,CAA3B,AAwCG;AAGH,oGAAA,CAEA,MAAMU,2CAAqB,GAAA,aAAGjF,CAAAA,iBAAA,CAC5B,CAACoB,KAAD,EAA6CmB,YAA7C,GAA8D;IAC5D,MAAME,OAAO,GAAGtB,sCAAgB,CAAC2C,kCAAD,EAAe1C,KAAK,CAACC,aAArB,CAAhC,AAAA;IACA,MAAM6D,uBAAuB,GAAGlF,aAAA,CAAa,KAAb,CAAhC,AAAA;IACA,MAAMmF,wBAAwB,GAAGnF,aAAA,CAAa,KAAb,CAAjC,AAAA;IAEA,OAAA,aACE,CAAA,oBAAA,CAAC,uCAAD,EAAA,oCAAA,CAAA,EAAA,EACMoB,KADN,EADF;QAGI,GAAG,EAAEmB,YAFP;QAGE,SAAS,EAAE,KAHb;QAIE,2BAA2B,EAAE,KAJ/B;QAKE,gBAAgB,EAAG+B,CAAAA,KAAD,GAAW;YAAA,IAAA,qBAAA,AAAA;YAC3B,CAAA,qBAAA,GAAAlD,KAAK,CAACiD,gBAAN,CAAA,KAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,IAAA,qBAAA,CAAA,IAAA,CAAAjD,KAAK,EAAoBkD,KAApB,CAAL,CAAA;YAEA,IAAI,CAACA,KAAK,CAACc,gBAAX,EAA6B;gBAAA,IAAA,sBAAA,AAAA;gBAC3B,IAAI,CAACF,uBAAuB,CAACd,OAA7B,EAAsC,AAAA,CAAA,sBAAA,GAAA3B,OAAO,CAACb,UAAR,CAAmBwC,OAAnB,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,IAAA,sBAAA,CAA4BI,KAA5B,EAAA,CADX,CAE3B,sFADA;gBAEAF,KAAK,CAACC,cAAN,EAAAD,CAAAA;aACD;YAEDY,uBAAuB,CAACd,OAAxB,GAAkC,KAAlC,CAAAc;YACAC,wBAAwB,CAACf,OAAzB,GAAmC,KAAnC,CAAAe;SAfJ;QAiBE,iBAAiB,EAAGb,CAAAA,KAAD,GAAW;YAAA,IAAA,qBAAA,EAAA,sBAAA,AAAA;YAC5B,CAAA,qBAAA,GAAAlD,KAAK,CAACiE,iBAAN,CAAA,KAAA,IAAA,IAAA,qBAAA,KAAA,KAAA,CAAA,IAAA,qBAAA,CAAA,IAAA,CAAAjE,KAAK,EAAqBkD,KAArB,CAAL,CAAA;YAEA,IAAI,CAACA,KAAK,CAACc,gBAAX,EAA6B;gBAC3BF,uBAAuB,CAACd,OAAxB,GAAkC,IAAlC,CAAAc;gBACA,IAAIZ,KAAK,CAACK,MAAN,CAAaD,aAAb,CAA2BY,IAA3B,KAAoC,aAAxC,EACEH,wBAAwB,CAACf,OAAzB,GAAmC,IAAnC,CAAAe;aANwB,CAU5B,gDAFC;YAGD,mEAAA;YACA,0CAAA;YACA,MAAMI,MAAM,GAAGjB,KAAK,CAACiB,MAArB,AAAA;YACA,MAAMC,eAAe,GAAA,AAAA,CAAA,sBAAA,GAAG/C,OAAO,CAACb,UAAR,CAAmBwC,OAAtB,CAAA,KAAA,IAAA,IAAA,sBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAG,sBAAA,CAA4BqB,QAA5B,CAAqCF,MAArC,CAAxB,AAAA;YACA,IAAIC,eAAJ,EAAqBlB,KAAK,CAACC,cAAN,EAAA,CAfO,CAiB5B,iFAFA;YAGA,mFAAA;YACA,qFAAA;YACA,4CAAA;YACA,IAAID,KAAK,CAACK,MAAN,CAAaD,aAAb,CAA2BY,IAA3B,KAAoC,SAApC,IAAiDH,wBAAwB,CAACf,OAA9E,EACEE,KAAK,CAACC,cAAN,EAAAD,CAAAA;SAEH;KAzCH,CAAA,CADF,CACE;CAPwB,CAA9B,AAmDG;AAGH,oGAAA,CA0BA,MAAMoB,uCAAiB,GAAA,aAAG1F,CAAAA,iBAAA,CACxB,CAACoB,KAAD,EAA6CmB,YAA7C,GAA8D;IAC5D,MAAM,E,eAAElB,aAAF,CAAA,E,WAAiBsE,SAAjB,CAAA,E,iBAA4BC,eAA5B,CAAA,E,kBAA6CvB,gBAA7C,CAAA,EAA+D,GAAGN,YAAH,EAA/D,GAAmF3C,KAAzF,AAAM;IACN,MAAMqB,OAAO,GAAGtB,sCAAgB,CAAC2C,kCAAD,EAAezC,aAAf,CAAhC,AAAA;IACA,MAAMS,UAAU,GAAG9B,aAAA,CAA6B,IAA7B,CAAnB,AAAA;IACA,MAAMiE,YAAY,GAAG/D,sBAAe,CAACqC,YAAD,EAAeT,UAAf,CAApC,AAJ4D,EAM5D,oEAFA;IAGA,wDAAA;IACAlB,qBAAc,EAAdA,CAAAA;IAEA,OAAA,aACE,CAAA,oBAAA,CAAA,eAAA,EAAA,IAAA,EAAA,aACE,CAAA,oBAAA,CAAC,iBAAD,EAFJ;QAGM,OAAO,EAAA,IADT;QAEE,IAAI,EAAA,IAFN;QAGE,OAAO,EAAE+E,SAHX;QAIE,gBAAgB,EAAEC,eAJpB;QAKE,kBAAkB,EAAEvB,gBAApB;KALF,EAAA,aAOE,CAAA,oBAAA,CAAC,uBAAD,EAPF,oCAAA,CAAA;QAQI,IAAI,EAAC,QADP;QAEE,EAAE,EAAE5B,OAAO,CAACE,SAFd;QAGE,kBAAA,EAAkBF,OAAO,CAACoD,aAH5B;QAIE,iBAAA,EAAiBpD,OAAO,CAACqD,OAJ3B;QAKE,YAAA,EAAYlD,8BAAQ,CAACH,OAAO,CAAClB,IAAT,CAApB;KALF,EAMMwC,YANN,EAAA;QAOE,GAAG,EAAEE,YAPP;QAQE,SAAS,EAAE,IAAMxB,OAAO,CAACf,YAAR,CAAqB,KAArB,CAAjB;KARF,CAAA,CAPF,CADF,EAmBGqE,KAAA,CApBL,CAuBQ;CAlCc,CAA1B,AAuCG;AAGH;;oGAEA,CAEA,MAAMG,gCAAU,GAAG,aAAnB,AAAA;AAMA,MAAM9G,yCAAW,GAAA,aAAGY,CAAAA,iBAAA,CAClB,CAACoB,KAAD,EAAuCmB,YAAvC,GAAwD;IACtD,MAAM,E,eAAElB,aAAF,CAAA,EAAiB,GAAG8E,UAAH,EAAjB,GAAmC/E,KAAzC,AAAM;IACN,MAAMqB,OAAO,GAAGtB,sCAAgB,CAAC+E,gCAAD,EAAa7E,aAAb,CAAhC,AAAA;IACA,OAAA,aAAO,CAAA,oBAAA,CAAC,gBAAD,CAAW,EAAX,EAAP,oCAAA,CAAA;QAAqB,EAAE,EAAEoB,OAAO,CAACqD,OAAZ;KAAd,EAAuCK,UAAvC,EAAA;QAAmD,GAAG,EAAE5D,YAAL;KAAnD,CAAA,CAAP,CAAO;CAJS,CAApB,AAKG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,gCAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAM6D,sCAAgB,GAAG,mBAAzB,AAAA;AAMA,MAAM/G,yCAAiB,GAAA,aAAGW,CAAAA,iBAAA,CACxB,CAACoB,KAAD,EAA6CmB,YAA7C,GAA8D;IAC5D,MAAM,E,eAAElB,aAAF,CAAA,EAAiB,GAAGgF,gBAAH,EAAjB,GAAyCjF,KAA/C,AAAM;IACN,MAAMqB,OAAO,GAAGtB,sCAAgB,CAACiF,sCAAD,EAAmB/E,aAAnB,CAAhC,AAAA;IACA,OAAA,aAAO,CAAA,oBAAA,CAAC,gBAAD,CAAW,CAAX,EAAP,oCAAA,CAAA;QAAoB,EAAE,EAAEoB,OAAO,CAACoD,aAAZ;KAAb,EAA4CQ,gBAA5C,EAAA;QAA8D,GAAG,EAAE9D,YAAL;KAA9D,CAAA,CAAP,CAAO;CAJe,CAA1B,AAKG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,sCAAA;CAAA,CAAA,CAAA;AAEA;;oGAEA,CAEA,MAAM+D,gCAAU,GAAG,aAAnB,AAAA;AAKA,MAAMhH,yCAAW,GAAA,aAAGU,CAAAA,iBAAA,CAClB,CAACoB,KAAD,EAAuCmB,YAAvC,GAAwD;IACtD,MAAM,E,eAAElB,aAAF,CAAA,EAAiB,GAAGkF,UAAH,EAAjB,GAAmCnF,KAAzC,AAAM;IACN,MAAMqB,OAAO,GAAGtB,sCAAgB,CAACmF,gCAAD,EAAajF,aAAb,CAAhC,AAAA;IACA,OAAA,aACE,CAAA,oBAAA,CAAC,gBAAD,CAAW,MAAX,EADF,oCAAA,CAAA;QAEI,IAAI,EAAC,QAAL;KADF,EAEMkF,UAFN,EAAA;QAGE,GAAG,EAAEhE,YAHP;QAIE,OAAO,EAAEtC,2BAAoB,CAACmB,KAAK,CAACyB,OAAP,EAAgB,IAAMJ,OAAO,CAACf,YAAR,CAAqB,KAArB,CAAtB;QAAA,CAA7B;KAJF,CAAA,CADF,CACE;CALc,CAApB,AAYG;AAGH,aAAA,CAAA,MAAA,CAAA,MAAA,CAAA,yCAAA,EAAA;IAAA,WAAA,EAAA,gCAAA;CAAA,CAAA,CAAA;AAEA,oGAAA,CAEA,SAASkB,8BAAT,CAAkBrB,IAAlB,EAAiC;IAC/B,OAAOA,IAAI,GAAG,MAAH,GAAY,QAAvB,CAAA;CACD;AAED,MAAMiF,wCAAkB,GAAG,oBAA3B,AAAA;AAEA,MAAM,CAACzG,yCAAD,EAAkB0G,uCAAlB,CAAA,GAAuCtG,oBAAa,CAACqG,wCAAD,EAAqB;IAC7EE,WAAW,EAAE5C,kCADgE;IAE7E6C,SAAS,EAAET,gCAFkE;IAG7EU,QAAQ,EAAE,QAAVA;CAHwD,CAA1D,AAA+E;AAQ/E,MAAMC,kCAAyC,GAAG,CAAC,E,SAAEf,OAAAA,CAAAA,EAAH,GAAiB;IACjE,MAAMgB,mBAAmB,GAAGL,uCAAiB,CAACD,wCAAD,CAA7C,AAAA;IAEA,MAAMO,OAAO,GAAI,CAAA,EAAA,EAAID,mBAAmB,CAACJ,WAAY,CAAA,gBAAA,EAAkBI,mBAAmB,CAACH,SAAU,CAArG;;0BAEF,EAA4BG,mBAAmB,CAACH,SAAU,CAA1D;;0EAEA,EAA4EG,mBAAmB,CAACF,QAAS,CAAA,CAJvG,AAIF;IAEE5G,gBAAA,CAAgB,IAAM;QACpB,IAAI8F,OAAJ,EAAa;YACX,MAAMkB,QAAQ,GAAGC,QAAQ,CAACC,cAAT,CAAwBpB,OAAxB,CAAjB,AAAA;YACA,IAAI,CAACkB,QAAL,EAAe,MAAM,IAAIG,KAAJ,CAAUJ,OAAV,CAAN,CAAf;SACD;KAJH,EAKG;QAACA,OAAD;QAAUjB,OAAV;KALH,CAKC,CAAA;IAED,OAAO,IAAP,CAAA;CAhBF,AAiBC;AAED,MAAMsB,8CAAwB,GAAG,0BAAjC,AAAA;AAOA,MAAMC,wCAAqD,GAAG,CAAC,E,YAAEvF,UAAF,CAAA,E,eAAc+D,aAAAA,CAAAA,EAAf,GAAmC;IAC/F,MAAMyB,yBAAyB,GAAGb,uCAAiB,CAACW,8CAAD,CAAnD,AAAA;IACA,MAAML,OAAO,GAAI,CAAA,0EAAA,EAA4EO,yBAAyB,CAACZ,WAAY,CAAA,EAAA,CAAnI,AAAA;IAEA1G,gBAAA,CAAgB,IAAM;QAAA,IAAA,mBAAA,AAAA;QACpB,MAAMuH,aAAa,GAAA,AAAA,CAAA,mBAAA,GAAGzF,UAAU,CAACsC,OAAd,CAAA,KAAA,IAAA,IAAA,mBAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAG,mBAAA,CAAoBoD,YAApB,CAAiC,kBAAjC,CAAtB,AADoB,EAEpB,wEADA;QAEA,IAAI3B,aAAa,IAAI0B,aAArB,EAAoC;YAClC,MAAME,cAAc,GAAGR,QAAQ,CAACC,cAAT,CAAwBrB,aAAxB,CAAvB,AAAA;YACA,IAAI,CAAC4B,cAAL,EAAqBC,OAAO,CAACC,IAAR,CAAaZ,OAAb,CAArB,CAAA;SACD;KANH,EAOG;QAACA,OAAD;QAAUjF,UAAV;QAAsB+D,aAAtB;KAPH,CAOC,CAAA;IAED,OAAO,IAAP,CAAA;CAbF,AAcC;AAED,MAAMtG,yCAAI,GAAGR,yCAAb,AAAA;AACA,MAAMS,yCAAO,GAAGR,yCAAhB,AAAA;AACA,MAAMS,yCAAM,GAAGR,yCAAf,AAAA;AACA,MAAMS,yCAAO,GAAGR,yCAAhB,AAAA;AACA,MAAMS,yCAAO,GAAGR,yCAAhB,AAAA;AACA,MAAMS,yCAAK,GAAGR,yCAAd,AAAA;AACA,MAAMS,yCAAW,GAAGR,yCAApB,AAAA;AACA,MAAMS,yCAAK,GAAGR,yCAAd,AAAA;;ADtiBA","sources":["packages/react/dialog/src/index.ts","packages/react/dialog/src/Dialog.tsx"],"sourcesContent":["export {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Title,\n Description,\n Close,\n //\n WarningProvider,\n} from './Dialog';\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n} from './Dialog';\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { useComposedRefs } from '@radix-ui/react-compose-refs';\nimport { createContext, createContextScope } from '@radix-ui/react-context';\nimport { useId } from '@radix-ui/react-id';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport { DismissableLayer } from '@radix-ui/react-dismissable-layer';\nimport { FocusScope } from '@radix-ui/react-focus-scope';\nimport { Portal as PortalPrimitive } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport { useFocusGuards } from '@radix-ui/react-focus-guards';\nimport { RemoveScroll } from 'react-remove-scroll';\nimport { hideOthers } from 'aria-hidden';\nimport { Slot } from '@radix-ui/react-slot';\n\nimport type * as Radix from '@radix-ui/react-primitive';\nimport type { Scope } from '@radix-ui/react-context';\n\n/* -------------------------------------------------------------------------------------------------\n * Dialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst DIALOG_NAME = 'Dialog';\n\ntype ScopedProps<P> = P & { __scopeDialog?: Scope };\nconst [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\n\ntype DialogContextValue = {\n triggerRef: React.RefObject<HTMLButtonElement>;\n contentRef: React.RefObject<DialogContentElement>;\n contentId: string;\n titleId: string;\n descriptionId: string;\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpenToggle(): void;\n modal: boolean;\n};\n\nconst [DialogProvider, useDialogContext] = createDialogContext<DialogContextValue>(DIALOG_NAME);\n\ninterface DialogProps {\n children?: React.ReactNode;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?(open: boolean): void;\n modal?: boolean;\n}\n\nconst Dialog: React.FC<DialogProps> = (props: ScopedProps<DialogProps>) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true,\n } = props;\n const triggerRef = React.useRef<HTMLButtonElement>(null);\n const contentRef = React.useRef<DialogContentElement>(null);\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n return (\n <DialogProvider\n scope={__scopeDialog}\n triggerRef={triggerRef}\n contentRef={contentRef}\n contentId={useId()}\n titleId={useId()}\n descriptionId={useId()}\n open={open}\n onOpenChange={setOpen}\n onOpenToggle={React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen])}\n modal={modal}\n >\n {children}\n </DialogProvider>\n );\n};\n\nDialog.displayName = DIALOG_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'DialogTrigger';\n\ntype DialogTriggerElement = React.ElementRef<typeof Primitive.button>;\ntype PrimitiveButtonProps = Radix.ComponentPropsWithoutRef<typeof Primitive.button>;\ninterface DialogTriggerProps extends PrimitiveButtonProps {}\n\nconst DialogTrigger = React.forwardRef<DialogTriggerElement, DialogTriggerProps>(\n (props: ScopedProps<DialogTriggerProps>, forwardedRef) => {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return (\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);\n\nDialogTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogPortal\n * -----------------------------------------------------------------------------------------------*/\n\nconst PORTAL_NAME = 'DialogPortal';\n\ntype PortalContextValue = { forceMount?: true };\nconst [PortalProvider, usePortalContext] = createDialogContext<PortalContextValue>(PORTAL_NAME, {\n forceMount: undefined,\n});\n\ntype PortalProps = React.ComponentPropsWithoutRef<typeof PortalPrimitive>;\ninterface DialogPortalProps extends Omit<PortalProps, 'asChild'> {\n children?: React.ReactNode;\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 DialogPortal: React.FC<DialogPortalProps> = (props: ScopedProps<DialogPortalProps>) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return (\n <PortalProvider scope={__scopeDialog} forceMount={forceMount}>\n {React.Children.map(children, (child) => (\n <Presence present={forceMount || context.open}>\n <PortalPrimitive asChild container={container}>\n {child}\n </PortalPrimitive>\n </Presence>\n ))}\n </PortalProvider>\n );\n};\n\nDialogPortal.displayName = PORTAL_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogOverlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst OVERLAY_NAME = 'DialogOverlay';\n\ntype DialogOverlayElement = DialogOverlayImplElement;\ninterface DialogOverlayProps extends DialogOverlayImplProps {\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 DialogOverlay = React.forwardRef<DialogOverlayElement, DialogOverlayProps>(\n (props: ScopedProps<DialogOverlayProps>, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, props.__scopeDialog);\n return context.modal ? (\n <Presence present={forceMount || context.open}>\n <DialogOverlayImpl {...overlayProps} ref={forwardedRef} />\n </Presence>\n ) : null;\n }\n);\n\nDialogOverlay.displayName = OVERLAY_NAME;\n\ntype DialogOverlayImplElement = React.ElementRef<typeof Primitive.div>;\ntype PrimitiveDivProps = Radix.ComponentPropsWithoutRef<typeof Primitive.div>;\ninterface DialogOverlayImplProps extends PrimitiveDivProps {}\n\nconst DialogOverlayImpl = React.forwardRef<DialogOverlayImplElement, DialogOverlayImplProps>(\n (props: ScopedProps<DialogOverlayImplProps>, forwardedRef) => {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n return (\n // Make sure `Content` is scrollable even when it doesn't live inside `RemoveScroll`\n // ie. when `Overlay` and `Content` are siblings\n <RemoveScroll as={Slot} allowPinchZoom shards={[context.contentRef]}>\n <Primitive.div\n data-state={getState(context.open)}\n {...overlayProps}\n ref={forwardedRef}\n // We re-enable pointer-events prevented by `Dialog.Content` to allow scrolling the overlay.\n style={{ pointerEvents: 'auto', ...overlayProps.style }}\n />\n </RemoveScroll>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'DialogContent';\n\ntype DialogContentElement = DialogContentTypeElement;\ninterface DialogContentProps extends DialogContentTypeProps {\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 DialogContent = React.forwardRef<DialogContentElement, DialogContentProps>(\n (props: ScopedProps<DialogContentProps>, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeDialog);\n const { forceMount = portalContext.forceMount, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n return (\n <Presence present={forceMount || context.open}>\n {context.modal ? (\n <DialogContentModal {...contentProps} ref={forwardedRef} />\n ) : (\n <DialogContentNonModal {...contentProps} ref={forwardedRef} />\n )}\n </Presence>\n );\n }\n);\n\nDialogContent.displayName = CONTENT_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentTypeElement = DialogContentImplElement;\ninterface DialogContentTypeProps\n extends Omit<DialogContentImplProps, 'trapFocus' | 'disableOutsidePointerEvents'> {}\n\nconst DialogContentModal = React.forwardRef<DialogContentTypeElement, DialogContentTypeProps>(\n (props: ScopedProps<DialogContentTypeProps>, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\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 <DialogContentImpl\n {...props}\n ref={composedRefs}\n // we make sure focus isn't trapped once `DialogContent` has been closed\n // (closed !== unmounted when animating out)\n trapFocus={context.open}\n disableOutsidePointerEvents\n onCloseAutoFocus={composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault();\n context.triggerRef.current?.focus();\n })}\n onPointerDownOutside={composeEventHandlers(props.onPointerDownOutside, (event) => {\n const originalEvent = event.detail.originalEvent;\n const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick;\n\n // If the event is a right-click, we shouldn't close because\n // it is effectively as if we right-clicked the `Overlay`.\n if (isRightClick) event.preventDefault();\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(props.onFocusOutside, (event) =>\n event.preventDefault()\n )}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst DialogContentNonModal = React.forwardRef<DialogContentTypeElement, DialogContentTypeProps>(\n (props: ScopedProps<DialogContentTypeProps>, forwardedRef) => {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n\n return (\n <DialogContentImpl\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) 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 (event.detail.originalEvent.type === 'focusin' && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }}\n />\n );\n }\n);\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentImplElement = React.ElementRef<typeof DismissableLayer>;\ntype DismissableLayerProps = Radix.ComponentPropsWithoutRef<typeof DismissableLayer>;\ntype FocusScopeProps = Radix.ComponentPropsWithoutRef<typeof FocusScope>;\ninterface DialogContentImplProps extends Omit<DismissableLayerProps, 'onDismiss'> {\n /**\n * When `true`, focus cannot escape the `Content` via keyboard,\n * pointer, or a programmatic focus.\n * @defaultValue 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 DialogContentImpl = React.forwardRef<DialogContentImplElement, DialogContentImplProps>(\n (props: ScopedProps<DialogContentImplProps>, forwardedRef) => {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n const contentRef = React.useRef<HTMLDivElement>(null);\n const composedRefs = useComposedRefs(forwardedRef, contentRef);\n\n // Make sure the whole tree has focus guards as our `Dialog` will be\n // the last element in the DOM (beacuse of the `Portal`)\n useFocusGuards();\n\n return (\n <>\n <FocusScope\n asChild\n loop\n trapped={trapFocus}\n onMountAutoFocus={onOpenAutoFocus}\n onUnmountAutoFocus={onCloseAutoFocus}\n >\n <DismissableLayer\n role=\"dialog\"\n id={context.contentId}\n aria-describedby={context.descriptionId}\n aria-labelledby={context.titleId}\n data-state={getState(context.open)}\n {...contentProps}\n ref={composedRefs}\n onDismiss={() => context.onOpenChange(false)}\n />\n </FocusScope>\n {process.env.NODE_ENV !== 'production' && (\n <>\n <TitleWarning titleId={context.titleId} />\n <DescriptionWarning contentRef={contentRef} descriptionId={context.descriptionId} />\n </>\n )}\n </>\n );\n }\n);\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTitle\n * -----------------------------------------------------------------------------------------------*/\n\nconst TITLE_NAME = 'DialogTitle';\n\ntype DialogTitleElement = React.ElementRef<typeof Primitive.h2>;\ntype PrimitiveHeading2Props = Radix.ComponentPropsWithoutRef<typeof Primitive.h2>;\ninterface DialogTitleProps extends PrimitiveHeading2Props {}\n\nconst DialogTitle = React.forwardRef<DialogTitleElement, DialogTitleProps>(\n (props: ScopedProps<DialogTitleProps>, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n return <Primitive.h2 id={context.titleId} {...titleProps} ref={forwardedRef} />;\n }\n);\n\nDialogTitle.displayName = TITLE_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogDescription\n * -----------------------------------------------------------------------------------------------*/\n\nconst DESCRIPTION_NAME = 'DialogDescription';\n\ntype DialogDescriptionElement = React.ElementRef<typeof Primitive.p>;\ntype PrimitiveParagraphProps = Radix.ComponentPropsWithoutRef<typeof Primitive.p>;\ninterface DialogDescriptionProps extends PrimitiveParagraphProps {}\n\nconst DialogDescription = React.forwardRef<DialogDescriptionElement, DialogDescriptionProps>(\n (props: ScopedProps<DialogDescriptionProps>, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n return <Primitive.p id={context.descriptionId} {...descriptionProps} ref={forwardedRef} />;\n }\n);\n\nDialogDescription.displayName = DESCRIPTION_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * DialogClose\n * -----------------------------------------------------------------------------------------------*/\n\nconst CLOSE_NAME = 'DialogClose';\n\ntype DialogCloseElement = React.ElementRef<typeof Primitive.button>;\ninterface DialogCloseProps extends PrimitiveButtonProps {}\n\nconst DialogClose = React.forwardRef<DialogCloseElement, DialogCloseProps>(\n (props: ScopedProps<DialogCloseProps>, forwardedRef) => {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return (\n <Primitive.button\n type=\"button\"\n {...closeProps}\n ref={forwardedRef}\n onClick={composeEventHandlers(props.onClick, () => context.onOpenChange(false))}\n />\n );\n }\n);\n\nDialogClose.displayName = CLOSE_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction getState(open: boolean) {\n return open ? 'open' : 'closed';\n}\n\nconst TITLE_WARNING_NAME = 'DialogTitleWarning';\n\nconst [WarningProvider, useWarningContext] = createContext(TITLE_WARNING_NAME, {\n contentName: CONTENT_NAME,\n titleName: TITLE_NAME,\n docsSlug: 'dialog',\n});\n\ntype TitleWarningProps = { titleId?: string };\n\nconst TitleWarning: React.FC<TitleWarningProps> = ({ titleId }) => {\n const titleWarningContext = useWarningContext(TITLE_WARNING_NAME);\n\n const MESSAGE = `\\`${titleWarningContext.contentName}\\` requires a \\`${titleWarningContext.titleName}\\` for the component to be accessible for screen reader users.\n\nIf you want to hide the \\`${titleWarningContext.titleName}\\`, you can wrap it with our VisuallyHidden component.\n\nFor more information, see https://radix-ui.com/primitives/docs/components/${titleWarningContext.docsSlug}`;\n\n React.useEffect(() => {\n if (titleId) {\n const hasTitle = document.getElementById(titleId);\n if (!hasTitle) throw new Error(MESSAGE);\n }\n }, [MESSAGE, titleId]);\n\n return null;\n};\n\nconst DESCRIPTION_WARNING_NAME = 'DialogDescriptionWarning';\n\ntype DescriptionWarningProps = {\n contentRef: React.RefObject<DialogContentElement>;\n descriptionId?: string;\n};\n\nconst DescriptionWarning: React.FC<DescriptionWarningProps> = ({ contentRef, descriptionId }) => {\n const descriptionWarningContext = useWarningContext(DESCRIPTION_WARNING_NAME);\n const MESSAGE = `Warning: Missing \\`Description\\` or \\`aria-describedby={undefined}\\` for {${descriptionWarningContext.contentName}}.`;\n\n React.useEffect(() => {\n const describedById = contentRef.current?.getAttribute('aria-describedby');\n // if we have an id and the user hasn't set aria-describedby={undefined}\n if (descriptionId && describedById) {\n const hasDescription = document.getElementById(descriptionId);\n if (!hasDescription) console.warn(MESSAGE);\n }\n }, [MESSAGE, contentRef, descriptionId]);\n\n return null;\n};\n\nconst Root = Dialog;\nconst Trigger = DialogTrigger;\nconst Portal = DialogPortal;\nconst Overlay = DialogOverlay;\nconst Content = DialogContent;\nconst Title = DialogTitle;\nconst Description = DialogDescription;\nconst Close = DialogClose;\n\nexport {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n Root,\n Trigger,\n Portal,\n Overlay,\n Content,\n Title,\n Description,\n Close,\n //\n WarningProvider,\n};\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n};\n"],"names":["createDialogScope","Dialog","DialogTrigger","DialogPortal","DialogOverlay","DialogContent","DialogTitle","DialogDescription","DialogClose","Root","Trigger","Portal","Overlay","Content","Title","Description","Close","WarningProvider","React","composeEventHandlers","useComposedRefs","createContext","createContextScope","useId","useControllableState","DismissableLayer","FocusScope","PortalPrimitive","Presence","Primitive","useFocusGuards","RemoveScroll","hideOthers","Slot","DIALOG_NAME","createDialogContext","DialogProvider","useDialogContext","props","__scopeDialog","children","open","openProp","defaultOpen","onOpenChange","modal","triggerRef","useRef","contentRef","setOpen","prop","defaultProp","onChange","useCallback","prevOpen","TRIGGER_NAME","forwardRef","forwardedRef","triggerProps","context","composedTriggerRef","contentId","getState","onClick","onOpenToggle","PORTAL_NAME","PortalProvider","usePortalContext","forceMount","undefined","container","Children","map","child","OVERLAY_NAME","portalContext","overlayProps","DialogOverlayImpl","pointerEvents","style","CONTENT_NAME","contentProps","DialogContentModal","composedRefs","useEffect","content","current","onCloseAutoFocus","event","preventDefault","focus","onPointerDownOutside","originalEvent","detail","ctrlLeftClick","button","ctrlKey","isRightClick","onFocusOutside","DialogContentNonModal","hasInteractedOutsideRef","hasPointerDownOutsideRef","defaultPrevented","onInteractOutside","type","target","targetIsTrigger","contains","DialogContentImpl","trapFocus","onOpenAutoFocus","descriptionId","titleId","process","env","NODE_ENV","TITLE_NAME","titleProps","DESCRIPTION_NAME","descriptionProps","CLOSE_NAME","closeProps","TITLE_WARNING_NAME","useWarningContext","contentName","titleName","docsSlug","TitleWarning","titleWarningContext","MESSAGE","hasTitle","document","getElementById","Error","DESCRIPTION_WARNING_NAME","DescriptionWarning","descriptionWarningContext","describedById","getAttribute","hasDescription","console","warn"],"version":3,"file":"index.module.js.map"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@radix-ui/react-dialog",
3
- "version": "1.0.3",
3
+ "version": "1.0.4-rc.1",
4
4
  "license": "MIT",
5
5
  "source": "src/index.ts",
6
6
  "main": "dist/index.js",
@@ -43,5 +43,6 @@
43
43
  },
44
44
  "bugs": {
45
45
  "url": "https://github.com/radix-ui/primitives/issues"
46
- }
46
+ },
47
+ "stableVersion": "1.0.3"
47
48
  }