@ctlyst.id/voila-ui 12.0.0-beta.2 → 12.0.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["vanilla-extract-css-ns:src/components/bottom-sheet/bottom-sheet.css.ts.vanilla.css?source=#H4sIAAAAAAAAA+1Y627bNhT+76cgAhSxOjOQ2thNVWTYY2wo8uNIpCTONCmQlONkyLsPJCVbsijXWS4dhgFJ4PByrt/5zjG/EzCAlc40ziBfEyXrO/TXDKFHzAShuxRtQc0xzrS4Wcdf/oy+zRCSW6p0riTnOKMVbJlUKRJSULtpZJNXGHLDpDis1lIzv1KwHSV2SbGyMimK7edMGiM37T+cFt16o6nCmnKam4MsfE+zNTPYQI0rVlbcCsK55NYMo0DoGhQVZnDWWZUD57IxfWPrzgLI16WSjSCdJFVmMI8XqP25una+3zPOcV6BKGmKZA05Mw92PW+UtrdqyYShyoXJ76Yo+TZ7mn0/RDqXwlBhfKBtMAsu71NUMUKoODpbSGmo8kcLTndYV4qJdWt1p1VorKhmjz7WQAgTJc64zNfDBF7TqH+CCc4EPTrCIp8RqwqINSxGOKl3KPYhuV4tll8Xq9UiB57P/dW+W7j1O0IfUXyVfFpGEVqgGH1yInrns3KPpmEATqNv716LGWdGsqp36BdExXauoaAYFAXMhKamPRdFR4GtoAvu7WUBXNPLOzSVo2OVJ9QEtFQUyIQWvzVU4jDpnLqZ9MnIeuxQT9Z7IiVYo+ck8IWOphktpKLO3zZbKbq4GLINZFryxjibCNM1h4cUOXd9MRNTDW1ceb8r6tlpsJVEe844z+yOy5bxB3fTclMh1aalKQ6G/j7Hy/hDFKagvvYyHAZcgSCc4gzU7YVD2MUgMnunfWYGEpj2mWeiDKLTViaHBw+pI0JY1ju0ig+s8PlmcfN1kSTLRXyVJL7i+6zR34+Xx74wjQnTG6Y1ZJwGjRm2pwCczxGYbsDkFdXz3lFtwNDbS1lTwUR5eTfeyrnUbitCIQEtHvv3XHO8G9N4hH5FHz3td83hBIG+k0+TQQ7Z2J0410ijGpvIf1PcWpNe1e1BqexrztLwsLKHNU1c3TuyJkzRdmbKJW82YsxCfUW4iqYY5TOxU0vgyv4EfogWKB6PM16dXd7ADgfI8fox+hG5/3dmw0wqy68KCGt0ityE4f7E/ncCAWkh80Z7IDXGd80A9yopzV0KhaEq1MH+TwDqRmlMt1QY3UvMyWrqaiapd4MKwVKxkom0deeoenQO3FZOMqgcEIaVUGO366omGVfNXspRhlsyG89jyb7oS2W7afLDuCm6pepUyMYHBsmBxki3udHDDbyRFkvMMOCjlHa3DgN6f2WEMYtgYKJvRHezjQUTZeoh2BsDgzPlYESMT8zUYy7vh30gZqQmlK0zq3eiFZ9osy9rNx54r2hC97XyGW311W3ovrD8TBs6tLyTDfuB7OfBIWjCO8MhaMM7wyFow9vA4TUGzn+k5m3SOtbzNqmb5vaX6enxASWXbacIzhpT1zxuzr3nG6XtWl0/ejh8wx21qTj0xnXcAgMyd2GZvXmtWzrMds9uq8/x4mmmKOQVrqUywNtojQbN3gvsxJjZH0WnB9+n2W8bShig+YYJ+yZgn32cqk+krneR03/6EenkA42fEP+Yx1dflm5EeZo9/Q2E2gSMPRcAAA==","../src/components/bottom-sheet/bottom-sheet.css.ts","../src/components/bottom-sheet/index.tsx","../src/components/bottom-sheet/bottom-sheet.header.tsx","../src/components/bottom-sheet/hooks/use-aria-hider.ts","../src/components/bottom-sheet/hooks/use-focus-trap.ts","../src/components/bottom-sheet/hooks/use-layout-effect.ts","../src/components/bottom-sheet/hooks/use-ready.ts","../src/components/bottom-sheet/hooks/use-reduced-motion.ts","../src/components/bottom-sheet/hooks/use-scroll-lock.ts","../src/components/bottom-sheet/utils.ts","../src/components/bottom-sheet/hooks/use-snap-points.ts","../src/components/bottom-sheet/hooks/use-spring.ts","../src/components/bottom-sheet/hooks/use-spring-interpolations.ts","../src/components/bottom-sheet/machines/overlay.ts","../src/components/bottom-sheet/bottom-sheet.tsx","../src/components/tabs/tab-item.css.ts","../src/components/tabs/tabs.tsx","../src/components/tabs/tabs.css.ts","../src/components/tabs/tab-item.tsx","../src/provider/radix-provider.tsx","../src/provider/provider.tsx"],"names":["init_Q2E2gSMPRcAAA","__esmMin","require_bottom_sheet_css","__commonJSMin","init_BWcrN6QVHQAA","init_HlISKQNg8fv6hpIzV4jU6qjjn4BD0cQNsi0CAfX_Tf3Y0xJepAwPaeGYSxcxzv3uWQ879O3xi8MUO4BAAA","init_utilityClasses_css_ts_vanilla","$t","BottomSheetHeader","forwardRef","header","onBack","onClose","showBack","showClose","title","bind","hasHandleBar","style","ref","createElement","box_default","jsxs","flex_default","jsx","ChevronLeftLarge","theme","text_default","close_button_default","bottom_sheet_header_default","useAriaHider","targetRef","enabled","useRef","useDebugValue","useEffect","target","active","originalValues","rootNodes","parentNode","node","attr","index","originalValue","useFocusTrap","fallbackRef","initialFocusRef","fallback","trap","createFocusTrap","resolve","useLayoutEffect","useLayoutEffectSafely","useReady","ready","setReady","useState","readyMap","updateReadyMap","registerReady","useCallback","key","prevState","states","isReady","useReducedMotion","mql","useMemo","handler","event","useScrollLock","reserveScrollBarGap","disableBodyScroll","el","enableBodyScroll","clamp","number","lower","upper","roundAndCheckForNaN","unrounded","rounded","processSnapPoints","unsafeSnaps","maxHeight","snapPointsDedupedSet","acc","snapPoint","snapPoints","minSnap","maxSnap","debugging","observerOptions","useElementSizeObserver","label","resizeSourceRef","size","setSize","handleResize","entries","resizeObserver","ResizeObserver","useMaxHeight","controlledMaxHeight","defaultMaxHeight","setMaxHeight","raf","useDimensions","contentRef","footerEnabled","footerRef","headerEnabled","headerRef","conditions","headerHeight","contentHeight","footerHeight","defaultContentPadding","defaultHeaderPadding","defaultCustomHeaderPadding","minHeight","useSnapPoints","getSnapPoints","heightRef","lastSnapRef","findSnap","numberOrCallback","unsafeSearch","querySnap","prev","curr","useSpring","useReactSpring","useSpringInterpolations","spring","interpolateBorderRadius","to","y","interpolateHeight","interpolateY","interpolateFiller","interpolateContentOpacity","minX","maxX","minY","slope","res","interpolateBackdrop","sleep","ms","cancelOpen","openToDrag","openToResize","initiallyOpen","initialState","initiallyClosed","overlayMachine","Machine","assign","_","velocity","source","context","tension","friction","config","publicStates","defaultSnap","lastSnap","defaultSnapPoints","BottomSheet","children","sibling","className","footer","_open","getDefaultSnap","blocking","scrollLocking","onSpringStart","onSpringCancel","onSpringEnd","expandOnContentDrag","onCloseWhenClickOutside","dataTestId","padding","styles","refs","props","canDragRef","onSpringStartRef","onSpringCancelRef","onSpringEndRef","set","containerRef","bodyRef","overlayRef","useImperativeHandle","preventScrollingRef","prefersReducedMotion","x","defaultPxCondition","defaultPyCondition","scrollLockRef","ariaHiderRef","focusTrapRef","maxHeightRef","minSnapRef","maxSnapRef","findSnapRef","defaultSnapRef","asyncSet","onRest","rest","opts","args","current","send","useMachine","_a","snap","elem","preventScrolling","e","preventSafariOverscroll","useDrag","closeOnTap","isContentDragging","cancel","direction","down","first","last","memo","_my","tap","my","rawY","predictedDistance","predictedY","newY","rubberbandIfOutOfBounds","interpolations","animated","skipInitialTransition","mounted","setMounted","timerRef","initialStateRef","handleSpringStart","handleSpringEnd","Portal","tabItemRecipe","_7a468","tabsRecipe","TabsContext","createContext","Tabs","as","withShadow","defaultIndex","align","onChange","Component","activeTabs","setActiveTabs","tabsChild","Children","child","idx","cloneElement","tabsContextValue","val","clsx","tabs_default","TabItem","setIndex","useContext","handleClick","isActive","tab_item_default","RadixProvider","TooltipProvider","toaster_default","radix_provider_default","Provider","withScrollStyles","scrollbarStyle","provider_default"],"mappings":"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","file":"index.js","sourcesContent":["[data-rsbs-backdrop] {\n z-index: var(--bsn8k07j);\n overscroll-behavior: none;\n touch-action: none;\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n top: 0;\n background-color: rgba(0, 0, 0, 0.4);\n will-change: opacity;\n cursor: pointer;\n opacity: 1;\n}\n[data-rsbs-content] {\n overflow: hidden;\n}\n[data-rsbs-footer] {\n flex-shrink: 0;\n cursor: ns-resize;\n padding-block: var(--bsn8k04e);\n padding-inline: var(--bsn8k04i);\n box-shadow: 0 -1px 0 rgba(46,59,66,calc(var(--rsbs-content-opacity) * 0.125)) , 0 2px 0 var(--rsbs-bg);\n overflow: hidden;\n z-index: var(--bsn8k07j);\n padding-bottom: calc(16px + env(safe-area-inset-bottom));\n}\n[data-rsbs-has-footer='false'] [data-rsbs-content] {\n padding-bottom: env(safe-area-inset-bottom);\n}\n[data-rsbs-has-header='false'] [data-rsbs-header] {\n padding-top: calc(8px + env(safe-area-inset-top));\n}\n[data-rsbs-header] {\n flex-shrink: 0;\n cursor: ns-resize;\n padding-block: var(--bsn8k04e);\n padding-inline: var(--bsn8k04i);\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n z-index: var(--bsn8k07j);\n padding-top: calc(8px + env(safe-area-inset-top));\n}\n[data-rsbs-header]:before {\n content: \"\";\n position: absolute;\n display: block;\n width: var(--bsn8k06e);\n height: var(--bsn8k061);\n top: calc(8px + env(safe-area-inset-top));\n left: 50%;\n transform: translateX(-50%);\n background-color: var(--bsn8k0g);\n}\n[data-rsbs-header-handle-bar=\"false\"]:before {\n display: none;\n}\n[data-rsbs-is-blocking='false'] [data-rsbs-overlay] {\n box-shadow: 0 -5px 60px 0 rgba(38,89,115,0.11) , 0 -1px 0 rgba(38,89,115,0.05);\n}\n[data-rsbs-is-dismissable='false'] [data-rsbs-backdrop] {\n cursor: ns-resize;\n}\n[data-rsbs-is-dismissable='false']:matches([data-rsbs-state='opening'][data-rsbs-state='closing']) :matches([data-rsbs-header][data-rsbs-scroll][data-rsbs-footer]) > * {\n opacity: var(--rsbs-content-opacity);\n}\n[data-rsbs-is-dismissable='false']:matches([data-rsbs-state='opening'][data-rsbs-state='closing']) [data-rsbs-backdrop] {\n opacity: var(--rsbs-backdrop-opacity);\n}\n[data-rsbs-is-dismissable='true'] :matches([data-rsbs-header][data-rsbs-scroll][data-rsbs-footer]) > * {\n opacity: var(--rsbs-content-opacity);\n}\n[data-rsbs-is-dismissable='true'] [data-rsbs-backdrop] {\n opacity: var(--rsbs-backdrop-opacity);\n}\n[data-rsbs-overlay] {\n display: flex;\n background: var(--bsn8k0d);\n flex-direction: column;\n height: var(--rsbs-overlay-h);\n transform: translate3d(0, var(--rsbs-overlay-translate-y), 0);\n will-change: height;\n max-width: var(--bsn8k04z);\n z-index: var(--bsn8k07j);\n overscroll-behavior: none;\n touch-action: none;\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n border-radius: 16px 16px 0px 0px;\n}\n[data-rsbs-overlay]:focus {\n outline: none;\n}\n[data-rsbs-root]:after {\n content: \"\";\n max-width: var(--bsn8k04z);\n z-index: var(--bsn8k07j);\n overscroll-behavior: none;\n touch-action: none;\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n pointer-events: none;\n background: var(--bsn8k0d);\n height: 1px;\n transform-origin: bottom;\n transform: scale3d(1, var(--rsbs-antigap-scale-y), 1);\n will-change: transform;\n}\n[data-rsbs-scroll] {\n flex-shrink: 1;\n flex-grow: 1;\n -webkit-tap-highlight-color: revert;\n -webkit-touch-callout: revert;\n -webkit-user-select: auto;\n -moz-user-select: auto;\n user-select: auto;\n overflow: auto;\n overscroll-behavior: contain;\n -webkit-overflow-scrolling: touch;\n padding: var(--bsn8k04i);\n padding-top: 0;\n}\n[data-rsbs-has-header='true'] [data-rsbs-scroll] {\n padding-top: var(--bsn8k04i);\n}\n[data-rsbs-scroll]:focus {\n outline: none;\n}\n[data-rsbs-is-dismissable='false'][data-rsbs-state='closing'] [data-rsbs-backdrop] {\n opacity: var(--rsbs-backdrop-opacity, 1);\n}\n[data-rsbs-is-dismissable='false'][data-rsbs-state='closing'] [data-rsbs-footer] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-is-dismissable='false'][data-rsbs-state='closing'] [data-rsbs-header] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-is-dismissable='false'][data-rsbs-state='closing'] [data-rsbs-scroll] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-is-dismissable='false'][data-rsbs-state='opening'] [data-rsbs-backdrop] {\n opacity: var(--rsbs-backdrop-opacity, 1);\n}\n[data-rsbs-is-dismissable='false'][data-rsbs-state='opening'] [data-rsbs-footer] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-is-dismissable='false'][data-rsbs-state='opening'] [data-rsbs-header] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-is-dismissable='false'][data-rsbs-state='opening'] [data-rsbs-scroll] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-is-dismissable='true'] [data-rsbs-backdrop] {\n opacity: var(--rsbs-backdrop-opacity, 1);\n}\n[data-rsbs-is-dismissable='true'] [data-rsbs-footer] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-is-dismissable='true'] [data-rsbs-header] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-is-dismissable='true'] [data-rsbs-scroll] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-state='closed'] {\n pointer-events: none;\n}\n[data-rsbs-state='closing'] {\n pointer-events: none;\n}\n[data-rsbs-scroll-has-padding-y='false'] {\n padding-top: 0;\n padding-bottom: 0;\n}\n[data-rsbs-scroll-has-padding-x='false'] {\n padding-left: 0;\n padding-right: 0;\n}\n[data-rsbs-has-header='true'] [data-rsbs-scroll-has-padding-y='false'] {\n padding-top: 0;\n}\nreach-portal {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: var(--bsn8k07j);\n}\n@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {\n [data-rsbs-header]:before {\n transform: translateX(-50%) scaleY(0.75);\n }\n}","import '../core/src/theme/styles/theme.css.ts.vanilla.css?source=#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';\nimport '../core/src/theme/styles/globals.css.ts.vanilla.css?source=#H4sIAAAAAAAAA7WSwWrDMBBE7/4K3RpDBWnJITgUeulXlB5W8joSliWzWidxS/69WEmaJiVOoORkdmfnjQf0WmNfETQYBdm2dfhWVahZfGVCcEgfIZjAxypQU4ioweFkli+SEFrQlvtCTId5m20zFco+uRToekmh86XUwQUqxNpYxuFuP6+AJlKq6Of19KnKF9k2g2Td69YbJMvD3vq240fBuGEg3F2Fjp31WAgffMKqQCXSca6CZ1lBY11/FtbkP3q0n3imbpI6sKVBuzR8qj+b9KtFIdeoassyagrOKSCpA3mks/qnbnvRzKZr1KgX82NNSVDaLp4ezObj9AI02xWOhsAVhAmrKxXxMoFA16Pectx7S4FriOsFdoT05t65b/HlISKQNg8fv6hpIzV4jU6qjjn4BD0cQNsi0CAfX+Tf3Y0xJepAwPaeGYSxcxzv3uWQ879O3xi8MUO4BAAA';\nimport '../core/src/theme/styles/utilityClasses.css.ts.vanilla.css?source=Ll8xZjIzd29pMDpkaXNhYmxlZCB7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICBvcGFjaXR5OiB2YXIoLS1ic244azA0Mik7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLl8xZjIzd29pMTo6LXdlYmtpdC1zY3JvbGxiYXIgewogIHdpZHRoOiB2YXIoLS1ic244azA2MSk7CiAgaGVpZ2h0OiB2YXIoLS1ic244azA2MSk7Cn0KLl8xZjIzd29pMTo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHsKICB3aWR0aDogdmFyKC0tYnNuOGswNjEpOwogIGhlaWdodDogdmFyKC0tYnNuOGswNjEpOwp9';\nimport 'src/components/bottom-sheet/bottom-sheet.css.ts.vanilla.css?source=#H4sIAAAAAAAAA+1Y627bNhT+76cgAhSxOjOQ2thNVWTYY2wo8uNIpCTONCmQlONkyLsPJCVbsijXWS4dhgFJ4PByrt/5zjG/EzCAlc40ziBfEyXrO/TXDKFHzAShuxRtQc0xzrS4Wcdf/oy+zRCSW6p0riTnOKMVbJlUKRJSULtpZJNXGHLDpDis1lIzv1KwHSV2SbGyMimK7edMGiM37T+cFt16o6nCmnKam4MsfE+zNTPYQI0rVlbcCsK55NYMo0DoGhQVZnDWWZUD57IxfWPrzgLI16WSjSCdJFVmMI8XqP25una+3zPOcV6BKGmKZA05Mw92PW+UtrdqyYShyoXJ76Yo+TZ7mn0/RDqXwlBhfKBtMAsu71NUMUKoODpbSGmo8kcLTndYV4qJdWt1p1VorKhmjz7WQAgTJc64zNfDBF7TqH+CCc4EPTrCIp8RqwqINSxGOKl3KPYhuV4tll8Xq9UiB57P/dW+W7j1O0IfUXyVfFpGEVqgGH1yInrns3KPpmEATqNv716LGWdGsqp36BdExXauoaAYFAXMhKamPRdFR4GtoAvu7WUBXNPLOzSVo2OVJ9QEtFQUyIQWvzVU4jDpnLqZ9MnIeuxQT9Z7IiVYo+ck8IWOphktpKLO3zZbKbq4GLINZFryxjibCNM1h4cUOXd9MRNTDW1ceb8r6tlpsJVEe844z+yOy5bxB3fTclMh1aalKQ6G/j7Hy/hDFKagvvYyHAZcgSCc4gzU7YVD2MUgMnunfWYGEpj2mWeiDKLTViaHBw+pI0JY1ju0ig+s8PlmcfN1kSTLRXyVJL7i+6zR34+Xx74wjQnTG6Y1ZJwGjRm2pwCczxGYbsDkFdXz3lFtwNDbS1lTwUR5eTfeyrnUbitCIQEtHvv3XHO8G9N4hH5FHz3td83hBIG+k0+TQQ7Z2J0410ijGpvIf1PcWpNe1e1BqexrztLwsLKHNU1c3TuyJkzRdmbKJW82YsxCfUW4iqYY5TOxU0vgyv4EfogWKB6PM16dXd7ADgfI8fox+hG5/3dmw0wqy68KCGt0ityE4f7E/ncCAWkh80Z7IDXGd80A9yopzV0KhaEq1MH+TwDqRmlMt1QY3UvMyWrqaiapd4MKwVKxkom0deeoenQO3FZOMqgcEIaVUGO366omGVfNXspRhlsyG89jyb7oS2W7afLDuCm6pepUyMYHBsmBxki3udHDDbyRFkvMMOCjlHa3DgN6f2WEMYtgYKJvRHezjQUTZeoh2BsDgzPlYESMT8zUYy7vh30gZqQmlK0zq3eiFZ9osy9rNx54r2hC97XyGW311W3ovrD8TBs6tLyTDfuB7OfBIWjCO8MhaMM7wyFow9vA4TUGzn+k5m3SOtbzNqmb5vaX6enxASWXbacIzhpT1zxuzr3nG6XtWl0/ejh8wx21qTj0xnXcAgMyd2GZvXmtWzrMds9uq8/x4mmmKOQVrqUywNtojQbN3gvsxJjZH0WnB9+n2W8bShig+YYJ+yZgn32cqk+krneR03/6EenkA42fEP+Yx1dflm5EeZo9/Q2E2gSMPRcAAA==';","import './bottom-sheet.css';\n\nimport { Portal } from '@reach/portal';\nimport { forwardRef, useCallback, useRef, useState } from 'react';\n\nimport { BottomSheet as Sheet } from './bottom-sheet';\nimport type { Props, RefHandles, SpringEvent } from './bottom-sheet.types';\nimport { useLayoutEffect } from './hooks';\n\nexport type { Props as BottomSheetProps, RefHandles as BottomSheetRef } from './bottom-sheet.types';\n\n// Because SSR is annoying to deal with, and all the million complaints about window, navigator and dom elenents!\nexport const BottomSheet = forwardRef<RefHandles, Props>(function BottomSheet(\n { onSpringStart, onSpringEnd, skipInitialTransition, ...props },\n ref\n) {\n // Mounted state, helps SSR but also ensures you can't tab into the sheet while it's closed, or nav there in a screen reader\n const [mounted, setMounted] = useState(false);\n const timerRef = useRef<ReturnType<typeof requestAnimationFrame>>();\n // The last point that the user snapped to, useful for open/closed toggling and the user defined height is remembered\n const lastSnapRef = useRef(null);\n // And informs what we should animate from. If the sheet is mounted with open = true, then initialState = OPEN.\n // When initialState = CLOSED, then internal sheet must first render with open={false} before setting open={props.open}\n // It's only when initialState and props.open is mismatching that a intial transition should happen\n // If they match then transitions will only happen when a user interaction or resize event happen.\n const initialStateRef = useRef<'OPEN' | 'CLOSED'>(skipInitialTransition && props.isOpen ? 'OPEN' : 'CLOSED');\n\n // Using layout effect to support cases where the bottom sheet have to appear already open, no transition\n // eslint-disable-next-line consistent-return\n useLayoutEffect(() => {\n if (props.isOpen) {\n cancelAnimationFrame(timerRef.current as number);\n setMounted(true);\n\n // Cleanup defaultOpen state on close\n return () => {\n initialStateRef.current = 'CLOSED';\n };\n }\n\n return () => {\n initialStateRef.current = 'CLOSED';\n };\n }, [props.isOpen]);\n\n const handleSpringStart = useCallback(\n async function handleSpringStart(event: SpringEvent) {\n // Forward the event\n await onSpringStart?.(event);\n\n if (event.type === 'OPEN') {\n // Ensures that when it's opening we abort any pending unmount action\n cancelAnimationFrame(timerRef.current as number);\n }\n },\n [onSpringStart]\n );\n\n const handleSpringEnd = useCallback(\n async function handleSpringEnd(event: SpringEvent) {\n // Forward the event\n await onSpringEnd?.(event);\n\n if (event.type === 'CLOSE') {\n // Unmount from the dom to avoid contents being tabbable or visible to screen readers while closed\n timerRef.current = requestAnimationFrame(() => setMounted(false));\n }\n },\n [onSpringEnd]\n );\n\n // This isn't just a performance optimization, it's also to avoid issues when running a non-browser env like SSR\n if (!mounted) {\n return null;\n }\n\n return (\n <Portal data-rsbs-portal>\n <Sheet\n {...props}\n lastSnapRef={lastSnapRef}\n ref={ref}\n initialState={initialStateRef.current}\n onSpringStart={handleSpringStart}\n onSpringEnd={handleSpringEnd}\n />\n </Portal>\n );\n});\n","import { ChevronLeftLarge } from '@ctlyst.id/icons/v2';\nimport { theme } from '@ctlyst.id/voila-ui-core';\nimport type { ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { ReactEventHandlers } from 'react-use-gesture/dist/types';\n\nimport { Box, Flex, Text } from '../../layouts';\nimport { CloseButton } from '../close-button';\n\ntype BottomSheetHeaderProps = {\n title?: string;\n header?: ReactNode;\n showBack?: boolean;\n showClose?: boolean;\n hasHandleBar?: boolean;\n bind?: (...args: never[]) => ReactEventHandlers;\n onBack?: () => void;\n onClose?: () => void;\n style?: React.CSSProperties;\n};\n\nconst BottomSheetHeader = forwardRef<HTMLDivElement, BottomSheetHeaderProps>(\n ({ header, onBack, onClose, showBack, showClose = true, title, bind, hasHandleBar = true, style }, ref) => {\n if (header !== false) {\n return (\n <Box\n {...(style ? { style } : {})}\n key=\"header\"\n data-rsbs-header\n data-rsbs-header-handle-bar={hasHandleBar}\n ref={ref as never}\n {...(hasHandleBar ? bind?.() : {})}\n >\n {header || (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" pt={hasHandleBar ? '$16' : '$8'} pb=\"$8\" gap=\"$16\">\n <Flex alignItems=\"center\" gap=\"$16\">\n {showBack && (\n <ChevronLeftLarge\n cursor=\"pointer\"\n onClick={onBack}\n size={18}\n color={theme.colors.black}\n data-test-id=\"vds-BS-back-btn\"\n />\n )}\n {title && (\n <Text fontWeight=\"$bold\" textStyle=\"subtitle2\" m=\"$0\">\n {title}\n </Text>\n )}\n </Flex>\n {showClose && <CloseButton variant=\"large\" onClick={onClose} data-test-id=\"vds-BS-close-btn\" />}\n </Flex>\n )}\n </Box>\n );\n }\n\n return <Box key=\"header\" data-rsbs-header ref={ref as never} {...bind?.()} />;\n }\n);\n\nexport default BottomSheetHeader;\n","import type { RefObject } from 'react';\nimport { useDebugValue, useEffect, useRef } from 'react';\n\n// Handle hiding and restoring aria-hidden attributes\nexport function useAriaHider({ targetRef, enabled }: { targetRef: RefObject<Element>; enabled: boolean }) {\n const ref = useRef<{ activate: () => void; deactivate: () => void }>({\n activate: () => {\n throw new TypeError('Tried to activate aria hider too early');\n },\n deactivate: () => undefined,\n });\n\n useDebugValue(enabled ? 'Enabled' : 'Disabled');\n\n useEffect(() => {\n if (!enabled) {\n ref.current.deactivate();\n ref.current = { activate: () => undefined, deactivate: () => undefined };\n return;\n }\n\n const target = targetRef.current;\n let active = false;\n let originalValues: (null | string)[] = [];\n let rootNodes: Element[] = [];\n\n ref.current = {\n activate: () => {\n if (active) return;\n active = true;\n\n const { parentNode } = target as Element;\n\n document.querySelectorAll('body > *').forEach(node => {\n if (node === parentNode) {\n return;\n }\n const attr = node.getAttribute('aria-hidden');\n const alreadyHidden = attr !== null && attr !== 'false';\n if (alreadyHidden) {\n return;\n }\n originalValues.push(attr);\n rootNodes.push(node);\n node.setAttribute('aria-hidden', 'true');\n });\n },\n deactivate: () => {\n if (!active) return;\n active = false;\n\n rootNodes.forEach((node, index) => {\n const originalValue = originalValues[index];\n if (originalValue === null) {\n node.removeAttribute('aria-hidden');\n } else {\n node.setAttribute('aria-hidden', originalValue);\n }\n });\n originalValues = [];\n rootNodes = [];\n },\n };\n }, [targetRef, enabled]);\n\n return ref;\n}\n\nexport default useAriaHider;\n","import type { FocusTargetOrFalse } from 'focus-trap';\nimport { createFocusTrap } from 'focus-trap';\nimport type { RefObject } from 'react';\nimport { useDebugValue, useEffect, useRef } from 'react';\n\nexport function useFocusTrap({\n targetRef,\n fallbackRef,\n initialFocusRef,\n enabled,\n}: {\n targetRef: RefObject<HTMLElement>;\n fallbackRef: RefObject<HTMLElement>;\n initialFocusRef?: RefObject<HTMLElement>;\n enabled: boolean;\n}) {\n const ref = useRef<{ activate: () => void; deactivate: () => void }>({\n activate: () => {\n throw new TypeError('Tried to activate focus trap too early');\n },\n deactivate: () => undefined,\n });\n\n useDebugValue(enabled ? 'Enabled' : 'Disabled');\n\n useEffect(() => {\n if (!enabled) {\n ref.current.deactivate();\n ref.current = { activate: () => undefined, deactivate: () => undefined };\n return;\n }\n\n const fallback = fallbackRef.current;\n const trap = createFocusTrap(targetRef.current as HTMLElement, {\n onActivate:\n process.env.NODE_ENV !== 'production'\n ? () => {\n console.log('focus activate');\n }\n : undefined,\n // If initialFocusRef is manually specified we don't want the first tabbable element to receive focus if initialFocusRef can't be found\n initialFocus: (initialFocusRef ? () => initialFocusRef?.current || fallback : undefined) as FocusTargetOrFalse,\n fallbackFocus: fallback as HTMLElement,\n escapeDeactivates: false,\n clickOutsideDeactivates: false,\n });\n let active = false;\n\n ref.current = {\n activate: async () => {\n if (active) return;\n active = true;\n\n await trap.activate();\n // it's difficult to know exactly when focus is udpated https://github.com/focus-trap/focus-trap/blob/036a72ec48b85414dda00ec0c40d631c8f0ae5ce/index.js#L369-L371\n // This timeout is attempting to compromise between a reasonable guess, as well as not delaying the open transition more than necessary\n // eslint-disable-next-line no-promise-executor-return\n await new Promise(resolve => setTimeout(() => resolve(1), 0));\n },\n deactivate: () => {\n if (!active) return;\n active = false;\n\n trap.deactivate();\n },\n };\n }, [enabled, fallbackRef, initialFocusRef, targetRef]);\n\n return ref;\n}\n\nexport default useFocusTrap;\n","import { useEffect, useLayoutEffect as useLayoutEffectSafely } from 'react';\n\n// Ensure the name used in components is useLayoutEffect so the eslint react hooks plugin works\nexport const useLayoutEffect = typeof window !== 'undefined' ? useLayoutEffectSafely : useEffect;\n\nexport default useLayoutEffect;\n","// Keeps track of wether everything is good to go or not, in the most efficient way possible\nimport { useCallback, useEffect, useState } from 'react';\n\nexport function useReady() {\n const [ready, setReady] = useState(false);\n const [readyMap, updateReadyMap] = useState<{ [key: string]: boolean }>({});\n\n const registerReady = useCallback((key: string) => {\n console.count(`registerReady:${key}`);\n // Register the check we're gonna wait for until it's ready\n updateReadyMap(prevState => ({ ...prevState, [key]: false }));\n\n return () => {\n console.count(`setReady:${key}`);\n // Set it to ready\n updateReadyMap(prevState => ({ ...prevState, [key]: true }));\n };\n }, []);\n\n useEffect(() => {\n const states = Object.values(readyMap);\n\n if (states.length === 0) {\n console.log('nope nothing registered yet');\n return;\n }\n\n const isReady = states.every(Boolean);\n console.log('check if we are rready', readyMap, isReady);\n if (isReady) {\n console.warn('ready!');\n setReady(true);\n }\n }, [readyMap]);\n\n return { ready, registerReady };\n}\n\nexport default useReady;\n","import { useDebugValue, useEffect, useMemo, useRef } from 'react';\n\nexport function useReducedMotion() {\n const mql = useMemo(\n () => (typeof window !== 'undefined' ? window.matchMedia('(prefers-reduced-motion: reduce)') : null),\n []\n );\n const ref = useRef(mql?.matches);\n\n useDebugValue(ref.current ? 'reduce' : 'no-preference');\n\n useEffect(() => {\n const handler = (event: MediaQueryListEvent) => {\n ref.current = event.matches;\n };\n mql?.addListener(handler);\n\n return () => mql?.removeListener(handler);\n }, [mql]);\n\n return ref;\n}\n\nexport default useReducedMotion;\n","import { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\nimport type { RefObject } from 'react';\nimport { useDebugValue, useEffect, useRef } from 'react';\n\n/**\n * Handle scroll locking to ensure a good dragging experience on Android and iOS.\n *\n * On iOS the following may happen if scroll isn't locked:\n * - When dragging the sheet the background gets dragged at the same time.\n * - When dragging the page scroll is also affected, causing the drag to feel buggy and \"slow\".\n *\n * On Android it causes the chrome toolbar to pop down as you drag down, and hide as you drag up.\n * When it's in between two toolbar states it causes the framerate to drop way below 60fps on\n * the bottom sheet drag interaction.\n */\nexport function useScrollLock({\n targetRef,\n enabled,\n reserveScrollBarGap,\n}: {\n targetRef: RefObject<Element | HTMLElement>;\n enabled: boolean;\n reserveScrollBarGap: boolean;\n}) {\n const ref = useRef<{ activate: () => void; deactivate: () => void }>({\n activate: () => {\n throw new TypeError('Tried to activate scroll lock too early');\n },\n deactivate: () => undefined,\n });\n\n useDebugValue(enabled ? 'Enabled' : 'Disabled');\n\n useEffect(() => {\n if (!enabled) {\n ref.current.deactivate();\n ref.current = { activate: () => undefined, deactivate: () => undefined };\n return;\n }\n\n const target = targetRef.current as Element | HTMLElement;\n let active = false;\n\n ref.current = {\n activate: () => {\n if (active) return;\n active = true;\n disableBodyScroll(target, {\n allowTouchMove: el => el.closest('[data-body-scroll-lock-ignore]') as unknown as boolean,\n reserveScrollBarGap,\n });\n },\n deactivate: () => {\n if (!active) return;\n active = false;\n enableBodyScroll(target);\n },\n };\n }, [enabled, targetRef, reserveScrollBarGap]);\n\n return ref;\n}\n\nexport default useScrollLock;\n","/* eslint-disable no-param-reassign */\nexport function clamp(number: number, lower: number, upper: number) {\n number = +number;\n lower = +lower;\n upper = +upper;\n\n /* eslint-disable no-self-compare */\n lower = lower === lower ? lower : 0;\n upper = upper === upper ? upper : 0;\n if (number === number) {\n number = number <= upper ? number : upper;\n number = number >= lower ? number : lower;\n }\n return number;\n}\n\nexport function deleteNaN(arr: never) {\n const set = new Set(arr);\n set.delete(NaN);\n return [...(set as never)];\n}\n\nexport function roundAndCheckForNaN(unrounded: number) {\n const rounded = Math.round(unrounded);\n if (Number.isNaN(unrounded)) {\n throw new TypeError('Found a NaN! Check your snapPoints / defaultSnap / snapTo ');\n }\n\n return rounded;\n}\n\n// Validate, sanitize, round and dedupe snap points, as well as extracting the minSnap and maxSnap points\nexport function processSnapPoints(unsafeSnaps: number | number[], maxHeight: number) {\n const safeSnaps = [].concat(unsafeSnaps as never).map(roundAndCheckForNaN);\n\n const snapPointsDedupedSet = safeSnaps.reduce((acc, snapPoint) => {\n acc.add(clamp(snapPoint, 0, maxHeight));\n return acc;\n }, new Set<number>());\n\n const snapPoints = Array.from(snapPointsDedupedSet);\n\n const minSnap = Math.min(...snapPoints);\n if (Number.isNaN(minSnap)) {\n throw new TypeError('minSnap is NaN');\n }\n const maxSnap = Math.max(...snapPoints);\n if (Number.isNaN(maxSnap)) {\n throw new TypeError('maxSnap is NaN');\n }\n\n return {\n snapPoints,\n minSnap,\n maxSnap,\n };\n}\n\nexport const debugging =\n process.env.NODE_ENV === 'development' && typeof window !== 'undefined' ? window.location.search === '?debug' : false;\n","import type { ResizeObserverEntry } from '@juggle/resize-observer';\nimport { ResizeObserver } from '@juggle/resize-observer';\nimport type { ResizeObserverOptions } from '@juggle/resize-observer/lib/ResizeObserverOptions';\nimport type { MutableRefObject, RefObject } from 'react';\nimport { useCallback, useDebugValue, useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { Conditions, defaultSnapProps, ResizeSource, snapPoints } from '../bottom-sheet.types';\nimport { processSnapPoints, roundAndCheckForNaN } from '../utils';\nimport { useLayoutEffect } from './use-layout-effect';\nimport type { useReady } from './use-ready';\n\nconst observerOptions: ResizeObserverOptions = {\n // Respond to changes to padding, happens often on iOS when using env(safe-area-inset-bottom)\n // And the user hides or shows the Safari browser toolbar\n box: 'border-box',\n};\n/**\n * Hook for determining the size of an element using the Resize Observer API.\n *\n * @param ref - A React ref to an element\n */\nfunction useElementSizeObserver(\n ref: RefObject<Element>,\n {\n label,\n enabled,\n resizeSourceRef,\n }: {\n label: string;\n enabled: boolean;\n resizeSourceRef: MutableRefObject<ResizeSource>;\n }\n): number {\n const [size, setSize] = useState(0);\n\n useDebugValue(`${label}: ${size}`);\n\n const handleResize = useCallback(\n (entries: ResizeObserverEntry[]) => {\n // we only observe one element, so accessing the first entry here is fine\n setSize(entries[0].borderBoxSize[0].blockSize);\n /* eslint-disable no-param-reassign */\n resizeSourceRef.current = 'element';\n },\n [resizeSourceRef]\n );\n\n useLayoutEffect(() => {\n if (!ref.current || !enabled) {\n return;\n }\n\n const resizeObserver = new ResizeObserver(handleResize);\n resizeObserver.observe(ref.current, observerOptions);\n\n /* eslint-disable consistent-return */\n return () => resizeObserver.disconnect();\n }, [ref, handleResize, enabled]);\n\n return enabled ? size : 0;\n}\n\n// Blazingly keep track of the current viewport height without blocking the thread, keeping that sweet 60fps on smartphones\nfunction useMaxHeight(\n controlledMaxHeight: number,\n registerReady: ReturnType<typeof useReady>['registerReady'],\n resizeSourceRef: MutableRefObject<ResizeSource>\n) {\n const setReady = useMemo(() => registerReady('maxHeight'), [registerReady]);\n const defaultMaxHeight = window.innerHeight * 0.75;\n const [maxHeight, setMaxHeight] = useState(() =>\n roundAndCheckForNaN(controlledMaxHeight) || typeof window !== 'undefined' ? defaultMaxHeight : 0\n );\n const ready = maxHeight > 0;\n const raf = useRef(0);\n\n useDebugValue(controlledMaxHeight ? 'controlled' : 'auto');\n\n useEffect(() => {\n if (ready) {\n setReady();\n }\n }, [ready, setReady]);\n\n useLayoutEffect(() => {\n // Bail if the max height is a controlled prop\n if (controlledMaxHeight) {\n setMaxHeight(roundAndCheckForNaN(controlledMaxHeight));\n resizeSourceRef.current = 'maxheightprop';\n\n return;\n }\n\n const handleResize = () => {\n if (raf.current) {\n // bail to throttle the amount of resize changes\n return;\n }\n\n // throttle state changes using rAF\n raf.current = requestAnimationFrame(() => {\n setMaxHeight(defaultMaxHeight);\n resizeSourceRef.current = 'window';\n\n raf.current = 0;\n });\n };\n window.addEventListener('resize', handleResize);\n setMaxHeight(defaultMaxHeight);\n resizeSourceRef.current = 'window';\n setReady();\n\n return () => {\n window.removeEventListener('resize', handleResize);\n cancelAnimationFrame(raf.current);\n };\n }, [controlledMaxHeight, setReady, resizeSourceRef, defaultMaxHeight]);\n\n return maxHeight;\n}\n\nfunction useDimensions({\n contentRef,\n controlledMaxHeight,\n footerEnabled,\n footerRef,\n headerEnabled,\n headerRef,\n registerReady,\n resizeSourceRef,\n conditions,\n}: {\n contentRef: RefObject<Element>;\n controlledMaxHeight?: number;\n footerEnabled: boolean;\n footerRef: RefObject<Element>;\n headerEnabled: boolean;\n headerRef: RefObject<Element>;\n registerReady: ReturnType<typeof useReady>['registerReady'];\n resizeSourceRef: MutableRefObject<ResizeSource>;\n conditions?: Conditions;\n}) {\n const setReady = useMemo(() => registerReady('contentHeight'), [registerReady]);\n const maxHeight = useMaxHeight(controlledMaxHeight as number, registerReady, resizeSourceRef);\n\n // @TODO probably better to forward props instead of checking refs to decide if it's enabled\n const headerHeight = useElementSizeObserver(headerRef, {\n label: 'headerHeight',\n enabled: headerEnabled,\n resizeSourceRef,\n });\n const contentHeight = useElementSizeObserver(contentRef, {\n label: 'contentHeight',\n enabled: true,\n resizeSourceRef,\n });\n const footerHeight = useElementSizeObserver(footerRef, {\n label: 'footerHeight',\n enabled: footerEnabled,\n resizeSourceRef,\n });\n const defaultContentPadding = conditions?.hasPaddingY ? 16 : 0;\n const defaultHeaderPadding = conditions?.hasHeader ? 0 : 20;\n const defaultCustomHeaderPadding = conditions?.hasCustomHeader ? 16 : 0;\n\n const minHeight =\n Math.min(maxHeight - headerHeight - footerHeight, contentHeight + defaultContentPadding) +\n (headerHeight + defaultHeaderPadding + defaultCustomHeaderPadding) +\n footerHeight;\n\n useDebugValue(`minHeight: ${minHeight}`);\n\n const ready = contentHeight > 0;\n useEffect(() => {\n if (ready) {\n setReady();\n }\n }, [ready, setReady]);\n\n return {\n maxHeight,\n minHeight,\n headerHeight,\n footerHeight,\n };\n}\n\nexport function useSnapPoints({\n contentRef,\n controlledMaxHeight,\n footerEnabled,\n footerRef,\n getSnapPoints,\n headerEnabled,\n headerRef,\n heightRef,\n lastSnapRef,\n ready,\n registerReady,\n resizeSourceRef,\n conditions,\n}: {\n contentRef: RefObject<Element>;\n controlledMaxHeight?: number;\n footerEnabled: boolean;\n footerRef: RefObject<Element>;\n getSnapPoints: snapPoints;\n headerEnabled: boolean;\n headerRef: RefObject<Element>;\n heightRef: RefObject<number>;\n lastSnapRef: RefObject<number>;\n ready: boolean;\n registerReady: ReturnType<typeof useReady>['registerReady'];\n resizeSourceRef: MutableRefObject<ResizeSource>;\n conditions?: Conditions;\n}) {\n const { maxHeight, minHeight, headerHeight, footerHeight } = useDimensions({\n contentRef,\n controlledMaxHeight,\n footerEnabled,\n footerRef,\n headerEnabled,\n headerRef,\n registerReady,\n resizeSourceRef,\n conditions,\n });\n\n const { snapPoints, minSnap, maxSnap } = processSnapPoints(\n ready\n ? getSnapPoints({\n height: heightRef.current as number,\n footerHeight,\n headerHeight,\n minHeight,\n maxHeight,\n })\n : [0],\n maxHeight\n );\n // console.log({ snapPoints, minSnap, maxSnap })\n\n // @TODO investigate the gains from memoizing this\n function findSnap(numberOrCallback: number | ((state: defaultSnapProps) => number)) {\n let unsafeSearch: number;\n if (typeof numberOrCallback === 'function') {\n unsafeSearch = numberOrCallback({\n footerHeight,\n headerHeight,\n height: heightRef.current as number,\n minHeight,\n maxHeight,\n snapPoints,\n lastSnap: lastSnapRef.current,\n });\n } else {\n unsafeSearch = numberOrCallback;\n }\n const querySnap = roundAndCheckForNaN(unsafeSearch);\n return snapPoints.reduce(\n (prev, curr) => (Math.abs(curr - querySnap) < Math.abs(prev - querySnap) ? curr : prev),\n minSnap\n );\n }\n\n useDebugValue(`minSnap: ${minSnap}, maxSnap:${maxSnap}`);\n\n return { minSnap, maxSnap, findSnap, maxHeight };\n}\n\nexport default useSnapPoints;\n","import { useSpring as useReactSpring } from 'react-spring';\n\n// Behold, the engine of it all!\n// Put in this file befause it makes it easier to type and I'm lazy! :D\nexport function useSpring() {\n return useReactSpring(() => ({\n y: 0,\n ready: 0,\n maxHeight: 0,\n minSnap: 0,\n maxSnap: 0,\n }));\n}\n\nexport type Spring = ReturnType<typeof useSpring>[0];\nexport type SpringSet = ReturnType<typeof useSpring>[1];\n","import { to } from 'react-spring';\n\nimport { clamp } from '../utils';\nimport type { Spring } from './use-spring';\n\n// It's a bit easier to ensure interpolations don't accidentally use the wrong variables by\n// putting them here, in their own closure with explicitly defined variables used\n\n// Note that the callbacks in the interpolation functions close over their scope every time react renders\n// so it's important that if anything can change outside of render that needs to be available\n// in the interpolation then a ref must be used\n\nexport function useSpringInterpolations({ spring }: { spring: Spring }): React.CSSProperties {\n // This effect is for removing rounded corners on phones when the sheet touches the top of the browser chrome\n // as it's really ugly with the gaps border radius creates. This ensures it looks sleek.\n const interpolateBorderRadius = to([spring.y, spring.maxHeight], (y, maxHeight) => {\n return `${Math.round(clamp(maxHeight - y, 0, 16))}px`;\n });\n\n /*\n * Only animate the height when absolute necessary\n */\n const interpolateHeight = to(\n [spring.y, spring.minSnap, spring.maxSnap],\n (y, minSnap, maxSnap) => `${clamp(y, minSnap, maxSnap)}px`\n );\n\n const interpolateY = to([spring.y, spring.minSnap, spring.maxSnap], (y, minSnap, maxSnap) => {\n if (y < minSnap) {\n return `${minSnap - y}px`;\n }\n\n if (y > maxSnap) {\n return `${maxSnap - y}px`;\n }\n\n return '0px';\n });\n\n const interpolateFiller = to([spring.y, spring.maxSnap], (y, maxSnap) => {\n if (y >= maxSnap) {\n return Math.ceil(y - maxSnap);\n }\n\n return 0;\n });\n\n const interpolateContentOpacity = to([spring.y, spring.minSnap], (y, minSnap) => {\n if (!minSnap) {\n return 0;\n }\n\n const minX = Math.max(minSnap / 2 - 45, 0);\n const maxX = Math.min(minSnap / 2 + 45, minSnap);\n const minY = 0;\n const maxY = 1;\n\n const slope = (maxY - minY) / (maxX - minX);\n const res = (y - minX) * (slope + minY);\n return clamp(res, 0, 1);\n });\n\n const interpolateBackdrop = to([spring.y, spring.minSnap], (y, minSnap) => (minSnap ? clamp(y / minSnap, 0, 1) : 0));\n\n return {\n // Fancy content fade-in effect\n ['--rsbs-content-opacity' as string]: interpolateContentOpacity,\n // Fading in the backdrop\n ['--rsbs-backdrop-opacity' as string]: interpolateBackdrop,\n // Scaling the antigap in the bottom\n ['--rsbs-antigap-scale-y' as string]: interpolateFiller,\n // Shifts the position of the bottom sheet, used on open and close primarily as snap point changes usually only interpolate the height\n ['--rsbs-overlay-translate-y' as string]: interpolateY,\n // Remove rounded borders when full height, it looks much better this way\n ['--rsbs-overlay-rounded' as string]: interpolateBorderRadius,\n // Animates the height state, not the most performant way but it's the safest with regards to mobile browser and focus/scrolling that could happen while animating\n ['--rsbs-overlay-h' as string]: interpolateHeight,\n };\n}\n\nexport default useSpringInterpolations;\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { assign, Machine } from 'xstate';\n\nimport type { OverlayContext, OverlayEvent, OverlayStateSchema } from './types';\n\nfunction sleep(ms = 1000) {\n // eslint-disable-next-line no-promise-executor-return\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n\nconst cancelOpen = {\n CLOSE: { target: '#overlay.closing', actions: 'onOpenCancel' },\n};\n\nconst openToDrag = {\n DRAG: { target: '#overlay.dragging', actions: 'onOpenEnd' },\n};\n\nconst openToResize = {\n RESIZE: { target: '#overlay.resizing', actions: 'onOpenEnd' },\n};\n\nconst initiallyOpen = ({ initialState }: OverlayContext) => initialState === 'OPEN';\nconst initiallyClosed = ({ initialState }: OverlayContext) => initialState === 'CLOSED';\n\n// Copy paste the machine into https://xstate.js.org/viz/ to make sense of what's going on in here ;)\nexport const overlayMachine = Machine<OverlayContext, OverlayStateSchema, OverlayEvent>(\n {\n id: 'overlay',\n initial: 'closed',\n context: { initialState: 'CLOSED' },\n states: {\n closed: { on: { OPEN: 'opening', CLOSE: undefined } },\n opening: {\n initial: 'start',\n states: {\n start: {\n invoke: {\n src: 'onOpenStart',\n onDone: 'transition',\n },\n },\n transition: {\n always: [\n { target: 'immediately', cond: 'initiallyOpen' },\n { target: 'smoothly', cond: 'initiallyClosed' },\n ],\n },\n immediately: {\n initial: 'open',\n states: {\n open: {\n invoke: { src: 'openImmediately', onDone: 'activating' },\n },\n activating: {\n invoke: { src: 'activate', onDone: '#overlay.opening.end' },\n on: { ...openToDrag, ...openToResize },\n },\n },\n },\n smoothly: {\n initial: 'visuallyHidden',\n states: {\n visuallyHidden: {\n invoke: { src: 'renderVisuallyHidden', onDone: 'activating' },\n },\n activating: {\n invoke: { src: 'activate', onDone: 'open' },\n },\n open: {\n invoke: { src: 'openSmoothly', onDone: '#overlay.opening.end' },\n on: { ...openToDrag, ...openToResize },\n },\n },\n },\n end: {\n invoke: { src: 'onOpenEnd', onDone: 'done' },\n on: { CLOSE: '#overlay.closing', DRAG: '#overlay.dragging' },\n },\n done: {\n type: 'final',\n },\n },\n on: { ...cancelOpen },\n onDone: 'open',\n },\n open: {\n on: { DRAG: '#overlay.dragging', SNAP: 'snapping', RESIZE: 'resizing' },\n },\n dragging: {\n on: { SNAP: 'snapping' },\n },\n snapping: {\n initial: 'start',\n states: {\n start: {\n invoke: {\n src: 'onSnapStart',\n onDone: 'snappingSmoothly',\n },\n entry: [\n assign({\n // @ts-ignore\n y: (_: unknown, { payload: { y } }) => y,\n // @ts-ignore\n velocity: (_: unknown, { payload: { velocity } }) => velocity,\n snapSource: (_: unknown, { payload: { source = 'custom' } }) => source,\n }),\n ],\n },\n snappingSmoothly: {\n invoke: { src: 'snapSmoothly', onDone: 'end' },\n },\n end: {\n invoke: { src: 'onSnapEnd', onDone: 'done' },\n on: {\n RESIZE: '#overlay.resizing',\n SNAP: '#overlay.snapping',\n CLOSE: '#overlay.closing',\n DRAG: '#overlay.dragging',\n },\n },\n done: { type: 'final' },\n },\n on: {\n SNAP: { target: 'snapping', actions: 'onSnapEnd' },\n RESIZE: { target: '#overlay.resizing', actions: 'onSnapCancel' },\n DRAG: { target: '#overlay.dragging', actions: 'onSnapCancel' },\n CLOSE: { target: '#overlay.closing', actions: 'onSnapCancel' },\n },\n onDone: 'open',\n },\n resizing: {\n initial: 'start',\n states: {\n start: {\n invoke: {\n src: 'onResizeStart',\n onDone: 'resizingSmoothly',\n },\n },\n resizingSmoothly: {\n invoke: { src: 'resizeSmoothly', onDone: 'end' },\n },\n end: {\n invoke: { src: 'onResizeEnd', onDone: 'done' },\n on: {\n SNAP: '#overlay.snapping',\n CLOSE: '#overlay.closing',\n DRAG: '#overlay.dragging',\n },\n },\n done: { type: 'final' },\n },\n on: {\n RESIZE: { target: 'resizing', actions: 'onResizeEnd' },\n SNAP: { target: 'snapping', actions: 'onResizeCancel' },\n DRAG: { target: '#overlay.dragging', actions: 'onResizeCancel' },\n CLOSE: { target: '#overlay.closing', actions: 'onResizeCancel' },\n },\n onDone: 'open',\n },\n closing: {\n initial: 'start',\n states: {\n start: {\n invoke: {\n src: 'onCloseStart',\n onDone: 'deactivating',\n },\n on: { OPEN: { target: '#overlay.open', actions: 'onCloseCancel' } },\n },\n deactivating: {\n invoke: { src: 'deactivate', onDone: 'closingSmoothly' },\n },\n closingSmoothly: {\n invoke: { src: 'closeSmoothly', onDone: 'end' },\n },\n end: {\n invoke: { src: 'onCloseEnd', onDone: 'done' },\n on: {\n OPEN: { target: '#overlay.opening', actions: 'onCloseCancel' },\n },\n },\n done: { type: 'final' },\n },\n on: {\n CLOSE: undefined,\n OPEN: { target: '#overlay.opening', actions: 'onCloseCancel' },\n },\n onDone: 'closed',\n },\n },\n on: {\n CLOSE: 'closing',\n },\n },\n {\n actions: {\n onOpenCancel: (context, event) => {\n console.log('onOpenCancel', { context, event });\n },\n onSnapCancel: (context, event) => {\n console.log('onSnapCancel', { context, event });\n },\n onResizeCancel: (context, event) => {\n console.log('onResizeCancel', { context, event });\n },\n onCloseCancel: (context, event) => {\n console.log('onCloseCancel', { context, event });\n },\n onOpenEnd: (context, event) => {\n console.log('onOpenCancel', { context, event });\n },\n onSnapEnd: (context, event) => {\n console.log('onSnapEnd', { context, event });\n },\n onRezizeEnd: (context, event) => {\n console.log('onRezizeEnd', { context, event });\n },\n },\n services: {\n onSnapStart: async () => {\n await sleep();\n },\n onOpenStart: async () => {\n await sleep();\n },\n onCloseStart: async () => {\n await sleep();\n },\n onResizeStart: async () => {\n await sleep();\n },\n onSnapEnd: async () => {\n await sleep();\n },\n onOpenEnd: async () => {\n await sleep();\n },\n onCloseEnd: async () => {\n await sleep();\n },\n onResizeEnd: async () => {\n await sleep();\n },\n renderVisuallyHidden: async (context, event) => {\n console.group('renderVisuallyHidden');\n console.log({ context, event });\n await sleep();\n console.groupEnd();\n },\n activate: async (context, event) => {\n console.group('activate');\n console.log({ context, event });\n await sleep();\n console.groupEnd();\n },\n deactivate: async (context, event) => {\n console.group('deactivate');\n console.log({ context, event });\n await sleep();\n console.groupEnd();\n },\n openSmoothly: async (context, event) => {\n console.group('openSmoothly');\n console.log({ context, event });\n await sleep();\n console.groupEnd();\n },\n openImmediately: async (context, event) => {\n console.group('openImmediately');\n console.log({ context, event });\n await sleep();\n console.groupEnd();\n },\n snapSmoothly: async (context, event) => {\n console.group('snapSmoothly');\n console.log({ context, event });\n await sleep();\n console.groupEnd();\n },\n resizeSmoothly: async (context, event) => {\n console.group('resizeSmoothly');\n console.log({ context, event });\n await sleep();\n console.groupEnd();\n },\n closeSmoothly: async (context, event) => {\n console.group('closeSmoothly');\n console.log({ context, event });\n await sleep();\n console.groupEnd();\n },\n },\n guards: { initiallyClosed, initiallyOpen },\n }\n);\n\nexport default overlayMachine;\n","/*\n In order to greatly reduce complexity this component is designed to always transition to open on mount, and then\n transition to a closed state later. This ensures that all memory used to keep track of animation and gesture state\n can be reclaimed after the sheet is closed and then unmounted.\n It also ensures that when transitioning to open on mount the state is always clean, not affected by previous states that could\n cause race conditions.\n*/\n\nimport { useMachine } from '@xstate/react';\nimport type { KeyboardEvent, MutableRefObject } from 'react';\nimport { forwardRef, useCallback, useEffect, useImperativeHandle, useRef } from 'react';\nimport { animated, config } from 'react-spring';\nimport { rubberbandIfOutOfBounds, useDrag } from 'react-use-gesture';\nimport type { AnyStateMachine } from 'xstate';\n\nimport { Box } from '../../layouts';\nimport BottomSheetHeader from './bottom-sheet.header';\nimport type {\n defaultSnapProps,\n HandleDrag,\n OverlayEvent,\n OverlayEventSnap,\n Props,\n RefHandles,\n ResizeSource,\n SnapPointProps,\n} from './bottom-sheet.types';\nimport {\n useAriaHider,\n useFocusTrap,\n useLayoutEffect,\n useReady,\n useReducedMotion,\n useScrollLock,\n useSnapPoints,\n useSpring,\n useSpringInterpolations,\n} from './hooks';\nimport { overlayMachine } from './machines/overlay';\nimport { debugging } from './utils';\n\nconst { tension, friction } = config.default;\n\n// Used for the data attribute, list over states available to CSS selectors\nconst publicStates = ['closed', 'opening', 'open', 'closing', 'dragging', 'snapping', 'resizing'];\n\n// Default prop values that are callbacks, and it's nice to save some memory and reuse their instances since they're pure\nfunction defaultSnap({ snapPoints, lastSnap }: defaultSnapProps) {\n return lastSnap ?? Math.min(...snapPoints);\n}\nfunction defaultSnapPoints({ minHeight }: SnapPointProps) {\n return minHeight;\n}\n\n/* eslint-disable no-param-reassign */\nexport const BottomSheet = forwardRef<\n RefHandles,\n {\n initialState: 'OPEN' | 'CLOSED';\n lastSnapRef: MutableRefObject<number | null>;\n } & Props\n>(function Components(\n {\n children,\n sibling,\n className,\n footer,\n header,\n isOpen: _open,\n initialState,\n lastSnapRef,\n initialFocusRef,\n onClose,\n maxHeight: controlledMaxHeight,\n defaultSnap: getDefaultSnap = defaultSnap,\n snapPoints: getSnapPoints = defaultSnapPoints,\n blocking = true,\n scrollLocking = true,\n style,\n onSpringStart,\n onSpringCancel,\n onSpringEnd,\n reserveScrollBarGap = blocking,\n expandOnContentDrag = false,\n title,\n showClose,\n showBack,\n onBack,\n onCloseWhenClickOutside = true,\n hasHandleBar = true,\n 'data-test-id': dataTestId,\n padding,\n styles,\n refs,\n ...props\n },\n ref\n) {\n // Before any animations can start we need to measure a few things, like the viewport and the dimensions of content, and header + footer if they exist\n const { ready, registerReady } = useReady();\n\n // Controls the drag handler, used by spring operations that happen outside the render loop in React\n const canDragRef = useRef(false);\n\n // This way apps don't have to remember to wrap their callbacks in useCallback to avoid breaking the sheet\n const onSpringStartRef = useRef(onSpringStart);\n const onSpringCancelRef = useRef(onSpringCancel);\n const onSpringEndRef = useRef(onSpringEnd);\n\n useEffect(() => {\n onSpringStartRef.current = onSpringStart;\n onSpringCancelRef.current = onSpringCancel;\n onSpringEndRef.current = onSpringEnd;\n }, [onSpringCancel, onSpringStart, onSpringEnd]);\n\n // Behold, the engine of it all!\n const [spring, set] = useSpring();\n\n const containerRef = useRef<HTMLDivElement>(null);\n const bodyRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const headerRef = useRef<HTMLDivElement>(null);\n const footerRef = useRef<HTMLDivElement>(null);\n const overlayRef = useRef<HTMLDivElement | null>(null);\n\n useImperativeHandle(refs?.body, () => bodyRef.current as HTMLDivElement);\n useImperativeHandle(refs?.content, () => contentRef.current as HTMLDivElement);\n useImperativeHandle(refs?.header, () => headerRef.current as HTMLDivElement);\n useImperativeHandle(refs?.footer, () => footerRef.current as HTMLDivElement);\n useImperativeHandle(refs?.overlay, () => overlayRef.current as HTMLDivElement);\n\n // Keeps track of the current height, or the height transitioning to\n const heightRef = useRef(0);\n const resizeSourceRef = useRef<ResizeSource>();\n const preventScrollingRef = useRef(false);\n\n const prefersReducedMotion = useReducedMotion();\n\n const { x = 'default', y = 'default' } = padding ?? {};\n const defaultPxCondition = x === 'default';\n const defaultPyCondition = y === 'default';\n\n const scrollLockRef = useScrollLock({\n targetRef: bodyRef,\n enabled: ready && scrollLocking,\n reserveScrollBarGap,\n });\n\n const ariaHiderRef = useAriaHider({\n targetRef: containerRef,\n enabled: ready && blocking,\n });\n\n const focusTrapRef = useFocusTrap({\n targetRef: containerRef,\n fallbackRef: overlayRef,\n initialFocusRef: initialFocusRef || undefined,\n enabled: ready && blocking && initialFocusRef !== false,\n });\n\n const { minSnap, maxSnap, maxHeight, findSnap } = useSnapPoints({\n contentRef,\n controlledMaxHeight,\n footerEnabled: !!footer,\n footerRef,\n getSnapPoints,\n headerEnabled: header !== false,\n headerRef,\n heightRef,\n lastSnapRef,\n ready,\n registerReady,\n resizeSourceRef: resizeSourceRef as MutableRefObject<ResizeSource>,\n conditions: {\n hasPaddingY: defaultPyCondition,\n hasHeader: header !== false,\n hasCustomHeader: !!header,\n },\n });\n\n // Setup refs that are used in cases where full control is needed over when a side effect is executed\n const maxHeightRef = useRef(maxHeight);\n const minSnapRef = useRef(minSnap);\n const maxSnapRef = useRef(maxSnap);\n const findSnapRef = useRef(findSnap);\n const defaultSnapRef = useRef(0);\n\n // Sync the refs with current state, giving the spring full control over when to respond to changes\n useLayoutEffect(() => {\n maxHeightRef.current = maxHeight;\n maxSnapRef.current = maxSnap;\n minSnapRef.current = minSnap;\n findSnapRef.current = findSnap;\n defaultSnapRef.current = findSnap(getDefaultSnap);\n }, [findSnap, getDefaultSnap, maxHeight, maxSnap, minSnap]);\n\n // New utility for using events safely\n /* eslint-disable no-promise-executor-return */\n /* eslint-disable @typescript-eslint/ban-ts-comment */\n const asyncSet = useCallback<typeof set>(\n // @ts-ignore\n ({ onRest, config: { velocity = 1, ...rest } = {}, ...opts }) =>\n // @ts-ignore\n new Promise(resolve =>\n set({\n ...opts,\n config: {\n velocity,\n ...rest,\n // @see https://springs.pomb.us\n mass: 1,\n // \"stiffness\"\n tension,\n // \"damping\"\n friction: Math.max(friction, friction + (friction - friction * velocity)),\n },\n onRest: (...args) => {\n // @ts-ignore\n resolve(...args);\n onRest?.(...args);\n },\n })\n ),\n [set]\n );\n\n const [current, send] = useMachine(overlayMachine as AnyStateMachine, {\n devTools: debugging,\n actions: {\n onOpenCancel: useCallback(() => onSpringCancelRef.current?.({ type: 'OPEN' }), []),\n onSnapCancel: useCallback(\n (context: { snapSource: string }) =>\n onSpringCancelRef.current?.({\n type: 'SNAP',\n source: context.snapSource,\n }),\n []\n ),\n onCloseCancel: useCallback(() => onSpringCancelRef.current?.({ type: 'CLOSE' }), []),\n onResizeCancel: useCallback(\n () =>\n onSpringCancelRef.current?.({\n type: 'RESIZE',\n source: resizeSourceRef.current as ResizeSource,\n }),\n []\n ),\n onOpenEnd: useCallback(() => onSpringEndRef.current?.({ type: 'OPEN' }), []),\n onSnapEnd: useCallback(\n (context: { snapSource: string }) =>\n onSpringEndRef.current?.({\n type: 'SNAP',\n source: context.snapSource,\n }),\n []\n ),\n onResizeEnd: useCallback(\n () =>\n onSpringEndRef.current?.({\n type: 'RESIZE',\n source: resizeSourceRef.current as ResizeSource,\n }),\n []\n ),\n },\n context: { snapSource: initialState },\n services: {\n onSnapStart: useCallback(\n async (_: unknown, event: OverlayEvent) =>\n onSpringStartRef.current?.({\n type: 'SNAP',\n source: (event as OverlayEventSnap).payload.source || 'custom',\n }),\n []\n ),\n onOpenStart: useCallback(async () => onSpringStartRef.current?.({ type: 'OPEN' }), []),\n onCloseStart: useCallback(async () => onSpringStartRef.current?.({ type: 'CLOSE' }), []),\n onResizeStart: useCallback(\n async () =>\n onSpringStartRef.current?.({\n type: 'RESIZE',\n source: resizeSourceRef.current as ResizeSource,\n }),\n []\n ),\n onSnapEnd: useCallback(\n async (context: { snapSource: string }) =>\n onSpringEndRef.current?.({\n type: 'SNAP',\n source: context.snapSource,\n }),\n []\n ),\n onOpenEnd: useCallback(async () => onSpringEndRef.current?.({ type: 'OPEN' }), []),\n onCloseEnd: useCallback(async () => onSpringEndRef.current?.({ type: 'CLOSE' }), []),\n onResizeEnd: useCallback(\n async () =>\n onSpringEndRef.current?.({\n type: 'RESIZE',\n source: resizeSourceRef.current as ResizeSource,\n }),\n []\n ),\n renderVisuallyHidden: useCallback(async () => {\n await asyncSet({\n y: defaultSnapRef.current,\n ready: 0,\n maxHeight: maxHeightRef.current,\n maxSnap: maxSnapRef.current,\n // Using defaultSnapRef instead of minSnapRef to avoid animating `height` on open\n minSnap: defaultSnapRef.current,\n immediate: true,\n });\n }, [asyncSet]),\n activate: useCallback(async () => {\n canDragRef.current = true;\n await Promise.all([\n scrollLockRef.current.activate(),\n focusTrapRef.current.activate(),\n ariaHiderRef.current.activate(),\n ]);\n }, [ariaHiderRef, focusTrapRef, scrollLockRef]),\n deactivate: useCallback(async () => {\n scrollLockRef.current.deactivate();\n focusTrapRef.current.deactivate();\n ariaHiderRef.current.deactivate();\n canDragRef.current = false;\n }, [ariaHiderRef, focusTrapRef, scrollLockRef]),\n openImmediately: useCallback(async () => {\n heightRef.current = defaultSnapRef.current;\n await asyncSet({\n y: defaultSnapRef.current,\n ready: 1,\n maxHeight: maxHeightRef.current,\n maxSnap: maxSnapRef.current,\n // Using defaultSnapRef instead of minSnapRef to avoid animating `height` on open\n minSnap: defaultSnapRef.current,\n immediate: true,\n });\n }, [asyncSet]),\n openSmoothly: useCallback(async () => {\n await asyncSet({\n y: 0,\n ready: 1,\n maxHeight: maxHeightRef.current,\n maxSnap: maxSnapRef.current,\n // Using defaultSnapRef instead of minSnapRef to avoid animating `height` on open\n minSnap: defaultSnapRef.current,\n immediate: true,\n });\n\n heightRef.current = defaultSnapRef.current;\n\n await asyncSet({\n y: defaultSnapRef.current,\n ready: 1,\n maxHeight: maxHeightRef.current,\n maxSnap: maxSnapRef.current,\n // Using defaultSnapRef instead of minSnapRef to avoid animating `height` on open\n minSnap: defaultSnapRef.current,\n immediate: prefersReducedMotion.current,\n });\n }, [asyncSet, prefersReducedMotion]),\n // @ts-ignore\n snapSmoothly: useCallback(\n async (context: { y: number; velocity: number }) => {\n const snap = findSnapRef.current(context.y);\n heightRef.current = snap;\n lastSnapRef.current = snap;\n await asyncSet({\n y: snap,\n ready: 1,\n maxHeight: maxHeightRef.current,\n maxSnap: maxSnapRef.current,\n minSnap: minSnapRef.current,\n immediate: prefersReducedMotion.current,\n config: { velocity: context.velocity },\n });\n },\n [asyncSet, lastSnapRef, prefersReducedMotion]\n ),\n resizeSmoothly: useCallback(async () => {\n const snap = findSnapRef.current(heightRef.current);\n heightRef.current = snap;\n lastSnapRef.current = snap;\n await asyncSet({\n y: snap,\n ready: 1,\n maxHeight: maxHeightRef.current,\n maxSnap: maxSnapRef.current,\n minSnap: minSnapRef.current,\n immediate: resizeSourceRef.current === 'element' ? prefersReducedMotion.current : true,\n });\n }, [asyncSet, lastSnapRef, prefersReducedMotion]),\n closeSmoothly: useCallback(async () => {\n // Avoid animating the height property on close and stay within FLIP bounds by upping the minSnap\n asyncSet({\n minSnap: heightRef.current,\n immediate: true,\n });\n\n heightRef.current = 0;\n\n await asyncSet({\n y: 0,\n maxHeight: maxHeightRef.current,\n maxSnap: maxSnapRef.current,\n immediate: prefersReducedMotion.current,\n });\n\n await asyncSet({ ready: 0, immediate: true });\n }, [asyncSet, prefersReducedMotion]),\n },\n });\n\n useEffect(() => {\n if (!ready) return;\n\n if (_open) {\n send('OPEN');\n } else {\n send('CLOSE');\n }\n }, [_open, send, ready]);\n\n useLayoutEffect(() => {\n // Adjust the height whenever the snap points are changed due to resize events\n if (maxHeight || maxSnap || minSnap) {\n send('RESIZE');\n }\n }, [maxHeight, maxSnap, minSnap, send]);\n\n useEffect(\n () => () => {\n // Ensure effects are cleaned up on unmount, in case they're not cleaned up otherwise\n scrollLockRef.current.deactivate();\n focusTrapRef.current.deactivate();\n ariaHiderRef.current.deactivate();\n },\n [ariaHiderRef, focusTrapRef, scrollLockRef]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n snapTo: (numberOrCallback, { velocity = 1, source = 'custom' } = {}) => {\n send('SNAP', {\n payload: {\n y: findSnapRef.current(numberOrCallback),\n velocity,\n source,\n },\n });\n },\n // @ts-ignore\n get height() {\n return heightRef.current;\n },\n }),\n [send]\n );\n\n useEffect(() => {\n const elem = bodyRef.current;\n\n const preventScrolling = (e: Event) => {\n if (preventScrollingRef.current) {\n e.preventDefault();\n }\n };\n\n const preventSafariOverscroll = (e: Event) => {\n if (elem && elem.scrollTop < 0) {\n requestAnimationFrame(() => {\n elem.style.overflow = 'hidden';\n elem.scrollTop = 0;\n elem.style.removeProperty('overflow');\n });\n e.preventDefault();\n }\n };\n\n if (expandOnContentDrag) {\n elem?.addEventListener('scroll', preventScrolling);\n elem?.addEventListener('touchmove', preventScrolling);\n elem?.addEventListener('touchstart', preventSafariOverscroll);\n }\n return () => {\n elem?.removeEventListener('scroll', preventScrolling);\n elem?.removeEventListener('touchmove', preventScrolling);\n elem?.removeEventListener('touchstart', preventSafariOverscroll);\n };\n }, [expandOnContentDrag, bodyRef]);\n\n const handleDrag = ({\n args: [{ closeOnTap = false, isContentDragging = false } = {}] = [],\n cancel,\n direction: [, direction],\n down,\n first,\n last,\n memo = spring.y.get(),\n movement: [, _my],\n tap,\n velocity,\n }: HandleDrag) => {\n const my = _my * -1;\n\n // Cancel the drag operation if the canDrag state changed\n if (!canDragRef.current) {\n cancel();\n return memo;\n }\n\n if (onClose && closeOnTap && tap) {\n cancel();\n // Runs onClose in a timeout to avoid tap events on the backdrop from triggering click events on elements underneath\n setTimeout(() => onClose(), 0);\n return memo;\n }\n\n // Filter out taps\n if (tap) {\n return memo;\n }\n\n const rawY = memo + my;\n const predictedDistance = my * velocity;\n const predictedY = Math.max(minSnapRef.current, Math.min(maxSnapRef.current, rawY + predictedDistance * 2));\n\n if (!down && onClose && direction > 0 && rawY + predictedDistance < minSnapRef.current / 2) {\n cancel();\n onClose();\n return memo;\n }\n\n /* eslint-disable no-nested-ternary */\n let newY = down\n ? !onClose && minSnapRef.current === maxSnapRef.current\n ? rawY < minSnapRef.current\n ? rubberbandIfOutOfBounds(rawY, minSnapRef.current, maxSnapRef.current * 2, 0.55)\n : rubberbandIfOutOfBounds(rawY, minSnapRef.current / 2, maxSnapRef.current, 0.55)\n : rubberbandIfOutOfBounds(rawY, onClose ? 0 : minSnapRef.current, maxSnapRef.current, 0.55)\n : predictedY;\n\n if (expandOnContentDrag && isContentDragging) {\n if (newY >= maxSnapRef.current) {\n newY = maxSnapRef.current;\n }\n\n if (memo === maxSnapRef.current && bodyRef.current && bodyRef.current.scrollTop > 0) {\n newY = maxSnapRef.current;\n }\n\n preventScrollingRef.current = newY < maxSnapRef.current;\n } else {\n preventScrollingRef.current = false;\n }\n\n if (first) {\n send('DRAG');\n }\n\n if (last) {\n send('SNAP', {\n payload: {\n y: newY,\n velocity: velocity > 0.05 ? velocity : 1,\n source: 'dragging',\n },\n });\n\n return memo;\n }\n\n set({\n y: newY,\n ready: 1,\n maxHeight: maxHeightRef.current,\n maxSnap: maxSnapRef.current,\n minSnap: minSnapRef.current,\n immediate: true,\n config: { velocity },\n });\n\n return memo;\n };\n\n const bind = useDrag(handleDrag, {\n filterTaps: true,\n });\n\n if (Number.isNaN(maxSnapRef.current)) {\n throw new TypeError('maxSnapRef is NaN!!');\n }\n\n if (Number.isNaN(minSnapRef.current)) {\n throw new TypeError('minSnapRef is NaN!!');\n }\n\n const interpolations = useSpringInterpolations({ spring });\n\n return (\n <animated.div\n {...props}\n data-rsbs-root\n data-rsbs-state={publicStates.find(current.matches)}\n data-rsbs-is-blocking={blocking}\n data-rsbs-is-dismissable={!!onClose}\n data-rsbs-has-header={!!header}\n data-rsbs-has-footer={!!footer}\n className={className}\n ref={containerRef}\n style={{\n // spread in the interpolations yeees\n ...interpolations,\n // but allow overriding them/disabling them\n ...style,\n // Not overridable as the \"focus lock with opacity 0\" trick rely on it\n opacity: spring.ready,\n }}\n data-test-id={dataTestId}\n >\n {sibling}\n {blocking && (\n <Box\n // This component needs to be placed outside bottom-sheet, as bottom-sheet uses transform and thus creates a new context\n // that clips this element to the container, not allowing it to cover the full page.\n key=\"backdrop\"\n data-rsbs-backdrop\n {...(onCloseWhenClickOutside ? bind({ closeOnTap: onCloseWhenClickOutside }) : {})}\n />\n )}\n <Box\n {...(styles?.overlay ? { style: styles.overlay } : {})}\n data-rsbs-overlay\n data-rsbs-overlay-has-padding-x={defaultPxCondition}\n data-rsbs-overlay-has-padding-y={defaultPyCondition}\n data-test-id=\"CT-BottomSheet-Overlay\"\n key=\"overlay\"\n aria-modal=\"true\"\n role=\"dialog\"\n tabIndex={-1}\n ref={overlayRef as never}\n onKeyDown={(event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Escape') {\n // Always stop propagation, to avoid weirdness for bottom sheets inside other bottom sheets\n event.stopPropagation();\n if (onClose) onClose();\n }\n }}\n >\n <BottomSheetHeader\n ref={headerRef}\n title={title}\n header={header}\n showBack={showBack}\n showClose={showClose}\n bind={bind}\n hasHandleBar={hasHandleBar}\n onBack={onBack}\n onClose={onClose}\n style={styles?.header}\n />\n <Box\n {...(styles?.body ? { style: styles.body } : {})}\n key=\"scroll\"\n data-rsbs-scroll\n data-rsbs-scroll-has-padding-x={defaultPxCondition}\n data-rsbs-scroll-has-padding-y={defaultPyCondition}\n ref={bodyRef as never}\n {...(expandOnContentDrag ? bind({ isContentDragging: true }) : {})}\n >\n <Box {...(styles?.content ? { style: styles.content } : {})} data-rsbs-content ref={contentRef as never}>\n {children}\n </Box>\n </Box>\n {footer && (\n <Box\n {...(styles?.footer ? { style: styles.footer } : {})}\n key=\"footer\"\n ref={footerRef as never}\n data-rsbs-footer\n {...bind()}\n >\n {footer}\n </Box>\n )}\n </Box>\n </animated.div>\n );\n});\n\nexport default BottomSheet;\n","import '../core/src/theme/styles/theme.css.ts.vanilla.css?source=#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';\nimport '../core/src/theme/styles/globals.css.ts.vanilla.css?source=#H4sIAAAAAAAAA7WSwWrDMBBE7/4K3RpDBWnJITgUeulXlB5W8joSliWzWidxS/69WEmaJiVOoORkdmfnjQf0WmNfETQYBdm2dfhWVahZfGVCcEgfIZjAxypQU4ioweFkli+SEFrQlvtCTId5m20zFco+uRToekmh86XUwQUqxNpYxuFuP6+AJlKq6Of19KnKF9k2g2Td69YbJMvD3vq240fBuGEg3F2Fjp31WAgffMKqQCXSca6CZ1lBY11/FtbkP3q0n3imbpI6sKVBuzR8qj+b9KtFIdeoassyagrOKSCpA3mks/qnbnvRzKZr1KgX82NNSVDaLp4ezObj9AI02xWOhsAVhAmrKxXxMoFA16Pectx7S4FriOsFdoT05t65b/HlISKQNg8fv6hpIzV4jU6qjjn4BD0cQNsi0CAfX+Tf3Y0xJepAwPaeGYSxcxzv3uWQ879O3xi8MUO4BAAA';\nimport '../core/src/theme/styles/utilityClasses.css.ts.vanilla.css?source=Ll8xZjIzd29pMDpkaXNhYmxlZCB7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICBvcGFjaXR5OiB2YXIoLS1ic244azA0Mik7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLl8xZjIzd29pMTo6LXdlYmtpdC1zY3JvbGxiYXIgewogIHdpZHRoOiB2YXIoLS1ic244azA2MSk7CiAgaGVpZ2h0OiB2YXIoLS1ic244azA2MSk7Cn0KLl8xZjIzd29pMTo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHsKICB3aWR0aDogdmFyKC0tYnNuOGswNjEpOwogIGhlaWdodDogdmFyKC0tYnNuOGswNjEpOwp9';\nimport 'src/components/tabs/tab-item.css.ts.vanilla.css?source=Ll81d2l3dXQwIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgY29sb3I6IHZhcigtLWJzbjhrMDFnKTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwogIHBhZGRpbmctdG9wOiB2YXIoLS1ic244azA0Zik7CiAgcGFkZGluZy1ib3R0b206IHZhcigtLWJzbjhrMDRmKTsKICBwYWRkaW5nLWxlZnQ6IHZhcigtLWJzbjhrMDRpKTsKICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ic244azA0aSk7CiAgZm9udC1zaXplOiAxNHB4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGluZS1oZWlnaHQ6IDIwcHg7Cn0KLl81d2l3dXQwOmhvdmVyIHsKICBjdXJzb3I6IHBvaW50ZXI7CiAgY29sb3I6IHZhcigtLWJzbjhrMGEpOwogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsKICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4Owp9Ci5fNXdpd3V0MSB7CiAgY29sb3I6IHZhcigtLWJzbjhrMGEpOwp9Ci5fNXdpd3V0MTphZnRlciB7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAycHg7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnNuOGswYSk7CiAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBsZWZ0OiA1MCU7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7CiAgYm90dG9tOiAwOwogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDsKICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4OwogIHotaW5kZXg6IDE7Cn0=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var tabItemRecipe = _7a468({defaultClassName:'_5wiwut0',variantClassNames:{isActive:{true:'_5wiwut1'}},defaultVariants:{isActive:false},compoundVariants:[]});","import clsx from 'clsx';\nimport type { ElementType, HTMLAttributes, PropsWithChildren, ReactElement } from 'react';\nimport { Children, cloneElement, createContext, forwardRef, useEffect, useMemo, useState } from 'react';\n\nimport type { TabsRecipe } from './tabs.css';\nimport * as styles from './tabs.css';\n\nexport type TabsProperties = Omit<HTMLAttributes<HTMLUListElement>, 'as' | 'ref'>;\n\ntype BaseTabsProps = TabsProperties &\n TabsRecipe & {\n as?: ElementType;\n defaultIndex?: number;\n index?: number;\n align?: string;\n 'data-test-id'?: string;\n withShadow?: boolean;\n onChange?: (index: number) => void;\n className?: string;\n };\n\nexport type TabsContextProps = {\n index?: number;\n setIndex?: (index: number) => void;\n};\n\nexport const TabsContext = createContext<TabsContextProps>({\n index: 0,\n setIndex: () => null,\n});\n\nconst Tabs = forwardRef<TabsProperties, PropsWithChildren<BaseTabsProps>>(\n (\n {\n as = 'ul',\n children,\n withShadow = false,\n index = 0,\n defaultIndex = 0,\n align = 'left',\n onChange = () => null,\n className,\n ...props\n },\n ref\n ) => {\n const Component = as || 'ul';\n const [activeTabs, setActiveTabs] = useState<number>(defaultIndex ?? 0);\n const tabsChild = useMemo(\n () =>\n Children.map(children, (child, idx) => {\n return cloneElement(child as ReactElement<HTMLLIElement & { 'data-index': number }>, {\n 'data-index': idx,\n });\n }),\n [children]\n );\n const tabsContextValue = useMemo(() => {\n const setIndex = (val: number) => {\n setActiveTabs(val);\n onChange?.(val);\n };\n return { index: activeTabs, setIndex };\n }, [activeTabs, onChange]);\n\n useEffect(() => setActiveTabs(index ?? 0), [index]);\n\n return (\n <Component\n data-test-id={props['data-test-id']}\n as={as}\n ref={ref}\n className={clsx(\n styles.tabsRecipe({\n withShadow,\n align,\n }),\n className\n )}\n {...props}\n >\n <TabsContext.Provider value={tabsContextValue}>{tabsChild}</TabsContext.Provider>\n </Component>\n );\n }\n);\n\nexport type TabsProps = Parameters<typeof Tabs>[0];\n\nTabs.displayName = 'Tabs';\n\nexport default Tabs;\n","import '../core/src/theme/styles/theme.css.ts.vanilla.css?source=#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';\nimport '../core/src/theme/styles/globals.css.ts.vanilla.css?source=#H4sIAAAAAAAAA7WSwWrDMBBE7/4K3RpDBWnJITgUeulXlB5W8joSliWzWidxS/69WEmaJiVOoORkdmfnjQf0WmNfETQYBdm2dfhWVahZfGVCcEgfIZjAxypQU4ioweFkli+SEFrQlvtCTId5m20zFco+uRToekmh86XUwQUqxNpYxuFuP6+AJlKq6Of19KnKF9k2g2Td69YbJMvD3vq240fBuGEg3F2Fjp31WAgffMKqQCXSca6CZ1lBY11/FtbkP3q0n3imbpI6sKVBuzR8qj+b9KtFIdeoassyagrOKSCpA3mks/qnbnvRzKZr1KgX82NNSVDaLp4ezObj9AI02xWOhsAVhAmrKxXxMoFA16Pectx7S4FriOsFdoT05t65b/HlISKQNg8fv6hpIzV4jU6qjjn4BD0cQNsi0CAfX+Tf3Y0xJepAwPaeGYSxcxzv3uWQ879O3xi8MUO4BAAA';\nimport '../core/src/theme/styles/utilityClasses.css.ts.vanilla.css?source=Ll8xZjIzd29pMDpkaXNhYmxlZCB7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICBvcGFjaXR5OiB2YXIoLS1ic244azA0Mik7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLl8xZjIzd29pMTo6LXdlYmtpdC1zY3JvbGxiYXIgewogIHdpZHRoOiB2YXIoLS1ic244azA2MSk7CiAgaGVpZ2h0OiB2YXIoLS1ic244azA2MSk7Cn0KLl8xZjIzd29pMTo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHsKICB3aWR0aDogdmFyKC0tYnNuOGswNjEpOwogIGhlaWdodDogdmFyKC0tYnNuOGswNjEpOwp9';\nimport 'src/components/tabs/tabs.css.ts.vanilla.css?source=Ll8xcDV6ZHZyMCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzbjhrMGQpOwogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgcGFkZGluZy1sZWZ0OiAxNnB4OwogIHBhZGRpbmctcmlnaHQ6IDE2cHg7CiAgZGlzcGxheTogZmxleDsKICBvdmVyZmxvdy14OiBhdXRvOwp9Ci5fMXA1emR2cjA6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICBkaXNwbGF5OiBub25lOwp9Ci5fMXA1emR2cjEgewogIGJveC1zaGFkb3c6IDBweCA0cHggMzJweCByZ2JhKDAsIDAsIDAsIDAuMTIpOwp9Ci5fMXA1emR2cjIgewogIGp1c3RpZnktY29udGVudDogbGVmdDsKfQouXzFwNXpkdnIzIHsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouXzFwNXpkdnI0IHsKICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0Owp9';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var tabsRecipe = _7a468({defaultClassName:'_1p5zdvr0',variantClassNames:{withShadow:{true:'_1p5zdvr1'},align:{left:'_1p5zdvr2',center:'_1p5zdvr3',right:'_1p5zdvr4'}},defaultVariants:{withShadow:false,align:'left'},compoundVariants:[]});","import clsx from 'clsx';\nimport type { ElementType, LiHTMLAttributes, PropsWithChildren } from 'react';\nimport { forwardRef, useCallback, useContext } from 'react';\n\nimport { Text } from '../../layouts';\nimport type { TabItemRecipe } from './tab-item.css';\nimport * as styles from './tab-item.css';\nimport { TabsContext } from './tabs';\n\nexport type TabItemProperties = Omit<LiHTMLAttributes<HTMLLIElement>, 'as' | 'ref'>;\n\ntype BaseTabItemProps = TabItemProperties &\n TabItemRecipe & {\n as?: ElementType;\n 'data-index'?: number;\n 'data-test-id'?: string;\n };\n\nconst TabItem = forwardRef<TabItemProperties, PropsWithChildren<BaseTabItemProps>>(\n ({ as = 'li', children, ...props }, ref) => {\n const { index, setIndex } = useContext(TabsContext);\n\n const handleClick = useCallback(\n (val: number) => {\n setIndex?.(val);\n },\n [setIndex]\n );\n\n const isActive = props['data-index'] === index;\n const Component = as || 'li';\n\n return (\n <Component\n data-test-id={props['data-test-id']}\n as={as}\n ref={ref}\n onClick={() => handleClick(props['data-index'] || 0)}\n className={clsx(\n styles.tabItemRecipe({\n isActive,\n })\n )}\n {...props}\n >\n <Text as=\"span\" textStyle=\"body2\">\n {children}\n </Text>\n </Component>\n );\n }\n);\n\nexport type TabItemProps = Parameters<typeof TabItem>[0];\n\nTabItem.displayName = 'TabItem';\n\nexport default TabItem;\n","import { Provider as TooltipProvider } from '@radix-ui/react-tooltip';\nimport type { FC, PropsWithChildren } from 'react';\n\nimport { Toaster } from '../components/toast';\n\nexport const RadixProvider: FC<PropsWithChildren> = ({ children }) => {\n return (\n <TooltipProvider>\n {children}\n <Toaster />\n </TooltipProvider>\n );\n};\n\nRadixProvider.displayName = 'RadixProvider';\n\nexport default RadixProvider;\n","import { scrollbarStyle, theme } from '@ctlyst.id/voila-ui-core';\nimport clsx from 'clsx';\nimport type { FC, ReactNode } from 'react';\n\nimport { RadixProvider } from './radix-provider';\n\ninterface ProviderProps {\n children: ReactNode;\n withScrollStyles?: boolean;\n}\n\nconst Provider: FC<ProviderProps> = ({ children, withScrollStyles = false }) => (\n <div id=\"voila-ui\" style={{ fontFamily: theme.fonts.poppins }} className={clsx(withScrollStyles ?? scrollbarStyle)}>\n <RadixProvider>{children}</RadixProvider>\n </div>\n);\n\nProvider.displayName = 'Provider';\n\nexport default Provider;\n"]}
1
+ {"version":3,"sources":["vanilla-extract-css-ns:src/components/bottom-sheet/bottom-sheet.css.ts.vanilla.css?source=#H4sIAAAAAAAAA+1Y627bNhT+76cgAhSxOjOQ2thNVWTYY2wo8uNIpCTONCmQlONkyLsPJCVbsijXWS4dhgFJ4PByrt/5zjG/EzCAlc40ziBfEyXrO/TXDKFHzAShuxRtQc0xzrS4Wcdf/oy+zRCSW6p0riTnOKMVbJlUKRJSULtpZJNXGHLDpDis1lIzv1KwHSV2SbGyMimK7edMGiM37T+cFt16o6nCmnKam4MsfE+zNTPYQI0rVlbcCsK55NYMo0DoGhQVZnDWWZUD57IxfWPrzgLI16WSjSCdJFVmMI8XqP25una+3zPOcV6BKGmKZA05Mw92PW+UtrdqyYShyoXJ76Yo+TZ7mn0/RDqXwlBhfKBtMAsu71NUMUKoODpbSGmo8kcLTndYV4qJdWt1p1VorKhmjz7WQAgTJc64zNfDBF7TqH+CCc4EPTrCIp8RqwqINSxGOKl3KPYhuV4tll8Xq9UiB57P/dW+W7j1O0IfUXyVfFpGEVqgGH1yInrns3KPpmEATqNv716LGWdGsqp36BdExXauoaAYFAXMhKamPRdFR4GtoAvu7WUBXNPLOzSVo2OVJ9QEtFQUyIQWvzVU4jDpnLqZ9MnIeuxQT9Z7IiVYo+ck8IWOphktpKLO3zZbKbq4GLINZFryxjibCNM1h4cUOXd9MRNTDW1ceb8r6tlpsJVEe844z+yOy5bxB3fTclMh1aalKQ6G/j7Hy/hDFKagvvYyHAZcgSCc4gzU7YVD2MUgMnunfWYGEpj2mWeiDKLTViaHBw+pI0JY1ju0ig+s8PlmcfN1kSTLRXyVJL7i+6zR34+Xx74wjQnTG6Y1ZJwGjRm2pwCczxGYbsDkFdXz3lFtwNDbS1lTwUR5eTfeyrnUbitCIQEtHvv3XHO8G9N4hH5FHz3td83hBIG+k0+TQQ7Z2J0410ijGpvIf1PcWpNe1e1BqexrztLwsLKHNU1c3TuyJkzRdmbKJW82YsxCfUW4iqYY5TOxU0vgyv4EfogWKB6PM16dXd7ADgfI8fox+hG5/3dmw0wqy68KCGt0ityE4f7E/ncCAWkh80Z7IDXGd80A9yopzV0KhaEq1MH+TwDqRmlMt1QY3UvMyWrqaiapd4MKwVKxkom0deeoenQO3FZOMqgcEIaVUGO366omGVfNXspRhlsyG89jyb7oS2W7afLDuCm6pepUyMYHBsmBxki3udHDDbyRFkvMMOCjlHa3DgN6f2WEMYtgYKJvRHezjQUTZeoh2BsDgzPlYESMT8zUYy7vh30gZqQmlK0zq3eiFZ9osy9rNx54r2hC97XyGW311W3ovrD8TBs6tLyTDfuB7OfBIWjCO8MhaMM7wyFow9vA4TUGzn+k5m3SOtbzNqmb5vaX6enxASWXbacIzhpT1zxuzr3nG6XtWl0/ejh8wx21qTj0xnXcAgMyd2GZvXmtWzrMds9uq8/x4mmmKOQVrqUywNtojQbN3gvsxJjZH0WnB9+n2W8bShig+YYJ+yZgn32cqk+krneR03/6EenkA42fEP+Yx1dflm5EeZo9/Q2E2gSMPRcAAA==","../src/components/bottom-sheet/bottom-sheet.css.ts","../src/components/bottom-sheet/index.tsx","../src/components/bottom-sheet/bottom-sheet.header.tsx","../src/components/bottom-sheet/hooks/use-aria-hider.ts","../src/components/bottom-sheet/hooks/use-focus-trap.ts","../src/components/bottom-sheet/hooks/use-layout-effect.ts","../src/components/bottom-sheet/hooks/use-ready.ts","../src/components/bottom-sheet/hooks/use-reduced-motion.ts","../src/components/bottom-sheet/hooks/use-scroll-lock.ts","../src/components/bottom-sheet/utils.ts","../src/components/bottom-sheet/hooks/use-snap-points.ts","../src/components/bottom-sheet/hooks/use-spring.ts","../src/components/bottom-sheet/hooks/use-spring-interpolations.ts","../src/components/bottom-sheet/machines/overlay.ts","../src/components/bottom-sheet/bottom-sheet.tsx","../src/components/tabs/tab-item.css.ts","../src/components/tabs/tabs.tsx","../src/components/tabs/tabs.css.ts","../src/components/tabs/tab-item.tsx","../src/provider/radix-provider.tsx","../src/provider/provider.tsx"],"names":["init_Q2E2gSMPRcAAA","__esmMin","require_bottom_sheet_css","__commonJSMin","init_BWcrN6QVHQAA","init_HlISKQNg8fv6hpIzV4jU6qjjn4BD0cQNsi0CAfX_Tf3Y0xJepAwPaeGYSxcxzv3uWQ879O3xi8MUO4BAAA","init_utilityClasses_css_ts_vanilla","$t","BottomSheetHeader","forwardRef","header","onBack","onClose","showBack","showClose","title","bind","hasHandleBar","style","ref","createElement","box_default","jsxs","flex_default","jsx","ChevronLeftLarge","theme","text_default","close_button_default","bottom_sheet_header_default","useAriaHider","targetRef","enabled","useRef","useDebugValue","useEffect","target","active","originalValues","rootNodes","parentNode","node","attr","index","originalValue","useFocusTrap","fallbackRef","initialFocusRef","fallback","trap","createFocusTrap","resolve","useLayoutEffect","useLayoutEffectSafely","useReady","ready","setReady","useState","readyMap","updateReadyMap","registerReady","useCallback","key","prevState","states","isReady","useReducedMotion","mql","useMemo","handler","event","useScrollLock","reserveScrollBarGap","disableBodyScroll","el","enableBodyScroll","clamp","number","lower","upper","roundAndCheckForNaN","unrounded","rounded","processSnapPoints","unsafeSnaps","maxHeight","snapPointsDedupedSet","acc","snapPoint","snapPoints","minSnap","maxSnap","debugging","observerOptions","useElementSizeObserver","label","resizeSourceRef","size","setSize","handleResize","entries","resizeObserver","ResizeObserver","useMaxHeight","controlledMaxHeight","defaultMaxHeight","setMaxHeight","raf","useDimensions","contentRef","footerEnabled","footerRef","headerEnabled","headerRef","conditions","headerHeight","contentHeight","footerHeight","defaultContentPadding","defaultHeaderPadding","defaultCustomHeaderPadding","minHeight","useSnapPoints","getSnapPoints","heightRef","lastSnapRef","findSnap","numberOrCallback","unsafeSearch","querySnap","prev","curr","useSpring","useReactSpring","useSpringInterpolations","spring","interpolateBorderRadius","to","y","interpolateHeight","interpolateY","interpolateFiller","interpolateContentOpacity","minX","maxX","minY","slope","res","interpolateBackdrop","sleep","ms","cancelOpen","openToDrag","openToResize","initiallyOpen","initialState","initiallyClosed","overlayMachine","Machine","assign","_","velocity","source","context","tension","friction","config","publicStates","defaultSnap","lastSnap","defaultSnapPoints","BottomSheet","children","sibling","className","footer","_open","getDefaultSnap","blocking","scrollLocking","onSpringStart","onSpringCancel","onSpringEnd","expandOnContentDrag","onCloseWhenClickOutside","dataTestId","padding","styles","refs","props","canDragRef","onSpringStartRef","onSpringCancelRef","onSpringEndRef","set","containerRef","bodyRef","overlayRef","useImperativeHandle","preventScrollingRef","prefersReducedMotion","x","defaultPxCondition","defaultPyCondition","scrollLockRef","ariaHiderRef","focusTrapRef","maxHeightRef","minSnapRef","maxSnapRef","findSnapRef","defaultSnapRef","asyncSet","onRest","rest","opts","args","current","send","useMachine","_a","snap","elem","preventScrolling","e","preventSafariOverscroll","useDrag","closeOnTap","isContentDragging","cancel","direction","down","first","last","memo","_my","tap","my","rawY","predictedDistance","predictedY","newY","rubberbandIfOutOfBounds","interpolations","animated","skipInitialTransition","mounted","setMounted","timerRef","initialStateRef","handleSpringStart","handleSpringEnd","Portal","tabItemRecipe","_7a468","tabsRecipe","TabsContext","createContext","Tabs","as","withShadow","defaultIndex","align","onChange","Component","activeTabs","setActiveTabs","tabsChild","Children","child","idx","cloneElement","tabsContextValue","val","clsx","tabs_default","TabItem","setIndex","useContext","handleClick","isActive","tab_item_default","RadixProvider","TooltipProvider","toaster_default","radix_provider_default","Provider","withScrollStyles","scrollbarStyle","provider_default"],"mappings":"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","file":"index.js","sourcesContent":["[data-rsbs-backdrop] {\n z-index: var(--bsn8k07j);\n overscroll-behavior: none;\n touch-action: none;\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n top: 0;\n background-color: rgba(0, 0, 0, 0.4);\n will-change: opacity;\n cursor: pointer;\n opacity: 1;\n}\n[data-rsbs-content] {\n overflow: hidden;\n}\n[data-rsbs-footer] {\n flex-shrink: 0;\n cursor: ns-resize;\n padding-block: var(--bsn8k04e);\n padding-inline: var(--bsn8k04i);\n box-shadow: 0 -1px 0 rgba(46,59,66,calc(var(--rsbs-content-opacity) * 0.125)) , 0 2px 0 var(--rsbs-bg);\n overflow: hidden;\n z-index: var(--bsn8k07j);\n padding-bottom: calc(16px + env(safe-area-inset-bottom));\n}\n[data-rsbs-has-footer='false'] [data-rsbs-content] {\n padding-bottom: env(safe-area-inset-bottom);\n}\n[data-rsbs-has-header='false'] [data-rsbs-header] {\n padding-top: calc(8px + env(safe-area-inset-top));\n}\n[data-rsbs-header] {\n flex-shrink: 0;\n cursor: ns-resize;\n padding-block: var(--bsn8k04e);\n padding-inline: var(--bsn8k04i);\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n z-index: var(--bsn8k07j);\n padding-top: calc(8px + env(safe-area-inset-top));\n}\n[data-rsbs-header]:before {\n content: \"\";\n position: absolute;\n display: block;\n width: var(--bsn8k06e);\n height: var(--bsn8k061);\n top: calc(8px + env(safe-area-inset-top));\n left: 50%;\n transform: translateX(-50%);\n background-color: var(--bsn8k0g);\n}\n[data-rsbs-header-handle-bar=\"false\"]:before {\n display: none;\n}\n[data-rsbs-is-blocking='false'] [data-rsbs-overlay] {\n box-shadow: 0 -5px 60px 0 rgba(38,89,115,0.11) , 0 -1px 0 rgba(38,89,115,0.05);\n}\n[data-rsbs-is-dismissable='false'] [data-rsbs-backdrop] {\n cursor: ns-resize;\n}\n[data-rsbs-is-dismissable='false']:matches([data-rsbs-state='opening'][data-rsbs-state='closing']) :matches([data-rsbs-header][data-rsbs-scroll][data-rsbs-footer]) > * {\n opacity: var(--rsbs-content-opacity);\n}\n[data-rsbs-is-dismissable='false']:matches([data-rsbs-state='opening'][data-rsbs-state='closing']) [data-rsbs-backdrop] {\n opacity: var(--rsbs-backdrop-opacity);\n}\n[data-rsbs-is-dismissable='true'] :matches([data-rsbs-header][data-rsbs-scroll][data-rsbs-footer]) > * {\n opacity: var(--rsbs-content-opacity);\n}\n[data-rsbs-is-dismissable='true'] [data-rsbs-backdrop] {\n opacity: var(--rsbs-backdrop-opacity);\n}\n[data-rsbs-overlay] {\n display: flex;\n background: var(--bsn8k0d);\n flex-direction: column;\n height: var(--rsbs-overlay-h);\n transform: translate3d(0, var(--rsbs-overlay-translate-y), 0);\n will-change: height;\n max-width: var(--bsn8k04z);\n z-index: var(--bsn8k07j);\n overscroll-behavior: none;\n touch-action: none;\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n border-radius: 16px 16px 0px 0px;\n}\n[data-rsbs-overlay]:focus {\n outline: none;\n}\n[data-rsbs-root]:after {\n content: \"\";\n max-width: var(--bsn8k04z);\n z-index: var(--bsn8k07j);\n overscroll-behavior: none;\n touch-action: none;\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n -webkit-touch-callout: none;\n pointer-events: none;\n background: var(--bsn8k0d);\n height: 1px;\n transform-origin: bottom;\n transform: scale3d(1, var(--rsbs-antigap-scale-y), 1);\n will-change: transform;\n}\n[data-rsbs-scroll] {\n flex-shrink: 1;\n flex-grow: 1;\n -webkit-tap-highlight-color: revert;\n -webkit-touch-callout: revert;\n -webkit-user-select: auto;\n -moz-user-select: auto;\n user-select: auto;\n overflow: auto;\n overscroll-behavior: contain;\n -webkit-overflow-scrolling: touch;\n padding: var(--bsn8k04i);\n padding-top: 0;\n}\n[data-rsbs-has-header='true'] [data-rsbs-scroll] {\n padding-top: var(--bsn8k04i);\n}\n[data-rsbs-scroll]:focus {\n outline: none;\n}\n[data-rsbs-is-dismissable='false'][data-rsbs-state='closing'] [data-rsbs-backdrop] {\n opacity: var(--rsbs-backdrop-opacity, 1);\n}\n[data-rsbs-is-dismissable='false'][data-rsbs-state='closing'] [data-rsbs-footer] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-is-dismissable='false'][data-rsbs-state='closing'] [data-rsbs-header] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-is-dismissable='false'][data-rsbs-state='closing'] [data-rsbs-scroll] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-is-dismissable='false'][data-rsbs-state='opening'] [data-rsbs-backdrop] {\n opacity: var(--rsbs-backdrop-opacity, 1);\n}\n[data-rsbs-is-dismissable='false'][data-rsbs-state='opening'] [data-rsbs-footer] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-is-dismissable='false'][data-rsbs-state='opening'] [data-rsbs-header] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-is-dismissable='false'][data-rsbs-state='opening'] [data-rsbs-scroll] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-is-dismissable='true'] [data-rsbs-backdrop] {\n opacity: var(--rsbs-backdrop-opacity, 1);\n}\n[data-rsbs-is-dismissable='true'] [data-rsbs-footer] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-is-dismissable='true'] [data-rsbs-header] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-is-dismissable='true'] [data-rsbs-scroll] > * {\n opacity: var(--rsbs-content-opacity, 1);\n}\n[data-rsbs-state='closed'] {\n pointer-events: none;\n}\n[data-rsbs-state='closing'] {\n pointer-events: none;\n}\n[data-rsbs-scroll-has-padding-y='false'] {\n padding-top: 0;\n padding-bottom: 0;\n}\n[data-rsbs-scroll-has-padding-x='false'] {\n padding-left: 0;\n padding-right: 0;\n}\n[data-rsbs-has-header='true'] [data-rsbs-scroll-has-padding-y='false'] {\n padding-top: 0;\n}\nreach-portal {\n position: fixed;\n top: 0;\n bottom: 0;\n left: 0;\n right: 0;\n z-index: var(--bsn8k07j);\n}\n@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {\n [data-rsbs-header]:before {\n transform: translateX(-50%) scaleY(0.75);\n }\n}","import '../core/src/theme/styles/theme.css.ts.vanilla.css?source=#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';\nimport '../core/src/theme/styles/globals.css.ts.vanilla.css?source=#H4sIAAAAAAAAA7WSwWrDMBBE7/4K3RpDBWnJITgUeulXlB5W8joSliWzWidxS/69WEmaJiVOoORkdmfnjQf0WmNfETQYBdm2dfhWVahZfGVCcEgfIZjAxypQU4ioweFkli+SEFrQlvtCTId5m20zFco+uRToekmh86XUwQUqxNpYxuFuP6+AJlKq6Of19KnKF9k2g2Td69YbJMvD3vq240fBuGEg3F2Fjp31WAgffMKqQCXSca6CZ1lBY11/FtbkP3q0n3imbpI6sKVBuzR8qj+b9KtFIdeoassyagrOKSCpA3mks/qnbnvRzKZr1KgX82NNSVDaLp4ezObj9AI02xWOhsAVhAmrKxXxMoFA16Pectx7S4FriOsFdoT05t65b/HlISKQNg8fv6hpIzV4jU6qjjn4BD0cQNsi0CAfX+Tf3Y0xJepAwPaeGYSxcxzv3uWQ879O3xi8MUO4BAAA';\nimport '../core/src/theme/styles/utilityClasses.css.ts.vanilla.css?source=Ll8xZjIzd29pMDpkaXNhYmxlZCB7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICBvcGFjaXR5OiB2YXIoLS1ic244azA0Mik7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLl8xZjIzd29pMTo6LXdlYmtpdC1zY3JvbGxiYXIgewogIHdpZHRoOiB2YXIoLS1ic244azA2MSk7CiAgaGVpZ2h0OiB2YXIoLS1ic244azA2MSk7Cn0KLl8xZjIzd29pMTo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHsKICB3aWR0aDogdmFyKC0tYnNuOGswNjEpOwogIGhlaWdodDogdmFyKC0tYnNuOGswNjEpOwp9';\nimport 'src/components/bottom-sheet/bottom-sheet.css.ts.vanilla.css?source=#H4sIAAAAAAAAA+1Y627bNhT+76cgAhSxOjOQ2thNVWTYY2wo8uNIpCTONCmQlONkyLsPJCVbsijXWS4dhgFJ4PByrt/5zjG/EzCAlc40ziBfEyXrO/TXDKFHzAShuxRtQc0xzrS4Wcdf/oy+zRCSW6p0riTnOKMVbJlUKRJSULtpZJNXGHLDpDis1lIzv1KwHSV2SbGyMimK7edMGiM37T+cFt16o6nCmnKam4MsfE+zNTPYQI0rVlbcCsK55NYMo0DoGhQVZnDWWZUD57IxfWPrzgLI16WSjSCdJFVmMI8XqP25una+3zPOcV6BKGmKZA05Mw92PW+UtrdqyYShyoXJ76Yo+TZ7mn0/RDqXwlBhfKBtMAsu71NUMUKoODpbSGmo8kcLTndYV4qJdWt1p1VorKhmjz7WQAgTJc64zNfDBF7TqH+CCc4EPTrCIp8RqwqINSxGOKl3KPYhuV4tll8Xq9UiB57P/dW+W7j1O0IfUXyVfFpGEVqgGH1yInrns3KPpmEATqNv716LGWdGsqp36BdExXauoaAYFAXMhKamPRdFR4GtoAvu7WUBXNPLOzSVo2OVJ9QEtFQUyIQWvzVU4jDpnLqZ9MnIeuxQT9Z7IiVYo+ck8IWOphktpKLO3zZbKbq4GLINZFryxjibCNM1h4cUOXd9MRNTDW1ceb8r6tlpsJVEe844z+yOy5bxB3fTclMh1aalKQ6G/j7Hy/hDFKagvvYyHAZcgSCc4gzU7YVD2MUgMnunfWYGEpj2mWeiDKLTViaHBw+pI0JY1ju0ig+s8PlmcfN1kSTLRXyVJL7i+6zR34+Xx74wjQnTG6Y1ZJwGjRm2pwCczxGYbsDkFdXz3lFtwNDbS1lTwUR5eTfeyrnUbitCIQEtHvv3XHO8G9N4hH5FHz3td83hBIG+k0+TQQ7Z2J0410ijGpvIf1PcWpNe1e1BqexrztLwsLKHNU1c3TuyJkzRdmbKJW82YsxCfUW4iqYY5TOxU0vgyv4EfogWKB6PM16dXd7ADgfI8fox+hG5/3dmw0wqy68KCGt0ityE4f7E/ncCAWkh80Z7IDXGd80A9yopzV0KhaEq1MH+TwDqRmlMt1QY3UvMyWrqaiapd4MKwVKxkom0deeoenQO3FZOMqgcEIaVUGO366omGVfNXspRhlsyG89jyb7oS2W7afLDuCm6pepUyMYHBsmBxki3udHDDbyRFkvMMOCjlHa3DgN6f2WEMYtgYKJvRHezjQUTZeoh2BsDgzPlYESMT8zUYy7vh30gZqQmlK0zq3eiFZ9osy9rNx54r2hC97XyGW311W3ovrD8TBs6tLyTDfuB7OfBIWjCO8MhaMM7wyFow9vA4TUGzn+k5m3SOtbzNqmb5vaX6enxASWXbacIzhpT1zxuzr3nG6XtWl0/ejh8wx21qTj0xnXcAgMyd2GZvXmtWzrMds9uq8/x4mmmKOQVrqUywNtojQbN3gvsxJjZH0WnB9+n2W8bShig+YYJ+yZgn32cqk+krneR03/6EenkA42fEP+Yx1dflm5EeZo9/Q2E2gSMPRcAAA==';","import './bottom-sheet.css';\n\nimport { Portal } from '@reach/portal';\nimport { forwardRef, useCallback, useRef, useState } from 'react';\n\nimport { BottomSheet as Sheet } from './bottom-sheet';\nimport type { Props, RefHandles, SpringEvent } from './bottom-sheet.types';\nimport { useLayoutEffect } from './hooks';\n\nexport type { Props as BottomSheetProps, RefHandles as BottomSheetRef } from './bottom-sheet.types';\n\n// Because SSR is annoying to deal with, and all the million complaints about window, navigator and dom elenents!\nexport const BottomSheet = forwardRef<RefHandles, Props>(function BottomSheet(\n { onSpringStart, onSpringEnd, skipInitialTransition, ...props },\n ref\n) {\n // Mounted state, helps SSR but also ensures you can't tab into the sheet while it's closed, or nav there in a screen reader\n const [mounted, setMounted] = useState(false);\n const timerRef = useRef<ReturnType<typeof requestAnimationFrame>>();\n // The last point that the user snapped to, useful for open/closed toggling and the user defined height is remembered\n const lastSnapRef = useRef(null);\n // And informs what we should animate from. If the sheet is mounted with open = true, then initialState = OPEN.\n // When initialState = CLOSED, then internal sheet must first render with open={false} before setting open={props.open}\n // It's only when initialState and props.open is mismatching that a intial transition should happen\n // If they match then transitions will only happen when a user interaction or resize event happen.\n const initialStateRef = useRef<'OPEN' | 'CLOSED'>(skipInitialTransition && props.isOpen ? 'OPEN' : 'CLOSED');\n\n // Using layout effect to support cases where the bottom sheet have to appear already open, no transition\n // eslint-disable-next-line consistent-return\n useLayoutEffect(() => {\n if (props.isOpen) {\n cancelAnimationFrame(timerRef.current as number);\n setMounted(true);\n\n // Cleanup defaultOpen state on close\n return () => {\n initialStateRef.current = 'CLOSED';\n };\n }\n\n return () => {\n initialStateRef.current = 'CLOSED';\n };\n }, [props.isOpen]);\n\n const handleSpringStart = useCallback(\n async function handleSpringStart(event: SpringEvent) {\n // Forward the event\n await onSpringStart?.(event);\n\n if (event.type === 'OPEN') {\n // Ensures that when it's opening we abort any pending unmount action\n cancelAnimationFrame(timerRef.current as number);\n }\n },\n [onSpringStart]\n );\n\n const handleSpringEnd = useCallback(\n async function handleSpringEnd(event: SpringEvent) {\n // Forward the event\n await onSpringEnd?.(event);\n\n if (event.type === 'CLOSE') {\n // Unmount from the dom to avoid contents being tabbable or visible to screen readers while closed\n timerRef.current = requestAnimationFrame(() => setMounted(false));\n }\n },\n [onSpringEnd]\n );\n\n // This isn't just a performance optimization, it's also to avoid issues when running a non-browser env like SSR\n if (!mounted) {\n return null;\n }\n\n return (\n <Portal data-rsbs-portal>\n <Sheet\n {...props}\n lastSnapRef={lastSnapRef}\n ref={ref}\n initialState={initialStateRef.current}\n onSpringStart={handleSpringStart}\n onSpringEnd={handleSpringEnd}\n />\n </Portal>\n );\n});\n","import { ChevronLeftLarge } from '@ctlyst.id/icons/v2';\nimport { theme } from '@ctlyst.id/voila-ui-core';\nimport type { ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { ReactEventHandlers } from 'react-use-gesture/dist/types';\n\nimport { Box, Flex, Text } from '../../layouts';\nimport { CloseButton } from '../close-button';\n\ntype BottomSheetHeaderProps = {\n title?: string;\n header?: ReactNode;\n showBack?: boolean;\n showClose?: boolean;\n hasHandleBar?: boolean;\n bind?: (...args: never[]) => ReactEventHandlers;\n onBack?: () => void;\n onClose?: () => void;\n style?: React.CSSProperties;\n};\n\nconst BottomSheetHeader = forwardRef<HTMLDivElement, BottomSheetHeaderProps>(\n ({ header, onBack, onClose, showBack, showClose = true, title, bind, hasHandleBar = true, style }, ref) => {\n if (header !== false) {\n return (\n <Box\n {...(style ? { style } : {})}\n key=\"header\"\n data-rsbs-header\n data-rsbs-header-handle-bar={hasHandleBar}\n ref={ref as never}\n {...(hasHandleBar ? bind?.() : {})}\n >\n {header || (\n <Flex alignItems=\"center\" justifyContent=\"space-between\" pt={hasHandleBar ? '$16' : '$8'} pb=\"$8\" gap=\"$16\">\n <Flex alignItems=\"center\" gap=\"$16\">\n {showBack && (\n <ChevronLeftLarge\n cursor=\"pointer\"\n onClick={onBack}\n size={18}\n color={theme.colors.black}\n data-test-id=\"vds-BS-back-btn\"\n />\n )}\n {title && (\n <Text fontWeight=\"$bold\" textStyle=\"subtitle2\" m=\"$0\">\n {title}\n </Text>\n )}\n </Flex>\n {showClose && <CloseButton variant=\"large\" onClick={onClose} data-test-id=\"vds-BS-close-btn\" />}\n </Flex>\n )}\n </Box>\n );\n }\n\n return <Box key=\"header\" data-rsbs-header ref={ref as never} {...bind?.()} />;\n }\n);\n\nexport default BottomSheetHeader;\n","import type { RefObject } from 'react';\nimport { useDebugValue, useEffect, useRef } from 'react';\n\n// Handle hiding and restoring aria-hidden attributes\nexport function useAriaHider({ targetRef, enabled }: { targetRef: RefObject<Element>; enabled: boolean }) {\n const ref = useRef<{ activate: () => void; deactivate: () => void }>({\n activate: () => {\n throw new TypeError('Tried to activate aria hider too early');\n },\n deactivate: () => undefined,\n });\n\n useDebugValue(enabled ? 'Enabled' : 'Disabled');\n\n useEffect(() => {\n if (!enabled) {\n ref.current.deactivate();\n ref.current = { activate: () => undefined, deactivate: () => undefined };\n return;\n }\n\n const target = targetRef.current;\n let active = false;\n let originalValues: (null | string)[] = [];\n let rootNodes: Element[] = [];\n\n ref.current = {\n activate: () => {\n if (active) return;\n active = true;\n\n const { parentNode } = target as Element;\n\n document.querySelectorAll('body > *').forEach(node => {\n if (node === parentNode) {\n return;\n }\n const attr = node.getAttribute('aria-hidden');\n const alreadyHidden = attr !== null && attr !== 'false';\n if (alreadyHidden) {\n return;\n }\n originalValues.push(attr);\n rootNodes.push(node);\n node.setAttribute('aria-hidden', 'true');\n });\n },\n deactivate: () => {\n if (!active) return;\n active = false;\n\n rootNodes.forEach((node, index) => {\n const originalValue = originalValues[index];\n if (originalValue === null) {\n node.removeAttribute('aria-hidden');\n } else {\n node.setAttribute('aria-hidden', originalValue);\n }\n });\n originalValues = [];\n rootNodes = [];\n },\n };\n }, [targetRef, enabled]);\n\n return ref;\n}\n\nexport default useAriaHider;\n","import type { FocusTargetOrFalse } from 'focus-trap';\nimport { createFocusTrap } from 'focus-trap';\nimport type { RefObject } from 'react';\nimport { useDebugValue, useEffect, useRef } from 'react';\n\nexport function useFocusTrap({\n targetRef,\n fallbackRef,\n initialFocusRef,\n enabled,\n}: {\n targetRef: RefObject<HTMLElement>;\n fallbackRef: RefObject<HTMLElement>;\n initialFocusRef?: RefObject<HTMLElement>;\n enabled: boolean;\n}) {\n const ref = useRef<{ activate: () => void; deactivate: () => void }>({\n activate: () => {\n throw new TypeError('Tried to activate focus trap too early');\n },\n deactivate: () => undefined,\n });\n\n useDebugValue(enabled ? 'Enabled' : 'Disabled');\n\n useEffect(() => {\n if (!enabled) {\n ref.current.deactivate();\n ref.current = { activate: () => undefined, deactivate: () => undefined };\n return;\n }\n\n const fallback = fallbackRef.current;\n const trap = createFocusTrap(targetRef.current as HTMLElement, {\n onActivate:\n process.env.NODE_ENV !== 'production'\n ? () => {\n console.log('focus activate');\n }\n : undefined,\n // If initialFocusRef is manually specified we don't want the first tabbable element to receive focus if initialFocusRef can't be found\n initialFocus: (initialFocusRef ? () => initialFocusRef?.current || fallback : undefined) as FocusTargetOrFalse,\n fallbackFocus: fallback as HTMLElement,\n escapeDeactivates: false,\n clickOutsideDeactivates: false,\n });\n let active = false;\n\n ref.current = {\n activate: async () => {\n if (active) return;\n active = true;\n\n await trap.activate();\n // it's difficult to know exactly when focus is udpated https://github.com/focus-trap/focus-trap/blob/036a72ec48b85414dda00ec0c40d631c8f0ae5ce/index.js#L369-L371\n // This timeout is attempting to compromise between a reasonable guess, as well as not delaying the open transition more than necessary\n // eslint-disable-next-line no-promise-executor-return\n await new Promise(resolve => setTimeout(() => resolve(1), 0));\n },\n deactivate: () => {\n if (!active) return;\n active = false;\n\n trap.deactivate();\n },\n };\n }, [enabled, fallbackRef, initialFocusRef, targetRef]);\n\n return ref;\n}\n\nexport default useFocusTrap;\n","import { useEffect, useLayoutEffect as useLayoutEffectSafely } from 'react';\n\n// Ensure the name used in components is useLayoutEffect so the eslint react hooks plugin works\nexport const useLayoutEffect = typeof window !== 'undefined' ? useLayoutEffectSafely : useEffect;\n\nexport default useLayoutEffect;\n","// Keeps track of wether everything is good to go or not, in the most efficient way possible\nimport { useCallback, useEffect, useState } from 'react';\n\nexport function useReady() {\n const [ready, setReady] = useState(false);\n const [readyMap, updateReadyMap] = useState<{ [key: string]: boolean }>({});\n\n const registerReady = useCallback((key: string) => {\n console.count(`registerReady:${key}`);\n // Register the check we're gonna wait for until it's ready\n updateReadyMap(prevState => ({ ...prevState, [key]: false }));\n\n return () => {\n console.count(`setReady:${key}`);\n // Set it to ready\n updateReadyMap(prevState => ({ ...prevState, [key]: true }));\n };\n }, []);\n\n useEffect(() => {\n const states = Object.values(readyMap);\n\n if (states.length === 0) {\n console.log('nope nothing registered yet');\n return;\n }\n\n const isReady = states.every(Boolean);\n console.log('check if we are rready', readyMap, isReady);\n if (isReady) {\n console.warn('ready!');\n setReady(true);\n }\n }, [readyMap]);\n\n return { ready, registerReady };\n}\n\nexport default useReady;\n","import { useDebugValue, useEffect, useMemo, useRef } from 'react';\n\nexport function useReducedMotion() {\n const mql = useMemo(\n () => (typeof window !== 'undefined' ? window.matchMedia('(prefers-reduced-motion: reduce)') : null),\n []\n );\n const ref = useRef(mql?.matches);\n\n useDebugValue(ref.current ? 'reduce' : 'no-preference');\n\n useEffect(() => {\n const handler = (event: MediaQueryListEvent) => {\n ref.current = event.matches;\n };\n mql?.addListener(handler);\n\n return () => mql?.removeListener(handler);\n }, [mql]);\n\n return ref;\n}\n\nexport default useReducedMotion;\n","import { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';\nimport type { RefObject } from 'react';\nimport { useDebugValue, useEffect, useRef } from 'react';\n\n/**\n * Handle scroll locking to ensure a good dragging experience on Android and iOS.\n *\n * On iOS the following may happen if scroll isn't locked:\n * - When dragging the sheet the background gets dragged at the same time.\n * - When dragging the page scroll is also affected, causing the drag to feel buggy and \"slow\".\n *\n * On Android it causes the chrome toolbar to pop down as you drag down, and hide as you drag up.\n * When it's in between two toolbar states it causes the framerate to drop way below 60fps on\n * the bottom sheet drag interaction.\n */\nexport function useScrollLock({\n targetRef,\n enabled,\n reserveScrollBarGap,\n}: {\n targetRef: RefObject<Element | HTMLElement>;\n enabled: boolean;\n reserveScrollBarGap: boolean;\n}) {\n const ref = useRef<{ activate: () => void; deactivate: () => void }>({\n activate: () => {\n throw new TypeError('Tried to activate scroll lock too early');\n },\n deactivate: () => undefined,\n });\n\n useDebugValue(enabled ? 'Enabled' : 'Disabled');\n\n useEffect(() => {\n if (!enabled) {\n ref.current.deactivate();\n ref.current = { activate: () => undefined, deactivate: () => undefined };\n return;\n }\n\n const target = targetRef.current as Element | HTMLElement;\n let active = false;\n\n ref.current = {\n activate: () => {\n if (active) return;\n active = true;\n disableBodyScroll(target, {\n allowTouchMove: el => el.closest('[data-body-scroll-lock-ignore]') as unknown as boolean,\n reserveScrollBarGap,\n });\n },\n deactivate: () => {\n if (!active) return;\n active = false;\n enableBodyScroll(target);\n },\n };\n }, [enabled, targetRef, reserveScrollBarGap]);\n\n return ref;\n}\n\nexport default useScrollLock;\n","/* eslint-disable no-param-reassign */\nexport function clamp(number: number, lower: number, upper: number) {\n number = +number;\n lower = +lower;\n upper = +upper;\n\n /* eslint-disable no-self-compare */\n lower = lower === lower ? lower : 0;\n upper = upper === upper ? upper : 0;\n if (number === number) {\n number = number <= upper ? number : upper;\n number = number >= lower ? number : lower;\n }\n return number;\n}\n\nexport function deleteNaN(arr: never) {\n const set = new Set(arr);\n set.delete(NaN);\n return [...(set as never)];\n}\n\nexport function roundAndCheckForNaN(unrounded: number) {\n const rounded = Math.round(unrounded);\n if (Number.isNaN(unrounded)) {\n throw new TypeError('Found a NaN! Check your snapPoints / defaultSnap / snapTo ');\n }\n\n return rounded;\n}\n\n// Validate, sanitize, round and dedupe snap points, as well as extracting the minSnap and maxSnap points\nexport function processSnapPoints(unsafeSnaps: number | number[], maxHeight: number) {\n const safeSnaps = [].concat(unsafeSnaps as never).map(roundAndCheckForNaN);\n\n const snapPointsDedupedSet = safeSnaps.reduce((acc, snapPoint) => {\n acc.add(clamp(snapPoint, 0, maxHeight));\n return acc;\n }, new Set<number>());\n\n const snapPoints = Array.from(snapPointsDedupedSet);\n\n const minSnap = Math.min(...snapPoints);\n if (Number.isNaN(minSnap)) {\n throw new TypeError('minSnap is NaN');\n }\n const maxSnap = Math.max(...snapPoints);\n if (Number.isNaN(maxSnap)) {\n throw new TypeError('maxSnap is NaN');\n }\n\n return {\n snapPoints,\n minSnap,\n maxSnap,\n };\n}\n\nexport const debugging =\n process.env.NODE_ENV === 'development' && typeof window !== 'undefined' ? window.location.search === '?debug' : false;\n","import type { ResizeObserverEntry } from '@juggle/resize-observer';\nimport { ResizeObserver } from '@juggle/resize-observer';\nimport type { ResizeObserverOptions } from '@juggle/resize-observer/lib/ResizeObserverOptions';\nimport type { MutableRefObject, RefObject } from 'react';\nimport { useCallback, useDebugValue, useEffect, useMemo, useRef, useState } from 'react';\n\nimport type { Conditions, defaultSnapProps, ResizeSource, snapPoints } from '../bottom-sheet.types';\nimport { processSnapPoints, roundAndCheckForNaN } from '../utils';\nimport { useLayoutEffect } from './use-layout-effect';\nimport type { useReady } from './use-ready';\n\nconst observerOptions: ResizeObserverOptions = {\n // Respond to changes to padding, happens often on iOS when using env(safe-area-inset-bottom)\n // And the user hides or shows the Safari browser toolbar\n box: 'border-box',\n};\n/**\n * Hook for determining the size of an element using the Resize Observer API.\n *\n * @param ref - A React ref to an element\n */\nfunction useElementSizeObserver(\n ref: RefObject<Element>,\n {\n label,\n enabled,\n resizeSourceRef,\n }: {\n label: string;\n enabled: boolean;\n resizeSourceRef: MutableRefObject<ResizeSource>;\n }\n): number {\n const [size, setSize] = useState(0);\n\n useDebugValue(`${label}: ${size}`);\n\n const handleResize = useCallback(\n (entries: ResizeObserverEntry[]) => {\n // we only observe one element, so accessing the first entry here is fine\n setSize(entries[0].borderBoxSize[0].blockSize);\n /* eslint-disable no-param-reassign */\n resizeSourceRef.current = 'element';\n },\n [resizeSourceRef]\n );\n\n useLayoutEffect(() => {\n if (!ref.current || !enabled) {\n return;\n }\n\n const resizeObserver = new ResizeObserver(handleResize);\n resizeObserver.observe(ref.current, observerOptions);\n\n /* eslint-disable consistent-return */\n return () => resizeObserver.disconnect();\n }, [ref, handleResize, enabled]);\n\n return enabled ? size : 0;\n}\n\n// Blazingly keep track of the current viewport height without blocking the thread, keeping that sweet 60fps on smartphones\nfunction useMaxHeight(\n controlledMaxHeight: number,\n registerReady: ReturnType<typeof useReady>['registerReady'],\n resizeSourceRef: MutableRefObject<ResizeSource>\n) {\n const setReady = useMemo(() => registerReady('maxHeight'), [registerReady]);\n const defaultMaxHeight = window.innerHeight * 0.75;\n const [maxHeight, setMaxHeight] = useState(() =>\n roundAndCheckForNaN(controlledMaxHeight) || typeof window !== 'undefined' ? defaultMaxHeight : 0\n );\n const ready = maxHeight > 0;\n const raf = useRef(0);\n\n useDebugValue(controlledMaxHeight ? 'controlled' : 'auto');\n\n useEffect(() => {\n if (ready) {\n setReady();\n }\n }, [ready, setReady]);\n\n useLayoutEffect(() => {\n // Bail if the max height is a controlled prop\n if (controlledMaxHeight) {\n setMaxHeight(roundAndCheckForNaN(controlledMaxHeight));\n resizeSourceRef.current = 'maxheightprop';\n\n return;\n }\n\n const handleResize = () => {\n if (raf.current) {\n // bail to throttle the amount of resize changes\n return;\n }\n\n // throttle state changes using rAF\n raf.current = requestAnimationFrame(() => {\n setMaxHeight(defaultMaxHeight);\n resizeSourceRef.current = 'window';\n\n raf.current = 0;\n });\n };\n window.addEventListener('resize', handleResize);\n setMaxHeight(defaultMaxHeight);\n resizeSourceRef.current = 'window';\n setReady();\n\n return () => {\n window.removeEventListener('resize', handleResize);\n cancelAnimationFrame(raf.current);\n };\n }, [controlledMaxHeight, setReady, resizeSourceRef, defaultMaxHeight]);\n\n return maxHeight;\n}\n\nfunction useDimensions({\n contentRef,\n controlledMaxHeight,\n footerEnabled,\n footerRef,\n headerEnabled,\n headerRef,\n registerReady,\n resizeSourceRef,\n conditions,\n}: {\n contentRef: RefObject<Element>;\n controlledMaxHeight?: number;\n footerEnabled: boolean;\n footerRef: RefObject<Element>;\n headerEnabled: boolean;\n headerRef: RefObject<Element>;\n registerReady: ReturnType<typeof useReady>['registerReady'];\n resizeSourceRef: MutableRefObject<ResizeSource>;\n conditions?: Conditions;\n}) {\n const setReady = useMemo(() => registerReady('contentHeight'), [registerReady]);\n const maxHeight = useMaxHeight(controlledMaxHeight as number, registerReady, resizeSourceRef);\n\n // @TODO probably better to forward props instead of checking refs to decide if it's enabled\n const headerHeight = useElementSizeObserver(headerRef, {\n label: 'headerHeight',\n enabled: headerEnabled,\n resizeSourceRef,\n });\n const contentHeight = useElementSizeObserver(contentRef, {\n label: 'contentHeight',\n enabled: true,\n resizeSourceRef,\n });\n const footerHeight = useElementSizeObserver(footerRef, {\n label: 'footerHeight',\n enabled: footerEnabled,\n resizeSourceRef,\n });\n const defaultContentPadding = conditions?.hasPaddingY ? 16 : 0;\n const defaultHeaderPadding = conditions?.hasHeader ? 0 : 20;\n const defaultCustomHeaderPadding = conditions?.hasCustomHeader ? 16 : 0;\n\n const minHeight =\n Math.min(maxHeight - headerHeight - footerHeight, contentHeight + defaultContentPadding) +\n (headerHeight + defaultHeaderPadding + defaultCustomHeaderPadding) +\n footerHeight;\n\n useDebugValue(`minHeight: ${minHeight}`);\n\n const ready = contentHeight > 0;\n useEffect(() => {\n if (ready) {\n setReady();\n }\n }, [ready, setReady]);\n\n return {\n maxHeight,\n minHeight,\n headerHeight,\n footerHeight,\n };\n}\n\nexport function useSnapPoints({\n contentRef,\n controlledMaxHeight,\n footerEnabled,\n footerRef,\n getSnapPoints,\n headerEnabled,\n headerRef,\n heightRef,\n lastSnapRef,\n ready,\n registerReady,\n resizeSourceRef,\n conditions,\n}: {\n contentRef: RefObject<Element>;\n controlledMaxHeight?: number;\n footerEnabled: boolean;\n footerRef: RefObject<Element>;\n getSnapPoints: snapPoints;\n headerEnabled: boolean;\n headerRef: RefObject<Element>;\n heightRef: RefObject<number>;\n lastSnapRef: RefObject<number>;\n ready: boolean;\n registerReady: ReturnType<typeof useReady>['registerReady'];\n resizeSourceRef: MutableRefObject<ResizeSource>;\n conditions?: Conditions;\n}) {\n const { maxHeight, minHeight, headerHeight, footerHeight } = useDimensions({\n contentRef,\n controlledMaxHeight,\n footerEnabled,\n footerRef,\n headerEnabled,\n headerRef,\n registerReady,\n resizeSourceRef,\n conditions,\n });\n\n const { snapPoints, minSnap, maxSnap } = processSnapPoints(\n ready\n ? getSnapPoints({\n height: heightRef.current as number,\n footerHeight,\n headerHeight,\n minHeight,\n maxHeight,\n })\n : [0],\n maxHeight\n );\n // console.log({ snapPoints, minSnap, maxSnap })\n\n // @TODO investigate the gains from memoizing this\n function findSnap(numberOrCallback: number | ((state: defaultSnapProps) => number)) {\n let unsafeSearch: number;\n if (typeof numberOrCallback === 'function') {\n unsafeSearch = numberOrCallback({\n footerHeight,\n headerHeight,\n height: heightRef.current as number,\n minHeight,\n maxHeight,\n snapPoints,\n lastSnap: lastSnapRef.current,\n });\n } else {\n unsafeSearch = numberOrCallback;\n }\n const querySnap = roundAndCheckForNaN(unsafeSearch);\n return snapPoints.reduce(\n (prev, curr) => (Math.abs(curr - querySnap) < Math.abs(prev - querySnap) ? curr : prev),\n minSnap\n );\n }\n\n useDebugValue(`minSnap: ${minSnap}, maxSnap:${maxSnap}`);\n\n return { minSnap, maxSnap, findSnap, maxHeight };\n}\n\nexport default useSnapPoints;\n","import { useSpring as useReactSpring } from 'react-spring';\n\n// Behold, the engine of it all!\n// Put in this file befause it makes it easier to type and I'm lazy! :D\nexport function useSpring() {\n return useReactSpring(() => ({\n y: 0,\n ready: 0,\n maxHeight: 0,\n minSnap: 0,\n maxSnap: 0,\n }));\n}\n\nexport type Spring = ReturnType<typeof useSpring>[0];\nexport type SpringSet = ReturnType<typeof useSpring>[1];\n","import { to } from 'react-spring';\n\nimport { clamp } from '../utils';\nimport type { Spring } from './use-spring';\n\n// It's a bit easier to ensure interpolations don't accidentally use the wrong variables by\n// putting them here, in their own closure with explicitly defined variables used\n\n// Note that the callbacks in the interpolation functions close over their scope every time react renders\n// so it's important that if anything can change outside of render that needs to be available\n// in the interpolation then a ref must be used\n\nexport function useSpringInterpolations({ spring }: { spring: Spring }): React.CSSProperties {\n // This effect is for removing rounded corners on phones when the sheet touches the top of the browser chrome\n // as it's really ugly with the gaps border radius creates. This ensures it looks sleek.\n const interpolateBorderRadius = to([spring.y, spring.maxHeight], (y, maxHeight) => {\n return `${Math.round(clamp(maxHeight - y, 0, 16))}px`;\n });\n\n /*\n * Only animate the height when absolute necessary\n */\n const interpolateHeight = to(\n [spring.y, spring.minSnap, spring.maxSnap],\n (y, minSnap, maxSnap) => `${clamp(y, minSnap, maxSnap)}px`\n );\n\n const interpolateY = to([spring.y, spring.minSnap, spring.maxSnap], (y, minSnap, maxSnap) => {\n if (y < minSnap) {\n return `${minSnap - y}px`;\n }\n\n if (y > maxSnap) {\n return `${maxSnap - y}px`;\n }\n\n return '0px';\n });\n\n const interpolateFiller = to([spring.y, spring.maxSnap], (y, maxSnap) => {\n if (y >= maxSnap) {\n return Math.ceil(y - maxSnap);\n }\n\n return 0;\n });\n\n const interpolateContentOpacity = to([spring.y, spring.minSnap], (y, minSnap) => {\n if (!minSnap) {\n return 0;\n }\n\n const minX = Math.max(minSnap / 2 - 45, 0);\n const maxX = Math.min(minSnap / 2 + 45, minSnap);\n const minY = 0;\n const maxY = 1;\n\n const slope = (maxY - minY) / (maxX - minX);\n const res = (y - minX) * (slope + minY);\n return clamp(res, 0, 1);\n });\n\n const interpolateBackdrop = to([spring.y, spring.minSnap], (y, minSnap) => (minSnap ? clamp(y / minSnap, 0, 1) : 0));\n\n return {\n // Fancy content fade-in effect\n ['--rsbs-content-opacity' as string]: interpolateContentOpacity,\n // Fading in the backdrop\n ['--rsbs-backdrop-opacity' as string]: interpolateBackdrop,\n // Scaling the antigap in the bottom\n ['--rsbs-antigap-scale-y' as string]: interpolateFiller,\n // Shifts the position of the bottom sheet, used on open and close primarily as snap point changes usually only interpolate the height\n ['--rsbs-overlay-translate-y' as string]: interpolateY,\n // Remove rounded borders when full height, it looks much better this way\n ['--rsbs-overlay-rounded' as string]: interpolateBorderRadius,\n // Animates the height state, not the most performant way but it's the safest with regards to mobile browser and focus/scrolling that could happen while animating\n ['--rsbs-overlay-h' as string]: interpolateHeight,\n };\n}\n\nexport default useSpringInterpolations;\n","/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport { assign, Machine } from 'xstate';\n\nimport type { OverlayContext, OverlayEvent, OverlayStateSchema } from './types';\n\nfunction sleep(ms = 1000) {\n // eslint-disable-next-line no-promise-executor-return\n return new Promise(resolve => setTimeout(resolve, ms));\n}\n\nconst cancelOpen = {\n CLOSE: { target: '#overlay.closing', actions: 'onOpenCancel' },\n};\n\nconst openToDrag = {\n DRAG: { target: '#overlay.dragging', actions: 'onOpenEnd' },\n};\n\nconst openToResize = {\n RESIZE: { target: '#overlay.resizing', actions: 'onOpenEnd' },\n};\n\nconst initiallyOpen = ({ initialState }: OverlayContext) => initialState === 'OPEN';\nconst initiallyClosed = ({ initialState }: OverlayContext) => initialState === 'CLOSED';\n\n// Copy paste the machine into https://xstate.js.org/viz/ to make sense of what's going on in here ;)\nexport const overlayMachine = Machine<OverlayContext, OverlayStateSchema, OverlayEvent>(\n {\n id: 'overlay',\n initial: 'closed',\n context: { initialState: 'CLOSED' },\n states: {\n closed: { on: { OPEN: 'opening', CLOSE: undefined } },\n opening: {\n initial: 'start',\n states: {\n start: {\n invoke: {\n src: 'onOpenStart',\n onDone: 'transition',\n },\n },\n transition: {\n always: [\n { target: 'immediately', cond: 'initiallyOpen' },\n { target: 'smoothly', cond: 'initiallyClosed' },\n ],\n },\n immediately: {\n initial: 'open',\n states: {\n open: {\n invoke: { src: 'openImmediately', onDone: 'activating' },\n },\n activating: {\n invoke: { src: 'activate', onDone: '#overlay.opening.end' },\n on: { ...openToDrag, ...openToResize },\n },\n },\n },\n smoothly: {\n initial: 'visuallyHidden',\n states: {\n visuallyHidden: {\n invoke: { src: 'renderVisuallyHidden', onDone: 'activating' },\n },\n activating: {\n invoke: { src: 'activate', onDone: 'open' },\n },\n open: {\n invoke: { src: 'openSmoothly', onDone: '#overlay.opening.end' },\n on: { ...openToDrag, ...openToResize },\n },\n },\n },\n end: {\n invoke: { src: 'onOpenEnd', onDone: 'done' },\n on: { CLOSE: '#overlay.closing', DRAG: '#overlay.dragging' },\n },\n done: {\n type: 'final',\n },\n },\n on: { ...cancelOpen },\n onDone: 'open',\n },\n open: {\n on: { DRAG: '#overlay.dragging', SNAP: 'snapping', RESIZE: 'resizing' },\n },\n dragging: {\n on: { SNAP: 'snapping' },\n },\n snapping: {\n initial: 'start',\n states: {\n start: {\n invoke: {\n src: 'onSnapStart',\n onDone: 'snappingSmoothly',\n },\n entry: [\n assign({\n // @ts-ignore\n y: (_: unknown, { payload: { y } }) => y,\n // @ts-ignore\n velocity: (_: unknown, { payload: { velocity } }) => velocity,\n snapSource: (_: unknown, { payload: { source = 'custom' } }) => source,\n }),\n ],\n },\n snappingSmoothly: {\n invoke: { src: 'snapSmoothly', onDone: 'end' },\n },\n end: {\n invoke: { src: 'onSnapEnd', onDone: 'done' },\n on: {\n RESIZE: '#overlay.resizing',\n SNAP: '#overlay.snapping',\n CLOSE: '#overlay.closing',\n DRAG: '#overlay.dragging',\n },\n },\n done: { type: 'final' },\n },\n on: {\n SNAP: { target: 'snapping', actions: 'onSnapEnd' },\n RESIZE: { target: '#overlay.resizing', actions: 'onSnapCancel' },\n DRAG: { target: '#overlay.dragging', actions: 'onSnapCancel' },\n CLOSE: { target: '#overlay.closing', actions: 'onSnapCancel' },\n },\n onDone: 'open',\n },\n resizing: {\n initial: 'start',\n states: {\n start: {\n invoke: {\n src: 'onResizeStart',\n onDone: 'resizingSmoothly',\n },\n },\n resizingSmoothly: {\n invoke: { src: 'resizeSmoothly', onDone: 'end' },\n },\n end: {\n invoke: { src: 'onResizeEnd', onDone: 'done' },\n on: {\n SNAP: '#overlay.snapping',\n CLOSE: '#overlay.closing',\n DRAG: '#overlay.dragging',\n },\n },\n done: { type: 'final' },\n },\n on: {\n RESIZE: { target: 'resizing', actions: 'onResizeEnd' },\n SNAP: { target: 'snapping', actions: 'onResizeCancel' },\n DRAG: { target: '#overlay.dragging', actions: 'onResizeCancel' },\n CLOSE: { target: '#overlay.closing', actions: 'onResizeCancel' },\n },\n onDone: 'open',\n },\n closing: {\n initial: 'start',\n states: {\n start: {\n invoke: {\n src: 'onCloseStart',\n onDone: 'deactivating',\n },\n on: { OPEN: { target: '#overlay.open', actions: 'onCloseCancel' } },\n },\n deactivating: {\n invoke: { src: 'deactivate', onDone: 'closingSmoothly' },\n },\n closingSmoothly: {\n invoke: { src: 'closeSmoothly', onDone: 'end' },\n },\n end: {\n invoke: { src: 'onCloseEnd', onDone: 'done' },\n on: {\n OPEN: { target: '#overlay.opening', actions: 'onCloseCancel' },\n },\n },\n done: { type: 'final' },\n },\n on: {\n CLOSE: undefined,\n OPEN: { target: '#overlay.opening', actions: 'onCloseCancel' },\n },\n onDone: 'closed',\n },\n },\n on: {\n CLOSE: 'closing',\n },\n },\n {\n actions: {\n onOpenCancel: (context, event) => {\n console.log('onOpenCancel', { context, event });\n },\n onSnapCancel: (context, event) => {\n console.log('onSnapCancel', { context, event });\n },\n onResizeCancel: (context, event) => {\n console.log('onResizeCancel', { context, event });\n },\n onCloseCancel: (context, event) => {\n console.log('onCloseCancel', { context, event });\n },\n onOpenEnd: (context, event) => {\n console.log('onOpenCancel', { context, event });\n },\n onSnapEnd: (context, event) => {\n console.log('onSnapEnd', { context, event });\n },\n onRezizeEnd: (context, event) => {\n console.log('onRezizeEnd', { context, event });\n },\n },\n services: {\n onSnapStart: async () => {\n await sleep();\n },\n onOpenStart: async () => {\n await sleep();\n },\n onCloseStart: async () => {\n await sleep();\n },\n onResizeStart: async () => {\n await sleep();\n },\n onSnapEnd: async () => {\n await sleep();\n },\n onOpenEnd: async () => {\n await sleep();\n },\n onCloseEnd: async () => {\n await sleep();\n },\n onResizeEnd: async () => {\n await sleep();\n },\n renderVisuallyHidden: async (context, event) => {\n console.group('renderVisuallyHidden');\n console.log({ context, event });\n await sleep();\n console.groupEnd();\n },\n activate: async (context, event) => {\n console.group('activate');\n console.log({ context, event });\n await sleep();\n console.groupEnd();\n },\n deactivate: async (context, event) => {\n console.group('deactivate');\n console.log({ context, event });\n await sleep();\n console.groupEnd();\n },\n openSmoothly: async (context, event) => {\n console.group('openSmoothly');\n console.log({ context, event });\n await sleep();\n console.groupEnd();\n },\n openImmediately: async (context, event) => {\n console.group('openImmediately');\n console.log({ context, event });\n await sleep();\n console.groupEnd();\n },\n snapSmoothly: async (context, event) => {\n console.group('snapSmoothly');\n console.log({ context, event });\n await sleep();\n console.groupEnd();\n },\n resizeSmoothly: async (context, event) => {\n console.group('resizeSmoothly');\n console.log({ context, event });\n await sleep();\n console.groupEnd();\n },\n closeSmoothly: async (context, event) => {\n console.group('closeSmoothly');\n console.log({ context, event });\n await sleep();\n console.groupEnd();\n },\n },\n guards: { initiallyClosed, initiallyOpen },\n }\n);\n\nexport default overlayMachine;\n","/*\n In order to greatly reduce complexity this component is designed to always transition to open on mount, and then\n transition to a closed state later. This ensures that all memory used to keep track of animation and gesture state\n can be reclaimed after the sheet is closed and then unmounted.\n It also ensures that when transitioning to open on mount the state is always clean, not affected by previous states that could\n cause race conditions.\n*/\n\nimport { useMachine } from '@xstate/react';\nimport type { KeyboardEvent, MutableRefObject } from 'react';\nimport { forwardRef, useCallback, useEffect, useImperativeHandle, useRef } from 'react';\nimport { animated, config } from 'react-spring';\nimport { rubberbandIfOutOfBounds, useDrag } from 'react-use-gesture';\nimport type { AnyStateMachine } from 'xstate';\n\nimport { Box } from '../../layouts';\nimport BottomSheetHeader from './bottom-sheet.header';\nimport type {\n defaultSnapProps,\n HandleDrag,\n OverlayEvent,\n OverlayEventSnap,\n Props,\n RefHandles,\n ResizeSource,\n SnapPointProps,\n} from './bottom-sheet.types';\nimport {\n useAriaHider,\n useFocusTrap,\n useLayoutEffect,\n useReady,\n useReducedMotion,\n useScrollLock,\n useSnapPoints,\n useSpring,\n useSpringInterpolations,\n} from './hooks';\nimport { overlayMachine } from './machines/overlay';\nimport { debugging } from './utils';\n\nconst { tension, friction } = config.default;\n\n// Used for the data attribute, list over states available to CSS selectors\nconst publicStates = ['closed', 'opening', 'open', 'closing', 'dragging', 'snapping', 'resizing'];\n\n// Default prop values that are callbacks, and it's nice to save some memory and reuse their instances since they're pure\nfunction defaultSnap({ snapPoints, lastSnap }: defaultSnapProps) {\n return lastSnap ?? Math.min(...snapPoints);\n}\nfunction defaultSnapPoints({ minHeight }: SnapPointProps) {\n return minHeight;\n}\n\n/* eslint-disable no-param-reassign */\nexport const BottomSheet = forwardRef<\n RefHandles,\n {\n initialState: 'OPEN' | 'CLOSED';\n lastSnapRef: MutableRefObject<number | null>;\n } & Props\n>(function Components(\n {\n children,\n sibling,\n className,\n footer,\n header,\n isOpen: _open,\n initialState,\n lastSnapRef,\n initialFocusRef,\n onClose,\n maxHeight: controlledMaxHeight,\n defaultSnap: getDefaultSnap = defaultSnap,\n snapPoints: getSnapPoints = defaultSnapPoints,\n blocking = true,\n scrollLocking = true,\n style,\n onSpringStart,\n onSpringCancel,\n onSpringEnd,\n reserveScrollBarGap = blocking,\n expandOnContentDrag = false,\n title,\n showClose,\n showBack,\n onBack,\n onCloseWhenClickOutside = true,\n hasHandleBar = true,\n 'data-test-id': dataTestId,\n padding,\n styles,\n refs,\n ...props\n },\n ref\n) {\n // Before any animations can start we need to measure a few things, like the viewport and the dimensions of content, and header + footer if they exist\n const { ready, registerReady } = useReady();\n\n // Controls the drag handler, used by spring operations that happen outside the render loop in React\n const canDragRef = useRef(false);\n\n // This way apps don't have to remember to wrap their callbacks in useCallback to avoid breaking the sheet\n const onSpringStartRef = useRef(onSpringStart);\n const onSpringCancelRef = useRef(onSpringCancel);\n const onSpringEndRef = useRef(onSpringEnd);\n\n useEffect(() => {\n onSpringStartRef.current = onSpringStart;\n onSpringCancelRef.current = onSpringCancel;\n onSpringEndRef.current = onSpringEnd;\n }, [onSpringCancel, onSpringStart, onSpringEnd]);\n\n // Behold, the engine of it all!\n const [spring, set] = useSpring();\n\n const containerRef = useRef<HTMLDivElement>(null);\n const bodyRef = useRef<HTMLDivElement>(null);\n const contentRef = useRef<HTMLDivElement>(null);\n const headerRef = useRef<HTMLDivElement>(null);\n const footerRef = useRef<HTMLDivElement>(null);\n const overlayRef = useRef<HTMLDivElement | null>(null);\n\n useImperativeHandle(refs?.body, () => bodyRef.current as HTMLDivElement);\n useImperativeHandle(refs?.content, () => contentRef.current as HTMLDivElement);\n useImperativeHandle(refs?.header, () => headerRef.current as HTMLDivElement);\n useImperativeHandle(refs?.footer, () => footerRef.current as HTMLDivElement);\n useImperativeHandle(refs?.overlay, () => overlayRef.current as HTMLDivElement);\n\n // Keeps track of the current height, or the height transitioning to\n const heightRef = useRef(0);\n const resizeSourceRef = useRef<ResizeSource>();\n const preventScrollingRef = useRef(false);\n\n const prefersReducedMotion = useReducedMotion();\n\n const { x = 'default', y = 'default' } = padding ?? {};\n const defaultPxCondition = x === 'default';\n const defaultPyCondition = y === 'default';\n\n const scrollLockRef = useScrollLock({\n targetRef: bodyRef,\n enabled: ready && scrollLocking,\n reserveScrollBarGap,\n });\n\n const ariaHiderRef = useAriaHider({\n targetRef: containerRef,\n enabled: ready && blocking,\n });\n\n const focusTrapRef = useFocusTrap({\n targetRef: containerRef,\n fallbackRef: overlayRef,\n initialFocusRef: initialFocusRef || undefined,\n enabled: ready && blocking && initialFocusRef !== false,\n });\n\n const { minSnap, maxSnap, maxHeight, findSnap } = useSnapPoints({\n contentRef,\n controlledMaxHeight,\n footerEnabled: !!footer,\n footerRef,\n getSnapPoints,\n headerEnabled: header !== false,\n headerRef,\n heightRef,\n lastSnapRef,\n ready,\n registerReady,\n resizeSourceRef: resizeSourceRef as MutableRefObject<ResizeSource>,\n conditions: {\n hasPaddingY: defaultPyCondition,\n hasHeader: header !== false,\n hasCustomHeader: !!header,\n },\n });\n\n // Setup refs that are used in cases where full control is needed over when a side effect is executed\n const maxHeightRef = useRef(maxHeight);\n const minSnapRef = useRef(minSnap);\n const maxSnapRef = useRef(maxSnap);\n const findSnapRef = useRef(findSnap);\n const defaultSnapRef = useRef(0);\n\n // Sync the refs with current state, giving the spring full control over when to respond to changes\n useLayoutEffect(() => {\n maxHeightRef.current = maxHeight;\n maxSnapRef.current = maxSnap;\n minSnapRef.current = minSnap;\n findSnapRef.current = findSnap;\n defaultSnapRef.current = findSnap(getDefaultSnap);\n }, [findSnap, getDefaultSnap, maxHeight, maxSnap, minSnap]);\n\n // New utility for using events safely\n /* eslint-disable no-promise-executor-return */\n /* eslint-disable @typescript-eslint/ban-ts-comment */\n const asyncSet = useCallback<typeof set>(\n // @ts-ignore\n ({ onRest, config: { velocity = 1, ...rest } = {}, ...opts }) =>\n // @ts-ignore\n new Promise(resolve =>\n set({\n ...opts,\n config: {\n velocity,\n ...rest,\n // @see https://springs.pomb.us\n mass: 1,\n // \"stiffness\"\n tension,\n // \"damping\"\n friction: Math.max(friction, friction + (friction - friction * velocity)),\n },\n onRest: (...args) => {\n // @ts-ignore\n resolve(...args);\n onRest?.(...args);\n },\n })\n ),\n [set]\n );\n\n const [current, send] = useMachine(overlayMachine as AnyStateMachine, {\n devTools: debugging,\n actions: {\n onOpenCancel: useCallback(() => onSpringCancelRef.current?.({ type: 'OPEN' }), []),\n onSnapCancel: useCallback(\n (context: { snapSource: string }) =>\n onSpringCancelRef.current?.({\n type: 'SNAP',\n source: context.snapSource,\n }),\n []\n ),\n onCloseCancel: useCallback(() => onSpringCancelRef.current?.({ type: 'CLOSE' }), []),\n onResizeCancel: useCallback(\n () =>\n onSpringCancelRef.current?.({\n type: 'RESIZE',\n source: resizeSourceRef.current as ResizeSource,\n }),\n []\n ),\n onOpenEnd: useCallback(() => onSpringEndRef.current?.({ type: 'OPEN' }), []),\n onSnapEnd: useCallback(\n (context: { snapSource: string }) =>\n onSpringEndRef.current?.({\n type: 'SNAP',\n source: context.snapSource,\n }),\n []\n ),\n onResizeEnd: useCallback(\n () =>\n onSpringEndRef.current?.({\n type: 'RESIZE',\n source: resizeSourceRef.current as ResizeSource,\n }),\n []\n ),\n },\n context: { snapSource: initialState },\n services: {\n onSnapStart: useCallback(\n async (_: unknown, event: OverlayEvent) =>\n onSpringStartRef.current?.({\n type: 'SNAP',\n source: (event as OverlayEventSnap).payload.source || 'custom',\n }),\n []\n ),\n onOpenStart: useCallback(async () => onSpringStartRef.current?.({ type: 'OPEN' }), []),\n onCloseStart: useCallback(async () => onSpringStartRef.current?.({ type: 'CLOSE' }), []),\n onResizeStart: useCallback(\n async () =>\n onSpringStartRef.current?.({\n type: 'RESIZE',\n source: resizeSourceRef.current as ResizeSource,\n }),\n []\n ),\n onSnapEnd: useCallback(\n async (context: { snapSource: string }) =>\n onSpringEndRef.current?.({\n type: 'SNAP',\n source: context.snapSource,\n }),\n []\n ),\n onOpenEnd: useCallback(async () => onSpringEndRef.current?.({ type: 'OPEN' }), []),\n onCloseEnd: useCallback(async () => onSpringEndRef.current?.({ type: 'CLOSE' }), []),\n onResizeEnd: useCallback(\n async () =>\n onSpringEndRef.current?.({\n type: 'RESIZE',\n source: resizeSourceRef.current as ResizeSource,\n }),\n []\n ),\n renderVisuallyHidden: useCallback(async () => {\n await asyncSet({\n y: defaultSnapRef.current,\n ready: 0,\n maxHeight: maxHeightRef.current,\n maxSnap: maxSnapRef.current,\n // Using defaultSnapRef instead of minSnapRef to avoid animating `height` on open\n minSnap: defaultSnapRef.current,\n immediate: true,\n });\n }, [asyncSet]),\n activate: useCallback(async () => {\n canDragRef.current = true;\n await Promise.all([\n scrollLockRef.current.activate(),\n focusTrapRef.current.activate(),\n ariaHiderRef.current.activate(),\n ]);\n }, [ariaHiderRef, focusTrapRef, scrollLockRef]),\n deactivate: useCallback(async () => {\n scrollLockRef.current.deactivate();\n focusTrapRef.current.deactivate();\n ariaHiderRef.current.deactivate();\n canDragRef.current = false;\n }, [ariaHiderRef, focusTrapRef, scrollLockRef]),\n openImmediately: useCallback(async () => {\n heightRef.current = defaultSnapRef.current;\n await asyncSet({\n y: defaultSnapRef.current,\n ready: 1,\n maxHeight: maxHeightRef.current,\n maxSnap: maxSnapRef.current,\n // Using defaultSnapRef instead of minSnapRef to avoid animating `height` on open\n minSnap: defaultSnapRef.current,\n immediate: true,\n });\n }, [asyncSet]),\n openSmoothly: useCallback(async () => {\n await asyncSet({\n y: 0,\n ready: 1,\n maxHeight: maxHeightRef.current,\n maxSnap: maxSnapRef.current,\n // Using defaultSnapRef instead of minSnapRef to avoid animating `height` on open\n minSnap: defaultSnapRef.current,\n immediate: true,\n });\n\n heightRef.current = defaultSnapRef.current;\n\n await asyncSet({\n y: defaultSnapRef.current,\n ready: 1,\n maxHeight: maxHeightRef.current,\n maxSnap: maxSnapRef.current,\n // Using defaultSnapRef instead of minSnapRef to avoid animating `height` on open\n minSnap: defaultSnapRef.current,\n immediate: prefersReducedMotion.current,\n });\n }, [asyncSet, prefersReducedMotion]),\n // @ts-ignore\n snapSmoothly: useCallback(\n async (context: { y: number; velocity: number }) => {\n const snap = findSnapRef.current(context.y);\n heightRef.current = snap;\n lastSnapRef.current = snap;\n await asyncSet({\n y: snap,\n ready: 1,\n maxHeight: maxHeightRef.current,\n maxSnap: maxSnapRef.current,\n minSnap: minSnapRef.current,\n immediate: prefersReducedMotion.current,\n config: { velocity: context.velocity },\n });\n },\n [asyncSet, lastSnapRef, prefersReducedMotion]\n ),\n resizeSmoothly: useCallback(async () => {\n const snap = findSnapRef.current(heightRef.current);\n heightRef.current = snap;\n lastSnapRef.current = snap;\n await asyncSet({\n y: snap,\n ready: 1,\n maxHeight: maxHeightRef.current,\n maxSnap: maxSnapRef.current,\n minSnap: minSnapRef.current,\n immediate: resizeSourceRef.current === 'element' ? prefersReducedMotion.current : true,\n });\n }, [asyncSet, lastSnapRef, prefersReducedMotion]),\n closeSmoothly: useCallback(async () => {\n // Avoid animating the height property on close and stay within FLIP bounds by upping the minSnap\n asyncSet({\n minSnap: heightRef.current,\n immediate: true,\n });\n\n heightRef.current = 0;\n\n await asyncSet({\n y: 0,\n maxHeight: maxHeightRef.current,\n maxSnap: maxSnapRef.current,\n immediate: prefersReducedMotion.current,\n });\n\n await asyncSet({ ready: 0, immediate: true });\n }, [asyncSet, prefersReducedMotion]),\n },\n });\n\n useEffect(() => {\n if (!ready) return;\n\n if (_open) {\n send('OPEN');\n } else {\n send('CLOSE');\n }\n }, [_open, send, ready]);\n\n useLayoutEffect(() => {\n // Adjust the height whenever the snap points are changed due to resize events\n if (maxHeight || maxSnap || minSnap) {\n send('RESIZE');\n }\n }, [maxHeight, maxSnap, minSnap, send]);\n\n useEffect(\n () => () => {\n // Ensure effects are cleaned up on unmount, in case they're not cleaned up otherwise\n scrollLockRef.current.deactivate();\n focusTrapRef.current.deactivate();\n ariaHiderRef.current.deactivate();\n },\n [ariaHiderRef, focusTrapRef, scrollLockRef]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n snapTo: (numberOrCallback, { velocity = 1, source = 'custom' } = {}) => {\n send('SNAP', {\n payload: {\n y: findSnapRef.current(numberOrCallback),\n velocity,\n source,\n },\n });\n },\n // @ts-ignore\n get height() {\n return heightRef.current;\n },\n }),\n [send]\n );\n\n useEffect(() => {\n const elem = bodyRef.current;\n\n const preventScrolling = (e: Event) => {\n if (preventScrollingRef.current) {\n e.preventDefault();\n }\n };\n\n const preventSafariOverscroll = (e: Event) => {\n if (elem && elem.scrollTop < 0) {\n requestAnimationFrame(() => {\n elem.style.overflow = 'hidden';\n elem.scrollTop = 0;\n elem.style.removeProperty('overflow');\n });\n e.preventDefault();\n }\n };\n\n if (expandOnContentDrag) {\n elem?.addEventListener('scroll', preventScrolling);\n elem?.addEventListener('touchmove', preventScrolling);\n elem?.addEventListener('touchstart', preventSafariOverscroll);\n }\n return () => {\n elem?.removeEventListener('scroll', preventScrolling);\n elem?.removeEventListener('touchmove', preventScrolling);\n elem?.removeEventListener('touchstart', preventSafariOverscroll);\n };\n }, [expandOnContentDrag, bodyRef]);\n\n const handleDrag = ({\n args: [{ closeOnTap = false, isContentDragging = false } = {}] = [],\n cancel,\n direction: [, direction],\n down,\n first,\n last,\n memo = spring.y.get(),\n movement: [, _my],\n tap,\n velocity,\n }: HandleDrag) => {\n const my = _my * -1;\n\n // Cancel the drag operation if the canDrag state changed\n if (!canDragRef.current) {\n cancel();\n return memo;\n }\n\n if (onClose && closeOnTap && tap) {\n cancel();\n // Runs onClose in a timeout to avoid tap events on the backdrop from triggering click events on elements underneath\n setTimeout(() => onClose(), 0);\n return memo;\n }\n\n // Filter out taps\n if (tap) {\n return memo;\n }\n\n const rawY = memo + my;\n const predictedDistance = my * velocity;\n const predictedY = Math.max(minSnapRef.current, Math.min(maxSnapRef.current, rawY + predictedDistance * 2));\n\n if (!down && onClose && direction > 0 && rawY + predictedDistance < minSnapRef.current / 2) {\n cancel();\n onClose();\n return memo;\n }\n\n /* eslint-disable no-nested-ternary */\n let newY = down\n ? !onClose && minSnapRef.current === maxSnapRef.current\n ? rawY < minSnapRef.current\n ? rubberbandIfOutOfBounds(rawY, minSnapRef.current, maxSnapRef.current * 2, 0.55)\n : rubberbandIfOutOfBounds(rawY, minSnapRef.current / 2, maxSnapRef.current, 0.55)\n : rubberbandIfOutOfBounds(rawY, onClose ? 0 : minSnapRef.current, maxSnapRef.current, 0.55)\n : predictedY;\n\n if (expandOnContentDrag && isContentDragging) {\n if (newY >= maxSnapRef.current) {\n newY = maxSnapRef.current;\n }\n\n if (memo === maxSnapRef.current && bodyRef.current && bodyRef.current.scrollTop > 0) {\n newY = maxSnapRef.current;\n }\n\n preventScrollingRef.current = newY < maxSnapRef.current;\n } else {\n preventScrollingRef.current = false;\n }\n\n if (first) {\n send('DRAG');\n }\n\n if (last) {\n send('SNAP', {\n payload: {\n y: newY,\n velocity: velocity > 0.05 ? velocity : 1,\n source: 'dragging',\n },\n });\n\n return memo;\n }\n\n set({\n y: newY,\n ready: 1,\n maxHeight: maxHeightRef.current,\n maxSnap: maxSnapRef.current,\n minSnap: minSnapRef.current,\n immediate: true,\n config: { velocity },\n });\n\n return memo;\n };\n\n const bind = useDrag(handleDrag, {\n filterTaps: true,\n });\n\n if (Number.isNaN(maxSnapRef.current)) {\n throw new TypeError('maxSnapRef is NaN!!');\n }\n\n if (Number.isNaN(minSnapRef.current)) {\n throw new TypeError('minSnapRef is NaN!!');\n }\n\n const interpolations = useSpringInterpolations({ spring });\n\n return (\n <animated.div\n {...props}\n data-rsbs-root\n data-rsbs-state={publicStates.find(current.matches)}\n data-rsbs-is-blocking={blocking}\n data-rsbs-is-dismissable={!!onClose}\n data-rsbs-has-header={!!header}\n data-rsbs-has-footer={!!footer}\n className={className}\n ref={containerRef}\n style={{\n // spread in the interpolations yeees\n ...interpolations,\n // but allow overriding them/disabling them\n ...style,\n // Not overridable as the \"focus lock with opacity 0\" trick rely on it\n opacity: spring.ready,\n }}\n data-test-id={dataTestId}\n >\n {sibling}\n {blocking && (\n <Box\n // This component needs to be placed outside bottom-sheet, as bottom-sheet uses transform and thus creates a new context\n // that clips this element to the container, not allowing it to cover the full page.\n key=\"backdrop\"\n data-rsbs-backdrop\n {...(onCloseWhenClickOutside ? bind({ closeOnTap: onCloseWhenClickOutside }) : {})}\n />\n )}\n <Box\n {...(styles?.overlay ? { style: styles.overlay } : {})}\n data-rsbs-overlay\n data-rsbs-overlay-has-padding-x={defaultPxCondition}\n data-rsbs-overlay-has-padding-y={defaultPyCondition}\n data-test-id=\"CT-BottomSheet-Overlay\"\n key=\"overlay\"\n aria-modal=\"true\"\n role=\"dialog\"\n tabIndex={-1}\n ref={overlayRef as never}\n onKeyDown={(event: KeyboardEvent<HTMLDivElement>) => {\n if (event.key === 'Escape') {\n // Always stop propagation, to avoid weirdness for bottom sheets inside other bottom sheets\n event.stopPropagation();\n if (onClose) onClose();\n }\n }}\n >\n <BottomSheetHeader\n ref={headerRef}\n title={title}\n header={header}\n showBack={showBack}\n showClose={showClose}\n bind={bind}\n hasHandleBar={hasHandleBar}\n onBack={onBack}\n onClose={onClose}\n style={styles?.header}\n />\n <Box\n {...(styles?.body ? { style: styles.body } : {})}\n key=\"scroll\"\n data-rsbs-scroll\n data-rsbs-scroll-has-padding-x={defaultPxCondition}\n data-rsbs-scroll-has-padding-y={defaultPyCondition}\n ref={bodyRef as never}\n {...(expandOnContentDrag ? bind({ isContentDragging: true }) : {})}\n >\n <Box {...(styles?.content ? { style: styles.content } : {})} data-rsbs-content ref={contentRef as never}>\n {children}\n </Box>\n </Box>\n {footer && (\n <Box\n {...(styles?.footer ? { style: styles.footer } : {})}\n key=\"footer\"\n ref={footerRef as never}\n data-rsbs-footer\n {...bind()}\n >\n {footer}\n </Box>\n )}\n </Box>\n </animated.div>\n );\n});\n\nexport default BottomSheet;\n","import '../core/src/theme/styles/theme.css.ts.vanilla.css?source=#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';\nimport '../core/src/theme/styles/globals.css.ts.vanilla.css?source=#H4sIAAAAAAAAA7WSwWrDMBBE7/4K3RpDBWnJITgUeulXlB5W8joSliWzWidxS/69WEmaJiVOoORkdmfnjQf0WmNfETQYBdm2dfhWVahZfGVCcEgfIZjAxypQU4ioweFkli+SEFrQlvtCTId5m20zFco+uRToekmh86XUwQUqxNpYxuFuP6+AJlKq6Of19KnKF9k2g2Td69YbJMvD3vq240fBuGEg3F2Fjp31WAgffMKqQCXSca6CZ1lBY11/FtbkP3q0n3imbpI6sKVBuzR8qj+b9KtFIdeoassyagrOKSCpA3mks/qnbnvRzKZr1KgX82NNSVDaLp4ezObj9AI02xWOhsAVhAmrKxXxMoFA16Pectx7S4FriOsFdoT05t65b/HlISKQNg8fv6hpIzV4jU6qjjn4BD0cQNsi0CAfX+Tf3Y0xJepAwPaeGYSxcxzv3uWQ879O3xi8MUO4BAAA';\nimport '../core/src/theme/styles/utilityClasses.css.ts.vanilla.css?source=Ll8xZjIzd29pMDpkaXNhYmxlZCB7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICBvcGFjaXR5OiB2YXIoLS1ic244azA0Mik7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLl8xZjIzd29pMTo6LXdlYmtpdC1zY3JvbGxiYXIgewogIHdpZHRoOiB2YXIoLS1ic244azA2MSk7CiAgaGVpZ2h0OiB2YXIoLS1ic244azA2MSk7Cn0KLl8xZjIzd29pMTo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHsKICB3aWR0aDogdmFyKC0tYnNuOGswNjEpOwogIGhlaWdodDogdmFyKC0tYnNuOGswNjEpOwp9';\nimport 'src/components/tabs/tab-item.css.ts.vanilla.css?source=Ll81d2l3dXQwIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgY29sb3I6IHZhcigtLWJzbjhrMDFnKTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwogIHBhZGRpbmctdG9wOiB2YXIoLS1ic244azA0Zik7CiAgcGFkZGluZy1ib3R0b206IHZhcigtLWJzbjhrMDRmKTsKICBwYWRkaW5nLWxlZnQ6IHZhcigtLWJzbjhrMDRpKTsKICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1ic244azA0aSk7CiAgZm9udC1zaXplOiAxNHB4OwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgbGluZS1oZWlnaHQ6IDIwcHg7Cn0KLl81d2l3dXQwOmhvdmVyIHsKICBjdXJzb3I6IHBvaW50ZXI7CiAgY29sb3I6IHZhcigtLWJzbjhrMGEpOwogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDsKICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4Owp9Ci5fNXdpd3V0MSB7CiAgY29sb3I6IHZhcigtLWJzbjhrMGEpOwp9Ci5fNXdpd3V0MTphZnRlciB7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAycHg7CiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYnNuOGswYSk7CiAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBsZWZ0OiA1MCU7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7CiAgYm90dG9tOiAwOwogIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDsKICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMnB4OwogIHotaW5kZXg6IDE7Cn0=';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var tabItemRecipe = _7a468({defaultClassName:'_5wiwut0',variantClassNames:{isActive:{true:'_5wiwut1'}},defaultVariants:{isActive:false},compoundVariants:[]});","import clsx from 'clsx';\nimport type { ElementType, HTMLAttributes, PropsWithChildren, ReactElement } from 'react';\nimport { Children, cloneElement, createContext, forwardRef, useEffect, useMemo, useState } from 'react';\n\nimport type { TabsRecipe } from './tabs.css';\nimport * as styles from './tabs.css';\n\nexport type TabsProperties = Omit<HTMLAttributes<HTMLUListElement>, 'as' | 'ref'>;\n\ntype BaseTabsProps = TabsProperties &\n TabsRecipe & {\n as?: ElementType;\n defaultIndex?: number;\n index?: number;\n align?: string;\n 'data-test-id'?: string;\n withShadow?: boolean;\n onChange?: (index: number) => void;\n className?: string;\n };\n\nexport type TabsContextProps = {\n index?: number;\n setIndex?: (index: number) => void;\n};\n\nexport const TabsContext = createContext<TabsContextProps>({\n index: 0,\n setIndex: () => null,\n});\n\nconst Tabs = forwardRef<TabsProperties, PropsWithChildren<BaseTabsProps>>(\n (\n {\n as = 'ul',\n children,\n withShadow = false,\n index = 0,\n defaultIndex = 0,\n align = 'left',\n onChange = () => null,\n className,\n ...props\n },\n ref\n ) => {\n const Component = as || 'ul';\n const [activeTabs, setActiveTabs] = useState<number>(defaultIndex ?? 0);\n const tabsChild = useMemo(\n () =>\n Children.map(children, (child, idx) => {\n return cloneElement(child as ReactElement<HTMLLIElement & { 'data-index': number }>, {\n 'data-index': idx,\n });\n }),\n [children]\n );\n const tabsContextValue = useMemo(() => {\n const setIndex = (val: number) => {\n setActiveTabs(val);\n onChange?.(val);\n };\n return { index: activeTabs, setIndex };\n }, [activeTabs, onChange]);\n\n useEffect(() => setActiveTabs(index ?? 0), [index]);\n\n return (\n <Component\n data-test-id={props['data-test-id']}\n as={as}\n ref={ref}\n className={clsx(\n styles.tabsRecipe({\n withShadow,\n align,\n }),\n className\n )}\n {...props}\n >\n <TabsContext.Provider value={tabsContextValue}>{tabsChild}</TabsContext.Provider>\n </Component>\n );\n }\n);\n\nexport type TabsProps = Parameters<typeof Tabs>[0];\n\nTabs.displayName = 'Tabs';\n\nexport default Tabs;\n","import '../core/src/theme/styles/theme.css.ts.vanilla.css?source=#H4sIAAAAAAAAA9VZ247bNhB971fMS+G0oAPxLrFP6Q3tQ4uiQT9AlmVba1nySvK16L8X1Fpck8NNYqAvXSQK9uhwZjhD8owY07XtAH9/BTCfL/om3SaJgeS7u9+pAZUk+/M9xgxkifAxboCykCgMUMmVD0oDTduU95Ay0Ld1tbzHtIHAWmqA+khmgPlIbqBbL/J3NCU2HgJaEKDf3FMWE4UTSDkBSUNGcWNwSYAzAhzZWN4YTEoCrw+fVE6OJCdw9/BIq8lSIgi8PnzSeiLxlMDrwydtXEyJDWd6+KTKwNDlTb/Pu7IZ7t88TdFSApkiIJGD7cRIMgJUWdtch6TaFYDZqdj31ppP2rlJE0jVZMyjNC4cMeUtQxG1zpmcksdQRHtXBuvERoScPU8UZYso7PQS5KybgqY2tQkjQFO0dHoXESfA0pe/PmVwdqwJmk0Pj3RwFbczT/X08EjHG8m6UIJAhhbOyZVM25jtxHFdzy5mahOYTnXzSJcpIHHbWAzP7OpqZmtqdx7jaGY0ce4UAWbLywRyR6lLgH2nKQG0dShzMbltg/cO5d6+4DYHGkcl7m0pTUBiS9Jx7NSFLR8+Gqhy/iwhs64ydDZQPbHsgmV2yUWWLk29jT+y8ManmVtRYzJp9DSiubNl8y7sY4zQZy1c9HZLiXETY4+Fy8QY/RuV9k9JZj0ynK/SsegUvUA7lE7nZDJuX/vnfeYz1pihfMYGM7jPqOLnOvL19BYv8Lh9ixf4rQ3M/qjzyyqvOvix6vd1fpkRmOf7fV3O+0s/lDsC39dVs/0tLz6Ov//cNgOB2cdy3Zbw168zAn+2i3ZoCcx+KetjOVRFDr+Xh3JG4ENX5TWBPm/6eV921YrA7IO1DT+0ddvBT7v2qZrdWYsgHy+7RVvPvLh3Nu52v6+a/v8QbmNApH7DQFsDImg06N4ADxoL+myABT0P7QywcGxvgAYdDx0i9g4Re8eIvZMBGsZ8jvi4GKChvattyoLeLTFAw36OWsxr+xizofgQN8ADSNjk+ZA0IANIjT2kB2kDOoBSA2kAZbbR9KHcwDx5H05qMaKJDOAC9ZBsaQAPLy0YDl7hJLM1LhDb4EKyygALisae8CJgW7z4WI0XKdsZkGEsje2ju11ee2hrgHrAPmLuGWe/i3jocfqGSMAHbO0YcXrC1s6RlFywtSt2yhNkjVNcCM6QNc6xUy6wNYlLzRW2pnGleYqtZXgx8RxbW0SmgBcxX0amUEaStMJD1xEPm4i5Cg99imRkGxla46E7fIjxJhJJi4fuI5mLnMW8w0N7fCTyITKJAx56xCcnP0UiOeOhF3zA8iseKpLIoSNo8PktmGVxD+IWUh5k1+/7zINkcBAIFZrWBoLsiNRAlmVZgGbhyBx9iYsF+hQXBba/NBCmoTQQrAyxwhkUa1wQscH1FVUk00949YktXgeiNsBCHzu81ESDF72ItBEicvSKZ3zOis6ACn30BnToY7AKGWAHA2no42ggC33YxRve2QjbR6CsXgzkh6H1sOvYIHx9j8nEwKoa5kXbDMFVgqQGdvk5+ooZ2FVN9BUfnRw3HihewJMHSlwAqSKYNlDkdfEueZ+k3P+Bb8cZeW24TB2fquAnys8cn8koIXcE/iX+F44u/AB0lF44etz78vW9P30RpZeO/kWTXzm6jrtfO0KQ/Lj7jaNn9AvcVzc6jb61W14mu94Dt2MDG4D12JwG4G5khmhjoK6aMu88tDVQHBZVMV+U16rsbPFerpjCb1i5D5m3j1D0FS6fsU12I+P7G9nhG1XZG8hrrzWUg4FFXmzXXXtolvPCfkkRWLTdsuym327/rKq6JtAeBjvd6V0/dO22JNDu86IaLnboed5v8mV7Ii+Xiqu223keD/+FR8/i0Uz+Pfhk7qLx3pzNG7FdAlGTVyRqKkGipigSNcWQqCmORE0JLGpKYlFTCoua0ljUVIpFTWVY1FSORU1F2kxV4PNTLbGoqRKLmlphUVNrLGpqg0VNVVjU1BMWNbXFoqbqiKipXUTUVINFTbVY1NT+TVFTz2+KmureFDXVR0RNDRFRU4dIAY4R7PSYqKnzY6KmLp8RNXV9SNR08pCoafppUdPsIVHT/CFR0+IzoqblQ6Km1UOipvWnRE2n+JzX2fgBYs+kcaWgC07KfBv5K98eKYjPhM+3Nyved4Qu8FbSy+Aw1aVd4R4yNvX+5662TX1w8aQ3L/+R6GG2qQ+unrRV+ODuSW9H1fcxe0YEt0/aHhHBp7du7HlqsX/+BWcrN6QVHQAA';\nimport '../core/src/theme/styles/globals.css.ts.vanilla.css?source=#H4sIAAAAAAAAA7WSwWrDMBBE7/4K3RpDBWnJITgUeulXlB5W8joSliWzWidxS/69WEmaJiVOoORkdmfnjQf0WmNfETQYBdm2dfhWVahZfGVCcEgfIZjAxypQU4ioweFkli+SEFrQlvtCTId5m20zFco+uRToekmh86XUwQUqxNpYxuFuP6+AJlKq6Of19KnKF9k2g2Td69YbJMvD3vq240fBuGEg3F2Fjp31WAgffMKqQCXSca6CZ1lBY11/FtbkP3q0n3imbpI6sKVBuzR8qj+b9KtFIdeoassyagrOKSCpA3mks/qnbnvRzKZr1KgX82NNSVDaLp4ezObj9AI02xWOhsAVhAmrKxXxMoFA16Pectx7S4FriOsFdoT05t65b/HlISKQNg8fv6hpIzV4jU6qjjn4BD0cQNsi0CAfX+Tf3Y0xJepAwPaeGYSxcxzv3uWQ879O3xi8MUO4BAAA';\nimport '../core/src/theme/styles/utilityClasses.css.ts.vanilla.css?source=Ll8xZjIzd29pMDpkaXNhYmxlZCB7CiAgY3Vyc29yOiBub3QtYWxsb3dlZDsKICBvcGFjaXR5OiB2YXIoLS1ic244azA0Mik7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7Cn0KLl8xZjIzd29pMTo6LXdlYmtpdC1zY3JvbGxiYXIgewogIHdpZHRoOiB2YXIoLS1ic244azA2MSk7CiAgaGVpZ2h0OiB2YXIoLS1ic244azA2MSk7Cn0KLl8xZjIzd29pMTo6LXdlYmtpdC1zY3JvbGxiYXItYnV0dG9uIHsKICB3aWR0aDogdmFyKC0tYnNuOGswNjEpOwogIGhlaWdodDogdmFyKC0tYnNuOGswNjEpOwp9';\nimport 'src/components/tabs/tabs.css.ts.vanilla.css?source=Ll8xcDV6ZHZyMCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJzbjhrMGQpOwogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgcGFkZGluZy1sZWZ0OiAxNnB4OwogIHBhZGRpbmctcmlnaHQ6IDE2cHg7CiAgZGlzcGxheTogZmxleDsKICBvdmVyZmxvdy14OiBhdXRvOwp9Ci5fMXA1emR2cjA6Oi13ZWJraXQtc2Nyb2xsYmFyIHsKICBkaXNwbGF5OiBub25lOwp9Ci5fMXA1emR2cjEgewogIGJveC1zaGFkb3c6IDBweCA0cHggMzJweCByZ2JhKDAsIDAsIDAsIDAuMTIpOwp9Ci5fMXA1emR2cjIgewogIGp1c3RpZnktY29udGVudDogbGVmdDsKfQouXzFwNXpkdnIzIHsKICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsKfQouXzFwNXpkdnI0IHsKICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0Owp9';\nimport { createRuntimeFn as _7a468 } from '@vanilla-extract/recipes/createRuntimeFn';\nexport var tabsRecipe = _7a468({defaultClassName:'_1p5zdvr0',variantClassNames:{withShadow:{true:'_1p5zdvr1'},align:{left:'_1p5zdvr2',center:'_1p5zdvr3',right:'_1p5zdvr4'}},defaultVariants:{withShadow:false,align:'left'},compoundVariants:[]});","import clsx from 'clsx';\nimport type { ElementType, LiHTMLAttributes, PropsWithChildren } from 'react';\nimport { forwardRef, useCallback, useContext } from 'react';\n\nimport { Text } from '../../layouts';\nimport type { TabItemRecipe } from './tab-item.css';\nimport * as styles from './tab-item.css';\nimport { TabsContext } from './tabs';\n\nexport type TabItemProperties = Omit<LiHTMLAttributes<HTMLLIElement>, 'as' | 'ref'>;\n\ntype BaseTabItemProps = TabItemProperties &\n TabItemRecipe & {\n as?: ElementType;\n 'data-index'?: number;\n 'data-test-id'?: string;\n };\n\nconst TabItem = forwardRef<TabItemProperties, PropsWithChildren<BaseTabItemProps>>(\n ({ as = 'li', children, ...props }, ref) => {\n const { index, setIndex } = useContext(TabsContext);\n\n const handleClick = useCallback(\n (val: number) => {\n setIndex?.(val);\n },\n [setIndex]\n );\n\n const isActive = props['data-index'] === index;\n const Component = as || 'li';\n\n return (\n <Component\n data-test-id={props['data-test-id']}\n as={as}\n ref={ref}\n onClick={() => handleClick(props['data-index'] || 0)}\n className={clsx(\n styles.tabItemRecipe({\n isActive,\n })\n )}\n {...props}\n >\n <Text as=\"span\" textStyle=\"body2\">\n {children}\n </Text>\n </Component>\n );\n }\n);\n\nexport type TabItemProps = Parameters<typeof TabItem>[0];\n\nTabItem.displayName = 'TabItem';\n\nexport default TabItem;\n","import { Provider as TooltipProvider } from '@radix-ui/react-tooltip';\nimport type { FC, PropsWithChildren } from 'react';\n\nimport { Toaster } from '../components/toast';\n\nexport const RadixProvider: FC<PropsWithChildren> = ({ children }) => {\n return (\n <TooltipProvider>\n {children}\n <Toaster />\n </TooltipProvider>\n );\n};\n\nRadixProvider.displayName = 'RadixProvider';\n\nexport default RadixProvider;\n","import { scrollbarStyle, theme } from '@ctlyst.id/voila-ui-core';\nimport clsx from 'clsx';\nimport type { FC, ReactNode } from 'react';\n\nimport { RadixProvider } from './radix-provider';\n\ninterface ProviderProps {\n children: ReactNode;\n withScrollStyles?: boolean;\n}\n\nconst Provider: FC<ProviderProps> = ({ children, withScrollStyles = false }) => (\n <div id=\"voila-ui\" style={{ fontFamily: theme.fonts.poppins }} className={clsx(withScrollStyles ?? scrollbarStyle)}>\n <RadixProvider>{children}</RadixProvider>\n </div>\n);\n\nProvider.displayName = 'Provider';\n\nexport default Provider;\n"]}