@tamagui/dialog 1.9.22 → 1.10.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.
- package/dist/cjs/Dialog.js +2 -4
- package/dist/cjs/Dialog.js.map +2 -2
- package/dist/esm/Dialog.js +3 -5
- package/dist/esm/Dialog.js.map +2 -2
- package/dist/esm/Dialog.mjs +3 -5
- package/dist/esm/Dialog.mjs.map +2 -2
- package/dist/jsx/Dialog.js +3 -5
- package/dist/jsx/Dialog.js.map +2 -2
- package/dist/jsx/Dialog.mjs +3 -5
- package/dist/jsx/Dialog.mjs.map +2 -2
- package/package.json +18 -18
- package/src/Dialog.tsx +3 -6
- package/types/Dialog.d.ts +53 -3
- package/types/Dialog.d.ts.map +1 -0
- package/types/index.d.ts.map +1 -0
package/dist/jsx/Dialog.mjs.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/Dialog.tsx"],
|
|
4
|
-
"sourcesContent": ["import { Adapt, useAdaptParent } from '@tamagui/adapt'\nimport { AnimatePresence } from '@tamagui/animate-presence'\nimport { hideOthers } from '@tamagui/aria-hidden'\nimport { useComposedRefs } from '@tamagui/compose-refs'\nimport {\n GetProps,\n TamaguiElement,\n Theme,\n composeEventHandlers,\n isWeb,\n spacedChildren,\n styled,\n useGet,\n useId,\n useMedia,\n useThemeName,\n withStaticProperties,\n} from '@tamagui/core'\nimport { Scope, createContext, createContextScope } from '@tamagui/create-context'\nimport { Dismissable, DismissableProps } from '@tamagui/dismissable'\nimport { FocusScope, FocusScopeProps } from '@tamagui/focus-scope'\nimport { PortalHost, PortalItem, PortalItemProps } from '@tamagui/portal'\nimport { RemoveScroll } from '@tamagui/remove-scroll'\nimport { ControlledSheet, SheetController } from '@tamagui/sheet'\nimport { ThemeableStack, YStack, YStackProps } from '@tamagui/stacks'\nimport { H2, Paragraph } from '@tamagui/text'\nimport { useControllableState } from '@tamagui/use-controllable-state'\nimport * as React from 'react'\n\nconst DIALOG_NAME = 'Dialog'\n\ntype ScopedProps<P> = P & { __scopeDialog?: Scope }\n\nconst [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME)\n\ntype RemoveScrollProps = React.ComponentProps<typeof RemoveScroll>\n\ninterface DialogProps {\n children?: React.ReactNode\n open?: boolean\n defaultOpen?: boolean\n onOpenChange?(open: boolean): void\n modal?: boolean\n\n /**\n * @see https://github.com/theKashey/react-remove-scroll#usage\n */\n allowPinchZoom?: RemoveScrollProps['allowPinchZoom']\n}\n\ntype NonNull<A> = Exclude<A, void | null>\n\ntype DialogContextValue = {\n triggerRef: React.RefObject<TamaguiElement>\n contentRef: React.RefObject<TamaguiElement>\n contentId: string\n titleId: string\n descriptionId: string\n onOpenToggle(): void\n open: NonNull<DialogProps['open']>\n onOpenChange: NonNull<DialogProps['onOpenChange']>\n modal: NonNull<DialogProps['modal']>\n allowPinchZoom: NonNull<DialogProps['allowPinchZoom']>\n sheetBreakpoint: any\n scopeKey: string\n}\n\nconst [DialogProvider, useDialogContext] =\n createDialogContext<DialogContextValue>(DIALOG_NAME)\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'DialogTrigger'\n\nconst DialogTriggerFrame = styled(YStack, {\n name: TRIGGER_NAME,\n})\n\ninterface DialogTriggerProps extends YStackProps {}\n\nconst DialogTrigger = React.forwardRef<TamaguiElement, 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 <DialogTriggerFrame\n tag=\"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 onPress={composeEventHandlers(props.onPress as any, 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>(\n PORTAL_NAME,\n {\n forceMount: undefined,\n }\n)\n\ntype DialogPortalProps = Omit<PortalItemProps, 'asChild'> &\n YStackProps & {\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\nexport const DialogPortalFrame = styled(YStack, {\n alignItems: 'center',\n justifyContent: 'center',\n fullscreen: true,\n zIndex: 100,\n ...(isWeb && {\n maxHeight: '100vh',\n position: 'fixed' as any,\n }),\n})\n\nconst DialogPortalItem = (props: ScopedProps<DialogPortalProps>) => {\n const themeName = useThemeName()\n const context = useDialogContext(PORTAL_NAME, props.__scopeDialog)\n\n return (\n <PortalItem hostName={props.hostName}>\n <DialogPortalItemContent {...props} themeName={themeName} context={context} />\n </PortalItem>\n )\n}\n\nfunction DialogPortalItemContent(\n props: ScopedProps<DialogPortalProps> & {\n themeName: string\n context: DialogContextValue\n }\n) {\n const {\n __scopeDialog,\n children,\n context,\n themeName,\n space,\n spaceDirection,\n separator,\n } = props\n\n let childrenSpaced = children\n\n if (space || separator) {\n childrenSpaced = spacedChildren({\n children,\n separator,\n space,\n direction: spaceDirection,\n })\n }\n\n // until we can use react-native portals natively\n // have to re-propogate context, sketch\n\n return (\n <DialogProvider scope={__scopeDialog} {...context}>\n <Theme name={themeName}>{childrenSpaced}</Theme>\n </DialogProvider>\n )\n}\n\nconst DialogPortal: React.FC<DialogPortalProps> = (\n props: ScopedProps<DialogPortalProps>\n) => {\n const { __scopeDialog, forceMount, children, ...frameProps } = props\n\n const context = useDialogContext(PORTAL_NAME, __scopeDialog)\n const isShowing = forceMount || context.open\n const [isFullyHidden, setIsFullyHidden] = React.useState(!isShowing)\n\n if (isShowing && isFullyHidden) {\n setIsFullyHidden(false)\n }\n\n const contents = (\n <AnimatePresence\n onExitComplete={() => {\n setIsFullyHidden(true)\n }}\n >\n {isShowing ? children : null}\n </AnimatePresence>\n )\n const isSheet = useShowDialogSheet(context)\n\n if (isSheet) {\n return children\n }\n\n if (context.modal) {\n if (isFullyHidden) {\n return null\n }\n\n return (\n <DialogPortalItem __scopeDialog={__scopeDialog}>\n <PortalProvider scope={__scopeDialog} forceMount={forceMount}>\n <DialogPortalFrame pointerEvents={isShowing ? 'auto' : 'none'} {...frameProps}>\n {contents}\n </DialogPortalFrame>\n </PortalProvider>\n </DialogPortalItem>\n )\n }\n\n return contents\n}\n\nDialogPortal.displayName = PORTAL_NAME\n\n/* -------------------------------------------------------------------------------------------------\n * DialogOverlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst OVERLAY_NAME = 'DialogOverlay'\n\n/**\n * exported for internal use with extractable()\n */\nexport const DialogOverlayFrame = styled(ThemeableStack, {\n name: OVERLAY_NAME,\n backgrounded: true,\n fullscreen: true,\n})\n\ninterface DialogOverlayProps extends YStackProps {\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 = DialogOverlayFrame.extractable(\n React.forwardRef<TamaguiElement, DialogOverlayProps>(\n ({ __scopeDialog, ...props }: ScopedProps<DialogOverlayProps>, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, __scopeDialog)\n const { forceMount = portalContext.forceMount, ...overlayProps } = props\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog)\n const showSheet = useShowDialogSheet(context)\n\n if (!forceMount) {\n if (!context.modal || showSheet) {\n return null\n }\n }\n\n return <DialogOverlayImpl context={context} {...overlayProps} ref={forwardedRef} />\n }\n ),\n \n)\nDialogOverlay.displayName = OVERLAY_NAME\n\ntype DialogOverlayImplProps = GetProps<typeof DialogOverlayFrame> & {\n context: DialogContextValue\n}\n\nconst DialogOverlayImpl = React.forwardRef<TamaguiElement, DialogOverlayImplProps>(\n (props, forwardedRef) => {\n const { context, ...overlayProps } = props\n\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 <DialogOverlayFrame\n data-state={getState(context.open)}\n // We re-enable pointer-events prevented by `Dialog.Content` to allow scrolling the overlay.\n pointerEvents={context.open ? 'auto' : 'none'}\n {...overlayProps}\n ref={forwardedRef}\n />\n )\n }\n)\n\n/* -------------------------------------------------------------------------------------------------\n * DialogContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'DialogContent'\n\nconst DialogContentFrame = styled(ThemeableStack, {\n name: CONTENT_NAME,\n tag: 'dialog',\n position: 'relative',\n backgrounded: true,\n padded: true,\n radiused: true,\n elevate: true,\n\n variants: {\n size: {\n '...size': (val, extras) => {\n return {}\n },\n },\n } as const,\n\n defaultVariants: {\n size: '$true',\n },\n})\n\ntype DialogContentFrameProps = GetProps<typeof DialogContentFrame>\n\ninterface DialogContentProps\n extends DialogContentFrameProps,\n Omit<DialogContentTypeProps, 'context'> {\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 = DialogContentFrame.extractable(\n React.forwardRef<TamaguiElement, DialogContentProps>(\n ({ __scopeDialog, ...props }: ScopedProps<DialogContentProps>, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, __scopeDialog)\n const { forceMount = portalContext.forceMount, ...contentProps } = props\n const context = useDialogContext(CONTENT_NAME, __scopeDialog)\n\n const contents = context.modal ? (\n <DialogContentModal context={context} {...contentProps} ref={forwardedRef} />\n ) : (\n <DialogContentNonModal context={context} {...contentProps} ref={forwardedRef} />\n )\n\n if (!isWeb) {\n return contents\n }\n\n return (\n <RemoveScroll\n forwardProps\n enabled={context.open}\n allowPinchZoom={context.allowPinchZoom}\n shards={[context.contentRef]}\n // causes lots of bugs on touch web on site\n removeScrollBar={false}\n >\n <div className=\"_dsp_contents\">{contents}</div>\n </RemoveScroll>\n )\n }\n )\n)\n\nDialogContent.displayName = CONTENT_NAME\n\n/* -----------------------------------------------------------------------------------------------*/\n\ninterface DialogContentTypeProps\n extends Omit<DialogContentImplProps, 'trapFocus' | 'disableOutsidePointerEvents'> {\n context: DialogContextValue\n}\n\nconst DialogContentModal = React.forwardRef<TamaguiElement, DialogContentTypeProps>(\n (\n { children, context, ...props }: ScopedProps<DialogContentTypeProps>,\n forwardedRef\n ) => {\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 if (isWeb) {\n React.useEffect(() => {\n if (!context.open) return\n const content = contentRef.current\n if (content) return hideOthers(content)\n }, [context.open])\n }\n\n return (\n <DialogContentImpl\n {...props}\n context={context}\n ref={composedRefs}\n disableOutsidePointerEvents\n onCloseAutoFocus={composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault()\n context.triggerRef.current?.focus()\n })}\n onPointerDownOutside={composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event['detail'].originalEvent\n const ctrlLeftClick =\n originalEvent.button === 0 && originalEvent.ctrlKey === true\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick\n // 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 )}\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 {children}\n </DialogContentImpl>\n )\n }\n)\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst DialogContentNonModal = React.forwardRef<TamaguiElement, DialogContentTypeProps>(\n (props: ScopedProps<DialogContentTypeProps>, forwardedRef) => {\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) {\n props.context.triggerRef.current?.focus()\n }\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 trigger = props.context.triggerRef.current\n if (!(trigger instanceof HTMLElement)) return\n const targetIsTrigger = trigger.contains(target)\n if (targetIsTrigger) event.preventDefault()\n }}\n />\n )\n }\n)\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentImplProps = DialogContentFrameProps &\n Omit<DismissableProps, '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 context: DialogContextValue\n }\n\nconst DialogContentImpl = React.forwardRef<TamaguiElement, DialogContentImplProps>(\n (props: ScopedProps<DialogContentImplProps>, forwardedRef) => {\n const {\n __scopeDialog,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n context,\n ...contentProps\n } = props\n\n const contentRef = React.useRef<HTMLDivElement>(null)\n const composedRefs = useComposedRefs(forwardedRef, contentRef)\n const showSheet = useShowDialogSheet(context)\n\n const contents = (\n <DialogContentFrame\n id={context.contentId}\n aria-describedby={context.descriptionId}\n aria-labelledby={context.titleId}\n data-state={getState(context.open)}\n {...contentProps}\n />\n )\n\n if (showSheet) {\n return (\n <DialogPortalItem hostName={getSheetContentsName(context)}>\n {contentProps.children}\n </DialogPortalItem>\n )\n }\n\n if (!isWeb) {\n return contents\n }\n\n return (\n <>\n <FocusScope\n loop\n trapped={trapFocus}\n onMountAutoFocus={onOpenAutoFocus}\n forceUnmount={!context.open}\n onUnmountAutoFocus={onCloseAutoFocus}\n >\n <Dismissable\n disableOutsidePointerEvents={context.open && disableOutsidePointerEvents}\n forceUnmount={!context.open}\n onEscapeKeyDown={onEscapeKeyDown}\n onPointerDownOutside={onPointerDownOutside}\n onFocusOutside={onFocusOutside}\n onInteractOutside={onInteractOutside}\n // @ts-ignore\n ref={composedRefs}\n onDismiss={() => context.onOpenChange(false)}\n >\n {contents}\n </Dismissable>\n </FocusScope>\n {process.env.NODE_ENV === 'development' && (\n <>\n <TitleWarning titleId={context.titleId} />\n <DescriptionWarning\n contentRef={contentRef}\n descriptionId={context.descriptionId}\n />\n </>\n )}\n </>\n )\n }\n)\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTitle\n * -----------------------------------------------------------------------------------------------*/\n\nconst TITLE_NAME = 'DialogTitle'\nconst DialogTitleFrame = styled(H2, {\n name: TITLE_NAME,\n})\n\ntype DialogTitleProps = GetProps<typeof DialogTitleFrame>\n\nconst DialogTitle = React.forwardRef<TamaguiElement, DialogTitleProps>(\n (props: ScopedProps<DialogTitleProps>, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props\n const context = useDialogContext(TITLE_NAME, __scopeDialog)\n return <DialogTitleFrame id={context.titleId} {...titleProps} ref={forwardedRef} />\n }\n)\n\nDialogTitle.displayName = TITLE_NAME\n\n/* -------------------------------------------------------------------------------------------------\n * DialogDescription\n * -----------------------------------------------------------------------------------------------*/\n\nconst DialogDescriptionFrame = styled(Paragraph, {\n name: 'DialogDescription',\n})\n\ntype DialogDescriptionProps = GetProps<typeof DialogDescriptionFrame>\n\nconst DESCRIPTION_NAME = 'DialogDescription'\n\nconst DialogDescription = React.forwardRef<TamaguiElement, DialogDescriptionProps>(\n (props: ScopedProps<DialogDescriptionProps>, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog)\n return (\n <DialogDescriptionFrame\n id={context.descriptionId}\n {...descriptionProps}\n ref={forwardedRef}\n />\n )\n }\n)\n\nDialogDescription.displayName = DESCRIPTION_NAME\n\n/* -------------------------------------------------------------------------------------------------\n * DialogClose\n * -----------------------------------------------------------------------------------------------*/\n\nconst CLOSE_NAME = 'DialogClose'\n\ntype DialogCloseProps = YStackProps & {\n displayWhenAdapted?: boolean\n}\n\nconst DialogClose = React.forwardRef<TamaguiElement, DialogCloseProps>(\n (props: ScopedProps<DialogCloseProps>, forwardedRef) => {\n const { __scopeDialog, displayWhenAdapted, ...closeProps } = props\n const context = useDialogContext(CLOSE_NAME, __scopeDialog, {\n warn: false,\n fallback: {},\n })\n const isSheet = useShowDialogSheet(context)\n\n if (isSheet && !displayWhenAdapted) {\n return null\n }\n\n return (\n <YStack\n tag=\"button\"\n accessibilityLabel=\"Dialog Close\"\n {...closeProps}\n ref={forwardedRef}\n onPress={composeEventHandlers(props.onPress as any, () =>\n context.onOpenChange(false)\n )}\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 [DialogWarningProvider, 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 if (process.env.NODE_ENV === 'development') {\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 (!isWeb) return\n if (titleId) {\n const hasTitle = document.getElementById(titleId)\n if (!hasTitle) {\n // eslint-disable-next-line no-console\n console.warn(MESSAGE)\n }\n }\n }, [MESSAGE, titleId])\n }\n\n return null\n}\n\nconst DESCRIPTION_WARNING_NAME = 'DialogDescriptionWarning'\n\ntype DescriptionWarningProps = {\n contentRef: React.RefObject<TamaguiElement>\n descriptionId?: string\n}\n\nconst DescriptionWarning: React.FC<DescriptionWarningProps> = ({\n contentRef,\n descriptionId,\n}) => {\n if (process.env.NODE_ENV === 'development') {\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 if (!isWeb) return\n const contentNode = contentRef.current\n if (!(contentNode instanceof HTMLElement)) {\n return\n }\n const describedById = contentNode.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) {\n // eslint-disable-next-line no-console\n console.warn(MESSAGE)\n }\n }\n }, [MESSAGE, contentRef, descriptionId])\n }\n\n return null\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Dialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst Dialog = withStaticProperties(\n React.forwardRef<{ open: (val: boolean) => void }, DialogProps>(function Dialog(\n props: ScopedProps<DialogProps>,\n ref\n ) {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n modal = true,\n allowPinchZoom = false,\n } = props\n\n const scopeId = useId()\n const contentId = useId()\n const titleId = useId()\n const descriptionId = useId()\n const scopeKey = __scopeDialog ? Object.keys(__scopeDialog)[0] : scopeId\n const sheetContentsName = getSheetContentsName({ scopeKey, contentId })\n const triggerRef = React.useRef<HTMLButtonElement>(null)\n const contentRef = React.useRef<TamaguiElement>(null)\n\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n })\n\n const onOpenToggle = React.useCallback(() => {\n setOpen((prevOpen) => !prevOpen)\n }, [setOpen])\n\n const context = {\n scope: __scopeDialog,\n scopeKey,\n triggerRef,\n contentRef,\n contentId,\n titleId,\n descriptionId,\n open,\n onOpenChange: setOpen,\n onOpenToggle,\n modal,\n allowPinchZoom,\n }\n\n const { when, AdaptProvider } = useAdaptParent({\n Contents: React.useCallback(\n (props) => {\n return <PortalHost forwardProps={props} name={sheetContentsName} />\n },\n [sheetContentsName]\n ),\n })\n\n React.useImperativeHandle(\n ref,\n () => ({\n open: setOpen,\n }),\n [setOpen]\n )\n\n return (\n <AdaptProvider>\n <DialogProvider {...context} sheetBreakpoint={when}>\n <DialogSheetController onOpenChange={setOpen} __scopeDialog={__scopeDialog}>\n {children}\n </DialogSheetController>\n </DialogProvider>\n </AdaptProvider>\n )\n }),\n {\n Trigger: DialogTrigger,\n Portal: DialogPortal,\n Overlay: DialogOverlay,\n Content: DialogContent,\n Title: DialogTitle,\n Description: DialogDescription,\n Close: DialogClose,\n Sheet: ControlledSheet,\n Adapt,\n }\n)\n\n/* -------------------------------------------------------------------------------------------------\n * DialogSheetContents\n * -----------------------------------------------------------------------------------------------*/\n\nconst SHEET_CONTENTS_NAME = 'DialogSheetContents'\n\nexport const DialogSheetContents = ({\n name,\n ...props\n}: {\n name: string\n context: Omit<DialogContextValue, 'sheetBreakpoint'>\n}) => {\n return <PortalHost forwardProps={props} name={name} />\n}\n\nDialogSheetContents.displayName = SHEET_CONTENTS_NAME\n\nconst getSheetContentsName = ({\n scopeKey,\n contentId,\n}: Pick<DialogContextValue, 'scopeKey' | 'contentId'>) =>\n `${scopeKey || contentId}SheetContents`\n\nconst DialogSheetController = (\n props: ScopedProps<{\n children: React.ReactNode\n onOpenChange: React.Dispatch<React.SetStateAction<boolean>>\n }>\n) => {\n const context = useDialogContext('DialogSheetController', props.__scopeDialog)\n const showSheet = useShowDialogSheet(context)\n const breakpointActive = useSheetBreakpointActive(context)\n const getShowSheet = useGet(showSheet)\n return (\n <SheetController\n onOpenChange={(val) => {\n if (getShowSheet()) {\n props.onOpenChange(val)\n }\n }}\n open={context.open}\n hidden={breakpointActive === false}\n >\n {props.children}\n </SheetController>\n )\n}\n\nconst useSheetBreakpointActive = (context: DialogContextValue) => {\n const media = useMedia()\n if (!context.sheetBreakpoint) return false\n if (context.sheetBreakpoint === true) return true\n return media[context.sheetBreakpoint]\n}\n\nconst useShowDialogSheet = (context: DialogContextValue) => {\n const breakpointActive = useSheetBreakpointActive(context)\n return context.open === false ? false : breakpointActive\n}\n\nexport {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n DialogWarningProvider,\n}\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import { Adapt, useAdaptParent } from '@tamagui/adapt'\nimport { AnimatePresence } from '@tamagui/animate-presence'\nimport { hideOthers } from '@tamagui/aria-hidden'\nimport { useComposedRefs } from '@tamagui/compose-refs'\nimport {\n GetProps,\n TamaguiElement,\n Theme,\n composeEventHandlers,\n isWeb,\n spacedChildren,\n styled,\n useGet,\n useId,\n useMedia,\n useThemeName,\n withStaticProperties,\n} from '@tamagui/core'\nimport { Scope, createContext, createContextScope } from '@tamagui/create-context'\nimport { Dismissable, DismissableProps } from '@tamagui/dismissable'\nimport { FocusScope, FocusScopeProps } from '@tamagui/focus-scope'\nimport { PortalHost, PortalItem, PortalItemProps } from '@tamagui/portal'\nimport { RemoveScroll } from '@tamagui/remove-scroll'\nimport { ControlledSheet, SheetController, SheetOverlayFrame } from '@tamagui/sheet'\nimport { ThemeableStack, YStack, YStackProps } from '@tamagui/stacks'\nimport { H2, Paragraph } from '@tamagui/text'\nimport { useControllableState } from '@tamagui/use-controllable-state'\nimport * as React from 'react'\n\nconst DIALOG_NAME = 'Dialog'\n\ntype ScopedProps<P> = P & { __scopeDialog?: Scope }\n\nconst [createDialogContext, createDialogScope] = createContextScope(DIALOG_NAME)\n\ntype RemoveScrollProps = React.ComponentProps<typeof RemoveScroll>\n\ninterface DialogProps {\n children?: React.ReactNode\n open?: boolean\n defaultOpen?: boolean\n onOpenChange?(open: boolean): void\n modal?: boolean\n\n /**\n * @see https://github.com/theKashey/react-remove-scroll#usage\n */\n allowPinchZoom?: RemoveScrollProps['allowPinchZoom']\n}\n\ntype NonNull<A> = Exclude<A, void | null>\n\ntype DialogContextValue = {\n triggerRef: React.RefObject<TamaguiElement>\n contentRef: React.RefObject<TamaguiElement>\n contentId: string\n titleId: string\n descriptionId: string\n onOpenToggle(): void\n open: NonNull<DialogProps['open']>\n onOpenChange: NonNull<DialogProps['onOpenChange']>\n modal: NonNull<DialogProps['modal']>\n allowPinchZoom: NonNull<DialogProps['allowPinchZoom']>\n sheetBreakpoint: any\n scopeKey: string\n}\n\nconst [DialogProvider, useDialogContext] =\n createDialogContext<DialogContextValue>(DIALOG_NAME)\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'DialogTrigger'\n\nconst DialogTriggerFrame = styled(YStack, {\n name: TRIGGER_NAME,\n})\n\ninterface DialogTriggerProps extends YStackProps {}\n\nconst DialogTrigger = React.forwardRef<TamaguiElement, 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 <DialogTriggerFrame\n tag=\"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 onPress={composeEventHandlers(props.onPress as any, 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>(\n PORTAL_NAME,\n {\n forceMount: undefined,\n }\n)\n\ntype DialogPortalProps = Omit<PortalItemProps, 'asChild'> &\n YStackProps & {\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\nexport const DialogPortalFrame = styled(YStack, {\n alignItems: 'center',\n justifyContent: 'center',\n fullscreen: true,\n zIndex: 100,\n ...(isWeb && {\n maxHeight: '100vh',\n position: 'fixed' as any,\n }),\n})\n\nconst DialogPortalItem = (props: ScopedProps<DialogPortalProps>) => {\n const themeName = useThemeName()\n const context = useDialogContext(PORTAL_NAME, props.__scopeDialog)\n\n return (\n <PortalItem hostName={props.hostName}>\n <DialogPortalItemContent {...props} themeName={themeName} context={context} />\n </PortalItem>\n )\n}\n\nfunction DialogPortalItemContent(\n props: ScopedProps<DialogPortalProps> & {\n themeName: string\n context: DialogContextValue\n }\n) {\n const {\n __scopeDialog,\n children,\n context,\n themeName,\n space,\n spaceDirection,\n separator,\n } = props\n\n let childrenSpaced = children\n\n if (space || separator) {\n childrenSpaced = spacedChildren({\n children,\n separator,\n space,\n direction: spaceDirection,\n })\n }\n\n // until we can use react-native portals natively\n // have to re-propogate context, sketch\n\n return (\n <DialogProvider scope={__scopeDialog} {...context}>\n <Theme name={themeName}>{childrenSpaced}</Theme>\n </DialogProvider>\n )\n}\n\nconst DialogPortal: React.FC<DialogPortalProps> = (\n props: ScopedProps<DialogPortalProps>\n) => {\n const { __scopeDialog, forceMount, children, ...frameProps } = props\n\n const context = useDialogContext(PORTAL_NAME, __scopeDialog)\n const isShowing = forceMount || context.open\n const [isFullyHidden, setIsFullyHidden] = React.useState(!isShowing)\n\n if (isShowing && isFullyHidden) {\n setIsFullyHidden(false)\n }\n\n const contents = (\n <AnimatePresence\n onExitComplete={() => {\n setIsFullyHidden(true)\n }}\n >\n {isShowing ? children : null}\n </AnimatePresence>\n )\n const isSheet = useShowDialogSheet(context)\n\n if (isSheet) {\n return children\n }\n\n if (context.modal) {\n if (isFullyHidden) {\n return null\n }\n\n return (\n <DialogPortalItem __scopeDialog={__scopeDialog}>\n <PortalProvider scope={__scopeDialog} forceMount={forceMount}>\n <DialogPortalFrame pointerEvents={isShowing ? 'auto' : 'none'} {...frameProps}>\n {contents}\n </DialogPortalFrame>\n </PortalProvider>\n </DialogPortalItem>\n )\n }\n\n return contents\n}\n\nDialogPortal.displayName = PORTAL_NAME\n\n/* -------------------------------------------------------------------------------------------------\n * DialogOverlay\n * -----------------------------------------------------------------------------------------------*/\n\nconst OVERLAY_NAME = 'DialogOverlay'\n\n/**\n * exported for internal use with extractable()\n */\nexport const DialogOverlayFrame = styled(SheetOverlayFrame, {\n name: OVERLAY_NAME,\n})\n\ninterface DialogOverlayProps extends YStackProps {\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 = DialogOverlayFrame.extractable(\n React.forwardRef<TamaguiElement, DialogOverlayProps>(\n ({ __scopeDialog, ...props }: ScopedProps<DialogOverlayProps>, forwardedRef) => {\n const portalContext = usePortalContext(OVERLAY_NAME, __scopeDialog)\n const { forceMount = portalContext.forceMount, ...overlayProps } = props\n const context = useDialogContext(OVERLAY_NAME, __scopeDialog)\n const showSheet = useShowDialogSheet(context)\n\n if (!forceMount) {\n if (!context.modal || showSheet) {\n return null\n }\n }\n\n return <DialogOverlayImpl context={context} {...overlayProps} ref={forwardedRef} />\n }\n )\n)\nDialogOverlay.displayName = OVERLAY_NAME\n\ntype DialogOverlayImplProps = GetProps<typeof DialogOverlayFrame> & {\n context: DialogContextValue\n}\n\nconst DialogOverlayImpl = React.forwardRef<TamaguiElement, DialogOverlayImplProps>(\n (props, forwardedRef) => {\n const { context, ...overlayProps } = props\n\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 <DialogOverlayFrame\n data-state={getState(context.open)}\n // We re-enable pointer-events prevented by `Dialog.Content` to allow scrolling the overlay.\n pointerEvents={context.open ? 'auto' : 'none'}\n {...overlayProps}\n ref={forwardedRef}\n />\n )\n }\n)\n\n/* -------------------------------------------------------------------------------------------------\n * DialogContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'DialogContent'\n\nconst DialogContentFrame = styled(ThemeableStack, {\n name: CONTENT_NAME,\n tag: 'dialog',\n position: 'relative',\n backgrounded: true,\n padded: true,\n radiused: true,\n elevate: true,\n\n variants: {\n size: {\n '...size': (val, extras) => {\n return {}\n },\n },\n } as const,\n\n defaultVariants: {\n size: '$true',\n },\n})\n\ntype DialogContentFrameProps = GetProps<typeof DialogContentFrame>\n\ninterface DialogContentProps\n extends DialogContentFrameProps,\n Omit<DialogContentTypeProps, 'context'> {\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 = DialogContentFrame.extractable(\n React.forwardRef<TamaguiElement, DialogContentProps>(\n ({ __scopeDialog, ...props }: ScopedProps<DialogContentProps>, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, __scopeDialog)\n const { forceMount = portalContext.forceMount, ...contentProps } = props\n const context = useDialogContext(CONTENT_NAME, __scopeDialog)\n\n const contents = context.modal ? (\n <DialogContentModal context={context} {...contentProps} ref={forwardedRef} />\n ) : (\n <DialogContentNonModal context={context} {...contentProps} ref={forwardedRef} />\n )\n\n if (!isWeb) {\n return contents\n }\n\n return (\n <RemoveScroll\n forwardProps\n enabled={context.open}\n allowPinchZoom={context.allowPinchZoom}\n shards={[context.contentRef]}\n // causes lots of bugs on touch web on site\n removeScrollBar={false}\n >\n <div className=\"_dsp_contents\">{contents}</div>\n </RemoveScroll>\n )\n }\n )\n)\n\nDialogContent.displayName = CONTENT_NAME\n\n/* -----------------------------------------------------------------------------------------------*/\n\ninterface DialogContentTypeProps\n extends Omit<DialogContentImplProps, 'trapFocus' | 'disableOutsidePointerEvents'> {\n context: DialogContextValue\n}\n\nconst DialogContentModal = React.forwardRef<TamaguiElement, DialogContentTypeProps>(\n (\n { children, context, ...props }: ScopedProps<DialogContentTypeProps>,\n forwardedRef\n ) => {\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 if (isWeb) {\n React.useEffect(() => {\n if (!context.open) return\n const content = contentRef.current\n if (content) return hideOthers(content)\n }, [context.open])\n }\n\n return (\n <DialogContentImpl\n {...props}\n context={context}\n ref={composedRefs}\n disableOutsidePointerEvents\n onCloseAutoFocus={composeEventHandlers(props.onCloseAutoFocus, (event) => {\n event.preventDefault()\n context.triggerRef.current?.focus()\n })}\n onPointerDownOutside={composeEventHandlers(\n props.onPointerDownOutside,\n (event) => {\n const originalEvent = event['detail'].originalEvent\n const ctrlLeftClick =\n originalEvent.button === 0 && originalEvent.ctrlKey === true\n const isRightClick = originalEvent.button === 2 || ctrlLeftClick\n // 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 )}\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 {children}\n </DialogContentImpl>\n )\n }\n)\n\n/* -----------------------------------------------------------------------------------------------*/\n\nconst DialogContentNonModal = React.forwardRef<TamaguiElement, DialogContentTypeProps>(\n (props: ScopedProps<DialogContentTypeProps>, forwardedRef) => {\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) {\n props.context.triggerRef.current?.focus()\n }\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 trigger = props.context.triggerRef.current\n if (!(trigger instanceof HTMLElement)) return\n const targetIsTrigger = trigger.contains(target)\n if (targetIsTrigger) event.preventDefault()\n }}\n />\n )\n }\n)\n\n/* -----------------------------------------------------------------------------------------------*/\n\ntype DialogContentImplProps = DialogContentFrameProps &\n Omit<DismissableProps, '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 context: DialogContextValue\n }\n\nconst DialogContentImpl = React.forwardRef<TamaguiElement, DialogContentImplProps>(\n (props: ScopedProps<DialogContentImplProps>, forwardedRef) => {\n const {\n __scopeDialog,\n trapFocus,\n onOpenAutoFocus,\n onCloseAutoFocus,\n disableOutsidePointerEvents,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n context,\n ...contentProps\n } = props\n\n const contentRef = React.useRef<HTMLDivElement>(null)\n const composedRefs = useComposedRefs(forwardedRef, contentRef)\n const showSheet = useShowDialogSheet(context)\n\n const contents = (\n <DialogContentFrame\n id={context.contentId}\n aria-describedby={context.descriptionId}\n aria-labelledby={context.titleId}\n data-state={getState(context.open)}\n {...contentProps}\n />\n )\n\n if (showSheet) {\n return (\n <DialogPortalItem hostName={getSheetContentsName(context)}>\n {contentProps.children}\n </DialogPortalItem>\n )\n }\n\n if (!isWeb) {\n return contents\n }\n\n return (\n <>\n <FocusScope\n loop\n trapped={trapFocus}\n onMountAutoFocus={onOpenAutoFocus}\n forceUnmount={!context.open}\n onUnmountAutoFocus={onCloseAutoFocus}\n >\n <Dismissable\n disableOutsidePointerEvents={context.open && disableOutsidePointerEvents}\n forceUnmount={!context.open}\n onEscapeKeyDown={onEscapeKeyDown}\n onPointerDownOutside={onPointerDownOutside}\n onFocusOutside={onFocusOutside}\n onInteractOutside={onInteractOutside}\n // @ts-ignore\n ref={composedRefs}\n onDismiss={() => context.onOpenChange(false)}\n >\n {contents}\n </Dismissable>\n </FocusScope>\n {process.env.NODE_ENV === 'development' && (\n <>\n <TitleWarning titleId={context.titleId} />\n <DescriptionWarning\n contentRef={contentRef}\n descriptionId={context.descriptionId}\n />\n </>\n )}\n </>\n )\n }\n)\n\n/* -------------------------------------------------------------------------------------------------\n * DialogTitle\n * -----------------------------------------------------------------------------------------------*/\n\nconst TITLE_NAME = 'DialogTitle'\nconst DialogTitleFrame = styled(H2, {\n name: TITLE_NAME,\n})\n\ntype DialogTitleProps = GetProps<typeof DialogTitleFrame>\n\nconst DialogTitle = React.forwardRef<TamaguiElement, DialogTitleProps>(\n (props: ScopedProps<DialogTitleProps>, forwardedRef) => {\n const { __scopeDialog, ...titleProps } = props\n const context = useDialogContext(TITLE_NAME, __scopeDialog)\n return <DialogTitleFrame id={context.titleId} {...titleProps} ref={forwardedRef} />\n }\n)\n\nDialogTitle.displayName = TITLE_NAME\n\n/* -------------------------------------------------------------------------------------------------\n * DialogDescription\n * -----------------------------------------------------------------------------------------------*/\n\nconst DialogDescriptionFrame = styled(Paragraph, {\n name: 'DialogDescription',\n})\n\ntype DialogDescriptionProps = GetProps<typeof DialogDescriptionFrame>\n\nconst DESCRIPTION_NAME = 'DialogDescription'\n\nconst DialogDescription = React.forwardRef<TamaguiElement, DialogDescriptionProps>(\n (props: ScopedProps<DialogDescriptionProps>, forwardedRef) => {\n const { __scopeDialog, ...descriptionProps } = props\n const context = useDialogContext(DESCRIPTION_NAME, __scopeDialog)\n return (\n <DialogDescriptionFrame\n id={context.descriptionId}\n {...descriptionProps}\n ref={forwardedRef}\n />\n )\n }\n)\n\nDialogDescription.displayName = DESCRIPTION_NAME\n\n/* -------------------------------------------------------------------------------------------------\n * DialogClose\n * -----------------------------------------------------------------------------------------------*/\n\nconst CLOSE_NAME = 'DialogClose'\n\ntype DialogCloseProps = YStackProps & {\n displayWhenAdapted?: boolean\n}\n\nconst DialogClose = React.forwardRef<TamaguiElement, DialogCloseProps>(\n (props: ScopedProps<DialogCloseProps>, forwardedRef) => {\n const { __scopeDialog, displayWhenAdapted, ...closeProps } = props\n const context = useDialogContext(CLOSE_NAME, __scopeDialog, {\n warn: false,\n fallback: {},\n })\n const isSheet = useShowDialogSheet(context)\n\n if (isSheet && !displayWhenAdapted) {\n return null\n }\n\n return (\n <YStack\n tag=\"button\"\n accessibilityLabel=\"Dialog Close\"\n {...closeProps}\n ref={forwardedRef}\n onPress={composeEventHandlers(props.onPress as any, () =>\n context.onOpenChange(false)\n )}\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 [DialogWarningProvider, 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 if (process.env.NODE_ENV === 'development') {\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 (!isWeb) return\n if (titleId) {\n const hasTitle = document.getElementById(titleId)\n if (!hasTitle) {\n // eslint-disable-next-line no-console\n console.warn(MESSAGE)\n }\n }\n }, [MESSAGE, titleId])\n }\n\n return null\n}\n\nconst DESCRIPTION_WARNING_NAME = 'DialogDescriptionWarning'\n\ntype DescriptionWarningProps = {\n contentRef: React.RefObject<TamaguiElement>\n descriptionId?: string\n}\n\nconst DescriptionWarning: React.FC<DescriptionWarningProps> = ({\n contentRef,\n descriptionId,\n}) => {\n if (process.env.NODE_ENV === 'development') {\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 if (!isWeb) return\n const contentNode = contentRef.current\n if (!(contentNode instanceof HTMLElement)) {\n return\n }\n const describedById = contentNode.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) {\n // eslint-disable-next-line no-console\n console.warn(MESSAGE)\n }\n }\n }, [MESSAGE, contentRef, descriptionId])\n }\n\n return null\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Dialog\n * -----------------------------------------------------------------------------------------------*/\n\nconst Dialog = withStaticProperties(\n React.forwardRef<{ open: (val: boolean) => void }, DialogProps>(function Dialog(\n props: ScopedProps<DialogProps>,\n ref\n ) {\n const {\n __scopeDialog,\n children,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n modal = true,\n allowPinchZoom = false,\n } = props\n\n const scopeId = useId()\n const contentId = useId()\n const titleId = useId()\n const descriptionId = useId()\n const scopeKey = __scopeDialog ? Object.keys(__scopeDialog)[0] : scopeId\n const sheetContentsName = getSheetContentsName({ scopeKey, contentId })\n const triggerRef = React.useRef<HTMLButtonElement>(null)\n const contentRef = React.useRef<TamaguiElement>(null)\n\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n })\n\n const onOpenToggle = React.useCallback(() => {\n setOpen((prevOpen) => !prevOpen)\n }, [setOpen])\n\n const context = {\n scope: __scopeDialog,\n scopeKey,\n triggerRef,\n contentRef,\n contentId,\n titleId,\n descriptionId,\n open,\n onOpenChange: setOpen,\n onOpenToggle,\n modal,\n allowPinchZoom,\n }\n\n const { when, AdaptProvider } = useAdaptParent({\n Contents: React.useCallback(\n (props) => {\n return <PortalHost forwardProps={props} name={sheetContentsName} />\n },\n [sheetContentsName]\n ),\n })\n\n React.useImperativeHandle(\n ref,\n () => ({\n open: setOpen,\n }),\n [setOpen]\n )\n\n return (\n <AdaptProvider>\n <DialogProvider {...context} sheetBreakpoint={when}>\n <DialogSheetController onOpenChange={setOpen} __scopeDialog={__scopeDialog}>\n {children}\n </DialogSheetController>\n </DialogProvider>\n </AdaptProvider>\n )\n }),\n {\n Trigger: DialogTrigger,\n Portal: DialogPortal,\n Overlay: DialogOverlay,\n Content: DialogContent,\n Title: DialogTitle,\n Description: DialogDescription,\n Close: DialogClose,\n Sheet: ControlledSheet,\n Adapt,\n }\n)\n\n/* -------------------------------------------------------------------------------------------------\n * DialogSheetContents\n * -----------------------------------------------------------------------------------------------*/\n\nconst SHEET_CONTENTS_NAME = 'DialogSheetContents'\n\nexport const DialogSheetContents = ({\n name,\n ...props\n}: {\n name: string\n context: Omit<DialogContextValue, 'sheetBreakpoint'>\n}) => {\n return <PortalHost forwardProps={props} name={name} />\n}\n\nDialogSheetContents.displayName = SHEET_CONTENTS_NAME\n\nconst getSheetContentsName = ({\n scopeKey,\n contentId,\n}: Pick<DialogContextValue, 'scopeKey' | 'contentId'>) =>\n `${scopeKey || contentId}SheetContents`\n\nconst DialogSheetController = (\n props: ScopedProps<{\n children: React.ReactNode\n onOpenChange: React.Dispatch<React.SetStateAction<boolean>>\n }>\n) => {\n const context = useDialogContext('DialogSheetController', props.__scopeDialog)\n const showSheet = useShowDialogSheet(context)\n const breakpointActive = useSheetBreakpointActive(context)\n const getShowSheet = useGet(showSheet)\n return (\n <SheetController\n onOpenChange={(val) => {\n if (getShowSheet()) {\n props.onOpenChange(val)\n }\n }}\n open={context.open}\n hidden={breakpointActive === false}\n >\n {props.children}\n </SheetController>\n )\n}\n\nconst useSheetBreakpointActive = (context: DialogContextValue) => {\n const media = useMedia()\n if (!context.sheetBreakpoint) return false\n if (context.sheetBreakpoint === true) return true\n return media[context.sheetBreakpoint]\n}\n\nconst useShowDialogSheet = (context: DialogContextValue) => {\n const breakpointActive = useSheetBreakpointActive(context)\n return context.open === false ? false : breakpointActive\n}\n\nexport {\n createDialogScope,\n //\n Dialog,\n DialogTrigger,\n DialogPortal,\n DialogOverlay,\n DialogContent,\n DialogTitle,\n DialogDescription,\n DialogClose,\n //\n DialogWarningProvider,\n}\nexport type {\n DialogProps,\n DialogTriggerProps,\n DialogPortalProps,\n DialogOverlayProps,\n DialogContentProps,\n DialogTitleProps,\n DialogDescriptionProps,\n DialogCloseProps,\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["Dialog", "props"]
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tamagui/dialog",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.10.1",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"types": "./types/index.d.ts",
|
|
6
6
|
"main": "dist/cjs",
|
|
@@ -31,29 +31,29 @@
|
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@tamagui/adapt": "1.
|
|
35
|
-
"@tamagui/animate-presence": "1.
|
|
36
|
-
"@tamagui/aria-hidden": "1.
|
|
37
|
-
"@tamagui/compose-refs": "1.
|
|
38
|
-
"@tamagui/core": "1.
|
|
39
|
-
"@tamagui/create-context": "1.
|
|
40
|
-
"@tamagui/dismissable": "1.
|
|
41
|
-
"@tamagui/focus-scope": "1.
|
|
42
|
-
"@tamagui/polyfill-dev": "1.
|
|
43
|
-
"@tamagui/popper": "1.
|
|
44
|
-
"@tamagui/portal": "1.
|
|
45
|
-
"@tamagui/remove-scroll": "1.
|
|
46
|
-
"@tamagui/sheet": "1.
|
|
47
|
-
"@tamagui/stacks": "1.
|
|
48
|
-
"@tamagui/text": "1.
|
|
49
|
-
"@tamagui/use-controllable-state": "1.
|
|
34
|
+
"@tamagui/adapt": "1.10.1",
|
|
35
|
+
"@tamagui/animate-presence": "1.10.1",
|
|
36
|
+
"@tamagui/aria-hidden": "1.10.1",
|
|
37
|
+
"@tamagui/compose-refs": "1.10.1",
|
|
38
|
+
"@tamagui/core": "1.10.1",
|
|
39
|
+
"@tamagui/create-context": "1.10.1",
|
|
40
|
+
"@tamagui/dismissable": "1.10.1",
|
|
41
|
+
"@tamagui/focus-scope": "1.10.1",
|
|
42
|
+
"@tamagui/polyfill-dev": "1.10.1",
|
|
43
|
+
"@tamagui/popper": "1.10.1",
|
|
44
|
+
"@tamagui/portal": "1.10.1",
|
|
45
|
+
"@tamagui/remove-scroll": "1.10.1",
|
|
46
|
+
"@tamagui/sheet": "1.10.1",
|
|
47
|
+
"@tamagui/stacks": "1.10.1",
|
|
48
|
+
"@tamagui/text": "1.10.1",
|
|
49
|
+
"@tamagui/use-controllable-state": "1.10.1"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
52
|
"react": "*",
|
|
53
53
|
"react-native": "*"
|
|
54
54
|
},
|
|
55
55
|
"devDependencies": {
|
|
56
|
-
"@tamagui/build": "1.
|
|
56
|
+
"@tamagui/build": "1.10.1",
|
|
57
57
|
"react": "^18.2.0",
|
|
58
58
|
"react-native": "^0.71.4"
|
|
59
59
|
},
|
package/src/Dialog.tsx
CHANGED
|
@@ -21,7 +21,7 @@ import { Dismissable, DismissableProps } from '@tamagui/dismissable'
|
|
|
21
21
|
import { FocusScope, FocusScopeProps } from '@tamagui/focus-scope'
|
|
22
22
|
import { PortalHost, PortalItem, PortalItemProps } from '@tamagui/portal'
|
|
23
23
|
import { RemoveScroll } from '@tamagui/remove-scroll'
|
|
24
|
-
import { ControlledSheet, SheetController } from '@tamagui/sheet'
|
|
24
|
+
import { ControlledSheet, SheetController, SheetOverlayFrame } from '@tamagui/sheet'
|
|
25
25
|
import { ThemeableStack, YStack, YStackProps } from '@tamagui/stacks'
|
|
26
26
|
import { H2, Paragraph } from '@tamagui/text'
|
|
27
27
|
import { useControllableState } from '@tamagui/use-controllable-state'
|
|
@@ -242,10 +242,8 @@ const OVERLAY_NAME = 'DialogOverlay'
|
|
|
242
242
|
/**
|
|
243
243
|
* exported for internal use with extractable()
|
|
244
244
|
*/
|
|
245
|
-
export const DialogOverlayFrame = styled(
|
|
245
|
+
export const DialogOverlayFrame = styled(SheetOverlayFrame, {
|
|
246
246
|
name: OVERLAY_NAME,
|
|
247
|
-
backgrounded: true,
|
|
248
|
-
fullscreen: true,
|
|
249
247
|
})
|
|
250
248
|
|
|
251
249
|
interface DialogOverlayProps extends YStackProps {
|
|
@@ -272,8 +270,7 @@ const DialogOverlay = DialogOverlayFrame.extractable(
|
|
|
272
270
|
|
|
273
271
|
return <DialogOverlayImpl context={context} {...overlayProps} ref={forwardedRef} />
|
|
274
272
|
}
|
|
275
|
-
)
|
|
276
|
-
|
|
273
|
+
)
|
|
277
274
|
)
|
|
278
275
|
DialogOverlay.displayName = OVERLAY_NAME
|
|
279
276
|
|
package/types/Dialog.d.ts
CHANGED
|
@@ -84,7 +84,7 @@ declare const DialogPortal: React.FC<DialogPortalProps>;
|
|
|
84
84
|
export declare const DialogOverlayFrame: import("@tamagui/core").TamaguiComponent<(Omit<import("react-native").ViewProps, "display" | "children" | "onLayout" | keyof import("react-native").GestureResponderHandlers> & import("@tamagui/core").ExtendBaseStackProps & import("@tamagui/core").TamaguiComponentPropsBase & import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase> & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase>> & import("@tamagui/core/types/reactNativeTypes").RNViewProps & Omit<{
|
|
85
85
|
readonly fullscreen?: boolean | undefined;
|
|
86
86
|
readonly elevation?: import("@tamagui/core").SizeTokens | undefined;
|
|
87
|
-
}
|
|
87
|
+
} & {
|
|
88
88
|
readonly backgrounded?: boolean | undefined;
|
|
89
89
|
readonly radiused?: boolean | undefined;
|
|
90
90
|
readonly hoverTheme?: boolean | undefined;
|
|
@@ -96,10 +96,12 @@ export declare const DialogOverlayFrame: import("@tamagui/core").TamaguiComponen
|
|
|
96
96
|
readonly bordered?: number | boolean | undefined;
|
|
97
97
|
readonly transparent?: boolean | undefined;
|
|
98
98
|
readonly chromeless?: boolean | "all" | undefined;
|
|
99
|
+
}, "closed"> & {
|
|
100
|
+
readonly closed?: boolean | undefined;
|
|
99
101
|
} & import("@tamagui/core").MediaProps<Partial<Omit<import("react-native").ViewProps, "display" | "children" | "onLayout" | keyof import("react-native").GestureResponderHandlers> & import("@tamagui/core").ExtendBaseStackProps & import("@tamagui/core").TamaguiComponentPropsBase & import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase> & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase>> & import("@tamagui/core/types/reactNativeTypes").RNViewProps & Omit<{
|
|
100
102
|
readonly fullscreen?: boolean | undefined;
|
|
101
103
|
readonly elevation?: import("@tamagui/core").SizeTokens | undefined;
|
|
102
|
-
}
|
|
104
|
+
} & {
|
|
103
105
|
readonly backgrounded?: boolean | undefined;
|
|
104
106
|
readonly radiused?: boolean | undefined;
|
|
105
107
|
readonly hoverTheme?: boolean | undefined;
|
|
@@ -111,10 +113,12 @@ export declare const DialogOverlayFrame: import("@tamagui/core").TamaguiComponen
|
|
|
111
113
|
readonly bordered?: number | boolean | undefined;
|
|
112
114
|
readonly transparent?: boolean | undefined;
|
|
113
115
|
readonly chromeless?: boolean | "all" | undefined;
|
|
116
|
+
}, "closed"> & {
|
|
117
|
+
readonly closed?: boolean | undefined;
|
|
114
118
|
}>> & import("@tamagui/core").PseudoProps<Partial<Omit<import("react-native").ViewProps, "display" | "children" | "onLayout" | keyof import("react-native").GestureResponderHandlers> & import("@tamagui/core").ExtendBaseStackProps & import("@tamagui/core").TamaguiComponentPropsBase & import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase> & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase>> & import("@tamagui/core/types/reactNativeTypes").RNViewProps & Omit<{
|
|
115
119
|
readonly fullscreen?: boolean | undefined;
|
|
116
120
|
readonly elevation?: import("@tamagui/core").SizeTokens | undefined;
|
|
117
|
-
}
|
|
121
|
+
} & {
|
|
118
122
|
readonly backgrounded?: boolean | undefined;
|
|
119
123
|
readonly radiused?: boolean | undefined;
|
|
120
124
|
readonly hoverTheme?: boolean | undefined;
|
|
@@ -126,6 +130,8 @@ export declare const DialogOverlayFrame: import("@tamagui/core").TamaguiComponen
|
|
|
126
130
|
readonly bordered?: number | boolean | undefined;
|
|
127
131
|
readonly transparent?: boolean | undefined;
|
|
128
132
|
readonly chromeless?: boolean | "all" | undefined;
|
|
133
|
+
}, "closed"> & {
|
|
134
|
+
readonly closed?: boolean | undefined;
|
|
129
135
|
}>>) | (Omit<import("react-native").ViewProps, "display" | "children" | "onLayout" | keyof import("react-native").GestureResponderHandlers> & import("@tamagui/core").ExtendBaseStackProps & import("@tamagui/core").TamaguiComponentPropsBase & import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase> & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase>> & import("@tamagui/core/types/reactNativeTypes").RNViewProps & Omit<{
|
|
130
136
|
readonly fullscreen?: boolean | undefined;
|
|
131
137
|
readonly elevation?: import("@tamagui/core").SizeTokens | undefined;
|
|
@@ -141,6 +147,8 @@ export declare const DialogOverlayFrame: import("@tamagui/core").TamaguiComponen
|
|
|
141
147
|
readonly bordered?: number | boolean | undefined;
|
|
142
148
|
readonly transparent?: boolean | undefined;
|
|
143
149
|
readonly chromeless?: boolean | "all" | undefined;
|
|
150
|
+
} & {
|
|
151
|
+
readonly closed?: boolean | undefined;
|
|
144
152
|
}, string | number> & {
|
|
145
153
|
[x: string]: undefined;
|
|
146
154
|
} & import("@tamagui/core").MediaProps<Partial<Omit<import("react-native").ViewProps, "display" | "children" | "onLayout" | keyof import("react-native").GestureResponderHandlers> & import("@tamagui/core").ExtendBaseStackProps & import("@tamagui/core").TamaguiComponentPropsBase & import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase> & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase>> & import("@tamagui/core/types/reactNativeTypes").RNViewProps & Omit<{
|
|
@@ -158,6 +166,8 @@ export declare const DialogOverlayFrame: import("@tamagui/core").TamaguiComponen
|
|
|
158
166
|
readonly bordered?: number | boolean | undefined;
|
|
159
167
|
readonly transparent?: boolean | undefined;
|
|
160
168
|
readonly chromeless?: boolean | "all" | undefined;
|
|
169
|
+
} & {
|
|
170
|
+
readonly closed?: boolean | undefined;
|
|
161
171
|
}, string | number> & {
|
|
162
172
|
[x: string]: undefined;
|
|
163
173
|
}>> & import("@tamagui/core").PseudoProps<Partial<Omit<import("react-native").ViewProps, "display" | "children" | "onLayout" | keyof import("react-native").GestureResponderHandlers> & import("@tamagui/core").ExtendBaseStackProps & import("@tamagui/core").TamaguiComponentPropsBase & import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase> & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase>> & import("@tamagui/core/types/reactNativeTypes").RNViewProps & Omit<{
|
|
@@ -175,6 +185,8 @@ export declare const DialogOverlayFrame: import("@tamagui/core").TamaguiComponen
|
|
|
175
185
|
readonly bordered?: number | boolean | undefined;
|
|
176
186
|
readonly transparent?: boolean | undefined;
|
|
177
187
|
readonly chromeless?: boolean | "all" | undefined;
|
|
188
|
+
} & {
|
|
189
|
+
readonly closed?: boolean | undefined;
|
|
178
190
|
}, string | number> & {
|
|
179
191
|
[x: string]: undefined;
|
|
180
192
|
}>>), TamaguiElement, Omit<import("react-native").ViewProps, "display" | "children" | "onLayout" | keyof import("react-native").GestureResponderHandlers> & import("@tamagui/core").ExtendBaseStackProps & import("@tamagui/core").TamaguiComponentPropsBase & import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase> & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase>> & import("@tamagui/core/types/reactNativeTypes").RNViewProps, {
|
|
@@ -192,6 +204,8 @@ export declare const DialogOverlayFrame: import("@tamagui/core").TamaguiComponen
|
|
|
192
204
|
readonly bordered?: number | boolean | undefined;
|
|
193
205
|
readonly transparent?: boolean | undefined;
|
|
194
206
|
readonly chromeless?: boolean | "all" | undefined;
|
|
207
|
+
} & {
|
|
208
|
+
readonly closed?: boolean | undefined;
|
|
195
209
|
} & ({} | {
|
|
196
210
|
[x: string]: undefined;
|
|
197
211
|
})>;
|
|
@@ -2693,16 +2707,52 @@ declare const Dialog: React.ForwardRefExoticComponent<DialogProps & React.RefAtt
|
|
|
2693
2707
|
Overlay: ({ __scopeSheet, ...props }: import("@tamagui/sheet/types/types").SheetScopedProps<Omit<import("react-native").ViewProps, "display" | "children" | "onLayout" | keyof import("react-native").GestureResponderHandlers> & import("@tamagui/core").ExtendBaseStackProps & import("@tamagui/core").TamaguiComponentPropsBase & import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase> & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase>> & import("@tamagui/core/types/reactNativeTypes").RNViewProps & Omit<{
|
|
2694
2708
|
readonly fullscreen?: boolean | undefined;
|
|
2695
2709
|
readonly elevation?: import("@tamagui/core").SizeTokens | undefined;
|
|
2710
|
+
} & {
|
|
2711
|
+
readonly backgrounded?: boolean | undefined;
|
|
2712
|
+
readonly radiused?: boolean | undefined;
|
|
2713
|
+
readonly hoverTheme?: boolean | undefined;
|
|
2714
|
+
readonly pressTheme?: boolean | undefined;
|
|
2715
|
+
readonly focusTheme?: boolean | undefined;
|
|
2716
|
+
readonly circular?: boolean | undefined;
|
|
2717
|
+
readonly padded?: boolean | undefined;
|
|
2718
|
+
readonly elevate?: boolean | undefined;
|
|
2719
|
+
readonly bordered?: number | boolean | undefined;
|
|
2720
|
+
readonly transparent?: boolean | undefined;
|
|
2721
|
+
readonly chromeless?: boolean | "all" | undefined;
|
|
2696
2722
|
}, "closed"> & {
|
|
2697
2723
|
readonly closed?: boolean | undefined;
|
|
2698
2724
|
} & import("@tamagui/core").MediaProps<Partial<Omit<import("react-native").ViewProps, "display" | "children" | "onLayout" | keyof import("react-native").GestureResponderHandlers> & import("@tamagui/core").ExtendBaseStackProps & import("@tamagui/core").TamaguiComponentPropsBase & import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase> & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase>> & import("@tamagui/core/types/reactNativeTypes").RNViewProps & Omit<{
|
|
2699
2725
|
readonly fullscreen?: boolean | undefined;
|
|
2700
2726
|
readonly elevation?: import("@tamagui/core").SizeTokens | undefined;
|
|
2727
|
+
} & {
|
|
2728
|
+
readonly backgrounded?: boolean | undefined;
|
|
2729
|
+
readonly radiused?: boolean | undefined;
|
|
2730
|
+
readonly hoverTheme?: boolean | undefined;
|
|
2731
|
+
readonly pressTheme?: boolean | undefined;
|
|
2732
|
+
readonly focusTheme?: boolean | undefined;
|
|
2733
|
+
readonly circular?: boolean | undefined;
|
|
2734
|
+
readonly padded?: boolean | undefined;
|
|
2735
|
+
readonly elevate?: boolean | undefined;
|
|
2736
|
+
readonly bordered?: number | boolean | undefined;
|
|
2737
|
+
readonly transparent?: boolean | undefined;
|
|
2738
|
+
readonly chromeless?: boolean | "all" | undefined;
|
|
2701
2739
|
}, "closed"> & {
|
|
2702
2740
|
readonly closed?: boolean | undefined;
|
|
2703
2741
|
}>> & import("@tamagui/core").PseudoProps<Partial<Omit<import("react-native").ViewProps, "display" | "children" | "onLayout" | keyof import("react-native").GestureResponderHandlers> & import("@tamagui/core").ExtendBaseStackProps & import("@tamagui/core").TamaguiComponentPropsBase & import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase> & import("@tamagui/core").WithShorthands<import("@tamagui/core").WithThemeValues<import("@tamagui/core").StackStylePropsBase>> & import("@tamagui/core/types/reactNativeTypes").RNViewProps & Omit<{
|
|
2704
2742
|
readonly fullscreen?: boolean | undefined;
|
|
2705
2743
|
readonly elevation?: import("@tamagui/core").SizeTokens | undefined;
|
|
2744
|
+
} & {
|
|
2745
|
+
readonly backgrounded?: boolean | undefined;
|
|
2746
|
+
readonly radiused?: boolean | undefined;
|
|
2747
|
+
readonly hoverTheme?: boolean | undefined;
|
|
2748
|
+
readonly pressTheme?: boolean | undefined;
|
|
2749
|
+
readonly focusTheme?: boolean | undefined;
|
|
2750
|
+
readonly circular?: boolean | undefined;
|
|
2751
|
+
readonly padded?: boolean | undefined;
|
|
2752
|
+
readonly elevate?: boolean | undefined;
|
|
2753
|
+
readonly bordered?: number | boolean | undefined;
|
|
2754
|
+
readonly transparent?: boolean | undefined;
|
|
2755
|
+
readonly chromeless?: boolean | "all" | undefined;
|
|
2706
2756
|
}, "closed"> & {
|
|
2707
2757
|
readonly closed?: boolean | undefined;
|
|
2708
2758
|
}>>>) => JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../src/Dialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA"}
|