@undp/design-system-react
Version:
React based design system for UNDP
1 lines • 19.5 kB
Source Map (JSON)
{"version":3,"file":"dist-BTkvAJGr.cjs","names":["createContextScope","React","useControllableState","useId","useComposedRefs","Primitive","composeEventHandlers","Presence","PortalPrimitive","createSlot","useDismissableLayerSurface","RemoveScroll","hideOthers","Fragment","FocusScope","DismissableLayer"],"sources":["../node_modules/@radix-ui/react-dialog/dist/index.mjs"],"sourcesContent":["\"use client\";\nvar __defProp = Object.defineProperty;\nvar __name = (target, value) => __defProp(target, \"name\", { value, configurable: true });\n\n// src/dialog.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { useId } from \"@radix-ui/react-id\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { DismissableLayer, useDismissableLayerSurface } 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 { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { hideOthers } from \"aria-hidden\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { Fragment, jsx } from \"react/jsx-runtime\";\nvar DIALOG_NAME = \"Dialog\";\nvar [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME);\nvar [DialogProvider, useDialogContext] = createDialogContext(DIALOG_NAME);\nvar Dialog = /* @__PURE__ */ __name((props) => {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n modal = true\n } = props;\n const triggerRef = React.useRef(null);\n const contentRef = React.useRef(null);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: DIALOG_NAME\n });\n const [titleCount, setTitleCount] = React.useState(0);\n const [descriptionCount, setDescriptionCount] = React.useState(0);\n return /* @__PURE__ */ jsx(\n DialogProvider,\n {\n scope: __scopeDialog,\n triggerRef,\n contentRef,\n contentId: useId(),\n titleId: useId(),\n descriptionId: useId(),\n titlePresent: titleCount > 0,\n descriptionPresent: descriptionCount > 0,\n setTitleCount,\n setDescriptionCount,\n open,\n onOpenChange: setOpen,\n onOpenToggle: React.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),\n modal,\n children\n }\n );\n}, \"Dialog\");\nvar TRIGGER_NAME = \"DialogTrigger\";\nvar DialogTrigger = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function DialogTrigger2(props, forwardedRef) {\n const { __scopeDialog, ...triggerProps } = props;\n const context = useDialogContext(TRIGGER_NAME, __scopeDialog);\n const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n \"aria-haspopup\": \"dialog\",\n \"aria-expanded\": context.open,\n \"aria-controls\": context.open ? context.contentId : void 0,\n \"data-state\": getState(context.open),\n ...triggerProps,\n ref: composedTriggerRef,\n onClick: composeEventHandlers(props.onClick, context.onOpenToggle)\n }\n );\n }, \"DialogTrigger\")\n);\nvar PORTAL_NAME = \"DialogPortal\";\nvar [PortalProvider, usePortalContext] = createDialogContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar DialogPortal = /* @__PURE__ */ __name((props) => {\n const { __scopeDialog, forceMount, children, container } = props;\n const context = useDialogContext(PORTAL_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeDialog, forceMount, children: React.Children.map(children, (child) => /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children: child }) })) });\n}, \"DialogPortal\");\nvar OVERLAY_NAME = \"DialogOverlay\";\nvar DialogOverlay = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function DialogOverlay2(props, 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 ? /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(DialogOverlayImpl, { ...overlayProps, ref: forwardedRef }) }) : null;\n }, \"DialogOverlay\")\n);\nvar Slot = createSlot(\"DialogOverlay.RemoveScroll\");\nvar DialogOverlayImpl = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function DialogOverlayImpl2(props, forwardedRef) {\n const { __scopeDialog, ...overlayProps } = props;\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog);\n const registerDismissableSurface = useDismissableLayerSurface();\n const composedRefs = useComposedRefs(forwardedRef, registerDismissableSurface);\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 /* @__PURE__ */ jsx(RemoveScroll, { as: Slot, allowPinchZoom: true, shards: [context.contentRef], children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-state\": getState(context.open),\n ...overlayProps,\n ref: composedRefs,\n style: { pointerEvents: \"auto\", ...overlayProps.style }\n }\n ) })\n );\n }, \"DialogOverlayImpl\")\n);\nvar CONTENT_NAME = \"DialogContent\";\nvar DialogContent = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function DialogContent2(props, 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 /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsx(DialogContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(DialogContentNonModal, { ...contentProps, ref: forwardedRef }) });\n }, \"DialogContent\")\n);\nvar DialogContentModal = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function DialogContentModal2(props, forwardedRef) {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const contentRef = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, context.contentRef, contentRef);\n React.useEffect(() => {\n const content = contentRef.current;\n if (content) return hideOthers(content);\n }, []);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: composedRefs,\n trapFocus: context.open,\n disableOutsidePointerEvents: context.open,\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 if (isRightClick) event.preventDefault();\n }),\n onFocusOutside: composeEventHandlers(\n props.onFocusOutside,\n (event) => event.preventDefault()\n )\n }\n );\n }, \"DialogContentModal\")\n);\nvar DialogContentNonModal = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function DialogContentNonModal2(props, forwardedRef) {\n const context = useDialogContext(CONTENT_NAME, props.__scopeDialog);\n const hasInteractedOutsideRef = React.useRef(false);\n const hasPointerDownOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n DialogContentImpl,\n {\n ...props,\n ref: forwardedRef,\n trapFocus: false,\n disableOutsidePointerEvents: false,\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented) {\n if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n hasPointerDownOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented) {\n hasInteractedOutsideRef.current = true;\n if (event.detail.originalEvent.type === \"pointerdown\") {\n hasPointerDownOutsideRef.current = true;\n }\n }\n const target = event.target;\n const targetIsTrigger = context.triggerRef.current?.contains(target);\n if (targetIsTrigger) event.preventDefault();\n if (event.detail.originalEvent.type === \"focusin\" && hasPointerDownOutsideRef.current) {\n event.preventDefault();\n }\n }\n }\n );\n }, \"DialogContentNonModal\")\n);\nvar DialogContentImpl = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function DialogContentImpl2(props, forwardedRef) {\n const { __scopeDialog, trapFocus, onOpenAutoFocus, onCloseAutoFocus, ...contentProps } = props;\n const context = useDialogContext(CONTENT_NAME, __scopeDialog);\n useFocusGuards();\n return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(\n FocusScope,\n {\n asChild: true,\n loop: true,\n trapped: trapFocus,\n onMountAutoFocus: onOpenAutoFocus,\n onUnmountAutoFocus: onCloseAutoFocus,\n children: /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n role: \"dialog\",\n id: context.contentId,\n \"aria-describedby\": context.descriptionPresent ? context.descriptionId : void 0,\n \"aria-labelledby\": context.titlePresent ? context.titleId : void 0,\n \"data-state\": getState(context.open),\n ...contentProps,\n ref: forwardedRef,\n deferPointerDownOutside: true,\n onDismiss: () => context.onOpenChange(false)\n }\n )\n }\n ) });\n }, \"DialogContentImpl\")\n);\nvar TITLE_NAME = \"DialogTitle\";\nvar DialogTitle = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function DialogTitle2(props, forwardedRef) {\n const { __scopeDialog, ...titleProps } = props;\n const context = useDialogContext(TITLE_NAME, __scopeDialog);\n const { setTitleCount } = context;\n useLayoutEffect(() => {\n setTitleCount((count) => count + 1);\n return () => setTitleCount((count) => count - 1);\n }, [setTitleCount]);\n return /* @__PURE__ */ jsx(Primitive.h2, { id: context.titleId, ...titleProps, ref: forwardedRef });\n }, \"DialogTitle\")\n);\nvar DESCRIPTION_NAME = \"DialogDescription\";\nvar DialogDescription = /* @__PURE__ */ React.forwardRef(\n // blank line to reduce diff noise\n /* @__PURE__ */ __name(function DialogDescription2(props, forwardedRef) {\n const { __scopeDialog, ...descriptionProps } = props;\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog);\n const { setDescriptionCount } = context;\n useLayoutEffect(() => {\n setDescriptionCount((count) => count + 1);\n return () => setDescriptionCount((count) => count - 1);\n }, [setDescriptionCount]);\n return /* @__PURE__ */ jsx(Primitive.p, { id: context.descriptionId, ...descriptionProps, ref: forwardedRef });\n }, \"DialogDescription\")\n);\nvar CLOSE_NAME = \"DialogClose\";\nvar DialogClose = /* @__PURE__ */ React.forwardRef(\n /* @__PURE__ */ __name(function DialogClose2(props, forwardedRef) {\n const { __scopeDialog, ...closeProps } = props;\n const context = useDialogContext(CLOSE_NAME, __scopeDialog);\n return /* @__PURE__ */ jsx(\n Primitive.button,\n {\n type: \"button\",\n ...closeProps,\n ref: forwardedRef,\n onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))\n }\n );\n }, \"DialogClose\")\n);\nvar WarningProvider = /* @__PURE__ */ __name((props) => {\n return props.children;\n}, \"WarningProvider\");\nfunction getState(open) {\n return open ? \"open\" : \"closed\";\n}\n__name(getState, \"getState\");\nexport {\n DialogClose as Close,\n DialogContent as Content,\n DialogDescription as Description,\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n DialogOverlay as Overlay,\n DialogPortal as Portal,\n Dialog as Root,\n DialogTitle as Title,\n DialogTrigger as Trigger,\n WarningProvider,\n createDialogScope\n};\n//# sourceMappingURL=index.mjs.map\n"],"x_google_ignoreList":[0],"mappings":"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"}