UNPKG

react-spring-bottom-sheet-updated

Version:

✨ Accessible, 🪄 Delightful, and 🤯 Performant. Built on react-spring for the web, and react-use-gesture.

147 lines (142 loc) 4.71 kB
[data-rsbs-overlay] { border-top-left-radius: var(--rsbs-overlay-rounded,16px); border-top-right-radius: var(--rsbs-overlay-rounded,16px); display: flex; background: var(--rsbs-bg,#fff); flex-direction: column; height: var(--rsbs-overlay-h,0px); transform: translate3d(0, var(--rsbs-overlay-translate-y,0px), 0); will-change: height; } [data-rsbs-overlay]:focus { outline: none; } [data-rsbs-is-blocking='false'] [data-rsbs-overlay] { box-shadow: 0 -5px 60px 0 rgba(38, 89, 115, 0.11), 0 -1px 0 rgba(38, 89, 115, 0.05); } [data-rsbs-overlay], [data-rsbs-root]:after { max-width: var(--rsbs-max-w,auto); margin-left: var(--rsbs-ml,env(safe-area-inset-left)); margin-right: var(--rsbs-mr,env(safe-area-inset-right)); } [data-rsbs-overlay], [data-rsbs-backdrop], [data-rsbs-root]:after { z-index: var(--rsbs-z-index,3); -ms-scroll-chaining: none; overscroll-behavior: none; touch-action: none; position: fixed; right: 0; bottom: 0; left: 0; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; } [data-rsbs-backdrop] { top: -60px; bottom: -60px; background-color: var(--rsbs-backdrop-bg,rgba(0, 0, 0, 0.6)); will-change: opacity; cursor: pointer; opacity: 1; } [data-rsbs-is-dismissable='false'] [data-rsbs-backdrop] { cursor: ns-resize; } [data-rsbs-root]:after { content: ''; pointer-events: none; background: var(--rsbs-bg,#fff); height: 1px; transform-origin: bottom; transform: scale3d(1, var(--rsbs-antigap-scale-y,0), 1); will-change: transform; } [data-rsbs-footer], [data-rsbs-header] { flex-shrink: 0; cursor: ns-resize; padding: 16px; } [data-rsbs-header] { text-align: center; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; box-shadow: 0 1px 0 rgba(46, 59, 66, calc(var(--rsbs-content-opacity,1) * 0.125)); z-index: 1; padding-top: calc(20px + env(safe-area-inset-top)); padding-bottom: 8px; } [data-rsbs-header]:before { position: absolute; content: ''; display: block; width: 36px; height: 4px; top: calc(8px + env(safe-area-inset-top)); left: 50%; transform: translateX(-50%); border-radius: 2px; background-color: var(--rsbs-handle-bg,hsla(0, 0%, 0%, 0.14)); } @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) { [data-rsbs-header]:before { transform: translateX(-50%) scaleY(0.75); } } [data-rsbs-has-header='false'] [data-rsbs-header] { box-shadow: none; padding-top: calc(12px + env(safe-area-inset-top)); } [data-rsbs-scroll] { flex-shrink: 1; flex-grow: 1; -webkit-tap-highlight-color: revert; -webkit-touch-callout: revert; -webkit-user-select: auto; -ms-user-select: auto; -moz-user-select: auto; user-select: auto; overflow: auto; -ms-scroll-chaining: none; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; } [data-rsbs-scroll]:focus { outline: none; } [data-rsbs-has-footer='false'] [data-rsbs-content] { padding-bottom: env(safe-area-inset-bottom); } [data-rsbs-content] { /* The overflow hidden is to ensure any margin on child nodes are included when the resize observer is measuring the height */ overflow: hidden; } [data-rsbs-footer] { box-shadow: 0 -1px 0 rgba(46, 59, 66, calc(var(--rsbs-content-opacity,1) * 0.125)), 0 2px 0 var(--rsbs-bg,#fff); overflow: hidden; z-index: 1; padding-bottom: calc(16px + env(safe-area-inset-bottom)); } [data-rsbs-is-dismissable=false][data-rsbs-state=closing] [data-rsbs-footer]>*,[data-rsbs-is-dismissable=false][data-rsbs-state=closing] [data-rsbs-header]>*,[data-rsbs-is-dismissable=false][data-rsbs-state=closing] [data-rsbs-scroll]>*,[data-rsbs-is-dismissable=false][data-rsbs-state=opening] [data-rsbs-footer]>*,[data-rsbs-is-dismissable=false][data-rsbs-state=opening] [data-rsbs-header]>*,[data-rsbs-is-dismissable=false][data-rsbs-state=opening] [data-rsbs-scroll]>*,[data-rsbs-is-dismissable=true] [data-rsbs-footer]>*,[data-rsbs-is-dismissable=true] [data-rsbs-header]>*,[data-rsbs-is-dismissable=true] [data-rsbs-scroll]>* { opacity: var(--rsbs-content-opacity,1) } [data-rsbs-is-dismissable=false][data-rsbs-state=closing] [data-rsbs-backdrop],[data-rsbs-is-dismissable=false][data-rsbs-state=opening] [data-rsbs-backdrop],[data-rsbs-is-dismissable=true] [data-rsbs-backdrop] { opacity: var(--rsbs-backdrop-opacity,1) } [data-rsbs-state='closed'], [data-rsbs-state='closing'] { /* Allows interactions on the rest of the page before the close transition is finished */ pointer-events: none; }