diff --git a/AUTHORS b/AUTHORS deleted file mode 100644 index 78fd51845c7a2..0000000000000 --- a/AUTHORS +++ /dev/null @@ -1,178 +0,0 @@ -Adam Krebs -Adam Solove -Alan deLevie -Alex Zelenskiy -Alexander Solovyov -Andreas Svensson -Andrew Davey -Andrew Zich -Andrey Popp <8mayday@gmail.com> -Anthony van der Hoorn -Ayman Osman -Ben Alpert -Ben Newman -Ben Ripkens -Bill Fisher -Bob Eagan -Bojan Mihelac -Brandon Bloom -Brian Cooke -Brian Kim -Brian Reavis -Brian Rue -Cam Spiers -Cassus Adam Banko -Cat Chen -Cheng Lou -Christian Roman -Christoph Pojer -Christopher Monsanto -Clay Allsopp -Connor McSheffrey -Dan Schafer -Daniel Gasienica -Daniel Lo Nigro -Daniel Miladinov -Daniel Schonfeld -Danny Ben-David -Daryl Lau -David Hellsing -David Hu -Devon Blandin -Dmitry Mazuro -Dustin Getz -Enguerran -Eric Clemmons -Eric Florenzano -Eric Schoffstall -Evan Coonrod -Fabio M. Costa -Felipe Oliveira Carvalho -Felix Kling -Fernando Correia -François-Xavier Bois -Fred Zhao -G Scott Olson -Geert Pasteels -Geert-Jan Brits -George A Sisco III -Gilbert -Greg Hurrell -Greg Roodt -Guangqiang Dong -Guido Bouman -Harry Hull -Harshad Sabne -Hendrik Swanepoel -Hugo Jobling -Ian Obermiller -Ingvar Stepanyan -Irae Carvalho -Isaac Salier-Hellendag -Ivan Kozik -Jaime Mingo -Jakub Malinowski -James Brantly -James Ide -Jamie Wong -Jamison Dance -Jan Kassens -Jared Forsyth -Jason Bonta -Jason Trill -Jean Lauliac -Jeff Barczewski -Jeff Carpenter -Jeff Morrison -Jeff Welch -Jeffrey Lin -Jignesh Kakadiya -Jing Chen -Johannes Baiter -John Watson -Jon Beebe -Jonas Enlund -Jonas Gebhardt -Jonathan Hsu -Jordan Walke -Josh Bassett -Josh Duck -Josh Yudaken -Joshua Ma -Julen Ruiz Aizpuru -Jun Wu -Juraj Dudak -Justin Jaffray -Karl Mikkelsen -Keito Uchiyama -Kit Randel -Kunal Mehta -Kyle Mathews -Laurence Rowe -Levi McCallum -Lily -Logan Allen -Luigy Leon -Marcin Kwiatkowski -Marcin Szczepanski -Mariano Desanze -Mark Richardson -Marshall Roch -Martin Andert -Martin Konicek -Mathieu M-Gosselin -Matt Harrison -Matthew Dapena-Tretter -Matti Nelimarkka -Michal Srb -Mouad Debbar -Nadeesha Cabral -Nate Hunzaker -Nicholas Bergson-Shilcock -Nick Gavalas -Nick Thompson -Niklas Boström -Owen Coutts -Pascal Hartig -Paul O’Shannessy -Paul Seiffert -Paul Shen -Pete Hunt -Peter Cottle -Petri Lievonen -Pieter Vanderwerff -Rajiv Tirumalareddy -Randall Randall -Ray -Richard D. Worth -Richard Feldman -Richard Livesey -Ryan Seddon -Sahat Yalkabov -Sander Spies -Sean Kinsey -Sebastian Markbåge -Shaun Trennery -Simon Højberg -Stefan Dombrowski -Stephen Murphy -Stoyan Stefanov -Sundeep Malladi -Sven Helmberger -Thomas Aylott -Thomas Boyt -Thomas Shaddox -Thomas Shafer -Timothy Yung -Tom Haggie -Tom Occhino -Ville Immonen -Vjeux -Volkan Unsal -Wayne Larsen -Wincent Colaiuta -Yuriy Dybskiy -Yuval Dekel -Zach Bruggeman -davidxi -imagentleman diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 49795d8eb5199..0000000000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,341 +0,0 @@ -## 0.11.1 (July 24, 2014) - -### React Core - -#### Bug Fixes -* `setState` can be called inside `componentWillMount` in non-DOM environments -* `SyntheticMouseEvent.getEventModifierState` correctly renamed to `getModifierState` -* `getModifierState` correctly returns a `boolean` -* `getModifierState` is now correctly case sensitive -* Empty Text node used in IE8 `innerHTML` workaround is now removed, fixing rerendering in certain cases - -### JSX -* Fix duplicate variable declaration in JSXTransformer (caused issues in some browsers) - - -## 0.11.0 (July 17, 2014) - -### React Core - -#### Breaking Changes -* `getDefaultProps()` is now called once per class and shared across all instances -* `MyComponent()` now returns a descriptor, not an instance -* `React.isValidComponent` and `React.PropTypes.component` validate *descriptors*, not component instances -* Custom `propType` validators should return an `Error` instead of logging directly - -#### New Features -* Rendering to `null` -* Keyboard events include normalized `e.key` and `e.getModifierState()` properties -* New normalized `onBeforeInput` event -* `React.Children.count` has been added as a helper for counting the number of children - -#### Bug Fixes - -* Re-renders are batched in more cases -* Events: `e.view` properly normalized -* Added Support for more HTML attributes (`coords`, `crossOrigin`, `download`, `hrefLang`, `mediaGroup`, `muted`, `scrolling`, `shape`, `srcSet`, `start`, `useMap`) -* Improved SVG support - * Changing `className` on a mounted SVG component now works correctly - * Added support for elements `mask` and `tspan` - * Added support for attributes `dx`, `dy`, `fillOpacity`, `fontFamily`, `fontSize`, `markerEnd`, `markerMid`, `markerStart`, `opacity`, `patternContentUnits`, `patternUnits`, `preserveAspectRatio`, `strokeDasharray`, `strokeOpacity` -* CSS property names with vendor prefixes (`Webkit`, `ms`, `Moz`, `O`) are now handled properly -* Duplicate keys no longer cause a hard error; now a warning is logged (and only one of the children with the same key is shown) -* `img` event listeners are now unbound properly, preventing the error "Two valid but unequal nodes with the same `data-reactid`" -* Added explicit warning when missing polyfills - -### React With Addons -* PureRenderMixin: a mixin which helps optimize "pure" components -* Perf: a new set of tools to help with performance analysis -* Update: New `$apply` command to transform values -* TransitionGroup bug fixes with null elements, Android - -### React NPM Module -* Now includes the pre-built packages under `dist/`. -* `envify` is properly listed as a dependency instead of a peer dependency - -### JSX -* Added support for namespaces, eg `` -* JSXTransformer - * Enable the same `harmony` features available in the command line with ` - - -``` - -We've also built a [starter kit](http://facebook.github.io/react/downloads/react-0.11.1.zip) which might be useful if this is your first time using React. It includes a webpage with an example of using React with live code. - -If you'd like to use [bower](http://bower.io), it's as easy as: - -```sh -bower install --save react -``` - -## Contribute - -The main purpose of this repository is to continue to evolve React core, making it faster and easier to use. If you're interested in helping with that, then keep reading. If you're not interested in helping right now that's ok too. :) Any feedback you have about using React would be greatly appreciated. - -### Building Your Copy of React - -The process to build `react.js` is built entirely on top of node.js, using many libraries you may already be familiar with. - -#### Prerequisites - -* You have `node` installed at v0.10.0+ (it might work at lower versions, we just haven't tested). -* You are familiar with `npm` and know whether or not you need to use `sudo` when installing packages globally. -* You are familiar with `git`. - -#### Build - -Once you have the repository cloned, building a copy of `react.js` is really easy. - -```sh -# grunt-cli is needed by grunt; you might have this installed already -npm install -g grunt-cli -npm install -grunt build -``` - -At this point, you should now have a `build/` directory populated with everything you need to use React. The examples should all work. - -### Grunt - -We use grunt to automate many tasks. Run `grunt -h` to see a mostly complete listing. The important ones to know: - -```sh -# Build and run tests with PhantomJS -grunt test -# Build and run tests in your browser -grunt test --debug -# For speed, you can use fasttest and add --filter to only run one test -grunt fasttest --filter=ReactIdentity -# Lint the code with JSHint -grunt lint -# Wipe out build directory -grunt clean -``` - -### More… - -There's only so much we can cram in here. To read more about the community and guidelines for submitting pull requests, please read the [Contributing document](CONTRIBUTING.md). +When Facebook solves [#436](https://github.com/facebook/react/issues/436) and [#1170](https://github.com/facebook/react/pull/1170), this repo will disappear. \ No newline at end of file diff --git a/bin/jsx b/bin/jsx deleted file mode 100755 index 45009e435e23f..0000000000000 --- a/bin/jsx +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env node -// -*- mode: js -*- -"use strict"; - -var transform = require('../main').transform; - -require('commoner').version( - require('../package.json').version -).resolve(function(id) { - return this.readModuleP(id); -}).option( - '--harmony', - 'Turns on JS transformations such as ES6 Classes etc.' -).option( - '--source-map-inline', - 'Embed inline sourcemap in transformed source' -).process(function(id, source) { - // This is where JSX, ES6, etc. desugaring happens. - var options = { - harmony: this.options.harmony, - sourceMap: this.options.sourceMapInline - }; - return transform(source, options); -}); diff --git a/bin/jsx-internal b/bin/jsx-internal deleted file mode 100755 index 430e596cf1b45..0000000000000 --- a/bin/jsx-internal +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env node -// -*- mode: js -*- -"use strict"; - -var getAllVisitors = require('../vendor/fbtransform/visitors').getAllVisitors; -var transform = require('jstransform').transform; -var propagate = require("../vendor/constants").propagate; - -require("commoner").version( - require("../package.json").version -).resolve(function(id) { - var context = this; - - // Note that the result of context.getProvidedP() is cached for the - // duration of the build, so it is both consistent and cheap to - // evaluate multiple times. - return context.getProvidedP().then(function(idToPath) { - // If a module declares its own identifier using @providesModule - // then that identifier will be a key in the idToPath object. - if (idToPath.hasOwnProperty(id)) { - return context.readFileP(idToPath[id]); - } - - // Otherwise assume the identifier maps directly to a path in the - // filesystem. - return context.readModuleP(id); - }); - -}).process(function(id, source) { - var context = this; - var constants = context.config.constants || {}; - - // This is where JSX, ES6, etc. desugaring happens. - source = transform(getAllVisitors(), source).code; - - // Constant propagation means removing any obviously dead code after - // replacing constant expressions with literal (boolean) values. - source = propagate(constants, source); - - if (context.config.mocking) { - // Make sure there is exactly one newline at the end of the module. - source = source.replace(/\s+$/m, "\n"); - - return context.getProvidedP().then(function(idToPath) { - if (id !== "mock-modules" && - id !== "mocks" && - id !== "test/all" && - idToPath.hasOwnProperty("mock-modules")) { - return source + '\nrequire("mock-modules").register(' + - JSON.stringify(id) + ', module);\n'; - } - - return source; - }); - } - - return source; -}); diff --git a/docs/404.md b/docs/404.md deleted file mode 100644 index 6d4039fb3d49f..0000000000000 --- a/docs/404.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -layout: single -title: Page Not Found ---- - -We couldn't find what you were looking for. - -Please contact the owner of the site that linked you to the original URL and let them know their link is broken. diff --git a/docs/Gemfile b/docs/Gemfile deleted file mode 100644 index 4f4991e3b2a6e..0000000000000 --- a/docs/Gemfile +++ /dev/null @@ -1,19 +0,0 @@ -source 'https://rubygems.org' - -gem 'rake' - -# jekyll, which builds it all -# 2.0 includes sass processing -gem 'jekyll', '~>2.0' - -# Auto redirect pages -gem 'jekyll-redirect-from' - -# JSON -gem 'json' - -# For `rake watch` -gem 'rb-fsevent' - -# For markdown header cleanup -gem 'sanitize', '~>2.0' diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock deleted file mode 100644 index a520567cf1fba..0000000000000 --- a/docs/Gemfile.lock +++ /dev/null @@ -1,82 +0,0 @@ -GEM - remote: https://rubygems.org/ - specs: - blankslate (2.1.2.4) - celluloid (0.15.2) - timers (~> 1.1.0) - classifier (1.3.4) - fast-stemmer (>= 1.0.0) - coffee-script (2.3.0) - coffee-script-source - execjs - coffee-script-source (1.7.1) - colorator (0.1) - execjs (2.2.1) - fast-stemmer (1.0.2) - ffi (1.9.3) - jekyll (2.2.0) - classifier (~> 1.3) - colorator (~> 0.1) - jekyll-coffeescript (~> 1.0) - jekyll-gist (~> 1.0) - jekyll-paginate (~> 1.0) - jekyll-sass-converter (~> 1.0) - jekyll-watch (~> 1.0) - kramdown (~> 1.3) - liquid (~> 2.6.1) - mercenary (~> 0.3.3) - pygments.rb (~> 0.6.0) - redcarpet (~> 3.1) - safe_yaml (~> 1.0) - toml (~> 0.1.0) - jekyll-coffeescript (1.0.0) - coffee-script (~> 2.2) - jekyll-gist (1.1.0) - jekyll-paginate (1.0.0) - jekyll-redirect-from (0.5.0) - jekyll (~> 2.0) - jekyll-sass-converter (1.2.0) - sass (~> 3.2) - jekyll-watch (1.1.0) - listen (~> 2.7) - json (1.8.1) - kramdown (1.4.1) - liquid (2.6.1) - listen (2.7.9) - celluloid (>= 0.15.2) - rb-fsevent (>= 0.9.3) - rb-inotify (>= 0.9) - mercenary (0.3.4) - mini_portile (0.6.0) - nokogiri (1.6.3.1) - mini_portile (= 0.6.0) - parslet (1.5.0) - blankslate (~> 2.0) - posix-spawn (0.3.9) - pygments.rb (0.6.0) - posix-spawn (~> 0.3.6) - yajl-ruby (~> 1.1.0) - rake (10.3.2) - rb-fsevent (0.9.4) - rb-inotify (0.9.5) - ffi (>= 0.5.0) - redcarpet (3.1.2) - safe_yaml (1.0.3) - sanitize (2.0.6) - nokogiri (>= 1.4.4) - sass (3.3.14) - timers (1.1.0) - toml (0.1.1) - parslet (~> 1.5.0) - yajl-ruby (1.1.0) - -PLATFORMS - ruby - -DEPENDENCIES - jekyll (~> 2.0) - jekyll-redirect-from - json - rake - rb-fsevent - sanitize (~> 2.0) diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index e7cb24c71db9a..0000000000000 --- a/docs/README.md +++ /dev/null @@ -1,67 +0,0 @@ -# React Documentation & Website - -We use [Jekyll](http://jekyllrb.com/) to build the site using ([mostly](http://zpao.com/posts/adding-line-highlights-to-markdown-code-fences/)) Markdown, and we host it by pushing HTML to [GitHub Pages](http://pages.github.com/). - -## Installation - -If you are working on the site, you will want to install and run a local copy of it. - -### Dependencies - -In order to use Jekyll, you will need to have Ruby installed. - - - [Ruby](http://www.ruby-lang.org/) (version >= 1.8.7) - - [RubyGems](http://rubygems.org/) (version >= 1.3.7) - - [Bundler](http://gembundler.com/) - -Mac OS X comes pre-installed with Ruby, but you may need to update RubyGems (via `gem update --system`). -Otherwise, [RVM](https://rvm.io/) and [rbenv](https://github.com/sstephenson/rbenv) are popular ways to install Ruby. -Once you have RubyGems and installed Bundler (via `gem install bundler`), use it to install the dependencies: - -```sh -$ cd react/docs -$ bundle install # Might need sudo. -$ npm install # Might need sudo. -``` - -### Instructions - -The site requires React, so first make sure you've built the project (via `grunt`). - -Use Jekyll to serve the website locally (by default, at `http://localhost:4000`): - -```sh -$ cd react/docs -$ bundle exec rake -$ bundle exec jekyll serve -w -$ open http://localhost:4000/react/ -``` - -We use [SASS](http://sass-lang.com/) (with [Bourbon](http://bourbon.io/)) for our CSS, and we use JSX to transform some of our JS. -If you only want to modify the HTML or Markdown, you do not have to do anything because we package pre-compiled copies of the CSS and JS. -If you want to modify the CSS or JS, use [Rake](http://rake.rubyforge.org/) to compile them: - -```sh -$ cd react/docs -$ bundle exec rake watch # Automatically compiles as needed. -# bundle exec rake Manually compile CSS and JS. -# bundle exec rake js Manually compile JS, only. -``` - -## Afterthoughts - -### Updating `facebook.github.io/react` - -The easiest way to do this is to have a separate clone of this repository, checked out to the `gh-pages` branch. We have a build step that expects this to be in a directory named `react-gh-pages` at the same depth as `react`. Then it's just a matter of running `grunt docs`, which will compile the site and copy it out to this repository. From there you can check it in. - -**Note:** This should only be done for new releases. You should create a tag corresponding to the release tag in the main repository. - -We also have a rake task that does the same thing (without creating commits). It expects the directory structure mentioned above. - -```sh -$ bundle exec rake release -``` - -### Removing the Jekyll / Ruby Dependency - -In an ideal world, we would not be adding a Ruby dependency on part of our project. We would like to move towards a point where we are using React to render the website. diff --git a/docs/Rakefile b/docs/Rakefile deleted file mode 100644 index 44a3e114758f2..0000000000000 --- a/docs/Rakefile +++ /dev/null @@ -1,41 +0,0 @@ -require('rubygems') -require('json') -require('yaml') - -desc "generate js from jsx" -task :js do - system "../bin/jsx _js js" -end - -desc "watch js" -task :watch do - Process.spawn "../bin/jsx --watch _js js" - Process.waitall -end - -desc "update version to match ../package.json" -task :update_version do - react_version = JSON.parse(File.read('../package.json'))['version'] - site_config = YAML.load_file('_config.yml') - if site_config['react_version'] != react_version - site_config['react_version'] = react_version - File.open('_config.yml', 'w+') { |f| f.write(site_config.to_yaml) } - end -end - -desc "update acknowledgements list" -task :update_acknowledgements do - authors = File.readlines('../AUTHORS').map {|author| author.gsub(/ <.*\n/,'')} - # split into cols here because nobody knows how to use liquid - # need to to_f because ruby will keep slice_size as int and round on its own - slice_size = (authors.size / 3.to_f).ceil - cols = authors.each_slice(slice_size).to_a - File.open('_data/acknowledgements.yml', 'w+') { |f| f.write(cols.to_yaml) } -end - -desc "build into ../../react-gh-pages" -task :release => [:update_version, :default] do - system "jekyll build -d ../../react-gh-pages" -end - -task :default => [:js] diff --git a/docs/_config.yml b/docs/_config.yml deleted file mode 100644 index 75ca27e2332f7..0000000000000 --- a/docs/_config.yml +++ /dev/null @@ -1,37 +0,0 @@ ---- -name: React -description: A JavaScript library for building user interfaces -url: http://facebook.github.io -baseurl: "/react" -permalink: "/blog/:year/:month/:day/:title.html" -paginate_path: "/blog/page:num/" -relative_permalinks: true -paginate: 5 -timezone: America/Los_Angeles -highlighter: pygments -defaults: -- scope: - path: '' - type: post - values: - layout: post -- scope: - path: docs - type: page - values: - layout: docs -exclude: -- Gemfile -- Gemfile.lock -- README.md -- Rakefile -markdown: redcarpet -redcarpet: - extensions: - - fenced_code_blocks -sass: - style: :compressed - sass_dir: _css -gems: -- jekyll-redirect-from -react_version: 0.11.1 diff --git a/docs/_css/_solarized.scss b/docs/_css/_solarized.scss deleted file mode 100644 index a2e223987d0a2..0000000000000 --- a/docs/_css/_solarized.scss +++ /dev/null @@ -1,173 +0,0 @@ -html * { - color-profile: sRGB; - rendering-intent: auto; -} - .cm-s-solarized-light { - background-color: #f8f5ec; - color: #637c84; - } - .cm-s-solarized-light .emphasis { - font-weight: bold; - } - .cm-s-solarized-light .dotted { - border-bottom: 1px dotted #cb4b16; - } - .cm-s-solarized-light .CodeMirror-gutter { - background-color: #eee8d5; - border-right: 3px solid #eee8d5; - } - .cm-s-solarized-light .CodeMirror-gutter .CodeMirror-gutter-text { - color: #93a1a1; - } - .cm-s-solarized-light .CodeMirror-cursor { - border-left-color: #002b36 !important; - } - .cm-s-solarized-light .CodeMirror-matchingbracket { - color: #002b36; - background-color: #eee8d5; - box-shadow: 0 0 10px #eee8d5; - font-weight: bold; - } - .cm-s-solarized-light .CodeMirror-nonmatchingbracket { - color: #002b36; - background-color: #eee8d5; - box-shadow: 0 0 10px #eee8d5; - font-weight: bold; - color: #dc322f; - border-bottom: 1px dotted #cb4b16; - } - .cm-s-solarized-light span.cm-keyword { - color: #268bd2; - } - .cm-s-solarized-light span.cm-atom { - color: #2aa198; - } - .cm-s-solarized-light span.cm-number { - color: #586e75; - } - .cm-s-solarized-light span.cm-def { - color: #637c84; - } - .cm-s-solarized-light span.cm-variable { - color: #637c84; - } - .cm-s-solarized-light span.cm-variable-2 { - color: #b58900; - } - .cm-s-solarized-light span.cm-variable-3 { - color: #cb4b16; - } - .cm-s-solarized-light span.cm-comment { - color: #93a1a1; - } - .cm-s-solarized-light span.cm-property { - color: #637c84; - } - .cm-s-solarized-light span.cm-operator { - color: #657b83; - } - .cm-s-solarized-light span.cm-string { - color: #36958e; - } - .cm-s-solarized-light span.cm-error { - font-weight: bold; - border-bottom: 1px dotted #cb4b16; - } - .cm-s-solarized-light span.cm-bracket { - color: #cb4b16; - } - .cm-s-solarized-light span.cm-tag { - color: #657b83; - } - .cm-s-solarized-light span.cm-attribute { - color: #586e75; - font-weight: bold; - } - .cm-s-solarized-light span.cm-meta { - color: #268bd2; - } - .cm-s-solarized-dark { - background-color: #002b36; - color: #839496; - } - .cm-s-solarized-dark .emphasis { - font-weight: bold; - } - .cm-s-solarized-dark .dotted { - border-bottom: 1px dotted #cb4b16; - } - .cm-s-solarized-dark .CodeMirror-gutter { - background-color: #073642; - border-right: 3px solid #073642; - } - .cm-s-solarized-dark .CodeMirror-gutter .CodeMirror-gutter-text { - color: #586e75; - } - .cm-s-solarized-dark .CodeMirror-cursor { - border-left-color: #fdf6e3 !important; - } - .cm-s-solarized-dark .CodeMirror-matchingbracket { - color: #fdf6e3; - background-color: #073642; - box-shadow: 0 0 10px #073642; - font-weight: bold; - } - .cm-s-solarized-dark .CodeMirror-nonmatchingbracket { - color: #fdf6e3; - background-color: #073642; - box-shadow: 0 0 10px #073642; - font-weight: bold; - color: #dc322f; - border-bottom: 1px dotted #cb4b16; - } - .cm-s-solarized-dark span.cm-keyword { - color: #839496; - font-weight: bold; - } - .cm-s-solarized-dark span.cm-atom { - color: #2aa198; - } - .cm-s-solarized-dark span.cm-number { - color: #93a1a1; - } - .cm-s-solarized-dark span.cm-def { - color: #268bd2; - } - .cm-s-solarized-dark span.cm-variable { - color: #cb4b16; - } - .cm-s-solarized-dark span.cm-variable-2 { - color: #cb4b16; - } - .cm-s-solarized-dark span.cm-variable-3 { - color: #cb4b16; - } - .cm-s-solarized-dark span.cm-comment { - color: #586e75; - } - .cm-s-solarized-dark span.cm-property { - color: #b58900; - } - .cm-s-solarized-dark span.cm-operator { - color: #839496; - } - .cm-s-solarized-dark span.cm-string { - color: #6c71c4; - } - .cm-s-solarized-dark span.cm-error { - font-weight: bold; - border-bottom: 1px dotted #cb4b16; - } - .cm-s-solarized-dark span.cm-bracket { - color: #cb4b16; - } - .cm-s-solarized-dark span.cm-tag { - color: #839496; - } - .cm-s-solarized-dark span.cm-attribute { - color: #93a1a1; - font-weight: bold; - } - .cm-s-solarized-dark span.cm-meta { - color: #268bd2; - } diff --git a/docs/_css/_typography.scss b/docs/_css/_typography.scss deleted file mode 100644 index 2b61ea706b264..0000000000000 --- a/docs/_css/_typography.scss +++ /dev/null @@ -1,133 +0,0 @@ -@import 'variables.scss'; - -$textColor: $mediumColor; -$textColorLight: lighten($textColor, 20%); - -html { - font-family: $helvetica; - font-family: proxima-nova, $helvetica; - color: $textColor; - line-height: 1.28; -} - -p { - margin: 0 0 10px; -} - -.subHeader { - font-size: 21px; - font-weight: 200; - line-height: 30px; - margin-bottom: 10px; -} - -em { - font-style: italic; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - margin: 10px 0; - font-family: inherit; - font-weight: bold; - line-height: 20px; - color: inherit; - text-rendering: optimizelegibility; -} - -h1 small, -h2 small, -h3 small, -h4 small, -h5 small, -h6 small { - font-weight: normal; - color: $textColorLight -} - -h1, -h2, -h3 { - line-height: 40px; -} - -h1 { - font-size: 39px; -} - -h2 { - font-size: 31px; -} - -h3 { - font-size: 23px; -} - -h4 { - font-size: 17px; -} - -h5 { - font-size: 14px; -} - -h6 { - font-size: 11px; -} - -h1 small { - font-size: 24px; -} - -h2 small { - font-size: 18px; -} - -h3 small { - font-size: 16px; -} - -h4 small { - font-size: 14px; -} - -ul, -ol { - margin: 0 0 10px 25px; - padding: 0; -} - -ul ul, -ul ol, -ol ol, -ol ul { - margin-bottom: 0; -} - -li { - line-height: 20px; -} - - - -a { - color: $linkColor; - text-decoration: none; - &:hover, - &:focus { - color: $linkInteract; - text-decoration: underline; - } - &:focus { - outline: thin dotted #333; - outline: 5px auto -webkit-focus-ring-color; - outline-offset: -2px; - } -} -.center { - text-align: center; -} diff --git a/docs/_css/_variables.scss b/docs/_css/_variables.scss deleted file mode 100644 index 8cc217f85fe27..0000000000000 --- a/docs/_css/_variables.scss +++ /dev/null @@ -1,22 +0,0 @@ -$primary: #cc7a6f; -$linkColor: darken($primary, 9%); -$linkInteract: darken($linkColor, 9%); -$pageBg: #f9f9f9; - -$lightColor: #e9e9e9; -$mediumestColor: #666; -$mediumColor: #484848; -$darkColor: #2d2d2d; -$darkestColor: #222222; -$blueColor: #61dafb; -$orangeColor: complement($blueColor); - -$lightTextColor: #fafafa; -$mediumTextColor: #aaa; -$darkTextColor: $mediumColor; - -$buttonBlueTop: #77a3d2; -$buttonBlueBottom: #4783c2; -$buttonGreyTop: #9a9a9a; -$buttonGreyBottom: #646464; - diff --git a/docs/_css/bourbon/_bourbon-deprecated-upcoming.scss b/docs/_css/bourbon/_bourbon-deprecated-upcoming.scss deleted file mode 100644 index f946b3b456d10..0000000000000 --- a/docs/_css/bourbon/_bourbon-deprecated-upcoming.scss +++ /dev/null @@ -1,8 +0,0 @@ -//************************************************************************// -// These mixins/functions are deprecated -// They will be removed in the next MAJOR version release -//************************************************************************// -@mixin inline-block { - display: inline-block; - @warn "inline-block mixin is deprecated and will be removed in the next major version release"; -} diff --git a/docs/_css/bourbon/_bourbon.scss b/docs/_css/bourbon/_bourbon.scss deleted file mode 100644 index eea6e21e9ed8e..0000000000000 --- a/docs/_css/bourbon/_bourbon.scss +++ /dev/null @@ -1,79 +0,0 @@ -// Settings -@import "settings/prefixer"; -@import "settings/px-to-em"; -@import "settings/asset-pipeline"; - -// Custom Helpers -@import "helpers/convert-units"; -@import "helpers/gradient-positions-parser"; -@import "helpers/is-num"; -@import "helpers/linear-angle-parser"; -@import "helpers/linear-gradient-parser"; -@import "helpers/linear-positions-parser"; -@import "helpers/linear-side-corner-parser"; -@import "helpers/radial-arg-parser"; -@import "helpers/radial-positions-parser"; -@import "helpers/radial-gradient-parser"; -@import "helpers/render-gradients"; -@import "helpers/shape-size-stripper"; -@import "helpers/str-to-num"; - -// Custom Functions -@import "functions/assign"; -@import "functions/color-lightness"; -@import "functions/flex-grid"; -@import "functions/golden-ratio"; -@import "functions/grid-width"; -@import "functions/modular-scale"; -@import "functions/px-to-em"; -@import "functions/px-to-rem"; -@import "functions/strip-units"; -@import "functions/tint-shade"; -@import "functions/transition-property-name"; -@import "functions/unpack"; - -// CSS3 Mixins -@import "css3/animation"; -@import "css3/appearance"; -@import "css3/backface-visibility"; -@import "css3/background"; -@import "css3/background-image"; -@import "css3/border-image"; -@import "css3/border-radius"; -@import "css3/box-sizing"; -@import "css3/calc"; -@import "css3/columns"; -@import "css3/filter"; -@import "css3/flex-box"; -@import "css3/font-face"; -@import "css3/font-feature-settings"; -@import "css3/hyphens"; -@import "css3/hidpi-media-query"; -@import "css3/image-rendering"; -@import "css3/keyframes"; -@import "css3/linear-gradient"; -@import "css3/perspective"; -@import "css3/radial-gradient"; -@import "css3/transform"; -@import "css3/transition"; -@import "css3/user-select"; -@import "css3/placeholder"; - -// Addons & other mixins -@import "addons/button"; -@import "addons/clearfix"; -@import "addons/directional-values"; -@import "addons/ellipsis"; -@import "addons/font-family"; -@import "addons/hide-text"; -@import "addons/html5-input-types"; -@import "addons/position"; -@import "addons/prefixer"; -@import "addons/retina-image"; -@import "addons/size"; -@import "addons/timing-functions"; -@import "addons/triangle"; -@import "addons/word-wrap"; - -// Soon to be deprecated Mixins -@import "bourbon-deprecated-upcoming"; diff --git a/docs/_css/bourbon/addons/_button.scss b/docs/_css/bourbon/addons/_button.scss deleted file mode 100644 index 14a89e480c152..0000000000000 --- a/docs/_css/bourbon/addons/_button.scss +++ /dev/null @@ -1,374 +0,0 @@ -@mixin button ($style: simple, $base-color: #4294f0, $text-size: inherit, $padding: 7px 18px) { - - @if type-of($style) == string and type-of($base-color) == color { - @include buttonstyle($style, $base-color, $text-size, $padding); - } - - @if type-of($style) == string and type-of($base-color) == number { - $padding: $text-size; - $text-size: $base-color; - $base-color: #4294f0; - - @if $padding == inherit { - $padding: 7px 18px; - } - - @include buttonstyle($style, $base-color, $text-size, $padding); - } - - @if type-of($style) == color and type-of($base-color) == color { - $base-color: $style; - $style: simple; - @include buttonstyle($style, $base-color, $text-size, $padding); - } - - @if type-of($style) == color and type-of($base-color) == number { - $padding: $text-size; - $text-size: $base-color; - $base-color: $style; - $style: simple; - - @if $padding == inherit { - $padding: 7px 18px; - } - - @include buttonstyle($style, $base-color, $text-size, $padding); - } - - @if type-of($style) == number { - $padding: $base-color; - $text-size: $style; - $base-color: #4294f0; - $style: simple; - - @if $padding == #4294f0 { - $padding: 7px 18px; - } - - @include buttonstyle($style, $base-color, $text-size, $padding); - } - - &:disabled { - opacity: 0.5; - cursor: not-allowed; - } -} - - -// Selector Style Button -//************************************************************************// -@mixin buttonstyle($type, $b-color, $t-size, $pad) { - // Grayscale button - @if $type == simple and $b-color == grayscale($b-color) { - @include simple($b-color, true, $t-size, $pad); - } - - @if $type == shiny and $b-color == grayscale($b-color) { - @include shiny($b-color, true, $t-size, $pad); - } - - @if $type == pill and $b-color == grayscale($b-color) { - @include pill($b-color, true, $t-size, $pad); - } - - @if $type == flat and $b-color == grayscale($b-color) { - @include flat($b-color, true, $t-size, $pad); - } - - // Colored button - @if $type == simple { - @include simple($b-color, false, $t-size, $pad); - } - - @else if $type == shiny { - @include shiny($b-color, false, $t-size, $pad); - } - - @else if $type == pill { - @include pill($b-color, false, $t-size, $pad); - } - - @else if $type == flat { - @include flat($b-color, false, $t-size, $pad); - } -} - - -// Simple Button -//************************************************************************// -@mixin simple($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { - $color: hsl(0, 0, 100%); - $border: adjust-color($base-color, $saturation: 9%, $lightness: -14%); - $inset-shadow: adjust-color($base-color, $saturation: -8%, $lightness: 15%); - $stop-gradient: adjust-color($base-color, $saturation: 9%, $lightness: -11%); - $text-shadow: adjust-color($base-color, $saturation: 15%, $lightness: -18%); - - @if is-light($base-color) { - $color: hsl(0, 0, 20%); - $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); - } - - @if $grayscale == true { - $border: grayscale($border); - $inset-shadow: grayscale($inset-shadow); - $stop-gradient: grayscale($stop-gradient); - $text-shadow: grayscale($text-shadow); - } - - border: 1px solid $border; - border-radius: 3px; - box-shadow: inset 0 1px 0 0 $inset-shadow; - color: $color; - display: inline-block; - font-size: $textsize; - font-weight: bold; - @include linear-gradient ($base-color, $stop-gradient); - padding: $padding; - text-decoration: none; - text-shadow: 0 1px 0 $text-shadow; - background-clip: padding-box; - - &:hover:not(:disabled) { - $base-color-hover: adjust-color($base-color, $saturation: -4%, $lightness: -5%); - $inset-shadow-hover: adjust-color($base-color, $saturation: -7%, $lightness: 5%); - $stop-gradient-hover: adjust-color($base-color, $saturation: 8%, $lightness: -14%); - - @if $grayscale == true { - $base-color-hover: grayscale($base-color-hover); - $inset-shadow-hover: grayscale($inset-shadow-hover); - $stop-gradient-hover: grayscale($stop-gradient-hover); - } - - box-shadow: inset 0 1px 0 0 $inset-shadow-hover; - cursor: pointer; - @include linear-gradient ($base-color-hover, $stop-gradient-hover); - } - - &:active:not(:disabled), - &:focus:not(:disabled) { - $border-active: adjust-color($base-color, $saturation: 9%, $lightness: -14%); - $inset-shadow-active: adjust-color($base-color, $saturation: 7%, $lightness: -17%); - - @if $grayscale == true { - $border-active: grayscale($border-active); - $inset-shadow-active: grayscale($inset-shadow-active); - } - - border: 1px solid $border-active; - box-shadow: inset 0 0 8px 4px $inset-shadow-active, inset 0 0 8px 4px $inset-shadow-active; - } -} - - -// Shiny Button -//************************************************************************// -@mixin shiny($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { - $color: hsl(0, 0, 100%); - $border: adjust-color($base-color, $red: -117, $green: -111, $blue: -81); - $border-bottom: adjust-color($base-color, $red: -126, $green: -127, $blue: -122); - $fourth-stop: adjust-color($base-color, $red: -79, $green: -70, $blue: -46); - $inset-shadow: adjust-color($base-color, $red: 37, $green: 29, $blue: 12); - $second-stop: adjust-color($base-color, $red: -56, $green: -50, $blue: -33); - $text-shadow: adjust-color($base-color, $red: -140, $green: -141, $blue: -114); - $third-stop: adjust-color($base-color, $red: -86, $green: -75, $blue: -48); - - @if is-light($base-color) { - $color: hsl(0, 0, 20%); - $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); - } - - @if $grayscale == true { - $border: grayscale($border); - $border-bottom: grayscale($border-bottom); - $fourth-stop: grayscale($fourth-stop); - $inset-shadow: grayscale($inset-shadow); - $second-stop: grayscale($second-stop); - $text-shadow: grayscale($text-shadow); - $third-stop: grayscale($third-stop); - } - - border: 1px solid $border; - border-bottom: 1px solid $border-bottom; - border-radius: 5px; - box-shadow: inset 0 1px 0 0 $inset-shadow; - color: $color; - display: inline-block; - font-size: $textsize; - font-weight: bold; - @include linear-gradient(top, $base-color 0%, $second-stop 50%, $third-stop 50%, $fourth-stop 100%); - padding: $padding; - text-align: center; - text-decoration: none; - text-shadow: 0 -1px 1px $text-shadow; - - &:hover:not(:disabled) { - $first-stop-hover: adjust-color($base-color, $red: -13, $green: -15, $blue: -18); - $second-stop-hover: adjust-color($base-color, $red: -66, $green: -62, $blue: -51); - $third-stop-hover: adjust-color($base-color, $red: -93, $green: -85, $blue: -66); - $fourth-stop-hover: adjust-color($base-color, $red: -86, $green: -80, $blue: -63); - - @if $grayscale == true { - $first-stop-hover: grayscale($first-stop-hover); - $second-stop-hover: grayscale($second-stop-hover); - $third-stop-hover: grayscale($third-stop-hover); - $fourth-stop-hover: grayscale($fourth-stop-hover); - } - - cursor: pointer; - @include linear-gradient(top, $first-stop-hover 0%, - $second-stop-hover 50%, - $third-stop-hover 50%, - $fourth-stop-hover 100%); - } - - &:active:not(:disabled), - &:focus:not(:disabled) { - $inset-shadow-active: adjust-color($base-color, $red: -111, $green: -116, $blue: -122); - - @if $grayscale == true { - $inset-shadow-active: grayscale($inset-shadow-active); - } - - box-shadow: inset 0 0 20px 0 $inset-shadow-active; - } -} - - -// Pill Button -//************************************************************************// -@mixin pill($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { - $color: hsl(0, 0, 100%); - $border-bottom: adjust-color($base-color, $hue: 8, $saturation: -11%, $lightness: -26%); - $border-sides: adjust-color($base-color, $hue: 4, $saturation: -21%, $lightness: -21%); - $border-top: adjust-color($base-color, $hue: -1, $saturation: -30%, $lightness: -15%); - $inset-shadow: adjust-color($base-color, $hue: -1, $saturation: -1%, $lightness: 7%); - $stop-gradient: adjust-color($base-color, $hue: 8, $saturation: 14%, $lightness: -10%); - $text-shadow: adjust-color($base-color, $hue: 5, $saturation: -19%, $lightness: -15%); - - @if is-light($base-color) { - $color: hsl(0, 0, 20%); - $text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%); - } - - @if $grayscale == true { - $border-bottom: grayscale($border-bottom); - $border-sides: grayscale($border-sides); - $border-top: grayscale($border-top); - $inset-shadow: grayscale($inset-shadow); - $stop-gradient: grayscale($stop-gradient); - $text-shadow: grayscale($text-shadow); - } - - border: 1px solid $border-top; - border-color: $border-top $border-sides $border-bottom; - border-radius: 16px; - box-shadow: inset 0 1px 0 0 $inset-shadow; - color: $color; - display: inline-block; - font-size: $textsize; - font-weight: normal; - line-height: 1; - @include linear-gradient ($base-color, $stop-gradient); - padding: $padding; - text-align: center; - text-decoration: none; - text-shadow: 0 -1px 1px $text-shadow; - background-clip: padding-box; - - &:hover:not(:disabled) { - $base-color-hover: adjust-color($base-color, $lightness: -4.5%); - $border-bottom: adjust-color($base-color, $hue: 8, $saturation: 13.5%, $lightness: -32%); - $border-sides: adjust-color($base-color, $hue: 4, $saturation: -2%, $lightness: -27%); - $border-top: adjust-color($base-color, $hue: -1, $saturation: -17%, $lightness: -21%); - $inset-shadow-hover: adjust-color($base-color, $saturation: -1%, $lightness: 3%); - $stop-gradient-hover: adjust-color($base-color, $hue: 8, $saturation: -4%, $lightness: -15.5%); - $text-shadow-hover: adjust-color($base-color, $hue: 5, $saturation: -5%, $lightness: -22%); - - @if $grayscale == true { - $base-color-hover: grayscale($base-color-hover); - $border-bottom: grayscale($border-bottom); - $border-sides: grayscale($border-sides); - $border-top: grayscale($border-top); - $inset-shadow-hover: grayscale($inset-shadow-hover); - $stop-gradient-hover: grayscale($stop-gradient-hover); - $text-shadow-hover: grayscale($text-shadow-hover); - } - - border: 1px solid $border-top; - border-color: $border-top $border-sides $border-bottom; - box-shadow: inset 0 1px 0 0 $inset-shadow-hover; - cursor: pointer; - @include linear-gradient ($base-color-hover, $stop-gradient-hover); - text-shadow: 0 -1px 1px $text-shadow-hover; - background-clip: padding-box; - } - - &:active:not(:disabled), - &:focus:not(:disabled) { - $active-color: adjust-color($base-color, $hue: 4, $saturation: -12%, $lightness: -10%); - $border-active: adjust-color($base-color, $hue: 6, $saturation: -2.5%, $lightness: -30%); - $border-bottom-active: adjust-color($base-color, $hue: 11, $saturation: 6%, $lightness: -31%); - $inset-shadow-active: adjust-color($base-color, $hue: 9, $saturation: 2%, $lightness: -21.5%); - $text-shadow-active: adjust-color($base-color, $hue: 5, $saturation: -12%, $lightness: -21.5%); - - @if $grayscale == true { - $active-color: grayscale($active-color); - $border-active: grayscale($border-active); - $border-bottom-active: grayscale($border-bottom-active); - $inset-shadow-active: grayscale($inset-shadow-active); - $text-shadow-active: grayscale($text-shadow-active); - } - - background: $active-color; - border: 1px solid $border-active; - border-bottom: 1px solid $border-bottom-active; - box-shadow: inset 0 0 6px 3px $inset-shadow-active; - text-shadow: 0 -1px 1px $text-shadow-active; - } -} - - - -// Flat Button -//************************************************************************// -@mixin flat($base-color, $grayscale: false, $textsize: inherit, $padding: 7px 18px) { - $color: hsl(0, 0, 100%); - - @if is-light($base-color) { - $color: hsl(0, 0, 20%); - } - - background-color: $base-color; - border-radius: 3px; - border: none; - color: $color; - display: inline-block; - font-size: inherit; - font-weight: bold; - padding: 7px 18px; - text-decoration: none; - background-clip: padding-box; - - &:hover:not(:disabled){ - $base-color-hover: adjust-color($base-color, $saturation: 4%, $lightness: 5%); - - @if $grayscale == true { - $base-color-hover: grayscale($base-color-hover); - } - - background-color: $base-color-hover; - cursor: pointer; - } - - &:active:not(:disabled), - &:focus:not(:disabled) { - $base-color-active: adjust-color($base-color, $saturation: -4%, $lightness: -5%); - - @if $grayscale == true { - $base-color-active: grayscale($base-color-active); - } - - background-color: $base-color-active; - cursor: pointer; - } -} diff --git a/docs/_css/bourbon/addons/_clearfix.scss b/docs/_css/bourbon/addons/_clearfix.scss deleted file mode 100644 index 783cfbc79227b..0000000000000 --- a/docs/_css/bourbon/addons/_clearfix.scss +++ /dev/null @@ -1,23 +0,0 @@ -// Modern micro clearfix provides an easy way to contain floats without adding additional markup. -// -// Example usage: -// -// // Contain all floats within .wrapper -// .wrapper { -// @include clearfix; -// .content, -// .sidebar { -// float : left; -// } -// } - -@mixin clearfix { - &:after { - content:""; - display:table; - clear:both; - } -} - -// Acknowledgements -// Beat *that* clearfix: [Thierry Koblentz](http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php) diff --git a/docs/_css/bourbon/addons/_directional-values.scss b/docs/_css/bourbon/addons/_directional-values.scss deleted file mode 100644 index 742f1031a484f..0000000000000 --- a/docs/_css/bourbon/addons/_directional-values.scss +++ /dev/null @@ -1,111 +0,0 @@ -// directional-property mixins are shorthands -// for writing properties like the following -// -// @include margin(null 0 10px); -// ------ -// margin-right: 0; -// margin-bottom: 10px; -// margin-left: 0; -// -// - or - -// -// @include border-style(dotted null); -// ------ -// border-top-style: dotted; -// border-bottom-style: dotted; -// -// ------ -// -// Note: You can also use false instead of null - -@function collapse-directionals($vals) { - $output: null; - - $A: nth( $vals, 1 ); - $B: if( length($vals) < 2, $A, nth($vals, 2)); - $C: if( length($vals) < 3, $A, nth($vals, 3)); - $D: if( length($vals) < 2, $A, nth($vals, if( length($vals) < 4, 2, 4) )); - - @if $A == 0 { $A: 0 } - @if $B == 0 { $B: 0 } - @if $C == 0 { $C: 0 } - @if $D == 0 { $D: 0 } - - @if $A == $B and $A == $C and $A == $D { $output: $A } - @else if $A == $C and $B == $D { $output: $A $B } - @else if $B == $D { $output: $A $B $C } - @else { $output: $A $B $C $D } - - @return $output; -} - -@function contains-falsy($list) { - @each $item in $list { - @if not $item { - @return true; - } - } - - @return false; -} - -@mixin directional-property($pre, $suf, $vals) { - // Property Names - $top: $pre + "-top" + if($suf, "-#{$suf}", ""); - $bottom: $pre + "-bottom" + if($suf, "-#{$suf}", ""); - $left: $pre + "-left" + if($suf, "-#{$suf}", ""); - $right: $pre + "-right" + if($suf, "-#{$suf}", ""); - $all: $pre + if($suf, "-#{$suf}", ""); - - $vals: collapse-directionals($vals); - - @if contains-falsy($vals) { - @if nth($vals, 1) { #{$top}: nth($vals, 1); } - - @if length($vals) == 1 { - @if nth($vals, 1) { #{$right}: nth($vals, 1); } - } @else { - @if nth($vals, 2) { #{$right}: nth($vals, 2); } - } - - // prop: top/bottom right/left - @if length($vals) == 2 { - @if nth($vals, 1) { #{$bottom}: nth($vals, 1); } - @if nth($vals, 2) { #{$left}: nth($vals, 2); } - - // prop: top right/left bottom - } @else if length($vals) == 3 { - @if nth($vals, 3) { #{$bottom}: nth($vals, 3); } - @if nth($vals, 2) { #{$left}: nth($vals, 2); } - - // prop: top right bottom left - } @else if length($vals) == 4 { - @if nth($vals, 3) { #{$bottom}: nth($vals, 3); } - @if nth($vals, 4) { #{$left}: nth($vals, 4); } - } - - // prop: top/right/bottom/left - } @else { - #{$all}: $vals; - } -} - -@mixin margin($vals...) { - @include directional-property(margin, false, $vals...); -} - -@mixin padding($vals...) { - @include directional-property(padding, false, $vals...); -} - -@mixin border-style($vals...) { - @include directional-property(border, style, $vals...); -} - -@mixin border-color($vals...) { - @include directional-property(border, color, $vals...); -} - -@mixin border-width($vals...) { - @include directional-property(border, width, $vals...); -} diff --git a/docs/_css/bourbon/addons/_ellipsis.scss b/docs/_css/bourbon/addons/_ellipsis.scss deleted file mode 100644 index a8ea2a4a867d7..0000000000000 --- a/docs/_css/bourbon/addons/_ellipsis.scss +++ /dev/null @@ -1,7 +0,0 @@ -@mixin ellipsis($width: 100%) { - display: inline-block; - max-width: $width; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; -} diff --git a/docs/_css/bourbon/addons/_font-family.scss b/docs/_css/bourbon/addons/_font-family.scss deleted file mode 100644 index 31f5d9ca75c5b..0000000000000 --- a/docs/_css/bourbon/addons/_font-family.scss +++ /dev/null @@ -1,5 +0,0 @@ -$georgia: Georgia, Cambria, "Times New Roman", Times, serif; -$helvetica: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif; -$lucida-grande: "Lucida Grande", Tahoma, Verdana, Arial, sans-serif; -$monospace: "Bitstream Vera Sans Mono", Consolas, Courier, monospace; -$verdana: Verdana, Geneva, sans-serif; diff --git a/docs/_css/bourbon/addons/_hide-text.scss b/docs/_css/bourbon/addons/_hide-text.scss deleted file mode 100644 index fc7943811d3ce..0000000000000 --- a/docs/_css/bourbon/addons/_hide-text.scss +++ /dev/null @@ -1,10 +0,0 @@ -@mixin hide-text { - overflow: hidden; - - &:before { - content: ""; - display: block; - width: 0; - height: 100%; - } -} diff --git a/docs/_css/bourbon/addons/_html5-input-types.scss b/docs/_css/bourbon/addons/_html5-input-types.scss deleted file mode 100644 index 9e9324ae0a70e..0000000000000 --- a/docs/_css/bourbon/addons/_html5-input-types.scss +++ /dev/null @@ -1,86 +0,0 @@ -//************************************************************************// -// Generate a variable ($all-text-inputs) with a list of all html5 -// input types that have a text-based input, excluding textarea. -// http://diveintohtml5.org/forms.html -//************************************************************************// -$inputs-list: 'input[type="email"]', - 'input[type="number"]', - 'input[type="password"]', - 'input[type="search"]', - 'input[type="tel"]', - 'input[type="text"]', - 'input[type="url"]', - - // Webkit & Gecko may change the display of these in the future - 'input[type="color"]', - 'input[type="date"]', - 'input[type="datetime"]', - 'input[type="datetime-local"]', - 'input[type="month"]', - 'input[type="time"]', - 'input[type="week"]'; - -// Bare inputs -//************************************************************************// -$all-text-inputs: assign-inputs($inputs-list); - -// Hover Pseudo-class -//************************************************************************// -$all-text-inputs-hover: assign-inputs($inputs-list, hover); - -// Focus Pseudo-class -//************************************************************************// -$all-text-inputs-focus: assign-inputs($inputs-list, focus); - - - -// You must use interpolation on the variable: -// #{$all-text-inputs} -// #{$all-text-inputs-hover} -// #{$all-text-inputs-focus} - -// Example -//************************************************************************// -// #{$all-text-inputs}, textarea { -// border: 1px solid red; -// } - - - -//************************************************************************// -// Generate a variable ($all-button-inputs) with a list of all html5 -// input types that have a button-based input, excluding button. -//************************************************************************// -$inputs-button-list: 'input[type="button"]', - 'input[type="reset"]', - 'input[type="submit"]'; - -// Bare inputs -//************************************************************************// -$all-button-inputs: assign-inputs($inputs-button-list); - -// Hover Pseudo-class -//************************************************************************// -$all-button-inputs-hover: assign-inputs($inputs-button-list, hover); - -// Focus Pseudo-class -//************************************************************************// -$all-button-inputs-focus: assign-inputs($inputs-button-list, focus); - -// Active Pseudo-class -//************************************************************************// -$all-button-inputs-active: assign-inputs($inputs-button-list, active); - - - -// You must use interpolation on the variable: -// #{$all-button-inputs} -// #{$all-button-inputs-hover} -// #{$all-button-inputs-focus} -// #{$all-button-inputs-active} - -// Example -//************************************************************************// -// #{$all-button-inputs}, button { -// border: 1px solid red; -// } diff --git a/docs/_css/bourbon/addons/_position.scss b/docs/_css/bourbon/addons/_position.scss deleted file mode 100644 index 7de75182bc0bf..0000000000000 --- a/docs/_css/bourbon/addons/_position.scss +++ /dev/null @@ -1,32 +0,0 @@ -@mixin position ($position: relative, $coordinates: null null null null) { - - @if type-of($position) == list { - $coordinates: $position; - $position: relative; - } - - $coordinates: unpack($coordinates); - - $top: nth($coordinates, 1); - $right: nth($coordinates, 2); - $bottom: nth($coordinates, 3); - $left: nth($coordinates, 4); - - position: $position; - - @if ($top and $top == auto) or (type-of($top) == number) { - top: $top; - } - - @if ($right and $right == auto) or (type-of($right) == number) { - right: $right; - } - - @if ($bottom and $bottom == auto) or (type-of($bottom) == number) { - bottom: $bottom; - } - - @if ($left and $left == auto) or (type-of($left) == number) { - left: $left; - } -} diff --git a/docs/_css/bourbon/addons/_prefixer.scss b/docs/_css/bourbon/addons/_prefixer.scss deleted file mode 100644 index c32f502758f2a..0000000000000 --- a/docs/_css/bourbon/addons/_prefixer.scss +++ /dev/null @@ -1,45 +0,0 @@ -//************************************************************************// -// Example: @include prefixer(border-radius, $radii, webkit ms spec); -//************************************************************************// -// Variables located in /settings/_prefixer.scss - -@mixin prefixer ($property, $value, $prefixes) { - @each $prefix in $prefixes { - @if $prefix == webkit { - @if $prefix-for-webkit { - -webkit-#{$property}: $value; - } - } - @else if $prefix == moz { - @if $prefix-for-mozilla { - -moz-#{$property}: $value; - } - } - @else if $prefix == ms { - @if $prefix-for-microsoft { - -ms-#{$property}: $value; - } - } - @else if $prefix == o { - @if $prefix-for-opera { - -o-#{$property}: $value; - } - } - @else if $prefix == spec { - @if $prefix-for-spec { - #{$property}: $value; - } - } - @else { - @warn "Unrecognized prefix: #{$prefix}"; - } - } -} - -@mixin disable-prefix-for-all() { - $prefix-for-webkit: false !global; - $prefix-for-mozilla: false !global; - $prefix-for-microsoft: false !global; - $prefix-for-opera: false !global; - $prefix-for-spec: false !global; -} diff --git a/docs/_css/bourbon/addons/_retina-image.scss b/docs/_css/bourbon/addons/_retina-image.scss deleted file mode 100644 index 3995c1970a6cb..0000000000000 --- a/docs/_css/bourbon/addons/_retina-image.scss +++ /dev/null @@ -1,31 +0,0 @@ -@mixin retina-image($filename, $background-size, $extension: png, $retina-filename: null, $retina-suffix: _2x, $asset-pipeline: $asset-pipeline) { - @if $asset-pipeline { - background-image: image-url("#{$filename}.#{$extension}"); - } - @else { - background-image: url("#{$filename}.#{$extension}"); - } - - @include hidpi { - @if $asset-pipeline { - @if $retina-filename { - background-image: image-url("#{$retina-filename}.#{$extension}"); - } - @else { - background-image: image-url("#{$filename}#{$retina-suffix}.#{$extension}"); - } - } - - @else { - @if $retina-filename { - background-image: url("#{$retina-filename}.#{$extension}"); - } - @else { - background-image: url("#{$filename}#{$retina-suffix}.#{$extension}"); - } - } - - background-size: $background-size; - - } -} diff --git a/docs/_css/bourbon/addons/_size.scss b/docs/_css/bourbon/addons/_size.scss deleted file mode 100644 index a8653799a7efb..0000000000000 --- a/docs/_css/bourbon/addons/_size.scss +++ /dev/null @@ -1,16 +0,0 @@ -@mixin size($size) { - $height: nth($size, 1); - $width: $height; - - @if length($size) > 1 { - $height: nth($size, 2); - } - - @if $height == auto or (type-of($height) == number and not unitless($height)) { - height: $height; - } - - @if $width == auto or (type-of($width) == number and not unitless($width)) { - width: $width; - } -} diff --git a/docs/_css/bourbon/addons/_timing-functions.scss b/docs/_css/bourbon/addons/_timing-functions.scss deleted file mode 100644 index 5ecc6f9dcf937..0000000000000 --- a/docs/_css/bourbon/addons/_timing-functions.scss +++ /dev/null @@ -1,32 +0,0 @@ -// CSS cubic-bezier timing functions. Timing functions courtesy of jquery.easie (github.com/jaukia/easie) -// Timing functions are the same as demo'ed here: http://jqueryui.com/resources/demos/effect/easing.html - -// EASE IN -$ease-in-quad: cubic-bezier(0.550, 0.085, 0.680, 0.530); -$ease-in-cubic: cubic-bezier(0.550, 0.055, 0.675, 0.190); -$ease-in-quart: cubic-bezier(0.895, 0.030, 0.685, 0.220); -$ease-in-quint: cubic-bezier(0.755, 0.050, 0.855, 0.060); -$ease-in-sine: cubic-bezier(0.470, 0.000, 0.745, 0.715); -$ease-in-expo: cubic-bezier(0.950, 0.050, 0.795, 0.035); -$ease-in-circ: cubic-bezier(0.600, 0.040, 0.980, 0.335); -$ease-in-back: cubic-bezier(0.600, -0.280, 0.735, 0.045); - -// EASE OUT -$ease-out-quad: cubic-bezier(0.250, 0.460, 0.450, 0.940); -$ease-out-cubic: cubic-bezier(0.215, 0.610, 0.355, 1.000); -$ease-out-quart: cubic-bezier(0.165, 0.840, 0.440, 1.000); -$ease-out-quint: cubic-bezier(0.230, 1.000, 0.320, 1.000); -$ease-out-sine: cubic-bezier(0.390, 0.575, 0.565, 1.000); -$ease-out-expo: cubic-bezier(0.190, 1.000, 0.220, 1.000); -$ease-out-circ: cubic-bezier(0.075, 0.820, 0.165, 1.000); -$ease-out-back: cubic-bezier(0.175, 0.885, 0.320, 1.275); - -// EASE IN OUT -$ease-in-out-quad: cubic-bezier(0.455, 0.030, 0.515, 0.955); -$ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1.000); -$ease-in-out-quart: cubic-bezier(0.770, 0.000, 0.175, 1.000); -$ease-in-out-quint: cubic-bezier(0.860, 0.000, 0.070, 1.000); -$ease-in-out-sine: cubic-bezier(0.445, 0.050, 0.550, 0.950); -$ease-in-out-expo: cubic-bezier(1.000, 0.000, 0.000, 1.000); -$ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.150, 0.860); -$ease-in-out-back: cubic-bezier(0.680, -0.550, 0.265, 1.550); diff --git a/docs/_css/bourbon/addons/_triangle.scss b/docs/_css/bourbon/addons/_triangle.scss deleted file mode 100644 index 573954e41e336..0000000000000 --- a/docs/_css/bourbon/addons/_triangle.scss +++ /dev/null @@ -1,83 +0,0 @@ -@mixin triangle ($size, $color, $direction) { - height: 0; - width: 0; - - $width: nth($size, 1); - $height: nth($size, length($size)); - - $foreground-color: nth($color, 1); - $background-color: if(length($color) == 2, nth($color, 2), transparent); - - @if ($direction == up) or ($direction == down) or ($direction == right) or ($direction == left) { - - $width: $width / 2; - $height: if(length($size) > 1, $height, $height/2); - - @if $direction == up { - border-left: $width solid $background-color; - border-right: $width solid $background-color; - border-bottom: $height solid $foreground-color; - - } @else if $direction == right { - border-top: $width solid $background-color; - border-bottom: $width solid $background-color; - border-left: $height solid $foreground-color; - - } @else if $direction == down { - border-left: $width solid $background-color; - border-right: $width solid $background-color; - border-top: $height solid $foreground-color; - - } @else if $direction == left { - border-top: $width solid $background-color; - border-bottom: $width solid $background-color; - border-right: $height solid $foreground-color; - } - } - - @else if ($direction == up-right) or ($direction == up-left) { - border-top: $height solid $foreground-color; - - @if $direction == up-right { - border-left: $width solid $background-color; - - } @else if $direction == up-left { - border-right: $width solid $background-color; - } - } - - @else if ($direction == down-right) or ($direction == down-left) { - border-bottom: $height solid $foreground-color; - - @if $direction == down-right { - border-left: $width solid $background-color; - - } @else if $direction == down-left { - border-right: $width solid $background-color; - } - } - - @else if ($direction == inset-up) { - border-width: $height $width; - border-style: solid; - border-color: $background-color $background-color $foreground-color; - } - - @else if ($direction == inset-down) { - border-width: $height $width; - border-style: solid; - border-color: $foreground-color $background-color $background-color; - } - - @else if ($direction == inset-right) { - border-width: $width $height; - border-style: solid; - border-color: $background-color $background-color $background-color $foreground-color; - } - - @else if ($direction == inset-left) { - border-width: $width $height; - border-style: solid; - border-color: $background-color $foreground-color $background-color $background-color; - } -} diff --git a/docs/_css/bourbon/addons/_word-wrap.scss b/docs/_css/bourbon/addons/_word-wrap.scss deleted file mode 100644 index 9734a597cd059..0000000000000 --- a/docs/_css/bourbon/addons/_word-wrap.scss +++ /dev/null @@ -1,8 +0,0 @@ -@mixin word-wrap($wrap: break-word) { - word-wrap: $wrap; - - @if $wrap == break-word { - overflow-wrap: break-word; - word-break: break-all; - } -} diff --git a/docs/_css/bourbon/css3/_animation.scss b/docs/_css/bourbon/css3/_animation.scss deleted file mode 100644 index 08c3dbf157c15..0000000000000 --- a/docs/_css/bourbon/css3/_animation.scss +++ /dev/null @@ -1,52 +0,0 @@ -// http://www.w3.org/TR/css3-animations/#the-animation-name-property- -// Each of these mixins support comma separated lists of values, which allows different transitions for individual properties to be described in a single style rule. Each value in the list corresponds to the value at that same position in the other properties. - -// Official animation shorthand property. -@mixin animation ($animations...) { - @include prefixer(animation, $animations, webkit moz spec); -} - -// Individual Animation Properties -@mixin animation-name ($names...) { - @include prefixer(animation-name, $names, webkit moz spec); -} - - -@mixin animation-duration ($times...) { - @include prefixer(animation-duration, $times, webkit moz spec); -} - - -@mixin animation-timing-function ($motions...) { -// ease | linear | ease-in | ease-out | ease-in-out - @include prefixer(animation-timing-function, $motions, webkit moz spec); -} - - -@mixin animation-iteration-count ($values...) { -// infinite | - @include prefixer(animation-iteration-count, $values, webkit moz spec); -} - - -@mixin animation-direction ($directions...) { -// normal | alternate - @include prefixer(animation-direction, $directions, webkit moz spec); -} - - -@mixin animation-play-state ($states...) { -// running | paused - @include prefixer(animation-play-state, $states, webkit moz spec); -} - - -@mixin animation-delay ($times...) { - @include prefixer(animation-delay, $times, webkit moz spec); -} - - -@mixin animation-fill-mode ($modes...) { -// none | forwards | backwards | both - @include prefixer(animation-fill-mode, $modes, webkit moz spec); -} diff --git a/docs/_css/bourbon/css3/_appearance.scss b/docs/_css/bourbon/css3/_appearance.scss deleted file mode 100644 index 3eb16e45de7e4..0000000000000 --- a/docs/_css/bourbon/css3/_appearance.scss +++ /dev/null @@ -1,3 +0,0 @@ -@mixin appearance ($value) { - @include prefixer(appearance, $value, webkit moz ms o spec); -} diff --git a/docs/_css/bourbon/css3/_backface-visibility.scss b/docs/_css/bourbon/css3/_backface-visibility.scss deleted file mode 100644 index 1161fe60dd1ee..0000000000000 --- a/docs/_css/bourbon/css3/_backface-visibility.scss +++ /dev/null @@ -1,6 +0,0 @@ -//************************************************************************// -// Backface-visibility mixin -//************************************************************************// -@mixin backface-visibility($visibility) { - @include prefixer(backface-visibility, $visibility, webkit spec); -} diff --git a/docs/_css/bourbon/css3/_background-image.scss b/docs/_css/bourbon/css3/_background-image.scss deleted file mode 100644 index 6abe88be9a5e7..0000000000000 --- a/docs/_css/bourbon/css3/_background-image.scss +++ /dev/null @@ -1,42 +0,0 @@ -//************************************************************************// -// Background-image property for adding multiple background images with -// gradients, or for stringing multiple gradients together. -//************************************************************************// - -@mixin background-image($images...) { - $webkit-images: (); - $spec-images: (); - - @each $image in $images { - $webkit-image: (); - $spec-image: (); - - @if (type-of($image) == string) { - $url-str: str-slice($image, 0, 3); - $gradient-type: str-slice($image, 0, 6); - - @if $url-str == "url" { - $webkit-image: $image; - $spec-image: $image; - } - - @else if $gradient-type == "linear" { - $gradients: _linear-gradient-parser($image); - $webkit-image: map-get($gradients, webkit-image); - $spec-image: map-get($gradients, spec-image); - } - - @else if $gradient-type == "radial" { - $gradients: _radial-gradient-parser($image); - $webkit-image: map-get($gradients, webkit-image); - $spec-image: map-get($gradients, spec-image); - } - } - - $webkit-images: append($webkit-images, $webkit-image, comma); - $spec-images: append($spec-images, $spec-image, comma); - } - - background-image: $webkit-images; - background-image: $spec-images; -} diff --git a/docs/_css/bourbon/css3/_background.scss b/docs/_css/bourbon/css3/_background.scss deleted file mode 100644 index 9bce9308bf966..0000000000000 --- a/docs/_css/bourbon/css3/_background.scss +++ /dev/null @@ -1,55 +0,0 @@ -//************************************************************************// -// Background property for adding multiple backgrounds using shorthand -// notation. -//************************************************************************// - -@mixin background($backgrounds...) { - $webkit-backgrounds: (); - $spec-backgrounds: (); - - @each $background in $backgrounds { - $webkit-background: (); - $spec-background: (); - $background-type: type-of($background); - - @if $background-type == string or list { - $background-str: if($background-type == list, nth($background, 1), $background); - - $url-str: str-slice($background-str, 0, 3); - $gradient-type: str-slice($background-str, 0, 6); - - @if $url-str == "url" { - $webkit-background: $background; - $spec-background: $background; - } - - @else if $gradient-type == "linear" { - $gradients: _linear-gradient-parser("#{$background}"); - $webkit-background: map-get($gradients, webkit-image); - $spec-background: map-get($gradients, spec-image); - } - - @else if $gradient-type == "radial" { - $gradients: _radial-gradient-parser("#{$background}"); - $webkit-background: map-get($gradients, webkit-image); - $spec-background: map-get($gradients, spec-image); - } - - @else { - $webkit-background: $background; - $spec-background: $background; - } - } - - @else { - $webkit-background: $background; - $spec-background: $background; - } - - $webkit-backgrounds: append($webkit-backgrounds, $webkit-background, comma); - $spec-backgrounds: append($spec-backgrounds, $spec-background, comma); - } - - background: $webkit-backgrounds; - background: $spec-backgrounds; -} diff --git a/docs/_css/bourbon/css3/_border-image.scss b/docs/_css/bourbon/css3/_border-image.scss deleted file mode 100644 index e338c2dcd2459..0000000000000 --- a/docs/_css/bourbon/css3/_border-image.scss +++ /dev/null @@ -1,59 +0,0 @@ -@mixin border-image($borders...) { - $webkit-borders: (); - $spec-borders: (); - - @each $border in $borders { - $webkit-border: (); - $spec-border: (); - $border-type: type-of($border); - - @if $border-type == string or list { - $border-str: if($border-type == list, nth($border, 1), $border); - - $url-str: str-slice($border-str, 0, 3); - $gradient-type: str-slice($border-str, 0, 6); - - @if $url-str == "url" { - $webkit-border: $border; - $spec-border: $border; - } - - @else if $gradient-type == "linear" { - $gradients: _linear-gradient-parser("#{$border}"); - $webkit-border: map-get($gradients, webkit-image); - $spec-border: map-get($gradients, spec-image); - } - - @else if $gradient-type == "radial" { - $gradients: _radial-gradient-parser("#{$border}"); - $webkit-border: map-get($gradients, webkit-image); - $spec-border: map-get($gradients, spec-image); - } - - @else { - $webkit-border: $border; - $spec-border: $border; - } - } - - @else { - $webkit-border: $border; - $spec-border: $border; - } - - $webkit-borders: append($webkit-borders, $webkit-border, comma); - $spec-borders: append($spec-borders, $spec-border, comma); - } - - -webkit-border-image: $webkit-borders; - border-image: $spec-borders; - border-style: solid; -} - -//Examples: -// @include border-image(url("image.png")); -// @include border-image(url("image.png") 20 stretch); -// @include border-image(linear-gradient(45deg, orange, yellow)); -// @include border-image(linear-gradient(45deg, orange, yellow) stretch); -// @include border-image(linear-gradient(45deg, orange, yellow) 20 30 40 50 stretch round); -// @include border-image(radial-gradient(top, cover, orange, yellow, orange)); diff --git a/docs/_css/bourbon/css3/_border-radius.scss b/docs/_css/bourbon/css3/_border-radius.scss deleted file mode 100644 index 7c17190109071..0000000000000 --- a/docs/_css/bourbon/css3/_border-radius.scss +++ /dev/null @@ -1,22 +0,0 @@ -//************************************************************************// -// Shorthand Border-radius mixins -//************************************************************************// -@mixin border-top-radius($radii) { - @include prefixer(border-top-left-radius, $radii, spec); - @include prefixer(border-top-right-radius, $radii, spec); -} - -@mixin border-bottom-radius($radii) { - @include prefixer(border-bottom-left-radius, $radii, spec); - @include prefixer(border-bottom-right-radius, $radii, spec); -} - -@mixin border-left-radius($radii) { - @include prefixer(border-top-left-radius, $radii, spec); - @include prefixer(border-bottom-left-radius, $radii, spec); -} - -@mixin border-right-radius($radii) { - @include prefixer(border-top-right-radius, $radii, spec); - @include prefixer(border-bottom-right-radius, $radii, spec); -} diff --git a/docs/_css/bourbon/css3/_box-sizing.scss b/docs/_css/bourbon/css3/_box-sizing.scss deleted file mode 100644 index f07e1d412e329..0000000000000 --- a/docs/_css/bourbon/css3/_box-sizing.scss +++ /dev/null @@ -1,4 +0,0 @@ -@mixin box-sizing ($box) { -// content-box | border-box | inherit - @include prefixer(box-sizing, $box, webkit moz spec); -} diff --git a/docs/_css/bourbon/css3/_calc.scss b/docs/_css/bourbon/css3/_calc.scss deleted file mode 100644 index 94d7e4cef3c7c..0000000000000 --- a/docs/_css/bourbon/css3/_calc.scss +++ /dev/null @@ -1,4 +0,0 @@ -@mixin calc($property, $value) { - #{$property}: -webkit-calc(#{$value}); - #{$property}: calc(#{$value}); -} diff --git a/docs/_css/bourbon/css3/_columns.scss b/docs/_css/bourbon/css3/_columns.scss deleted file mode 100644 index 96f601c1a81a5..0000000000000 --- a/docs/_css/bourbon/css3/_columns.scss +++ /dev/null @@ -1,47 +0,0 @@ -@mixin columns($arg: auto) { -// || - @include prefixer(columns, $arg, webkit moz spec); -} - -@mixin column-count($int: auto) { -// auto || integer - @include prefixer(column-count, $int, webkit moz spec); -} - -@mixin column-gap($length: normal) { -// normal || length - @include prefixer(column-gap, $length, webkit moz spec); -} - -@mixin column-fill($arg: auto) { -// auto || length - @include prefixer(column-fill, $arg, webkit moz spec); -} - -@mixin column-rule($arg) { -// || || - @include prefixer(column-rule, $arg, webkit moz spec); -} - -@mixin column-rule-color($color) { - @include prefixer(column-rule-color, $color, webkit moz spec); -} - -@mixin column-rule-style($style: none) { -// none | hidden | dashed | dotted | double | groove | inset | inset | outset | ridge | solid - @include prefixer(column-rule-style, $style, webkit moz spec); -} - -@mixin column-rule-width ($width: none) { - @include prefixer(column-rule-width, $width, webkit moz spec); -} - -@mixin column-span($arg: none) { -// none || all - @include prefixer(column-span, $arg, webkit moz spec); -} - -@mixin column-width($length: auto) { -// auto || length - @include prefixer(column-width, $length, webkit moz spec); -} diff --git a/docs/_css/bourbon/css3/_filter.scss b/docs/_css/bourbon/css3/_filter.scss deleted file mode 100644 index 8560d77676dcd..0000000000000 --- a/docs/_css/bourbon/css3/_filter.scss +++ /dev/null @@ -1,5 +0,0 @@ -@mixin filter($function: none) { - // [ - @include prefixer(perspective, $depth, webkit moz spec); -} - -@mixin perspective-origin($value: 50% 50%) { - @include prefixer(perspective-origin, $value, webkit moz spec); -} diff --git a/docs/_css/bourbon/css3/_placeholder.scss b/docs/_css/bourbon/css3/_placeholder.scss deleted file mode 100644 index 5682fd097a5a2..0000000000000 --- a/docs/_css/bourbon/css3/_placeholder.scss +++ /dev/null @@ -1,8 +0,0 @@ -@mixin placeholder { - $placeholders: ":-webkit-input" ":-moz" "-moz" "-ms-input"; - @each $placeholder in $placeholders { - &:#{$placeholder}-placeholder { - @content; - } - } -} diff --git a/docs/_css/bourbon/css3/_radial-gradient.scss b/docs/_css/bourbon/css3/_radial-gradient.scss deleted file mode 100644 index 7a8c3765f16cd..0000000000000 --- a/docs/_css/bourbon/css3/_radial-gradient.scss +++ /dev/null @@ -1,39 +0,0 @@ -// Requires Sass 3.1+ -@mixin radial-gradient($G1, $G2, - $G3: null, $G4: null, - $G5: null, $G6: null, - $G7: null, $G8: null, - $G9: null, $G10: null, - $pos: null, - $shape-size: null, - $fallback: null) { - - $data: _radial-arg-parser($G1, $G2, $pos, $shape-size); - $G1: nth($data, 1); - $G2: nth($data, 2); - $pos: nth($data, 3); - $shape-size: nth($data, 4); - - $full: $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10; - - // Strip deprecated cover/contain for spec - $shape-size-spec: _shape-size-stripper($shape-size); - - // Set $G1 as the default fallback color - $first-color: nth($full, 1); - $fallback-color: nth($first-color, 1); - - @if (type-of($fallback) == color) or ($fallback == "transparent") { - $fallback-color: $fallback; - } - - // Add Commas and spaces - $shape-size: if($shape-size, '#{$shape-size}, ', null); - $pos: if($pos, '#{$pos}, ', null); - $pos-spec: if($pos, 'at #{$pos}', null); - $shape-size-spec: if(($shape-size-spec != ' ') and ($pos == null), '#{$shape-size-spec}, ', '#{$shape-size-spec} '); - - background-color: $fallback-color; - background-image: -webkit-radial-gradient(unquote(#{$pos}#{$shape-size}#{$full})); - background-image: unquote("radial-gradient(#{$shape-size-spec}#{$pos-spec}#{$full})"); -} diff --git a/docs/_css/bourbon/css3/_transform.scss b/docs/_css/bourbon/css3/_transform.scss deleted file mode 100644 index 8cc35963d555c..0000000000000 --- a/docs/_css/bourbon/css3/_transform.scss +++ /dev/null @@ -1,15 +0,0 @@ -@mixin transform($property: none) { -// none | - @include prefixer(transform, $property, webkit moz ms o spec); -} - -@mixin transform-origin($axes: 50%) { -// x-axis - left | center | right | length | % -// y-axis - top | center | bottom | length | % -// z-axis - length - @include prefixer(transform-origin, $axes, webkit moz ms o spec); -} - -@mixin transform-style ($style: flat) { - @include prefixer(transform-style, $style, webkit moz ms o spec); -} diff --git a/docs/_css/bourbon/css3/_transition.scss b/docs/_css/bourbon/css3/_transition.scss deleted file mode 100644 index 5ad4c0aed2381..0000000000000 --- a/docs/_css/bourbon/css3/_transition.scss +++ /dev/null @@ -1,77 +0,0 @@ -// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable. -// Example: @include transition (all 2s ease-in-out); -// @include transition (opacity 1s ease-in 2s, width 2s ease-out); -// @include transition-property (transform, opacity); - -@mixin transition ($properties...) { - // Fix for vendor-prefix transform property - $needs-prefixes: false; - $webkit: (); - $moz: (); - $spec: (); - - // Create lists for vendor-prefixed transform - @each $list in $properties { - @if nth($list, 1) == "transform" { - $needs-prefixes: true; - $list1: -webkit-transform; - $list2: -moz-transform; - $list3: (); - - @each $var in $list { - $list3: join($list3, $var); - - @if $var != "transform" { - $list1: join($list1, $var); - $list2: join($list2, $var); - } - } - - $webkit: append($webkit, $list1); - $moz: append($moz, $list2); - $spec: append($spec, $list3); - } - - // Create lists for non-prefixed transition properties - @else { - $webkit: append($webkit, $list, comma); - $moz: append($moz, $list, comma); - $spec: append($spec, $list, comma); - } - } - - @if $needs-prefixes { - -webkit-transition: $webkit; - -moz-transition: $moz; - transition: $spec; - } - @else { - @if length($properties) >= 1 { - @include prefixer(transition, $properties, webkit moz spec); - } - - @else { - $properties: all 0.15s ease-out 0s; - @include prefixer(transition, $properties, webkit moz spec); - } - } -} - -@mixin transition-property ($properties...) { - -webkit-transition-property: transition-property-names($properties, 'webkit'); - -moz-transition-property: transition-property-names($properties, 'moz'); - transition-property: transition-property-names($properties, false); -} - -@mixin transition-duration ($times...) { - @include prefixer(transition-duration, $times, webkit moz spec); -} - -@mixin transition-timing-function ($motions...) { -// ease | linear | ease-in | ease-out | ease-in-out | cubic-bezier() - @include prefixer(transition-timing-function, $motions, webkit moz spec); -} - -@mixin transition-delay ($times...) { - @include prefixer(transition-delay, $times, webkit moz spec); -} diff --git a/docs/_css/bourbon/css3/_user-select.scss b/docs/_css/bourbon/css3/_user-select.scss deleted file mode 100644 index 1380aa8baa9f2..0000000000000 --- a/docs/_css/bourbon/css3/_user-select.scss +++ /dev/null @@ -1,3 +0,0 @@ -@mixin user-select($arg: none) { - @include prefixer(user-select, $arg, webkit moz ms spec); -} diff --git a/docs/_css/bourbon/functions/_assign.scss b/docs/_css/bourbon/functions/_assign.scss deleted file mode 100644 index 9a1db93ef749e..0000000000000 --- a/docs/_css/bourbon/functions/_assign.scss +++ /dev/null @@ -1,11 +0,0 @@ -@function assign-inputs($inputs, $pseudo: null) { - $list : (); - - @each $input in $inputs { - $input: unquote($input); - $input: if($pseudo, $input + ":" + $pseudo, $input); - $list: append($list, $input, comma); - } - - @return $list; -} \ No newline at end of file diff --git a/docs/_css/bourbon/functions/_color-lightness.scss b/docs/_css/bourbon/functions/_color-lightness.scss deleted file mode 100644 index 8c6df4e2564d2..0000000000000 --- a/docs/_css/bourbon/functions/_color-lightness.scss +++ /dev/null @@ -1,13 +0,0 @@ -// Programatically determines whether a color is light or dark -// Returns a boolean -// More details here http://robots.thoughtbot.com/closer-look-color-lightness - -@function is-light($hex-color) { - $-local-red: red(rgba($hex-color, 1.0)); - $-local-green: green(rgba($hex-color, 1.0)); - $-local-blue: blue(rgba($hex-color, 1.0)); - - $-local-lightness: ($-local-red * 0.2126 + $-local-green * 0.7152 + $-local-blue * 0.0722) / 255; - - @return $-local-lightness > .6; -} diff --git a/docs/_css/bourbon/functions/_flex-grid.scss b/docs/_css/bourbon/functions/_flex-grid.scss deleted file mode 100644 index 3bbd8665732d1..0000000000000 --- a/docs/_css/bourbon/functions/_flex-grid.scss +++ /dev/null @@ -1,39 +0,0 @@ -// Flexible grid -@function flex-grid($columns, $container-columns: $fg-max-columns) { - $width: $columns * $fg-column + ($columns - 1) * $fg-gutter; - $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; - @return percentage($width / $container-width); -} - -// Flexible gutter -@function flex-gutter($container-columns: $fg-max-columns, $gutter: $fg-gutter) { - $container-width: $container-columns * $fg-column + ($container-columns - 1) * $fg-gutter; - @return percentage($gutter / $container-width); -} - -// The $fg-column, $fg-gutter and $fg-max-columns variables must be defined in your base stylesheet to properly use the flex-grid function. -// This function takes the fluid grid equation (target / context = result) and uses columns to help define each. -// -// The calculation presumes that your column structure will be missing the last gutter: -// -// -- column -- gutter -- column -- gutter -- column -// -// $fg-column: 60px; // Column Width -// $fg-gutter: 25px; // Gutter Width -// $fg-max-columns: 12; // Total Columns For Main Container -// -// div { -// width: flex-grid(4); // returns (315px / 995px) = 31.65829%; -// margin-left: flex-gutter(); // returns (25px / 995px) = 2.51256%; -// -// p { -// width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%; -// float: left; -// margin: flex-gutter(4); // returns (25px / 315px) = 7.936508%; -// } -// -// blockquote { -// float: left; -// width: flex-grid(2, 4); // returns (145px / 315px) = 46.031746%; -// } -// } \ No newline at end of file diff --git a/docs/_css/bourbon/functions/_golden-ratio.scss b/docs/_css/bourbon/functions/_golden-ratio.scss deleted file mode 100644 index 463d14a00c174..0000000000000 --- a/docs/_css/bourbon/functions/_golden-ratio.scss +++ /dev/null @@ -1,3 +0,0 @@ -@function golden-ratio($value, $increment) { - @return modular-scale($value, $increment, $golden) -} diff --git a/docs/_css/bourbon/functions/_grid-width.scss b/docs/_css/bourbon/functions/_grid-width.scss deleted file mode 100644 index 8e63d83d60239..0000000000000 --- a/docs/_css/bourbon/functions/_grid-width.scss +++ /dev/null @@ -1,13 +0,0 @@ -@function grid-width($n) { - @return $n * $gw-column + ($n - 1) * $gw-gutter; -} - -// The $gw-column and $gw-gutter variables must be defined in your base stylesheet to properly use the grid-width function. -// -// $gw-column: 100px; // Column Width -// $gw-gutter: 40px; // Gutter Width -// -// div { -// width: grid-width(4); // returns 520px; -// margin-left: $gw-gutter; // returns 40px; -// } diff --git a/docs/_css/bourbon/functions/_modular-scale.scss b/docs/_css/bourbon/functions/_modular-scale.scss deleted file mode 100644 index afc59eb954de2..0000000000000 --- a/docs/_css/bourbon/functions/_modular-scale.scss +++ /dev/null @@ -1,66 +0,0 @@ -// Scaling Variables -$golden: 1.618; -$minor-second: 1.067; -$major-second: 1.125; -$minor-third: 1.2; -$major-third: 1.25; -$perfect-fourth: 1.333; -$augmented-fourth: 1.414; -$perfect-fifth: 1.5; -$minor-sixth: 1.6; -$major-sixth: 1.667; -$minor-seventh: 1.778; -$major-seventh: 1.875; -$octave: 2; -$major-tenth: 2.5; -$major-eleventh: 2.667; -$major-twelfth: 3; -$double-octave: 4; - -@function modular-scale($value, $increment, $ratio) { - $v1: nth($value, 1); - $v2: nth($value, length($value)); - $value: $v1; - - // scale $v2 to just above $v1 - @while $v2 > $v1 { - $v2: ($v2 / $ratio); // will be off-by-1 - } - @while $v2 < $v1 { - $v2: ($v2 * $ratio); // will fix off-by-1 - } - - // check AFTER scaling $v2 to prevent double-counting corner-case - $double-stranded: $v2 > $v1; - - @if $increment > 0 { - @for $i from 1 through $increment { - @if $double-stranded and ($v1 * $ratio) > $v2 { - $value: $v2; - $v2: ($v2 * $ratio); - } @else { - $v1: ($v1 * $ratio); - $value: $v1; - } - } - } - - @if $increment < 0 { - // adjust $v2 to just below $v1 - @if $double-stranded { - $v2: ($v2 / $ratio); - } - - @for $i from $increment through -1 { - @if $double-stranded and ($v1 / $ratio) < $v2 { - $value: $v2; - $v2: ($v2 / $ratio); - } @else { - $v1: ($v1 / $ratio); - $value: $v1; - } - } - } - - @return $value; -} diff --git a/docs/_css/bourbon/functions/_px-to-em.scss b/docs/_css/bourbon/functions/_px-to-em.scss deleted file mode 100644 index 4832245e455bf..0000000000000 --- a/docs/_css/bourbon/functions/_px-to-em.scss +++ /dev/null @@ -1,13 +0,0 @@ -// Convert pixels to ems -// eg. for a relational value of 12px write em(12) when the parent is 16px -// if the parent is another value say 24px write em(12, 24) - -@function em($pxval, $base: $em-base) { - @if not unitless($pxval) { - $pxval: strip-units($pxval); - } - @if not unitless($base) { - $base: strip-units($base); - } - @return ($pxval / $base) * 1em; -} diff --git a/docs/_css/bourbon/functions/_px-to-rem.scss b/docs/_css/bourbon/functions/_px-to-rem.scss deleted file mode 100644 index 96b244e4cb1b6..0000000000000 --- a/docs/_css/bourbon/functions/_px-to-rem.scss +++ /dev/null @@ -1,15 +0,0 @@ -// Convert pixels to rems -// eg. for a relational value of 12px write rem(12) -// Assumes $em-base is the font-size of - -@function rem($pxval) { - @if not unitless($pxval) { - $pxval: strip-units($pxval); - } - - $base: $em-base; - @if not unitless($base) { - $base: strip-units($base); - } - @return ($pxval / $base) * 1rem; -} diff --git a/docs/_css/bourbon/functions/_strip-units.scss b/docs/_css/bourbon/functions/_strip-units.scss deleted file mode 100644 index 6afc6e601c03c..0000000000000 --- a/docs/_css/bourbon/functions/_strip-units.scss +++ /dev/null @@ -1,5 +0,0 @@ -// Srtips the units from a value. e.g. 12px -> 12 - -@function strip-units($val) { - @return ($val / ($val * 0 + 1)); -} diff --git a/docs/_css/bourbon/functions/_tint-shade.scss b/docs/_css/bourbon/functions/_tint-shade.scss deleted file mode 100644 index f7172004ac633..0000000000000 --- a/docs/_css/bourbon/functions/_tint-shade.scss +++ /dev/null @@ -1,9 +0,0 @@ -// Add percentage of white to a color -@function tint($color, $percent){ - @return mix(white, $color, $percent); -} - -// Add percentage of black to a color -@function shade($color, $percent){ - @return mix(black, $color, $percent); -} diff --git a/docs/_css/bourbon/functions/_transition-property-name.scss b/docs/_css/bourbon/functions/_transition-property-name.scss deleted file mode 100644 index 54cd422811217..0000000000000 --- a/docs/_css/bourbon/functions/_transition-property-name.scss +++ /dev/null @@ -1,22 +0,0 @@ -// Return vendor-prefixed property names if appropriate -// Example: transition-property-names((transform, color, background), moz) -> -moz-transform, color, background -//************************************************************************// -@function transition-property-names($props, $vendor: false) { - $new-props: (); - - @each $prop in $props { - $new-props: append($new-props, transition-property-name($prop, $vendor), comma); - } - - @return $new-props; -} - -@function transition-property-name($prop, $vendor: false) { - // put other properties that need to be prefixed here aswell - @if $vendor and $prop == transform { - @return unquote('-'+$vendor+'-'+$prop); - } - @else { - @return $prop; - } -} \ No newline at end of file diff --git a/docs/_css/bourbon/functions/_unpack.scss b/docs/_css/bourbon/functions/_unpack.scss deleted file mode 100644 index 377596365c89f..0000000000000 --- a/docs/_css/bourbon/functions/_unpack.scss +++ /dev/null @@ -1,17 +0,0 @@ -// Convert shorthand to the 4-value syntax - -@function unpack($shorthand) { - @if length($shorthand) == 1 { - @return nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1) nth($shorthand, 1); - } - @else if length($shorthand) == 2 { - @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 1) nth($shorthand, 2); - } - @else if length($shorthand) == 3 { - @return nth($shorthand, 1) nth($shorthand, 2) nth($shorthand, 3) nth($shorthand, 2); - } - @else { - @return $shorthand; - } -} - diff --git a/docs/_css/bourbon/helpers/_convert-units.scss b/docs/_css/bourbon/helpers/_convert-units.scss deleted file mode 100644 index 3443db397c22b..0000000000000 --- a/docs/_css/bourbon/helpers/_convert-units.scss +++ /dev/null @@ -1,15 +0,0 @@ -//************************************************************************// -// Helper function for str-to-num fn. -// Source: http://sassmeister.com/gist/9647408 -//************************************************************************// -@function _convert-units($number, $unit) { - $strings: 'px' 'cm' 'mm' '%' 'ch' 'pica' 'in' 'em' 'rem' 'pt' 'pc' 'ex' 'vw' 'vh' 'vmin' 'vmax', 'deg', 'rad', 'grad', 'turn'; - $units: 1px 1cm 1mm 1% 1ch 1pica 1in 1em 1rem 1pt 1pc 1ex 1vw 1vh 1vmin 1vmax, 1deg, 1rad, 1grad, 1turn; - $index: index($strings, $unit); - - @if not $index { - @warn "Unknown unit `#{$unit}`."; - @return false; - } - @return $number * nth($units, $index); -} diff --git a/docs/_css/bourbon/helpers/_gradient-positions-parser.scss b/docs/_css/bourbon/helpers/_gradient-positions-parser.scss deleted file mode 100644 index 07d30b6cf956e..0000000000000 --- a/docs/_css/bourbon/helpers/_gradient-positions-parser.scss +++ /dev/null @@ -1,13 +0,0 @@ -@function _gradient-positions-parser($gradient-type, $gradient-positions) { - @if $gradient-positions - and ($gradient-type == linear) - and (type-of($gradient-positions) != color) { - $gradient-positions: _linear-positions-parser($gradient-positions); - } - @else if $gradient-positions - and ($gradient-type == radial) - and (type-of($gradient-positions) != color) { - $gradient-positions: _radial-positions-parser($gradient-positions); - } - @return $gradient-positions; -} diff --git a/docs/_css/bourbon/helpers/_is-num.scss b/docs/_css/bourbon/helpers/_is-num.scss deleted file mode 100644 index 71459e1404ad1..0000000000000 --- a/docs/_css/bourbon/helpers/_is-num.scss +++ /dev/null @@ -1,8 +0,0 @@ -//************************************************************************// -// Helper for linear-gradient-parser -//************************************************************************// -@function _is-num($char) { - $values: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9' 0 1 2 3 4 5 6 7 8 9; - $index: index($values, $char); - @return if($index, true, false); -} diff --git a/docs/_css/bourbon/helpers/_linear-angle-parser.scss b/docs/_css/bourbon/helpers/_linear-angle-parser.scss deleted file mode 100644 index e0401ed8df124..0000000000000 --- a/docs/_css/bourbon/helpers/_linear-angle-parser.scss +++ /dev/null @@ -1,25 +0,0 @@ -// Private function for linear-gradient-parser -@function _linear-angle-parser($image, $first-val, $prefix, $suffix) { - $offset: null; - $unit-short: str-slice($first-val, str-length($first-val) - 2, str-length($first-val)); - $unit-long: str-slice($first-val, str-length($first-val) - 3, str-length($first-val)); - - @if ($unit-long == "grad") or - ($unit-long == "turn") { - $offset: if($unit-long == "grad", -100grad * 3, -0.75turn); - } - - @else if ($unit-short == "deg") or - ($unit-short == "rad") { - $offset: if($unit-short == "deg", -90 * 3, 1.6rad); - } - - @if $offset { - $num: _str-to-num($first-val); - - @return ( - webkit-image: -webkit- + $prefix + ($offset - $num) + $suffix, - spec-image: $image - ); - } -} diff --git a/docs/_css/bourbon/helpers/_linear-gradient-parser.scss b/docs/_css/bourbon/helpers/_linear-gradient-parser.scss deleted file mode 100644 index 12bcdcda8fdae..0000000000000 --- a/docs/_css/bourbon/helpers/_linear-gradient-parser.scss +++ /dev/null @@ -1,41 +0,0 @@ -@function _linear-gradient-parser($image) { - $image: unquote($image); - $gradients: (); - $start: str-index($image, "("); - $end: str-index($image, ","); - $first-val: str-slice($image, $start + 1, $end - 1); - - $prefix: str-slice($image, 0, $start); - $suffix: str-slice($image, $end, str-length($image)); - - $has-multiple-vals: str-index($first-val, " "); - $has-single-position: unquote(_position-flipper($first-val) + ""); - $has-angle: _is-num(str-slice($first-val, 0, 0)); - - @if $has-multiple-vals { - $gradients: _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals); - } - - @else if $has-single-position != "" { - $pos: unquote($has-single-position + ""); - - $gradients: ( - webkit-image: -webkit- + $image, - spec-image: $prefix + "to " + $pos + $suffix - ); - } - - @else if $has-angle { - // Rotate degree for webkit - $gradients: _linear-angle-parser($image, $first-val, $prefix, $suffix); - } - - @else { - $gradients: ( - webkit-image: -webkit- + $image, - spec-image: $image - ); - } - - @return $gradients; -} diff --git a/docs/_css/bourbon/helpers/_linear-positions-parser.scss b/docs/_css/bourbon/helpers/_linear-positions-parser.scss deleted file mode 100644 index d26383edce154..0000000000000 --- a/docs/_css/bourbon/helpers/_linear-positions-parser.scss +++ /dev/null @@ -1,61 +0,0 @@ -@function _linear-positions-parser($pos) { - $type: type-of(nth($pos, 1)); - $spec: null; - $degree: null; - $side: null; - $corner: null; - $length: length($pos); - // Parse Side and corner positions - @if ($length > 1) { - @if nth($pos, 1) == "to" { // Newer syntax - $side: nth($pos, 2); - - @if $length == 2 { // eg. to top - // Swap for backwards compatability - $degree: _position-flipper(nth($pos, 2)); - } - @else if $length == 3 { // eg. to top left - $corner: nth($pos, 3); - } - } - @else if $length == 2 { // Older syntax ("top left") - $side: _position-flipper(nth($pos, 1)); - $corner: _position-flipper(nth($pos, 2)); - } - - @if ("#{$side} #{$corner}" == "left top") or ("#{$side} #{$corner}" == "top left") { - $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); - } - @else if ("#{$side} #{$corner}" == "right top") or ("#{$side} #{$corner}" == "top right") { - $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); - } - @else if ("#{$side} #{$corner}" == "right bottom") or ("#{$side} #{$corner}" == "bottom right") { - $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); - } - @else if ("#{$side} #{$corner}" == "left bottom") or ("#{$side} #{$corner}" == "bottom left") { - $degree: _position-flipper(#{$side}) _position-flipper(#{$corner}); - } - $spec: to $side $corner; - } - @else if $length == 1 { - // Swap for backwards compatability - @if $type == string { - $degree: $pos; - $spec: to _position-flipper($pos); - } - @else { - $degree: -270 - $pos; //rotate the gradient opposite from spec - $spec: $pos; - } - } - $degree: unquote($degree + ","); - $spec: unquote($spec + ","); - @return $degree $spec; -} - -@function _position-flipper($pos) { - @return if($pos == left, right, null) - if($pos == right, left, null) - if($pos == top, bottom, null) - if($pos == bottom, top, null); -} diff --git a/docs/_css/bourbon/helpers/_linear-side-corner-parser.scss b/docs/_css/bourbon/helpers/_linear-side-corner-parser.scss deleted file mode 100644 index 86ad88fbb7d91..0000000000000 --- a/docs/_css/bourbon/helpers/_linear-side-corner-parser.scss +++ /dev/null @@ -1,31 +0,0 @@ -// Private function for linear-gradient-parser -@function _linear-side-corner-parser($image, $first-val, $prefix, $suffix, $has-multiple-vals) { - $val-1: str-slice($first-val, 0, $has-multiple-vals - 1 ); - $val-2: str-slice($first-val, $has-multiple-vals + 1, str-length($first-val)); - $val-3: null; - $has-val-3: str-index($val-2, " "); - - @if $has-val-3 { - $val-3: str-slice($val-2, $has-val-3 + 1, str-length($val-2)); - $val-2: str-slice($val-2, 0, $has-val-3 - 1); - } - - $pos: _position-flipper($val-1) _position-flipper($val-2) _position-flipper($val-3); - $pos: unquote($pos + ""); - - // Use old spec for webkit - @if $val-1 == "to" { - @return ( - webkit-image: -webkit- + $prefix + $pos + $suffix, - spec-image: $image - ); - } - - // Bring the code up to spec - @else { - @return ( - webkit-image: -webkit- + $image, - spec-image: $prefix + "to " + $pos + $suffix - ); - } -} diff --git a/docs/_css/bourbon/helpers/_radial-arg-parser.scss b/docs/_css/bourbon/helpers/_radial-arg-parser.scss deleted file mode 100644 index a3a3704af5e88..0000000000000 --- a/docs/_css/bourbon/helpers/_radial-arg-parser.scss +++ /dev/null @@ -1,69 +0,0 @@ -@function _radial-arg-parser($G1, $G2, $pos, $shape-size) { - @each $value in $G1, $G2 { - $first-val: nth($value, 1); - $pos-type: type-of($first-val); - $spec-at-index: null; - - // Determine if spec was passed to mixin - @if type-of($value) == list { - $spec-at-index: if(index($value, at), index($value, at), false); - } - @if $spec-at-index { - @if $spec-at-index > 1 { - @for $i from 1 through ($spec-at-index - 1) { - $shape-size: $shape-size nth($value, $i); - } - @for $i from ($spec-at-index + 1) through length($value) { - $pos: $pos nth($value, $i); - } - } - @else if $spec-at-index == 1 { - @for $i from ($spec-at-index + 1) through length($value) { - $pos: $pos nth($value, $i); - } - } - $G1: null; - } - - // If not spec calculate correct values - @else { - @if ($pos-type != color) or ($first-val != "transparent") { - @if ($pos-type == number) - or ($first-val == "center") - or ($first-val == "top") - or ($first-val == "right") - or ($first-val == "bottom") - or ($first-val == "left") { - - $pos: $value; - - @if $pos == $G1 { - $G1: null; - } - } - - @else if - ($first-val == "ellipse") - or ($first-val == "circle") - or ($first-val == "closest-side") - or ($first-val == "closest-corner") - or ($first-val == "farthest-side") - or ($first-val == "farthest-corner") - or ($first-val == "contain") - or ($first-val == "cover") { - - $shape-size: $value; - - @if $value == $G1 { - $G1: null; - } - - @else if $value == $G2 { - $G2: null; - } - } - } - } - } - @return $G1, $G2, $pos, $shape-size; -} diff --git a/docs/_css/bourbon/helpers/_radial-gradient-parser.scss b/docs/_css/bourbon/helpers/_radial-gradient-parser.scss deleted file mode 100644 index 6dde50f064005..0000000000000 --- a/docs/_css/bourbon/helpers/_radial-gradient-parser.scss +++ /dev/null @@ -1,50 +0,0 @@ -@function _radial-gradient-parser($image) { - $image: unquote($image); - $gradients: (); - $start: str-index($image, "("); - $end: str-index($image, ","); - $first-val: str-slice($image, $start + 1, $end - 1); - - $prefix: str-slice($image, 0, $start); - $suffix: str-slice($image, $end, str-length($image)); - - $is-spec-syntax: str-index($first-val, "at"); - - @if $is-spec-syntax and $is-spec-syntax > 1 { - $keyword: str-slice($first-val, 1, $is-spec-syntax - 2); - $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); - $pos: append($pos, $keyword, comma); - - $gradients: ( - webkit-image: -webkit- + $prefix + $pos + $suffix, - spec-image: $image - ) - } - - @else if $is-spec-syntax == 1 { - $pos: str-slice($first-val, $is-spec-syntax + 3, str-length($first-val)); - - $gradients: ( - webkit-image: -webkit- + $prefix + $pos + $suffix, - spec-image: $image - ) - } - - @else if str-index($image, "cover") or str-index($image, "contain") { - @warn "Radial-gradient needs to be updated to conform to latest spec."; - - $gradients: ( - webkit-image: null, - spec-image: $image - ) - } - - @else { - $gradients: ( - webkit-image: -webkit- + $image, - spec-image: $image - ) - } - - @return $gradients; -} diff --git a/docs/_css/bourbon/helpers/_radial-positions-parser.scss b/docs/_css/bourbon/helpers/_radial-positions-parser.scss deleted file mode 100644 index 6a5b477778157..0000000000000 --- a/docs/_css/bourbon/helpers/_radial-positions-parser.scss +++ /dev/null @@ -1,18 +0,0 @@ -@function _radial-positions-parser($gradient-pos) { - $shape-size: nth($gradient-pos, 1); - $pos: nth($gradient-pos, 2); - $shape-size-spec: _shape-size-stripper($shape-size); - - $pre-spec: unquote(if($pos, "#{$pos}, ", null)) - unquote(if($shape-size, "#{$shape-size},", null)); - $pos-spec: if($pos, "at #{$pos}", null); - - $spec: "#{$shape-size-spec} #{$pos-spec}"; - - // Add comma - @if ($spec != ' ') { - $spec: "#{$spec}," - } - - @return $pre-spec $spec; -} diff --git a/docs/_css/bourbon/helpers/_render-gradients.scss b/docs/_css/bourbon/helpers/_render-gradients.scss deleted file mode 100644 index 5765676838de9..0000000000000 --- a/docs/_css/bourbon/helpers/_render-gradients.scss +++ /dev/null @@ -1,26 +0,0 @@ -// User for linear and radial gradients within background-image or border-image properties - -@function _render-gradients($gradient-positions, $gradients, $gradient-type, $vendor: false) { - $pre-spec: null; - $spec: null; - $vendor-gradients: null; - @if $gradient-type == linear { - @if $gradient-positions { - $pre-spec: nth($gradient-positions, 1); - $spec: nth($gradient-positions, 2); - } - } - @else if $gradient-type == radial { - $pre-spec: nth($gradient-positions, 1); - $spec: nth($gradient-positions, 2); - } - - @if $vendor { - $vendor-gradients: -#{$vendor}-#{$gradient-type}-gradient(#{$pre-spec} $gradients); - } - @else if $vendor == false { - $vendor-gradients: "#{$gradient-type}-gradient(#{$spec} #{$gradients})"; - $vendor-gradients: unquote($vendor-gradients); - } - @return $vendor-gradients; -} diff --git a/docs/_css/bourbon/helpers/_shape-size-stripper.scss b/docs/_css/bourbon/helpers/_shape-size-stripper.scss deleted file mode 100644 index ee5eda422050c..0000000000000 --- a/docs/_css/bourbon/helpers/_shape-size-stripper.scss +++ /dev/null @@ -1,10 +0,0 @@ -@function _shape-size-stripper($shape-size) { - $shape-size-spec: null; - @each $value in $shape-size { - @if ($value == "cover") or ($value == "contain") { - $value: null; - } - $shape-size-spec: "#{$shape-size-spec} #{$value}"; - } - @return $shape-size-spec; -} diff --git a/docs/_css/bourbon/helpers/_str-to-num.scss b/docs/_css/bourbon/helpers/_str-to-num.scss deleted file mode 100644 index b3d616824d3b5..0000000000000 --- a/docs/_css/bourbon/helpers/_str-to-num.scss +++ /dev/null @@ -1,50 +0,0 @@ -//************************************************************************// -// Helper function for linear/radial-gradient-parsers. -// Source: http://sassmeister.com/gist/9647408 -//************************************************************************// -@function _str-to-num($string) { - // Matrices - $strings: '0' '1' '2' '3' '4' '5' '6' '7' '8' '9'; - $numbers: 0 1 2 3 4 5 6 7 8 9; - - // Result - $result: 0; - $divider: 0; - $minus: false; - - // Looping through all characters - @for $i from 1 through str-length($string) { - $character: str-slice($string, $i, $i); - $index: index($strings, $character); - - @if $character == '-' { - $minus: true; - } - - @else if $character == '.' { - $divider: 1; - } - - @else { - @if not $index { - $result: if($minus, $result * -1, $result); - @return _convert-units($result, str-slice($string, $i)); - } - - $number: nth($numbers, $index); - - @if $divider == 0 { - $result: $result * 10; - } - - @else { - // Move the decimal dot to the left - $divider: $divider * 10; - $number: $number / $divider; - } - - $result: $result + $number; - } - } - @return if($minus, $result * -1, $result); -} diff --git a/docs/_css/bourbon/settings/_asset-pipeline.scss b/docs/_css/bourbon/settings/_asset-pipeline.scss deleted file mode 100644 index d481a6afb1621..0000000000000 --- a/docs/_css/bourbon/settings/_asset-pipeline.scss +++ /dev/null @@ -1 +0,0 @@ -$asset-pipeline: false !default; diff --git a/docs/_css/bourbon/settings/_prefixer.scss b/docs/_css/bourbon/settings/_prefixer.scss deleted file mode 100644 index ecab49fb54267..0000000000000 --- a/docs/_css/bourbon/settings/_prefixer.scss +++ /dev/null @@ -1,6 +0,0 @@ -// Variable settings for /addons/prefixer.scss -$prefix-for-webkit: true !default; -$prefix-for-mozilla: true !default; -$prefix-for-microsoft: true !default; -$prefix-for-opera: true !default; -$prefix-for-spec: true !default; // required for keyframe mixin diff --git a/docs/_css/bourbon/settings/_px-to-em.scss b/docs/_css/bourbon/settings/_px-to-em.scss deleted file mode 100644 index f2f9a3e8dee11..0000000000000 --- a/docs/_css/bourbon/settings/_px-to-em.scss +++ /dev/null @@ -1 +0,0 @@ -$em-base: 16px !default; diff --git a/docs/_data/acknowledgements.yml b/docs/_data/acknowledgements.yml deleted file mode 100644 index 89f112ef2bf7e..0000000000000 --- a/docs/_data/acknowledgements.yml +++ /dev/null @@ -1,179 +0,0 @@ ---- -- - Adam Krebs - - Adam Solove - - Alan deLevie - - Alex Zelenskiy - - Alexander Solovyov - - Andreas Svensson - - Andrew Davey - - Andrew Zich - - Andrey Popp - - Anthony van der Hoorn - - Ayman Osman - - Ben Alpert - - Ben Newman - - Ben Ripkens - - Bill Fisher - - Bob Eagan - - Bojan Mihelac - - Brandon Bloom - - Brian Cooke - - Brian Kim - - Brian Reavis - - Brian Rue - - Cam Spiers - - Cassus Adam Banko - - Cat Chen - - Cheng Lou - - Christian Roman - - Christoph Pojer - - Christopher Monsanto - - Clay Allsopp - - Connor McSheffrey - - Dan Schafer - - Daniel Gasienica - - Daniel Lo Nigro - - Daniel Miladinov - - Daniel Schonfeld - - Danny Ben-David - - Daryl Lau - - David Hellsing - - David Hu - - Devon Blandin - - Dmitry Mazuro - - Dustin Getz - - Enguerran - - Eric Clemmons - - Eric Florenzano - - Eric Schoffstall - - Evan Coonrod - - Fabio M. Costa - - Felipe Oliveira Carvalho - - Felix Kling - - Fernando Correia - - François-Xavier Bois - - Fred Zhao - - G Scott Olson - - Geert Pasteels - - Geert-Jan Brits - - George A Sisco III - - Gilbert - - Greg Hurrell -- - Greg Roodt - - Guangqiang Dong - - Guido Bouman - - Harry Hull - - Harshad Sabne - - Hendrik Swanepoel - - Hugo Jobling - - Ian Obermiller - - Ingvar Stepanyan - - Irae Carvalho - - Isaac Salier-Hellendag - - Ivan Kozik - - Jaime Mingo - - Jakub Malinowski - - James Brantly - - James Ide - - Jamie Wong - - Jamison Dance - - Jan Kassens - - Jared Forsyth - - Jason Bonta - - Jason Trill - - Jean Lauliac - - Jeff Barczewski - - Jeff Carpenter - - Jeff Morrison - - Jeff Welch - - Jeffrey Lin - - Jignesh Kakadiya - - Jing Chen - - Johannes Baiter - - John Watson - - Jon Beebe - - Jonas Enlund - - Jonas Gebhardt - - Jonathan Hsu - - Jordan Walke - - Josh Bassett - - Josh Duck - - Josh Yudaken - - Joshua Ma - - Julen Ruiz Aizpuru - - Jun Wu - - Juraj Dudak - - Justin Jaffray - - Karl Mikkelsen - - Keito Uchiyama - - Kit Randel - - Kunal Mehta - - Kyle Mathews - - Laurence Rowe - - Levi McCallum - - Lily - - Logan Allen - - Luigy Leon - - Marcin Kwiatkowski - - Marcin Szczepanski - - Mariano Desanze - - Mark Richardson - - Marshall Roch -- - Martin Andert - - Martin Konicek - - Mathieu M-Gosselin - - Matt Harrison - - Matthew Dapena-Tretter - - Matti Nelimarkka - - Michal Srb - - Mouad Debbar - - Nadeesha Cabral - - Nate Hunzaker - - Nicholas Bergson-Shilcock - - Nick Gavalas - - Nick Thompson - - Niklas Boström - - Owen Coutts - - Pascal Hartig - - Paul O’Shannessy - - Paul Seiffert - - Paul Shen - - Pete Hunt - - Peter Cottle - - Petri Lievonen - - Pieter Vanderwerff - - Rajiv Tirumalareddy - - Randall Randall - - Ray - - Richard D. Worth - - Richard Feldman - - Richard Livesey - - Ryan Seddon - - Sahat Yalkabov - - Sander Spies - - Sean Kinsey - - Sebastian Markbåge - - Shaun Trennery - - Simon Højberg - - Stefan Dombrowski - - Stephen Murphy - - Stoyan Stefanov - - Sundeep Malladi - - Sven Helmberger - - Thomas Aylott - - Thomas Boyt - - Thomas Shaddox - - Thomas Shafer - - Timothy Yung - - Tom Haggie - - Tom Occhino - - Ville Immonen - - Vjeux - - Volkan Unsal - - Wayne Larsen - - Wincent Colaiuta - - Yuriy Dybskiy - - Yuval Dekel - - Zach Bruggeman - - davidxi - - imagentleman diff --git a/docs/_data/nav_docs.yml b/docs/_data/nav_docs.yml deleted file mode 100644 index 7eb71491c8d48..0000000000000 --- a/docs/_data/nav_docs.yml +++ /dev/null @@ -1,85 +0,0 @@ -- title: Quick Start - items: - - id: getting-started - title: Getting Started - - id: tutorial - title: Tutorial - - id: thinking-in-react - title: Thinking in React -- title: Community Resources - items: - - id: videos - title: Videos - - id: complementary-tools - title: Complementary Tools - - id: examples - title: Examples -- title: Guides - items: - - id: why-react - title: Why React? - - id: displaying-data - title: Displaying Data - subitems: - - id: jsx-in-depth - title: JSX in Depth - - id: jsx-gotchas - title: JSX Gotchas - - id: interactivity-and-dynamic-uis - title: Interactivity and Dynamic UIs - - id: multiple-components - title: Multiple Components - - id: reusable-components - title: Reusable Components - - id: forms - title: Forms - - id: working-with-the-browser - title: Working With the Browser - subitems: - - id: more-about-refs - title: More About Refs - - id: tooling-integration - title: Tooling Integration - - id: addons - title: Add-Ons - subitems: - - id: animation - title: Animation - - id: two-way-binding-helpers - title: Two-Way Binding Helpers - - id: class-name-manipulation - title: Class Name Manipulation - - id: test-utils - title: Test Utilities - - id: clone-with-props - title: Cloning Components - - id: update - title: Immutability Helpers - - id: pure-render-mixin - title: PureRenderMixin - - id: perf - title: Performance Tools -- title: Reference - items: - - id: top-level-api - title: Top-Level API - - id: component-api - title: Component API - - id: component-specs - title: Component Specs and Lifecycle - - id: tags-and-attributes - title: Supported Tags and Attributes - - id: events - title: Event System - - id: dom-differences - title: DOM Differences - - id: special-non-dom-attributes - title: Special Non-DOM Attributes - - id: reconciliation - title: Reconciliation -- title: Flux - items: - - id: flux-overview - title: Flux Overview - - id: flux-todo-list - title: Flux TodoMVC Tutorial diff --git a/docs/_data/nav_tips.yml b/docs/_data/nav_tips.yml deleted file mode 100644 index 8299f6ea3996d..0000000000000 --- a/docs/_data/nav_tips.yml +++ /dev/null @@ -1,36 +0,0 @@ -- title: Tips - items: - - id: introduction - title: Introduction - - id: inline-styles - title: Inline Styles - - id: if-else-in-JSX - title: If-Else in JSX - - id: self-closing-tag - title: Self-Closing Tag - - id: maximum-number-of-jsx-root-nodes - title: Maximum Number of JSX Root Nodes - - id: style-props-value-px - title: Shorthand for Specifying Pixel Values in style props - - id: children-props-type - title: Type of the Children props - - id: controlled-input-null-value - title: Value of null for Controlled Input - - id: componentWillReceiveProps-not-triggered-after-mounting - title: componentWillReceiveProps Not Triggered After Mounting - - id: props-in-getInitialState-as-anti-pattern - title: Props in getInitialState Is an Anti-Pattern - - id: dom-event-listeners - title: DOM Event Listeners in a Component - - id: initial-ajax - title: Load Initial Data via AJAX - - id: false-in-jsx - title: False in JSX - - id: communicate-between-components - title: Communicate Between Components - - id: expose-component-functions - title: Expose Component Functions - - id: references-to-components - title: References to Components - - id: children-undefined - title: this.props.children undefined diff --git a/docs/_includes/blog_post.html b/docs/_includes/blog_post.html deleted file mode 100644 index 4fb6231c9911a..0000000000000 --- a/docs/_includes/blog_post.html +++ /dev/null @@ -1,10 +0,0 @@ -

