- Welcome
- Getting started
- Latest updates
- Foundations
-
Components
- Accordion
- Alert
- Alignment
- App Search Modal
- Aria live
- Autosuggest
- Badge
- Banner alert
- Bar chart
- Blockquote
- Bottom navigation
- Bottom sheet
- Breadcrumb
- Breakpoint
- Button
- Calendar
- Card
- Card list
- Card button
- Carousel
- Checkbox
- Chip
- Chip group
- Code
- Content cards
- Data Table
- Datepicker
- Description list
- Dialog
- Divider
- Drawer
- Field Set
- Flare
- Flat list
- Flight leg
- Floating action button
- Floating notification
- Form label
- Form validation
- Graphic promotion
- Horizontal navigation
- Icon
- Image
- Image Gallery
- Infinite scroll
- Info Banner
- Inset Banner
- Link
- List
- Map
- Mobile scroll container
- Modal
- Navigation bar
- Navigation Tab Group
- Nudger
- Overlay
- Page indicator
- Pagination
- Panel
- Phone input
- Picker
- Popover
- Price
- Progress bar
- Radio button
- Rating
- Rating Bar
- Scrollable calendar
- Search Modal
- Section header
- Section list
- Select
- Skeleton
- Skip link
- Slider
- Snackbar
- Snippet
- Spinner
- Split input
- Star rating
- Swap Button
- Switch
- Table
- Text
- Text input
- Theming
- Ticket
- Toast
- Tooltip
- Touchable native feedback
- Touchable overlay
- Search Input Summary
- Content
- Accessibility
- Contributing
- Localisation
Bottom sheet
Bottom sheets are views rendered on top of screen content, containing supplementary content that are anchored to the bottom of the screen.
Default
Storybook failed to load.
With action button
Storybook failed to load.
No header
Storybook failed to load.
Overflowing
Storybook failed to load.
Wide
Storybook failed to load.
bpk-component-bottom-sheet
Backpack bottom sheet component.
Installation
Check the main Readme for a complete installation guide.
Usage
import { Component } from 'react';
import BpkBottomSheet from '@skyscanner/backpack-web/bpk-component-bottom-sheet';
import BpkButton from '@skyscanner/backpack-web/bpk-component-button';
class App extends Component {
constructor() {
super();
this.state = {
isOpen: false,
};
}
onOpen = () => {
this.setState({
isOpen: true,
});
};
onClose = () => {
this.setState({
isOpen: false,
});
};
render() {
return (
<div id="bottom-sheet-container">
<div id="pagewrap">
<BpkButton onClick={this.onOpen}>Open bottom sheet</BpkButton>
</div>
<BpkBottomSheet
id="my-bottom-sheet"
isOpen={this.state.isOpen}
onClose={this.onClose}
title="Bottom sheet title"
closeLabel="Close bottom sheet"
getApplicationElement={() => document.getElementById('pagewrap')}
renderTarget={() => document.getElementById('bottom-sheet-container')}
>
This is a bottom sheet. You can put anything you want in here.
</BpkBottomSheet>
</div>
);
}
}
Ensure your body/children is accessible via Voice Over. You may need to specify the tabIndex of the elements.
Props
Storybook failed to load.
Made with ❤️ by Skyscanner © 2024
© 2024 Skyscanner Backpack. Page last updated on Dec 22, 2023, 15:15