Repository: gabrielbull/react-desktop Branch: master Commit: bba61374849d Files: 249 Total size: 382.5 KB Directory structure: gitextract_6tgptjls/ ├── .babelrc ├── .codeclimate.yml ├── .editorconfig ├── .eslintrc.yml ├── .github/ │ └── workflows/ │ └── npm-publish.yml ├── .gitignore ├── .npmignore ├── .travis.yml ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── demo/ │ └── electron/ │ ├── .gitignore │ ├── README.md │ ├── babel.config.js │ ├── index.html │ ├── index.js │ ├── package.json │ ├── page_index.js │ └── webpack.config.js ├── docs/ │ ├── README.md │ ├── advanced-usage/ │ │ ├── electron-js.md │ │ └── nw-js.md │ ├── faq.md │ ├── getting-started/ │ │ └── installation.md │ ├── mac-os/ │ │ ├── box.md │ │ ├── button.md │ │ ├── checkbox.md │ │ ├── dialog.md │ │ ├── label.md │ │ ├── link.md │ │ ├── list-view.md │ │ ├── pin.md │ │ ├── progress-circle.md │ │ ├── radio.md │ │ ├── search-field.md │ │ ├── segmented-control.md │ │ ├── text-input.md │ │ ├── text.md │ │ ├── title-bar.md │ │ ├── toolbar-nav.md │ │ ├── toolbar.md │ │ ├── view.md │ │ └── window.md │ ├── testing.md │ └── windows/ │ ├── button.md │ ├── checkbox.md │ ├── label.md │ ├── master-details-view.md │ ├── nav-pane.md │ ├── progress-circle.md │ ├── radio.md │ ├── text-input.md │ ├── text.md │ ├── title-bar.md │ ├── view.md │ └── window.md ├── examples/ │ ├── macOs/ │ │ ├── advanced/ │ │ │ └── pinDialog.js │ │ └── components/ │ │ ├── box.js │ │ ├── button.js │ │ ├── checkbox.js │ │ ├── dialog.js │ │ ├── label.js │ │ ├── link.js │ │ ├── listView.js │ │ ├── pin.js │ │ ├── progressCircle.js │ │ ├── radio.js │ │ ├── searchField.js │ │ ├── segmentedControl.js │ │ ├── text.js │ │ ├── textArea.js │ │ ├── textInput.js │ │ ├── titleBar.js │ │ ├── toolbar.js │ │ ├── toolbarNav.js │ │ ├── view.js │ │ └── window.js │ └── windows/ │ └── components/ │ ├── button.js │ ├── checkbox.js │ ├── label.js │ ├── masterDetailsView.js │ ├── navPane.js │ ├── progressCircle.js │ ├── radio.js │ ├── text.js │ ├── textArea.js │ ├── textInput.js │ ├── titleBar.js │ ├── view.js │ └── window.js ├── index.js ├── macOs.js ├── package.json ├── playground/ │ ├── assets/ │ │ └── icons.js │ ├── examplesLoader.js │ ├── index.js │ ├── playground.js │ ├── ui/ │ │ ├── examples/ │ │ │ └── examples.js │ │ └── sidebar/ │ │ ├── logo.js │ │ └── sidebar.js │ └── webpack.config.js ├── src/ │ ├── Box/ │ │ └── macOs/ │ │ ├── index.js │ │ └── styles/ │ │ └── 10.11.js │ ├── Button/ │ │ ├── macOs/ │ │ │ ├── index.js │ │ │ └── styles/ │ │ │ └── 10.11.js │ │ └── windows/ │ │ ├── index.js │ │ └── styles/ │ │ └── windows10.js │ ├── Checkbox/ │ │ ├── macOs/ │ │ │ ├── Checkmark.js │ │ │ ├── index.js │ │ │ └── styles/ │ │ │ └── 10.11.js │ │ └── windows/ │ │ ├── index.js │ │ └── styles/ │ │ └── windows10.js │ ├── Dialog/ │ │ └── macOs/ │ │ ├── index.js │ │ └── style/ │ │ └── 10.11.js │ ├── Label/ │ │ ├── macOs/ │ │ │ └── index.js │ │ └── windows/ │ │ └── index.js │ ├── Link/ │ │ └── macOs/ │ │ └── index.js │ ├── ListView/ │ │ └── macOs/ │ │ ├── Footer/ │ │ │ ├── index.js │ │ │ └── style/ │ │ │ └── 10.11.js │ │ ├── Header/ │ │ │ ├── index.js │ │ │ └── style/ │ │ │ └── 10.11.js │ │ ├── Row/ │ │ │ ├── index.js │ │ │ └── style/ │ │ │ └── 10.11.js │ │ ├── Section/ │ │ │ ├── Header/ │ │ │ │ ├── index.js │ │ │ │ └── style/ │ │ │ │ └── 10.11.js │ │ │ ├── index.js │ │ │ └── style/ │ │ │ └── 10.11.js │ │ ├── Separator/ │ │ │ ├── index.js │ │ │ └── style/ │ │ │ └── 10.11.js │ │ ├── index.js │ │ └── style/ │ │ └── 10.11.js │ ├── MasterDetailsView/ │ │ └── windows/ │ │ ├── Details/ │ │ │ └── index.js │ │ ├── Item/ │ │ │ └── index.js │ │ ├── Master/ │ │ │ └── index.js │ │ ├── Pane.js │ │ └── index.js │ ├── NavPane/ │ │ └── windows/ │ │ ├── Item/ │ │ │ ├── Content/ │ │ │ │ └── index.js │ │ │ ├── Title/ │ │ │ │ └── index.js │ │ │ └── index.js │ │ ├── Pane/ │ │ │ ├── Button/ │ │ │ │ └── index.js │ │ │ ├── Item/ │ │ │ │ └── index.js │ │ │ ├── index.js │ │ │ └── style/ │ │ │ └── windows10.js │ │ ├── index.js │ │ └── style/ │ │ └── windows10.js │ ├── Pin/ │ │ └── macOs/ │ │ ├── index.js │ │ └── style/ │ │ └── 10.11.js │ ├── ProgressCircle/ │ │ ├── macOs/ │ │ │ ├── index.js │ │ │ ├── progressCircleAnimation.js │ │ │ └── styles/ │ │ │ └── 10.11.js │ │ └── windows/ │ │ ├── index.js │ │ ├── progressCircleAnimation.js │ │ └── styles/ │ │ └── windows10.js │ ├── Radio/ │ │ ├── macOs/ │ │ │ ├── Circle.js │ │ │ ├── index.js │ │ │ └── styles/ │ │ │ └── 10.11.js │ │ └── windows/ │ │ ├── index.js │ │ └── styles/ │ │ └── windows.js │ ├── SearchField/ │ │ └── macOs/ │ │ ├── cancelAnimation.js │ │ ├── icons.js │ │ ├── index.js │ │ └── styles/ │ │ └── 10.11.js │ ├── SegmentedControl/ │ │ └── macOs/ │ │ ├── Item/ │ │ │ └── index.js │ │ ├── Tabs/ │ │ │ ├── Tab.js │ │ │ └── index.js │ │ ├── index.js │ │ └── style/ │ │ └── 10.11.js │ ├── Text/ │ │ ├── macOs/ │ │ │ ├── index.js │ │ │ └── styles/ │ │ │ └── 10.11.js │ │ └── windows/ │ │ ├── index.js │ │ └── styles/ │ │ └── windows10.js │ ├── TextArea/ │ │ ├── macOs/ │ │ │ ├── centerPlaceholderAnimation.js │ │ │ ├── focusRingAnimation.js │ │ │ ├── index.js │ │ │ └── styles/ │ │ │ └── 10.11.js │ │ └── windows/ │ │ ├── index.js │ │ └── styles/ │ │ └── windows10.js │ ├── TextInput/ │ │ ├── macOs/ │ │ │ ├── centerPlaceholderAnimation.js │ │ │ ├── focusRingAnimation.js │ │ │ ├── index.js │ │ │ └── styles/ │ │ │ └── 10.11.js │ │ └── windows/ │ │ ├── index.js │ │ └── styles/ │ │ └── windows10.js │ ├── TitleBar/ │ │ ├── macOs/ │ │ │ ├── Controls/ │ │ │ │ ├── Close.js │ │ │ │ ├── Minimize.js │ │ │ │ ├── Resize.js │ │ │ │ ├── index.js │ │ │ │ └── styles/ │ │ │ │ └── 10.11.js │ │ │ ├── index.js │ │ │ └── styles/ │ │ │ └── 10.11.js │ │ └── windows/ │ │ ├── Controls/ │ │ │ ├── Close.js │ │ │ ├── Maximize.js │ │ │ ├── Minimize.js │ │ │ └── index.js │ │ ├── index.js │ │ └── styles/ │ │ └── windows10.js │ ├── Toolbar/ │ │ └── macOs/ │ │ ├── Nav/ │ │ │ ├── Item/ │ │ │ │ └── index.js │ │ │ └── index.js │ │ └── index.js │ ├── ValueRef.js │ ├── View/ │ │ ├── macOs/ │ │ │ └── index.js │ │ └── windows/ │ │ └── index.js │ ├── Window/ │ │ ├── macOs/ │ │ │ ├── index.js │ │ │ └── styles/ │ │ │ └── 10.11.js │ │ └── windows/ │ │ ├── index.js │ │ └── styles/ │ │ └── windows10.js │ ├── animation/ │ │ └── bezierEasing.js │ ├── color.js │ ├── monitor.js │ ├── os.js │ ├── placeholderStyle.js │ ├── style/ │ │ ├── alignment.js │ │ ├── background/ │ │ │ ├── macOs.js │ │ │ └── windows.js │ │ ├── color/ │ │ │ └── windows.js │ │ ├── dimension.js │ │ ├── fontSize.js │ │ ├── hidden.js │ │ ├── margin.js │ │ ├── padding.js │ │ ├── textAlign.js │ │ ├── theme/ │ │ │ └── windows.js │ │ └── width.js │ ├── styleHelper.js │ ├── utils/ │ │ └── mapStyles.js │ └── windowFocus.js ├── test/ │ ├── mocha.opts │ ├── setup.js │ └── tests/ │ ├── box.js │ ├── button.js │ ├── checkbox.js │ ├── color.js │ ├── dialog.js │ ├── index.js │ ├── label.js │ ├── link.js │ ├── listView.js │ ├── macOs.js │ ├── pin.js │ ├── progressCircle.js │ ├── searchField.js │ ├── text.js │ ├── textArea.js │ ├── textInput.js │ ├── toolbar.js │ ├── toolbarNav.js │ └── windows.js └── windows.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: .babelrc ================================================ { "presets": [ "es2015", "stage-0", "react" ], "plugins": [ "transform-decorators-legacy" ] } ================================================ FILE: .codeclimate.yml ================================================ languages: JavaScript: true exclude_paths: - "test/*" - "lib/*" ================================================ FILE: .editorconfig ================================================ # EditorConfig helps developers define and maintain consistent # coding styles between different editors and IDEs # http://editorconfig.org root = true [*] # Change these settings to your own preference indent_style = space indent_size = 2 # We recommend you to keep these unchanged end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true [*.md] trim_trailing_whitespace = false ================================================ FILE: .eslintrc.yml ================================================ parser: babel-eslint extends: - plugin:import/errors - plugin:import/warnings plugins: - react env: browser: true node: true es6: true mocha: true rules: # Strict mode strict: [2, never] # Code style indent: [2, 2] quotes: [2, single] no-unused-vars: 1 no-undef: 1 object-curly-spacing: [2, always] # JSX jsx-quotes: 1 # React react/display-name: 0 react/jsx-boolean-value: 1 react/jsx-closing-bracket-location: 1 react/jsx-curly-spacing: 1 react/jsx-max-props-per-line: 0 react/jsx-indent-props: 0 react/jsx-no-duplicate-props: 1 react/jsx-no-undef: 1 react/jsx-sort-prop-types: 0 react/jsx-sort-props: 0 react/jsx-uses-react: 1 react/jsx-uses-vars: 1 react/no-danger: 0 react/no-set-state: 0 react/no-did-mount-set-state: 1 react/no-did-update-set-state: 1 react/no-multi-comp: 0 react/no-unknown-property: 1 react/self-closing-comp: 1 react/jsx-wrap-multilines: 1 ================================================ FILE: .github/workflows/npm-publish.yml ================================================ # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created # For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages name: Node.js Package on: release: types: [created] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: node-version: 12 - run: npm ci - run: npm test publish-npm: needs: build runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: node-version: 12 registry-url: https://registry.npmjs.org/ - run: npm ci - run: npm publish env: NODE_AUTH_TOKEN: ${{secrets.npm_token}} publish-gpr: needs: build runs-on: ubuntu-latest permissions: contents: read packages: write steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: node-version: 12 registry-url: https://npm.pkg.github.com/ - run: npm ci - run: npm publish env: NODE_AUTH_TOKEN: ${{secrets.GITHUB_TOKEN}} ================================================ FILE: .gitignore ================================================ # OS generated files .DS_Store .DS_Store? ._* .Spotlight-V100 .Trashes /.idea ehthumbs.db Thumbs.db # Node /node_modules yarn.lock # react-desktop # ######## /lib /build # Logs logs *.log npm-debug.log* package-lock.json ================================================ FILE: .npmignore ================================================ /build /docs /examples /lib /node_modules /playground /test /.idea /.babelrc /.codeclimate.yml /.editorconfig /.eslintrc /.npmignore /.travis.yml /CONTRIBUTING.md /npm-debug.log ================================================ FILE: .travis.yml ================================================ language: node_js node_js: - '8' - '7' - '6' ================================================ FILE: CHANGELOG.md ================================================ # CHANGELOG ## 0.3.10 (July 28th, 2019) - Add the Electron framework demo ## 0.3.7 (July 25th, 2018) - Add ability to disable individual titlebar controls (#125) - Allow end-user to force `isWindowFocused` prop (#126) - Allow defaultChecked to be string as well as boolean (#123) (Fixes #90) ## 0.3.6 (July 25th, 2018) - This release was published incorrectly. Use 0.3.7 instead. ## 0.3.5 (April 6th, 2018) - Fixed issue with case sensitivity ## 0.3.4 (April 4th, 2018) - Added TextArea component - Several minor fixes ## 0.3.3 (November 21st, 2017) - Updated dependencies - Fixed title props ## 0.3.2 (October 17th, 2017) - Updated dependencies - Fixed unit tests - Fixed unit playground - Add public `focus` and `blur` methods to TextInput - Prop title of TitleBar now supports element node ## 0.3.1 (June 21th, 2017) - Updated dependencies ## 0.3.0 (April 17th, 2017) - Added prop-types dependency to avoid deprecation in React 16 ## 0.2.19 (March 14th, 2017) - Removed rubber band effect from list view ## 0.2.18 (March 14th, 2017) - Fixed an issue with OS detection ## 0.2.17 (January 9th, 2017) - Fixed issue with windows window background color - Added ref value for input elements - CheckBoxes and Radios now changes style when window is unfocused - Can now import components based on OS from 'react-desktop' ## 0.2.16 (January 9th, 2017) - Custom styles for Windows text field's label - Default color for Windows text field's label changes based on theme ## 0.2.15 (January 9th, 2017) - Fixed bug with macOs text field’s placeholder ## 0.2.14 (September 19th, 2016) - Fixed duplicate onChange events on the windows textInput ## 0.2.13 (August 25th, 2016) - Improve macOS title bar control icons ## 0.2.12 (August 17th, 2016) - Fixed some styling issues with the list view - Fixed some styling issues with the windows ## 0.2.11 (August 12th, 2016) - Added macOS list view component ## 0.2.10 (August 11th, 2016) - Quick fix for the macOS text input component border issue ## 0.2.9 (August 11th, 2016) - Added macOS search field component - Added centerPlaceholder, focusRing, icon and onEnter properties to the macOS text input component ## 0.2.8 (August 8th, 2016) - Added macOS toolbar nav component - Added inset property to macOS title bar component - Added dimension and alignment properties to macOS toolbar component ## 0.2.7 (July 28th, 2016) - Added macOS dialog component - Added bold property to macOS text - Added onEnter and disabled properties to macOS button - Fixed issues with margin on pin component for macOS ## 0.2.6 (July 27th, 2016) - Added macOS pin component - Added size, padding and margin properties to macOS buttons - Fixed issues with text input for macOS - Added rounded corners and size properties to text input for macOS ## 0.2.5 (July 18th, 2016) - Fixed some issues with View alignment ## 0.2.4 (July 17th, 2016) - Removed all unknown props from components - Intial window focus is now the real window focus instead of being always true ## 0.2.3 (June 24th, 2016) - Fixed bug with title bar in macOS ## 0.2.2 (June 24th, 2016) - Added Link component for macOS - Added size to Text component - Added transparent option to titlebar for macOS - Fixed title bar size for macOS ## 0.2.1 (June 14th, 2016) - Added support for React 15.1.0 ## 0.2.0 (May 16th, 2016) - Beta 1 release ================================================ FILE: CONTRIBUTING.md ================================================ # Contributing Guidelines We are open to, and grateful for, any contributions made by the community. ## Reporting Issues and Asking Questions Before opening an issue, please search the [issue tracker](https://github.com/gabrielbull/react-desktop/issues) to make sure your issue hasn’t already been reported. ================================================ FILE: LICENSE ================================================ The MIT License (MIT) Copyright © 2017 Gabriel Bull Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ # ![React Desktop](https://rawgit.com/gabrielbull/react-desktop/master/docs/resources/react-desktop.svg "React Desktop") [![Build Status](https://travis-ci.org/gabrielbull/react-desktop.svg?branch=master)](https://travis-ci.org/gabrielbull/react-desktop) [![Code Climate](https://codeclimate.com/github/gabrielbull/react-desktop/badges/gpa.svg)](https://codeclimate.com/github/gabrielbull/react-desktop) [![GitHub license](https://img.shields.io/github/license/gabrielbull/react-desktop?style=square)](https://github.com/gabrielbull/react-desktop/blob/master/LICENSE) [![GitHub stars](https://img.shields.io/github/stars/gabrielbull/react-desktop)](https://github.com/gabrielbull/react-desktop/stargazers) [![npm downloads](http://img.shields.io/npm/dt/react-desktop.svg)](https://www.npmjs.org/package/react-desktop) [![npm version](https://img.shields.io/npm/v/react-desktop.svg)](https://www.npmjs.org/package/react-desktop) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/gabrielbull/react-desktop?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge) React UI Components for macOS High Sierra and Windows 10. ```npm npm install react-desktop --save ``` ![Demo](https://rawgit.com/gabrielbull/react-desktop/master/docs/resources/demo.svg "Demo") ## Help wanted! I am looking for developers to help me develop this project. Please submit some ideas in the issues section or some PRs to get this project going. If you are interested, you can become a collaborator on the project. Thanks. ## Contributing This library has been created to bring a native desktop experience to the web. It works extremely well with tools such as [node-webkit](http://nwjs.io) or [Electron.js](http://electron.atom.io)! Everyone is welcome to contribute and add more components/documentation whilst following the [contributing guidelines](/CONTRIBUTING.md). ## Documentation Guides on installation, components and advanced usage are found in the [documentation](http://reactdesktop.js.org). ## Contributors ================================================ FILE: demo/electron/.gitignore ================================================ node_modules/ dist/ ================================================ FILE: demo/electron/README.md ================================================ # React desktop Electron demo ![TIM201907300143533f238.png](https://miao.su/images/2019/07/30/TIM201907300143533f238.png) ## How to use First, enter the folder: ```cd demo/electron``` Install the libraries: ```npm i``` or ```yarn``` (if you have been installed it) Build once: ```npm run build``` Then start the server: ```npm run watch``` Open another console at the same folder, and run this command to start the Electron process: ```npm start``` That's it! ================================================ FILE: demo/electron/babel.config.js ================================================ module.exports = function (api) { api.cache(false); const presets = [ [ '@babel/preset-env', { 'modules': 'commonjs', 'targets': { 'node': 'current' } } ], [ '@babel/preset-react' ] ]; const plugins = [ [ '@babel/plugin-proposal-decorators', { 'legacy': true } ], [ '@babel/plugin-proposal-class-properties', { 'loose': true } ] ]; return { presets, plugins }; } ================================================ FILE: demo/electron/index.html ================================================ DEMO
================================================ FILE: demo/electron/index.js ================================================ const electron = require('electron'); const { app, BrowserWindow, Menu } = electron; let mainWnd = null; function createMainWnd() { mainWnd = new BrowserWindow({ width:800, height:600, minWidth:800, maxWidth: 800, minHeight: 600, maxHeight: 600, useContentSize: true, show: false, frame: false, titleBarStyle: 'hidden', webPreferences: { nodeIntegration: true } }); mainWnd.loadURL('http://127.0.0.1:16000/index.html'); mainWnd.on('ready-to-show', ()=>{ Menu.setApplicationMenu(null); mainWnd.show(); // mainWnd.webContents.openDevTools({ detach:true }); }); mainWnd.on('closed', () => { mainWnd = null; process.exit(); }); } app.on('ready', ()=>{ createMainWnd(); }); app.on('window-all-closed', () => { app.quit(); }); ================================================ FILE: demo/electron/package.json ================================================ { "name": "react-desktop-electron-demo", "version": "0.1.0", "description": "", "private": true, "scripts": { "start": "electron ./index.js", "watch": "webpack-dev-server --config ./webpack.config.js --colors --inline --port 16000", "build": "webpack --config ./webpack.config.js", "package": "electron-packager ./ ReactDesktop --all --overwrite --out=./packaged/", "package:windows": "electron-packager ./ ReactDesktop --platform=win32 --overwrite --out=./packaged/", "package:mac": "electron-builder build --mac --config electron-builder.json --publish never", "test": "jest --watch" }, "author": "langyo", "license": "MIT", "dependencies": { "@babel/cli": "^7.5.5", "@babel/core": "^7.5.5", "@babel/plugin-proposal-class-properties": "^7.5.5", "@babel/plugin-proposal-decorators": "^7.4.4", "@babel/plugin-transform-flow-strip-types": "^7.4.4", "@babel/preset-env": "^7.5.5", "@babel/preset-react": "^7.0.0", "@material-ui/core": "^4.3.0", "babel-jest": "^24.8.0", "babel-loader": "^8.0.6", "classnames": "^2.2.6", "prop-types": "^15.7.2", "react": "^16.8.6", "react-desktop": "^0.3.9", "react-dom": "^16.8.6" }, "keywords": [], "devDependencies": { "electron": "^9.1.0", "electron-builder": "^21.1.5", "electron-packager": "^14.0.3", "jest": "^24.8.0", "webpack": "^4.38.0", "webpack-cli": "^3.3.6", "webpack-dev-server": "^3.7.2" } } ================================================ FILE: demo/electron/page_index.js ================================================ import React from 'react'; import ReactDOM from 'react-dom'; import { Window, TitleBar } from 'react-desktop/windows'; import Button from '@material-ui/core/Button'; ReactDOM.render( process.exit()}/>
, document.querySelector('#content')); ================================================ FILE: demo/electron/webpack.config.js ================================================ var path = require('path'); module.exports = { mode: 'development', entry: './page_index.js', output: { filename: 'bundle.js' }, devtool: 'source-map', // resolve: { // alias: { // 'react-desktop': path.join(__dirname, '..', '..') // } // }, module: { rules: [ { test: /\.(js)$/, exclude: /node_modules/, use: 'babel-loader' } ] } }; ================================================ FILE: docs/README.md ================================================ # Documentation **react-desktop** is a JavaScript library built on top of [Facebook's React](https://facebook.github.io/react/) library, which aims to bring a native desktop experience to the web, featuring many macOS High Sierra and Windows 10 components. **react-desktop** works perfectly with [NW.js](http://nwjs.io) and [Electron.js](http://electron.atom.io), but can be used in any JavaScript powered project! ## Table of Contents 1. Getting Started * [Installation](/docs/getting-started/installation.md) 2. macOS * [Box](/docs/mac-os/box.md) * [Button](/docs/mac-os/button.md) * [Checkbox](/docs/mac-os/checkbox.md) * [Dialog](/docs/mac-os/dialog.md) * [Label](/docs/mac-os/label.md) * [Link](/docs/mac-os/link.md) * [List View](/docs/mac-os/list-view.md) * [Pin](/docs/mac-os/pin.md) * [Progress Circle](/docs/mac-os/progress-circle.md) * [Radio](/docs/mac-os/radio.md) * [Search Field](/docs/mac-os/search-field.md) * [Segmented Control](/docs/mac-os/segmented-control.md) * [Text](/docs/mac-os/text.md) * [Text Input](/docs/mac-os/text-input.md) * [Title Bar](/docs/mac-os/title-bar.md) * [Toolbar](/docs/mac-os/toolbar.md) * [Toolbar Nav](/docs/mac-os/toolbar-nav.md) * [View](/docs/mac-os/view.md) * [Window](/docs/mac-os/window.md) 3. Windows 10 * [Button](/docs/windows/button.md) * [Checkbox](/docs/windows/checkbox.md) * [Label](/docs/windows/label.md) * [Master/Details View](/docs/windows/master-details-view.md) * [Nav Pane](/docs/windows/nav-pane.md) * [Progress Circle](/docs/windows/progress-circle.md) * [Radio](/docs/windows/radio.md) * [Text](/docs/windows/text.md) * [Text Input](/docs/windows/text-input.md) * [Title Bar](/docs/windows/title-bar.md) * [View](/docs/windows/view.md) * [Window](/docs/windows/window.md) 4. [Contributing](/CONTRIBUTING.md) 5. [Change Log](/CHANGELOG.md) ================================================ FILE: docs/advanced-usage/electron-js.md ================================================ # Electron.js Documentation is coming soon. ================================================ FILE: docs/advanced-usage/nw-js.md ================================================ # NW.js Documentation is coming soon. ================================================ FILE: docs/faq.md ================================================ # Frequently Asked Questions Documentation is coming soon. ================================================ FILE: docs/getting-started/installation.md ================================================ # Installation **To install the stable version:** ## [NPM](https://www.npmjs.com/) `npm install react-desktop --save` ## [Yarn](https://yarnpkg.com) `yarn add react-desktop` ================================================ FILE: docs/mac-os/box.md ================================================ # Box ### Properties Property | Type | Description :------------------ | :-------------:| :---------- background | string | Sets the background color of a component. height | number | Sets the height of a component. hidden | bool | Sets the visibility of a component. horizontalAlignment | string | Sets the horizontal alignment of the component's content
__Property value__ _"left"_, _"center"_, _"right"_ label | string | Adds a label to the box. margin | string, number | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ marginBottom | string, number | Sets the outer margin bottom of a component. marginLeft | string, number | Sets the outer margin left of a component. marginRight | string, number | Sets the outer margin right of a component. marginTop | string, number | Sets the outer margin top of a component. padding | string, number | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ paddingBottom | string, number | Sets the padding bottom inside a component. paddingLeft | string, number | Sets the padding left inside a component. paddingRight | string, number | Sets the padding right inside a component. paddingTop | string, number | Sets the padding top inside a component. verticalAlignment | string | Sets the vertical alignment of the component's content.
__Property value__ _"top"_, _"center"_, _"bottom"_ width | number | Sets the width of a component. ### Examples ```jsx import React, { Component } from 'react'; import { Box, Text } from 'react-desktop/macOs'; export default class extends Component { render() { return ( Some text... ); } } ``` ================================================ FILE: docs/mac-os/button.md ================================================ # Button ### Properties Property | Type | Description :------------------ | :-------------:| :---------- color | string | Sets the color of the button
__Property value__ _null_ _"blue"_. hidden | bool | Sets the visibility of a component. margin | string, number | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ marginBottom | string, number | Sets the outer margin bottom of a component. marginLeft | string, number | Sets the outer margin left of a component. marginRight | string, number | Sets the outer margin right of a component. marginTop | string, number | Sets the outer margin top of a component. onClick | function | Callback function when the button is pressed. onEnter | function | Callback function when the the enter key is pressed. padding | string, number | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ paddingBottom | string, number | Sets the padding bottom inside a component. paddingLeft | string, number | Sets the padding left inside a component. paddingRight | string, number | Sets the padding right inside a component. paddingTop | string, number | Sets the padding top inside a component. size | string, number | Sets the font size of a component. type | string | Sets the type of the button
__Property value__ _"button"_ _"submit"_. Default value _"button"_. ### Examples ```jsx import React, { Component } from 'react'; import { Button } from 'react-desktop/macOs'; export default class extends Component { render() { return ( ); } } ``` ================================================ FILE: docs/mac-os/checkbox.md ================================================ # Checkbox ### Properties Property | Type | Description :------------------ | :-----------:| :---------- defaultValue | string | Sets the default value of the input. defaultChecked | string | If true, the checkbox is checked by default. hidden | bool | Sets the visibility of a component. label | string | Adds a label to the checkbox. onChange | function | Callback function when the checkbox has changed. ### Examples ```jsx import React, { Component } from 'react'; import { Checkbox } from 'react-desktop/macOs'; export default class extends Component { render() { return ( console.log(e.target.value)} defaultValue="I got checked!" defaultChecked /> ); } } ``` ================================================ FILE: docs/mac-os/dialog.md ================================================ # Dialog ### Properties Property | Type | Description :------------------ | :-------------:| :---------- buttons | array | Sets the buttons of the component. horizontalAlignment | string | Sets the horizontal alignment of the component's content
__Property value__ _"left"_, _"center"_, _"right"_ icon | element | Sets the icon element of the component. margin | string, number | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ marginBottom | string, number | Sets the outer margin bottom of a component. marginLeft | string, number | Sets the outer margin left of a component. marginRight | string, number | Sets the outer margin right of a component. marginTop | string, number | Sets the outer margin top of a component. message | string | Sets the message of the component. title | string | Sets the title of the component. verticalAlignment | string | Sets the vertical alignment of the component's content.
__Property value__ _"top"_, _"center"_, _"bottom"_ ### Examples ```jsx import React, { Component } from 'react'; import { Dialog, Button } from 'react-desktop/macOs'; export default class extends Component { render() { return ( console.log('close this dialog')}>Cancel, , ]} /> ); } renderIcon() { return ( ); } } ``` ================================================ FILE: docs/mac-os/label.md ================================================ # Label ### Properties Property | Type | Description :------------------ | :-------------:| :---------- color | string | Sets the color of the text. height | number | Sets the height of a component. hidden | bool | Sets the visibility of a component. horizontalAlignment | string | Sets the horizontal alignment of the component's content
__Property value__ _"left"_, _"center"_, _"right"_ margin | string, number | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ marginBottom | string, number | Sets the outer margin bottom of a component. marginLeft | string, number | Sets the outer margin left of a component. marginRight | string, number | Sets the outer margin right of a component. marginTop | string, number | Sets the outer margin top of a component. padding | string, number | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ paddingBottom | string, number | Sets the padding bottom inside a component. paddingLeft | string, number | Sets the padding left inside a component. paddingRight | string, number | Sets the padding right inside a component. paddingTop | string, number | Sets the padding top inside a component. verticalAlignment | string | Sets the vertical alignment of the component's content.
__Property value__ _"top"_, _"center"_, _"bottom"_ width | number | Sets the width of a component. ### Examples ```jsx import React, { Component } from 'react'; import { Label } from 'react-desktop/macOs'; export default class extends Component { render() { return ( ); } } ``` ================================================ FILE: docs/mac-os/link.md ================================================ # Link ### Properties Property | Type | Description :------------------ | :-------------:| :---------- color | string | Sets the color of the text. height | string, number | Sets the height of a component. hidden | bool | Sets the visibility of a component. margin | string, number | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ marginBottom | string, number | Sets the outer margin bottom of a component. marginLeft | string, number | Sets the outer margin left of a component. marginRight | string, number | Sets the outer margin right of a component. marginTop | string, number | Sets the outer margin top of a component. padding | string, number | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ paddingBottom | string, number | Sets the padding bottom inside a component. paddingLeft | string, number | Sets the padding left inside a component. paddingRight | string, number | Sets the padding right inside a component. paddingTop | string, number | Sets the padding top inside a component. size | string, number | Sets the font size of a component. textAlign | string | Sets the text alignment of the component's content.
__Property value__ _"left"_, _"center"_, _"right"_ width | string, number | Sets the width of a component. ### Examples ```jsx import React, { Component } from 'react'; import { View, Link } from 'react-desktop/macOs'; export default class extends Component { render() { return ( This is a link This is another link ); } } ``` ================================================ FILE: docs/mac-os/list-view.md ================================================ # ListView ## ListView ### Properties Property | Type | Description :------------------ | :-------------:| :---------- background | string | Sets the background color of a component. height | number | Sets the height of a component. hidden | bool | Sets the visibility of a component. margin | string, number | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ marginBottom | string, number | Sets the outer margin bottom of a component. marginLeft | string, number | Sets the outer margin left of a component. marginRight | string, number | Sets the outer margin right of a component. marginTop | string, number | Sets the outer margin top of a component. padding | string, number | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ paddingBottom | string, number | Sets the padding bottom inside a component. paddingLeft | string, number | Sets the padding left inside a component. paddingRight | string, number | Sets the padding right inside a component. paddingTop | string, number | Sets the padding top inside a component. width | number | Sets the width of a component. ## ListViewFooter ### Properties Property | Type | Description :------------------ | :-------------:| :---------- background | string | Sets the background color of a component. height | number | Sets the height of a component. padding | string, number | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ paddingBottom | string, number | Sets the padding bottom inside a component. paddingLeft | string, number | Sets the padding left inside a component. paddingRight | string, number | Sets the padding right inside a component. paddingTop | string, number | Sets the padding top inside a component. width | number | Sets the width of a component. ## ListViewHeader ### Properties Property | Type | Description :------------------ | :-------------:| :---------- background | string | Sets the background color of a component. height | number | Sets the height of a component. padding | string, number | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ paddingBottom | string, number | Sets the padding bottom inside a component. paddingLeft | string, number | Sets the padding left inside a component. paddingRight | string, number | Sets the padding right inside a component. paddingTop | string, number | Sets the padding top inside a component. width | number | Sets the width of a component. ## ListViewRow ### Properties Property | Type | Description :------------------ | :-------------:| :---------- background | string | Sets the background color of a component. height | number | Sets the height of a component. hidden | bool | Sets the visibility of a component. horizontalAlignment | string | Sets the horizontal alignment of the component's content
__Property value__ _"left"_, _"center"_, _"right"_ layout | string | Sets the direction of the content.
__Property value__ _"horizontal"_, _"vertical"_ margin | string, number | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ marginBottom | string, number | Sets the outer margin bottom of a component. marginLeft | string, number | Sets the outer margin left of a component. marginRight | string, number | Sets the outer margin right of a component. marginTop | string, number | Sets the outer margin top of a component. padding | string, number | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ paddingBottom | string, number | Sets the padding bottom inside a component. paddingLeft | string, number | Sets the padding left inside a component. paddingRight | string, number | Sets the padding right inside a component. paddingTop | string, number | Sets the padding top inside a component. verticalAlignment | string | Sets the vertical alignment of the component's content.
__Property value__ _"top"_, _"center"_, _"bottom"_ width | number | Sets the width of a component. ## ListViewSection ### Properties Property | Type | Description :------------------ | :---------------------:| :---------- header | string, element, array | Sets the header or header element of the component. ## ListViewSectionHeader ### Properties Property | Type | Description :------------------ | :-------------------:| :---------- bold | bool, number, string | Sets the bold value of a component. color | string | Sets the color of the text. margin | string, number | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ marginBottom | string, number | Sets the outer margin bottom of a component. marginLeft | string, number | Sets the outer margin left of a component. marginRight | string, number | Sets the outer margin right of a component. marginTop | string, number | Sets the outer margin top of a component. padding | string, number | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ paddingBottom | string, number | Sets the padding bottom inside a component. paddingLeft | string, number | Sets the padding left inside a component. paddingRight | string, number | Sets the padding right inside a component. paddingTop | string, number | Sets the padding top inside a component. size | string, number | Sets the font size of a component. ## ListViewSeparator ### Properties Property | Type | Description :------------------ | :-------------------:| :---------- color | string | Sets the color of the separator. height | number | Sets the height of a component. hidden | bool | Sets the visibility of a component. margin | string, number | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ marginBottom | string, number | Sets the outer margin bottom of a component. marginLeft | string, number | Sets the outer margin left of a component. marginRight | string, number | Sets the outer margin right of a component. marginTop | string, number | Sets the outer margin top of a component. padding | string, number | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ paddingBottom | string, number | Sets the padding bottom inside a component. paddingLeft | string, number | Sets the padding left inside a component. paddingRight | string, number | Sets the padding right inside a component. paddingTop | string, number | Sets the padding top inside a component. width | number | Sets the width of a component. ### Examples ```jsx import React, { Component } from 'react'; import { ListView, ListViewHeader, ListViewFooter, ListViewSection, ListViewSectionHeader, ListViewRow, ListViewSeparator, Text } from 'react-desktop/macOs'; export default class extends Component { constructor() { super(); this.state = { selected: null }; } render() { return ( Order by name {this.renderItem('Item 1', 'This is the first item.')} {this.renderItem('Item 2', 'This is the second item.')} {this.renderItem('Item 3', 'This is the third item.')} {this.renderItem('Item 4', 'This is the fourth item.')} {this.renderItem('Item 5', 'This is the fifth item.')} {this.renderItem('Item 6', 'This is the sixth item.')} Status ); } renderSectionHeader(title) { return ( {title} ); } renderItem(title, info) { return ( this.setState({ selected: title })} background={this.state.selected === title ? '#d8dadc' : null} > {info} ); } } ``` ================================================ FILE: docs/mac-os/pin.md ================================================ # Pin ### Properties Property | Type | Description :------------------ | :-------------:| :---------- hidden | bool | Sets the visibility of a component. length | number | Sets the length of the pin. margin | string, number | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ marginBottom | string, number | Sets the outer margin bottom of a component. marginLeft | string, number | Sets the outer margin left of a component. marginRight | string, number | Sets the outer margin right of a component. marginTop | string, number | Sets the outer margin top of a component. onChange | function | Callback function when the input changes. reveal | bool | Reveals the characters in the pin. ### Examples ```jsx import React, { Component } from 'react'; import { Pin, View } from 'react-desktop/macOs'; export default class extends Component { render() { return ( console.log(value)} length={4} reveal /> ); } } ``` ================================================ FILE: docs/mac-os/progress-circle.md ================================================ # Progress Circle ### Properties Property | Type | Description :------------------ | :-----------:| :---------- color | string | Sets the color of the progress circle. hidden | bool | Sets the visibility of a component. size | number | Sets the size of the progress circle. ### Examples ```jsx import React, { Component } from 'react'; import { ProgressCircle } from 'react-desktop/macOs'; export default class extends Component { render() { return ( ); } } ``` ================================================ FILE: docs/mac-os/radio.md ================================================ # Radio ### Properties Property | Type | Description :------------------ | :-----------:| :---------- defaultValue | string | Sets the default value of the input. defaultChecked | string | If true, the radio is checked by default. hidden | bool | Sets the visibility of a component. label | string | Adds a label to the checkbox. name | string | Name of the input. onChange | function | Callback function when the checkbox has changed. ### Examples ```jsx import React, { Component } from 'react'; import { View, Radio } from 'react-desktop/macOs'; export default class extends Component { render() { return ( console.log(e.target.value)} defaultValue="I got checked!" defaultChecked /> console.log(e.target.value)} defaultValue="I got checked!" /> ); } } ``` ================================================ FILE: docs/mac-os/search-field.md ================================================ # SearchField ### Properties Property | Type | Description :------------------ | :-------------------:| :---------- cancel | bool | Sets whether the cancel button is visible. centerPlaceholder | bool | Sets whether the placeholder is animated and centered when the input is not focused. defaultValue | string | Sets the default value of the input. focusRing | bool | Sets the visibility of the focus ring around the input. hidden | bool | Sets the visibility of a component. icon | element, array | Adds an icon to the input. label | string | Adds a label to the input. margin | string, number | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ marginBottom | string, number | Sets the outer margin bottom of a component. marginLeft | string, number | Sets the outer margin left of a component. marginRight | string, number | Sets the outer margin right of a component. marginTop | string, number | Sets the outer margin top of a component. onCancel | function | Callback function when the user press the cancel button. onChange | function | Callback function when the input changes. onEnter | function | Callback function when the enter key is pressed. placeholder | string | Adds a placeholder to the input. rounded | bool, number, string | Sets the roundness of the input border size | string, number | Sets the font size of a component. value | string | Sets the value of the input. width | number | Sets the width of a component. ### Examples ```jsx import React, { Component } from 'react'; import { TitleBar, Toolbar, SearchField } from 'react-desktop/macOs'; export default class extends Component { handleChange = e => console.log(e.target.value); render() { return ( ); } } ``` ================================================ FILE: docs/mac-os/segmented-control.md ================================================ # Segmented Control ## SegmentedControl ### Properties Property | Type | Description :------------------ | :-------------:| :---------- box | bool | Sets whether the item is in a box or not. height | number | Sets the height of a component. hidden | bool | Sets the visibility of a component. margin | string, number | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ marginBottom | string, number | Sets the outer margin bottom of a component. marginLeft | string, number | Sets the outer margin left of a component. marginRight | string, number | Sets the outer margin right of a component. marginTop | string, number | Sets the outer margin top of a component. width | number | Sets the width of a component. ## SegmentedControlItem ### Properties Property | Type | Description :------------------ | :-------:| :---------- title | string | Sets the title of the item. onSelect | function | Callback function when selecting an item. selected | bool | Sets whether the item is selected or not. ### Examples ```jsx import React, { Component } from 'react'; import { SegmentedControl, SegmentedControlItem, Text } from 'react-desktop/macOs'; export default class extends Component { constructor() { super(); this.state = { selected: 1 } } render() { return ( {this.renderItems()} ); } renderItems() { return [ this.renderItem(1, 'Tab 1', Content 1), this.renderItem(2, 'Tab 2', Content 2), this.renderItem(3, 'Tab 3', Content 3) ]; } renderItem(key, title, content) { return ( this.setState({ selected: key })} > {content} ); } } ``` ================================================ FILE: docs/mac-os/text-input.md ================================================ # TextInput ### Properties Property | Type | Description :------------------ | :-------------------:| :---------- centerPlaceholder | bool | Sets whether the placeholder is animated and centered when the input is not focused. defaultValue | string | Sets the default value of the input. focusRing | bool | Sets the visibility of the focus ring around the input. hidden | bool | Sets the visibility of a component. icon | element, array | Adds an icon to the input. label | string | Adds a label to the input. margin | string, number | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ marginBottom | string, number | Sets the outer margin bottom of a component. marginLeft | string, number | Sets the outer margin left of a component. marginRight | string, number | Sets the outer margin right of a component. marginTop | string, number | Sets the outer margin top of a component. onChange | function | Callback function when the input changes. onEnter | function | Callback function when the enter key is pressed. placeholder | string | Adds a placeholder to the input. rounded | bool, number, string | Sets the roundness of the input border size | string, number | Sets the font size of a component. value | string | Sets the value of the input. width | number | Sets the width of a component. password | bool | Sets the input type to password. ### Methods Method | Type | Description :------------------ | :-------------:| :---------- focus | function | Focus text input programmatically blur | function | Remove focus from text input programmatically ### Examples ```jsx import React, { Component } from 'react'; import { TextInput } from 'react-desktop/macOs'; export default class extends Component { handleChange = e => console.log(e.target.value); render() { return ( ); } } ``` ================================================ FILE: docs/mac-os/text.md ================================================ # Text ### Properties Property | Type | Description :------------------ | :-------------------:| :---------- background | string | Sets the background color of a component. bold | bool, number, string | Sets the bold value of a component. color | string | Sets the color of the text. height | string, number | Sets the height of a component. hidden | bool | Sets the visibility of a component. margin | string, number | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ marginBottom | string, number | Sets the outer margin bottom of a component. marginLeft | string, number | Sets the outer margin left of a component. marginRight | string, number | Sets the outer margin right of a component. marginTop | string, number | Sets the outer margin top of a component. padding | string, number | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ paddingBottom | string, number | Sets the padding bottom inside a component. paddingLeft | string, number | Sets the padding left inside a component. paddingRight | string, number | Sets the padding right inside a component. paddingTop | string, number | Sets the padding top inside a component. size | string, number | Sets the font size of a component. textAlign | string | Sets the text alignment of the component's content.
__Property value__ _"left"_, _"center"_, _"right"_ width | string, number | Sets the width of a component. ### Examples ```jsx import React, { Component } from 'react'; import { Text } from 'react-desktop/macOs'; export default class extends Component { render() { return ( Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam justo urna, posuere vitae est et, accumsan bibendum sapien. Suspendisse lobortis mollis finibus. Nunc tincidunt enim est, efficitur semper dolor luctus eget. Donec faucibus dolor id leo tincidunt, condimentum mattis augue finibus. Etiam hendrerit ipsum nisi, vel semper dolor malesuada a. Pellentesque a scelerisque sapien, quis interdum odio. Nulla posuere, velit sit amet lacinia pharetra, sapien arcu convallis dolor, id congue erat lectus nec sem. Praesent pretium a nisi et elementum. Cras lacinia sollicitudin suscipit. Phasellus accumsan felis odio. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. ); } } ``` ================================================ FILE: docs/mac-os/title-bar.md ================================================ # TitleBar ### Properties Property | Type | Description :------------------ | :-----------:| :---------- controls | bool | Sets the visibility of the controls of the title bar. inset | bool | Sets the controls of the title bar state to be inset. isFullscreen | bool | Sets the title bar state to fullscreen. onCloseClick | function | Callback function of the close button. onMaximizeClick | function | Callback function of the maximize button onMinimizeClick | function | Callback function of the minimize button onResizeClick | function | Callback function of the resize button title | string | Sets the title of the title bar. transparent | bool | Make the title bar background transparent. disableClose | bool | Disable the close button. disableMinimize | bool | Disable the minimize button. disableResize | bool | Disable the resize button. disableFullscreen | bool | Disable fullscreen, will show the '+' maximize icon instead. ### Examples ```jsx import React, { Component } from 'react'; import { View, TitleBar } from 'react-desktop/macOs'; export default class extends Component { constructor() { super(); this.state = { isFullscreen: false }; } render() { return ( console.log('Close window')} onMinimizeClick={() => console.log('Minimize window')} onMaximizeClick={() => console.log('Mazimize window')} onResizeClick={() => this.setState({ isFullscreen: !this.state.isFullscreen })} /> ); } } ``` ================================================ FILE: docs/mac-os/toolbar-nav.md ================================================ # Toolbar Nav ## ToolbarNav ### Properties Property | Type | Description :------------------ | :-----------:| :---------- height | number | Sets the height of a component. width | number | Sets the width of a component. ## ToolbarNavItem ### Properties Property | Type | Description :------------------ | :---------------------:| :---------- icon | element, array | Sets the icon element of the item. onClick | function | Callback function when the item is pressed. selected | bool | Sets whether the item is selected or not. title | string | Sets the title of the item. ### Examples ```jsx import React, { Component } from 'react'; import { TitleBar, Toolbar, ToolbarNav, ToolbarNavItem } from 'react-desktop/macOs'; const circle = ( ); const star = ( ); const polygon = ( ); export default class extends Component { constructor() { super(); this.state = { selected: 1 }; } render() { return ( this.setState({ selected: 1 })} /> this.setState({ selected: 2 })} /> this.setState({ selected: 3 })} /> ); } } ``` ================================================ FILE: docs/mac-os/toolbar.md ================================================ # Toolbar ### Properties Property | Type | Description :------------------ | :-----------:| :---------- height | number | Sets the height of a component. horizontalAlignment | string | Sets the horizontal alignment of the component's content
__Property value__ _"left"_, _"center"_, _"right"_ verticalAlignment | string | Sets the vertical alignment of the component's content.
__Property value__ _"top"_, _"center"_, _"bottom"_ width | number | Sets the width of a component. ### Examples ```jsx import React, { Component } from 'react'; import { TitleBar, Toolbar, Text } from 'react-desktop/macOs'; export default class extends Component { render() { return ( ); } } ``` ================================================ FILE: docs/mac-os/view.md ================================================ # View ### Properties Property | Type | Description :------------------ | :-------------:| :---------- background | string | Sets the background color of a component. height | number | Sets the height of a component. hidden | bool | Sets the visibility of a component. horizontalAlignment | string | Sets the horizontal alignment of the component's content
__Property value__ _"left"_, _"center"_, _"right"_ layout | string | Sets the direction of the content.
__Property value__ _"horizontal"_, _"vertical"_ margin | string, number | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ marginBottom | string, number | Sets the outer margin bottom of a component. marginLeft | string, number | Sets the outer margin left of a component. marginRight | string, number | Sets the outer margin right of a component. marginTop | string, number | Sets the outer margin top of a component. padding | string, number | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ paddingBottom | string, number | Sets the padding bottom inside a component. paddingLeft | string, number | Sets the padding left inside a component. paddingRight | string, number | Sets the padding right inside a component. paddingTop | string, number | Sets the padding top inside a component. verticalAlignment | string | Sets the vertical alignment of the component's content.
__Property value__ _"top"_, _"center"_, _"bottom"_ width | number | Sets the width of a component. ### Examples ```jsx import React, { Component } from 'react'; import { View, Text } from 'react-desktop/macOs'; export default class extends Component { render() { return ( Hello World ); } } ``` ================================================ FILE: docs/mac-os/window.md ================================================ # Window ### Properties Property | Type | Description :------------------ | :-------------:| :---------- background | string | Sets the background color of a component. chrome | bool | Sets the chrome of the window. height | number | Sets the height of a component. hidden | bool | Sets the visibility of a component. horizontalAlignment | string | Sets the horizontal alignment of the component's content
__Property value__ _"left"_, _"center"_, _"right"_ padding | string, number | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ paddingBottom | string, number | Sets the padding bottom inside a component. paddingLeft | string, number | Sets the padding left inside a component. paddingRight | string, number | Sets the padding right inside a component. paddingTop | string, number | Sets the padding top inside a component. verticalAlignment | string | Sets the vertical alignment of the component's content.
__Property value__ _"top"_, _"center"_, _"bottom"_ width | number | Sets the width of a component. ### Examples ```jsx import React, { Component } from 'react'; import { Window, TitleBar, Text } from 'react-desktop/macOs'; export default class extends Component { render() { return ( Hello World ); } } ``` ================================================ FILE: docs/testing.md ================================================ # Testing Documentation is coming soon. ================================================ FILE: docs/windows/button.md ================================================ # Button ### Properties Property | Type | Description :------------------ | :-----------:| :---------- color | string, bool | Sets whether the button is colored (bool) or sets the color of the button (string). hidden | bool | Sets the visibility of a component. onClick | function | Callback function when the button is pressed. push | bool | Display push animation when pressing the button. theme | string | Sets the UI theme that is used by this component and its children elements.
__Property value__ _"light"_, _"dark"_ type | string | Sets the type of the button
__Property value__ _"button"_ _"submit"_. Default value _"button"_. ### Examples ```jsx import React, { Component } from 'react'; import { Button } from 'react-desktop/windows'; export default class extends Component { static defaultProps = { color: '#cc7f29' }; render() { return ( ); } } ``` ================================================ FILE: docs/windows/checkbox.md ================================================ # Checkbox ### Properties Property | Type | Description :------------------ | :-----------:| :---------- color | string | Sets the color of the checkbox. defaultValue | string | Sets the default value of the input. defaultChecked | string | If true, the checkbox is checked by default. hidden | bool | Sets the visibility of a component. label | string | Adds a label to the checkbox. onChange | function | Callback function when the checkbox has changed. theme | string | Sets the UI theme that is used by this component and its children elements.
__Property value__ _"light"_, _"dark"_ ### Examples ```jsx import React, { Component } from 'react'; import { Checkbox } from 'react-desktop/windows'; export default class extends Component { static defaultProps = { color: '#cc7f29', theme: 'light' }; render() { return ( console.log(e.target.value)} defaultValue="I got checked!" defaultChecked /> ); } } ``` ================================================ FILE: docs/windows/label.md ================================================ # Label ### Properties Property | Type | Description :------------------ | :-----------:| :---------- background | string, bool | Sets whether the background is colored (bool) or sets the color of the background (string). color | string, bool | Sets whether the text is colored (bool) or sets the color of the text (string). height | number | Sets the height of a component. hidden | bool | Sets the visibility of a component. horizontalAlignment | string | Sets the horizontal alignment of the component's content
__Property value__ _"left"_, _"center"_, _"right"_ margin | string | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ padding | string | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ theme | string | Sets the UI theme that is used by this component and its children elements.
__Property value__ _"light"_, _"dark"_ verticalAlignment | string | Sets the vertical alignment of the component's content.
__Property value__ _"top"_, _"center"_, _"bottom"_ width | number | Sets the width of a component. ### Examples ```jsx import React, { Component } from 'react'; import { Label } from 'react-desktop/windows'; export default class extends Component { render() { return ( ); } } ``` ================================================ FILE: docs/windows/master-details-view.md ================================================ # MasterDetailsView ## MasterDetailsView ### Properties Property | Type | Description :------------------ | :-----:| :---------- color | string | Sets the main color of a component. theme | string | Sets the UI theme that is used by this component and its children elements.
__Property value__ _"light"_, _"dark"_ ## MasterDetailsViewItem ### Properties Property | Type | Description :------------------ | :-----:| :---------- color | string | Sets the main color of a component. theme | string | Sets the UI theme that is used by this component and its children elements.
__Property value__ _"light"_, _"dark"_ ## MasterDetailsViewItemMaster ### Properties Property | Type | Description :------------------ | :-----:| :---------- color | string | Sets the main color of a component. push | bool | Display push animation when selecting an item. selected | bool | Master is selected. theme | string | Sets the UI theme that is used by this component and its children elements.
__Property value__ _"light"_, _"dark"_ width | number | Sets the width of a component. ## MasterDetailsViewItemDetails ### Properties Property | Type | Description :------------------ | :-----------:| :---------- background | string, bool | Sets the background color of a component, if bool, the color will be used as the background color. color | string | Sets the main color of a component. theme | string | Sets the UI theme that is used by this component and its children elements.
__Property value__ _"light"_, _"dark"_ ### Examples ```jsx import React, { Component } from 'react'; import { MasterDetailsView, MasterDetailsViewItem, MasterDetailsViewItemMaster, MasterDetailsViewItemDetails, Text } from 'react-desktop/windows'; export default class extends Component { static defaultProps = { color: '#cc7f29', theme: 'light' }; render() { return ( {this.renderItem('Item 1', 'Content 1')} {this.renderItem('Item 2', 'Content 2')} {this.renderItem('Item 3', 'Content 3')} ); } renderItem(master, details) { return ( {master} {details} ); } } ``` ================================================ FILE: docs/windows/nav-pane.md ================================================ # NavPane ## NavPane ### Properties Property | Type | Description :-------------------- | :-------------:| :---------- canPaneToggle | bool | Sets whether the pane can be compacted.
Default value _"true"_. color | string | Sets the main color of a component. defaultIsPaneExpanded | string | Sets whether the pane is expanded by default.
Default value _"true"_. onPaneToggle | function | Callback function when the pane is expanded or compacted. paneCompactedLength | string, number | Sets the length of the pane when compacted.
Default value _"48px"_. paneExpandedLength | string, number | Sets the length of the pane when expanded.
Default value _"200px"_ theme | string | Sets the UI theme that is used by this component and its children elements.
__Property value__ _"light"_, _"dark"_ ## NavPaneItem ### Properties Property | Type | Description :------------------- | :---------------------:| :---------- background | string, bool | Sets the background color of a component, if bool, the color will be used as the background color. color | string | Sets the main color of a component. horizontalAlignment | string | Sets the horizontal alignment of the component's content
__Property value__ _"left"_, _"center"_, _"right"_ icon | string, element, array | Sets the icon element of the item. margin | string | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ onSelect | function | Callback function when an item is selected. padding | string | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ push | bool | Display push animation when pressing the button. selected | bool | Sets whether the item is selected or not. title | string, element, array | Sets the title of the element. theme | string | Sets the UI theme that is used by this component and its children elements.
__Property value__ _"light"_, _"dark"_ verticalAlignment | string | Sets the vertical alignment of the component's content.
__Property value__ _"top"_, _"center"_, _"bottom"_ ### Examples ```jsx import React, { Component } from 'react'; import { NavPane, NavPaneItem, Text } from 'react-desktop/windows'; export default class extends Component { static defaultProps = { color: '#cc7f29', theme: 'light' }; constructor() { super(); this.state = { selected: 'Item 1' } } render() { return ( {this.renderItem('Item 1', 'Content 1')} {this.renderItem('Item 2', 'Content 2')} {this.renderItem('Item 3', 'Content 3')} ); } renderItem(title, content) { return ( this.setState({ selected: title })} padding="10px 20px" push > {content} ); } renderIcon(name) { const fill = this.props.theme === 'dark' ? '#ffffff' : '#000000'; switch(name) { case 'Item 1': return ( ); case 'Item 2': return ( ); case 'Item 3': return ( ); } } } ``` ================================================ FILE: docs/windows/progress-circle.md ================================================ # Progress Circle ### Properties Property | Type | Description :------------------ | :-----------:| :---------- color | string | Sets the color of the progress circle. hidden | bool | Sets the visibility of a component. size | number | Sets the size of the progress circle. ### Examples ```jsx import React, { Component } from 'react'; import { ProgressCircle } from 'react-desktop/windows'; export default class extends Component { static defaultProps = { color: '#cc7f29' }; render() { return ( ); } } ``` ================================================ FILE: docs/windows/radio.md ================================================ # Radio ### Properties Property | Type | Description :------------------ | :-----------:| :---------- color | string | Sets the color of the radio. defaultValue | string | Sets the default value of the input. defaultChecked | string | If true, the radio is checked by default. hidden | bool | Sets the visibility of a component. label | string | Adds a label to the checkbox. name | string | Name of the input. onChange | function | Callback function when the checkbox has changed. theme | string | Sets the UI theme that is used by this component and its children elements.
__Property value__ _"light"_, _"dark"_ ### Examples ```jsx import React, { Component } from 'react'; import { View, Radio } from 'react-desktop/windows'; export default class extends Component { static defaultProps = { color: '#cc7f29', theme: 'light' }; render() { return ( console.log(e.target.value)} defaultValue="I got checked!" defaultChecked /> console.log(e.target.value)} defaultValue="I got checked!" /> ); } } ``` ================================================ FILE: docs/windows/text-input.md ================================================ # TextInput ### Properties Property | Type | Description :------------------ | :-----------:| :---------- background | string, bool | Sets the background color of a component, if bool, the color will be used as the background color. color | string | Sets the main color of a component and it's children. defaultValue | string | Sets the default value of the input. hidden | bool | Sets the visibility of a component. label | string | Adds a label to the input. labelColor | string, bool | Sets whether the label text is colored (bool) or sets the color of the label text (string). labelStyle | object | Custom styles for the label. margin | string | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ onChange | function | Callback function when the input changes. placeholder | function | Adds a placeholder to the input. theme | string | Sets the UI theme that is used by this component and its children elements.
__Property value__ _"light"_, _"dark"_ value | string | Sets the value of the input. width | number | Sets the width of a component. password | bool | Sets the input type to password. ### Examples ```jsx import React, { Component } from 'react'; import { TextInput } from 'react-desktop/windows'; export default class extends Component { static defaultProps = { color: '#cc7f29', theme: 'light' }; handleChange = e => console.log(e.target.value); render() { return ( ); } } ``` ================================================ FILE: docs/windows/text.md ================================================ # Text ### Properties Property | Type | Description :------------------ | :-----------:| :---------- background | string, bool | Sets whether the background is colored (bool) or sets the color of the background (string). color | string, bool | Sets whether the text is colored (bool) or sets the color of the text (string). height | number | Sets the height of a component. hidden | bool | Sets the visibility of a component. horizontalAlignment | string | Sets the horizontal alignment of the component's content
__Property value__ _"left"_, _"center"_, _"right"_ margin | string | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ padding | string | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ theme | string | Sets the UI theme that is used by this component and its children elements.
__Property value__ _"light"_, _"dark"_ verticalAlignment | string | Sets the vertical alignment of the component's content.
__Property value__ _"top"_, _"center"_, _"bottom"_ width | number | Sets the width of a component. ### Examples ```jsx import React, { Component } from 'react'; import { Text } from 'react-desktop/windows'; export default class extends Component { static defaultProps = { color: '#cc7f29', theme: 'light' }; render() { return ( Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam justo urna, posuere vitae est et, accumsan bibendum sapien. Suspendisse lobortis mollis finibus. Nunc tincidunt enim est, efficitur semper dolor luctus eget. Donec faucibus dolor id leo tincidunt, condimentum mattis augue finibus. Etiam hendrerit ipsum nisi, vel semper dolor malesuada a. Pellentesque a scelerisque sapien, quis interdum odio. Nulla posuere, velit sit amet lacinia pharetra, sapien arcu convallis dolor, id congue erat lectus nec sem. Praesent pretium a nisi et elementum. Cras lacinia sollicitudin suscipit. Phasellus accumsan felis odio. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. ); } } ``` ================================================ FILE: docs/windows/title-bar.md ================================================ # TitleBar ### Properties Property | Type | Description :------------------ | :-----------:| :---------- background | string, bool | Sets the background color of a component, if bool, the color will be used as the background color. controls | bool | Sets the visibility of the controls of the title bar. color | string | Sets the main color of a component and it's children. isMaximized | bool | Sets the title bar state to maximized. onCloseClick | function | Callback function of the close button. onMaximizeClick | function | Callback function of the maximize button onMinimizeClick | function | Callback function of the minimize button onRestoreDownClick | function | Callback function of the restore down button title | string | Sets the title of the title bar. theme | string | Sets the UI theme that is used by this component and its children elements.
__Property value__ _"light"_, _"dark"_ ### Examples ```jsx import React, { Component } from 'react'; import { TitleBar } from 'react-desktop/windows'; export default class extends Component { static defaultProps = { color: '#cc7f29', theme: 'light' }; constructor(props) { super(props); this.state = { isMaximized: true }; } close = () => console.log('close'); minimize = () => console.log('minimize'); toggleMaximize = () => this.setState({ isMaximized: !this.state.isMaximized }); render() { return ( ); } } ``` ================================================ FILE: docs/windows/view.md ================================================ # View ### Properties Property | Type | Description :------------------ | :-----------:| :---------- background | string, bool | Sets the background color of a component, if bool, the color will be used as the background color. color | string | Sets the main color of a component and it's children. height | number | Sets the height of a component. hidden | bool | Sets the visibility of a component. horizontalAlignment | string | Sets the horizontal alignment of the component's content
__Property value__ _"left"_, _"center"_, _"right"_ layout | string | Sets the direction of the content.
__Property value__ _"horizontal"_, _"vertical"_ margin | string | Sets the outer margin of a component.
__E.G.__ _"30px 20px"_ padding | string | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ theme | string | Sets the UI theme that is used by this component and its children elements.
__Property value__ _"light"_, _"dark"_ verticalAlignment | string | Sets the vertical alignment of the component's content.
__Property value__ _"top"_, _"center"_, _"bottom"_ width | number | Sets the width of a component. ### Examples ```jsx import React, { Component } from 'react'; import { View, Text } from 'react-desktop/windows'; export default class extends Component { static defaultProps = { color: '#cc7f29', theme: 'light' }; render() { return ( Hello World ); } } ``` ================================================ FILE: docs/windows/window.md ================================================ # Window ### Properties Property | Type | Description :------------------ | :-----------:| :---------- background | string, bool | Sets the background color of a component, if bool, the color will be used as the background color. chrome | bool | Sets the chrome of the window. color | string | Sets the main color of a component and it's children. height | number | Sets the height of a component. hidden | bool | Sets the visibility of a component. horizontalAlignment | string | Sets the horizontal alignment of the component's content
__Property value__ _"left"_, _"center"_, _"right"_ padding | string | Sets the padding inside a component.
__E.G.__ _"30px 20px"_ theme | string | Sets the UI theme that is used by this component and its children elements.
__Property value__ _"light"_, _"dark"_ verticalAlignment | string | Sets the vertical alignment of the component's content.
__Property value__ _"top"_, _"center"_, _"bottom"_ width | number | Sets the width of a component. ### Examples ```jsx import React, { Component } from 'react'; import { Window, TitleBar, Text } from 'react-desktop/windows'; export default class extends Component { static defaultProps = { color: '#cc7f29', theme: 'light' }; render() { return ( Hello World ); } } ``` ================================================ FILE: examples/macOs/advanced/pinDialog.js ================================================ import React, { Component } from 'react'; import { View, Dialog, Pin, Button, Text, ProgressCircle } from 'react-desktop/macOs'; class PinDialog extends Component { constructor() { super(); this.state = { pin: '', error: null, loading: false }; } submit = () => { this.setState({ loading: true }); setTimeout(() => { this.setState({ loading: false, error: 'The confirmation code you entered is incorrect.' }); }, 1500); }; render() { let error; if (this.state.error) { error = {this.state.error}; } return ( Cancel , ]} horizontalAlignment="center" > {error} ); } renderIcon() { return ( ); } } export default PinDialog; ================================================ FILE: examples/macOs/components/box.js ================================================ import React, { Component } from 'react'; import { Box, Text } from 'react-desktop/macOs'; export default class extends Component { render() { return ( Some text... ); } } ================================================ FILE: examples/macOs/components/button.js ================================================ import React, { Component } from 'react'; import { Button } from 'react-desktop/macOs'; export default class extends Component { render() { return ( ); } } ================================================ FILE: examples/macOs/components/checkbox.js ================================================ import React, { Component } from 'react'; import { Checkbox } from 'react-desktop/macOs'; export default class extends Component { render() { return ( console.log(e.target.value)} defaultValue="I got checked!" defaultChecked /> ); } } ================================================ FILE: examples/macOs/components/dialog.js ================================================ import React, { Component } from 'react'; import { Dialog, Button } from 'react-desktop/macOs'; export default class extends Component { render() { return ( console.log('close this dialog')}>Cancel, , ]} /> ); } renderIcon() { return ( ); } } ================================================ FILE: examples/macOs/components/label.js ================================================ import React, { Component } from 'react'; import { Label } from 'react-desktop/macOs'; export default class extends Component { render() { return ( ); } } ================================================ FILE: examples/macOs/components/link.js ================================================ import React, { Component } from 'react'; import { View, Link } from 'react-desktop/macOs'; export default class extends Component { render() { return ( This is a link This is another link ); } } ================================================ FILE: examples/macOs/components/listView.js ================================================ import React, { Component } from 'react'; import { ListView, ListViewHeader, ListViewFooter, ListViewSection, ListViewSectionHeader, ListViewRow, ListViewSeparator, Text } from 'react-desktop/macOs'; export default class extends Component { constructor() { super(); this.state = { selected: null }; } render() { return ( Order by name {this.renderItem('Item 1', 'This is the first item.')} {this.renderItem('Item 2', 'This is the second item.')} {this.renderItem('Item 3', 'This is the third item.')} {this.renderItem('Item 4', 'This is the fourth item.')} {this.renderItem('Item 5', 'This is the fifth item.')} {this.renderItem('Item 6', 'This is the sixth item.')} Status ); } renderSectionHeader(title) { return ( {title} ); } renderItem(title, info) { return ( this.setState({ selected: title })} background={this.state.selected === title ? '#d8dadc' : null} > {info} ); } } ================================================ FILE: examples/macOs/components/pin.js ================================================ import React, { Component } from 'react'; import { Pin, View } from 'react-desktop/macOs'; export default class extends Component { render() { return ( console.log(value)} length={4} reveal /> ); } } ================================================ FILE: examples/macOs/components/progressCircle.js ================================================ import React, { Component } from 'react'; import { ProgressCircle } from 'react-desktop/macOs'; export default class extends Component { render() { return ( ); } } ================================================ FILE: examples/macOs/components/radio.js ================================================ import React, { Component } from 'react'; import { View, Radio } from 'react-desktop/macOs'; export default class extends Component { render() { return ( console.log(e.target.value)} defaultValue="I got checked!" defaultChecked /> console.log(e.target.value)} defaultValue="I got checked!" /> ); } } ================================================ FILE: examples/macOs/components/searchField.js ================================================ import React, { Component } from 'react'; import { TitleBar, Toolbar, SearchField } from 'react-desktop/macOs'; export default class extends Component { handleChange = e => console.log(e.target.value); render() { return ( ); } } ================================================ FILE: examples/macOs/components/segmentedControl.js ================================================ import React, { Component } from 'react'; import { SegmentedControl, SegmentedControlItem, Text } from 'react-desktop/macOs'; export default class extends Component { constructor() { super(); this.state = { selected: 1 } } render() { return ( {this.renderItems()} ); } renderItems() { return [ this.renderItem(1, 'Tab 1', Content 1), this.renderItem(2, 'Tab 2', Content 2), this.renderItem(3, 'Tab 3', Content 3) ]; } renderItem(key, title, content) { return ( this.setState({ selected: key })} > {content} ); } } ================================================ FILE: examples/macOs/components/text.js ================================================ import React, { Component } from 'react'; import { Text } from 'react-desktop/macOs'; export default class extends Component { render() { return ( Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam justo urna, posuere vitae est et, accumsan bibendum sapien. Suspendisse lobortis mollis finibus. Nunc tincidunt enim est, efficitur semper dolor luctus eget. Donec faucibus dolor id leo tincidunt, condimentum mattis augue finibus. Etiam hendrerit ipsum nisi, vel semper dolor malesuada a. Pellentesque a scelerisque sapien, quis interdum odio. Nulla posuere, velit sit amet lacinia pharetra, sapien arcu convallis dolor, id congue erat lectus nec sem. Praesent pretium a nisi et elementum. Cras lacinia sollicitudin suscipit. Phasellus accumsan felis odio. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. ); } } ================================================ FILE: examples/macOs/components/textArea.js ================================================ import React, { Component } from 'react'; import { TextArea } from 'react-desktop/macOs'; export default class extends Component { handleChange = e => console.log(e.target.value); render() { return (