{{ page.title }}

-

{{ page.date | date_to_string }} by {{ page.author }}

- -
-{% if content != '' %} - {{ page.excerpt }} -{% else %} - {{ page.content }} -{% endif %} -
diff --git a/docs/_includes/nav_blog.html b/docs/_includes/nav_blog.html deleted file mode 100644 index 75ff77e50ebdf..0000000000000 --- a/docs/_includes/nav_blog.html +++ /dev/null @@ -1,11 +0,0 @@ - diff --git a/docs/_includes/nav_docs.html b/docs/_includes/nav_docs.html deleted file mode 100644 index a66b822bcea7c..0000000000000 --- a/docs/_includes/nav_docs.html +++ /dev/null @@ -1,42 +0,0 @@ - diff --git a/docs/_js/es5-sham.min.js b/docs/_js/es5-sham.min.js deleted file mode 100644 index 033c27a3fd8e1..0000000000000 --- a/docs/_js/es5-sham.min.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(definition){if(typeof define=="function"){define(definition)}else if(typeof YUI=="function"){YUI.add("es5-sham",definition)}else{definition()}})(function(){var call=Function.prototype.call;var prototypeOfObject=Object.prototype;var owns=call.bind(prototypeOfObject.hasOwnProperty);var defineGetter;var defineSetter;var lookupGetter;var lookupSetter;var supportsAccessors;if(supportsAccessors=owns(prototypeOfObject,"__defineGetter__")){defineGetter=call.bind(prototypeOfObject.__defineGetter__);defineSetter=call.bind(prototypeOfObject.__defineSetter__);lookupGetter=call.bind(prototypeOfObject.__lookupGetter__);lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)}if(!Object.getPrototypeOf){Object.getPrototypeOf=function getPrototypeOf(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}}function doesGetOwnPropertyDescriptorWork(object){try{object.sentinel=0;return Object.getOwnPropertyDescriptor(object,"sentinel").value===0}catch(exception){}}if(Object.defineProperty){var getOwnPropertyDescriptorWorksOnObject=doesGetOwnPropertyDescriptorWork({});var getOwnPropertyDescriptorWorksOnDom=typeof document=="undefined"||doesGetOwnPropertyDescriptorWork(document.createElement("div"));if(!getOwnPropertyDescriptorWorksOnDom||!getOwnPropertyDescriptorWorksOnObject){var getOwnPropertyDescriptorFallback=Object.getOwnPropertyDescriptor}}if(!Object.getOwnPropertyDescriptor||getOwnPropertyDescriptorFallback){var ERR_NON_OBJECT="Object.getOwnPropertyDescriptor called on a non-object: ";Object.getOwnPropertyDescriptor=function getOwnPropertyDescriptor(object,property){if(typeof object!="object"&&typeof object!="function"||object===null){throw new TypeError(ERR_NON_OBJECT+object)}if(getOwnPropertyDescriptorFallback){try{return getOwnPropertyDescriptorFallback.call(Object,object,property)}catch(exception){}}if(!owns(object,property)){return}var descriptor={enumerable:true,configurable:true};if(supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property);var setter=lookupSetter(object,property);object.__proto__=prototype;if(getter||setter){if(getter){descriptor.get=getter}if(setter){descriptor.set=setter}return descriptor}}descriptor.value=object[property];descriptor.writable=true;return descriptor}}if(!Object.getOwnPropertyNames){Object.getOwnPropertyNames=function getOwnPropertyNames(object){return Object.keys(object)}}if(!Object.create){var createEmpty;var supportsProto=Object.prototype.__proto__===null;if(supportsProto||typeof document=="undefined"){createEmpty=function(){return{__proto__:null}}}else{createEmpty=function(){var iframe=document.createElement("iframe");var parent=document.body||document.documentElement;iframe.style.display="none";parent.appendChild(iframe);iframe.src="javascript:";var empty=iframe.contentWindow.Object.prototype;parent.removeChild(iframe);iframe=null;delete empty.constructor;delete empty.hasOwnProperty;delete empty.propertyIsEnumerable;delete empty.isPrototypeOf;delete empty.toLocaleString;delete empty.toString;delete empty.valueOf;empty.__proto__=null;function Empty(){}Empty.prototype=empty;createEmpty=function(){return new Empty};return new Empty}}Object.create=function create(prototype,properties){var object;function Type(){}if(prototype===null){object=createEmpty()}else{if(typeof prototype!=="object"&&typeof prototype!=="function"){throw new TypeError("Object prototype may only be an Object or null")}Type.prototype=prototype;object=new Type;object.__proto__=prototype}if(properties!==void 0){Object.defineProperties(object,properties)}return object}}function doesDefinePropertyWork(object){try{Object.defineProperty(object,"sentinel",{});return"sentinel"in object}catch(exception){}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({});var definePropertyWorksOnDom=typeof document=="undefined"||doesDefinePropertyWork(document.createElement("div"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom){var definePropertyFallback=Object.defineProperty,definePropertiesFallback=Object.defineProperties}}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR="Property description must be an object: ";var ERR_NON_OBJECT_TARGET="Object.defineProperty called on non-object: ";var ERR_ACCESSORS_NOT_SUPPORTED="getters & setters can not be defined "+"on this javascript engine";Object.defineProperty=function defineProperty(object,property,descriptor){if(typeof object!="object"&&typeof object!="function"||object===null){throw new TypeError(ERR_NON_OBJECT_TARGET+object)}if(typeof descriptor!="object"&&typeof descriptor!="function"||descriptor===null){throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor)}if(definePropertyFallback){try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}}if(owns(descriptor,"value")){if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject;delete object[property];object[property]=descriptor.value;object.__proto__=prototype}else{object[property]=descriptor.value}}else{if(!supportsAccessors){throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED)}if(owns(descriptor,"get")){defineGetter(object,property,descriptor.get)}if(owns(descriptor,"set")){defineSetter(object,property,descriptor.set)}}return object}}if(!Object.defineProperties||definePropertiesFallback){Object.defineProperties=function defineProperties(object,properties){if(definePropertiesFallback){try{return definePropertiesFallback.call(Object,object,properties)}catch(exception){}}for(var property in properties){if(owns(properties,property)&&property!="__proto__"){Object.defineProperty(object,property,properties[property])}}return object}}if(!Object.seal){Object.seal=function seal(object){return object}}if(!Object.freeze){Object.freeze=function freeze(object){return object}}try{Object.freeze(function(){})}catch(exception){Object.freeze=function freeze(freezeObject){return function freeze(object){if(typeof object=="function"){return object}else{return freezeObject(object)}}}(Object.freeze)}if(!Object.preventExtensions){Object.preventExtensions=function preventExtensions(object){return object}}if(!Object.isSealed){Object.isSealed=function isSealed(object){return false}}if(!Object.isFrozen){Object.isFrozen=function isFrozen(object){return false}}if(!Object.isExtensible){Object.isExtensible=function isExtensible(object){if(Object(object)!==object){throw new TypeError}var name="";while(owns(object,name)){name+="?"}object[name]=true;var returnValue=owns(object,name);delete object[name];return returnValue}}}); -//# sourceMappingURL=es5-sham.map \ No newline at end of file diff --git a/docs/_js/es5-shim.min.js b/docs/_js/es5-shim.min.js deleted file mode 100644 index 50502e0548bde..0000000000000 --- a/docs/_js/es5-shim.min.js +++ /dev/null @@ -1,2 +0,0 @@ -(function(definition){if(typeof define=="function"){define(definition)}else if(typeof YUI=="function"){YUI.add("es5",definition)}else{definition()}})(function(){if(parseInt("08")!==8){parseInt=function(origParseInt){var hexRegex=/^0[xX]/;return function parseIntES5(str,radix){str=String(str).trim();if(!+radix){radix=hexRegex.test(str)?16:10}return origParseInt(str,radix)}}(parseInt)}function Empty(){}if(!Function.prototype.bind){Function.prototype.bind=function bind(that){var target=this;if(typeof target!="function"){throw new TypeError("Function.prototype.bind called on incompatible "+target)}var args=_Array_slice_.call(arguments,1);var binder=function(){if(this instanceof bound){var result=target.apply(this,args.concat(_Array_slice_.call(arguments)));if(Object(result)===result){return result}return this}else{return target.apply(that,args.concat(_Array_slice_.call(arguments)))}};var boundLength=Math.max(0,target.length-args.length);var boundArgs=[];for(var i=0;i0){if(deleteCount<=0){if(start==this.length){array_push.apply(this,args);return[]}if(start==0){array_unshift.apply(this,args);return[]}}result=_Array_slice_.call(this,start,start+deleteCount);args.push.apply(args,_Array_slice_.call(this,start+deleteCount,this.length));args.unshift.apply(args,_Array_slice_.call(this,0,start));args.unshift(0,this.length);array_splice.apply(this,args);return result}return array_splice.call(this,start,deleteCount)}}}if([].unshift(0)!=1){var array_unshift=Array.prototype.unshift;Array.prototype.unshift=function(){array_unshift.apply(this,arguments);return this.length}}if(!Array.isArray){Array.isArray=function isArray(obj){return _toString(obj)=="[object Array]"}}var boxedString=Object("a"),splitString=boxedString[0]!="a"||!(0 in boxedString);var boxedForEach=true;if(Array.prototype.forEach){Array.prototype.forEach.call("foo",function(item,i,obj){if(typeof obj!=="object")boxedForEach=false})}if(!Array.prototype.forEach||!boxedForEach){Array.prototype.forEach=function forEach(fun){var object=toObject(this),self=splitString&&_toString(this)=="[object String]"?this.split(""):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(_toString(fun)!="[object Function]"){throw new TypeError}while(++i>>0,result=Array(length),thisp=arguments[1];if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}for(var i=0;i>>0,result=[],value,thisp=arguments[1];if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}for(var i=0;i>>0,thisp=arguments[1];if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}for(var i=0;i>>0,thisp=arguments[1];if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}for(var i=0;i>>0;if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}if(!length&&arguments.length==1){throw new TypeError("reduce of empty array with no initial value")}var i=0;var result;if(arguments.length>=2){result=arguments[1]}else{do{if(i in self){result=self[i++];break}if(++i>=length){throw new TypeError("reduce of empty array with no initial value")}}while(true)}for(;i>>0;if(_toString(fun)!="[object Function]"){throw new TypeError(fun+" is not a function")}if(!length&&arguments.length==1){throw new TypeError("reduceRight of empty array with no initial value")}var result,i=length-1;if(arguments.length>=2){result=arguments[1]}else{do{if(i in self){result=self[i--];break}if(--i<0){throw new TypeError("reduceRight of empty array with no initial value")}}while(true)}if(i<0){return result}do{if(i in this){result=fun.call(void 0,result,self[i],i,object)}}while(i--);return result}}if(!Array.prototype.indexOf||[0,1].indexOf(1,2)!=-1){Array.prototype.indexOf=function indexOf(sought){var self=splitString&&_toString(this)=="[object String]"?this.split(""):toObject(this),length=self.length>>>0;if(!length){return-1}var i=0;if(arguments.length>1){i=toInteger(arguments[1])}i=i>=0?i:Math.max(0,length+i);for(;i>>0;if(!length){return-1}var i=length-1;if(arguments.length>1){i=Math.min(i,toInteger(arguments[1]))}i=i>=0?i:length-Math.abs(i);for(;i>=0;i--){if(i in self&&sought===self[i]){return i}}return-1}}if(!Object.keys){var hasDontEnumBug=true,dontEnums=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],dontEnumsLength=dontEnums.length;for(var key in{toString:null}){hasDontEnumBug=false}Object.keys=function keys(object){if(typeof object!="object"&&typeof object!="function"||object===null){throw new TypeError("Object.keys called on a non-object")}var keys=[];for(var name in object){if(owns(object,name)){keys.push(name)}}if(hasDontEnumBug){for(var i=0,ii=dontEnumsLength;i9999?"+":"")+("00000"+Math.abs(year)).slice(0<=year&&year<=9999?-4:-6);length=result.length;while(length--){value=result[length];if(value<10){result[length]="0"+value}}return year+"-"+result.slice(0,2).join("-")+"T"+result.slice(2).join(":")+"."+("000"+this.getUTCMilliseconds()).slice(-3)+"Z"}}var dateToJSONIsSupported=false;try{dateToJSONIsSupported=Date.prototype.toJSON&&new Date(NaN).toJSON()===null&&new Date(negativeDate).toJSON().indexOf(negativeYearString)!==-1&&Date.prototype.toJSON.call({toISOString:function(){return true}})}catch(e){}if(!dateToJSONIsSupported){Date.prototype.toJSON=function toJSON(key){var o=Object(this),tv=toPrimitive(o),toISO;if(typeof tv==="number"&&!isFinite(tv)){return null}toISO=o.toISOString;if(typeof toISO!="function"){throw new TypeError("toISOString property is not callable")}return toISO.call(o)}}if(!Date.parse||"Date.parse is buggy"){Date=function(NativeDate){function Date(Y,M,D,h,m,s,ms){var length=arguments.length;if(this instanceof NativeDate){var date=length==1&&String(Y)===Y?new NativeDate(Date.parse(Y)):length>=7?new NativeDate(Y,M,D,h,m,s,ms):length>=6?new NativeDate(Y,M,D,h,m,s):length>=5?new NativeDate(Y,M,D,h,m):length>=4?new NativeDate(Y,M,D,h):length>=3?new NativeDate(Y,M,D):length>=2?new NativeDate(Y,M):length>=1?new NativeDate(Y):new NativeDate;date.constructor=Date;return date}return NativeDate.apply(this,arguments)}var isoDateExpression=new RegExp("^"+"(\\d{4}|[+-]\\d{6})"+"(?:-(\\d{2})"+"(?:-(\\d{2})"+"(?:"+"T(\\d{2})"+":(\\d{2})"+"(?:"+":(\\d{2})"+"(?:(\\.\\d{1,}))?"+")?"+"("+"Z|"+"(?:"+"([-+])"+"(\\d{2})"+":(\\d{2})"+")"+")?)?)?)?"+"$");var months=[0,31,59,90,120,151,181,212,243,273,304,334,365];function dayFromMonth(year,month){var t=month>1?1:0;return months[month]+Math.floor((year-1969+t)/4)-Math.floor((year-1901+t)/100)+Math.floor((year-1601+t)/400)+365*(year-1970)}function toUTC(t){return Number(new NativeDate(1970,0,1,0,0,0,t))}for(var key in NativeDate){Date[key]=NativeDate[key]}Date.now=NativeDate.now;Date.UTC=NativeDate.UTC;Date.prototype=NativeDate.prototype;Date.prototype.constructor=Date;Date.parse=function parse(string){var match=isoDateExpression.exec(string);if(match){var year=Number(match[1]),month=Number(match[2]||1)-1,day=Number(match[3]||1)-1,hour=Number(match[4]||0),minute=Number(match[5]||0),second=Number(match[6]||0),millisecond=Math.floor(Number(match[7]||0)*1e3),isLocalTime=Boolean(match[4]&&!match[8]),signOffset=match[9]==="-"?1:-1,hourOffset=Number(match[10]||0),minuteOffset=Number(match[11]||0),result;if(hour<(minute>0||second>0||millisecond>0?24:25)&&minute<60&&second<60&&millisecond<1e3&&month>-1&&month<12&&hourOffset<24&&minuteOffset<60&&day>-1&&day=0){c+=data[i];data[i]=Math.floor(c/n);c=c%n*base}}function toString(){var i=size;var s="";while(--i>=0){if(s!==""||i===0||data[i]!==0){var t=String(data[i]);if(s===""){s=t}else{s+="0000000".slice(0,7-t.length)+t}}}return s}function pow(x,n,acc){return n===0?acc:n%2===1?pow(x,n-1,acc*x):pow(x*x,n/2,acc)}function log(x){var n=0;while(x>=4096){n+=12;x/=4096}while(x>=2){n+=1;x/=2}return n}Number.prototype.toFixed=function(fractionDigits){var f,x,s,m,e,z,j,k;f=Number(fractionDigits);f=f!==f?0:Math.floor(f);if(f<0||f>20){throw new RangeError("Number.toFixed called with invalid number of decimals")}x=Number(this);if(x!==x){return"NaN"}if(x<=-1e21||x>=1e21){return String(x)}s="";if(x<0){s="-";x=-x}m="0";if(x>1e-21){e=log(x*pow(2,69,1))-69;z=e<0?x*pow(2,-e,1):x/pow(2,e,1);z*=4503599627370496;e=52-e;if(e>0){multiply(0,z);j=f;while(j>=7){multiply(1e7,0);j-=7}multiply(pow(10,j,1),0);j=e-1;while(j>=23){divide(1<<23);j-=23}divide(1<0){k=m.length;if(k<=f){m=s+"0.0000000000000000000".slice(0,f-k+2)+m}else{m=s+m.slice(0,k-f)+"."+m.slice(k-f)}}else{m=s+m}return m}})()}var string_split=String.prototype.split;if("ab".split(/(?:ab)*/).length!==2||".".split(/(.?)(.?)/).length!==4||"tesst".split(/(s)*/)[1]==="t"||"".split(/.?/).length||".".split(/()()/).length>1){(function(){var compliantExecNpcg=/()??/.exec("")[1]===void 0;String.prototype.split=function(separator,limit){var string=this;if(separator===void 0&&limit===0)return[];if(Object.prototype.toString.call(separator)!=="[object RegExp]"){return string_split.apply(this,arguments)}var output=[],flags=(separator.ignoreCase?"i":"")+(separator.multiline?"m":"")+(separator.extended?"x":"")+(separator.sticky?"y":""),lastLastIndex=0,separator=new RegExp(separator.source,flags+"g"),separator2,match,lastIndex,lastLength;string+="";if(!compliantExecNpcg){separator2=new RegExp("^"+separator.source+"$(?!\\s)",flags)}limit=limit===void 0?-1>>>0:limit>>>0;while(match=separator.exec(string)){lastIndex=match.index+match[0].length;if(lastIndex>lastLastIndex){output.push(string.slice(lastLastIndex,match.index));if(!compliantExecNpcg&&match.length>1){match[0].replace(separator2,function(){for(var i=1;i1&&match.index=limit){break}}if(separator.lastIndex===match.index){separator.lastIndex++}}if(lastLastIndex===string.length){if(lastLength||!separator.test("")){output.push("")}}else{output.push(string.slice(lastLastIndex))}return output.length>limit?output.slice(0,limit):output}})()}else if("0".split(void 0,0).length){String.prototype.split=function(separator,limit){if(separator===void 0&&limit===0)return[];return string_split.apply(this,arguments)}}if("".substr&&"0b".substr(-1)!=="b"){var string_substr=String.prototype.substr;String.prototype.substr=function(start,length){return string_substr.call(this,start<0?(start=this.length+start)<0?0:start:start,length)}}var ws=" \n \f\r \xa0\u1680\u180e\u2000\u2001\u2002\u2003"+"\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\u2028"+"\u2029\ufeff";if(!String.prototype.trim||ws.trim()){ws="["+ws+"]";var trimBeginRegexp=new RegExp("^"+ws+ws+"*"),trimEndRegexp=new RegExp(ws+ws+"*$");String.prototype.trim=function trim(){if(this===void 0||this===null){throw new TypeError("can't convert "+this+" to object")}return String(this).replace(trimBeginRegexp,"").replace(trimEndRegexp,"")}}function toInteger(n){n=+n;if(n!==n){n=0}else if(n!==0&&n!==1/0&&n!==-(1/0)){n=(n>0||-1)*Math.floor(Math.abs(n))}return n}function isPrimitive(input){var type=typeof input;return input===null||type==="undefined"||type==="boolean"||type==="number"||type==="string"}function toPrimitive(input){var val,valueOf,toString;if(isPrimitive(input)){return input}valueOf=input.valueOf;if(typeof valueOf==="function"){val=valueOf.call(input);if(isPrimitive(val)){return val}}toString=input.toString;if(typeof toString==="function"){val=toString.call(input);if(isPrimitive(val)){return val}}throw new TypeError}var toObject=function(o){if(o==null){throw new TypeError("can't convert "+o+" to object")}return Object(o)}}); -//# sourceMappingURL=es5-shim.map \ No newline at end of file diff --git a/docs/_js/examples/hello.js b/docs/_js/examples/hello.js deleted file mode 100644 index 040a04ac45ce9..0000000000000 --- a/docs/_js/examples/hello.js +++ /dev/null @@ -1,19 +0,0 @@ -/** - * @jsx React.DOM - */ - -var HELLO_COMPONENT = "\ -/** @jsx React.DOM */\n\ -var HelloMessage = React.createClass({\n\ - render: function() {\n\ - return
Hello {this.props.name}
;\n\ - }\n\ -});\n\ -\n\ -React.renderComponent(, mountNode);\ -"; - -React.renderComponent( - , - document.getElementById('helloExample') -); diff --git a/docs/_js/examples/markdown.js b/docs/_js/examples/markdown.js deleted file mode 100644 index 7ea69a61477a1..0000000000000 --- a/docs/_js/examples/markdown.js +++ /dev/null @@ -1,43 +0,0 @@ -/** - * @jsx React.DOM - */ - -var MARKDOWN_COMPONENT = "\ -/** @jsx React.DOM */\n\ -\n\ -var converter = new Showdown.converter();\n\ -\n\ -var MarkdownEditor = React.createClass({\n\ - getInitialState: function() {\n\ - return {value: 'Type some *markdown* here!'};\n\ - },\n\ - handleChange: function() {\n\ - this.setState({value: this.refs.textarea.getDOMNode().value});\n\ - },\n\ - render: function() {\n\ - return (\n\ -
\n\ -

Input

\n\ - \n\ -

Output

\n\ - \n\ -
\n\ - );\n\ - }\n\ -});\n\ -\n\ -React.renderComponent(, mountNode);\ -"; - -React.renderComponent( - , - document.getElementById('markdownExample') -); diff --git a/docs/_js/examples/timer.js b/docs/_js/examples/timer.js deleted file mode 100644 index 00e60f9591216..0000000000000 --- a/docs/_js/examples/timer.js +++ /dev/null @@ -1,33 +0,0 @@ -/** - * @jsx React.DOM - */ - -var TIMER_COMPONENT = "\ -/** @jsx React.DOM */\n\ -var Timer = React.createClass({\n\ - getInitialState: function() {\n\ - return {secondsElapsed: 0};\n\ - },\n\ - tick: function() {\n\ - this.setState({secondsElapsed: this.state.secondsElapsed + 1});\n\ - },\n\ - componentDidMount: function() {\n\ - this.interval = setInterval(this.tick, 1000);\n\ - },\n\ - componentWillUnmount: function() {\n\ - clearInterval(this.interval);\n\ - },\n\ - render: function() {\n\ - return (\n\ -
Seconds Elapsed: {this.state.secondsElapsed}
\n\ - );\n\ - }\n\ -});\n\ -\n\ -React.renderComponent(, mountNode);\ -"; - -React.renderComponent( - , - document.getElementById('timerExample') -); diff --git a/docs/_js/examples/todo.js b/docs/_js/examples/todo.js deleted file mode 100644 index ebc08d5f50aa0..0000000000000 --- a/docs/_js/examples/todo.js +++ /dev/null @@ -1,47 +0,0 @@ -/** - * @jsx React.DOM - */ - -var TODO_COMPONENT = "\ -/** @jsx React.DOM */\n\ -var TodoList = React.createClass({\n\ - render: function() {\n\ - var createItem = function(itemText) {\n\ - return
  • {itemText}
  • ;\n\ - };\n\ - return
      {this.props.items.map(createItem)}
    ;\n\ - }\n\ -});\n\ -var TodoApp = React.createClass({\n\ - getInitialState: function() {\n\ - return {items: [], text: ''};\n\ - },\n\ - onChange: function(e) {\n\ - this.setState({text: e.target.value});\n\ - },\n\ - handleSubmit: function(e) {\n\ - e.preventDefault();\n\ - var nextItems = this.state.items.concat([this.state.text]);\n\ - var nextText = '';\n\ - this.setState({items: nextItems, text: nextText});\n\ - },\n\ - render: function() {\n\ - return (\n\ -
    \n\ -

    TODO

    \n\ - \n\ -
    \n\ - \n\ - \n\ -
    \n\ -
    \n\ - );\n\ - }\n\ -});\n\ -React.renderComponent(, mountNode);\ -"; - -React.renderComponent( - , - document.getElementById('todoExample') -); diff --git a/docs/_js/html-jsx-lib.js b/docs/_js/html-jsx-lib.js deleted file mode 100644 index 02b36bcf1f83f..0000000000000 --- a/docs/_js/html-jsx-lib.js +++ /dev/null @@ -1,482 +0,0 @@ -/** - * Copyright 2013-2014 Facebook, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * This is a very simple HTML to JSX converter. It turns out that browsers - * have good HTML parsers (who would have thought?) so we utilise this by - * inserting the HTML into a temporary DOM node, and then do a breadth-first - * traversal of the resulting DOM tree. - */ -;(function(global) { - 'use strict'; - - // https://developer.mozilla.org/en-US/docs/Web/API/Node.nodeType - var NODE_TYPE = { - ELEMENT: 1, - TEXT: 3, - COMMENT: 8 - }; - var ATTRIBUTE_MAPPING = { - 'for': 'htmlFor', - 'class': 'className' - }; - - /** - * Repeats a string a certain number of times. - * Also: the future is bright and consists of native string repetition: - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat - * - * @param {string} string String to repeat - * @param {number} times Number of times to repeat string. Integer. - * @see http://jsperf.com/string-repeater/2 - */ - function repeatString(string, times) { - if (times === 1) { - return string; - } - if (times < 0) { throw new Error(); } - var repeated = ''; - while (times) { - if (times & 1) { - repeated += string; - } - if (times >>= 1) { - string += string; - } - } - return repeated; - } - - /** - * Determine if the string ends with the specified substring. - * - * @param {string} haystack String to search in - * @param {string} needle String to search for - * @return {boolean} - */ - function endsWith(haystack, needle) { - return haystack.slice(-needle.length) === needle; - } - - /** - * Trim the specified substring off the string. If the string does not end - * with the specified substring, this is a no-op. - * - * @param {string} haystack String to search in - * @param {string} needle String to search for - * @return {string} - */ - function trimEnd(haystack, needle) { - return endsWith(haystack, needle) - ? haystack.slice(0, -needle.length) - : haystack; - } - - /** - * Convert a hyphenated string to camelCase. - */ - function hyphenToCamelCase(string) { - return string.replace(/-(.)/g, function(match, chr) { - return chr.toUpperCase(); - }); - } - - /** - * Determines if the specified string consists entirely of whitespace. - */ - function isEmpty(string) { - return !/[^\s]/.test(string); - } - - /** - * Determines if the specified string consists entirely of numeric characters. - */ - function isNumeric(input) { - return input !== undefined - && input !== null - && (typeof input === 'number' || parseInt(input, 10) == input); - } - - var HTMLtoJSX = function(config) { - this.config = config || {}; - - if (this.config.createClass === undefined) { - this.config.createClass = true; - } - if (!this.config.indent) { - this.config.indent = ' '; - } - if (!this.config.outputClassName) { - this.config.outputClassName = 'NewComponent'; - } - }; - HTMLtoJSX.prototype = { - /** - * Reset the internal state of the converter - */ - reset: function() { - this.output = ''; - this.level = 0; - }, - /** - * Main entry point to the converter. Given the specified HTML, returns a - * JSX object representing it. - * @param {string} html HTML to convert - * @return {string} JSX - */ - convert: function(html) { - this.reset(); - - // It turns out browsers have good HTML parsers (imagine that). - // Let's take advantage of it. - var containerEl = document.createElement('div'); - containerEl.innerHTML = '\n' + this._cleanInput(html) + '\n'; - - if (this.config.createClass) { - if (this.config.outputClassName) { - this.output = 'var ' + this.config.outputClassName + ' = React.createClass({\n'; - } else { - this.output = 'React.createClass({\n'; - } - this.output += this.config.indent + 'render: function() {' + "\n"; - this.output += this.config.indent + this.config.indent + 'return (\n'; - } - - if (this._onlyOneTopLevel(containerEl)) { - // Only one top-level element, the component can return it directly - // No need to actually visit the container element - this._traverse(containerEl); - } else { - // More than one top-level element, need to wrap the whole thing in a - // container. - this.output += this.config.indent + this.config.indent + this.config.indent; - this.level++; - this._visit(containerEl); - } - this.output = this.output.trim() + '\n'; - if (this.config.createClass) { - this.output += this.config.indent + this.config.indent + ');\n'; - this.output += this.config.indent + '}\n'; - this.output += '});'; - } - return this.output; - }, - - /** - * Cleans up the specified HTML so it's in a format acceptable for - * converting. - * - * @param {string} html HTML to clean - * @return {string} Cleaned HTML - */ - _cleanInput: function(html) { - // Remove unnecessary whitespace - html = html.trim(); - // Ugly method to strip script tags. They can wreak havoc on the DOM nodes - // so let's not even put them in the DOM. - html = html.replace(//g, ''); - return html; - }, - - /** - * Determines if there's only one top-level node in the DOM tree. That is, - * all the HTML is wrapped by a single HTML tag. - * - * @param {DOMElement} containerEl Container element - * @return {boolean} - */ - _onlyOneTopLevel: function(containerEl) { - // Only a single child element - if ( - containerEl.childNodes.length === 1 - && containerEl.childNodes[0].nodeType === NODE_TYPE.ELEMENT - ) { - return true; - } - // Only one element, and all other children are whitespace - var foundElement = false; - for (var i = 0, count = containerEl.childNodes.length; i < count; i++) { - var child = containerEl.childNodes[i]; - if (child.nodeType === NODE_TYPE.ELEMENT) { - if (foundElement) { - // Encountered an element after already encountering another one - // Therefore, more than one element at root level - return false; - } else { - foundElement = true; - } - } else if (child.nodeType === NODE_TYPE.TEXT && !isEmpty(child.textContent)) { - // Contains text content - return false; - } - } - return true; - }, - - /** - * Gets a newline followed by the correct indentation for the current - * nesting level - * - * @return {string} - */ - _getIndentedNewline: function() { - return '\n' + repeatString(this.config.indent, this.level + 2); - }, - - /** - * Handles processing the specified node - * - * @param {Node} node - */ - _visit: function(node) { - this._beginVisit(node); - this._traverse(node); - this._endVisit(node); - }, - - /** - * Traverses all the children of the specified node - * - * @param {Node} node - */ - _traverse: function(node) { - this.level++; - for (var i = 0, count = node.childNodes.length; i < count; i++) { - this._visit(node.childNodes[i]); - } - this.level--; - }, - - /** - * Handle pre-visit behaviour for the specified node. - * - * @param {Node} node - */ - _beginVisit: function(node) { - switch (node.nodeType) { - case NODE_TYPE.ELEMENT: - this._beginVisitElement(node); - break; - - case NODE_TYPE.TEXT: - this._visitText(node); - break; - - case NODE_TYPE.COMMENT: - this._visitComment(node); - break; - - default: - console.warn('Unrecognised node type: ' + node.nodeType); - } - }, - - /** - * Handles post-visit behaviour for the specified node. - * - * @param {Node} node - */ - _endVisit: function(node) { - switch (node.nodeType) { - case NODE_TYPE.ELEMENT: - this._endVisitElement(node); - break; - // No ending tags required for these types - case NODE_TYPE.TEXT: - case NODE_TYPE.COMMENT: - break; - } - }, - - /** - * Handles pre-visit behaviour for the specified element node - * - * @param {DOMElement} node - */ - _beginVisitElement: function(node) { - var tagName = node.tagName.toLowerCase(); - var attributes = []; - for (var i = 0, count = node.attributes.length; i < count; i++) { - attributes.push(this._getElementAttribute(node, node.attributes[i])); - } - - this.output += '<' + tagName; - if (attributes.length > 0) { - this.output += ' ' + attributes.join(' '); - } - if (node.firstChild) { - this.output += '>'; - } - }, - - /** - * Handles post-visit behaviour for the specified element node - * - * @param {Node} node - */ - _endVisitElement: function(node) { - // De-indent a bit - // TODO: It's inefficient to do it this way :/ - this.output = trimEnd(this.output, this.config.indent); - if (node.firstChild) { - this.output += ''; - } else { - this.output += ' />'; - } - }, - - /** - * Handles processing of the specified text node - * - * @param {TextNode} node - */ - _visitText: function(node) { - var text = node.textContent; - // If there's a newline in the text, adjust the indent level - if (text.indexOf('\n') > -1) { - text = node.textContent.replace(/\n\s*/g, this._getIndentedNewline()); - } - this.output += text; - }, - - /** - * Handles processing of the specified text node - * - * @param {Text} node - */ - _visitComment: function(node) { - // Do not render the comment - // Since we remove comments, we also need to remove the next line break so we - // don't end up with extra whitespace after every comment - //if (node.nextSibling && node.nextSibling.nodeType === NODE_TYPE.TEXT) { - // node.nextSibling.textContent = node.nextSibling.textContent.replace(/\n\s*/, ''); - //} - this.output += '{/*' + node.textContent.replace('*/', '* /') + '*/}'; - }, - - /** - * Gets a JSX formatted version of the specified attribute from the node - * - * @param {DOMElement} node - * @param {object} attribute - * @return {string} - */ - _getElementAttribute: function(node, attribute) { - switch (attribute.name) { - case 'style': - return this._getStyleAttribute(attribute.value); - default: - var name = ATTRIBUTE_MAPPING[attribute.name] || attribute.name; - var result = name + '='; - // Numeric values should be output as {123} not "123" - if (isNumeric(attribute.value)) { - result += '{' + attribute.value + '}'; - } else { - result += '"' + attribute.value.replace('"', '"') + '"'; - } - return result; - } - }, - - /** - * Gets a JSX formatted version of the specified element styles - * - * @param {string} styles - * @return {string} - */ - _getStyleAttribute: function(styles) { - var jsxStyles = new StyleParser(styles).toJSXString(); - return 'style={{' + jsxStyles + '}}'; - } - }; - - /** - * Handles parsing of inline styles - * - * @param {string} rawStyle Raw style attribute - * @constructor - */ - var StyleParser = function(rawStyle) { - this.parse(rawStyle); - }; - StyleParser.prototype = { - /** - * Parse the specified inline style attribute value - * @param {string} rawStyle Raw style attribute - */ - parse: function(rawStyle) { - this.styles = {}; - rawStyle.split(';').forEach(function(style) { - style = style.trim(); - var firstColon = style.indexOf(':'); - var key = style.substr(0, firstColon); - var value = style.substr(firstColon + 1).trim(); - if (key !== '') { - this.styles[key] = value; - } - }, this); - }, - - /** - * Convert the style information represented by this parser into a JSX - * string - * - * @return {string} - */ - toJSXString: function() { - var output = []; - for (var key in this.styles) { - if (!this.styles.hasOwnProperty(key)) { - continue; - } - output.push(this.toJSXKey(key) + ': ' + this.toJSXValue(this.styles[key])); - } - return output.join(', '); - }, - - /** - * Convert the CSS style key to a JSX style key - * - * @param {string} key CSS style key - * @return {string} JSX style key - */ - toJSXKey: function(key) { - return hyphenToCamelCase(key); - }, - - /** - * Convert the CSS style value to a JSX style value - * - * @param {string} value CSS style value - * @return {string} JSX style value - */ - toJSXValue: function(value) { - if (isNumeric(value)) { - // If numeric, no quotes - return value; - } else if (endsWith(value, 'px')) { - // "500px" -> 500 - return trimEnd(value, 'px'); - } else { - // Proably a string, wrap it in quotes - return '\'' + value.replace(/'/g, '"') + '\''; - } - } - }; - - // Expose public API - global.HTMLtoJSX = HTMLtoJSX; -}(window)); \ No newline at end of file diff --git a/docs/_js/html-jsx.js b/docs/_js/html-jsx.js deleted file mode 100644 index ea9b9d698cece..0000000000000 --- a/docs/_js/html-jsx.js +++ /dev/null @@ -1,89 +0,0 @@ -/** - * Copyright 2013-2014 Facebook, Inc. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * @jsx React.DOM - */ - -/** - * This is a web interface for the HTML to JSX converter contained in - * `html-jsx-lib.js`. - */ -;(function() { - -var HELLO_COMPONENT = "\ -\n\ -
    \n\ - \n\ - \n\ -
    \n\ -

    Enter your HTML here

    \ -"; - - var HTMLtoJSXComponent = React.createClass({ - getInitialState: function() { - return { - outputClassName: 'NewComponent', - createClass: true - }; - }, - onReactClassNameChange: function(evt) { - this.setState({ outputClassName: evt.target.value }); - }, - onCreateClassChange: function(evt) { - this.setState({ createClass: evt.target.checked }); - }, - setInput: function(input) { - this.setState({ input: input }); - this.convertToJsx(); - }, - convertToJSX: function(input) { - var converter = new HTMLtoJSX({ - outputClassName: this.state.outputClassName, - createClass: this.state.createClass - }); - return converter.convert(input); - }, - render: function() { - return ( -
    -
    - - -
    - -
    - ); - } - }); - - React.renderComponent(, document.getElementById('jsxCompiler')); -}()); \ No newline at end of file diff --git a/docs/_js/html5shiv.min.js b/docs/_js/html5shiv.min.js deleted file mode 100644 index dcf351c867e1e..0000000000000 --- a/docs/_js/html5shiv.min.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - HTML5 Shiv v3.6.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed -*/ -(function(l,f){function m(){var a=e.elements;return"string"==typeof a?a.split(" "):a}function i(a){var b=n[a[o]];b||(b={},h++,a[o]=h,n[h]=b);return b}function p(a,b,c){b||(b=f);if(g)return b.createElement(a);c||(c=i(b));b=c.cache[a]?c.cache[a].cloneNode():r.test(a)?(c.cache[a]=c.createElem(a)).cloneNode():c.createElem(a);return b.canHaveChildren&&!s.test(a)?c.frag.appendChild(b):b}function t(a,b){if(!b.cache)b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag(); -a.createElement=function(c){return!e.shivMethods?b.createElem(c):p(c,a,b)};a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+m().join().replace(/\w+/g,function(a){b.createElem(a);b.frag.createElement(a);return'c("'+a+'")'})+");return n}")(e,b.frag)}function q(a){a||(a=f);var b=i(a);if(e.shivCSS&&!j&&!b.hasCSS){var c,d=a;c=d.createElement("p");d=d.getElementsByTagName("head")[0]||d.documentElement;c.innerHTML="x"; -c=d.insertBefore(c.lastChild,d.firstChild);b.hasCSS=!!c}g||t(a,b);return a}var k=l.html5||{},s=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,r=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,j,o="_html5shiv",h=0,n={},g;(function(){try{var a=f.createElement("a");a.innerHTML="";j="hidden"in a;var b;if(!(b=1==a.childNodes.length)){f.createElement("a");var c=f.createDocumentFragment();b="undefined"==typeof c.cloneNode|| -"undefined"==typeof c.createDocumentFragment||"undefined"==typeof c.createElement}g=b}catch(d){g=j=!0}})();var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup main mark meter nav output progress section summary time video",version:"3.6.2",shivCSS:!1!==k.shivCSS,supportsUnknownElements:g,shivMethods:!1!==k.shivMethods,type:"default",shivDocument:q,createElement:p,createDocumentFragment:function(a,b){a||(a=f);if(g)return a.createDocumentFragment(); -for(var b=b||i(a),c=b.frag.cloneNode(),d=0,e=m(),h=e.length;d, mountNode);\ -"; - -function transformer(harmony, code) { - return JSXTransformer.transform(code, {harmony: harmony}).code; -} - -var CompilerPlayground = React.createClass({ - getInitialState: function() { - return {harmony: false}; - }, - handleHarmonyChange: function(e) { - this.setState({harmony: e.target.checked}); - }, - render: function() { - return ( -
    - - -
    - ); - }, -}); -React.renderComponent( - , - document.getElementById('jsxCompiler') -); diff --git a/docs/_js/live_editor.js b/docs/_js/live_editor.js deleted file mode 100644 index 477db9c856525..0000000000000 --- a/docs/_js/live_editor.js +++ /dev/null @@ -1,211 +0,0 @@ -/** - * @jsx React.DOM - */ - - -var IS_MOBILE = ( - navigator.userAgent.match(/Android/i) - || navigator.userAgent.match(/webOS/i) - || navigator.userAgent.match(/iPhone/i) - || navigator.userAgent.match(/iPad/i) - || navigator.userAgent.match(/iPod/i) - || navigator.userAgent.match(/BlackBerry/i) - || navigator.userAgent.match(/Windows Phone/i) -); - -var CodeMirrorEditor = React.createClass({ - componentDidMount: function() { - if (IS_MOBILE) return; - - this.editor = CodeMirror.fromTextArea(this.refs.editor.getDOMNode(), { - mode: 'javascript', - lineNumbers: false, - lineWrapping: true, - smartIndent: false, // javascript mode does bad things with jsx indents - matchBrackets: true, - theme: 'solarized-light', - readOnly: this.props.readOnly - }); - this.editor.on('change', this.handleChange); - }, - - componentDidUpdate: function() { - if (this.props.readOnly) { - this.editor.setValue(this.props.codeText); - } - }, - - handleChange: function() { - if (!this.props.readOnly) { - this.props.onChange && this.props.onChange(this.editor.getValue()); - } - }, - - render: function() { - // wrap in a div to fully contain CodeMirror - var editor; - - if (IS_MOBILE) { - editor =
    {this.props.codeText}
    ; - } else { - editor = -``` - -For HTML, this easily allows developers to supply multiline values. However, since React is JavaScript, we do not have string limitations and can use `\n` if we want newlines. In a world where we have `value` and `defaultValue`, it is ambiguous what role children play. For this reason, you should not use children when setting `; - stub = renderTextarea(stub); - var node = stub.getDOMNode(); - - expect(console.warn.argsForCall.length).toBe(1); - expect(node.value).toBe('giraffe'); - - // Changing children should do nothing, it functions like `defaultValue`. - stub.replaceProps({children: 'gorilla'}); - expect(node.value).toEqual('giraffe'); - }); - - it('should allow numbers as children', function() { - spyOn(console, 'warn'); - var node = renderTextarea().getDOMNode(); - expect(console.warn.argsForCall.length).toBe(1); - expect(node.value).toBe('17'); - }); - - it('should allow booleans as children', function() { - spyOn(console, 'warn'); - var node = renderTextarea().getDOMNode(); - expect(console.warn.argsForCall.length).toBe(1); - expect(node.value).toBe('false'); - }); - - it('should allow objects as children', function() { - spyOn(console, 'warn'); - var obj = { - toString: function() { - return "sharkswithlasers"; - } - }; - var node = renderTextarea().getDOMNode(); - expect(console.warn.argsForCall.length).toBe(1); - expect(node.value).toBe('sharkswithlasers'); - }); - - it('should throw with multiple or invalid children', function() { - spyOn(console, 'warn'); - - expect(function() { - ReactTestUtils.renderIntoDocument( - - ); - }).toThrow(); - - expect(console.warn.argsForCall.length).toBe(1); - - var node; - expect(function() { - node = renderTextarea().getDOMNode(); - }).not.toThrow(); - - expect(node.value).toBe('[object Object]'); - - expect(console.warn.argsForCall.length).toBe(2); - }); - - it('should support ReactLink', function() { - var container = document.createElement('div'); - var link = new ReactLink('yolo', mocks.getMockFunction()); - var instance =