UNPKG

react-modal-sheet

Version:

Flexible bottom sheet component for your React apps

1 lines 104 kB
{"version":3,"sources":["../src/context.tsx","../src/styles.ts","../src/constants.ts","../src/utils.ts","../src/SheetBackdrop.tsx","../src/SheetContainer.tsx","../src/hooks/use-drag-constraints.ts","../src/hooks/use-scroll-position.ts","../src/SheetContent.tsx","../src/SheetDragIndicator.tsx","../src/SheetHeader.tsx","../src/hooks/use-isomorphic-layout-effect.ts","../src/hooks/use-dimensions.ts","../src/hooks/use-safe-area-insets.ts","../src/hooks/use-modal-effect.ts","../src/hooks/use-prevent-scroll.ts","../src/hooks/use-stable-callback.ts","../src/hooks/use-sheet-state.ts","../src/hooks/use-virtual-keyboard.ts","../src/snap.ts","../src/sheet.tsx","../src/index.tsx"],"names":["styles","React","forwardRef","motion","useRef","element","isScrollable","useEffect","useState","useCallback","useTransform","Sheet"],"mappings":"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","file":"index.mjs","sourcesContent":["import { createContext, useContext } from 'react';\nimport { type SheetContextType } from './types';\n\nexport const SheetContext = createContext<SheetContextType | undefined>(\n undefined\n);\n\nexport function useSheetContext() {\n const context = useContext(SheetContext);\n if (!context) throw new Error('Sheet context error');\n return context;\n}\n","import type { CSSProperties } from 'react';\n\nexport const styles = {\n root: {\n base: {\n position: 'fixed',\n top: 0,\n bottom: 0,\n left: 0,\n right: 0,\n overflow: 'hidden',\n pointerEvents: 'none',\n },\n decorative: {},\n },\n backdrop: {\n base: {\n zIndex: 1,\n position: 'fixed',\n top: 0,\n left: 0,\n width: '100%',\n height: '100%',\n touchAction: 'none',\n userSelect: 'none',\n },\n decorative: {\n backgroundColor: 'rgba(0, 0, 0, 0.2)',\n border: 'none',\n WebkitTapHighlightColor: 'transparent',\n },\n },\n container: {\n base: {\n zIndex: 2,\n position: 'absolute',\n left: 0,\n bottom: 0,\n width: '100%',\n pointerEvents: 'auto',\n display: 'flex',\n flexDirection: 'column',\n },\n decorative: {\n backgroundColor: '#fff',\n borderTopRightRadius: '8px',\n borderTopLeftRadius: '8px',\n boxShadow: '0px -2px 16px rgba(0, 0, 0, 0.3)',\n },\n },\n headerWrapper: {\n base: {\n width: '100%',\n },\n decorative: {},\n },\n header: {\n base: {\n width: '100%',\n position: 'relative',\n },\n decorative: {\n height: '40px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n },\n indicatorWrapper: {\n base: {\n display: 'flex',\n },\n decorative: {},\n },\n indicator: {\n base: {\n display: 'inline-block',\n },\n decorative: {\n width: '18px',\n height: '4px',\n borderRadius: '99px',\n backgroundColor: '#ddd',\n },\n },\n content: {\n base: {\n minHeight: '0px',\n position: 'relative',\n flexGrow: 1,\n display: 'flex',\n flexDirection: 'column',\n },\n decorative: {},\n },\n scroller: {\n base: {\n height: '100%',\n overflowY: 'auto',\n overscrollBehaviorY: 'none',\n },\n decorative: {},\n },\n} satisfies Record<\n string,\n {\n base: CSSProperties;\n decorative: CSSProperties;\n }\n>;\n","import type { SheetTweenConfig } from './types';\n\nexport const DEFAULT_HEIGHT = 'calc(100% - env(safe-area-inset-top) - 34px)';\n\nexport const IS_SSR = typeof window === 'undefined';\n\nexport const DEFAULT_TWEEN_CONFIG: SheetTweenConfig = {\n ease: 'easeOut',\n duration: 0.2,\n};\n\nexport const REDUCED_MOTION_TWEEN_CONFIG: SheetTweenConfig = {\n ease: 'linear',\n duration: 0.01,\n};\n\nexport const DEFAULT_DRAG_CLOSE_THRESHOLD = 0.6;\n\nexport const DEFAULT_DRAG_VELOCITY_THRESHOLD = 500;\n","import { type CSSProperties, type ForwardedRef, type RefCallback } from 'react';\nimport { IS_SSR } from './constants';\n\nexport function applyStyles(\n styles: { base: CSSProperties; decorative: CSSProperties },\n unstyled: boolean\n) {\n return unstyled ? styles.base : { ...styles.base, ...styles.decorative };\n}\n\nexport function isAscendingOrder(arr: number[]) {\n for (let i = 0; i < arr.length; i++) {\n if (arr[i + 1] < arr[i]) return false;\n }\n return true;\n}\n\nexport function mergeRefs<T = any>(refs: ForwardedRef<T>[]): RefCallback<T> {\n return (value: any) => {\n refs.forEach((ref: any) => {\n if (typeof ref === 'function') {\n ref(value);\n } else if (ref) {\n ref.current = value;\n }\n });\n };\n}\n\nexport function isTouchDevice() {\n if (IS_SSR) return false;\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0;\n}\n\nfunction testPlatform(re: RegExp) {\n return typeof window !== 'undefined' && window.navigator != null\n ? re.test(\n // @ts-expect-error\n window.navigator.userAgentData?.platform || window.navigator.platform\n )\n : false;\n}\n\nfunction cached(fn: () => boolean) {\n let res: boolean | null = null;\n return () => {\n if (res == null) {\n res = fn();\n }\n return res;\n };\n}\n\nconst isMac = cached(function () {\n return testPlatform(/^Mac/i);\n});\n\nconst isIPhone = cached(function () {\n return testPlatform(/^iPhone/i);\n});\n\nconst isIPad = cached(function () {\n // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n return testPlatform(/^iPad/i) || (isMac() && navigator.maxTouchPoints > 1);\n});\n\nexport const isIOS = cached(function () {\n return isIPhone() || isIPad();\n});\n\n/** Wait for an element to be rendered and visible */\nexport function waitForElement(\n className: string,\n interval = 50,\n maxAttempts = 20\n) {\n return new Promise<HTMLElement | null>((resolve) => {\n let attempts = 0;\n const timer = setInterval(() => {\n const element = document.getElementsByClassName(\n className\n )[0] as HTMLElement;\n attempts++;\n if (element || attempts >= maxAttempts) {\n clearInterval(timer);\n resolve(element);\n }\n }, interval);\n });\n}\n","import { type MotionStyle, motion } from 'motion/react';\nimport React, { forwardRef } from 'react';\n\nimport { useSheetContext } from './context';\nimport { styles } from './styles';\nimport { type SheetBackdropProps } from './types';\nimport { applyStyles } from './utils';\n\nconst isClickable = (props: any) => !!props.onClick || !!props.onTap;\n\nexport const SheetBackdrop = forwardRef<any, SheetBackdropProps>(\n ({ style, className = '', unstyled, ...rest }, ref) => {\n const sheetContext = useSheetContext();\n const clickable = isClickable(rest);\n const Comp = clickable ? motion.button : motion.div;\n const pointerEvents = clickable ? 'auto' : 'none';\n\n const isUnstyled = unstyled ?? sheetContext.unstyled;\n\n const backdropStyle: MotionStyle = {\n ...applyStyles(styles.backdrop, isUnstyled),\n ...style,\n pointerEvents,\n };\n\n return (\n <Comp\n {...(rest as any)}\n ref={ref}\n className={`react-modal-sheet-backdrop ${className}`}\n style={backdropStyle}\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 1 }}\n />\n );\n }\n);\n\nSheetBackdrop.displayName = 'SheetBackdrop';\n","import { type MotionStyle, motion } from 'motion/react';\nimport React, { forwardRef } from 'react';\n\nimport { DEFAULT_HEIGHT } from './constants';\nimport { useSheetContext } from './context';\nimport { styles } from './styles';\nimport { type SheetContainerProps } from './types';\nimport { applyStyles, mergeRefs } from './utils';\n\nexport const SheetContainer = forwardRef<any, SheetContainerProps>(\n ({ children, style, className = '', unstyled, ...rest }, ref) => {\n const sheetContext = useSheetContext();\n\n const isUnstyled = unstyled ?? sheetContext.unstyled;\n\n const containerStyle: MotionStyle = {\n ...applyStyles(styles.container, isUnstyled),\n ...style,\n y: sheetContext.y,\n };\n\n if (sheetContext.detent === 'default') {\n containerStyle.height = DEFAULT_HEIGHT;\n }\n\n if (sheetContext.detent === 'full') {\n containerStyle.height = '100%';\n containerStyle.maxHeight = '100%';\n }\n\n if (sheetContext.detent === 'content') {\n containerStyle.height = 'auto';\n containerStyle.maxHeight = DEFAULT_HEIGHT;\n }\n\n return (\n <motion.div\n {...rest}\n ref={mergeRefs([\n ref,\n sheetContext.sheetRef,\n sheetContext.sheetBoundsRef,\n ])}\n className={`react-modal-sheet-container ${className}`}\n style={containerStyle}\n >\n {children}\n </motion.div>\n );\n }\n);\n\nSheetContainer.displayName = 'SheetContainer';\n","import { useCallback, useRef } from 'react';\n\nimport { type BoundingBox } from 'motion/react';\n\n// This is a hacky way to fix a bug in motion/react where the drag\n// constraints are not updated when window is resized.\n// https://github.com/framer/motion/issues/1659\nconst constraints: BoundingBox = { bottom: 0, top: 0, left: 0, right: 0 };\n\nexport function useDragConstraints() {\n const ref = useRef<any>(null);\n const onMeasure = useCallback(() => constraints, []);\n return { ref, onMeasure };\n}\n","import { useEffect, useRef, useState } from 'react';\n\nexport function useScrollPosition() {\n const ref = useRef<HTMLDivElement>(null);\n const [scrollPosition, setScrollPosition] = useState<\n 'top' | 'bottom' | 'middle' | undefined\n >(undefined);\n\n useEffect(() => {\n const element = ref.current;\n if (!element) return;\n\n let scrollTimeout: number | null = null;\n\n function determineScrollPosition(element: HTMLDivElement) {\n const { scrollTop, scrollHeight, clientHeight } = element;\n const isScrollable = scrollHeight > clientHeight;\n\n if (!isScrollable) {\n // Reset scroll p