├── .npmrc ├── .yarnrc ├── postcss.config.js ├── .gitignore ├── .editorconfig ├── babel.config.js ├── .vscode └── settings.json ├── index.html ├── src ├── App.js ├── Footer.js ├── Nav.js ├── index.js ├── app.scss ├── Login.js ├── Main.js └── Header.js ├── webpack.config.js ├── README.md ├── package.json ├── LICENSE └── THIRD_PARTY_LICENSES /.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://registry.npmjs.org/ 2 | -------------------------------------------------------------------------------- /.yarnrc: -------------------------------------------------------------------------------- 1 | registry "https://registry.yarnpkg.com" 2 | -------------------------------------------------------------------------------- /postcss.config.js: -------------------------------------------------------------------------------- 1 | const autoprefixer = require('autoprefixer'); 2 | 3 | module.exports = { 4 | plugins: [autoprefixer()], 5 | }; 6 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | _site 2 | node_modules 3 | *.swp 4 | *.iml 5 | .idea 6 | .DS_Store 7 | npm-debug.log 8 | yarn-debug.log 9 | reports 10 | dist 11 | -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 4 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | -------------------------------------------------------------------------------- /babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | [ 4 | '@babel/preset-env', 5 | { 6 | modules: false, 7 | }, 8 | ], 9 | '@babel/preset-react', 10 | ] 11 | }; 12 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | // Place your settings in this file to overwrite default and user settings. 2 | { 3 | "typescript.validate.enable": false, 4 | "typescript.format.enable": false, 5 | "flow.useNPMPackagedFlow": true, 6 | "flow.enabled": true, 7 | "javascript.validate.enable": false 8 | } 9 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/App.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import Header from './Header'; 3 | import Footer from './Footer'; 4 | import Nav from './Nav'; 5 | import './app.scss'; 6 | 7 | const App = ({ className, children }) => ( 8 |
9 |
10 |
11 |
{ children }
12 |
14 |
16 | ); 17 | 18 | export default App; 19 | -------------------------------------------------------------------------------- /src/Footer.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const Footer = () => ( 4 | 12 | ); 13 | 14 | export default Footer; 15 | -------------------------------------------------------------------------------- /webpack.config.js: -------------------------------------------------------------------------------- 1 | const MiniCssExtractPlugin = require('mini-css-extract-plugin'); 2 | const path = require('path'); 3 | const { IgnorePlugin } = require('webpack'); 4 | 5 | module.exports = { 6 | bail: true, 7 | devtool: 'inline-source-map', 8 | entry: { 9 | index: path.resolve('src/index.js') 10 | }, 11 | output: { 12 | path: path.resolve('dist'), 13 | filename: '[name].js' 14 | }, 15 | devServer: { 16 | host: '0.0.0.0', 17 | }, 18 | module: { 19 | rules: [ 20 | { 21 | test: /\.js$/, 22 | loader: 'babel-loader', 23 | exclude: /(node_modules)/, 24 | }, 25 | { 26 | test: /\.s?css$/, 27 | use: [MiniCssExtractPlugin.loader, 'css-loader', 'postcss-loader', 'sass-loader'], 28 | }, 29 | ], 30 | }, 31 | plugins: [ 32 | new MiniCssExtractPlugin({ 33 | filename: '[name].css', 34 | }), 35 | new IgnorePlugin({ 36 | resourceRegExp: /moment$/, // Moment is optionally included by Pikaday, but is not needed in our bundle 37 | }), 38 | ] 39 | }; 40 | -------------------------------------------------------------------------------- /src/Nav.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const Nav = () => ( 4 | 27 | ); 28 | 29 | export default Nav; 30 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import 'babel-polyfill'; 2 | import React from 'react'; 3 | import { render } from 'react-dom'; 4 | import Main from './Main'; 5 | import Login from './Login'; 6 | 7 | const container = document.querySelector('.container'); 8 | const grantType = 'authorization_code'; 9 | const clientId = localStorage.getItem('clientId'); 10 | const clientSecret = localStorage.getItem('clientSecret'); 11 | const { code } = queryStringToJSON(); 12 | 13 | function queryStringToJSON() { 14 | const pairs = location.search.slice(1).split('&'); 15 | const result = {}; 16 | pairs.forEach((pair) => { 17 | pair = pair.split('='); 18 | result[pair[0]] = decodeURIComponent(pair[1] || ''); 19 | }); 20 | return result; 21 | } 22 | 23 | function renderLogin() { 24 | render( 25 | , 26 | container 27 | ); 28 | } 29 | 30 | function renderApp() { 31 | fetch('https://api.box.com/oauth2/token', { 32 | method: 'POST', 33 | body: `grant_type=${grantType}&code=${code}&client_id=${clientId}&client_secret=${clientSecret}`, 34 | headers: { 35 | 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' 36 | } 37 | }) 38 | .then((response) => { 39 | if (response.status >= 200 && response.status < 300) { 40 | return response.json(); 41 | } 42 | throw new Error(response.statusText); 43 | }) 44 | .then(({ access_token }) => { 45 | render( 46 |
, 47 | container 48 | ); 49 | }).catch(() => { 50 | location.href = '/'; 51 | }); 52 | } 53 | 54 | if (code) { 55 | renderApp(); 56 | } else { 57 | renderLogin(); 58 | } 59 | 60 | 61 | -------------------------------------------------------------------------------- /src/app.scss: -------------------------------------------------------------------------------- 1 | body, 2 | html, 3 | .container { 4 | border: 0 none; 5 | box-sizing: border-box !important; 6 | font-family: Lato, Helvetica Neue, Helvetica, Arial, sans-serif; 7 | height: 100%; 8 | margin: 0; 9 | padding: 0; 10 | width: 100%; 11 | } 12 | 13 | a, 14 | a:visited { 15 | color: #777; 16 | text-decoration: none; 17 | &:hover { 18 | color: #0061D5; 19 | } 20 | } 21 | 22 | header, 23 | footer { 24 | align-items: center; 25 | background-color: #FBFBFC; 26 | display: flex; 27 | } 28 | 29 | header { 30 | background: #0061D5; 31 | border-bottom: 1px solid #eaeaea; 32 | color: #eaeaea; 33 | flex: 0 0 60px; 34 | padding-left: 20px; 35 | } 36 | 37 | footer { 38 | border-top: 1px solid #eaeaea; 39 | flex: 0 0 40px; 40 | justify-content: space-between; 41 | font-size: 13px; 42 | 43 | span { 44 | display: inline-block; 45 | padding: 0 20px; 46 | } 47 | } 48 | 49 | nav { 50 | background-color: #FBFBFC; 51 | border-right: 1px solid #eaeaea; 52 | order: -1; 53 | flex: 0 0 150px; 54 | display: flex; 55 | padding: 20px; 56 | flex-direction: column; 57 | color: #777; 58 | font-size: 14px; 59 | 60 | .menu-title { 61 | text-transform: uppercase; 62 | color: #555; 63 | margin: 15px 0; 64 | } 65 | 66 | .menu-item { 67 | margin: 10px 0; 68 | } 69 | } 70 | 71 | .app { 72 | display: flex; 73 | height: 100%; 74 | flex-direction: column; 75 | } 76 | 77 | .body { 78 | display: flex; 79 | flex: 1 0 auto; 80 | } 81 | 82 | main { 83 | flex: 1; 84 | } 85 | 86 | .login { 87 | align-items: center; 88 | display: flex; 89 | flex-direction: column; 90 | justify-content: center; 91 | } 92 | 93 | .loginInput { 94 | margin: 20px; 95 | input { 96 | height: 30px; 97 | line-height: 30px; 98 | width: 400px; 99 | border: 1px solid #ccc; 100 | box-shadow: none; 101 | font-size: 20px; 102 | font-weight: 200; 103 | padding: 2px 8px; 104 | } 105 | } 106 | -------------------------------------------------------------------------------- /src/Login.js: -------------------------------------------------------------------------------- 1 | import React, { Component } from 'react'; 2 | import App from './App'; 3 | 4 | class Login extends Component { 5 | constructor(props) { 6 | super(props); 7 | const { clientId, clientSecret } = this.props; 8 | this.state = { 9 | clientId, 10 | clientSecret 11 | }; 12 | } 13 | 14 | onClick() { 15 | const clientId = this.clientIdInput.value; 16 | const clientSecret = this.clientSecretInput.value; 17 | localStorage.setItem('clientId', clientId); 18 | localStorage.setItem('clientSecret', clientSecret); 19 | location.href = `https://account.box.com/api/oauth2/authorize?response_type=code&client_id=${clientId}` 20 | } 21 | 22 | onChange({ target: { name, value } }) { 23 | this.setState({ 24 | [name]: value 25 | }); 26 | } 27 | 28 | render() { 29 | const { clientId, clientSecret } = this.state; 30 | return ( 31 | 32 |
33 | 43 |
44 |
45 | 55 |
56 | 63 |
64 | ); 65 | } 66 | } 67 | 68 | export default Login; 69 | -------------------------------------------------------------------------------- /src/Main.js: -------------------------------------------------------------------------------- 1 | // Box Elements uses react-intl for internationalization of its text strings and dates. 2 | // If you are not using a modern browser, you will have to polyfill parts of Intl. 3 | // See https://github.com/formatjs/react-intl/blob/master/docs/Getting-Started.md#runtime-requirements 4 | // for more details on how to conditionally polyfill. One approach is below. 5 | 6 | // Polyfill Intl.PluralRules by uncommenting the following line 7 | // import '@formatjs/intl-pluralrules/dist-es6/polyfill'; 8 | // Polyfill Intl.RelativeTimeFormat by uncommenting the following line 9 | // import '@formatjs/intl-relativetimeformat/dist-es6/polyfill'; 10 | 11 | import * as React from 'react'; 12 | import { IntlProvider } from 'react-intl'; 13 | // The Content Explorer element. Others can be imported similarly 14 | import ContentExplorer from 'box-ui-elements/es/elements/content-explorer'; 15 | // We ship multiple language bundles, importing en-US below. 16 | import messages from 'box-ui-elements/i18n/en-US'; 17 | import App from './App'; 18 | // Importing css related to the content explorer. More can be seen under the dist folder. 19 | import 'box-ui-elements/dist/explorer.css'; 20 | 21 | const Main = ({ token }) => ( 22 | 23 | 41 | 42 | ); 43 | 44 | // ------------------ OR with your own IntlProvider context ----------------- 45 | // const Main = ({ token }) => ( 46 | // 47 | // 48 | // 64 | // 65 | // 66 | // ); 67 | 68 | export default Main; 69 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Demo host app for the [Box UI Elements](https://developer.box.com/docs/box-ui-elements) 2 | =========================================================================================== 3 | 4 | **This demo app demonstrates how to use a Box UI Element from within a React based application. The UI Elements require an access token to work. This demo however does not demonstrate how to do authentication in your app. For authentication and generating tokens please follow https://developer.box.com/docs/authentication instead.** 5 | 6 | Setup 7 | ----- 8 | 1. Create a new app with Standard OAuth 2.0 (User Authentication) in the [Box Developer Console](https://app.box.com/developers/console). 9 | 1. Use `http://localhost:8080` as your redirect URI on the configuration page. 10 | 2. Whitelist `http://localhost:8080` for CORS on the configuration page. 11 | 3. Note down the Client ID and Client Secret from the configuration page. 12 | 2. Clone this repo via `git clone git@github.com:box/box-ui-elements-demo.git`. 13 | 3. Run `yarn start` to run the webpack dev server. 14 | 4. Navigate to http://localhost:8080. 15 | 5. Enter the values from step 2 and then grant access to box on the following page. 16 | 17 | **Note: The above instruction steps assume webpack dev server is running on port 8080. If it runs on another port, you will have use that instead in the instructions above.** 18 | 19 | Important Files 20 | --------------- 21 | [How to import the UI Element - Main.js](src/Main.js) 22 | [Webpack rules - webpack.config.js](webpack.config.js) 23 | [Babel config - babel.config.js](babel.config.js) 24 | [Depedencies - package.json](package.json) 25 | 26 | Documentation 27 | ------------- 28 | ##### [Box Content Pickers](https://developer.box.com/docs/box-content-picker) 29 | ##### [Box Content Explorer](https://developer.box.com/docs/box-content-explorer) 30 | ##### [Box Content Uploader](https://developer.box.com/docs/box-content-uploader) 31 | ##### [Box Content Preview](https://developer.box.com/docs/box-content-preview) 32 | ##### [Box Content Sidebar](https://developer.box.com/docs/box-content-sidebar) 33 | ##### [Box Content Open With](https://developer.box.com/docs/box-content-open-with) 34 | 35 | # Questions 36 | If you have any questions, please visit our [developer forum](https://community.box.com/t5/Box-Developer-Forum/bd-p/DeveloperForum) or contact us via one of our [available support channels](https://community.box.com/t5/Community/ct-p/English). 37 | 38 | # Copyright and License 39 | Copyright 2016-present Box, Inc. All Rights Reserved. 40 | 41 | Licensed under the Box Software License Agreement v.20170516. 42 | You may not use this file except in compliance with the License. 43 | You may obtain a copy of the License at 44 | 45 | https://developer.box.com/docs/box-sdk-license 46 | 47 | Unless required by applicable law or agreed to in writing, software 48 | distributed under the License is distributed on an "AS IS" BASIS, 49 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 50 | See the License for the specific language governing permissions and 51 | limitations under the License. 52 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "box-ui-elements-demo", 3 | "version": "0.1.0", 4 | "description": "Demo App using UI Kits", 5 | "author": "Box (https://www.box.com/)", 6 | "license": "SEE LICENSE IN LICENSE", 7 | "devDependencies": { 8 | "@babel/cli": "^7.8.4", 9 | "@babel/core": "^7.8.4", 10 | "@babel/plugin-proposal-class-properties": "^7.8.3", 11 | "@babel/plugin-proposal-object-rest-spread": "^7.8.3", 12 | "@babel/plugin-transform-flow-strip-types": "^7.8.3", 13 | "@babel/plugin-transform-object-assign": "^7.8.3", 14 | "@babel/plugin-transform-runtime": "^7.8.3", 15 | "@babel/polyfill": "^7.8.3", 16 | "@babel/preset-env": "^7.8.4", 17 | "@babel/preset-flow": "^7.8.3", 18 | "@babel/preset-react": "^7.8.3", 19 | "@babel/template": "^7.8.3", 20 | "@babel/types": "^7.8.3", 21 | "@box/languages": "^1.1.0", 22 | "autoprefixer": "^9.7.4", 23 | "axios": "^0.19.1", 24 | "babel-core": "^7.0.0-bridge.0", 25 | "babel-loader": "^8.0.6", 26 | "babel-plugin-flow-react-proptypes": "^25.1.0", 27 | "babel-plugin-react-intl": "^5.1.18", 28 | "babel-plugin-react-remove-properties": "^0.3.0", 29 | "babel-plugin-transform-require-ignore": "^0.1.1", 30 | "babel-polyfill": "^6.26.0", 31 | "box-ui-elements": "^12.0.0-beta.9", 32 | "classnames": "^2.2.6", 33 | "css-loader": "^3.4.2", 34 | "draft-js": "^0.11.4", 35 | "extract-text-webpack-plugin": "^3.0.2", 36 | "filesize": "^4.1.2", 37 | "form-serialize": "^0.7.2", 38 | "immutable": "^4.0.0-rc.12", 39 | "jsuri": "^1.3.1", 40 | "lodash": "^4.17.15", 41 | "lodash.uniqueid": "^4.0.1", 42 | "mini-css-extract-plugin": "^0.9.0", 43 | "node-sass": "^4.13.1", 44 | "pikaday": "^1.6.1", 45 | "postcss-loader": "^3.0.0", 46 | "postcss-safe-parser": "^4.0.1", 47 | "query-string": "6.10.1", 48 | "react": "^16.12.0", 49 | "react-animate-height": "^2.0.15", 50 | "react-dom": "^16.12.0", 51 | "react-immutable-proptypes": "^2.1.0", 52 | "react-intl": "^3.11.0", 53 | "react-measure": "^2.3.0", 54 | "react-modal": "^3.11.1", 55 | "react-process-string": "^1.2.0", 56 | "react-router-dom": "^5.1.2", 57 | "react-tether": "1.0.1", 58 | "react-textarea-autosize": "^7.1.2", 59 | "react-virtualized": "^9.21.2", 60 | "regenerator-runtime": "^0.13.3", 61 | "sass-loader": "^7.1.0", 62 | "scroll-into-view-if-needed": "^2.2.24", 63 | "style-loader": "^0.23.1", 64 | "tabbable": "^4.0.0", 65 | "webpack": "^4.41.5", 66 | "webpack-cli": "^3.3.10", 67 | "webpack-dev-server": "^3.10.2" 68 | }, 69 | "scripts": { 70 | "clean": "rm -rf dist", 71 | "build": "yarn install && yarn run clean && BABEL_ENV=dev NODE_ENV=dev ./node_modules/.bin/webpack --progress --colors", 72 | "start": "yarn install && BABEL_ENV=dev NODE_ENV=dev node --max_old_space_size=8192 node_modules/webpack-dev-server/bin/webpack-dev-server.js --mode development" 73 | }, 74 | "browserslist": [ 75 | "last 2 Chrome versions", 76 | "last 2 Firefox versions", 77 | "last 2 Safari versions", 78 | "last 2 Edge versions", 79 | "last 2 iOS versions", 80 | "IE 11" 81 | ], 82 | "dependencies": { 83 | "@formatjs/intl-pluralrules": "^1.5.2", 84 | "@formatjs/intl-relativetimeformat": "^4.5.9", 85 | "react-popper": "^1.3.7" 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /src/Header.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const Header = () => ( 4 |
5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | ); 14 | 15 | export default Header; 16 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BOX 2 | SOFTWARE LICENSE AGREEMENT 3 | (v.20170516) 4 | 5 | BOX UI ELEMENTS 6 | 7 | This "Agreement" forms a legally binding agreement between Box (as defined in 8 | Section 14) and you ("Developer") that governs Developer's right to access and 9 | use this SDK (as defined below). 10 | 11 | DEVELOPER'S RIGHT TO USE THE SDK IS SUBJECT TO DEVELOPER'S ACCEPTANCE OF AND 12 | CONTINUING COMPLIANCE WITH THIS AGREEMENT. Developer accepts this Agreement by 13 | either: (a) clicking an option to "accept" or "agree" to this Agreement, where 14 | such option is made available by Box; or (b) by actually using the SDK, in 15 | which event Developer hereby agrees that such use constitutes acceptance of 16 | this Agreement from that time onwards. Developer will not use the SDK and will 17 | not accept this Agreement if Developer is barred from using the SDK under the 18 | laws of the United States or other countries including the country in which 19 | Developer is a resident or in which Developer access or uses the SDK. If the 20 | individual accepting this Agreement is doing so on behalf of an employer or 21 | other entity, such individual represents and warrants that such individual has 22 | full legal authority to bind such employer or other entity to this Agreement; 23 | and, if the individual does not have the requisite authority, the individual 24 | may not accept the Agreement or use the SDK on behalf of such employer or 25 | other entity. IF DEVELOPER DOES NOT AGREE TO BE BOUND BY THIS AGREEMENT, 26 | DEVELOPER MUST NOT USE THE SDK AND MAY NOT OFFER OR CREATE APPLICATIONS OR 27 | SERVICES THAT INTERACT WITH THE SDK. 28 | 29 | This Agreement does not govern use of any Box software or services other than 30 | the SDK. See the relevant agreements accompanying the other Box software or 31 | services for their respective governing terms. 32 | 33 | 1. General. The "SDK" means the Box software development kit, including any 34 | subsequent updates or upgrade made available to Developer, and any 35 | associated documentation, software code, or other materials made 36 | available by Box to assist Developer in developing solution(s) (each a 37 | "Developer Application") that are customizable and responsive web based 38 | UI components, optimized for web and mobile that enable certain features 39 | and functionality with respect to Box's cloud-based content collaboration 40 | service ("Box Service"). This Agreement applies to any SDK provided by 41 | Box or that includes, displays, or links to this Agreement, and to any 42 | updates, supplements or support services for this SDK. Developer may only 43 | use this SDK to develop a Developer Application that interoperates with 44 | the Box Service and to certify compatibility of Developer's Product(s) 45 | with the Box Service. 46 | 47 | Box reserves the right to discontinue offering the SDK (or any updates 48 | thereto) or to modify the SDK at any time in its sole discretion. 49 | Free/open source software components distributed in this SDK are licensed 50 | to Developer under the terms of the applicable free/open source license 51 | agreements and such free/open source software licenses can be found in 52 | the THIRD_PARTY_LICENSES file in the same source directory as this file. 53 | 54 | 2. Use Rights & Requirements. 55 | a. Subject to Developer's compliance with the terms of this Agreement, 56 | Developer may: 57 | i. download, install, and use the SDK on its devices solely to design, 58 | develop, and test Developer Application(s); 59 | ii. make a reasonable number of copies of the SDK as necessary to 60 | develop Developer Application(s), provided that Developer 61 | reproduces complete copies of the SDK, including without 62 | limitation all "read me" files, copyright notices, and other legal 63 | notices and terms; and 64 | iii. use, reproduce, modify, and distribute the sample code included in 65 | the SDK only as embedded in a Developer Application that complies 66 | with the technical limitations and the Acceptable Use Policy (set 67 | forth in Exhibit A hereto) ("AUP"). 68 | b. Developer shall ensure the Developer Application displays prominently, 69 | and made apparent to each end-user of the Developer Application, the 70 | following notice and disclaimer in full: 71 | 72 | "Copyright 2017 Box, Inc. All rights reserved. 73 | 74 | This product includes software developed by Box, Inc. ("Box") 75 | (http://www.box.com) 76 | 77 | ALL BOX SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED 78 | WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF 79 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 80 | IN NO EVENT SHALL BOX BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 81 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 82 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 83 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 84 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 85 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 86 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 87 | 88 | See the Box license for the specific language governing permissions 89 | and limitations under the license." 90 | 91 | 3. Restrictions. Except as set forth above, Developer may not: 92 | a. distribute, sell, lease, rent, lend, or sublicense the SDK (or any copy 93 | or portion thereof); 94 | b. use the SDK to create, design, or develop anything other than Developer 95 | Application(s); 96 | c. modify or distribute any portion of the SDK, or distribute any 97 | Developer Application, in any way that would subject any portion of the 98 | SDK to an Excluded License. An "Excluded License" is a license that 99 | requires, as a condition of use, modification, or distribution of code 100 | subject to that license, that the code be disclosed or distributed in 101 | source code form or that others have the right to modify the code; 102 | d. create or attempt to create a product that mimics or interferes with 103 | the communications and commands between Box's API services; or 104 | e. use the SDK: (i) to violate the AUP; (ii) to circumvent any technical 105 | or licensing restrictions of the Box Service; or (iii) in violation of 106 | any U.S. denied party-list, embargoed country restriction, export law 107 | or regulation. 108 | 109 | 4. Contributions. Developer Contributions (as defined in the "Contributor 110 | License Agreement" (CLA)), made by the Developer pursuant to the rights 111 | granted or permitted under this Agreement, are subject to the following: 112 | a. Developer shall comply with the Contribution policy set forth in the 113 | CONTRIBUTING.md file in the same source directory as this file; 114 | and 115 | b. For each Contribution, Developer shall agree to the Box "Contributor 116 | License Agreement" (or "CLA") located here: 117 | https://developer.box.com/docs/box-ui-elements-cla. 118 | 119 | 5. Feedback. Developer may, from time to time, provide feedback to Box 120 | concerning the functionality and performance of the SDK or Box Service 121 | including, without limitation, identifying potential errors and 122 | improvements ("Feedback"). In such event, Box may freely use and exploit 123 | any such Feedback without any obligation to Developer, unless otherwise 124 | agreed upon in writing. Developer hereby assigns to Box any proprietary 125 | right that Developer may have in or to any modification, enhancement, 126 | improvement or change in or to the Box Service based upon any Feedback from 127 | Developer. 128 | 129 | 6. Box Independent Development. Nothing in this Agreement will impair Box's 130 | right to develop, acquire, license, market, promote or distribute products, 131 | software or technologies that perform the same or similar functions as, or 132 | otherwise compete with, any Developer Application or other products, 133 | software or technologies that Developer may develop, produce, market, or 134 | distribute. 135 | 136 | 7. Support. Box does not provide technical or other support for the SDK under 137 | this Agreement. 138 | 139 | 8. Termination. This Agreement becomes effective on the date Developer first 140 | uses the SDK and will continue as long as Developer is in compliance with 141 | the terms specified herein or until otherwise terminated. Either party may 142 | terminate this Agreement upon thirty days written notice if the other party 143 | is in material breach of any term of this Agreement. Developer agrees, upon 144 | termination, to immediately destroy all copies of the SDK within the 145 | Developer's possession or control. The following Sections survive any 146 | termination of this Agreement: Sections 4, 5, 9, 11, 12, 13, 15, 16 and 17. 147 | 148 | 9. Ownership. The SDK is licensed, not sold. Box reserves all other rights not 149 | granted herein. The parties acknowledge that, as between the parties: 150 | a. Box or its licensors retain complete ownership of all Intellectual 151 | Property Rights in and to the SDK; and 152 | b. Developer or its licensors retain complete ownership of all 153 | Intellectual Property Rights in the Developer Application(s) (subject 154 | to Box's underlying ownership of the Intellectual Property Rights in 155 | and to the SDK). 156 | Nothing in this Agreement will be construed to transfer or assign any 157 | Intellectual Property Rights of either party to the other. "Intellectual 158 | Property Rights" means any and all rights under patent law, copyright law, 159 | trade secret law, trademark law, and any and all other proprietary rights. 160 | 161 | 10. Data Privacy. Developer agrees that Box may periodically collect, process 162 | and store Technical Data. "Technical Data" means technical data and 163 | related information about the Developer Application and Developer's 164 | device, system, peripherals, account and Developer's use of the SDK, 165 | including without limitation: 166 | a. internet protocol address; 167 | b. hardware identification; 168 | c. operating system; 169 | d. application software; 170 | e. peripheral hardware; 171 | f. number of active plugins and software development kits; 172 | g. the successful installation and launch of SDK; 173 | h. number and type of API calls; and 174 | i. SDK usage statistics (e.g., as implemented by analytics calls in the 175 | SDK). 176 | 177 | Box will use Technical Data for internal statistical and analytical 178 | purposes to facilitate support, invoicing or online services, the 179 | provisioning of updates, to study usage patterns to improve the SDKs, and 180 | the development of the Box Service. Box may transfer Technical Data to 181 | other companies in the Box group from time to time. Developer acknowledges 182 | that correspondence and log files generated in conjunction with a request 183 | for support services may contain sensitive, confidential or personal 184 | information. Developer is solely responsible for taking the steps 185 | necessary to protect such data, including obfuscating the logs or 186 | otherwise guarding such information prior to sending it to Box. For each 187 | Developer Application, Developer will provide a privacy policy describing 188 | information collected by such Developer Application and Developer's 189 | privacy practices. Any privacy policy created by Developer for any 190 | Developer Application will be at least as restrictive as Box's 191 | then-current privacy policy ("Box Privacy Policy") found at 192 | https://www.box.com/static/html/privacy.html. Developer will comply and 193 | ensure that the Developer Application complies with the Box Privacy Policy 194 | and any privacy policy it creates for a Developer Application. 195 | 196 | 11. DISCLAIMER OF WARRANTIES. THE SDK IS PROVIDED "AS IS" WITHOUT ANY 197 | WARRANTIES OF ANY KIND. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, 198 | BOX MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND, WHETHER EXPRESS, 199 | IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, ANY 200 | WARRANTY THAT THE SERVICES WILL BE UNINTERRUPTED, ERROR-FREE OR FREE OF 201 | HARMFUL COMPONENTS, AND ANY IMPLIED WARRANTY OF MERCHANTABILITY, 202 | SATISFACTORY QUALITY, FITNESS FOR A PARTICULAR PURPOSE, OR 203 | NON-INFRINGEMENT, AND ANY WARRANTY ARISING OUT OF ANY COURSE OF 204 | PERFORMANCE, COURSE OF DEALING OR USAGE OF TRADE. SOME JURISDICTIONS 205 | DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES. IN SUCH AN EVENT THE 206 | ABOVE EXCLUSION WILL NOT APPLY SOLELY TO THE EXTENT PROHIBITED BY LAW. 207 | 208 | 12. LIMITATION OF LIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE 209 | LAW, IN NO EVENT WILL BOX BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, 210 | PUNITIVE, COVER OR CONSEQUENTIAL DAMAGES (INCLUDING, WITHOUT LIMITATION, 211 | DAMAGES FOR LOST PROFITS, GOODWILL, USE OR DATA) HOWEVER CAUSED, UNDER ANY 212 | THEORY OF LIABILITY, INCLUDING, WITHOUT LIMITATION, CONTRACT, TORT, 213 | WARRANTY, NEGLIGENCE OR OTHERWISE, EVEN IF BOX HAS BEEN ADVISED AS TO THE 214 | POSSIBILITY OF SUCH DAMAGES. IN NO EVENT WILL BOX'S TOTAL AND CUMULATIVE 215 | LIABILITY FOR ALL CLAIMS OF ANY NATURE ARISING OUT OF THIS AGREEMENT 216 | EXCEED $50.00. SOME JURISDICTIONS DO NOT ALLOW THE LIMITATION OF 217 | INCIDENTAL, CONSEQUENTIAL OR OTHER DAMAGES. IN SUCH AN EVENT THIS 218 | LIMITATION WILL NOT APPLY TO THE EXTENT PROHIBITED BY LAW. 219 | 220 | 13. INDEMNIFICATION. DEVELOPER WILL DEFEND, INDEMNIFY AND HOLD BOX, ITS 221 | AFFILIATES, OFFICERS, DIRECTORS, EMPLOYEES AND AGENTS HARMLESS, FROM AND 222 | AGAINST ANY AND ALL THIRD PARTY CLAIMS AND ALL LIABILITIES, ASSESSMENTS, 223 | LOSSES, COSTS OR DAMAGES RESULTING FROM OR ARISING OUT OF: 224 | a. DEVELOPER'S BREACH OF THIS AGREEMENT; 225 | b. DEVELOPER APPLICATIONS; 226 | c. DEVELOPER'S INFRINGEMENT OR VIOLATION OF ANY INTELLECTUAL PROPERTY, 227 | OTHER RIGHTS OR PRIVACY OF A THIRD PARTY; AND/OR 228 | d. MISUSE OF ANY OF THE SERVICES BY A THIRD PARTY WHERE SUCH MISUSE WAS 229 | MADE AVAILABLE BY DEVELOPER'S FAILURE TO TAKE REASONABLE MEASURES TO 230 | PROTECT DEVELOPER'S USERNAME AND PASSWORD AGAINST MISUSE. 231 | Developer will not settle any claim, and no settlement of a claim will be 232 | binding on Box, without Box's prior written consent, which will not be 233 | unreasonably withheld or delayed. 234 | 235 | 14. Box Entity. The location of Developer will determine the Box entity with 236 | which Developer is contracting under this Agreement and to which Developer 237 | should direct notices under this Agreement, as follows: 238 | 239 | +---------------+-------------------+----------------------------------+ 240 | | Developer | Box Contracting | Box Notices Sent to | 241 | | Location | Entity | | 242 | +---------------+-------------------+----------------------------------+ 243 | | Within | Box, Inc. | LegalOps, Box, Inc. | 244 | | United States | | 900 Jefferson Avenue | 245 | | | | Redwood City, California, 94063 | 246 | | | | United States of America | 247 | +---------------+-------------------+----------------------------------+ 248 | | Rest of World | Box.com (UK) Ltd. | LegalOps, Box.com (UK) Ltd | 249 | | | | 64 North Row, 2nd Floor | 250 | | | | London W1K 7LL | 251 | | | | United Kingdom | 252 | +---------------+-------------------+----------------------------------+ 253 | 254 | 15. Confidentiality. "Confidential Information" means all information 255 | disclosed by one Party ("Disclosing Party") to the other Party ("Receiving 256 | Party") that is in tangible form and labeled "confidential" or the like, 257 | or that reasonably should be understood to be confidential given the 258 | nature of the information and the circumstances of the disclosure. The 259 | following information will be considered Confidential Information whether 260 | or not marked or identified as such: 261 | a. non-public materials regarding the SDK or the Box Service; 262 | b. license keys; 263 | c. the terms of this Agreement including all orders and pricing thereto; 264 | and 265 | d. Box's strategic roadmaps, product plans, product designs and 266 | architecture, technology and technical information, security audit 267 | reviews, business and marketing plans, and business processes. 268 | Confidential Information will not include information that as shown by the 269 | Receiving Party's records was: 270 | i. already known to Receiving Party at the time of disclosure by the 271 | Disclosing Party; 272 | ii. was disclosed to the Receiving Party by a third party who had the 273 | right to make such disclosure without any confidentiality 274 | restrictions; 275 | iii. is, or through no fault of the Receiving Party has become, 276 | generally available to the public; or 277 | iv. was independently developed by Receiving Party without use of the 278 | Disclosing Party's Confidential Information. 279 | The Receiving Party will use no less than a reasonable standard of care to 280 | safeguard the Confidential Information received from the Disclosing Party 281 | and will only use the Confidential Information of the Disclosing Party to 282 | exercise its rights and perform its obligations under this Agreement. 283 | Neither party will disclose Confidential Information in violation of the 284 | terms and conditions of this Agreement, to any third party, without the 285 | prior written consent of the other party. Notwithstanding the foregoing 286 | each party may disclose Confidential Information, including the terms and 287 | conditions of this Agreement, without the prior written consent of the 288 | other party: 289 | A. as compelled by law provided that to the extent legally permissible 290 | the Receiving Party gives the Disclosing Party prior notice of such 291 | compelled disclosure and reasonable assistance, at the Disclosing 292 | Party's expense, if the Disclosing Party seeks to contest such 293 | disclosure; 294 | B. in confidence, to legal counsel, accountants, banks, and financing 295 | sources and their advisors; 296 | C. in connection with the enforcement of this Agreement or rights 297 | under this Agreement; 298 | D. the terms and conditions of this Agreement in confidence, in 299 | connection with an actual or proposed merger, acquisition, or 300 | similar transaction; or 301 | E. to respond to an emergency which Box believes in the good faith 302 | requires Box to disclose information to assist in preventing the 303 | death or serious bodily injury of any person. 304 | 305 | 16. Governing Law/Venue. This Agreement will be construed and enforced in all 306 | respects in accordance with the laws of the State of California, U.S.A., 307 | without reference to its choice of law rules. The parties specifically 308 | exclude from application to the Agreement the United Nations Convention on 309 | Contracts for the International Sale of Goods and the Uniform Computer 310 | Information Transactions Act. Developer hereby irrevocably and 311 | unconditionally consents to the exclusive jurisdiction and venue in the 312 | state and federal courts sitting in Santa Clara County, California. In 313 | any such dispute, the prevailing party will be entitled to recover its 314 | reasonable attorneys' fees and expenses from the other party. 315 | 316 | 17. General. Developer will not, directly, indirectly, by operation of law or 317 | otherwise, assign all or any part of this Agreement or its rights 318 | hereunder or delegate performance of any of its duties hereunder without 319 | the prior written consent of Box. This Agreement sets forth the entire 320 | understanding of the parties and supersedes any and all prior oral and 321 | written agreements or understandings between the parties regarding the 322 | subject matter of this Agreement. Any modifications of this Agreement must 323 | be in writing and signed by both parties hereto. The failure of either 324 | party to insist upon or enforce strict performance of any of the 325 | provisions of this Agreement or to exercise any rights or remedies under 326 | this Agreement will not be construed as a waiver or relinquishment to any 327 | extent of such party's right to assert or rely upon any such provision, 328 | right or remedy in that or any other instance; rather, the same will 329 | remain in full force and effect. In the event that any provision of this 330 | Agreement or the application thereof, becomes or is declared by a court of 331 | competent jurisdiction to be illegal, void or unenforceable, the remainder 332 | of this Agreement will continue in full force and effect. The parties will 333 | promptly replace such void or unenforceable provision with a valid and 334 | enforceable provision that will achieve, to the extent possible, the 335 | economic, business and other purposes of such void or unenforceable 336 | provision. The parties are entering into this Agreement as independent 337 | contracting parties. Neither party will have, or hold itself out as 338 | having, any right or authority to incur any obligation on behalf of the 339 | other party. This Agreement will not be construed to create an 340 | association, joint venture or partnership between the parties or to impose 341 | any partnership liability upon any party. If at any time Developer has any 342 | questions about this Agreement, the Developer Web Site or the Developer 343 | Services, Developer should contact Box at 344 | https://developer.box.com/docs#section-developer-support. 345 | 346 | 347 | Exhibit A 348 | BOX UI ELEMENT ACCEPTABLE USE POLICY 349 | 350 | Acceptable Use Policy. Developer shall not, and shall not use the SDKs to: 351 | a) Do anything illegal, or facilitate, promote or encourage any illegal 352 | activities (gambling, etc.), or otherwise violate applicable law; 353 | b) Invade the privacy of any person; 354 | c) Engage in any activity that interferes with, plagiarizes, copies, or 355 | disrupts the Box Service or any Box API; 356 | d) Remove or modify any copyright, trademark or other proprietary rights 357 | notice, or any specific element or phrase attributing part of the 358 | technology to Box, on or in the SDKs or on any materials printed or 359 | copied off of the SDKs; 360 | e) Interfere with the servers or networks connected to the Box Service or 361 | violate any of the procedures, policies or regulations of networks 362 | connected to the Box Service including attempting to gain unauthorized 363 | access to the Box Service, user accounts, computer systems or networks 364 | connected to the Box Service through hacking, password mining or any 365 | other means; 366 | f) Use any robot, spider, service search/retrieval application, or other 367 | automated device, process or means to maliciously access, retrieve, 368 | scrape, or index the Box Service; 369 | g) Upload or otherwise transmit any material containing software viruses 370 | or other computer code, files or programs designed to interrupt, 371 | destroy, or limit the functionality of any software or hardware; 372 | h) Facilitate the transmission or storage of any material depicting or 373 | promoting sexually explicit or pornographic material, violence, or 374 | discrimination based on race, sex, religion, nationality, disability, 375 | sexual orientation or age or that could otherwise give rise to any 376 | civil or criminal liability under applicable laws or regulations; 377 | i) Harass, threaten, incite, degrade, intimidate, deceive or mislead 378 | anyone; 379 | j) Infringe or violate any rights of Box, or any third party, including 380 | any intellectual property rights (e.g., patents, copyrights, 381 | trademarks, trade secrets or other personal or proprietary right), 382 | rights of privacy or publicity which includes not facilitating or 383 | engaging in the unauthorized use, distribution, or exploitation of 384 | copyrighted materials or content; 385 | k) Collect, or facilitate the collection of, any information or data of 386 | any kind for any unlawful purpose; 387 | l) Intercept, monitor, or modify the communications of others; 388 | m) Disseminate "spam," "junk mail," "phishing," "chain letters," "pyramid 389 | schemes," illegal contests or sweepstakes, spyware, adware, viruses, 390 | worms, Trojan horses, time bombs, or any other type of malware or 391 | malicious code; 392 | n) Install software: (i) to perform hidden activities without the 393 | end-user's consent; (ii) that may harm or alter an end-user's system; 394 | (iii) that is downloaded as a hidden component of other software; or 395 | (iv) that is automatically downloaded in whole or in part without 396 | express end-user consent; and 397 | o) Promote or encourage illegal or controlled products or services. 398 | -------------------------------------------------------------------------------- /THIRD_PARTY_LICENSES: -------------------------------------------------------------------------------- 1 | The Box UI Elements use third-party libraries which may be 2 | distributed under licenses different than the Box UI Element itself. For the 3 | libraries bundled at build-time, please look at package.json. The other 4 | libraries are: 5 | 6 | 1. pdf.js 7 | --------- 8 | Source code: https://github.com/mozilla/pdf.js 9 | License: Apache License, Version 2.0 10 | Full license text: 11 | 12 | Apache License 13 | Version 2.0, January 2004 14 | http://www.apache.org/licenses/ 15 | 16 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 17 | 18 | 1. Definitions. 19 | 20 | "License" shall mean the terms and conditions for use, reproduction, 21 | and distribution as defined by Sections 1 through 9 of this document. 22 | 23 | "Licensor" shall mean the copyright owner or entity authorized by 24 | the copyright owner that is granting the License. 25 | 26 | "Legal Entity" shall mean the union of the acting entity and all 27 | other entities that control, are controlled by, or are under common 28 | control with that entity. For the purposes of this definition, 29 | "control" means (i) the power, direct or indirect, to cause the 30 | direction or management of such entity, whether by contract or 31 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 32 | outstanding shares, or (iii) beneficial ownership of such entity. 33 | 34 | "You" (or "Your") shall mean an individual or Legal Entity 35 | exercising permissions granted by this License. 36 | 37 | "Source" form shall mean the preferred form for making modifications, 38 | including but not limited to software source code, documentation 39 | source, and configuration files. 40 | 41 | "Object" form shall mean any form resulting from mechanical 42 | transformation or translation of a Source form, including but 43 | not limited to compiled object code, generated documentation, 44 | and conversions to other media types. 45 | 46 | "Work" shall mean the work of authorship, whether in Source or 47 | Object form, made available under the License, as indicated by a 48 | copyright notice that is included in or attached to the work 49 | (an example is provided in the Appendix below). 50 | 51 | "Derivative Works" shall mean any work, whether in Source or Object 52 | form, that is based on (or derived from) the Work and for which the 53 | editorial revisions, annotations, elaborations, or other modifications 54 | represent, as a whole, an original work of authorship. For the purposes 55 | of this License, Derivative Works shall not include works that remain 56 | separable from, or merely link (or bind by name) to the interfaces of, 57 | the Work and Derivative Works thereof. 58 | 59 | "Contribution" shall mean any work of authorship, including 60 | the original version of the Work and any modifications or additions 61 | to that Work or Derivative Works thereof, that is intentionally 62 | submitted to Licensor for inclusion in the Work by the copyright owner 63 | or by an individual or Legal Entity authorized to submit on behalf of 64 | the copyright owner. For the purposes of this definition, "submitted" 65 | means any form of electronic, verbal, or written communication sent 66 | to the Licensor or its representatives, including but not limited to 67 | communication on electronic mailing lists, source code control systems, 68 | and issue tracking systems that are managed by, or on behalf of, the 69 | Licensor for the purpose of discussing and improving the Work, but 70 | excluding communication that is conspicuously marked or otherwise 71 | designated in writing by the copyright owner as "Not a Contribution." 72 | 73 | "Contributor" shall mean Licensor and any individual or Legal Entity 74 | on behalf of whom a Contribution has been received by Licensor and 75 | subsequently incorporated within the Work. 76 | 77 | 2. Grant of Copyright License. Subject to the terms and conditions of 78 | this License, each Contributor hereby grants to You a perpetual, 79 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 80 | copyright license to reproduce, prepare Derivative Works of, 81 | publicly display, publicly perform, sublicense, and distribute the 82 | Work and such Derivative Works in Source or Object form. 83 | 84 | 3. Grant of Patent License. Subject to the terms and conditions of 85 | this License, each Contributor hereby grants to You a perpetual, 86 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 87 | (except as stated in this section) patent license to make, have made, 88 | use, offer to sell, sell, import, and otherwise transfer the Work, 89 | where such license applies only to those patent claims licensable 90 | by such Contributor that are necessarily infringed by their 91 | Contribution(s) alone or by combination of their Contribution(s) 92 | with the Work to which such Contribution(s) was submitted. If You 93 | institute patent litigation against any entity (including a 94 | cross-claim or counterclaim in a lawsuit) alleging that the Work 95 | or a Contribution incorporated within the Work constitutes direct 96 | or contributory patent infringement, then any patent licenses 97 | granted to You under this License for that Work shall terminate 98 | as of the date such litigation is filed. 99 | 100 | 4. Redistribution. You may reproduce and distribute copies of the 101 | Work or Derivative Works thereof in any medium, with or without 102 | modifications, and in Source or Object form, provided that You 103 | meet the following conditions: 104 | 105 | (a) You must give any other recipients of the Work or 106 | Derivative Works a copy of this License; and 107 | 108 | (b) You must cause any modified files to carry prominent notices 109 | stating that You changed the files; and 110 | 111 | (c) You must retain, in the Source form of any Derivative Works 112 | that You distribute, all copyright, patent, trademark, and 113 | attribution notices from the Source form of the Work, 114 | excluding those notices that do not pertain to any part of 115 | the Derivative Works; and 116 | 117 | (d) If the Work includes a "NOTICE" text file as part of its 118 | distribution, then any Derivative Works that You distribute must 119 | include a readable copy of the attribution notices contained 120 | within such NOTICE file, excluding those notices that do not 121 | pertain to any part of the Derivative Works, in at least one 122 | of the following places: within a NOTICE text file distributed 123 | as part of the Derivative Works; within the Source form or 124 | documentation, if provided along with the Derivative Works; or, 125 | within a display generated by the Derivative Works, if and 126 | wherever such third-party notices normally appear. The contents 127 | of the NOTICE file are for informational purposes only and 128 | do not modify the License. You may add Your own attribution 129 | notices within Derivative Works that You distribute, alongside 130 | or as an addendum to the NOTICE text from the Work, provided 131 | that such additional attribution notices cannot be construed 132 | as modifying the License. 133 | 134 | You may add Your own copyright statement to Your modifications and 135 | may provide additional or different license terms and conditions 136 | for use, reproduction, or distribution of Your modifications, or 137 | for any such Derivative Works as a whole, provided Your use, 138 | reproduction, and distribution of the Work otherwise complies with 139 | the conditions stated in this License. 140 | 141 | 5. Submission of Contributions. Unless You explicitly state otherwise, 142 | any Contribution intentionally submitted for inclusion in the Work 143 | by You to the Licensor shall be under the terms and conditions of 144 | this License, without any additional terms or conditions. 145 | Notwithstanding the above, nothing herein shall supersede or modify 146 | the terms of any separate license agreement you may have executed 147 | with Licensor regarding such Contributions. 148 | 149 | 6. Trademarks. This License does not grant permission to use the trade 150 | names, trademarks, service marks, or product names of the Licensor, 151 | except as required for reasonable and customary use in describing the 152 | origin of the Work and reproducing the content of the NOTICE file. 153 | 154 | 7. Disclaimer of Warranty. Unless required by applicable law or 155 | agreed to in writing, Licensor provides the Work (and each 156 | Contributor provides its Contributions) on an "AS IS" BASIS, 157 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 158 | implied, including, without limitation, any warranties or conditions 159 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 160 | PARTICULAR PURPOSE. You are solely responsible for determining the 161 | appropriateness of using or redistributing the Work and assume any 162 | risks associated with Your exercise of permissions under this License. 163 | 164 | 8. Limitation of Liability. In no event and under no legal theory, 165 | whether in tort (including negligence), contract, or otherwise, 166 | unless required by applicable law (such as deliberate and grossly 167 | negligent acts) or agreed to in writing, shall any Contributor be 168 | liable to You for damages, including any direct, indirect, special, 169 | incidental, or consequential damages of any character arising as a 170 | result of this License or out of the use or inability to use the 171 | Work (including but not limited to damages for loss of goodwill, 172 | work stoppage, computer failure or malfunction, or any and all 173 | other commercial damages or losses), even if such Contributor 174 | has been advised of the possibility of such damages. 175 | 176 | 9. Accepting Warranty or Additional Liability. While redistributing 177 | the Work or Derivative Works thereof, You may choose to offer, 178 | and charge a fee for, acceptance of support, warranty, indemnity, 179 | or other liability obligations and/or rights consistent with this 180 | License. However, in accepting such obligations, You may act only 181 | on Your own behalf and on Your sole responsibility, not on behalf 182 | of any other Contributor, and only if You agree to indemnify, 183 | defend, and hold each Contributor harmless for any liability 184 | incurred by, or claims asserted against, such Contributor by reason 185 | of your accepting any such warranty or additional liability. 186 | 187 | END OF TERMS AND CONDITIONS 188 | 189 | 190 | 2. Highlight.js 191 | --------------- 192 | Source code: https://github.com/isagalaev/highlight.js 193 | License: BSD3 License 194 | Full license text: 195 | 196 | Copyright (c) 2006, Ivan Sagalaev 197 | All rights reserved. 198 | Redistribution and use in source and binary forms, with or without 199 | modification, are permitted provided that the following conditions are met: 200 | 201 | * Redistributions of source code must retain the above copyright 202 | notice, this list of conditions and the following disclaimer. 203 | * Redistributions in binary form must reproduce the above copyright 204 | notice, this list of conditions and the following disclaimer in the 205 | documentation and/or other materials provided with the distribution. 206 | * Neither the name of highlight.js nor the names of its contributors 207 | may be used to endorse or promote products derived from this software 208 | without specific prior written permission. 209 | 210 | THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY 211 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 212 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 213 | DISCLAIMED. IN NO EVENT SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY 214 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 215 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 216 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND 217 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 218 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 219 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 220 | 221 | 222 | 3. PapaParse 223 | ------------ 224 | Source code: https://github.com/mholt/PapaParse 225 | License: MIT License 226 | Full license text: 227 | 228 | The MIT License (MIT) 229 | 230 | Copyright (c) 2015 Matthew Holt 231 | 232 | Permission is hereby granted, free of charge, to any person obtaining a copy of 233 | this software and associated documentation files (the "Software"), to deal in 234 | the Software without restriction, including without limitation the rights to 235 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 236 | the Software, and to permit persons to whom the Software is furnished to do so, 237 | subject to the following conditions: 238 | 239 | The above copyright notice and this permission notice shall be included in all 240 | copies or substantial portions of the Software. 241 | 242 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 243 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 244 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 245 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 246 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 247 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 248 | 249 | 250 | 4. Shaka Player 251 | --------------- 252 | Source code: https://github.com/google/shaka-player 253 | License: Apache License, Version 2.0 254 | Full license text: 255 | 256 | Apache License 257 | Version 2.0, January 2004 258 | http://www.apache.org/licenses/ 259 | 260 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 261 | 262 | 1. Definitions. 263 | 264 | "License" shall mean the terms and conditions for use, reproduction, 265 | and distribution as defined by Sections 1 through 9 of this document. 266 | 267 | "Licensor" shall mean the copyright owner or entity authorized by 268 | the copyright owner that is granting the License. 269 | 270 | "Legal Entity" shall mean the union of the acting entity and all 271 | other entities that control, are controlled by, or are under common 272 | control with that entity. For the purposes of this definition, 273 | "control" means (i) the power, direct or indirect, to cause the 274 | direction or management of such entity, whether by contract or 275 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 276 | outstanding shares, or (iii) beneficial ownership of such entity. 277 | 278 | "You" (or "Your") shall mean an individual or Legal Entity 279 | exercising permissions granted by this License. 280 | 281 | "Source" form shall mean the preferred form for making modifications, 282 | including but not limited to software source code, documentation 283 | source, and configuration files. 284 | 285 | "Object" form shall mean any form resulting from mechanical 286 | transformation or translation of a Source form, including but 287 | not limited to compiled object code, generated documentation, 288 | and conversions to other media types. 289 | 290 | "Work" shall mean the work of authorship, whether in Source or 291 | Object form, made available under the License, as indicated by a 292 | copyright notice that is included in or attached to the work 293 | (an example is provided in the Appendix below). 294 | 295 | "Derivative Works" shall mean any work, whether in Source or Object 296 | form, that is based on (or derived from) the Work and for which the 297 | editorial revisions, annotations, elaborations, or other modifications 298 | represent, as a whole, an original work of authorship. For the purposes 299 | of this License, Derivative Works shall not include works that remain 300 | separable from, or merely link (or bind by name) to the interfaces of, 301 | the Work and Derivative Works thereof. 302 | 303 | "Contribution" shall mean any work of authorship, including 304 | the original version of the Work and any modifications or additions 305 | to that Work or Derivative Works thereof, that is intentionally 306 | submitted to Licensor for inclusion in the Work by the copyright owner 307 | or by an individual or Legal Entity authorized to submit on behalf of 308 | the copyright owner. For the purposes of this definition, "submitted" 309 | means any form of electronic, verbal, or written communication sent 310 | to the Licensor or its representatives, including but not limited to 311 | communication on electronic mailing lists, source code control systems, 312 | and issue tracking systems that are managed by, or on behalf of, the 313 | Licensor for the purpose of discussing and improving the Work, but 314 | excluding communication that is conspicuously marked or otherwise 315 | designated in writing by the copyright owner as "Not a Contribution." 316 | 317 | "Contributor" shall mean Licensor and any individual or Legal Entity 318 | on behalf of whom a Contribution has been received by Licensor and 319 | subsequently incorporated within the Work. 320 | 321 | 2. Grant of Copyright License. Subject to the terms and conditions of 322 | this License, each Contributor hereby grants to You a perpetual, 323 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 324 | copyright license to reproduce, prepare Derivative Works of, 325 | publicly display, publicly perform, sublicense, and distribute the 326 | Work and such Derivative Works in Source or Object form. 327 | 328 | 3. Grant of Patent License. Subject to the terms and conditions of 329 | this License, each Contributor hereby grants to You a perpetual, 330 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 331 | (except as stated in this section) patent license to make, have made, 332 | use, offer to sell, sell, import, and otherwise transfer the Work, 333 | where such license applies only to those patent claims licensable 334 | by such Contributor that are necessarily infringed by their 335 | Contribution(s) alone or by combination of their Contribution(s) 336 | with the Work to which such Contribution(s) was submitted. If You 337 | institute patent litigation against any entity (including a 338 | cross-claim or counterclaim in a lawsuit) alleging that the Work 339 | or a Contribution incorporated within the Work constitutes direct 340 | or contributory patent infringement, then any patent licenses 341 | granted to You under this License for that Work shall terminate 342 | as of the date such litigation is filed. 343 | 344 | 4. Redistribution. You may reproduce and distribute copies of the 345 | Work or Derivative Works thereof in any medium, with or without 346 | modifications, and in Source or Object form, provided that You 347 | meet the following conditions: 348 | 349 | (a) You must give any other recipients of the Work or 350 | Derivative Works a copy of this License; and 351 | 352 | (b) You must cause any modified files to carry prominent notices 353 | stating that You changed the files; and 354 | 355 | (c) You must retain, in the Source form of any Derivative Works 356 | that You distribute, all copyright, patent, trademark, and 357 | attribution notices from the Source form of the Work, 358 | excluding those notices that do not pertain to any part of 359 | the Derivative Works; and 360 | 361 | (d) If the Work includes a "NOTICE" text file as part of its 362 | distribution, then any Derivative Works that You distribute must 363 | include a readable copy of the attribution notices contained 364 | within such NOTICE file, excluding those notices that do not 365 | pertain to any part of the Derivative Works, in at least one 366 | of the following places: within a NOTICE text file distributed 367 | as part of the Derivative Works; within the Source form or 368 | documentation, if provided along with the Derivative Works; or, 369 | within a display generated by the Derivative Works, if and 370 | wherever such third-party notices normally appear. The contents 371 | of the NOTICE file are for informational purposes only and 372 | do not modify the License. You may add Your own attribution 373 | notices within Derivative Works that You distribute, alongside 374 | or as an addendum to the NOTICE text from the Work, provided 375 | that such additional attribution notices cannot be construed 376 | as modifying the License. 377 | 378 | You may add Your own copyright statement to Your modifications and 379 | may provide additional or different license terms and conditions 380 | for use, reproduction, or distribution of Your modifications, or 381 | for any such Derivative Works as a whole, provided Your use, 382 | reproduction, and distribution of the Work otherwise complies with 383 | the conditions stated in this License. 384 | 385 | 5. Submission of Contributions. Unless You explicitly state otherwise, 386 | any Contribution intentionally submitted for inclusion in the Work 387 | by You to the Licensor shall be under the terms and conditions of 388 | this License, without any additional terms or conditions. 389 | Notwithstanding the above, nothing herein shall supersede or modify 390 | the terms of any separate license agreement you may have executed 391 | with Licensor regarding such Contributions. 392 | 393 | 6. Trademarks. This License does not grant permission to use the trade 394 | names, trademarks, service marks, or product names of the Licensor, 395 | except as required for reasonable and customary use in describing the 396 | origin of the Work and reproducing the content of the NOTICE file. 397 | 398 | 7. Disclaimer of Warranty. Unless required by applicable law or 399 | agreed to in writing, Licensor provides the Work (and each 400 | Contributor provides its Contributions) on an "AS IS" BASIS, 401 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 402 | implied, including, without limitation, any warranties or conditions 403 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 404 | PARTICULAR PURPOSE. You are solely responsible for determining the 405 | appropriateness of using or redistributing the Work and assume any 406 | risks associated with Your exercise of permissions under this License. 407 | 408 | 8. Limitation of Liability. In no event and under no legal theory, 409 | whether in tort (including negligence), contract, or otherwise, 410 | unless required by applicable law (such as deliberate and grossly 411 | negligent acts) or agreed to in writing, shall any Contributor be 412 | liable to You for damages, including any direct, indirect, special, 413 | incidental, or consequential damages of any character arising as a 414 | result of this License or out of the use or inability to use the 415 | Work (including but not limited to damages for loss of goodwill, 416 | work stoppage, computer failure or malfunction, or any and all 417 | other commercial damages or losses), even if such Contributor 418 | has been advised of the possibility of such damages. 419 | 420 | 9. Accepting Warranty or Additional Liability. While redistributing 421 | the Work or Derivative Works thereof, You may choose to offer, 422 | and charge a fee for, acceptance of support, warranty, indemnity, 423 | or other liability obligations and/or rights consistent with this 424 | License. However, in accepting such obligations, You may act only 425 | on Your own behalf and on Your sole responsibility, not on behalf 426 | of any other Contributor, and only if You agree to indemnify, 427 | defend, and hold each Contributor harmless for any liability 428 | incurred by, or claims asserted against, such Contributor by reason 429 | of your accepting any such warranty or additional liability. 430 | 431 | END OF TERMS AND CONDITIONS 432 | 433 | APPENDIX: How to apply the Apache License to your work. 434 | 435 | To apply the Apache License to your work, attach the following 436 | boilerplate notice, with the fields enclosed by brackets "[]" 437 | replaced with your own identifying information. (Don't include 438 | the brackets!) The text should be enclosed in the appropriate 439 | comment syntax for the file format. We also recommend that a 440 | file or class name and description of purpose be included on the 441 | same "printed page" as the copyright notice for easier 442 | identification within third-party archives. 443 | 444 | Copyright [yyyy] [name of copyright owner] 445 | 446 | Licensed under the Apache License, Version 2.0 (the "License"); 447 | you may not use this file except in compliance with the License. 448 | You may obtain a copy of the License at 449 | 450 | http://www.apache.org/licenses/LICENSE-2.0 451 | 452 | Unless required by applicable law or agreed to in writing, software 453 | distributed under the License is distributed on an "AS IS" BASIS, 454 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 455 | See the License for the specific language governing permissions and 456 | limitations under the License. 457 | 458 | 459 | 5. SWFObject 460 | ------------ 461 | Source code: https://github.com/swfobject/swfobject 462 | License: MIT License 463 | Full license text: 464 | 465 | The MIT License (MIT) 466 | 467 | Copyright (c) 2007-2015 The SWFObject team 468 | 469 | Permission is hereby granted, free of charge, to any person obtaining a copy 470 | of this software and associated documentation files (the "Software"), to deal 471 | in the Software without restriction, including without limitation the rights 472 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 473 | copies of the Software, and to permit persons to whom the Software is 474 | furnished to do so, subject to the following conditions: 475 | 476 | The above copyright notice and this permission notice shall be included in 477 | all copies or substantial portions of the Software. 478 | 479 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 480 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 481 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 482 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 483 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 484 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 485 | THE SOFTWARE. 486 | 487 | 488 | 6. Remarkable 489 | ------------- 490 | Source code: https://github.com/jonschlinkert/remarkable 491 | License: MIT License 492 | Full license text: 493 | 494 | The MIT License (MIT) 495 | 496 | Copyright (c) 2014-2016, Jon Schlinkert 497 | Copyright (c) 2014 Jon Schlinkert, Vitaly Puzrin. 498 | 499 | Permission is hereby granted, free of charge, to any person obtaining a copy 500 | of this software and associated documentation files (the "Software"), to deal 501 | in the Software without restriction, including without limitation the rights 502 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 503 | copies of the Software, and to permit persons to whom the Software is 504 | furnished to do so, subject to the following conditions: 505 | 506 | The above copyright notice and this permission notice shall be included in 507 | all copies or substantial portions of the Software. 508 | 509 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 510 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 511 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 512 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 513 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 514 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 515 | THE SOFTWARE. 516 | 517 | 518 | 7. Github Markdown CSS 519 | ---------------------- 520 | Source code: https://github.com/sindresorhus/github-markdown-css 521 | License: MIT License 522 | Full license text: 523 | 524 | The MIT License (MIT) 525 | 526 | Copyright (c) Sindre Sorhus (sindresorhus.com) 527 | 528 | Permission is hereby granted, free of charge, to any person obtaining a copy 529 | of this software and associated documentation files (the "Software"), to deal 530 | in the Software without restriction, including without limitation the rights 531 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 532 | copies of the Software, and to permit persons to whom the Software is 533 | furnished to do so, subject to the following conditions: 534 | 535 | The above copyright notice and this permission notice shall be included in 536 | all copies or substantial portions of the Software. 537 | 538 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 539 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 540 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 541 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 542 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 543 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 544 | THE SOFTWARE. 545 | --------------------------------------------------------------------------------