Skip to content

box/box-ui-elements

Repository files navigation

Box Elements logo Box Developer logo

Project Status CircleCI Styled With Prettier Mergify Status semantic-release

npm latest version npm beta version

Box UI Elements are pre-built UI components that allow developers to add features of the main Box web application into their own applications. Use Box UI Elements to navigate through, upload, preview, and select content stored on Box. Box UI Elements are available as React components and framework-agnostic JavaScript libraries.

Please note that the demo page has limited functionality.

Installation

yarn add box-ui-elements or npm install box-ui-elements

To prevent library duplication, the UI Elements require certain peer dependencies to be installed manually. For a list of required peer dependencies, see package.json.

Usage

This documentation describes how to use UI Elements in a React application using webpack. If instead you require a framework-agnostic solution, please refer to our developer documentation. You can also reference our Elements Demo App and Preview Demo App for examples of minimal React applications using ContentExplorer and ContentPreview, respectively.

Common

Elements

* These components utilize code splitting. See the Code Splitting section for more information.

Code Splitting

Code splitting is currently supported for some UI Elements. In order to use an Element with code splitting, you need to set it up in webpack.

Stylesheets

Box UI Elements use SCSS stylesheets. Each of the Elements include their corresponding SCSS stylesheet to render properly. Once you import an Element within your React app, the corresponding stylesheet will automatically get included. However, you will need to setup webpack to handle .scss files by using the sass-loader / css-loader. This will direct webpack to properly include our SCSS files in your final CSS output. A sample configuration is shown here under the rules section.

Browser Support

  • Desktop Chrome, Firefox, Safari, Edge (latest 2 versions)
  • Mobile Chrome and Safari

Supported Packages

  • React 17: Box UI Elements currently supports usage in React 17 environments. Developers implementing UI Elements in React 18 may experience unexpected issues.

Contributing

Our contributing guidelines can be found in CONTRIBUTING.md. The development setup instructions can be found in DEVELOPING.md.

Questions

If you have any questions, please visit our developer forum or contact us via one of our available support channels.

Copyright and License

Copyright 2016-present Box, Inc. All Rights Reserved.

Licensed under the Box Software License Agreement v.20170516. You may not use this file except in compliance with the License. You may obtain a copy of the License at

https://developer.box.com/docs/box-sdk-license

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.