Compare commits

...

4204 Commits

Author SHA1 Message Date
Paul O’Shannessy
68faf9d1b9 15.2.1 2016-07-08 15:15:02 -07:00
Paul O’Shannessy
5597ca70be Update readme for 15.2.1 2016-07-08 15:12:35 -07:00
Paul O’Shannessy
4b9d48a150 Merge branch '15-dev' into 15-stable 2016-07-08 15:11:36 -07:00
Paul O’Shannessy
6b19617333 changelog for 15.2.1 2016-07-08 15:09:28 -07:00
Keyan Zhang
86d696d933 Fixed PR link
(cherry picked from commit 48ccab788b)
2016-07-08 12:01:13 -07:00
Dan Abramov
e685ca9126 Mention @Aweary’s #6933 in 15.2.0 changelog
(cherry picked from commit 4aa860e1bb)
2016-07-08 12:01:08 -07:00
Dan Abramov
abaa9a8760 Add link to @troydemonbreun’s contribution
We missed this PR in the changelog
(cherry picked from commit 36734f4d37)
2016-07-08 12:01:01 -07:00
Paul O’Shannessy
ebabd2f8cd Rebuild error codes 2016-07-08 11:49:51 -07:00
Paul O’Shannessy
c51e8a1523 re-shrinkwrap 2016-07-08 11:46:00 -07:00
Dan Abramov
9fb898943a Make ReactPerf.start() work during reconciliation (#7208)
* Add failing test demonstrating a ReactPerf warning

* Make the failing ReactPerf test more precise

* Make ReactPerf.start() work during reconciliation

* Reorder lifecycle methods for greater clarity

* Fix memory leak

* Error boundaries should not break ReactPerf

* Put onBeginFlush/onEndFlush into transaction wrappers

This looks cleaner even though it is not strictly necessary.
We still call them manually for unmounting because it doesn't have a transaction.

(cherry picked from commit 1a0e3a3215)
2016-07-08 11:01:15 -07:00
saiyagg
ccd781d97e Remove duplicate line (#7210)
(cherry picked from commit 21ce27161d)
2016-07-08 10:58:37 -07:00
Andrey Okonetchnikov
9db68fcf5d Do not render name attribute on INPUT if it is not supplied. Closes #7198. (#7199)
(cherry picked from commit 0d892c03da)
2016-07-08 10:58:37 -07:00
Paul O’Shannessy
219e838070 Don't detach value from defaultValue for submit/reset inputs (#7197)
(cherry picked from commit 5c737b9550)
2016-07-08 10:58:37 -07:00
Dan Abramov
720ce5aa70 Pass shouldHaveDebugID flag to instantiateComponent (#7193)
* Add failing tests for #7187 and #7190

* Pass shouldHaveDebugID flag to instantiateComponent

This allows us to remove a hack that was added in #6770 and caused #7187 and #7190.

* Move logic for choosing whether to use debugID outside instantiate

(cherry picked from commit d2ff462b79)
2016-07-08 10:58:36 -07:00
Sebastian Markbåge
a0a8f2a451 Move error boundaries test into reconciler (#7166)
The src/core folder moved while this PR was pending so this file
didn't move with it.

Let's get rid of this annoying top level folder.
(cherry picked from commit 4f7a38c3b7)
2016-07-08 10:56:29 -07:00
Marshall Bowers
67cc922747 Gulp: lint, flow, and version-check (#7174)
* Add plugin loading for gulp

* Convert `lint` task to gulp

* Convert `flow` task to gulp

* Convert `version-check` task to gulp

* Add missing semicolons

(cherry picked from commit 69703e04d5)
2016-07-08 10:56:29 -07:00
Timothy Yung
75e6399261 Revise ResponderTouchHistoryStore Error Handling (#7143)
Touch behavior is inconsistent across different platforms, and ResponderTouchHistoryStore currently fatals when assumptions are broken. In addition, the behavior differs between development and production.

This pull request does a few things to make ResponderTouchHistoryStore easier to deal with:

Adds Flow to keep the TouchEvent, Touch, and TouchRecord types straight.
Changes behavior to be consistent across environments. This means either always throwing or never throwing (and making use of warning and console.error as appropriate).
When an orphaned move or end event is received, print debug information and ignore it instead of crashing and burning.
(cherry picked from commit 2b226f5fa6)
2016-07-08 10:56:29 -07:00
Dan Abramov
25528eacbc Disable DebugTools in production (#7189)
(cherry picked from commit 5d31ebcf5f)
2016-07-08 10:56:23 -07:00
Christopher Chedeau
f6b619aab1 [flow] isTextInputElement (#7075)
Summary:

I had to cast into any because flow doesn't think that checking the lowercase version of nodeName is a valid way to refine the variable from HTMLElement to HTMLInputElement. I'm also not confident enough in changing the implementation to an instanceof HTMLInputElement to please flow. It also takes care of the null check in the process.

The `nodeName &&` condition wasn't useful since the two branches are checking it against concrete values and actually makes the type different since nodeName is not a boolean per se. I replaced them with if conditions to make it clearer what it actually did instead of doing boolean logic tricks.

It is unclear why I had to type supportedInputTypes, see this internal post for a discussion: https://www.facebook.com/groups/flowtype/permalink/1084168611631753/

The only difference in behavior is that I now explicitely convert to boolean the object dereference via `!!`.

Test Plan:
npm run flow
Careful inspection of the code

Reviewers: @zpao @spicyj
(cherry picked from commit 309215fc40)
2016-07-08 10:48:57 -07:00
Dan Abramov
7547d0d8e5 Inline dev-only requires (#7188)
* Inline dev-only requires

This reduces the production bundled build size.

* Use new references after resetting module registry in tests

This fixes the tests which were broken due to inlining some requires.

(cherry picked from commit 8fe6b5fb46)
2016-07-08 10:48:57 -07:00
Christopher Chedeau
d7a6c95464 [flow] fix flattenChildren type (#7110)
Summary:
Make the debug attribute optional

Test Plan:
npm run flow

Reviewers: @keyanzhang @chicoxyzzy
(cherry picked from commit 07cfba17a9)
2016-07-08 10:48:57 -07:00
Dan Abramov
9687b35d83 Remove Danger.dangerouslyRenderMarkup as it is dead code (#7185)
(cherry picked from commit 7d0801e1a0)
2016-07-08 10:48:57 -07:00
Robin Ricard
173d065a9e Trigger a proper no-op warning for async state changes on server (#7127)
This commit fixes #5473: ReactDOMServer.renderToString: presence of onClick
handler causes errors on async update

This commit performs the following changes:

- Adds a getUpdateQueue method to ReactServerRenderingTransaction,
  ReactReconcileTransaction, ReactNativeReconcileTransaction and
  ReactTestReconcileTransaction
- Make the ReactCompositeComponent call this getUpdateQueue instead of using
  ReactUpdateQueue that was unwanted at certain moments on server
- On ReactServerRenderingTransaction, dispatch ReactUpdateQueue's methods
  while rendering and warning methods afterwards. This is done through the new
  ReactServerUpdateQueue class
- Added a series of tests that mimics the case presented in #5473 with setState,
  forceUpdate and replaceState
- Add flow typechecking on concerned files
(cherry picked from commit dbdddf1c82)
2016-07-08 10:48:56 -07:00
Richard Roncancio
67cbe6d471 Removed transitionAppearTimeout to remove warning (#7165)
- Removed the prop transitionAppearTimeout from
addons/transitions/ReactTransitionGroup in order to remove a warning
when passing unknown props to DOM elements.
(cherry picked from commit 6e5dd8926c)
2016-07-08 10:48:56 -07:00
Sebastian Markbåge
c625bc88aa Unshare not actually shared files (#7167)
This moves some files out of shared that are not actually shared
with isomorphic. They're specific to the renderers.
(cherry picked from commit 4bc1048e0d)
2016-07-08 10:48:56 -07:00
Sebastian Markbåge
f1f599d775 Merge pull request #7154 from sebmarkbage/sideeffects
[Fiber] Host Side Effects
(cherry picked from commit cf259a4ff8)
2016-07-08 10:48:56 -07:00
Sebastian Markbåge
c4b719d4dc Merge pull request #7034 from sebmarkbage/newreconciler
[Fiber] Host Container Fiber and Priority Levels
(cherry picked from commit 291f8e30a9)
2016-07-08 10:48:56 -07:00
starkch
e23690a0dc Reword invariant message about empty tags (fixes #7065) (#7066)
* addresses issue #7065

* fix test to use new message

* fix string in tests

* fix test string

* Update error message and tests

(cherry picked from commit f94912516f)
2016-07-08 10:48:56 -07:00
Dan Abramov
20d2398ab6 Fix renderSubtreeIntoContainer to update context (#7125)
* create failing test case

* Fix renderSubtreeIntoContainer to update context

Fixes #6599

* Also test re-rendering due to prop update

* Address review feedback

(cherry picked from commit 25f9f4563e)
2016-07-08 10:48:56 -07:00
Esteban
32cadeacdb Remove comment about PooledClass destructors being optional (#6560)
They are no longer optional since #4720
(cherry picked from commit 752e1595fc)
2016-07-08 10:48:56 -07:00
Sergey Rubanov
a3c0d68af9 [flow] add some typings to utils (#7104)
* add some typings to utils

* add typing of flattenChildren

* more accurate typings for flattenChildren

(cherry picked from commit 3b5c756c7a)
2016-07-08 10:48:56 -07:00
Christopher Chedeau
24cf5c7a5e [flow] type deprecated (#7076)
Summary:

Test Plan:
npm run flow

Reviewers: @zpao @spicyj @gabelevi
(cherry picked from commit 9342c2f02f)
2016-07-08 10:48:56 -07:00
Jim
8ea1ee14d5 Remove dead HAS_SIDE_EFFECTS logic (#6987)
(cherry picked from commit 416b5ef173)
2016-07-08 10:48:56 -07:00
Jared Fox
ec029f66cc fix webcomponent example issue #7056 (#7057)
* fix webcomponent example issue #7056

* update fix issue #7056, remove unused web component  callbacks

(cherry picked from commit cd9ad90d05)
2016-07-08 10:48:55 -07:00
Christopher Chedeau
ba6ca7ff71 [cleanup] Move ReactStateSetters inside of addons/link (#7085)
Summary:
The only callsite of ReactStateSetters is in LinkedStateMixin which lives in addons/link. Better move it there to avoid cluttering the other folder.

Test Plan:
None

Reviewers: @zpao @spicyj
(cherry picked from commit b0732ef881)
2016-07-08 10:48:55 -07:00
Christopher Chedeau
eb9f4efde7 [flow] type adler32 (#7080)
This one is trivial

Test Plan:
npm run flow

Reviewers: @zpao @spicyj
(cherry picked from commit 489caeb2d7)
2016-07-08 10:48:55 -07:00
Christopher Chedeau
8ee93720ce [flow] type KeyEscapeUtils (#7079)
Summary:

The only call site ensures that the value is not null: dc6fc8cc07/src/shared/utils/traverseAllChildren.js (L44)

key is stringified inside of createElement, so we are guaranteed to receive a string right now: dc6fc8cc07/src/isomorphic/classic/element/ReactElement.js (L142)

Test Plan:
npm run flow

Reviewers: @zpao @spicyj
(cherry picked from commit 12a6ad1ef5)
2016-07-08 10:48:55 -07:00
Christopher Chedeau
cea00b4b21 Merge pull request #7053 from vjeux/flow_accumulate
[flow] annotate accumulate, accumulateInto and forEachAccumulated
(cherry picked from commit 5b4dad31f8)
2016-07-08 10:48:55 -07:00
Paul O’Shannessy
f3c9508e95 Specify possible need for C++ compiler (#7064)
(cherry picked from commit 4886e028bf)
2016-07-08 10:48:55 -07:00
Toru Kobayashi
23de673537 Remove setProps and replaceProps from src (#7045)
(cherry picked from commit e8fa464d6f)
2016-07-08 10:48:55 -07:00
Jim
26870ad27b Move null-input-value-prop warning into devtool, add stack trace (#7040)
(cherry picked from commit 97d89fa5bf)
2016-07-08 10:48:55 -07:00
Paul O’Shannessy
54ee110436 Merge branch '15-stable' into 15-dev 2016-07-07 23:17:21 -07:00
Paul O’Shannessy
a011a23090 Import warnings that currently live in gists. (#7175)
(cherry picked from commit 26ed910f28)
2016-07-05 13:54:19 -07:00
Samuel Reed
0d4c994471 Add PropTypes.symbol to reusable components doc (#7171)
(cherry picked from commit 3946ac33b8)
2016-07-05 13:54:19 -07:00
Paul O’Shannessy
bc1d59ee19 Fix formatting of changelog 2016-07-01 11:56:41 -07:00
Paul O’Shannessy
3a6584b2ee Update website for 15.2.0 2016-07-01 11:41:46 -07:00
Paul O’Shannessy
c650249339 15.2.0 2016-07-01 11:31:05 -07:00
Paul O’Shannessy
516aa96419 Update readme for 15.2.0 2016-07-01 11:21:37 -07:00
Paul O’Shannessy
1808ecb348 Merge branch '15-dev' into 15-stable 2016-07-01 11:12:22 -07:00
Paul O’Shannessy
74c29b391a Changelog for 15.2.0 2016-07-01 11:09:46 -07:00
Paul O’Shannessy
33f54bfaa1 15.2.0-rc.2 2016-06-30 23:22:15 -07:00
Griffin Michl
5131a43f96 Group warnings for unknown DOM properties (#7153)
(cherry picked from commit 39265cb892)
2016-06-30 23:13:29 -07:00
Jim
62135da3ba Add autoFocus to list of whitelisted dom element props. (#7098)
(cherry picked from commit b4fc27357c)
2016-06-30 23:13:10 -07:00
Brandon Dail
7fbbb535ff Clarify purpose of state property in ES6 classes (#7109)
(cherry picked from commit 60760eb915)
2016-06-29 10:15:09 -07:00
Jim
bda788e932 webcomponents should use attachedCallback instead of createdCallback. (#7102)
(cherry picked from commit c7ba16fbbf)
2016-06-29 10:15:09 -07:00
Paul O’Shannessy
ec44f2af6d [docs] Update share button (#7097)
(cherry picked from commit 4f00553c15)
2016-06-29 10:15:09 -07:00
Nik Nyby
6059444c84 update babel-core to 5.8.34 in tutorial docs (#7059)
(cherry picked from commit a8d8210222)
2016-06-20 16:43:55 -07:00
Claudio Brandolino
814bf1ca0c Standardise format of the three "state" questions. (#7046)
* Standardise format of the three "state" questions.

The original format follows the template:

 > 1. x? if `x` then probably isn't state
 > 2. y? if `!y` then probably isn't state
 > 3. z? if `z` then it's not state

This caused both me and a hallway tester to do a double take.

The proposed reformulation allows the answers to follow the same template.

In the same spirit, it uses the same contraction pattern in the last answer (`it's not state`-> `it isn't state`). This has the welcome side effect to make the lack of "probably" stand out more.

* Update phrasing in thinking in reacr

(cherry picked from commit 5bca3773ab)
2016-06-20 16:43:55 -07:00
Toru Kobayashi
aaa496213e Remove setProps and replaceProps from docs (#7044)
(cherry picked from commit 718c07c915)
2016-06-20 16:43:55 -07:00
Paul O’Shannessy
c66f40f749 15.2.0-rc.1 2016-06-14 18:24:12 -07:00
Paul O’Shannessy
e921abf260 Re-shrinkwrap for latest dependency changes & updates 2016-06-14 18:20:57 -07:00
Paul O’Shannessy
d893ab6428 Merge pull request #7042 from zpao/15-dev-fixups
15 dev fixups
2016-06-14 18:20:07 -07:00
Paul O’Shannessy
dbb67824a4 Don't build fiber files into package 2016-06-14 18:16:42 -07:00
Paul O’Shannessy
592abf8ee7 Update the error codes 2016-06-14 18:16:41 -07:00
Paul O’Shannessy
2a411dd248 Revert part of createElement validation changes from #6859 2016-06-14 18:16:41 -07:00
Juan
909d647801 Update readme to latest React description (#7014)
* Update readme to latest React description

* Update readme to latest wordsmithing

(cherry picked from commit b618b786a9)
2016-06-14 15:50:39 -07:00
Christoph Pojer
243be87c6d Add symbol to identify a ReactTestComponent instance. (#7035)
(cherry picked from commit 6b8db0e111)
2016-06-14 15:50:39 -07:00
Dominic Gannaway
eab4ffa721 Performance: setTextContent should attempt to set TextNode nodeValue where possible (#7005)
(cherry picked from commit 40f6d3eaca)
2016-06-14 15:50:39 -07:00
Keyan Zhang
1e0f0a35cf pinned babylon version for eslint to work (#7008)
(cherry picked from commit 46cd6a0b62)
2016-06-14 15:50:39 -07:00
Jim
d4aebaa671 Remove console.log from test (#7006)
(cherry picked from commit 2282894d52)
2016-06-14 15:50:39 -07:00
Jim
cd5189a63c Fix controlled/uncontrolled validation for radio+checkbox inputs (#7003)
(cherry picked from commit 0bb0fe8d00)
2016-06-14 15:50:39 -07:00
Jim
cf50a83b8d Fix IE11 placeholder textContent value bug. (#7002)
(cherry picked from commit f0b140d726)
2016-06-14 15:50:39 -07:00
Brandon Dail
89746fa70f Warn if childContextType is defined on SFC (#6933)
Add console.error message content check

Use appropriate name in warning/test
(cherry picked from commit c47830d12c)
2016-06-14 15:50:39 -07:00
Hiroyuki Wada
e1c2c42c24 Fix #5839 Add error event to source element (#6941)
* Fix #5839 Add error event to source element

* Add test case for <source onError={callback}>

(cherry picked from commit 518336e2fb)
2016-06-14 15:50:39 -07:00
Josh Hunt
05c133a9c3 Fix #6950, work around IE missing innerHTML on SVG nodes (#6982)
* Workaround IE lacking innerHTML on SVG elements

* Add tests for setInnerHTML

* Correctly check if node has innerHTML property

* Ensure tests for setInnerHTML actually tests both codepaths

* Provide mock element for setInnerHTML tests

* Only use SVG setInnerHTML workaround for SVG elements

(cherry picked from commit 99d8524d23)
2016-06-14 15:50:38 -07:00
Sebastian Markbåge
92bda144d9 Merge pull request #6988 from sebmarkbage/newreconciler
[Fiber] Minimize abuse of .alternate
(cherry picked from commit 0cafd83834)
2016-06-14 15:50:38 -07:00
Timothy Yung
6eeb2898f7 Improve error message for components in bad states (missing instance) (#6990)
(cherry picked from commit 7988acaa95)
2016-06-14 15:50:38 -07:00
Keyan Zhang
e974383cba Add reactProdInvariant and corresponding babel rewrite pass (#6948)
(cherry picked from commit 1abce1630c)
2016-06-14 15:50:38 -07:00
Sebastian Markbåge
7912baea69 Merge pull request #6981 from sebmarkbage/newreconciler
[Fiber] Add support for simple updates and fiber pooling
(cherry picked from commit ccd26ee020)
2016-06-14 15:50:38 -07:00
Jim
07389fd9fc Fix autofocus for input and textarea (#6986)
(cherry picked from commit eb705d1448)
2016-06-14 15:50:32 -07:00
Dan Abramov
7a4aef0d0d Tweak ReactPerf warning message and code style (#6977)
(cherry picked from commit d101f68bce)
2016-06-14 15:49:51 -07:00
Alexander
85fd90d4c2 Warn that ReactPerf does not work in the production build (#6884)
Fixes #6871
(cherry picked from commit 2a46103ac8)
2016-06-14 15:49:51 -07:00
Ben Alpert
6080ab547d Fix function declaration in if statement (#6963)
Firefox doesn't like these and throws.
(cherry picked from commit 3c3c30a19a)
2016-06-14 15:49:50 -07:00
Keyan Zhang
6562466c9e Fix null node issue in ReactCSSTransitionGroup (#6958)
(cherry picked from commit c9eb572a6f)
2016-06-14 15:49:50 -07:00
Paul O’Shannessy
904c6e767b Merge pull request #6957 from zpao/flow026
Upgrade Flow
(cherry picked from commit d3b36d5524)
2016-06-14 15:49:50 -07:00
Sasha Aickin
58634bda69 Replace the implementation of escapeTextContentForBrowser with escape-html (#6862)
* Replacing the implementation of escapeTextContentForBrowser with escape-html for performance

* Addressing @spicyj's code review comment here: https://github.com/facebook/react/pull/6862#issuecomment-223102868 . Pulled the code of escape-html in to react and changed the encoding of single quote to &#x27.

* Addressing code review comment https://github.com/facebook/react/pull/6862#discussion_r65462074 to make code more inlinable for v8. Thanks, @spicyj.

(cherry picked from commit d6e70586b7)
2016-06-14 15:49:50 -07:00
Keyan Zhang
cb10a45ded Add a gulp script for extracting error codes (#6882)
(cherry picked from commit bfd1531eca)
2016-06-14 15:49:50 -07:00
Ben Alpert
90007f7087 Add rudimentary test renderer (#6944)
(cherry picked from commit 50982cea99)
2016-06-14 15:49:50 -07:00
Sebastian Markbåge
39ddfdd9a2 Merge pull request #6931 from sebmarkbage/newreconciler
[Fiber] Simple test assertions
(cherry picked from commit dc5686a42f)
2016-06-14 15:49:50 -07:00
Sebastian Markbåge
ab4ea744f9 Merge pull request #6903 from sebmarkbage/newreconciler
[Fiber] Transfer everything from Element onto the Fiber and use Tag instead of Stage
(cherry picked from commit 7de23758f1)
2016-06-14 15:49:49 -07:00
Alex Jacobs
60cc2fe911 Fix minor lint warnings (#6909)
(cherry picked from commit 29ed7c6c8c)
2016-06-14 15:49:49 -07:00
Ben Alpert
74ea71b324 Fix style test for Jasmine 2 (#6913)
(cherry picked from commit e62384bca4)
2016-06-14 15:49:49 -07:00
Nate Norberg
3d748e93f1 Added more specific warning for using onDblClick instead of onDoubleClick (#6881)
(cherry picked from commit 38900cc7ca)
2016-06-14 15:49:49 -07:00
Jim
a5d7fc84ee Followup to 6896, add explanation of workaround. (#6905)
(cherry picked from commit ba3bfe3e31)
2016-06-14 15:49:49 -07:00
Paul O’Shannessy
e8a8d005f0 Merge pull request #6677 from zpao/dont-warn-css-0-string
Don't warn when style value is '0'
(cherry picked from commit 5c6f9d31bd)
2016-06-14 15:49:49 -07:00
Sebastian Markbåge
2f4c61d1be Merge pull request #6859 from sebmarkbage/newreconciler
[Fiber] Child Reconciler + New Coroutines Primitive
(cherry picked from commit 0f4a4df12e)
2016-06-14 15:49:49 -07:00
Robin Berjon
677dd27912 Stop passing null as second argument to document.createElement() (#6896)
* Stop passing null as second argument to document.createElement()

* rewrap check for props.is to make it more readable

(cherry picked from commit 263615573c)
2016-06-14 15:49:48 -07:00
Dan Abramov
689f5cc187 Merge pull request #6886 from Weizenlol/patch-1
Added own property check when deleting listeners.
(cherry picked from commit ca5a0dad16)
2016-06-14 15:49:48 -07:00
Dan Abramov
8f8d9a9dde Merge pull request #6880 from gaearon/clone-key-ref-props-2
Fix issues introduced by createElement() warning
(cherry picked from commit 2d74280679)
2016-06-14 15:49:48 -07:00
Ben Alpert
634b107491 Warn when element is missing in devtool (#6869)
(cherry picked from commit 21d271f6d0)
2016-06-14 15:49:48 -07:00
Dan Abramov
31ba751d2e Make sure cloneElement() supports prototype-less config (#6878)
This brings createElement() fix from #6855 to cloneElement().
(cherry picked from commit e822cbd183)
2016-06-14 15:49:48 -07:00
Dan Abramov
c8b2a3dc13 Merge pull request #6872 from gaearon/jest-cli@12
Update to Jest 12.1.1 and Jasmine 2
(cherry picked from commit c0ecde687a)
2016-06-14 15:49:43 -07:00
Ben Alpert
58313419e2 Fix instrumentation in shallow rendering (#6867)
Previously, this threw:

```
 FAIL  src/test/__tests__/ReactTestUtils-test.js (7.291s)
● ReactTestUtils › it can fail context when shallowly rendering
  - TypeError: Cannot read property '_source' of null
        at describeID (src/renderers/shared/devtools/ReactComponentTreeDevtool.js:70:46)
        at Object.ReactComponentTreeDevtool.getStackAddendumByID (src/renderers/shared/devtools/ReactComponentTreeDevtool.js:203:15)
        at checkReactTypeSpec (src/isomorphic/classic/types/checkReactTypeSpec.js:76:58)
        at ReactCompositeComponentMixin._checkContextTypes (src/renderers/shared/stack/reconciler/ReactCompositeComponent.js:668:5)
        at ReactCompositeComponentMixin._processContext (src/renderers/shared/stack/reconciler/ReactCompositeComponent.js:607:14)
        at ReactCompositeComponentMixin.mountComponent (src/renderers/shared/stack/reconciler/ReactCompositeComponent.js:191:30)
        at ReactShallowRenderer._render (src/test/ReactTestUtils.js:483:14)
        at _batchedRender (src/test/ReactTestUtils.js:460:12)
        at ReactDefaultBatchingStrategyTransaction.Mixin.perform (src/shared/utils/Transaction.js:140:20)
        at Object.ReactDefaultBatchingStrategy.batchedUpdates (src/renderers/shared/stack/reconciler/ReactDefaultBatchingStrategy.js:65:19)
        at Object.batchedUpdates (src/renderers/shared/stack/reconciler/ReactUpdates.js:112:20)
        at ReactShallowRenderer.render (src/test/ReactTestUtils.js:453:16)
        at Spec.eval (src/test/__tests__/ReactTestUtils-test.js:289:34)
        at jasmine.Block.execute (node_modules/jest-jasmine1/vendor/jasmine-1.3.0.js:1067:17)
        at jasmine.Queue.next_ (node_modules/jest-jasmine1/vendor/jasmine-1.3.0.js:2100:31)
        at jasmine.Queue.start (node_modules/jest-jasmine1/vendor/jasmine-1.3.0.js:2053:8)
        at Spec.jasmine.Spec.execute (node_modules/jest-jasmine1/vendor/jasmine-1.3.0.js:2380:14)
        at jasmine.Queue.next_ (node_modules/jest-jasmine1/vendor/jasmine-1.3.0.js:2100:31)
        at onComplete (node_modules/jest-jasmine1/vendor/jasmine-1.3.0.js:2096:18)
        at Spec.jasmine.Spec.finish (node_modules/jest-jasmine1/vendor/jasmine-1.3.0.js:2354:5)
        at eval [as onComplete] (node_modules/jest-jasmine1/vendor/jasmine-1.3.0.js:2381:10)
        at jasmine.Queue.next_ (node_modules/jest-jasmine1/vendor/jasmine-1.3.0.js:2110:14)
        at eval (node_modules/jest-jasmine1/vendor/jasmine-1.3.0.js:2090:18)
        at Timeout.e [as _onTimeout] (node_modules/jsdom/lib/jsdom/browser/Window.js:440:19)
        at tryOnTimeout (timers.js:224:11)
        at Timer.listOnTimeout (timers.js:198:5)
```
(cherry picked from commit 510155e027)
2016-06-14 15:48:53 -07:00
Dan Abramov
8e598ea5c6 Don't count the time inside flushes towards lifecycle hooks (#6860)
* Don't count the time inside flushes towards lifecycle hooks

Fixes #6842.

We keep the existing behavior of testing for matching `onBeginLifeCycleTimer`/`onEndLifeCycleTimer` calls, but we push the current timer onto the stack if we enter a flush.
This solves an issue with portals which cause updates while a lifecycle timer is already running.

I chose to subtract the time spent in the flush from the time counted towards the lifecycle method because it would artificially inflate the “total” time of the component due to all the components inside the portal, so it would skew the exclusive table.

* Fix up the comment

(cherry picked from commit 8d7161e004)
2016-06-14 15:48:53 -07:00
Jim
58f0298c62 Add warning for unknown properties. (#6800)
(cherry picked from commit de1de9e18f)
2016-06-14 15:48:53 -07:00
Jim
f98e6c1955 Properly set value and defaultValue for input and textarea (#6406)
* Have `defaultValue` reach DOM node for html input box for #4618

* Cleanup and bug fixes for merge.

(cherry picked from commit 4338c8db4b)
2016-06-14 15:48:47 -07:00
Ben Alpert
a2f7b34f38 Remove unknown props in ART (#6861)
(cherry picked from commit cb4a0af7dd)
2016-06-14 15:34:28 -07:00
Ben Alpert
fad173a0f9 Merge pull request #6775 from spicyj/fix-art
Copy React ART tests and add hacks to fix them
(cherry picked from commit 531a6b3265)
2016-06-14 15:34:28 -07:00
Dan Abramov
c1a9d1c0e0 Fix componentWillUnmount() not counted by ReactPerf (#6858)
* Fix componentWillUnmount() not counted by ReactPerf

* Test that functional component render() time shows up in ReactPerf

* Test for setState() code path updates being included

(cherry picked from commit 9ba5668d18)
2016-06-14 15:34:28 -07:00
Ali Taheri Moghaddar
3cf363384e Avoid directly calling hasOwnProperty (#6855)
* Avoid directly calling hasOwnProperty

* Fix failing test case

(cherry picked from commit c313baa0ca)
2016-06-14 15:34:28 -07:00
Ben Alpert
bff0662ba3 Add test to ensure 'undefined' children is used (#6853)
(cherry picked from commit fe2002c3d8)
2016-06-14 15:34:28 -07:00
Keyan Zhang
8b6749dedd Extract the type checker into a separate module (#6851)
The type checker is now a separate module under `isomorphic/classic/types`
(cherry picked from commit db6ac5c01c)
2016-06-14 15:34:28 -07:00
Jim
00095e3cbd Removed unnecessary null check (#6841)
(cherry picked from commit 799eae2faf)
2016-06-14 15:34:28 -07:00
Keyan Zhang
6890805b16 Remove prop types checking in ReactCompositeComponent (#6824)
Remove prop types checking in ReactCompositeComponent

(cherry picked from commit c136369a81)
2016-06-14 15:34:28 -07:00
Rui Araújo
c654fdf709 Move ReactElementValidator to __DEV__ block (#6830)
It saves some more bytes in production mode.
(cherry picked from commit d955ee9fae)
2016-06-14 15:34:27 -07:00
Roderick Hsiao
c060f4ac3d Support onLoad event on link element (#6815)
(cherry picked from commit fd589fc8dd)
2016-06-14 15:34:27 -07:00
Keyan Zhang
23d3e70b4e Add component stack info to key validation warnings (#6799)
* Add component stack info to key validation warnings

* Add `ReactComponentTreeDevtool.getStackAddendumByID`
(cherry picked from commit 47e49ae8b7)
2016-06-14 15:34:27 -07:00
Paul O’Shannessy
d945077f42 Merge pull request #6804 from dmitriiabramov/update_typescript
Update typescript
(cherry picked from commit 6a3e9d583b)
2016-06-14 15:34:27 -07:00
Ben Berman
6607ffb9ec Minor comment typo (#6808)
(cherry picked from commit eda08d9656)
2016-06-14 15:34:27 -07:00
Dan Abramov
ad5902bc39 Merge pull request #6801 from iamdustan/instrumentation-to-shared
Move instrumentation to renderers/shared. Closes #6797
(cherry picked from commit d1256825bc)
2016-06-14 15:34:27 -07:00
Dan Abramov
5247dc3cd2 Merge pull request #6789 from gaearon/tree-devtool-fixes
Make sure element is reported correctly by tree devtool
(cherry picked from commit 7f08961604)
2016-06-14 15:34:27 -07:00
Jim
b340601ef6 Fire unknown prop warning when rendering client side. (#6693)
(cherry picked from commit 2e881aa4b4)
2016-06-14 15:34:27 -07:00
Dan Abramov
0f6081ee26 Merge pull request #6787 from gaearon/tree-devtool-test-tweaks
Refactor ReactComponentTreeDevtool test
(cherry picked from commit 503cbd3356)
2016-06-14 15:34:26 -07:00
David Aurelio
c17797f979 Require modules from React Native as node modules. (#6715)
(cherry picked from commit 151e1d7014)
2016-06-14 15:34:26 -07:00
Ben Alpert
6638d49ad9 Embed JSX filename paths relative to repo root (#6778)
Test Plan: Changed the preprocessor to log the output of babel.transform and saw

```
var _jsxFileName = 'src/isomorphic/modern/element/__tests__/ReactJSXElementValidator-test.js';
```

in the resulting output, instead of an absolute path.
(cherry picked from commit 6afd51061a)
2016-06-14 15:34:26 -07:00
Sebastian McKenzie
659ff22ea4 Remove unnecessary require causing excess memory usage (#6781)
(cherry picked from commit 3703b63a11)
2016-06-14 15:34:26 -07:00
Ben Alpert
442d78a556 Show component stack in PropTypes warnings (#6771)
(cherry picked from commit 378c879a6a)
2016-06-14 15:34:26 -07:00
Ben Alpert
a599587fce Fix severe perf problems in component tree devtool (#6770)
One of the ReactMultiChildText tests renders 2145 roots (and even more components) and unmounts none of them. Now we don't loop through them all a bunch of times so the test takes 20 seconds instead of 60.

We should clean up instantiateReactComponent somehow so that the onSetDisplayName call isn't produced for the TopLevelWrapper, which should allow us to just store an array of unmountedIDs instead of a hash map so we at least don't have double maps. This change mirrors the old logic though.

Reviewers: @gaearon, @sebmarkbage
(cherry picked from commit 3cc733add4)
2016-06-14 15:34:26 -07:00
Ben Alpert
9483255583 Print stack in devtool exception warning (#6768)
(cherry picked from commit 5b5bd5eb75)
2016-06-14 15:34:26 -07:00
Ben Alpert
b3d37a908c Track source more generically in ReactComponentTreeDevtool (#6765)
Being able to get the source for your parent components seems useful, and ReactComponentTreeDevtool is best poised to be able to do that.

I'm also not sure it makes sense to have separate DOM-specific `onMountDOMComponent` and `onUpdateDOMComponent` events, so I removed them for now. Even if we want them, their timing seemed sort of arbitrary.

I also made it so DOM devtools can listen to non-DOM events too. Willing to change that if people think it's ugly though.
(cherry picked from commit 03f4ba260b)
2016-06-14 15:34:26 -07:00
Nima Jahanshahi
e039795971 Fixed an invalid escape char in attribute name regexp (#6772)
more info: https://www.w3.org/TR/xml/#NT-Name
(cherry picked from commit 32c750de5c)
2016-06-14 15:34:26 -07:00
Dan Abramov
47d0f21c60 Merge pull request #6767 from gaearon/fix-broken-master
Fix remaining onNativeOperation => onHostOperation rename
(cherry picked from commit 74cce27fe0)
2016-06-14 15:34:25 -07:00
Dan Abramov
a88d821d9f Merge pull request #6763 from nfcampos/is-running
added isProfiling() to ReactDebugTool and isRunning() to PerfTools
(cherry picked from commit 5569d1d40e)
2016-06-14 15:34:25 -07:00
Ben Alpert
460c4c2b9a Remove some dead code (#6764)
(cherry picked from commit 20bcabb1ea)
2016-06-14 15:34:25 -07:00
Dmitriy Kubyshkin
3bf315d70e Fixed removing attributes during custom element update. Fixes #6747 (#6748)
(cherry picked from commit 0e889d7c72)
2016-06-14 15:34:25 -07:00
Ben Alpert
5d3920f5ab Rename host-y things to be "host" not "native" (#6754)
For clarity.

I left "native event" as-is because there's a lot of it, it's not particularly ambiguous, and SimulateNative/nativeTouchData are public API in ReactTestUtils.
(cherry picked from commit ba9b985406)
2016-06-14 15:34:19 -07:00
Sebastian Markbåge
69208fc62a React Fiber Reconciler (#6690)
This is an outline for the new reconciler infrastructure.

I created a noop renderer to have something to get started from.

I split the reconciler folder into old and new, as well as shared.
I put shouldUpdateReactComponent in shared as an example of a
utility that can easily be shared between both. I plan on breaking
out more utilities like these.
(cherry picked from commit cf157886e9)
2016-06-14 15:30:26 -07:00
Sebastian Markbåge
484a5b38af Fix flow errors (#6719)
The new flow somehow found these on my machine but nowhere else
and not previously.
(cherry picked from commit 069f8099d6)
2016-06-14 15:30:25 -07:00
Dan Abramov
f112083c7a Merge pull request #6377 from puradox/proptypes-symbol
Add new primitive PropType `Symbol`
(cherry picked from commit 7bf96c08e6)
2016-06-14 15:30:25 -07:00
Bradford
2ef148d1ee fix minor capitalzation typo (#6736)
(cherry picked from commit 25be6dc027)
2016-06-14 15:30:25 -07:00
yiminghe
818ef42d22 allow to ignore value attribute for option (#5362)
(cherry picked from commit 904ee9a678)
2016-06-14 15:30:25 -07:00
Sebastian Markbåge
d77b28e90b Get patch versions of Flow (#6716)
Best practice or whatever.
(cherry picked from commit 700b7148ef)
2016-06-14 15:30:25 -07:00
Ben Alpert
2183e55c12 Disable coverage on Travis (#6712)
(cherry picked from commit 82ab58ea03)
2016-06-14 15:30:20 -07:00
Paul O’Shannessy
b3d3ae42ed Cleanup: remove @nolint (#6703)
(cherry picked from commit 873369cc7c)
2016-06-14 15:29:36 -07:00
Ben Alpert
61924171bf Move dev-only flags to only exist on composites (#6709)
_isOwnerNecessary was unused.
(cherry picked from commit e01bf78a79)
2016-06-14 15:29:35 -07:00
Jay Phelps
20a081eb37 [DOCS] ReactTextComponent was renamed ReactDOMTextComponent a while ago (#6700)
(cherry picked from commit fbe900265f)
2016-06-14 15:29:35 -07:00
Keyan Zhang
7dbf29a10d fixed transform-react-jsx-source devDep (#6697)
(cherry picked from commit 9ce54210ea)
2016-06-14 15:29:35 -07:00
Paul O’Shannessy
440543aa88 Setup grunt flow task and run on travis (#6684)
(cherry picked from commit c9504d99a5)
2016-06-14 15:29:35 -07:00
Troy DeMonbreun
4725941c74 Fix for #6062 : Show source line number on unknown property warning (#6398)
* New approach for 6062 fix : Show source line number on unknown property warning

* WIP: ReactDebugToolEventForwarderDevTool

* Update event signature to debugID

* Trigger events in ReactDOMComponent

* Renamed to onMountDOMComponent; passing in element directly

* Added debugID; updated simple test

* Added test for multi-div JSX to ref exact line

* Added test for composite component

(cherry picked from commit 7cf61db257)
2016-06-14 15:29:35 -07:00
Paul O’Shannessy
f14d0ef339 grunt jest tasks shouldn't use watchman (#6675)
(cherry picked from commit f25a88e965)
2016-06-14 15:29:35 -07:00
Sebastian Markbåge
c595c27357 Set up Flow - Yay! (#6682)
This just configures flow to be checked and fixes our existing
Flow typed files.

Possible enhancements:

Export .js.flow declarations from the build. Unclear whether this
will be a supported workflow in the future or not, so let's wait
on that.

We should fail builds and CI on Flow errors.

Ideally we should lint for Flow style guides (like no space before
colon).
(cherry picked from commit 771d938fc0)
2016-06-14 15:29:35 -07:00
Sasha Aickin
6d378bf78e Add test logic to make sure that events get tested when rendering on top of server-generated markup. (#6668)
(cherry picked from commit 256753b830)
2016-06-14 15:29:35 -07:00
Greg Hurrell
23c4d31291 Remove errant console.log (#6664)
That crept in in c1e3f7ec14.
(cherry picked from commit 4f01b4b186)
2016-06-14 15:29:35 -07:00
Ryan Lahfa
6af9f59010 package(node-engine-version): accept 6.x versions (#6645)
(cherry picked from commit 9d201abb2b)
2016-06-14 15:29:35 -07:00
Christoph Pojer
571d1f7314 Merge pull request #6638 from cpojer/master
Update Jest’s grunt task.
(cherry picked from commit 64401150a0)
2016-06-14 15:29:35 -07:00
Stolenkid
dd29092472 fixed a minor typo (#6600)
(cherry picked from commit aeda84602f)
2016-06-14 15:29:34 -07:00
Dan Abramov
3a48eef3c8 Merge pull request #6605 from gaearon/fix-warning-condition
Fix the warning condition in ReactDebugTool and ReactDOMDebugTool
(cherry picked from commit 7dbc95f379)
2016-06-14 15:29:34 -07:00
Qin Junwen
f80da18f2e Update 10.4-test-utils.md (#6971)
The find/scry methods which returns DOM component in react@0.13 now returns DOMElement in react@0.14 and later.
(cherry picked from commit a394ed6a6c)
2016-06-14 15:02:24 -07:00
Robert Haritonov
c4c800416f Add React Amsterdam conference to the list (#7028)
(cherry picked from commit 4577db6d3c)
2016-06-14 15:02:24 -07:00
nhducit
a6e4c9210d Update 03-interactivity-and-dynamic-uis.md (#7015)
(cherry picked from commit eda159cd28)
2016-06-14 15:02:23 -07:00
Ryo Shibayama
764519245b Fix Japanese/Italian/Korean tutorials (#7020)
* Fix japanese tutorial

* Fix Italian tutorial as same as e4fe662

* Fix Korean tutorial as same as e4fe662

(cherry picked from commit e487c36ec0)
2016-06-14 15:02:23 -07:00
inkinworld
902a15d149 Update 12-context.md (#6973)
Modify a clerical error
(cherry picked from commit 665633a1b7)
2016-06-14 15:02:23 -07:00
Ben Alpert
3e61ccc2d4 Wordsmith the homepage (#7022)
(cherry picked from commit 96d2a30c25)
2016-06-13 12:40:31 -07:00
Ben Alpert
3aaf9abb73 New marketing copy on homepage (#7012)
(cherry picked from commit c7868cc741)
2016-06-10 19:47:53 -07:00
ogom
e348891410 Updte tutorial to ja-JP (#6967)
(cherry picked from commit 9c7f895783)
2016-06-08 19:31:35 -07:00
Yusong Liu
45469fbde9 Fix the typo in the documentaion pages for shallowCompare (#6980)
* fix the typo for the docs of shallowCompare at:
https://facebook.github.io/react/docs/shallow-compare.html

* change "value" to "values" to match the two objects.

(cherry picked from commit 5331323cd2)
2016-06-08 19:31:35 -07:00
Keyan Zhang
0bc349c450 temporarily disabled tests under ./scripts 2016-06-07 16:09:15 -07:00
Keyan Zhang
6aacfdb9ba Add a gulp script for extracting error codes (#6882)
(cherry picked from commit bfd1531eca)
2016-06-07 15:08:42 -07:00
Keyan Zhang
5aa1c3547e [Docs] Error Decoder Page (#6946)
(cherry picked from commit cf73de9459)
2016-06-07 14:47:52 -07:00
Daniel Rosenwasser
c1c31f2cba Update link and description of TypeScript support. (#6953)
(cherry picked from commit 6b3f11cdd7)
2016-06-03 14:46:59 -07:00
Ben Alpert
79707ca3ee Use remarkable instead of marked (#6961)
https://github.com/reactjs/react-tutorial/issues/139
(cherry picked from commit 1801d56500)
2016-06-03 14:41:50 -07:00
Ben Alpert
5fcb784294 Remove Flux from docs nav (#6945)
Most people don't use the official Flux implementation or docs so I think this is likely to be more confusing than helpful. Maybe later we can add a better comparison of data management solutions.
(cherry picked from commit 9498747606)
2016-06-01 11:42:00 -07:00
hjmoss
0a1e5eb93b Grammar: less dependencies -> fewer dependencies (#6917)
* Grammar: less dependencies -> fewer dependencies

* changelog.md grammar: less dependencies -> fewer dependencies

(cherry picked from commit 4e82e8b6e6)
2016-05-31 12:15:48 -07:00
Toru Kobayashi
826d2ac716 Remove getDOMNode from docs (#6919)
(cherry picked from commit 97b44085ff)
2016-05-31 12:15:48 -07:00
Paul O’Shannessy
878644b358 [docs] Use existing layout for redirecting html-jsx (#6904)
(cherry picked from commit d87005e0b6)
2016-05-31 12:15:48 -07:00
Ilya Gelman
ef4efcced1 Add ReactNext 2016 conference (#6833)
(cherry picked from commit b0cb4e850d)
2016-05-31 12:15:48 -07:00
Daniel Lo Nigro
9e1a44e6bb Move HTMLtoJSX page off React site. References https://github.com/reactjs/react-magic/issues/52 (#6608)
(cherry picked from commit 871116f001)
2016-05-31 12:15:48 -07:00
Daniel Lo Nigro
7819816cc9 Add link to ReactJS.NET on server-side environments page (#6607)
(cherry picked from commit d81f3297aa)
2016-05-31 12:15:48 -07:00
Keyan Zhang
087c4c8b3c switched to codemirror's jsx mode (#6898)
(cherry picked from commit c8bab76091)
2016-05-31 12:15:47 -07:00
Dan Abramov
b370918e0c Merge pull request #6890 from grgur/patch-1
Added React Europe 2015 videos
(cherry picked from commit 1d3aceb6c3)
2016-05-31 12:15:47 -07:00
Andrew Clark
e6ad21933b Clarify that string refs are considered legacy. (#6692)
(cherry picked from commit d7ced68dce)
2016-05-31 12:15:47 -07:00
Alex Zherdev
22b96dd414 Context docs updated with ES6 examples (#6852)
(cherry picked from commit 6a101b6c10)
2016-05-31 12:15:47 -07:00
Vedat Mahir YILMAZ
aa2edb427a Interactivity and Dynamic UIs Docs page updated with ES6 Example (#6832)
* Interactivity and Dynamic UIs Pages ES6 Example

* Change bind handler

(cherry picked from commit c7ef0af54b)
2016-05-31 12:15:47 -07:00
Keyan Zhang
39d6f49896 Merge pull request #6814 from Ivanwangcy/master
Update 03-interactivity-and-dynamic-uis.zh-CN.md
(cherry picked from commit e1e34274f6)
2016-05-31 12:15:47 -07:00
hao.huang
e0a82f4921 Add permalink (#6813)
Add permalink to this doc,so we can access with 'prev' and 'next'
(cherry picked from commit 09fdd1d578)
2016-05-31 12:15:47 -07:00
Ben Alpert
b95a23ce78 Point people to prod build in perf docs (#6857)
(cherry picked from commit 43b63995a8)
2016-05-24 11:11:07 -07:00
Paul O’Shannessy
7842c19934 Update website for 15.1.0 2016-05-20 15:57:02 -07:00
Paul O’Shannessy
fef495942a 15.1.0 2016-05-20 15:54:35 -07:00
Paul O’Shannessy
b7d480986a Update readme for 15.1.0 2016-05-20 15:44:48 -07:00
Paul O’Shannessy
da6a30b022 Merge branch '15.1.0-dev' into 15-stable 2016-05-20 15:41:45 -07:00
Paul O’Shannessy
bca912f91e Changelog for 15.1.0 2016-05-20 15:20:11 -07:00
Dan Abramov
5b77fff586 Merge pull request #6753 from facebook/fix-6750
Fix a memory leak in ReactComponentTreeDevtool
(cherry picked from commit de1bb7a71f)
2016-05-19 22:56:28 -07:00
Dan Abramov
95db5bab42 Merge pull request #6752 from facebook/fix-6742
Fix ReactPerf.printOperations() crash
(cherry picked from commit 027d9a919b)
2016-05-19 22:56:22 -07:00
Rachel D. Cartwright
b4c1356d18 make test utils format consistent (#6777)
(cherry picked from commit 207fe0b478)
2016-05-16 13:00:48 -07:00
djskinner
668dd47700 Refer to correct example (#6760)
I *think* this should refer to the second example, where the instance to the ref is stored. In any case please can someone confirm for my own understanding?
(cherry picked from commit 712b1f75bf)
2016-05-16 13:00:43 -07:00
Chad Fawcett
d9bcda01db Add information on JSX element keys (#6751)
(cherry picked from commit 5d64199bb6)
2016-05-16 13:00:33 -07:00
Jarrod Mosen
8c50a04455 Fix grammar on homepage (#6746)
* Fix grammar in README

* Change DOM abstraction grammar on homepage

(cherry picked from commit 01b060d7dc)
2016-05-16 13:00:25 -07:00
hao.huang
80b849e2a0 Add permalink (#6713)
Add permalink to docs, so we can access with 'prev' and 'next'
(cherry picked from commit 92bebcad5f)
2016-05-16 13:00:20 -07:00
Ben Alpert
e15a7d1f7e Revert "Don't wrap drag events in IE/Edge in dev builds" (#6741)
(cherry picked from commit 98cb2f8507)
2016-05-12 11:38:07 -07:00
Paul O’Shannessy
7da8884581 15.1.0-alpha.1 2016-05-09 22:25:33 -07:00
Paul O’Shannessy
871523c8f4 Shrinkwrap to pick up jest upgrade 2016-05-09 22:22:41 -07:00
Dan Abramov
09172b112f Merge pull request #6647 from gaearon/bye-bye-reactperf
Replace ReactPerf with new implementation
(cherry picked from commit b6a6078167)
2016-05-09 22:07:49 -07:00
Desmond Brand
3adc4a6e0e Add links to docs for addons and top level API (#6555)
This makes it easier to figure out where the docs live.

Googling for e.g. `react-addons-update` also works, but this should
make things easier for people that hyperclick directly to the source.
(cherry picked from commit db175052c0)
2016-05-09 22:07:42 -07:00
Ben Alpert
b29bf7515b Fix bug with double updates in a single batch (#6650)
Fixes #2410. Fixes #6371. Fixes #6538.

I also manually tested the codepen in #3762 and verified it now works.
(cherry picked from commit c1e3f7ec14)
2016-05-09 22:05:32 -07:00
Dan Abramov
cba62feeec Merge pull request #6633 from gaearon/native-tree-devtool
Make ReactComponentTreeDevtool work with React Native
(cherry picked from commit 45ec1265eb)
2016-05-09 22:05:16 -07:00
Christoph Pojer
09c6d53e64 Merge pull request #6620 from cpojer/master
Update to Jest 12. Codemod to new Jest APIs.
(cherry picked from commit d07b554291)
2016-05-09 22:05:09 -07:00
Dan Abramov
78aa706491 Merge pull request #6046 from gaearon/new-perf
Add new ReactPerf
(cherry picked from commit 98a8f49068)
2016-05-09 21:54:42 -07:00
Dan Abramov
f50d542ff7 Merge pull request #6612 from gaearon/instrumentation-new-operations
Add ReactNativeOperationHistoryDevtool to track native operations
(cherry picked from commit 3bdf09e86f)
2016-05-09 21:54:36 -07:00
Dan Abramov
583d7205c6 Merge pull request #6549 from gaearon/instrumentation-new
Provide info about component tree to devtools
(cherry picked from commit 76a4c46dba)
2016-05-09 21:54:23 -07:00
Jim
1f1dba92a8 Merge pull request #6364 from p-jackson/issue-5700
Don't wrap drag events in IE/Edge in dev builds
(cherry picked from commit 2e8f28c29f)
2016-05-09 21:54:17 -07:00
Jim
258e591e45 Merge pull request #6341 from borisyankov/master
Add more information to warning 'Input elements must be either controlled or uncontrolled'
(cherry picked from commit 006058daa5)
2016-05-09 21:54:12 -07:00
Jim
42d27cd152 Merge pull request #6134 from richardscarrott/master
Warn if props obj passed into createElement / cloneElement inherits from anything other than Object
(cherry picked from commit 7b47e3e537)
2016-05-09 21:53:51 -07:00
Paul O’Shannessy
d8d6c7a07b 15.0.3-alpha.2 2016-05-09 21:32:13 -07:00
Paul O’Shannessy
4f0163fd38 Ensure babelrc gets added to zipfile too (#6688)
(cherry picked from commit 48f4684b5f)
2016-05-09 21:29:12 -07:00
Jim
0244879c8f Basic SSR support for error boundaries (#6694)
(cherry picked from commit 96cb8c5fc4)
2016-05-09 21:23:44 -07:00
Andreas Svensson
743e4c6231 DOMLazyTree, populate <object> before insertion into DOM (#6691)
(cherry picked from commit 2af4765a2a)
2016-05-09 21:23:38 -07:00
Tanase Hagi
c3d99b5292 Update examples/basic-commonjs/package.json (#6685)
(cherry picked from commit 83521bddb0)
2016-05-09 21:22:54 -07:00
Jake Boone
d1f519e0cd Grammar correction in ReactDOMInput.js warning (#6657)
Changed "a uncontrolled input" to "an uncontrolled input".
(cherry picked from commit 393a1798fa)
2016-05-09 21:19:51 -07:00
Brandon Dail
ff3cec5beb Return early from enqueuePutListener for SSR (#6678)
(cherry picked from commit eb116482a3)
2016-05-09 21:19:42 -07:00
Jan Schär
b0deadc05d Allow custom elements extending native ones (#6570)
...by passing the `is` attribute as the second param to `createElement`.
See http://webcomponents.org/polyfills/custom-elements/
(cherry picked from commit 3d31361cfb)
2016-05-09 21:16:51 -07:00
Dan Abramov
ced4ef9ad6 Fix zh-TW permalink 2016-05-10 02:21:01 +01:00
Dan Abramov
ca19ae5ad0 Fix ru-RU doc page permalinks
Fixes #6735
2016-05-10 01:48:48 +01:00
Dan Abramov
9460263e41 Merge pull request #6730 from elas7/fix-docs
[docs] Remove mention of 'nested object' as an allowed children in React.Children.map
(cherry picked from commit 982e096eb5)
2016-05-09 15:37:45 -07:00
Yaxian
197ecabb9a refine the translation of chapter 12-context (#6665)
(cherry picked from commit 9ddf9e137e)
2016-05-09 15:37:38 -07:00
Dan Abramov
ee459684f1 Merge pull request #6696 from dotu/patch-3
Create 03-interactivity-and-dynamic-uis.ru-RU.md
(cherry picked from commit 590ee490f9)
2016-05-09 15:37:34 -07:00
Kevin Suttle
6516c72ef1 Fix broken link to TypeScript docs (#6687)
(cherry picked from commit 3370db14bb)
2016-05-09 15:37:28 -07:00
Dan Abramov
9d022818e1 Merge pull request #6669 from dotu/patch-2
Create 02-displaying-data.ru-RU.md
(cherry picked from commit 4ed46ec52f)
2016-05-09 15:37:20 -07:00
Andrey Safronov
b9ae9f5f38 Create 01-why-react.ru-RU.md (#6659)
* Create 01-why-react.ru-RU.md

* Create 01-why-react.ru-RU.md

Translation for language code [ru-RU](https://en.wikipedia.org/wiki/Russian_language)

* Create 01-why-react.ru-RU.md

Errors fixes

* Update 01-why-react.ru-RU.md

исправил "чтобы решить".
спасибо за отзывчивость. надеюсь дальнейшие переводы хоть немного помогут распространению React в России :)

(cherry picked from commit 08e568cfc8)
2016-05-09 15:37:16 -07:00
Jackson Huang
b8ac9e1597 Create 01-why-react.zh-TW.md (#6470)
* Create 01-why-react.zh-TW.md

Translation for language code [zh-TW](https://en.wikipedia.org/wiki/Zh-TW)

* Update 01-why-react.zh-TW.md

change "封裝性非常好" to "封裝性高"

(cherry picked from commit 44f84634d7)
2016-05-09 15:37:09 -07:00
Simen Bekkhus
9537b240de Add note on how to submit a form (#6594)
(cherry picked from commit 772468183f)
2016-05-09 15:37:05 -07:00
Dan Abramov
9c6de78844 Merge pull request #6628 from sheerun/patch-1
Document stateless components in formal types
(cherry picked from commit af1a21289b)
2016-05-09 15:36:43 -07:00
Yan Li
6bb4fea31d adds ReactRally & Reactive 2016 + conf locations (#6623)
(cherry picked from commit 71179459de)
2016-05-09 15:36:35 -07:00
z.ky
97849a08cd Update tutorial - add link for starting server (#6602)
To be extra helpful to beginners, and avoid questions like this: http://stackoverflow.com/questions/35758956/react-tutorial-how-do-i-start-the-server
(cherry picked from commit f4e608fc2e)
2016-05-09 15:31:35 -07:00
Paul O’Shannessy
2f435912d8 Shrinkwrap to account for updated object-assign 2016-05-03 12:38:01 -07:00
Paul O’Shannessy
d737dc6dd2 15.0.3-alpha.1 2016-05-03 12:21:33 -07:00
Paul O’Shannessy
1b22f12acd Ensure we're using latest object-assign (#6681)
This picks up the change to feature test against order bugs.
(cherry picked from commit 468901c336)
2016-05-03 12:18:46 -07:00
Pieter De Baets
69bb9e3c8c Remove some mocks that are already packaged by InitializeJavaScriptAppEngine (#6642)
(cherry picked from commit 760b1ef4c3)
2016-05-03 12:03:13 -07:00
Pieter De Baets
772b5f9a5a Move ReactIOS components to native subfolder (#6643)
* Move ReactIOS components to ReactNative
* Drop ReactNative subfolder
(cherry picked from commit 222f5087fe)
2016-05-03 12:02:35 -07:00
Sebastian Markbåge
64acaca8ee Use spread instead of deprecated merge utility (#6634)
(cherry picked from commit 72ba5971ae)
2016-05-03 11:50:28 -07:00
Sebastian Markbåge
0008beb1fb Get rid of transformMatrix/decomposeMatrix special case (#6660)
This is no longer needed on the native side.

This is also the last use of the Platform flag. React Core is now
platform agnostic with regard to React Native. So I'll remove
the mocks and dependency.
(cherry picked from commit 0e4b046634)
2016-05-03 11:44:02 -07:00
Paul O’Shannessy
846b5ea252 Update website for 15.0.2 2016-04-29 17:34:00 -07:00
Paul O’Shannessy
de0b0b3705 15.0.2 2016-04-29 17:32:43 -07:00
Paul O’Shannessy
4dec99c61e Update readme for 15.0.2 2016-04-29 17:28:09 -07:00
Paul O’Shannessy
18d715b86e Merge branch '15.0.2-dev' into 15-stable 2016-04-29 17:27:26 -07:00
Paul O’Shannessy
a157791264 Changelog for 15.0.2 2016-04-29 17:04:18 -07:00
Paul O’Shannessy
590d82bc33 Ensure babelrc file gets packaged for starter kit (#6617)
(cherry picked from commit 096e5c7cf7)
2016-04-28 00:41:34 -07:00
Paul O’Shannessy
a210dacdf4 15.0.2-alpha.4 2016-04-27 23:54:09 -07:00
Jim
1dfaa528f8 ComponentWillUnmount should only ever be invoked once (#6613)
(cherry picked from commit 8dfdac6780)
2016-04-27 23:32:08 -07:00
Esteban
8c811778d6 Fix return type in onlyChild's JSDoc (#6573)
The return type is a 'ReactElement' instead of a 'ReactComponent'.
(cherry picked from commit 416f315c96)
2016-04-27 23:20:27 -07:00
Esteban
395ae75eb3 Fix mapFunction parameters in mapChildren's JSDoc (#6569)
Remove 'key' parameter from 'mapFunction(child, key, index)'. It is no longer called with 'key'.
(cherry picked from commit 9462d0d040)
2016-04-27 23:19:52 -07:00
Ike Peters
2606966b43 properly handling invalid scryRenderedDOMComponentsWithClass args (#6529)
properly handling invalid scryRenderedDOMComponentsWithClass args

properly handle invalid scryRenderedDOMComponentsWithClass args
(cherry picked from commit 9df54e0fce)
2016-04-27 23:19:22 -07:00
Dan Abramov
c98f0e6631 Merge pull request #6516 from gaearon/ignore-dom-writes-outside-batch
Ignore DOM writes outside the batch in ReactPerf
(cherry picked from commit 6a93137f0e)
2016-04-27 23:18:17 -07:00
Paul O’Shannessy
a7714585bb Merge pull request #6504 from alexlur/patch-1
Replaces Array#map with Array#forEach
(cherry picked from commit 932334d3d4)
2016-04-27 23:13:18 -07:00
hkal
da6e4853be Helper for escaping and unescpaing component keys (#6500)
- Abstract escaping
- Provide human readible same key warnings
(cherry picked from commit dc6fc8cc07)
2016-04-27 23:12:19 -07:00
Ben Alpert
afba0f3da7 Merge pull request #6469 from keyanzhang/validate-foreignObject-children
Ensure validateDOMNesting catches nested body elements
(cherry picked from commit 4016e71609)
2016-04-27 23:10:30 -07:00
Jim
d2b947c351 Merge pull request #6462 from Wildhoney/master
Re-added support for attaching events to document fragments
(cherry picked from commit 0b1fd18685)
2016-04-27 23:09:50 -07:00
Jim
d1ba51bc84 Merge pull request #6442 from trevorsmith/master
Correctly select options when nested inside an optgroup
(cherry picked from commit 5ac51c39a0)
2016-04-27 23:06:43 -07:00
Dan Abramov
9d73b2339a Merge pull request #6388 from gaearon/bye-bye-deprecated-utils
Remove OrderedMap and ReactPropTransferer
(cherry picked from commit b8f8360b5c)
2016-04-27 23:05:48 -07:00
Dan Abramov
e88c96b1d7 Merge pull request #6362 from gaearon/no-owner-in-test-utils
Elements from functional components in TestUtils should have no owner
(cherry picked from commit ae56910573)
2016-04-27 22:59:40 -07:00
Dan Abramov
3655e30adb Merge pull request #6215 from nhunzaker/nh-fix-disabled-inputs
Disabled inputs should not respond to clicks in IE
(cherry picked from commit 36e4fe54a8)
2016-04-27 22:54:46 -07:00
Paul O’Shannessy
112a400662 15.0.2-alpha.3 2016-04-25 12:55:13 -07:00
Sebastian Markbåge
33a9603e93 Ignore events fired on missing React Native instances
This can happen if something gets unmounted before the event gets
dispatched. I'm not sure how this works out exactly but this
preserves previous behavior in this scenario.
(cherry picked from commit 69b6869a3e)
2016-04-25 12:53:02 -07:00
Sebastian Markbåge
ae6dfa9dae Merge pull request #6588 from sahrens/patch-3
Delete ReactNativeGlobalInteractionHandler.js
(cherry picked from commit 2f2ed71bd0)
2016-04-25 12:52:52 -07:00
Sebastian Markbåge
c05ae26ec8 Merge pull request #6587 from sahrens/patch-2
Move PanResponder back to react-native repo temporarily.
(cherry picked from commit ea504521d5)
2016-04-25 12:52:46 -07:00
Sebastian Markbåge
3b2f29ef69 Merge pull request #6584 from sahrens/patch-1
[RN] Don't hold interaction handles for all touches
(cherry picked from commit aacb5467a0)
2016-04-25 12:52:41 -07:00
Denis Laxalde
ecb61403d7 Remove mention of deprecated ReactLink add-on (#6535)
(cherry picked from commit de7d1da997)
2016-04-22 13:13:07 -07:00
Paul O’Shannessy
9eb37bff49 Merge pull request #6519 from zpao/envdocsfixup
Cleanup environments doc
(cherry picked from commit befb70e42f)
2016-04-22 13:12:02 -07:00
Minwei Xu
605109021f ref-09-webcomponents.zh-CN.md (#6561)
(cherry picked from commit b7a2409919)
2016-04-22 13:11:55 -07:00
Adrian Sieber
a3b7699f42 Minor fixes (#6527)
* Fix typos in CHANGELOG.md

* Fix typos in 2014-11-24-react-js-conf-updates.md

(cherry picked from commit 8156ee0cab)
2016-04-22 13:11:48 -07:00
Jim
3251460ebd Mention Enzyme on the test utils page. (#6523)
(cherry picked from commit a12aab10cb)
2016-04-22 13:11:31 -07:00
Paul O’Shannessy
ec036ed185 Merge pull request #6576 from yuji0602/tutorial_md_sample_json_change
Changed example json value.
2016-04-22 10:40:18 -07:00
yuji0602
5922ea1a0c Changed example json value. 2016-04-22 13:38:01 +09:00
Ben Alpert
1fb7d64171 15.0.2-alpha.2 2016-04-21 15:18:27 -07:00
Ben Alpert
fd8aa077e3 Merge pull request #6572 from spicyj/rn-batch
Batch event handling in React Native
2016-04-21 15:15:19 -07:00
Paul O’Shannessy
3e8a2aaddb 15.0.2-alpha.1 2016-04-20 10:37:33 -07:00
Paul O’Shannessy
c81c29ae58 Merge pull request #6553 from zpao/cleanuppkg
Clean up package.json after #6338
(cherry picked from commit bddecc9696)
2016-04-20 10:37:03 -07:00
Sebastian Markbåge
5b4b6e7999 Merge pull request #6338 from sebmarkbage/reactnative2
Move React Core Integration and Injection to the Core Repo
(cherry picked from commit c84ad52ddb)
2016-04-20 09:39:50 -07:00
Jim
f565c92e38 Added docs for environment integration.
(cherry picked from commit 66bfee6543)
2016-04-14 12:32:35 -07:00
Jim
fc4bf8158a Create section on using React with package managers.
(cherry picked from commit c01c46b88a)
2016-04-14 12:31:31 -07:00
Dan Abramov
7cd3aa7a1e Use the same changelog format as 15.0 post 2016-04-08 23:01:15 +01:00
Jim
ab4057880e Merge pull request #6443 from Aweary/patch-1
Grammar fix for 15.0 blog post
(cherry picked from commit 09022b165f)
2016-04-08 11:29:06 -07:00
Paul O’Shannessy
d72885b383 Actually bump version on website 2016-04-08 11:28:52 -07:00
Paul O’Shannessy
fd1476e3aa Update website for 15.0.1 2016-04-08 11:22:55 -07:00
Paul O’Shannessy
142e4ebb57 15.0.1 blog post 2016-04-08 11:12:26 -07:00
Paul O’Shannessy
ca92b9104c 15.0.1 2016-04-08 11:12:25 -07:00
Paul O’Shannessy
a6179d03f3 Update changelog & readme for 15.0.1 2016-04-08 11:12:25 -07:00
Ben Alpert
8afaf0380f Merge pull request #6449 from spicyj/option-value
Set value using attribute only on initial option render
(cherry picked from commit 2b1bd1d7fe)
2016-04-07 21:47:58 -07:00
Paul O’Shannessy
ca0c409b6f Merge pull request #6444 from zpao/re__spreadwarn
Add back React.__spread and make it warn
(cherry picked from commit 516c1d809e)
2016-04-07 17:49:05 -07:00
Paul O’Shannessy
177796ff79 Fix extraneous markup in changelog 2016-04-07 17:49:05 -07:00
Paul O’Shannessy
da3be881ba [docs] Clarify data-reactid in v15 post
(cherry picked from commit 6fd2b29ec8)
2016-04-07 15:27:37 -07:00
Dan Abramov
1a0ec77094 Add the missing download
(cherry picked from commit 1aee28ef1b)
2016-04-07 14:33:05 -07:00
Jim
e226021c5e Merge pull request #6400 from jimfb/return-value-legacy
Document legacyness of the return value of ReactDOM.render()
(cherry picked from commit 1dc7c581db)
2016-04-07 14:28:20 -07:00
Jim
1942c6a035 Merge pull request #6419 from IvanVergiliev/master
Add documentation about empty functional components
(cherry picked from commit 62f64a84a4)
2016-04-07 14:28:14 -07:00
Paul O’Shannessy
c49166401a Update readme for v15 2016-04-07 13:59:21 -07:00
Paul O’Shannessy
500c0003b2 Update Changelog for v15 2016-04-07 13:58:15 -07:00
Paul O’Shannessy
0275d77fc0 [docs] Update site for v15 2016-04-07 13:58:15 -07:00
Dan Abramov
67a4b12e27 Add React 15 post 2016-04-07 13:58:14 -07:00
Paul O’Shannessy
d1c08f11d5 v15.0.0 2016-04-07 12:07:50 -07:00
Paul O’Shannessy
40c0867f63 [docs] Update acknowledgements for v15 2016-04-07 12:04:24 -07:00
Paul O’Shannessy
7081a85ace Shrinkwrap for release branch 2016-04-07 11:55:23 -07:00
Paul O’Shannessy
e8615daaed Merge pull request #6428 from zpao/15-docs-attrs
[docs] Update supported attrs, clarified what supported elements actually means
2016-04-07 11:22:55 -07:00
Sebastian Markbåge
a37e4e94fc Merge pull request #6431 from sebmarkbage/killspread
Kill React.__spread
2016-04-06 18:42:45 -07:00
Paul O’Shannessy
411951d5b8 Merge pull request #6432 from zpao/testutilsinlinerequiresinject
Ensure default injection is injected for test utils
2016-04-06 17:43:26 -07:00
Paul O’Shannessy
95cd88d07a Ensure default injection is injected for test utils 2016-04-06 17:43:08 -07:00
Sebastian Markbage
a142fd2578 Kill React.__spread
This was only for a JSTransform related experiment that is now
dead along with JSTransform.
2016-04-06 17:08:50 -07:00
Paul O’Shannessy
e19353cdb5 Merge pull request #6429 from zpao/viceversa2words
Fix "vice versa" in warning message
2016-04-06 16:46:19 -07:00
Paul O’Shannessy
ff7cc5dc4e Merge pull request #6430 from formido/patch-1
Fix briefly confusing typo
2016-04-06 16:27:38 -07:00
Paul O’Shannessy
a55579af0a Merge pull request #6426 from zpao/valuetest
Fix tests for value change
2016-04-06 16:24:09 -07:00
Michael Terry
edbe103094 Fix briefly confusing typo
There are two examples of a text input with initial value  of "Hello!" on this page, a controlled and an uncontrolled. The explanation for the uncontrolled version mistakenly says it works much like the earlier "uncontrolled" example, but the earlier example was the controlled version.
2016-04-06 15:57:48 -07:00
Paul O’Shannessy
a10665cac0 Fix "vice versa" in warning message
The phrase is 2 words, not 1.
2016-04-06 15:51:06 -07:00
Paul O’Shannessy
a7af9c6ce4 [docs] Update supported attrs, clarified what supported elements actually means 2016-04-06 15:41:56 -07:00
Paul O’Shannessy
65c68b5a04 Merge pull request #6380 from zpao/simulatewarning
Make sure simulated events don't warn when providing extra event properties
2016-04-06 14:59:22 -07:00
Paul O’Shannessy
3f9e21f4eb Merge pull request #6413 from zpao/deps-cleanup
Upgrade a few package dependencies, remove unused task
2016-04-06 14:23:54 -07:00
Paul O’Shannessy
cf1a96611f Fix tests for value change 2016-04-06 13:43:59 -07:00
Paul O’Shannessy
42b1cba048 Make sure simulated events don't warn when providing extra event properties 2016-04-05 14:53:25 -07:00
Paul O’Shannessy
622e84bcfe Merge pull request #6415 from sebmarkbage/typofix
Fix typo
2016-04-05 14:30:48 -07:00
Sebastian Markbage
2d069fc5e6 Fix typo
Resets currentTarget on the pooled event instead of adding an
expando.
2016-04-05 13:40:49 -07:00
Jim
add9ccedd6 Merge pull request #6408 from facebook/gaearon-patch-2
Remove 15 RC1 changelog entry that was fixed in 0.14
2016-04-05 13:29:59 -07:00
Paul O’Shannessy
d10b355b42 Merge pull request #6228 from everdimension/fix_option_value
set value property explicitly for "option" element even if value is empty
2016-04-05 13:27:13 -07:00
Paul O’Shannessy
b72a098657 Upgrade browserify 2016-04-05 10:53:53 -07:00
Paul O’Shannessy
3cd39cbb8f Upgrade fbjs 2016-04-05 10:50:54 -07:00
Paul O’Shannessy
90856ee61b Remove jsx task & jsx-internal script
These haven't been used in a long time so it's time to get rid of them.
2016-04-05 10:18:42 -07:00
Dan Abramov
67ff7104a1 Remove another 0.14 changelog entry for 15 RC1 release notes 2016-04-05 01:32:38 +01:00
Dan Abramov
b151e7fd3b Remove 15 RC1 changelog entry that was fixed in 0.14 2016-04-05 00:49:07 +01:00
Paul O’Shannessy
80bff5397b Merge pull request #6376 from zpao/object.assign
Use object-assign instead of our own dated "polyfill"
2016-04-04 10:21:39 -07:00
Paul O’Shannessy
1573baaee8 Use Object.assign directly and inject object-assign at compile 2016-04-04 09:53:25 -07:00
Paul O’Shannessy
f7db143b41 Update authors for v15
* fix conor

* one fewer jonathan

* nakazye

* Third9 & translucens

* zjjw

* rebase on master to pick up recent changes

* rebase

* shogunsea

* couple names for mailmap

* iawia002

* rebase

* terry3, speedskater

* rebase, handle duplicate mark

* more
2016-04-04 09:46:23 -07:00
Dan Abramov
b0d1e16271 Merge pull request #6405 from facebook/gaearon-patch-2
Clarify that ReactPerf.getLastMeasurements() is now opaque
2016-04-04 17:02:45 +01:00
Dan Abramov
30dc842e34 Clarify that ReactPerf.getLastMeasurements() is now opaque 2016-04-04 16:29:53 +01:00
Dan Abramov
14b19870fe Merge pull request #5731 from MatthewHerbst/docs-arrayof-custom-validator
Documentation for arrayOf custom item validator
2016-04-02 14:12:23 +01:00
Matthew Herbst
0c89da5b25 Added new documentation showing use of a custom validator for arrayOf or objectOf, specifically how the method signature for such a validator differs from the customProp validator method signature. Made minor edits to error message for customProp example to match error messages found in src. 2016-04-02 19:28:25 +08:00
Dan Abramov
44c699a465 Merge pull request #6399 from facebook/gaearon-flip-dev
Flip __DEV__ assignments in ReactDOMProduction-test
2016-04-02 01:25:11 +01:00
Dan Abramov
ec1462834e Update ReactDOMProduction-test.js 2016-04-02 00:53:01 +01:00
Dan Abramov
a5c164daca Merge pull request #6389 from gaearon/reactperf-reactdebuginstancemap
Add ReactDebugInstanceMap
2016-04-01 23:32:20 +01:00
Dan Abramov
599582c3b2 Merge pull request #6392 from facebook/gaearon-add-meeting-notes
Link to the meeting notes from Contributing
2016-04-01 18:32:52 +01:00
Dan Abramov
51bfe2d1f3 Link to the meeting notes 2016-04-01 17:58:55 +01:00
Dan Abramov
575fb79162 Add ReactDebugInstanceMap
This PR is the first in a series of pull requests split from the new `ReactPerf` implementation in #6046.

Here, we introduce a new module called `ReactDebugInstanceMap`. It will be used in `__DEV__` and, when the `__PROFILE__` gate is added, in the `__PROFILE__` builds. It will *not* be used in the production builds.

This module acts as a mapping between “debug IDs” (a new concept) and the internal instances. Not to be confused with the existing `ReactInstanceMap` that maps internal instances to public instances.

What are the “debug IDs” and why do we need them? Both the new `ReactPerf` and other consumers of the devtool API, such as React DevTools, need access to some data from the internal instances, such as the instance type display name, current props and children, and so on. Right now we let such tools access internal instances directly but this hurts our ability to refactor their implementations and burdens React DevTools with undesired implementation details such as having to support React ART in a special way.[1]

The purpose of adding `ReactDebugInstanceMap` is to only expose “debug IDs” instead of the internal instances to any devtools. In a future RP, whenever there is an event such as mounting, updating, or unmounting a component, we will emit an event in `ReactDebugTool` with the debug ID of the instance. We will also add an introspection API that lets the consumer pass an ID and get the information about the current children, props, state, display name, and so on, without exposing the internal instances.

`ReactDebugInstanceMap` has a concept of “registering” an instance. We plan to add the hooks that register an instance as soon as it is created, and unregister it during unmounting. It will only be possible to read information about the instance while it is still registered. If we add support for reparenting, we should be able to move the (un)registration code to different places in the component lifecycle without changing this code. The currently registered instances are held in the `registeredInstancesByIDs` dictionary.

There is also a reverse lookup dictionary called `allInstancesToIDs` which maps instances back to their IDs. It is implemented as a `WeakMap` so the keys are stable and we’re not holding onto the unregistered instances. If we’re not happy with `WeakMap`, one possible alternative would be to add a new field called `_debugID` to all the internal instances, but we don’t want to do this in production. Using `WeakMap` seems like a simpler solution here (and stable IDs are a nice bonus). This, however, means that the `__DEV__` (and the future `__PROFILE__`) builds will only work in browsers that support our usage of `WeakMap`.

[1]: 577ec9b8d9/backend/getData.js
2016-03-31 17:58:55 +01:00
Jim
eb85b7b2c9 Merge pull request #6381 from cbrwizard/clipboard_event_unit_tests
SyntheticClipboardEvent unit tests
2016-03-31 07:37:31 -07:00
Jim
7a8c460e03 Merge pull request #6367 from sottar/translate-thinking-in-react.md-to-Japanese
Translate thinking-in-react.md to Japanese
2016-03-30 20:52:08 -07:00
Dan Abramov
cbe72d4b97 Merge pull request #6383 from gaearon/consistent-spies
Spy at warnings consistently inside test cases
2016-03-30 23:58:15 +01:00
Dan Abramov
b6bc4bd996 Spy at warnings consistently inside test cases
We move any spies on `console.error()` from `beforeEach()` to the individual `it()` tests. This means that if a new test is introduced in these suites, it does not ignore warnings by default, but fails on any unexpected warning, which is Jest's default behavior.

We also change a few old instances of direct `console.error = jest.genMockFn()` assignment to use `spyOn()` for consistency with the rest of the tests.
2016-03-30 22:01:20 +01:00
cbrwizard
e6e38d0f9c SyntheticClipboardEvent unit tests
Adds unit tests for a SyntheticClipboardEvent.
2016-03-30 23:09:23 +03:00
Dan Abramov
05b05c4c81 Merge pull request #6363 from facebook/gaearon-patch-1
Document how to avoid wrapper in ReactTransitionGroup
2016-03-30 01:17:48 +01:00
Dan Abramov
531205065f Document how to avoid wrapper in ReactTransitionGroup
Thanks to @rayshan for some rewording tips too!
2016-03-30 01:16:37 +01:00
Dan Abramov
03fe7dbb37 Fixed paren balance in the doc 2016-03-29 21:30:49 +01:00
Jim
d9ca95c44f Merge pull request #6374 from mfunkie/patch-3
Link to "No Autobinding" section for ES6 classes.
2016-03-29 13:25:52 -07:00
Mark Funk
58a86f6c6c Link to "No Autobinding" section for ES6 classes.
There's a more descriptive section about the lack of Autobinding in ES6 classes and suggestions around it, so this commit adds a link to that section.
2016-03-29 13:19:38 -07:00
Dan Abramov
4910c3bcce Merge pull request #6373 from mfunkie/patch-2
Update ES6 class documentation with binding perf
2016-03-29 20:58:16 +01:00
Mark Funk
fb13cf55fe Update ES6 class documentation with binding perf
Adding a note in the ES6 class documentation about function binding.  Recommending that you bind your handlers in the constructor so that they are referentially the same function every time render is invoked (helps with child components that might potentially call shouldComponentUpdate)
2016-03-29 12:51:57 -07:00
Dan Abramov
b666a44ce1 Merge pull request #6360 from cbrwizard/SyntheticKeyboardEvent_unit_tests
SyntheticKeyboardEvent unit tests
2016-03-29 20:35:06 +01:00
cbrwizard
d743a8dd55 SyntheticKeyboardEvent unit tests
Adds unit tests for SyntheticKeyboardEvent.
2016-03-29 22:28:11 +03:00
Paul O’Shannessy
22a3d0387b Merge pull request #6337 from zpao/15-examples
Update examples for 15 (and other examples fixes)
2016-03-29 11:02:28 -07:00
Paul O’Shannessy
2baa3b7d2f Update examples for v15
- Update commonjs example to use Babel 6
- Update click counter example to match other examples
- Update jquery example
- Stop shipping webcomponents.js in starter kit
2016-03-29 11:00:48 -07:00
Dan Abramov
7f01c47658 Fix whitespace in 0.14.8 blog entry 2016-03-29 18:31:48 +01:00
Dan Abramov
d7fe7ecca5 Merge pull request #6370 from gaearon/148-post
Blog post for React 0.14.8
2016-03-29 17:22:50 +01:00
Dan Abramov
96c0cd061e Update README and CHANGELOG for 0.14.8 2016-03-29 17:07:21 +01:00
Dan Abramov
815d3514a7 Blog post for React 0.14.8 2016-03-29 16:47:11 +01:00
sottar
2890af02f1 Translate thinking-in-react.md to Japanese 2016-03-29 21:02:58 +09:00
Dan Abramov
a2780212ae Merge branch 'andreypopp-patch-1' 2016-03-27 00:25:40 +00:00
Dan Abramov
ba76649c3b Rename example package.json command for consistency with README 2016-03-27 00:25:29 +00:00
Jim
dcd092560d Merge pull request #6305 from maherbeg/maher-error-find-dom-node
Test to verify findDOMNode does not throw in willMount
2016-03-24 18:59:55 -07:00
Maher Beg
70de7e4a38 Test to verify findDOMNode does not throw in willMount
Adds a test to prevent a regression of throwing an error when
calling `findDOMNode(this)` in a component's `componentWillMount`
function. This previously used to throw an invariant violation but
now does not any more.
2016-03-24 18:06:27 -07:00
Paul O’Shannessy
9358ce3b02 Merge pull request #6332 from kentcdodds/pr/beginner-friendly
add beginner friendly resource for learning how to PR
2016-03-24 16:07:01 -07:00
Paul O’Shannessy
6a8ebfc418 Merge pull request #6331 from zpao/isonpmorphic
Make Browserify-specific modules to remove DOM dependencies from npm package
2016-03-24 16:01:51 -07:00
Paul O’Shannessy
d17091ddeb Make Browserify-specific modules to remove DOM dependencies from npm package 2016-03-24 15:28:52 -07:00
Paul O’Shannessy
ae2a7c723f Merge pull request #6333 from kentcdodds/pr/beginner-friendly-badge
add prs welcome badge
2016-03-24 14:58:15 -07:00
Kent C. Dodds
6b307a55fb add prs welcome badge 2016-03-24 14:18:32 -06:00
Kent C. Dodds
f0dbc1e1d3 add beginner friendly resource for learning how to PR 2016-03-24 13:20:18 -06:00
Jim
e119f20927 Merge pull request #6330 from speedskater/patch-1
Updated react conf links
2016-03-24 08:57:21 -07:00
Jim
414f057bc2 Merge pull request #6296 from jontewks/add-warnings
Add warnings for onFocusIn and onFocusOut props
2016-03-24 08:37:45 -07:00
speedskater
c212226fff Updated react conf links
* Added React Conf 2016
* Fixed Links for React Conf 2015
2016-03-24 08:11:35 +01:00
Jim
d8ee071c92 Merge pull request #6195 from mxstbr/perf-links
Add benchling engineering articles about perf to docs
2016-03-23 16:47:42 -07:00
Dan Abramov
f80f2379cd Merge pull request #6326 from gaearon/fix-test
Fix ReactPerf.printOperations() test to work with createElement = false
2016-03-23 22:58:20 +00:00
Dan Abramov
0f1240e877 Fix ReactPerf.printOperations() test to work with createElement = false 2016-03-23 22:24:32 +00:00
Paul O’Shannessy
5e770f4d2d Merge pull request #6191 from strawbrary/edit-on-github-position
[docs] keep position of "Edit on GitHub" link fixed
2016-03-23 12:24:16 -07:00
Paul O’Shannessy
bfb9444300 Merge pull request #6242 from edvinerikson/add-origin-to-css-warnings
added component name to css property warnings
2016-03-23 12:12:51 -07:00
Dan Abramov
f5a9fb378d Add missing set -e to Travis builds
Fixes #6150, corrects a mistake made in d138b286db
2016-03-23 18:59:59 +00:00
Dan Abramov
1e8156143a Merge pull request #6310 from gaearon/setstate-warning
Add more specific error messages for bad callback in setState, replaceState, and ReactDOM.render
2016-03-23 14:50:36 +00:00
Jim
75c2b6ab59 Merge pull request #6257 from terry3/highlight-not-working
Highlight 'NOT' word in example page.
2016-03-22 22:54:48 -07:00
terry3
7169da21ba Highlight 'NOT' word in example page. 2016-03-23 09:19:58 +08:00
Jon Tewksbury
a7fae7e4c7 Add warnings for onFocusIn and onFocusOut props 2016-03-21 17:22:37 -07:00
Jim
c528732504 Merge pull request #6307 from cbrwizard/getEventCharCode_unit_tests
getEventCharCode unit tests
2016-03-21 16:17:06 -07:00
Dan Abramov
af4fe68b14 Change message format to be more consistent with other errors 2016-03-21 23:13:47 +00:00
Dan Abramov
d4657b8331 Add bad callback invariants to ReactDOM.render() calls 2016-03-21 22:33:15 +00:00
Paul O’Shannessy
d433c2f376 Merge pull request #6313 from jimfb/script-integrity-attribute
Removed script security attributes, since fb.me isn't setting the proper headers.
2016-03-21 15:19:16 -07:00
Jim
8b026f901c Removed script security attributes, since fb.me isn't setting the proper headers. 2016-03-21 15:06:08 -07:00
Paul O’Shannessy
39ccdccef1 Merge pull request #6312 from vjeux/fix_docs_jump
[website] Fix jump on the header
2016-03-21 14:44:57 -07:00
Dan Abramov
ebe5128489 Use specific method names in error messages 2016-03-21 21:40:17 +00:00
Dan Abramov
552f00b536 Make setState() callback error message more descriptive
Fixes #6306
2016-03-21 21:24:19 +00:00
Christopher Chedeau
fe617082d9 [website] Fix jump on the header
Algolia adds two inline styles

```css
  position: relative;
  vertical-align: top;
```

to the element once the script inserted at the end of the page runs which super slightly moves the header. The fix is to always apply those two rules this way it doesn't jump. I did not notice it on my machine because it doesn't move when custom fonts are not being used.

Test Plan:
- Open two tabs: reactjs.com and localhost:4000/react
- Click around on reactjs.com to prime the cache with the fonts
- Switch tabs and click around on localhost (but do not force refresh!)
- Now you get custom fonts loaded locally and it doesn't jump when you change tabs
2016-03-21 14:12:20 -07:00
Paul O’Shannessy
40c4635e17 Merge pull request #6303 from qerub/use-loose-envify
Use loose-envify instead of envify
2016-03-21 12:24:46 -07:00
Christoffer Sawicki
ecf824cc2a Use loose-envify instead of envify
This reduces the number of transitive dependencies and decreases the build time (by ~6% on my machine).
2016-03-21 20:18:17 +01:00
Paul O’Shannessy
75e4ef167e Merge pull request #6309 from victor-homyakov/patch-1
Free memory allocated by testElement after usage
2016-03-21 12:16:16 -07:00
Victor Homyakov
0393488f39 Free memory allocated by testElement after usage
IE11 reports `testElement` as detached DOM node consuming memory. It is captured in closure of `setInnerHTML` function and could be safely cleared after feature test.
2016-03-21 14:07:26 +03:00
cbrwizard
7bdf4dba75 getEventCharCode unit tests
Adds unit tests to getEventCharCode.
2016-03-21 12:56:45 +03:00
Dan Abramov
441d9b65bd Merge pull request #6301 from gaearon/remove-dead-export
Remove unused export from DOMChildrenOperations
2016-03-20 00:41:29 +00:00
Dan Abramov
cfec10bd51 Remove unused export from DOMChildrenOperations 2016-03-19 21:05:05 +00:00
Jim
2f24f89111 Merge pull request #6281 from rgarifullin/microfix_docs
Microfix docs
2016-03-19 11:24:27 -07:00
Dan Abramov
67f8524e88 Merge pull request #6289 from gaearon/strip-circular-refs
Strip complex values from ReactPerf.printDOM() output
2016-03-18 22:24:18 +00:00
Dan Abramov
d138b286db Try disabling coverage on master to prevent Travis crashes
We suspect that memory overhead caused by coverage might be the reason Travis fails on master. No guarantees it will work but worth a try.
2016-03-18 00:14:25 +00:00
Dan Abramov
b6547734c6 Strip complex values from ReactPerf.printDOM() output
Fixes #6288
2016-03-17 21:23:43 +00:00
Dan Abramov
5520c399a6 Merge pull request #6287 from gaearon/rename-perf-methods
Rename ReactPerf methods to match the upcoming ReactPerf revamp
2016-03-17 20:47:02 +00:00
Dan Abramov
ea55d66760 Rename ReactPerf methods to match the upcoming ReactPerf revamp 2016-03-17 20:18:42 +00:00
rgarifullin
8e6996267f Add missing semicolon in test-utils part of docs 2016-03-17 22:51:11 +03:00
Dan Abramov
8046cbda10 Merge pull request #6285 from gaearon/no-addons
Remove react/addons
2016-03-17 19:26:03 +00:00
Dan Abramov
b322d65320 Fix the ReactDefaultPerf test to match changes in #6286 2016-03-17 19:23:21 +00:00
Dan Abramov
67647fd82f Merge pull request #6286 from gaearon/opaque-perf-measurements
Make ReactPerf.getLastMeasurements() opaque
2016-03-17 19:12:07 +00:00
Dan Abramov
51d37c64c3 Make ReactPerf measurements opaque
We intend to change the measurement format significantly in #6046. In order to introduce the new ReactPerf during 15.x release cycle, we are making the measurement structure opaque-ish in 15.0.
2016-03-17 18:48:55 +00:00
Dan Abramov
a7ed9fd199 Remove react/addons 2016-03-17 18:18:04 +00:00
Jim
663a78399c Merge pull request #6273 from cbrwizard/getEventKey_tests
getEventKey unit tests
2016-03-17 10:38:16 -07:00
Dan Abramov
e04a138634 Merge pull request #6276 from gaearon/fix-custom-components
Skip all special props when setting attributes on web components
2016-03-17 15:44:40 +00:00
Dan Abramov
8bff1f50a6 Add v15 RC2 download 2016-03-16 22:22:47 +00:00
Dan Abramov
7dd71ca488 Add v15 RC2 blog post 2016-03-16 21:48:24 +00:00
Dan Abramov
97038d1ff7 v15.0.0-rc.2 2016-03-16 21:21:34 +00:00
Dan Abramov
c395c0977f Skip all special props when setting attributes on web components 2016-03-16 21:10:47 +00:00
Dan Abramov
c5f7c8dae1 Merge pull request #6274 from facebook/revert-6226-PR-5202
Revert "Bug fix for issue 5202"
2016-03-16 20:51:07 +00:00
Dan Abramov
9f418df8b3 Revert "Bug fix for issue 5202" 2016-03-16 20:42:28 +00:00
cbrwizard
07824258c6 getEventKey unit tests
Adds unit tests to getEventKey function.
2016-03-16 22:09:41 +03:00
Jim
745108f625 Merge pull request #6270 from rofrischmann/unitless-css-property
added several new unitless properties
2016-03-16 11:21:41 -07:00
Jim
93752bb175 Merge pull request #6226 from antoaravinth/PR-5202
Bug fix for issue 5202
2016-03-16 09:48:01 -07:00
Dan Abramov
a261c45ccf Merge pull request #6267 from gaearon/svg-whitelist
Add more properties to the SVG whitelist
2016-03-16 16:24:40 +00:00
rofrischmann
318e024338 added several new unitless properties 2016-03-16 10:04:09 +01:00
Dan Abramov
9268c1a710 Add vector-effect to SVG whitelist
Requested in https://github.com/facebook/react/issues/1657#issuecomment-148420568
2016-03-15 20:51:54 +00:00
Dan Abramov
6882c7ca40 Add focusable attribute to SVG whitelist
Fixes #6212
2016-03-15 20:18:57 +00:00
Jim
9e1a637644 Merge pull request #6260 from iawia002/master
Update 02-displaying-data.zh-CN.md
2016-03-15 03:32:15 -07:00
Jim
b8682e0f20 Merge pull request #6258 from iamchenxin/zh_docs031316rest
[DOCS] Update zh-docs to v15-rc.1 (with #3240c09)
2016-03-15 02:56:05 -07:00
iamchenxin
28caa8882b [DOCS] Update zh-docs to v15-rc.1 (with #3240c09) 2016-03-15 09:42:29 +00:00
iawia002
37c3b081d9 Update 02-displaying-data.zh-CN.md
每三个是子节点 --> 第三个是子节点
2016-03-14 09:44:52 +08:00
Jim
c927cfa0b4 Merge pull request #6256 from iamchenxin/zh_docs031316
[DOCS] Update zh-docs to v15-rc.1 (with #3240c09)
2016-03-12 21:39:37 -08:00
iamchenxin
02b4d18252 [DOCS] Update zh-docs to v15-rc.1 (with #3240c09) 2016-03-13 04:24:00 +00:00
Christopher Chedeau
3240c09a06 Merge pull request #6202 from vjeux/search
Introduce search
2016-03-11 15:55:55 -08:00
Paul O’Shannessy
20e1acb7dd Merge pull request #6210 from rofrischmann/unitless-border-image-outset
added borderImageOutset to unitless CSS properties
2016-03-11 11:34:30 -08:00
Paul O’Shannessy
ec25297def Merge pull request #6243 from zpao/fuck-svg-2
Revert SVG passthrough and expand whitelist
2016-03-11 11:33:45 -08:00
Paul O’Shannessy
5a17a1ef1d Update DOMLazyTree fragments comment to reflect reality 2016-03-11 11:30:03 -08:00
Paul O’Shannessy
a0a72004e5 Fix lint warnings due to backouts 2016-03-11 11:23:53 -08:00
Paul O’Shannessy
48a1cc52d7 Remove attributes already specified in the HTML config 2016-03-11 11:08:56 -08:00
Paul O’Shannessy
37fc21f1e8 Use 0 instead of null in property config
We're using this value to check bits and null is 0 in that sense anyway. This shaves off a few bytes (though as expected, gzip is virtually unchanged)
2016-03-11 11:08:56 -08:00
Paul O’Shannessy
79a62b09ea Consolidate SVG config to avoid some duplication 2016-03-11 11:08:56 -08:00
Paul O’Shannessy
afda226cb9 Scrape MDN for latest SVG 2016-03-11 11:08:56 -08:00
Paul O’Shannessy
b7e8b7f239 Stop specifying MUST_USE_ATTRIBUTE again (bring back null) 2016-03-11 11:08:56 -08:00
Paul O’Shannessy
9f4f88b21f Revert "Merge pull request #5714 from gaearon/passthrough-svg-attributes"
This reverts commit 53dabe748c, reversing
changes made to 82fe64a456.
2016-03-11 11:08:56 -08:00
Paul O’Shannessy
2fb74cd1ac Revert "Merge pull request #6184 from gaearon/fix-svg-warning"
This reverts commit 36798f7395, reversing
changes made to b89e7d25d5.
2016-03-11 11:08:56 -08:00
Paul O’Shannessy
e8005bf01a Revert "Merge pull request #6164 from gaearon/fix-svg"
This reverts commit 4bbd8d25e1, reversing
changes made to 56c423afd6.
2016-03-11 11:08:56 -08:00
Paul O’Shannessy
0229f48815 Revert "Merge pull request #5736 from gaearon/document-svg-passthrough"
This reverts commit 713401f2eb, reversing
changes made to 53dabe748c.
2016-03-11 11:08:56 -08:00
Paul O’Shannessy
2326d1af9a Merge pull request #6251 from zpao/docfragfix
Add nodes to DocumentFragments before attaching
2016-03-11 11:05:43 -08:00
Paul O’Shannessy
1f2d9b208d Add nodes to DocumentFragments before attaching 2016-03-11 11:02:34 -08:00
Paul O’Shannessy
6eda7d2b25 Merge pull request #6245 from koba04/fix-test-is-not-a-function
Fix markup.test is not a function
2016-03-10 23:46:26 -08:00
Toru Kobayashi
5e98dceded Fix markup.test is not a function 2016-03-11 16:41:22 +09:00
Paul O’Shannessy
c912a1b367 Merge pull request #6233 from sairion/15rc1-comment-bug
Fix ReactMarkupChecksum.addChecksumToMarkup() adds checksum to comments
2016-03-10 23:36:36 -08:00
Jaeho Lee
f30fb748f8 Fix ReactMarkupChecksum.addChecksumToMarkup() adds checksum to comments
`ReactMarkupChecksum.addChecksumToMarkup()` should not add checksum to
comment markup, which is generated from components returns null. This
fixes #6209.
2016-03-11 16:12:54 +09:00
Edvin Erikson
72f33ce892 added component name to css property warnings 2016-03-11 01:33:53 +01:00
everdimension
28a97dbd74 update to set value property with empty string; add test; update ReactDOMComponent test 2016-03-10 20:48:02 +03:00
Paul O’Shannessy
c52265884a Merge pull request #6224 from koba04/adding-a-warning-for-responder-synthetic-event
Add a warning for adding properties into ResponderSyntheticEvent
2016-03-09 14:06:54 -08:00
Paul O’Shannessy
8c57fd9d31 Fix style= formatting in v15 rc blog post 2016-03-09 10:28:13 -08:00
everdimension
ea15fa31b6 set value property explicitly for "option" element even if value is empty 2016-03-09 19:21:35 +03:00
Anto
0fb1cd61e1 Bug fix for issue 5202 2016-03-09 19:16:20 +05:30
Toru Kobayashi
181db5b1f6 Add a warning for adding properties into ResponderSyntheticEvent
This is a additional work for #5947.
2016-03-09 19:30:24 +09:00
Ben Alpert
f9a08b0e9c Merge pull request #6223 from lelandrichardson/patch-1
[fix] key/ref warnings incorrectly throw on DOM Elements
2016-03-08 20:43:08 -08:00
Jim
2f4a8e9d47 Merge pull request #6095 from yiminghe/fix-async-ref-destruct
fix instance null when involve async destruction
2016-03-08 23:06:31 -05:00
Leland Richardson
f938299765 [fix] key/ref warnings incorrectly throw on DOM Elements 2016-03-08 18:51:06 -08:00
Jim
11b55231c4 Merge pull request #6214 from koba04/patch-6
Fix a mixin name in a blog post
2016-03-08 05:57:03 -08:00
Toru Kobayashi
88e1bb33aa Fix a mixin name in a blog post 2016-03-08 21:56:38 +09:00
rofrischmann
36392534a8 added border-image-outset CSS property to unitless properties
According to
https://drafts.csswg.org/css-backgrounds-3/#border-image-outset it
supports both number and length values.
Always applying ‘px’ might in that case perhaps return unwanted
behavior.
2016-03-08 11:52:47 +01:00
Jim
f6463576ee Merge pull request #6208 from JinxiuLee/patch-2
Missed parentheses for matchMeida parameter
2016-03-07 21:39:57 -08:00
Jinxiu
2a7b50a48e Missed parentheses for matchMeida parameter
https://developer.mozilla.org/en-US/docs/Web/API/Window/matchMedia
2016-03-08 11:23:18 +08:00
Paul O’Shannessy
bb9629476e Merge pull request #6207 from zpao/15rc-blog-post-corrections
Remove a couple old updates from blog post
2016-03-07 18:03:31 -08:00
Paul O’Shannessy
d4371aafcf Remove a couple old updates from blog post 2016-03-07 18:00:00 -08:00
Paul O’Shannessy
e245ed6ba9 v15 rc1 starter kit 2016-03-07 17:09:45 -08:00
Paul O’Shannessy
846fd5fbf0 v15.0 rc1 blog post 2016-03-07 17:09:45 -08:00
Paul O’Shannessy
36796348f2 v15.0.0-rc.1 2016-03-07 17:02:10 -08:00
Paul O’Shannessy
e61e6dd4ed Revert "Change release to multi task"
This reverts commit c77f0b2fc5.
2016-03-07 17:02:10 -08:00
Christopher Chedeau
3d51c7523a Introduce search
Powered by the awesome Algolia :)
2016-03-07 13:15:41 -08:00
Paul O’Shannessy
340b344b20 Merge pull request #6201 from zpao/docs-babel-6
[docs] Upgrade to work with babel 6, fetch remote babel-browser for now
2016-03-07 11:43:26 -08:00
Paul O’Shannessy
dc93efaf11 Merge pull request #6200 from cpojer/master
Update to jest 0.9.0.
2016-03-07 10:46:22 -08:00
Paul O’Shannessy
56f8321559 [docs] Upgrade to work with babel 6, fetch remote babel-browser for now 2016-03-07 10:37:06 -08:00
Paul O’Shannessy
f3738d2cd0 Merge pull request #5781 from ara4n/master
support onLoad synthetic event attribute on 'object' tags
2016-03-06 18:57:37 -08:00
cpojer
626bb81241 Update to jest 0.9.0. 2016-03-06 17:35:53 -08:00
Jim
2b0f730081 Merge pull request #6199 from jquense/patch-4
Reset Jest to use Jasmine1 so tests pass again
2016-03-06 12:49:05 -08:00
Jason Quense
6a5866f286 Reset Jest to use Jasmine1 so Tests pass again
fixes #6198
2016-03-06 15:16:50 -05:00
Paul O’Shannessy
f430c47467 Merge pull request #6185 from zpao/fbjs-upgrade
Upgrade fbjs, fbjs-scripts
2016-03-06 12:12:48 -08:00
Max
7e20243516 Add benchling articles about perf to docs
Temporary solution until new react perf is released.

Ref #6174
2016-03-05 20:23:44 +01:00
Jim
10f9476f3a Merge pull request #6121 from raineroviir/rainer
Fix #6114 - Calling setState inside getChildContext should warn
2016-03-05 08:24:39 -08:00
rainer oviir
9c1916dedb Fix #6114 - Calling setState inside getChildContext should warn 2016-03-04 23:20:29 -08:00
Jim
3b86cb10c4 Merge pull request #6177 from yuanyan/patch-1
Remove dead code.
2016-03-04 22:07:17 -08:00
Paul O’Shannessy
4e2a0d14a9 Upgrade fbjs, fbjs-scripts 2016-03-04 16:07:20 -08:00
Jim
1dc705aa0b Merge pull request #6180 from camjc/master
Update PureRenderMixin docs, adding ES6 example
2016-03-04 16:06:31 -08:00
Cameron Chamberlain
9fff1693f6 Update PureRenderMixin docs, adding ES6 example 2016-03-05 11:04:14 +11:00
Craig Akimoto
6432625c6b [docs] keep position of "Edit on GitHub" link fixed 2016-03-04 15:24:31 -08:00
Paul O’Shannessy
8b22a82162 Merge pull request #6189 from zpao/sythetic-events-fix
Fix issue with SyntheticEvents and Proxies
2016-03-04 14:25:14 -08:00
Paul O’Shannessy
f707ee53e2 Extend the correct object in the SyntheticEvent proxy 2016-03-04 13:59:51 -08:00
Jim
25c2bfcd52 Merge pull request #6183 from jimfb/rec-update
Fixed typo in reconciliation docs.
2016-03-04 13:13:23 -08:00
Dan Abramov
36798f7395 Merge pull request #6184 from gaearon/fix-svg-warning
Warn about deprecated SVG attributes only once
2016-03-04 18:14:35 +00:00
Jim
0ba1073e17 Fixed typo in reconciliation docs. 2016-03-04 10:01:35 -08:00
Dan Abramov
8a9ab75261 Warn about SVG attributes once
This fixes a missing check in #5714
2016-03-04 16:26:49 +00:00
Paul O’Shannessy
b89e7d25d5 Merge pull request #6175 from zpao/eslintrc-fixes
ESLint upgrade & fixes
2016-03-03 10:18:53 -08:00
Paul O’Shannessy
093bb22030 Update lint config, dependencies, fix issues
This also fixes messages from new synthetic events warnings
2016-03-03 10:16:02 -08:00
yuanyan
45a321d686 Remove dead code. 2016-03-03 23:08:47 +08:00
Paul O’Shannessy
b271efb7d3 Convert to .eslintrc.js 2016-03-02 23:52:20 -08:00
Jim
f8046f2dc2 Merge pull request #6172 from mgmcdermott/master
Fixed linting warnings and some mis-spacing in SyntheticEvent warnings
2016-03-02 18:54:27 -08:00
Michael McDermott
18af9bc91e Fixed some linting warnings and some mis-spacing in SyntheticEvent warnings. 2016-03-02 18:40:23 -05:00
Jim
09666ad486 Merge pull request #6159 from mxstbr/move-jsx-comment
Move no-jsx note in ReactElement tests
2016-03-02 11:00:20 -08:00
Dan Abramov
4bbd8d25e1 Merge pull request #6164 from gaearon/fix-svg
Don't set children attribute on SVG nodes
2016-03-02 11:02:50 +00:00
Dan Abramov
5eab1bbe29 Don't interpret reserved props as attributes for SVG elements
This fixes a bug introduced in #5714.
The code paths are now similar to web components where we worked around the same issue in #5093.

Additionally, we also skip dangerouslySetInnerHTML and suppressContentEditableWarning.
2016-03-02 02:48:57 +00:00
Max
32b0c62214 Copy and paste no-jsx note from top of file to places where it's used
Closes #6157
2016-03-01 20:06:20 +01:00
Jim
56c423afd6 Merge pull request #6152 from jimfb/fix-blog-code-fragment
Updated code fragment for correctness.
2016-02-29 21:03:18 -08:00
Paul O’Shannessy
4da7e7ef9c Merge pull request #6151 from zpao/docs-external-sidebar-followup
Docs external sidebar followup
2016-02-29 19:28:30 -08:00
jim
aec8a9b4fe Updated code fragment for correctness. 2016-02-29 17:52:43 -08:00
Paul O’Shannessy
e0442f6915 Add redirect layout (again) and use it 2016-02-29 16:48:09 -08:00
Paul O’Shannessy
ab6041bad6 Don't add class="" if we don't need to 2016-02-29 16:30:03 -08:00
Jim
8f2b7d8e71 Merge pull request #6090 from joecritch/docs-external-link-icon
[Docs] Added icon for external links in nav
2016-02-29 15:19:25 -08:00
Paul O’Shannessy
a026b35626 Merge pull request #6140 from NogsMPLS/removeBabelBrowser
[Docs] Remove babel-browser link
2016-02-29 10:03:21 -08:00
Paul O’Shannessy
730e5ac2e6 Merge pull request #6132 from chicoxyzzy/use_object_is_in_oneof_validate_method
Using Object.is implementation when compare values inside React.PropTypes.oneOf
2016-02-29 09:59:09 -08:00
chico
03925f4f06 Using Object.is implementation when compare values inside React.PropTypes.oneOf 2016-02-29 18:46:19 +03:00
Jim
4045747af6 Merge pull request #6141 from wikinee/master
Update 10.2-form-input-binding-sugar.zh-CN.md
2016-02-29 04:56:44 -08:00
Nee
132a291747 Update 10.2-form-input-binding-sugar.zh-CN.md
translation other English Party to Chinese.
2016-02-29 17:28:47 +08:00
Ben Alpert
96eb7ffdda Merge pull request #6139 from mxstbr/fix-rendertostaticmarkup-invariant
Fix renderToStaticMarkup() invariant
2016-02-28 22:27:02 -08:00
Nathan Smith
7dc8910373 remove babel-browser link 2016-02-28 18:03:05 -06:00
Max
4d1bfcc8e1 Fix renderToStaticMarkup invariant 2016-02-28 22:33:23 +01:00
Paul O’Shannessy
5696ccfcd7 Merge pull request #6005 from milesj/synthetic-transition
Added support for synthetic animation/transition events.
2016-02-28 11:09:30 -08:00
Paul O’Shannessy
adc9104d84 Merge pull request #6133 from stevenvachon/patch-1
support standard "cssFloat" css property
2016-02-28 10:59:49 -08:00
Steven Vachon
f68325f5d7 support standard "cssFloat" css property
For tools that compile CSS may have already converted the name.

More info:
https://npmjs.com/camelcase-css
https://npmjs.com/postcss-js
2016-02-27 01:13:15 -05:00
Paul O’Shannessy
5bb4303f9d Merge pull request #6113 from kittens/babel-6
Update to Babel 6
2016-02-26 18:36:55 -08:00
Sebastian McKenzie
1365498b81 Update to Babel 6 2016-02-26 16:49:32 -08:00
Dan Abramov
4c804361e0 Fix the lint issue introduced in #6129 2016-02-26 21:57:16 +00:00
Dan Abramov
1e5bb2e9e4 Merge pull request #6129 from gaearon/syranide-lessvpm
Disable ViewportMetrics unless MouseEvent lacks support for pageX/pageY
2016-02-26 20:56:38 +00:00
Andreas Svensson
471b4af2c8 Disable ViewportMetrics unless MouseEvent lacks support for pageX/pageY 2016-02-26 20:35:48 +00:00
Jim
13871886ba Merge pull request #6127 from jimfb/LinkedInput-to-packages
Moved LinkedInput from addons to packages.
2016-02-26 11:02:52 -08:00
Dan Abramov
92530b4ddc Merge pull request #6068 from gaearon/react-instrumentation
Add ReactInstrumentation
2016-02-26 17:18:19 +00:00
Ben Alpert
74070e5838 Merge pull request #6082 from spicyj/nq-set-props
Remove unused enqueueSetProps methods
2016-02-26 00:39:48 -08:00
Ben Alpert
5b13cbc0e8 Merge pull request #5877 from spicyj/mount-class-error
Clarify error when passing class to render()
2016-02-26 00:26:11 -08:00
Ben Alpert
895fab782b Clarify error when passing class to render() 2016-02-26 00:26:02 -08:00
Miles Johnson
260353e977 Added support for synthetic animation/transition events. 2016-02-25 23:52:32 -08:00
jim
8ab15c1d84 Moved LinkedInput from addons to packages. 2016-02-25 17:49:35 -08:00
Paul O’Shannessy
e2866ae412 Merge pull request #6123 from changhw01/patch-1
Clarify a step in the quick start
2016-02-25 14:52:25 -08:00
Huang-Wei Chang
040e94b7f5 Clarify a step in the quick start
I propose to add a sentence to indicate the page is ready, and the next step (Separate File) is optional. IMMO, the quick-start guide should be really short so that readers can see the result asap. Furthermore, the "Separate File" might not work for readers using Chrome anyway.
2016-02-25 13:17:07 -08:00
yiminghe
df095c005f fix instance null when involve async destruction 2016-02-25 15:42:03 +08:00
Jim
dff05beeff Merge pull request #5947 from koba04/add-warning-for-adding-synthetic-event-property
Add a warning for adding a property in the SyntheticEvent object
2016-02-24 13:30:49 -08:00
Jim
7a3009c2b4 Merge pull request #6112 from mxstbr/surpressContentEditableWarning
Add suppressContentEditableWarning
2016-02-24 13:02:12 -08:00
Max
f7276b304c Add suppressContentEditableWarning
See #5837
2016-02-24 20:41:07 +01:00
Jim
308badbc03 Merge pull request #6094 from AprilArcus/cite-attribute
add "cite" attribute to whitelist for <blockquote> elements
2016-02-24 11:15:37 -08:00
April Arcus
39c597f523 add "cite" attribute to whitelist for <blockquote> elements (fixes #6084) 2016-02-22 20:58:17 -08:00
Joe Critchley
8886cee285 Added icon for external links in Docs nav and unlinked Complementary Tools and Examples in favor of this icon 2016-02-23 02:18:20 +00:00
Jim
de09e0acd8 Merge pull request #6092 from dpercy/patch-2
Fix inverted definition of Controlled component
2016-02-22 15:59:20 -08:00
David Percy
8011112cc1 Fix inverted definition of Controlled component 2016-02-22 18:45:36 -05:00
Jim
fb75341769 Merge pull request #6085 from srph/patch-1
Add ReactLink deprecation notice
2016-02-22 14:49:01 -08:00
Paul O’Shannessy
5652c710c0 Merge pull request #6089 from chromakey/bb-fix-htmltojsx-script-link
Fix script source HTTPS error in html-jsx.md doc
2016-02-22 14:37:26 -08:00
Bill Blanchard
6ec8f078f1 Change script src for htmltojsx.min.js to referral target to fix https error 2016-02-22 16:20:23 -05:00
Kier Borromeo
01b3196896 Add deprecation notice. 2016-02-23 01:24:23 +08:00
Jim
5ebb784be5 Merge pull request #6071 from nakazye/fix_highlight
fix sample code highlight
2016-02-22 07:08:54 -08:00
nakazye
ccfd1ffb30 Replace the code sample in all the languages.
Replace the code sample in all the languages.

But I leave below sample code because of wording relation.

* tutorial6:see 25ef456
* from tutorial16:see 3812b95
2016-02-23 00:05:26 +09:00
Ben Alpert
cf4255445e Remove unused enqueueSetProps methods 2016-02-21 14:30:23 -08:00
Jim
70b5eda83e Merge pull request #5997 from truongduy134/clone-element
Fix #5929. Resolve to default props when config key is set to undefined in cloneElement
2016-02-19 14:53:38 -08:00
Sebastian Markbåge
dcc86b63dc Merge pull request #6074 from sebmarkbage/versionpost
Clarify what the current version scheme is
2016-02-19 12:02:57 -08:00
Sebastian Markbage
a080d863c5 Clarify what the current version scheme is
In case you don't remember what version we're currently on.

Also, clarify that this is semver and that v1.0 comes with preconceived
notions.
2016-02-19 12:02:26 -08:00
Ben Alpert
628a16c84d Hashrockets 2016-02-19 11:39:42 -08:00
Sebastian Markbåge
b3335f371f Merge pull request #6073 from sebmarkbage/versionpost
Versioning Blog Post
2016-02-19 11:34:01 -08:00
Sebastian Markbage
559fed7988 Versioning Blog Post 2016-02-19 11:31:01 -08:00
Ben Alpert
98d3327a5d Merge pull request #6070 from spicyj/server-text
Fix build for useCreateElement: false, run Travis
2016-02-19 09:48:37 -08:00
Ben Alpert
81e5dd0a29 Fix build for useCreateElement: false, run Travis
It's important that we keep these code paths working because they're the only comprehensive test of adopting server-rendered HTML that we have right now. This is terrible and hacky but I am hopeful that it will at least catch stuff.
2016-02-19 09:48:06 -08:00
Ben Alpert
e8fb8c7870 Fix text component rendering with server markup
These weren't caught by CI in #5753 because we don't automatically test that yet... fixing that next.
2016-02-19 09:48:05 -08:00
Dan Abramov
3863330524 Add ReactInstrumentation
This adds `ReactInstrumentation` for the isomorphic package that uses the same approach as `ReactDOMInstrumentation`. Currently it is gated behind `__DEV__` but we will likely change this later to a runtime flag determined by whether there are any active listeners.

The first few events we add here should be sufficient for React DevTools, as determined by the `hook.emit()` calls in d90c432016/backend/attachRenderer.js.

These events will also be useful for reconstructing the parent tree in the ReactPerf rewrite in #6046.
2016-02-18 22:52:22 +00:00
Ben Alpert
684ef3e320 Merge pull request #5753 from mwiencek/no-text-span-2
Don't wrap text in <span> elements
2016-02-18 12:02:17 -08:00
Paul O’Shannessy
f818fa38b4 [docs] Use consistent formatting for headers 2016-02-18 11:53:47 -08:00
Michael Wiencek
203850013a Don't wrap text in <span> elements
Instead, use opening and closing comment nodes to delimit text data.
2016-02-18 13:49:14 -06:00
Jim
5d7cd93b0e Merge pull request #6064 from jimfb/provide-msunsafe-wrapper
Create ms-unsafe functions in one place, simplifies code.
2016-02-18 11:14:47 -08:00
Jim
efa8624eb9 Merge pull request #6059 from jimfb/tutorial-children-callback
Clearify callback text in the tutorial
2016-02-18 11:14:24 -08:00
Toru Kobayashi
decff26e81 Add a warning for adding some properties in the SyntheticEvent object if Proxy is supported 2016-02-18 19:26:32 +09:00
Jim
6454bfb9de Merge pull request #6065 from benjycui/fix-comments
Update comments for EventPluginHub.js
2016-02-18 00:31:50 -08:00
Benjy Cui
c54249c868 Update comments for EventPluginHub.js 2016-02-18 16:23:00 +08:00
Jim
e8e56e8723 Merge pull request #5940 from kentcdodds/pr/warn-event-pool-access
Add warning when reading from event which has been returned to the pool
2016-02-17 21:51:40 -08:00
Kent C. Dodds
6312852688 warn(SyntheticEvent): Warn when accessing or setting properties on released syntheticEvents
Closes #5939
2016-02-17 22:46:12 -07:00
jim
51d16473b0 Create ms-unsafe functions in one place, simplifies code. 2016-02-17 21:10:20 -08:00
Jim
5879c9e1a4 Merge pull request #6063 from Andrew8xx8/master
Wrap insertBefore in Windows 8 apps
2016-02-17 20:28:27 -08:00
Andreww8xx8
8d08f3f00a Wrap insertBefore in Windows 8 apps 2016-02-18 06:12:29 +03:00
Ben Alpert
3a4e1dbb5b Fix merge conflict in #4940 2016-02-17 17:20:37 -08:00
jim
5ffd1db570 Clearify callback text in the tutorial 2016-02-17 16:30:11 -08:00
Ben Alpert
62e9531023 Merge pull request #4940 from spicyj/no-construct
Remove "construct" call except on composites
2016-02-17 15:53:25 -08:00
Ben Alpert
acb49363d5 Remove "construct" call except on composites
This is a little simpler (and a teeny tiny bit faster). The one in ReactCompositeComponent stays because of the way we create ReactCompositeComponentWrapper inside instantiateReactComponent.
2016-02-17 15:48:24 -08:00
Jim
c9e0fc766f Merge pull request #5720 from edmellum/master
Fix #4963 - SVG <use> swallows click events
2016-02-17 07:01:50 -08:00
David Ed Mellum
2fdaba49c7 Fix #4963 - SVG <use> swallows click events 2016-02-17 15:25:45 +01:00
Christoph Pojer
50c28fa9c4 Merge pull request #6052 from cpojer/master
Update to jest-cli 0.9.
2016-02-17 15:44:28 +09:00
cpojer
383e2f938d Update to jest-cli 0.9. 2016-02-17 13:01:14 +09:00
Jim
73ad44567c Merge pull request #6039 from mxstbr/convert-docs-to-stateless
Update documentation to stateless components
2016-02-16 12:25:39 -08:00
Jim
356fa4e8c0 Merge pull request #6048 from mxstbr/update-tutorial-versions
Update jQuery and marked versions in tutorial docs
2016-02-16 12:10:06 -08:00
Max
d26ec08cf1 Update jQuery and marked versions in tutorial 2016-02-16 12:07:03 -08:00
Paul O’Shannessy
41dea65abf Merge pull request #6017 from zpao/docs-sri-task
Generate SRI hashes for docs
2016-02-16 11:50:31 -08:00
Jim
3bee2d962a Merge pull request #5744 from prometheansacrifice/warn-if-user-accesses-key-ref-props
Warns on access of `props.key` and `props.ref`
2016-02-16 10:11:28 -08:00
Manas
c3980a6d08 Warns on access of props.key and props.ref 2016-02-16 22:04:32 +05:30
Jim
ee64241e90 Merge pull request #6044 from bellanchor/master
Fix typo in Chinese tutorial
2016-02-16 03:11:34 -08:00
liudongsheng
5b80f9009f Fix typo in Chinese tutorial 2016-02-16 18:24:07 +08:00
Max
ec41af0557 Update documentation to stateless components
Ref #5949 @jimfb
2016-02-15 10:24:04 -08:00
Jim
2410dc7f15 Merge pull request #6028 from sambev/issue/6027-uncaught-type-error
Fix for issue/6027.
2016-02-13 13:19:11 -08:00
Sam Beveridge
57d59ea344 Remove check for _wrapperState.pendingUpdate.
We can just set it to true regardless.
2016-02-13 12:01:49 -07:00
Paul O’Shannessy
8aacf1e850 Merge pull request #6032 from saiichihashimoto/allow-profile-attr
Allow Profile attr
2016-02-13 09:26:20 -08:00
Paul O’Shannessy
175d0978cc Merge pull request #6031 from jontewks/update-docs
Add npm install instructions to readme
2016-02-13 09:24:04 -08:00
Saiichi Hashimoto
0b87d7f56f Update HTMLDOMPropertyConfig.js 2016-02-13 00:42:47 -08:00
Jon Tewksbury
17c9dffed4 Add npm install instructions to readme 2016-02-12 23:20:52 -08:00
Jim
d684b1598d Merge pull request #5864 from TheBlasfem/master
Warn when an input switches between controlled and uncontrolled
2016-02-12 16:34:55 -08:00
Ben Alpert
b3eaab9f75 Merge pull request #6030 from facebook/vjeux-patch-1
Add thanks for the react org
2016-02-12 15:00:27 -08:00
Christopher Chedeau
5ce1fea75a Add thanks for the react org 2016-02-12 14:50:37 -08:00
Sam Beveridge
385cadf8e3 Forgot to 'not' the pendingUpdate condition. 2016-02-12 14:32:47 -07:00
Sam Beveridge
c4a2425eca Fix for issue/6027.
ReactDOMSelect's _handleChange function tries to set
this._wrapperState.pendingUpdate = true after executing the onChange
function. However, if the select was removed as a result of said
fuction, this._wrapperState would be null. Resulting in an
Uncaught TypeError: Cannot set property 'pendingUpdate' of null.
2016-02-12 14:00:15 -07:00
Jim
bbd5a78efa Merge pull request #6009 from jimfb/error-boundaries-initial-render-componentWillUnmount
Errors in componentWillUnmount should be caught by error boundary on initial render.
2016-02-11 18:11:35 -08:00
jim
dd390b3e36 Errors in componentWillUnmount should be caught by error boundary on initial render. 2016-02-11 17:44:35 -08:00
Jim
293dc75584 Merge pull request #6008 from jimfb/module-pattern
Enable module pattern.
2016-02-11 17:26:46 -08:00
jim
428ef03bbb Enable module pattern. 2016-02-11 12:59:25 -08:00
Ben Alpert
3e41da767f Merge pull request #5892 from ianobermiller/children-map-key-slash
ReactChildren.map: only add slash if new child has key
2016-02-10 16:53:59 -08:00
Paul O’Shannessy
b560fea08d Merge pull request #5909 from rajatsehgal/patch-1
Use const instead of var (ES6 best practices)
2016-02-10 13:32:21 -08:00
Paul O’Shannessy
e5b304ebe3 Merge pull request #6016 from zpao/rm-batched-updates-addons
Remove React.addons.batchedUpdates
2016-02-10 12:23:55 -08:00
Paul O’Shannessy
fcfbcf79a0 [docs] Reformat script tags on download page 2016-02-10 12:13:01 -08:00
Paul O’Shannessy
3ce7e91946 [docs] Automate SRI hash generation with rake task 2016-02-10 12:11:45 -08:00
Paul O’Shannessy
bd3979980f Merge pull request #6004 from TheBlasfem/sri-links
Included SRI hashes for fb.me links on download page
2016-02-10 11:40:08 -08:00
Paul O’Shannessy
6fe495a5ab Remove React.addons.batchedUpdates 2016-02-10 11:20:50 -08:00
Julio Lopez
0509950e74 Included SRI hashes for fb.me links on download page 2016-02-08 22:40:57 -05:00
Nguyen Truong Duy
48ded230fc Resolve default prop values in cloneElement
In cloneElement, when key in input config is set to undefined, the associated
prop value should be resolved to default prop values
2016-02-09 09:02:07 +07:00
Paul O’Shannessy
4a1b0b7dfa Merge pull request #5977 from jfairbank/remove-new-call
Remove instance of invoking ReactElement with new operator
2016-02-08 14:14:50 -08:00
Paul O’Shannessy
9d22ce8440 Merge pull request #6000 from shinnn/process
Do not get `process` object by using `require`
2016-02-08 11:33:15 -08:00
Paul O’Shannessy
08c7b1aa40 Update jsdelivr url 2016-02-08 11:26:46 -08:00
Jim
1e85460909 Merge pull request #5999 from shinnn/https
Use HTTPS protocol for jsdelivr.com URL
2016-02-08 10:22:57 -08:00
Shinnosuke Watanabe
38bf3583cb Do not get process object by using require
Because `process` object is globally available in Node.js.
2016-02-09 01:41:24 +09:00
Shinnosuke Watanabe
a90344a9c1 Use HTTPS protocol for jsdelivr.com URL 2016-02-09 01:00:51 +09:00
Jim
725a723e27 Merge pull request #5992 from pra85/patch-1
[docs] Fix typo in blog
2016-02-05 22:00:54 -08:00
Prayag Verma
e4b463f921 [docs] Fix typo in blog
Found a spelling mistake -
writting > writing
2016-02-06 11:21:40 +05:30
Paul O’Shannessy
886044312c Merge pull request #5986 from zpao/fix-lint
Fix lint
2016-02-05 10:57:57 -08:00
Paul O’Shannessy
a1dab9edbf Fix lint
- Upgrade babel-eslint
- Ignore coverage
- Fix actual lint warning
2016-02-05 10:56:51 -08:00
Jim
81e41ae1b1 Merge pull request #5982 from jimfb/error-boundaries-composite-unmount
Error boundries should not unmount composite components which were not mounted.
2016-02-04 17:20:09 -08:00
jim
86305fba41 Error boundries should not unmount composite components which were not mounted. 2016-02-04 17:10:18 -08:00
Jim
220b4b6b50 Merge pull request #4437 from gajus/patch-1
Improve definition of the controlled and uncontrolled input
2016-02-04 08:34:30 -08:00
Julio Lopez
b38b39a696 warn when an input switches between controlled and uncontrolled
added controlled key to DEV

warn for checkbox inputs

warn for radio inputs

compute controlled instead of value

displaying owner name in warning

displaying input type in warnings
2016-02-04 09:31:41 -05:00
Gajus Kuizinas
97e0fe5d91 Improve definition of the controlled and uncontrolled input. 2016-02-04 12:02:53 +00:00
Jeremy Fairbank
dbb54b1990 Remove instance of invoking ReactElement with new operator 2016-02-03 21:03:32 -05:00
Jim
f2bb01506a Merge pull request #5965 from karczk/issue-5957
Fix for #5957: Bug on resolving default props (HTMLAllCollection)
2016-02-03 14:39:11 -08:00
karczk
ef2b1f26ef Unnecessary type comparisons have been changed to value comparison 2016-02-02 19:35:58 +01:00
krystian.karczewski
8c7d743361 Fix for #5957: Bug on resolving default props (HTMLAllCollection) 2016-02-02 11:51:31 +01:00
Jim
292f2b7608 Merge pull request #5961 from MarkMurphy/issue-5959
Fixes #5959 - jquery-bootstrap example uses handleHidden which does not exist
2016-02-01 22:06:01 -08:00
Mark Murphy
0bd65aa028 Fixes #5959 - jquery-bootstrap example uses which does not exist
1. Add a handleHidden method to the BootstrapModal component.
2. Add an event listener for 'hidden.bs.modal' on the modal root
3. Add a new onHidden prop to the BootstrapModal component.
4. Add a new 'handleModalDidClose' method to the Example component to be used as the onHidden prop of it's modal component.
2016-02-01 21:54:56 -04:00
Jim
2981bef075 Merge pull request #5953 from davidvgalbraith/dont-redundantly-set
test: get rid of 'should be 1' comment
2016-02-01 13:07:46 -08:00
Dave
1beae0c4ff test: get rid of 'should be 1' comment
This should not be 1, since boolean properties always get set.
2016-02-01 12:53:25 -08:00
Jim
823966ef33 Merge pull request #5955 from pekeq/patch-docs-1
Add note in "Fetching from the server" section.
2016-02-01 11:54:27 -08:00
Hideo Matsumoto
d136d28f55 Add note in "Fetching from the server" section. 2016-02-01 23:19:08 +09:00
Jim
1ccec8b711 Merge pull request #5946 from tjfryan/fix-docs-css
Fixes highlight issue for code blocks with overflow (css)
2016-01-29 17:33:44 -08:00
John Ryan
cded0c5c23 Fixes highlight issue for code blocks with overflow 2016-01-29 16:46:16 -08:00
Jim
188e8cde2f Merge pull request #5884 from jimfb/component-extends-react-component
Enable null return values in plain functions
2016-01-29 15:05:08 -08:00
Jim
9d5825cf4b Merge pull request #3372 from jonhester/void-elements
ReactDOMComponent should throw error when provided children for void elements
2016-01-29 13:27:35 -08:00
Jim
67e1291ef7 Merge pull request #1510 from syranide/propattr
Use removeAttribute to forcefully remove properties from the DOM
2016-01-29 12:48:25 -08:00
Rajat Sehgal
a0c32cb629 Use const instead of var (ES6 best practices) 2016-01-29 00:47:43 -05:00
Paul O’Shannessy
9c3f595597 Merge pull request #5923 from puppybits/patch-1
Update 12-context.md
2016-01-28 20:06:09 -08:00
Bobby
6986fdd6bd Update 12-context.md
Context was missing info on how to update the context after the initial render. Added a simple blurb and an example.

[Docs] 12-context.md code review changes
2016-01-28 16:47:56 -08:00
Scott Feeney
c569b329e9 Update website for 0.14.7
(cherry picked from commit e48343bd03)
2016-01-28 12:28:25 -08:00
Scott Feeney
6ecf06ce60 Update CHANGELOG.md and README.md
(cherry picked from commit 741124548d)
2016-01-28 12:28:18 -08:00
Paul O’Shannessy
e9636b1f6a Merge pull request #5903 from zpao/rm-build-deps
Clean up ununsed devDeps
2016-01-28 10:29:03 -08:00
Paul O’Shannessy
4b2b7b0d3e Merge pull request #5911 from Mathieuu/patch-1
Fix broken guide example in "Motivation: Separation of Concerns"
2016-01-28 10:22:33 -08:00
Paul O’Shannessy
fc547e8380 Merge pull request #5928 from scjody/patch-1
Add a link to the list of supported events
2016-01-27 15:47:57 -08:00
Jody McIntyre
01f10eb7ba Add a link to the list of supported events 2016-01-27 18:09:47 -05:00
Paul O’Shannessy
ed40119db8 Merge pull request #5922 from zpao/package-empty-deps
Add empty dependencies for packages
2016-01-27 11:05:21 -08:00
Paul O’Shannessy
a92bc51e0a Add empty dependencies for packages
This ensures that broken npm versions won't crash when doing install --production
2016-01-26 08:37:30 -08:00
Paul O’Shannessy
6f5e619fae Merge pull request #5912 from chrisbolin/patch-1
Small copy changes to TestUtils and Perf summaries
2016-01-25 16:09:57 -08:00
Chris Bolin
edaf5b43b4 Small copy changes to TestUtils and Perf summaries 2016-01-25 19:02:21 -05:00
Paul O’Shannessy
ea79138156 Merge pull request #5917 from zeke/homepage-urls
Fix homepage URLs in package.json files
2016-01-25 12:58:32 -08:00
Zeke Sikelianos
0ce28c6e88 fix homepage URLs in package.json files 2016-01-25 14:44:17 -06:00
Mathieu Savy
e1b7c3aa0c Fix broken guide example in "Motivation: Separation of Concerns"
The code example in `Motivation: Separation of Concerns` now fetches the `Engineering` facebook page instead of the user `pwh`.

With the current version of the graph api, it is impossible to fetch the user picture from an username. However it is still doable for public pages.
2016-01-24 17:04:17 -08:00
Paul O’Shannessy
096115c5c9 Merge pull request #5904 from sercaneraslan/master
Overflow problem fixed
2016-01-22 11:30:06 -08:00
Sercan Eraslan
080ff5ad73 Overflow problem fixed 2016-01-22 20:51:15 +02:00
Paul O’Shannessy
7c52b802b4 Clean up ununsed devDeps
Also removed object-assign. We only support building with node v4+ which has Object.assign.
2016-01-22 10:17:30 -08:00
Paul O’Shannessy
4c03bafa4e Merge pull request #5891 from zpao/vendor-semi
Add semicolon for react-dom source files.
2016-01-21 17:06:48 -08:00
Jim
1aa7fd0d24 Merge pull request #5900 from tmysz/ja-doc
Fix mistranslation "never write to this.props."
2016-01-21 10:53:29 -08:00
tmysz
7e779a9d44 Fix mistranslation "never write to this.props." 2016-01-22 01:41:39 +09:00
Paul O’Shannessy
b41f5a1cdf v0.15.0-alpha.1 2016-01-20 20:07:37 -08:00
Ian Obermiller
30f7641873 ReactChildren.map: only add slash if new child has key
See the new test for the scenario I am trying to fix; if you clone an
element in React.cloneElement, vs just returning it directly, you will
get a different key (with a slash in front) even though the two
children are identical.
2016-01-20 19:20:22 -08:00
Ian Obermiller
76da1f8599 Merge remote-tracking branch 'facebook/master' 2016-01-20 14:50:30 -08:00
jim
757756f682 Enable null return values in plain functions 2016-01-20 14:11:41 -08:00
Paul O’Shannessy
e9e70365c3 Add semicolon for react-dom source files. 2016-01-20 13:35:03 -08:00
Jim
af43d06e97 Merge pull request #5887 from natejlee/patch-1
Fixup missing semi-colon
2016-01-20 00:56:29 -08:00
Nate Lee
7f98dc897d Fixup missing semi-colon
an inconsistency with a missing semi-colon on a variable
2016-01-19 21:35:10 -08:00
Ben Alpert
e420edda36 Merge pull request #5886 from goatslacker/cant-dangerouslysetinnerhtml-for-option
Only add children in ReactDOMOption when there are children
2016-01-19 15:12:09 -08:00
Josh Perez
3da6e2889b Only add children when there are children 2016-01-19 14:48:47 -08:00
Jim
7cee5022f8 Merge pull request #5885 from knpwrs/patch-1
Clarify stateless function component optimizations.
2016-01-19 13:50:41 -08:00
Ken Powers
49fa7d139d Clarify stateless function component optimizations.
As discussed on Discord.
2016-01-19 16:46:00 -05:00
Paul O’Shannessy
31d3bfa763 Merge pull request #5811 from jontewks/warn-nan-style
Warn when a style object has NaN for a value
2016-01-18 17:06:19 -08:00
Paul O’Shannessy
ae5ff24da6 Merge pull request #5865 from leeyoungalias/master
update react example basic-jsx-precompile comand line
2016-01-17 19:42:32 -08:00
Jim
c7808cac69 Merge pull request #5872 from SimenB/patch-1
Fix example from #5870 to avoid double rendering
2016-01-17 14:31:27 -08:00
Simen Bekkhus
f5a9a26a43 Fix example from #5870 to avoid double rendering 2016-01-17 23:25:29 +01:00
Jim
e09dfe1e0e Merge pull request #5870 from SimenB/patch-1
Remove the recommendation to use `isMounted` from beginner docs
2016-01-17 12:08:50 -08:00
Simen Bekkhus
1186cb9ab4 Remove the recommendation to use isMounted from beginner docs 2016-01-17 20:53:20 +01:00
Jon Tewksbury
7a6000c093 Add warning for NaN in style object 2016-01-16 11:10:50 -08:00
leeyoungalias
aedfa3011e update react example basic-jsx-precompile comand line on markdown file,new version of babel needed a react presets dependency. 2016-01-16 22:53:24 +08:00
Jim
2f792d5a60 Merge pull request #5859 from jimfb/clonewithprops
Removed cloneWithProps addon.
2016-01-15 17:25:24 -08:00
jim
accd0d874d Removed cloneWithProps addon. 2016-01-15 17:17:36 -08:00
Paul O’Shannessy
422b4e105c Merge pull request #5840 from koba04/release-event-target-on-destructor
Release syntheticEvent.target on the destructor
2016-01-15 16:38:42 -08:00
Paul O’Shannessy
909cba2254 Merge pull request #5724 from iamchenxin/docs122315
Update zh-docs with 4865ddf(v0.14.3+)
2016-01-15 11:18:35 -08:00
iamchenxin
209b7522d9 update zh-docs14.3 ,fixed confliction 2016-01-14 18:38:07 +08:00
Toru Kobayashi
be0551d01e Release syntheticEvent.target on the destructor 2016-01-14 15:09:56 +09:00
Paul O’Shannessy
f1c1544401 Merge pull request #5849 from david0178418/master
Added additional detail to "props-in-getInitialState" anti-pattern doc
2016-01-13 21:32:33 -08:00
David Granado
fb5cd2f7ae Added additional detail to "props-in-getInitialState" anti-pattern doc
While seemingly self-explanatory, this clarifies the reasons props usage in getInitialState might be considered an antipattern.
2016-01-13 23:22:52 -06:00
Jim
fcc63e1fff Merge pull request #5832 from jimfb/cleanup-top-level-dom-api
Remove DOM functions from top-level isomorphic API
2016-01-13 15:41:03 -08:00
Jim
7334fece2c Merge pull request #5718 from jimfb/linked-input
Added LinkedInput addon.
2016-01-13 15:40:46 -08:00
Jim
689efd1abf Merge pull request #5833 from jimfb/remove-getDOMNode
Removed getDOMNode from react classes.
2016-01-13 15:40:12 -08:00
jim
0acdb7b56a Added LinkedInput addon. 2016-01-13 12:29:00 -08:00
Paul O’Shannessy
1da992a0ab Merge pull request #5735 from cody/refs
[docs] Small fixes to "more about refs"
2016-01-12 13:02:27 -08:00
Stefan Dombrowski
ad4e31c312 [docs] Small fixes to "more about refs"
* Add a null check to "A Complete Example".
* Fix outdated comment. (Found by @mjomble)
* Replace short dash - with longer dash –.
* Remove backticks from state, because it is not code.
2016-01-12 19:07:35 +01:00
Ben Alpert
fdd7fabd12 Merge pull request #5728 from spicyj/input-gc
Remove now-unused instancesByReactID in DOMInput
2016-01-12 10:00:43 -08:00
Paul O’Shannessy
9494ec80c2 Merge pull request #5732 from iamchenxin/en-docs
[docs] deleting some unecessary newline
2016-01-12 09:57:32 -08:00
Ben Alpert
dd93eb7f40 Merge pull request #5834 from spicyj/no-ie8
blog post: Discontinuing IE 8 Support in React DOM
2016-01-12 10:27:46 -07:00
Ben Alpert
1b3adff1ca blog post: Discontinuing IE 8 Support in React DOM 2016-01-12 10:27:30 -07:00
Jim
da1fcd0fbf Merge pull request #5836 from koba04/fixup-jsdoc-for-syntheticevent
Fixup jsdoc for SyntheticEvent
2016-01-12 09:11:31 -08:00
Jim
70097ea27c Merge pull request #5826 from jacenko/master
Fixed typo in shouldComponentUpdate.png
2016-01-12 08:45:38 -08:00
Toru Kobayashi
6f976dfbbe Fixup jsdoc for SyntheticEvent 2016-01-13 00:52:59 +09:00
jim
2e1fb4b529 Remove DOM functions from top-level isomorphic API 2016-01-11 23:57:08 -08:00
jim
e8af100849 Removed getDOMNode from react classes. 2016-01-11 23:32:22 -08:00
Ben Alpert
ee03c19b3b Remove references to IE 8 in docs 2016-01-11 23:32:29 -07:00
Paul O’Shannessy
b60e8c255d Merge pull request #5829 from zpao/style-followup
Fixup style for long lines
2016-01-11 20:55:56 -08:00
Paul O’Shannessy
26f53de4a6 Fixup style for long lines 2016-01-11 17:27:37 -08:00
Jim
171305f7e2 Merge pull request #5823 from mgmcdermott/master
Warn when value and defaultValue props are both specified on input or textarea.
2016-01-11 15:33:43 -08:00
Michael McDermott
f2b62e9d90 Warn when both value and defaultValue or both check and defaultChecked props are specified on input, textarea, or select elements 2016-01-11 18:09:37 -05:00
Deniss Jacenko
d51a1d4ec1 Fixed typo in shouldComponentUpdate.png
Reconciiation -> Reconciliation
2016-01-11 17:29:40 -05:00
Paul O’Shannessy
f7850dd3d7 Merge pull request #5686 from vitorbal/master
Improve documentation for using React with Webpack
2016-01-11 12:25:26 -08:00
Paul O’Shannessy
67e85df1fa Merge pull request #5814 from zpao/docs-update-attrs-0.14.6
[docs] Updated supported attrs
2016-01-11 10:37:33 -08:00
Andreas Svensson
77a137adf9 Use removeAttribute to forcefully remove properties from the DOM, drop MUST_USE_ATTRIBUTE and manage all regular properties as attributes instead 2016-01-09 11:55:56 +01:00
Jim
ea0ac61945 Merge pull request #5813 from graue/tips-unneeded-finddomnode
[docs] remove unnecessary findDOMNode from example
2016-01-08 20:30:25 -08:00
Paul O’Shannessy
708e1b3f03 Sort attrs in HTMLDOMPropertyConfig 2016-01-08 17:23:25 -08:00
Scott Feeney
0c6b909322 [docs] remove unnecessary findDOMNode from example
This call is not needed anymore due to https://facebook.github.io/react/blog/2015/10/07/react-v0.14.html#dom-node-refs
2016-01-08 17:19:28 -08:00
Paul O’Shannessy
3574e60867 [docs] Updated supported attrs 2016-01-08 17:17:59 -08:00
Jim
23167f287e Merge pull request #5806 from Zhangjd/master
Update thinking-in-react.zh-CN.md
2016-01-08 10:03:47 -08:00
Zhangjd
a3ec1c34d6 Update thinking-in-react.zh-CN.md 2016-01-08 17:58:23 +08:00
Jim
a1584053cc Merge pull request #5790 from jimfb/componentWillReceiveProps-blogPost
Blog post explains to verify prop mutations in componentWillReceiveProps
2016-01-07 16:21:03 -08:00
Paul O’Shannessy
31fc7fd627 Merge pull request #5801 from zpao/docs-bigger-embeds
[docs] Bigger jsfiddle embeds
2016-01-07 15:08:57 -08:00
Paul O’Shannessy
c3cea365e7 [docs] Bigger jsfiddle embeds 2016-01-07 11:44:25 -08:00
jim
70938de9ae Blog post explains to verify prop mutations in componentWillReceiveProps 2016-01-07 11:11:54 -08:00
Paul O’Shannessy
a7f7ef6ac3 Update website for 0.14.6
(cherry picked from commit d5bf8c553f)
2016-01-07 10:11:21 -08:00
Paul O’Shannessy
5597873d7c Changelog & Readme for v0.14.6
(cherry picked from commit 06cad05d49)
(cherry picked from commit 44e90c040d)
2016-01-07 10:10:38 -08:00
Paul O’Shannessy
19db8e13bc Upgrade to fbjs@^0.6.1
(cherry picked from commit f305deb065)
2016-01-07 10:10:14 -08:00
Jim
78be6f45cc Merge pull request #5799 from gmcquistin/patch-1
[docs] Fix typo in ref-08-reconciliation.md
2016-01-07 09:13:32 -08:00
Gavin McQuistin
d3e315193a Fix typo in ref-08-reconciliation.md 2016-01-07 14:40:44 +00:00
Jim
9b679ab56a Merge pull request #5787 from milesj/receive-props-context-fix
Trigger componentWillReceiveProps when context changes
2016-01-06 15:54:38 -08:00
Miles Johnson
f4c5b2c00b Updated ReactCompositeComponent to trigger componentWillReceiveProps when either props or context change. Fixes issue #5756 2016-01-06 15:49:47 -08:00
Jim
2751e8179d Merge pull request #5784 from jimfb/getNativeNode
Add getNativeNode back, so we can get the native node when performing reorderings (instead of relyin
2016-01-05 15:32:24 -08:00
jim
4e3d38ed27 Removed note explaining why the logic is there, since the justification is now different. 2016-01-05 15:30:00 -08:00
Ben Alpert
0e8db6ba42 Merge pull request #5782 from spicyj/img
Move nodes around by reference instead of by index
2016-01-05 15:13:25 -08:00
Ben Alpert
eb00290673 Remove now-unused prepareToManageChildren
This was a temporary hook needed for the DOM implementation. We no longer need it because we now necessarily load every node into cache (via calling getNativeNode on it) before manipulating any of its siblings.
2016-01-05 15:08:42 -08:00
Ben Alpert
27926572f6 Move nodes around by reference instead of by index
This makes things easier if we ever want to use more than one DOM node for a component. Notably, this is more convenient if we want to remove the wrappers around text components (since text nodes can be split and joined however a browser feels like) or if we want to support returning more than one element from render (#2127).

I left the old indexes so that implementations aren't forced to use the node/image if they prefer indices, because I'm not sure yet whether the changes corresponding to my rewrite of DOMChildrenOperations are easy or hard yet in React Native. (The tests pass with and without the DOMChildrenOperations changes here.)
2016-01-05 15:08:42 -08:00
Ben Alpert
0ebc7b60e1 Revert "Merge pull request #5689 from jimfb/cleanup-5151"
This reverts commit 067547c1d1, reversing
changes made to 102cd29189.
2016-01-05 15:08:15 -08:00
Jim
067547c1d1 Merge pull request #5689 from jimfb/cleanup-5151
Get rid of getNativeNode()
2016-01-05 14:42:05 -08:00
Matthew Hodgson
7f322b5a46 support onLoad synthetic event attribute on 'object' tags - useful for telling when SVGs embedded as objects have loaded 2016-01-05 02:28:25 +00:00
Jim
102cd29189 Merge pull request #5775 from facebook/fix-checkbox-wording
Fix wording to make it more clear that checkbox (input) supports defaultChecked
2016-01-04 13:34:20 -08:00
Jim
a8c2c80fdc Fix wording to make it more clear that checkbox (input) supports defaultChecked
Fix some confusion about why `input` would support `defaultChecked` (it's because you can have an input of type checkbox).  This has come up a couple of times (https://github.com/facebook/react/pull/5633, https://github.com/facebook/react/pull/5774) but both those PRs were wrong and it was just easier to fix it myself.
2016-01-04 13:19:22 -08:00
Paul O’Shannessy
bdcb69f43d Merge pull request #5767 from yhagio/patch-2
Update 10.4-test-utils.md
2016-01-03 13:45:26 -08:00
Yuichi Hagio
c035179ef8 Update 10.4-test-utils.md
Added `var renderer = ReactTestUtils.createRenderer();` (Line 235) to clarify where `renderer` (Line 236) comes from.
2016-01-01 23:15:37 -05:00
Paul O’Shannessy
3b96650e39 Merge pull request #5748 from rickbeerendonk/year-agnostic-copyright
Year-agnostic copyright message, like React Native uses, to prevent the need for yearly changes.
2015-12-29 23:24:24 -08:00
Ben Alpert
2a042a3060 Website for 0.14.5
(cherry picked from commit fb6b3b05f4)
2015-12-29 14:43:30 -08:00
Ben Alpert
e15e059d73 Readme for 0.14.5
(cherry picked from commit d6a0a083e4)
2015-12-29 14:43:30 -08:00
Ben Alpert
dd2dbd0a5c Changelog for 0.14.5
(cherry picked from commit e7b178390d)
2015-12-29 14:43:30 -08:00
Ben Alpert
6dc7f13343 Upgrade fbjs to 0.6 in npm package too
(cherry picked from commit a9732ba548)
2015-12-29 14:43:30 -08:00
Ben Alpert
2a64098271 0.14.4 blog post 2015-12-29 14:19:18 -08:00
Ben Alpert
7cc6738061 Update a few changelog things forgotten in 3f355d99
(cherry picked from commit 0d5d0b2688)
2015-12-29 14:11:45 -08:00
Ben Alpert
8f720f8cd9 update website for 0.14.4
(cherry picked from commit c8398491d8)
2015-12-29 14:11:45 -08:00
Ben Alpert
a58cde6c79 Update readme for 0.14.4
(cherry picked from commit 0516e74473)
2015-12-29 14:11:45 -08:00
Ben Alpert
53920e7c38 Changelog for 0.14.4
(cherry picked from commit 3f355d99c5)
2015-12-29 14:11:45 -08:00
Ben Alpert
99dc2a73f6 Upgrade fbjs to 0.6
(counterpart to a29b4938a8)
2015-12-29 14:11:33 -08:00
Ben Alpert
62c9d999be Merge pull request #5749 from spicyj/lib-native
Add shim files for RN in npm package
2015-12-29 13:34:55 -08:00
Ben Alpert
c29642d6ed Add shim files for RN in npm package 2015-12-29 12:14:22 -08:00
Rick Beerendonk
bef45b0b1a Year-agnostic copyright message, like React Native uses, to prevent the need for yearly changes. 2015-12-29 20:20:32 +01:00
Paul O’Shannessy
51295bf7d0 Merge pull request #5741 from mziwisky/patch-1
Remove extraneous comment
2015-12-29 00:21:24 -08:00
Michael Ziwisky
a0d6a98cbf Remove extraneous comment
This little guy should have been removed in 6bd6ef208b
2015-12-28 19:28:41 -06:00
Dan Abramov
713401f2eb Merge pull request #5736 from gaearon/document-svg-passthrough
Document changes in #5714
2015-12-26 03:09:13 +00:00
Dan Abramov
feb4c487be Document changes in #5714 2015-12-25 18:51:09 +00:00
Dan Abramov
53dabe748c Merge pull request #5714 from gaearon/passthrough-svg-attributes
Pass all SVG attributes through
2015-12-25 13:53:33 +00:00
Dan Abramov
98a7100930 Use JSX in the new tests 2015-12-25 13:50:10 +00:00
Dan Abramov
f27e3aa750 Move the specific else if clause up 2015-12-25 13:48:13 +00:00
Dan Abramov
251d6c30b5 Move SVG attribute deprecation warnings into a devtool
In #5590 a new system was introduced for tracking dev-time warnings.
This commit uses it for reporting SVG attribute deprecation warnings.
2015-12-24 17:50:46 +00:00
Dan Abramov
232a47ad04 Pass SVG attributes through
All attributes defined on SVG elements will now be passed directly regardless of the whitelist. The casing specified by user will be preserved, and setAttribute() will be used.

In the future we will remove support for the camel case aliases to the hyphenated attributes. For example, we currently map `strokeWidth` to `stroke-width` but this is now deprecated behind a warning. When we remove support for this we can remove some of the code paths introduced in this commit.

The purpose of this change is to stop maintaining a separate SVG property config. The config still exists for two purposes:

* Allow a migration path for deprecated camelcased versions of hyphenated SVG attributes
* Track special namespaced attributes (they still require a whitelist)

However it is no longer a blocker for using new non-namespaced SVG attributes, and users don't have to ask us to add them to the whitelist.

Fixes #1657
2015-12-24 17:18:33 +00:00
iamchenxin
6e0a023572 deleting some unecessary newline 2015-12-24 14:57:30 +08:00
iamchenxin
badc15e3c0 update zh-docs (v0.14.3+) 2015-12-24 13:57:07 +08:00
Jim
82fe64a456 Merge pull request #5590 from jimfb/use-devtool-for-unknown-property-warning
Use devtool for unknown property warning
2015-12-23 19:02:58 -08:00
Ben Alpert
edf1952421 Merge pull request #5730 from spicyj/input-type-value
Add another test for #5729
2015-12-23 17:55:08 -08:00
Ben Alpert
432578ef03 Add another test for #5729 2015-12-23 16:25:35 -08:00
Ben Alpert
5043b89d5e Merge pull request #5729 from spicyj/input-type-value
Set input .type before .value always
2015-12-23 15:49:32 -08:00
Ben Alpert
07c0bc6166 Set input .type before .value always
In IE11 (and below), if you run

```
var input = document.createElement('input');
input.value = 'wat';
input.type = 'radio';
console.log(input.value);
```

you get the string "on" logged. Because that makes sense.

So we set the type first.
2015-12-23 15:44:33 -08:00
Ben Alpert
d9dabac48d Remove now-unused instancesByReactID in DOMInput 2015-12-23 15:14:13 -08:00
Paul O’Shannessy
0d5312559a Merge pull request #5725 from RochesterinNYC/patch-1
Clarify React class constructor comments
2015-12-23 11:53:12 -08:00
Paul O’Shannessy
a0741ab468 Merge pull request #5716 from jwworth/pull-request-1450816256
Fix typos in posts
2015-12-23 11:50:08 -08:00
Paul O’Shannessy
56365f4eda Merge pull request #5721 from jdalton/fast-finish
Remove fast_finish in travis.yml.
2015-12-23 11:35:56 -08:00
James Wen
6ff96441da Clarify React class constructor comments
- The constructor is not always overridden by mocks. Makes viewing this constructor during debugging less confusing.
2015-12-23 12:58:18 -05:00
Jake Worth
35e1908bb4 Fix typos in posts 2015-12-23 07:47:17 -05:00
John-David Dalton
f0a15b993c Remove fast_finish in travis.yml. 2015-12-23 00:24:20 -06:00
Jim
4865ddf7ea Merge pull request #5712 from dortonway/master
Fix misunderstanding in tutorial
2015-12-22 16:04:09 -08:00
dortonway
109c9a91e2 Fix misunderstanding in tutorial 2015-12-23 03:01:02 +03:00
Ben Alpert
bae0f19543 Merge pull request #5308 from spicyj/rep
Import ResponderEventPlugin changes from RN
2015-12-22 15:53:11 -08:00
Ben Alpert
bb11639e25 Import ResponderEventPlugin changes from RN 2015-12-22 15:45:51 -08:00
Paul O’Shannessy
89a0ef4ff9 Update badges to include coverage
Also switch to use a different badge provider for consistent styling
2015-12-22 15:41:28 -08:00
Paul O’Shannessy
85e646015d Ensure build directory works when running jest:coverage on its own 2015-12-22 14:36:27 -08:00
Paul O’Shannessy
1d8b816496 Merge pull request #5711 from iamchenxin/docs122215
[docs] Update zh-docs with 7e2a7f0
2015-12-22 14:10:41 -08:00
Paul O’Shannessy
8fa1dfaa8c Merge pull request #5713 from zpao/jest-coverage-followups
Followups to get test coverage reporting to coveralls
2015-12-22 14:07:13 -08:00
Paul O’Shannessy
39c24bf6a6 Addjust travis for jest coverage 2015-12-22 11:47:14 -08:00
Paul O’Shannessy
e68e17503e Remove coverage options from package.json
They don't provide any value and since one of them isn't a valid config usage,
it blurs the line. Instead just store these pieces in the tasks and write them
to the temp config.
2015-12-22 11:14:44 -08:00
Paul O’Shannessy
f3dbc40261 Split jest task into two
This ensures that we don't make jest do the additional tracking it needs to make coverage work.
2015-12-22 10:25:34 -08:00
Paul O’Shannessy
bbef2958b2 Merge pull request #5707 from jdalton/coveralls
Add coveralls support.
2015-12-22 10:07:36 -08:00
Paul O’Shannessy
5b98152a3d Merge pull request #5709 from zpao/youtubenocookie
[docs] fixup other broken youtube-nocookie uses
2015-12-22 10:00:47 -08:00
iamchenxin
a9a4c9d9d0 Update zh-docs with 7e2a7f0 2015-12-23 00:54:48 +08:00
John-David Dalton
9b0ef9244d Add coveralls. 2015-12-22 06:48:33 -06:00
Paul O’Shannessy
82ed8fb0cd [docs] fixup other broken youtube-nocookie uses 2015-12-22 00:54:04 -08:00
Jim
7e2a7f0ce6 Merge pull request #5706 from kchia/patch-3
Capitalizes first letter of first word in the Step 1 instruction
2015-12-21 17:26:10 -08:00
Jim
88ce0fc95f Merge pull request #5708 from kchia/patch-4
Corrects grammatical errors in tutorial
2015-12-21 16:28:34 -08:00
Hou Chia
c465c2ab77 Corrects grammatical errors 2015-12-21 15:03:09 -08:00
Hou Chia
744b1175f3 Capitalizes first letter of first word in the Step 1 instruction
This proposed change makes the documentation formatting more consistent.
2015-12-21 14:51:10 -08:00
Dan Abramov
14d8593102 Fix a minor typo in Contributing 2015-12-21 21:23:07 +00:00
Dan Abramov
d872c25739 Fix the incorrect Jest watch command in Contributing 2015-12-21 21:07:20 +00:00
Paul O’Shannessy
ac20cb2d8c Merge pull request #5705 from facebook/gaearon-patch-1
Mention how to run specific tests in Jest
2015-12-21 12:57:18 -08:00
Jim
9c57c30049 Merge pull request #5699 from jwworth/pull-request-1450702663
Fix typo (duplicate word)
2015-12-21 12:55:55 -08:00
Dan Abramov
cd0c62ef74 Mention how to run specific tests in Jest 2015-12-21 20:54:16 +00:00
Dan Abramov
50af034108 Merge pull request #5695 from gaearon/patch-2
Fix children to be a prop in the blog post example
2015-12-21 20:04:52 +00:00
Dan Abramov
dae1152e66 Merge pull request #5702 from gaearon/patch-3
Mention that Jest can be used directly in Contributing
2015-12-21 19:18:42 +00:00
Dan Abramov
ca31e9f3f7 Remove mention of grunt test --debug from README
It isn't supported anymore.
2015-12-21 19:18:23 +00:00
Dan Abramov
dc9b3fedb2 Mention that Jest can be used directly in Contributing 2015-12-21 19:14:26 +00:00
Jim
8d0efaf980 Merge pull request #5701 from cesarwbr/patch-1
Fix typo in youtube url for video in blog post.
2015-12-21 10:29:09 -08:00
Cesar William Alvarenga
a8b953327a Fix typo
Fix the conference talk youtube url.
2015-12-21 16:02:53 -02:00
Jake Worth
a067949c99 Fix typo 2015-12-21 06:57:52 -06:00
Paul O’Shannessy
aad8024d09 Merge pull request #5697 from kolodny/stricter-update-tests
improved react-addons-update tests
2015-12-20 21:11:29 -08:00
Paul O’Shannessy
1b85c9a6c4 Merge pull request #5698 from facebook/Daniel15-patch-1
Remove smart quotes from code snippet in blog post
2015-12-20 21:09:00 -08:00
Daniel Lo Nigro
abddb558ec Remove smart quotes from code snippet
"Smart" quotes aren't actually very smart.
2015-12-21 15:53:30 +11:00
Moshe Kolodny
7c0189fbad improved react-addons-update tests 2015-12-20 22:01:54 -05:00
Dan Abramov
89538d44a9 Fix minor typos in the blog post 2015-12-18 23:24:07 +00:00
Dan Abramov
421d177dd2 Fix children to be a prop in the blog post example 2015-12-18 21:32:32 +00:00
Ben Alpert
5563771ace Merge pull request #5694 from spicyj/div-html-nesting
Make sure div > html nesting is considered invalid
2015-12-18 12:53:27 -08:00
Ben Alpert
40d5692980 Make sure div > html nesting is considered invalid
See #5128.
2015-12-18 12:49:54 -08:00
Paul O’Shannessy
bdca170d2a Merge pull request #5693 from gaearon/elements-post
Added post about components, elements, and instances
2015-12-18 12:42:33 -08:00
Paul O’Shannessy
9a6c5deeb6 Merge pull request #5692 from zpao/small-style-fixups
A couple small style fixups that were missed in recent PRs
2015-12-18 12:23:54 -08:00
Dan Abramov
f56b28c07a Added post about components, elements, and instances 2015-12-18 20:22:24 +00:00
Paul O’Shannessy
7a1d87bd33 A couple small style fixups that were missed in recent PRs 2015-12-18 11:27:49 -08:00
jim
8eabf84204 Get rid of getNativeNode() 2015-12-17 19:04:27 -08:00
Vitor Balocco
a3d6553a30 Improve documentation for using React with Webpack
Fixes #5679
2015-12-17 17:22:56 +01:00
jim
26f3785a8c Use duck typing instead of allocating event objects 2015-12-16 19:32:55 -08:00
Paul O’Shannessy
83328d4923 Merge pull request #5683 from zpao/build-no-vendor
Don't build vendor files into build/modules
2015-12-16 18:57:14 -08:00
Paul O’Shannessy
b8315fdd59 Don't build vendor files into build/modules 2015-12-16 18:08:26 -08:00
Ben Alpert
963b3cacab Merge pull request #5346 from prometheansacrifice/warn-immutable-props
Warns when mutated props are passed.
2015-12-16 16:09:33 -08:00
Jim
c9c3c339b7 Merge pull request #5216 from nLight/number-in-data-attrs-2329
Allow numbers after `data-` in custom attributes fixes #2329
2015-12-16 15:37:41 -08:00
Jim
ab37776cc2 Merge pull request #5599 from zramaekers/shallow-compare-docs
Add documentation for shallowCompare addon
2015-12-16 15:34:04 -08:00
Jim
0c15b01c38 Merge pull request #5602 from jimfb/error-boundaries
Error boundaries
2015-12-16 13:04:45 -08:00
Jim
3afced6a75 Error boundaries. 2015-12-16 12:15:26 -08:00
Paul O’Shannessy
a15293704a Merge pull request #5673 from DJCordhose/reactelement-doc-fix
fixed docs on ReactElement that were out of sync with code
2015-12-16 11:50:36 -08:00
Jim
ccb97d8e59 Merge pull request #5587 from jimfb/ismounted-alternatives
Added post about upgrading your code to avoid isMounted()
2015-12-16 05:54:55 -08:00
Oliver Zeigermann
20e5a95fe3 fixed docs on ReactElement that were out of sync with code 2015-12-16 11:26:32 +01:00
Jim
bec238a7c9 Added post about upgrading your code to avoid isMounted() 2015-12-15 16:25:07 -08:00
Paul O’Shannessy
6c8cbcae8f Merge pull request #5663 from jonathanp/fix-code-comment
Rephrase comment to better describe use of `warning()`
2015-12-15 14:32:40 -08:00
jpersson
13080f99ba Rephrase comment to better describe use of warning() 2015-12-14 23:27:37 -05:00
Jim
30ef056731 Moved unknown-prop warning into a devtool 2015-12-14 16:29:04 -08:00
Jim
a55ab282fa Initial outline for new devtools api 2015-12-14 16:29:02 -08:00
Ben Alpert
33217f0fb9 Merge pull request #4888 from spicyj/ssr-no-queue
Don't build up mount-ready queue for server side rendering
2015-12-14 14:46:04 -08:00
Ben Alpert
3997164418 Merge pull request #5550 from spicyj/cc-speed
Make createClass 10-15% faster on complex specs
2015-12-14 14:45:44 -08:00
Paul O’Shannessy
eee5d466a6 Merge pull request #5623 from freddyrangel/autocorrect_autocapitalize
Autocorrect and autocapitalize should not be property
2015-12-14 14:11:15 -08:00
Paul O’Shannessy
b6a01d7733 Merge pull request #5658 from applegrain/clarify-dependency-installation
Clarify dependency installation
2015-12-14 11:20:54 -08:00
Lovisa Svallingson
2ff1b2e9e3 Clarify dependency installation
Split browserify and webpack to separate sections.
Remove `babelify` from the webpack section since it's only for browserify
2015-12-14 09:28:20 -07:00
Freddy Rangel
db37deb17c Autocorrect and autocapitalize should not be property
Fixes facebook/react#5436
2015-12-13 23:37:29 -08:00
Jim
55bd203310 Merge pull request #5655 from adraeth/patch-1
Correct highlight in tutorial7.js snippet
2015-12-13 13:13:44 -08:00
Jim
83ee3c38a4 Merge pull request #5654 from jutaz/bugfix/typos
Bugfix - Typos
2015-12-13 10:43:50 -08:00
adraeth
682d61537d Correct highlight in tutorial7.js snippet 2015-12-13 17:38:30 +01:00
Justas Brazauskas
0886273438 Fix few typos in React docs and comments 2015-12-13 16:39:07 +02:00
Jim
410cc30bf9 Merge pull request #5605 from thekevlau/patch-1
Adding class->className as a JSX gotcha
2015-12-11 12:13:48 -08:00
Kevin Lau
fcf74fe9da Finalized wording 2015-12-11 12:05:05 -08:00
Jim
f282710072 Merge pull request #5644 from AndrewHenderson/patch-1
Helps avoid a common Issue when following tutorial
2015-12-11 10:56:01 -08:00
Andrew Henderson
ef32927eb5 Helps avoid a common Issue when following tutorial
https://github.com/reactjs/react-tutorial/issues/87
2015-12-10 22:44:36 -08:00
Jim
eeee272268 Merge pull request #5643 from koh-taka/patch-1
Fix wrong script name (showdown -> marked)
2015-12-10 18:27:17 -08:00
koh-taka
94325ea3ef Fix wrong script name (showdown -> marked)
jp: チュートリアル内のshowdown を marked に修正
2015-12-11 11:23:56 +09:00
Jim
bb084eba24 Merge pull request #5609 from vitorbal/patch-1
Clarify usage of `.propTypes` when using functional components
2015-12-10 15:21:55 -08:00
Vitor Balocco
b1964ad8a7 Clarify usage of .propTypes and .defaultProps when using stateless functional components
I've seen some people unaware about the fact that you can still specify `.propTypes` and `.defaultProps` when you are defining a functional component by setting them as properties of the function.
I thought clarifying this in the docs could help!
2015-12-10 23:21:59 +01:00
Ben Alpert
4f7a2766e4 Merge pull request #5640 from spicyj/no-typechecks
Remove @typechecks
2015-12-10 11:30:40 -08:00
Ben Alpert
46f5251c66 Remove @typechecks
These don't really do anything.

```
codemod.py -d src --extensions js -m '\s* \* @typechecks.*?\n' '\n'
```

with "yes to all".
2015-12-10 11:26:45 -08:00
Jim
be964561ed Merge pull request #5610 from yangshun/change-devtools-message
Change devtools install message on file: URLs
2015-12-10 08:55:57 -08:00
Tay Yang Shun
3deca65a89 Change devtools install message on file: URLs 2015-12-11 00:48:53 +08:00
Kevin Lau
0130a04f05 added nuance about identifiers used in custom elements 2015-12-09 00:33:25 -08:00
Ben Alpert
c65ff201fc Merge pull request #5614 from mark-rushakoff/avoid-negative-lookahead
Avoid negative lookahead in regular expression
2015-12-06 20:27:03 -08:00
Mark Rushakoff
86b44349de Avoid negative lookahead in regular expression
I'm trying to use React with otto
(https://github.com/robertkrimen/otto), which is implemented in Go and
does not support lookaheads or backreferences in regular expressions.
(Unfortunately that *does* mean that otto isn't fully compatible with
the ECMA5 spec; but since this is the only lookahead I am aware of in
the React codebase, this change makes React once again compatible with
otto, and any other JS implementation that may not be fully compliant on
regular expressions).

As far as I can tell, the previous code replaced a sequence of slash
characters with one more slash than before. The new code avoids the
negative lookahead by matching any sequence of slash characters and then
using the special `$&` placeholder to replace the matched sequence with
the original sequence, plus one more slash.
2015-12-06 13:46:16 -08:00
Jim
178fe648de Merge pull request #5611 from dittos/irc-remove-2ndarg
Clean up caller sites of instantiateReactComponent
2015-12-06 05:01:15 -08:00
Taeho Kim
14725ba768 Clean up caller sites of instantiateReactComponent
The 2nd argument was removed since #4139.
2015-12-06 17:31:30 +09:00
Kevin Lau
1d3ff2a159 Adding class->className as a JSX gotcha
It's mentioned as a note in "JSX in Depth" however I think for clarity and ease of look-up, it would be a good idea to also include it in the JSX Gotchas list?
2015-12-04 16:51:38 -08:00
Paul O’Shannessy
856eb72b4f Merge pull request #5593 from zwhitchcox/patch-3
Remove dead code
2015-12-04 15:57:27 -08:00
zwhitchcox
b15c80696c Remove dead code
This isn't used anywhere in React
2015-12-04 18:28:37 -05:00
Paul O’Shannessy
3faf9569d4 [blog] Diversity Scholarship 2016 2015-12-04 14:51:12 -08:00
Paul O’Shannessy
67663ba2c9 Merge pull request #5603 from henryw4k/patch-3
chore(ReactComponentWithPureRenderMixin.js): made "Mixin" lowercase
2015-12-04 13:08:58 -08:00
Paul O’Shannessy
4f9d8c31b8 Merge pull request #5600 from zwhitchcox/patch-4
Change release to multi task
2015-12-04 13:08:08 -08:00
Ben Alpert
2f77367863 Merge pull request #5595 from remko/select-bug
Fix single select incorrectly updating
2015-12-04 11:12:23 -08:00
Henry Wong
4a971c2d1c chore(ReactComponentWithPureRenderMixin.js): made "Mixin" lowercase
When referring to mixin, the rest of the comment is in lowercase; see line 36 and line 37. 
This change helps with the consistency of the usage of "mixin", and not to confuse it with a variable name.
2015-12-04 11:12:07 -08:00
zwhitchcox
c77f0b2fc5 Change release to multi task
More concise and consistent with the other multitasks
2015-12-04 13:29:58 -05:00
Zach Ramaekers
ad54e49f0c adding documentation pages for shallowCompare addon 2015-12-04 08:53:33 -06:00
Remko Tronçon
7d699f4063 Fix single select incorrectly updating
Closes #5592
2015-12-04 11:21:02 +01:00
Jim
f4744f3a70 Merge pull request #5588 from jimfb/setprops-replaceprops-deprecated
Increase severity of setprops and replaceprops deprecations, since their removal is now imminent.
2015-12-03 10:29:20 -08:00
jim
8c7603311a Increase severity of setprops and replaceprops deprecations, since their removal is now imminent. 2015-12-03 04:08:53 -08:00
Jim
526d5c0edc Merge pull request #5589 from wrakky/fix-minlength-docs
Rename minlength to minLength in the tags and attributes documentation page
2015-12-03 04:04:45 -08:00
Peter Newnham
31253c251f Rename minlength to minLength in the tags and attributes documentation page 2015-12-03 09:35:08 +00:00
Jim
50c7b1792c Merge pull request #5570 from jimfb/remove-setprops-replaceprops
Remove setProps and replaceProps.
2015-12-02 19:09:19 -08:00
Paul O’Shannessy
0be7786e1c Merge pull request #5559 from shogunsea/docs-add-marked
[docs]Add marked source in tutorial doc
2015-12-02 11:30:49 -08:00
Paul O’Shannessy
3ca15b0090 Merge pull request #5584 from zwhitchcox/patch-2
Update ref-10-glossary.md
2015-12-02 11:14:22 -08:00
zwhitchcox
b0ae955977 Update ref-10-glossary.md 2015-12-02 08:52:51 -05:00
Scott Feeney
8557cc0d67 Merge pull request #5561 from graue/setstate-cwm
shallow render: fix setState in componentWillMount
2015-12-01 19:49:15 -08:00
Scott Feeney
9c21e2f3c4 shallow render: fix setState in componentWillMount 2015-12-01 19:43:52 -08:00
Ben Alpert
6b3ee0e74d Merge pull request #5576 from spicyj/log-top-level
Log top-level renders with console.time
2015-12-01 11:34:40 -08:00
Ben Alpert
a0f88d29df Log top-level renders with console.time
Behind a flag.
2015-12-01 11:29:13 -08:00
Paul O’Shannessy
f5840e685e Merge pull request #5581 from yuyokk/patch-1
Update 08.1-more-about-refs.md
2015-12-01 11:03:59 -08:00
Iurii Kucherov
36dfe62f68 Update 08.1-more-about-refs.md 2015-12-01 19:28:34 +01:00
Paul O’Shannessy
13c398bef6 Merge pull request #5536 from zpao/keys-on-prototypes
Don't use `key` when defined on String, Number prototypes
2015-11-30 23:33:26 -08:00
xxin
25ef456b13 add marked source in tutorial doc
update wording of later section

no first, no next

more on wording
2015-11-30 19:08:11 -06:00
jim
fbf81a8435 Remove setProps and replaceProps. 2015-11-30 11:46:07 -08:00
Jim
940a75b1fe Merge pull request #5564 from jackiewung/master
Fix file reference typo in starter
2015-11-30 09:34:15 -08:00
Jackie Wung
f1d3f78334 Fix file reference typo in starter 2015-11-29 18:07:31 -08:00
Paul O’Shannessy
34fbcf20d8 Merge pull request #5526 from yangshun/todo-app-id
[docs] Use id for TodoApp example
2015-11-28 11:58:20 -08:00
Paul O’Shannessy
f48bb3a274 Merge pull request #5520 from mhujer/docs-spread-fix-babel
Docs: Transform rest and spread properties using Babel 6
2015-11-28 11:47:30 -08:00
Paul O’Shannessy
6b641de6b8 Merge pull request #5546 from cody/singlechild
[docs] Single Child
2015-11-28 11:46:47 -08:00
Paul O’Shannessy
d54b151bc2 Merge pull request #5556 from timuric/patch-1
Avoid mutating state in the example code
2015-11-28 11:30:35 -08:00
Timur Carpeev
1e98c78541 Avoid mutating state in the example code
According to react documentation it is advised to: 
NEVER mutate this.state directly, as calling setState() afterwards may replace the mutation you made. Treat this.state as if it were immutable.
https://facebook.github.io/react/docs/animation.html

In this particular case it is probably doesn't matter since setState is called directly after mutation, but it does provide a bad example of state mutation.

Another way of removing an item from an array can be `newItems = this.state.slice(0,i).concat(this.state.slice(i+1))` however the meaning can be less obvious to some.
2015-11-27 12:33:57 +01:00
Martin Hujer
ed8727ade7 Transform rest and spread properties using Babel 6
> Out of the box Babel doesn't do anything. In order to actually do
> anything to your code you need to enable plugins.
> (https://babeljs.io/docs/plugins/)
2015-11-26 09:17:01 +01:00
Ben Alpert
50c81d5fe6 Make createClass 10-15% faster on complex specs 2015-11-25 18:24:46 -08:00
Ben Alpert
ba0792e72b Add createClass stress test
Running this is left as an exercise for the reader, since my measure.py isn't designed for this at present. But something like this might work:

```diff
diff --git a/scripts/bench/measure.py b/scripts/bench/measure.py
index 4cedf47..627ec97 100755
--- a/scripts/bench/measure.py
+++ b/scripts/bench/measure.py
@@ -79,15 +79,12 @@ def _measure_ssr_ms(engine, react_path, bench_name, bench_path, measure_warm):
             if (typeof React !== 'object') throw new Error('React not laoded');
             report('factory_ms', END - START);

-            globalEval(readFile(ENV.bench_path));
-            if (typeof Benchmark !== 'function') {
-              throw new Error('benchmark not loaded');
-            }
+            globalEval("bm = (function(){" + readFile("bench-createclass-madman.js") + "})");
+            bm();
             var START = now();
-            var html = React.renderToString(React.createElement(Benchmark));
-            html.charCodeAt(0);  // flatten ropes
+            bm();
             var END = now();
-            report('ssr_' + ENV.bench_name + '_cold_ms', END - START);
+            report('cc_' + ENV.bench_name + '_cold_ms', END - START);

             var warmup = ENV.measure_warm ? 80 : 0;
             var trials = ENV.measure_warm ? 40 : 0;
@@ -119,7 +116,7 @@ def _main():
         return 1
     react_path = sys.argv[1]

-    trials = 30
+    trials = 60
     sys.stderr.write("Measuring SSR for PE benchmark (%d trials)\n" % trials)
     for i in range(trials):
         for engine in [
@@ -132,7 +129,7 @@ def _main():
         sys.stderr.flush()
     sys.stderr.write("\n")

-    trials = 3
+    trials = 0#3
     sys.stderr.write("Measuring SSR for PE with warm JIT (%d slow trials)\n" % trials)
     for i in range(trials):
         for engine in [
```
2015-11-25 18:24:46 -08:00
Ben Alpert
8248470bd9 Merge pull request #5547 from spicyj/mc-noq
Kill global queue in ReactMultiChild
2015-11-25 13:13:01 -08:00
Ben Alpert
418ba27485 Kill global queue in ReactMultiChild
As we move away from using HTML for updates, this becomes less useful.
2015-11-25 12:59:02 -08:00
Ben Alpert
08499f9938 Turn on useCreateElement by default
Facebook has been running with this on for a couple weeks now with no ill effects.
2015-11-25 12:59:01 -08:00
Ben Alpert
3722616349 Merge pull request #5543 from spicyj/rt103
Clarify wording in the tutorial
2015-11-25 09:37:28 -08:00
Stefan Dombrowski
c6025da952 [docs] Single Child
* Single Child belongs to Prop Validation, so it was moved there.
* "throw" was changed to "warn".
2015-11-25 17:34:40 +01:00
Paul O’Shannessy
54e6057b1a Merge pull request #5523 from hejld/add-selection-and-composition-events-on-reference-page
[docs] Add missing sections to events reference page in IT and CN
2015-11-24 09:44:49 -08:00
Paul O’Shannessy
e95d3dd812 Merge pull request #5539 from matthewlooi/addCodeHighlightToTutorialDoc
Add highlight to a line of code to tutorial21.js
2015-11-24 09:44:03 -08:00
Ben Alpert
58901af7a6 Clarify wording in the tutorial
reactjs/react-tutorial#103
2015-11-24 09:30:33 -08:00
hejld
18a3a3979e Add missing sections to events reference page in IT and CN 2015-11-24 15:56:58 +01:00
Matthew
e02bd0543f add highlight to a line of code to tutorial20.js (all languages included) 2015-11-24 01:23:55 -05:00
Paul O’Shannessy
f44a0778e3 Don't use key when defined on String, Number prototypes 2015-11-23 15:33:34 -08:00
Paul O’Shannessy
d01188133e Merge pull request #5533 from kryogenic/patch-1
Use null instead of '' in ternary expression
2015-11-23 12:12:14 -08:00
Kale
b74e53c3ca Use null instead of '' in ternary expression
A blank string ('') resolves to <span></span> which produces a warning when place inside a <tr>
2015-11-23 06:38:08 -07:00
Paul O’Shannessy
7ea1d15197 Merge pull request #5524 from chenglou/woohoo-its-me
Remove unreachable return from shouldUpdateReactComponent
2015-11-22 18:54:17 -08:00
Tay Yang Shun
bf4bd19101 [docs] Use id for TodoApp example 2015-11-22 11:54:39 +08:00
Cheng Lou
60af7d1c3d Remove unreachable return from shouldUpdateReactComponent
Eslint didn't catch this (we do have this rule turned on) because it's a
big. There are no other locations I think. Detected that when I minified
some code.
2015-11-21 18:00:40 -05:00
Paul O’Shannessy
c5867ea401 Merge pull request #5518 from mhujer/docs-spread-fix
Docs: Rest and Spread Properties - ECMAScript
2015-11-20 11:30:02 -08:00
Ben Alpert
812e1a877f Merge pull request #5500 from hejld/master
Update DOM_OPERATION_TYPES mappings for ReactDefaultPerfAnalysis
2015-11-20 11:21:06 -08:00
Sebastian Markbåge
64f795e5ef Merge pull request #5411 from simonewebdesign/master
ReactShallowRenderer.render returns the rendered output
2015-11-20 11:20:37 -08:00
Martin Hujer
23edc0d274 Rest/Spread Properties may not be part of ES7
According to the http://www.2ality.com/2015/11/tc39-process.html it is
not a good idea to guess target ES version until the proposal reaches
later phases.

Even the proposal repository now states
  > It is a Stage 2 proposal for ECMAScript. <
(it has been changed in e9813ac78a)
2015-11-20 19:36:29 +01:00
Ben Alpert
acabb22a1d Merge pull request #5503 from spicyj/measure-analyze
benchmarking: measure and analyze scripts
2015-11-19 17:01:53 -08:00
Ben Alpert
907dee2b5d Merge pull request #5451 from spicyj/empty-comments
Use comment nodes for empty components
2015-11-19 16:56:23 -08:00
Paul O’Shannessy
1cdbff26ab Merge pull request #5511 from KeweiCodes/patch-1
Typo
2015-11-19 15:56:25 -08:00
Paul O’Shannessy
aa1e58a41b Merge pull request #5508 from yangshun/patch-1
Add in missing closing </li> for docs template
2015-11-19 13:57:37 -08:00
Kewei Jiang
179263c72f Typo 2015-11-20 10:01:29 +13:00
Jim
22a3f6724a Merge pull request #5510 from jimfb/useless-find-dom-nodes
Removed unnecessary variables/assertions.
2015-11-19 12:14:05 -08:00
jim
1d071c20e8 Removed unnecessary variables/assertions. 2015-11-19 11:32:51 -08:00
Jim
c643ecd7c7 Merge pull request #5495 from jimfb/remove-public-dom-instance
Remove legacy dom node/ref stuff.
2015-11-19 11:27:24 -08:00
Tay Yang Shun
ab6892956d Add in missing closing </li> for docs template 2015-11-20 00:56:25 +08:00
Paul O’Shannessy
0440de9f89 update website for 0.14.3
(cherry picked from commit 3f2f763dea)
2015-11-18 22:39:49 -08:00
Paul O’Shannessy
399a6cfd1c Update readme for 0.14.3
(cherry picked from commit 1cef6ebabf)
2015-11-18 22:39:49 -08:00
Paul O’Shannessy
b40221973c v0.14.3 blog post
(cherry picked from commit f92a630737)
2015-11-18 22:39:49 -08:00
Paul O’Shannessy
fd03270372 Changelog for 0.14.3
(cherry picked from commit 55b6839684)
2015-11-18 22:39:49 -08:00
Ben Alpert
844ca8b6b2 benchmarking: measure and analyze scripts
This uses wall-clock time (for now) so it's noisier than alternatives
(cachegrind, CPU perf-counters), but it's still valuable. In a future diff we
can make it use those.

`measure.py` outputs something that `analyze.py` can understand, but you can use `analyze.py` without `measure.py` too. The file format is simple:

```
$ cat measurements.txt
factory_ms_jsc_jit 13.580322265625
factory_ms_jsc_jit 13.659912109375
factory_ms_jsc_jit 13.67919921875
factory_ms_jsc_nojit 12.827880859375
factory_ms_jsc_nojit 13.105224609375
factory_ms_jsc_nojit 13.195068359375
factory_ms_node 40.4891400039196
factory_ms_node 40.6669420003891
factory_ms_node 43.52413299679756
ssr_pe_cold_ms_jsc_jit 43.06005859375
...
```

(The lines do not need to be sorted.)

Comparing 0.14.0 vs master:

```
$ ./measure.py react-0.14.0.min.js >014.txt
Measuring SSR for PE benchmark (30 trials)
..............................
Measuring SSR for PE with warm JIT (3 slow trials)
...
$ ./measure.py react.min.js >master.txt
Measuring SSR for PE benchmark (30 trials)
..............................
Measuring SSR for PE with warm JIT (3 slow trials)
...
$ ./analyze.py 014.txt master.txt
Comparing 014.txt (control) vs master.txt (test)
Significant differences marked by ***
% change from control to test, with 99% CIs:

* factory_ms_jsc_jit
    % change:  -0.56% [ -2.51%,  +1.39%]
    means: 14.037 (control), 13.9593 (test)
* factory_ms_jsc_nojit
    % change:  +1.23% [ -1.18%,  +3.64%]
    means: 13.2586 (control), 13.4223 (test)
* factory_ms_node
    % change:  +3.53% [ +0.29%,  +6.77%]  ***
    means: 42.0529 (control), 43.54 (test)
* ssr_pe_cold_ms_jsc_jit
    % change:  -6.84% [ -9.04%,  -4.65%]  ***
    means: 44.2444 (control), 41.2187 (test)
* ssr_pe_cold_ms_jsc_nojit
    % change: -11.81% [-14.66%,  -8.96%]  ***
    means: 52.9449 (control), 46.6953 (test)
* ssr_pe_cold_ms_node
    % change:  -2.70% [ -4.52%,  -0.88%]  ***
    means: 96.8909 (control), 94.2741 (test)
* ssr_pe_warm_ms_jsc_jit
    % change: -17.60% [-22.04%, -13.16%]  ***
    means: 13.763 (control), 11.3439 (test)
* ssr_pe_warm_ms_jsc_nojit
    % change: -20.65% [-22.62%, -18.68%]  ***
    means: 30.8829 (control), 24.5074 (test)
* ssr_pe_warm_ms_node
    % change:  -8.76% [-13.48%,  -4.03%]  ***
    means: 30.0193 (control), 27.3964 (test)
$
```
2015-11-18 16:26:01 -08:00
Paul O’Shannessy
d1eba1f78c Merge pull request #5501 from zpao/release-react-dom-server
Make sure react-dom-server is shipped in release process
2015-11-18 13:16:57 -08:00
Paul O’Shannessy
5a80b20017 Make sure react-dom-server is shipped in release process
Also removed some duplicated code to simplify a bit
2015-11-18 13:08:44 -08:00
hejld
a3779421a1 Update DOM_OPERATION_TYPES mappings for ReactDefaultPerfAnalysis 2015-11-18 20:58:32 +01:00
Ben Alpert
1a6d1e74e0 Merge pull request #5330 from laskos/fix-shallow-rendering-function-refs
Fix shallow renderer with ref as function
2015-11-17 23:53:00 -08:00
Paul O’Shannessy
e7a5a98044 Merge pull request #5417 from zpao/ol-reversed
Support reversed for <ol>s
2015-11-17 23:24:27 -08:00
Paul O’Shannessy
904e9e3ea6 Merge pull request #5445 from yangshun/controlled-components-in-tutorial
Use controlled components in tutorial
2015-11-17 22:59:40 -08:00
Tay Yang Shun
3812b95450 [docs] Use controlled components for tutorial 2015-11-18 14:43:03 +08:00
Paul O’Shannessy
c4f134883d Support reversed for <ol>s 2015-11-17 22:42:01 -08:00
Paul O’Shannessy
60cba8fcf7 Merge pull request #5496 from zpao/reactdomserverfollowup
Followup to #5381
2015-11-17 21:57:51 -08:00
Paul O’Shannessy
7729d51726 Followup to #5381
- Export to the right variable
- Simplify lintignore
- Fix cURL command for TravisCI
2015-11-17 17:57:43 -08:00
Paul O’Shannessy
c07b304c76 Merge pull request #5381 from kevinrobinson/react-dom-server-package
Add additional secret property to build artifact for react-dom-server
2015-11-17 16:48:08 -08:00
jim
538d0b08f2 Remove legacy dom node/ref stuff. 2015-11-17 15:30:35 -08:00
Ben Alpert
e03df26e62 Merge pull request #5493 from spicyj/gh-4589
Finish comment in ReactDOMComponentTree
2015-11-17 09:54:23 -08:00
Ben Alpert
6c89857cdc Finish comment in ReactDOMComponentTree 2015-11-17 09:41:24 -08:00
Ben Alpert
892352e95d Merge pull request #5489 from hejld/master
Fix typos and redundant words
2015-11-17 09:37:43 -08:00
hejld
ba8c987391 Fix typos and redundant words 2015-11-17 12:39:29 +01:00
Ben Alpert
85a3142f04 Merge pull request #5481 from hejld/master
Fixed typo
2015-11-16 11:24:04 -08:00
Jim
80bcc519d7 Merge pull request #2774 from jimfb/webcomponents
Added info (example+doc) about react with webcomponents
2015-11-16 11:19:26 -08:00
hejld
94504c3767 Remove rendundant 'the'; keep iff (if and only if) 2015-11-16 20:05:37 +01:00
Jim
7a453646be Added info (example+doc) about react with webcomponents 2015-11-13 20:22:24 -08:00
Paul O’Shannessy
96549a1f48 Merge pull request #5458 from chicoxyzzy/update_deps
Update deps
2015-11-12 16:45:27 -08:00
Paul O’Shannessy
034cfc96c7 [docs] Properly fix Korean docs 2015-11-12 15:57:17 -08:00
Paul O’Shannessy
72d9a8bc15 [docs] Use updated Korean translation
See #5456 for details
2015-11-12 14:23:52 -08:00
Paul O’Shannessy
09b7ff1fc4 Merge pull request #5444 from zpao/tutorial-ids-for-data
[tutorial] Use ids in comments data
2015-11-12 14:22:00 -08:00
Paul O’Shannessy
3bcb0d63f0 [tutorial] Use ids in comments data 2015-11-12 14:20:54 -08:00
chico
dbe8212974 update deps 2015-11-13 01:15:23 +03:00
Manas
593a234c1e Warns when mutated props are passed. 2015-11-13 01:15:38 +05:30
Paul O’Shannessy
2d5612913f Merge pull request #5456 from hugo-agbonon/fix-classname-manipulation-doc
Revert class name manipulation doc to english
2015-11-12 09:57:55 -08:00
Dmitriy Rozhkov
a2b471e098 Allow all characters (except astral) specified in XML specs. fixes #2329 2015-11-12 16:21:34 +01:00
Hugo Agbonon
47253733d3 Revert class name manipulation doc to english 2015-11-12 11:32:08 +01:00
Ben Alpert
ea31f924b8 Merge pull request #5368 from spicyj/adler32
adler32: Properly break loop into 4096-char blocks
2015-11-11 22:21:22 -08:00
Paul O’Shannessy
8104262043 Merge pull request #5390 from chicoxyzzy/arrayof-objectof-tests
Add validation for arrayOf and objectOf in ReactPropTypes
2015-11-11 16:48:33 -08:00
Sebastian Markbåge
951f3b6ba8 Merge pull request #5406 from acdlite/better-error-message-for-setState-in-constructor
Updates the warning that is displayed when `setState` is called within either `render` or a component constructor.
2015-11-11 16:45:12 -08:00
Paul O’Shannessy
12a20b184c Merge pull request #5387 from MattijsKneppers/master
updated Basic Example with External JSX instructions
2015-11-11 10:31:01 -08:00
Ben Alpert
358140679c Use comment nodes for empty components
This makes more sense and avoids DOM nesting problems.

![image](https://cloud.githubusercontent.com/assets/6820/11098713/952348ca-885b-11e5-9757-e4a76467b0b8.png)

(ReactSimpleEmptyComponent isn't used here but React Native can use it as it currently does.)
2015-11-11 10:04:14 -08:00
Mattijs
1220ccc805 update instructions of the following examples: basic-commonjs, basic-jsx-external and basic-jsx-precompile 2015-11-11 10:51:47 +01:00
Paul O’Shannessy
fc245226f9 Merge pull request #5431 from zpao/license-in-packages
Ensure license and patents files are packaged for npm
2015-11-10 15:22:34 -08:00
Jim
4cb210a9da Merge pull request #5412 from yangshun/document-next-context
Add more documentation to Context page
2015-11-10 15:12:08 -08:00
Tay Yang Shun
7d0ee24514 Add more documentation to Context page 2015-11-11 07:06:56 +08:00
Paul O’Shannessy
575d1a5093 Merge pull request #5442 from nickclaw/patch-1
Allow nonce attribute
2015-11-10 14:43:57 -08:00
Paul O’Shannessy
eecd2953cd Merge pull request #5416 from bbrooks/undo-optimistic-update-on-error
Reset state if comment submit fails
2015-11-10 14:42:28 -08:00
Nicholas Clawson
e39f51429b Allow nonce attribute 2015-11-10 10:46:30 -08:00
Jim
d6a547f793 Merge pull request #5403 from yuyokk/patch-1
Clarify note about stable keys
2015-11-10 10:28:49 -08:00
Iurii Kucherov
30ca6619dc State that Math.random() is not a good way to generate keys 2015-11-10 19:02:50 +01:00
Ben Alpert
b4b1adddda Merge pull request #5434 from spicyj/two-reconcile
Handle multiple DOM updates without interference
2015-11-09 17:38:11 -08:00
Ben Alpert
4b80ea23a1 Merge pull request #5433 from spicyj/unmount-children-order
Unmount children before unsetting DOM node info
2015-11-09 17:38:06 -08:00
Ben Alpert
f9a8bdcafe Handle multiple DOM updates without interference
This test failed before! How embarrassing.
2015-11-09 15:22:23 -08:00
Ben Alpert
586653935c Unmount children before unsetting DOM node info 2015-11-09 15:04:57 -08:00
Paul O’Shannessy
10edb83166 Ensure license and patents files are packaged for npm 2015-11-09 12:47:22 -08:00
Jim
95da62765e Merge pull request #5430 from jimfb/changelog-broken-links
Fixed broken links in changelog
2015-11-09 11:28:15 -08:00
jim
5bdb808a46 Fixed broken links in changelog 2015-11-09 11:11:05 -08:00
Jim
a88c39be86 Merge pull request #5424 from stowball/animation-docs-whitespace
Removed unnecessary whitespace before closing bracket
2015-11-09 09:12:49 -08:00
Matt Stow
bc0dc86ae6 Removed unnecessary whitespace before closing bracket 2015-11-09 15:10:01 +11:00
Simone Vittori
c8b8c818b5 ReactShallowRenderer.render returns the rendered output 2015-11-08 13:07:07 +00:00
Ben Brooks
240d7c82cc Reset state if comment submit fails 2015-11-07 13:26:17 -05:00
Ben Alpert
99fbde54a1 Merge pull request #5287 from benhalpern/patch-1
Updated conference page
2015-11-05 13:58:46 -08:00
benhalpern
00eddc2060 Fixed ReactEurope date 2015-11-05 15:33:52 -05:00
Jim
2f7f1a9d45 Merge pull request #5405 from yangshun/inconsistent-error-messages
More consistent error message for findRenderedDOMComponentWithX
2015-11-05 12:03:05 -08:00
Andrew Clark
5fec308d60 Updates the warning that is displayed when setState is called
within either `render` or a component constructor.

Follow up to #5343
2015-11-05 11:12:58 -08:00
Tay Yang Shun
d16754125f More consistent error message for findRenderedDOMComponentWithX 2015-11-06 03:05:08 +08:00
Jim
59dd7b33ee Merge pull request #5391 from zjjw/transition_timeouts
Clear transition timeouts when component unmounts. Fixes #4876
2015-11-05 10:32:18 -08:00
jj
73b496db95 Clear transition timeouts when component unmounts. Fixes #4876 2015-11-05 10:23:15 -08:00
Jim
22b8952fbf Merge pull request #5231 from davidkpiano/patch-1
Updating "JSX Gotchas" docs for Custom Attributes
2015-11-05 09:43:36 -08:00
Jon Hester
aca4ccda35 ReactDOMComponent should throw error when provided children for void elements 2015-11-05 01:52:54 -05:00
Paul O’Shannessy
6d5fe44c86 Merge pull request #5396 from zpao/packagejsons
Improve npm packages' metadata
2015-11-04 21:29:35 -08:00
Paul O’Shannessy
88584a96b7 Generate better readmes for addons npm packages 2015-11-04 21:25:28 -08:00
Paul O’Shannessy
2f6fb746b9 Make sure npm packages have repo and keywords set 2015-11-04 21:25:28 -08:00
chico
a86d25d584 update error messages 2015-11-05 06:12:27 +03:00
Paul O’Shannessy
9b7cc43330 Merge pull request #5352 from chicoxyzzy/eslint-upgrade
remove eslint-disable when possible and update babel-eslint version
2015-11-04 18:17:23 -08:00
chico
b9fd77a4bd update eslint and eslint-plugin-react 2015-11-05 05:14:51 +03:00
chico
4a7456a136 review fixes 2015-11-05 05:11:39 +03:00
chico
8987522a2a remove eslint-disable when possible and update eslint version 2015-11-05 05:11:39 +03:00
Ben Alpert
e131357c23 Merge pull request #5394 from spicyj/tu-shallow-ref
Revert #4993 with an added test for refs
2015-11-04 18:00:27 -08:00
Ben Alpert
9419976e51 Revert #4993 with an added test for refs
We were shallow-rendering a component that used refs at FB so this can't go in as-is. It's a little unclear what we _should_ do though, since there is nothing to hold a ref to (since we're shallowly rendering) and we generally promise that child refs are resolved before a parent's componentDidMount. Also, changing shallow rendering to use the original `_renderValidatedComponent` (instead of `_renderValidatedComponentWithoutOwnerOrContext`) breaks tests because now the `_owner` field doesn't match up for `toEqual` (non-null in `getRenderOutput` but null if constructed in a test).
2015-11-04 17:53:40 -08:00
Paul O’Shannessy
578312e267 Update website for 0.14.2
(cherry picked from commit fdf6f6bbb0)
2015-11-04 17:38:31 -08:00
Paul O’Shannessy
76bbd9e660 Update readme for 0.14.2
(cherry picked from commit 01622a4442)
2015-11-04 17:38:31 -08:00
Paul O’Shannessy
e2fdcb1990 Blog post for 0.14.2
(cherry picked from commit a4fd08973b)
2015-11-04 17:38:31 -08:00
Paul O’Shannessy
cd7387c465 Changelog for 0.14.2
(cherry picked from commit c2dd57c6a6)
2015-11-04 17:38:31 -08:00
Paul O’Shannessy
80af7c7be4 Merge pull request #5353 from chicoxyzzy/patch-1
add Node 5 to devEngines
2015-11-04 15:02:26 -08:00
Jim
4fae036269 Merge pull request #5385 from marocchino/update-korean
Update korean translation to 84af306
2015-11-04 13:57:00 -08:00
Arkist
1c14477a47 Update Korean translation to 84af306 2015-11-05 06:56:48 +09:00
chico
7ae67916cc Adding validation for arrayOf and objectOf in ReactPropTypes 2015-11-05 00:20:33 +03:00
Ben Alpert
35962a0008 Merge pull request #5205 from spicyj/cotree-num
Use incrementing numerical IDs to identify DOM components
2015-11-04 11:41:38 -08:00
Ben Alpert
c193d1a0c2 Don't put IDs in the DOM in createElement mode 2015-11-04 11:39:44 -08:00
Ben Alpert
b80f676d27 Add hooks back for devtools 2015-11-04 11:39:44 -08:00
Ben Alpert
35543c6312 Remove unused modules
- Remove last references to ReactInstanceHandles (still used in responder unit test)
- Remove ClientReactRootIndex/ServerReactRootIndex
2015-11-04 11:39:44 -08:00
Ben Alpert
3cebadaa6b Remove now-unused _rootNodeID from composites 2015-11-04 11:39:44 -08:00
Ben Alpert
e48c8be556 Use incrementing numerical IDs to identify DOM components 2015-11-04 11:39:44 -08:00
Ben Alpert
f06ddf7905 Turn ReactInstanceHandles-test into ReactDOMTreeTraversal-test
This test relied on the fact that ReactDOMComponent still produced hierarchical IDs -- although this module could be used standalone, we're replacing it completely so it makes more sense to just move the tests over to test ReactDOMTreeTraversal.
2015-11-04 11:39:44 -08:00
Ben Alpert
663c4b7d2e Stop relying on hierarchical IDs in ReactDefaultPerf 2015-11-04 11:39:43 -08:00
Ben Alpert
5d94d7d43c Perf: Static children count for wasted time 2015-11-04 11:39:43 -08:00
Ben Alpert
4ba0e95a96 Kill ReactMount.getNode/getID/purgeID with fire 2015-11-04 11:39:43 -08:00
Ben Alpert
796f8c353c put/deleteListener take an instance, not an ID
This removes SimpleEventPlugin's dependency on ReactMount.getID.
2015-11-04 11:39:43 -08:00
Ben Alpert
d11ccd6956 Propagate events based on component tree, not IDs 2015-11-04 11:39:43 -08:00
Ben Alpert
f470cb88f8 Events: Pass native instances up until propagation
Next step: take advantage of having the native instances in EventPropagators instead of converting right back to IDs.
2015-11-04 11:39:43 -08:00
Ben Alpert
6d20556c78 Add functions to find the instance given a node 2015-11-03 17:03:40 -08:00
Ben Alpert
ce528457a4 ReactDOMComponentTree
New module! With this, we have a new module that uses the component tree to store DOM nodes. Most of the logic in this file relates to markup adoption -- if we were to drop that (along with server rendering) this file could just be a `return inst._nativeNode;`.

This works with useCreateElement only because we need to reference each node as it's created.

Events is now the only thing using ReactMount.getNode -- I'll introduce pointers back from the DOM nodes (and a `ReactDOMComponentTree.getInstanceFromNode`) and make that work.
2015-11-03 17:03:40 -08:00
Ben Alpert
5a7c273a1b Always do useCreateElement for updates
Initial render can still be a markup string.
2015-11-03 17:03:40 -08:00
Ben Alpert
276ef737fe Make ReactDOMComponent-test pass with useCreateElement 2015-11-03 17:03:40 -08:00
Ben Alpert
5becbe3f08 Remove obsolete tests with new tree-walking 2015-11-03 17:03:40 -08:00
Ben Alpert
19e2cf5ad5 Make ReactEmptyComponent-test not swallow logs 2015-11-03 17:03:40 -08:00
Kevin Robinson
45c612ed7a Add additional secret property and build for react-dom-server
Update eslintrc, travis build and add task to Gruntfile
2015-11-03 16:39:58 -05:00
Jim
84af306044 Merge pull request #5372 from csbok/patch-1
Update getting-started.ko-KR.md
2015-11-03 03:44:31 -08:00
Ben Alpert
2858bca2e3 Merge pull request #5361 from ali/warn-on-missing-event-handlers
Warn on missing event handler properties
2015-11-02 20:23:20 -08:00
Ali Ukani
9ad4be0316 Warn on missing event handler properties
Fixes #3548. Warns on properties that are case-insensitive matches for
registered event names (e.g. "onclick" instead of "onClick").
2015-11-02 23:13:20 -05:00
Ben Alpert
a4b5f2fffa Merge pull request #5376 from spicyj/gh-4993
Test fixups after #4993
2015-11-02 18:27:25 -08:00
Ben Alpert
c802e9ede9 Test fixups after #4993 2015-11-02 18:26:52 -08:00
Ben Alpert
d2888798f0 Merge pull request #4993 from jsdf/shallow-render-lifecycle
Run all component lifecycle methods when shallow rendering
2015-11-02 18:16:55 -08:00
Ben Alpert
17289020f7 Merge pull request #5356 from rpominov/patch-1
fix shallowRenderer.getRenderOutput() return type in docs
2015-11-02 17:27:08 -08:00
Ben Alpert
5724fca7ae Merge pull request #5358 from conorhastings/invariant-testutils-simulate-shallow-render
#5284 - Show a friendly error when using TestUtils.Simulate with shallow rendering
2015-11-02 17:22:07 -08:00
conorhastings
fbb8d2fe2d Show a friendly error when using TestUtils.Simulate with shallow rendering 2015-11-02 20:14:26 -05:00
Paul O’Shannessy
b9371bc216 Merge pull request #5370 from zpao/babel6docs
Update docs for Babel 6
2015-11-02 16:58:17 -08:00
csbok
2b54e5417d Update getting-started.ko-KR.md
correcting misspelled words
2015-11-03 09:56:41 +09:00
Paul O’Shannessy
bc3b32c968 [docs] Update tooling integration for more babel 6 2015-11-02 13:10:40 -08:00
Paul O’Shannessy
db7ea058e7 [docs] Update Getting Started for babel 6 2015-11-02 12:56:30 -08:00
Paul O’Shannessy
dbab71bbf4 Merge pull request #5350 from ludovicofischer/master
Correct Babel 6 command line usage instructions.
2015-11-02 11:42:44 -08:00
Ben Alpert
ff6714064f adler32: Properly break loop into 4096-char blocks
I believe this was lost in translation in #4400. Can't say I fully understand why this is significant at all though...
2015-11-02 11:29:48 -08:00
Paul O’Shannessy
72a11421d2 Merge pull request #5367 from spicyj/haste-manifest
Add package.json for react-haste package
2015-11-02 11:15:28 -08:00
Paul O’Shannessy
a82400faa2 Merge pull request #5366 from zpao/react-dom-peer-dep
Make React a peerDep of react-dom
2015-11-02 11:14:29 -08:00
Ben Alpert
d44c45f8a5 Add package.json for react-haste package
This will probably go away in a release or two.
2015-11-02 11:03:18 -08:00
Paul O’Shannessy
3c1c02394e Make React a peerDep of react-dom 2015-11-02 10:19:04 -08:00
Roman Pominov
e9f931653d fix shallowRenderer.getRenderOutput() return type in docs 2015-11-01 16:54:41 +03:00
Sergey Rubanov
57b0c8efd0 add Node 5 to devEngines 2015-11-01 04:55:33 +03:00
Ludovico Fischer
6e1f642273 Correct Babel 6 command line usage instructions.
The user should install the babel-cli package, see http://babeljs.io/docs/usage/cli/.
2015-11-01 00:17:16 +01:00
Paul O’Shannessy
88bae3fb73 Merge pull request #5348 from hzoo/patch-2
add docs for babel 6
2015-10-31 12:11:26 -07:00
Henry Zhu
41fc5f21e5 add docs for babel 6 2015-10-31 14:34:20 -04:00
Jim
bbffc36534 Merge pull request #5344 from chicoxyzzy/update-rcc
maskedContext should not be instantiated as null
2015-10-30 18:23:55 -07:00
chico
8a9039891b maskedContext should not be instantiated as null 2015-10-31 04:05:44 +03:00
Ben Alpert
c525732147 Merge pull request #5023 from spicyj/jsc-perf
Add rudimentary jsc perf-counters runner
2015-10-30 17:06:30 -07:00
Paul O’Shannessy
b5d90f8c6b Merge pull request #5331 from tbroadley/typescript-test-windows
Fix for TypeScript test on Windows
2015-10-30 15:45:51 -07:00
Thomas Broadley
d77e161f99 use path library to normalize filepath 2015-10-31 07:38:47 +09:00
Jim
a2d26c82ea Merge pull request #5093 from jimfb/avoid-children-to-string-coercion
Should not coerce children prop on custom elements to a string.  Fixes #5088
2015-10-30 13:42:05 -07:00
Jim
0c790baf31 Merge pull request #5341 from zpao/domprop-integrity
Add integrity to HTML property config
2015-10-30 13:39:17 -07:00
Paul O’Shannessy
68eb1a6fb6 Add integrity to HTML property config 2015-10-30 13:35:51 -07:00
Jim
86fc94750a Should not coerce children prop on custom elements to a string. Fixes #5088 2015-10-30 13:33:21 -07:00
Paul O’Shannessy
bd6417e24e Merge pull request #5293 from chicoxyzzy/update-deps
update dependancies
2015-10-30 13:25:31 -07:00
Paul O’Shannessy
3d75a4234d Merge pull request #5339 from jimfb/contributing-first-bug
Added a note about finding a good-first-bug
2015-10-30 12:10:22 -07:00
Jim
6fd7892a4d Added a note about finding a good-first-bug 2015-10-30 11:05:49 -07:00
chico
38b80b5b37 update deps 2015-10-30 16:34:39 +03:00
Paul O’Shannessy
761921499c Merge pull request #5049 from xelad1/patch-1
Fixed unclear wording in comment
2015-10-29 23:21:05 -07:00
Alex Dajani
aa6fcf902c Fixed unclear wording in comment
Perhaps not understanding what "key a set a fragment..." is supposed to mean.  Hopefully I'm not misreading this as a typo.
2015-10-29 23:20:18 -07:00
Paul O’Shannessy
c35b4384f7 Merge pull request #5235 from wincent/update-blog-syntax
Update syntax in older Relay blog post that may be causing confusion
2015-10-29 23:14:19 -07:00
Paul O’Shannessy
f02584d807 Merge pull request #5300 from zpao/lint-eqeqeq
[lint] Make eqeqeq a failure
2015-10-29 23:06:44 -07:00
Jim
0ef5112e89 Merge pull request #5334 from facebook/revert-5320-overwrite_props
Revert "Overwriting of mutated props in constructor"
2015-10-29 22:47:35 -07:00
Sebastian Markbåge
d914f15c0e Revert "Overwriting of mutated props in constructor" 2015-10-29 22:36:38 -07:00
Christoph Pojer
1384d43f53 Merge pull request #5321 from cpojer/update-tests
Update tests
2015-10-29 18:42:12 -07:00
Thomas Broadley
d80710b0ae fix for TypeScript test on Windows 2015-10-30 10:22:50 +09:00
Jim
d15e2fcd8e Merge pull request #5320 from drdelambre/overwrite_props
Overwriting of mutated props in constructor
2015-10-29 18:15:52 -07:00
Alex Boatwright
cc09ed940f classes in the tests when can 2015-10-29 18:11:28 -07:00
Paul O’Shannessy
12c214a992 Merge pull request #5328 from zpao/non-native-event-name-dispatch
Use a custom event type for our event dispatching in ReactErrorUtils
2015-10-29 17:54:18 -07:00
Sławomir Laskowski
f00d45d65f Fix shallow renderer with ref as function 2015-10-30 00:23:24 +01:00
cpojer
ac17bdaaba Remove generateFromMetadata and getMetadata usage. 2015-10-29 15:45:30 -07:00
Paul O’Shannessy
606aa61209 Merge pull request #5327 from zpao/definepropgetter
Use a getter for canDefineProperty check.
2015-10-29 15:41:02 -07:00
Paul O’Shannessy
29523d0113 Use a custom event type for our event dispatching in ReactErrorUtils
It turns out that IE doesn't like when native events types are used. There may
have been more involved at play but this fixes the issue.
2015-10-29 15:39:14 -07:00
Paul O’Shannessy
d95a2239a8 Use a getter for canDefineProperty check.
This ensures that we treat es5-sham as a broken implementation of defineProperty and we won't try to use it.
2015-10-29 15:17:50 -07:00
Paul O’Shannessy
b8f502b224 Merge pull request #5326 from tbroadley/grunt-lint-windows
Fix for 'grunt lint' on Windows
2015-10-29 14:51:21 -07:00
Thomas Broadley
c0f0d12f96 'grunt lint' now works on Windows 2015-10-30 06:43:43 +09:00
cpojer
2ecfc4f8fb Codemod old APIs away. 2015-10-29 12:40:52 -07:00
cpojer
9d25303d89 Update jest. 2015-10-29 12:40:52 -07:00
Alex Boatwright
c341269ab2 simple fix to prevent overwriting of mutated props 2015-10-28 23:37:29 -07:00
Jim
01341480c2 Merge pull request #5317 from nickbalestra/patch-1
Update 02.1-jsx-in-depth.md
2015-10-28 22:13:57 -07:00
Jim
fbf4cbbae6 Merge pull request #5316 from Third9/master
update Korean docs to 0.14
2015-10-28 21:43:16 -07:00
Nick Balestra
2257d8aa76 Update 02.1-jsx-in-depth.md
Update 02.1-jsx-in-depth.md
2015-10-28 20:14:02 -07:00
KwonH
afc118e3c4 update Korean docs to 0.14
Update getting-started in Korean
2015-10-29 11:51:52 +09:00
Paul O’Shannessy
ee06df1ac5 Bring over updates for 0.14.1 release
Update changelog for 0.14.1

(cherry picked from commit aaf8f870cb)

Update readme for 0.14.1

(cherry picked from commit c2dde8df0b)

0.14.1 blog post

(cherry picked from commit 6e2450e8f2)

Update website for 0.14.1

(cherry picked from commit f0782e2b2e)
2015-10-28 14:43:56 -07:00
Ben Alpert
a65a4851c6 Merge pull request #5309 from spicyj/bench
Add a simple initial-render benchmark test case
2015-10-28 13:58:50 -07:00
Ben Alpert
e849819cb6 Add a simple initial-render benchmark test case 2015-10-28 13:14:24 -07:00
Paul O’Shannessy
2c176da7e8 Merge pull request #5304 from evanvosberg/master
Add non-standard property for supporting Safari mask-icon.
2015-10-28 10:28:21 -07:00
Evan Vosberg
f8b4affb87 Add non-standard property for supporting Safari mask-icon.
See also: https://developer.apple.com/library/prerelease/mac/releasenotes/General/WhatsNewInSafari/Articles/Safari_9.html#//apple_ref/doc/uid/TP40014305-CH9-SW20
2015-10-28 17:35:43 +01:00
Paul O’Shannessy
ad00a6e672 [lint] Make eqeqeq a failure 2015-10-27 15:39:54 -07:00
Ben Alpert
b0a7a00dba Merge pull request #5237 from spicyj/gh-5125
Make sure top-level callback has correct context
2015-10-27 13:26:45 -07:00
Ben Alpert
7f205e9c1b Make sure top-level callback has correct context
Closes #5125 -- incorporates essentially the same fix with a much simpler test case. Thanks @yiminghe for reporting!
2015-10-27 13:11:45 -07:00
Ben Alpert
65b9ceb4f8 Merge pull request #5209 from antoaravinth/5189
Don't instrument listeners for ReactDefaultPerf
2015-10-27 11:59:02 -07:00
Paul O’Shannessy
517872817f Merge pull request #5297 from quadrupleslap/master
Mangle __html in prop validation.
2015-10-27 09:40:29 -07:00
Ram Kaniyur
ad654ceb66 Took keyOf outside the function. 2015-10-28 00:48:54 +11:00
Ram Kaniyur
e26666fb1e Mangle __html in prop validation. 2015-10-28 00:18:00 +11:00
Ants
59db07c4f9 Fix for the issue #5189
Fix for lint issues

Added the test cases for the issue 5189

Removing empty space

Removing the Eventplugin instrumentation code

Removing unwanted white space
2015-10-27 16:33:22 +05:30
Ben Alpert
e603644255 Merge pull request #5291 from spicyj/afu-cycle
Fix cycle in AutoFocusUtils
2015-10-26 15:03:15 -07:00
Ben Alpert
f558b95584 Fix cycle in AutoFocusUtils
In 5c5d2ec182 I accidentally introduced a dependency cycle:

AutoFocusUtils -> findDOMNode -> ReactDOMComponent -> AutoFocusUtils

This breaks some tools internally. We're not actually using findDOMNode in AutoFocusUtils any more so we can just delete it.
2015-10-26 14:52:23 -07:00
Paul O’Shannessy
0f76873ebb Merge pull request #5289 from jonathanp/patch-1
Update 2015-05-01-graphql-introduction.md
2015-10-26 14:19:48 -07:00
jpersson
e2267613ac Update 2015-05-01-graphql-introduction.md 2015-10-26 17:14:11 -04:00
Jonathan Persson
924cddc505 Update 2015-05-01-graphql-introduction.md 2015-10-26 16:32:11 -04:00
benhalpern
a51ef94384 Updated conference info 2015-10-26 16:20:57 -04:00
Ben Alpert
055ecd7f14 Merge pull request #5266 from spicyj/lt-fix-2
Three more fixes for document.createElement mode
2015-10-26 11:41:27 -07:00
Paul O’Shannessy
d17ad0f0c0 Merge pull request #5089 from thomasp9/patch-1
Create 01-why-react.de-DE.md
2015-10-26 10:14:16 -07:00
Patrick
0508a07446 Create 01-why-react.de-DE.md
Translation of 01-why-react.de-DE.md to German
2015-10-26 10:13:45 -07:00
Paul O’Shannessy
0ddc0817e4 Merge pull request #5252 from zpao/eslintlock
[lint] Lock eslint version
2015-10-26 10:12:52 -07:00
Paul O’Shannessy
11919b6d90 Merge pull request #5286 from translucens/add_reactdom_js
Add react-dom.js to tutorials
2015-10-26 09:24:54 -07:00
translucens
73ec3713b3 Add react-dom.js to tutorials 2015-10-26 22:23:50 +09:00
Ben Alpert
22a240fd39 Avoid lastProps[key] lookup in initial render
This makes both Firefox and IE 15-20% faster in initial render (!!). On my PE benchmark, createElement is now on par with HTML in Firefox and faster in IE11 (before, it was slower).
2015-10-24 12:19:30 -07:00
Paul O’Shannessy
56c91248fd Merge pull request #5274 from SpartaSixZero/master
Corrected highlighted line in tutorial example in tutorial7.js
2015-10-24 12:19:28 -07:00
Mark Sun
2f48cc4327 Corrected highlighted line in tutorial example in tutorial7.js 2015-10-24 15:01:14 -04:00
Jim
75e9045719 Merge pull request #5268 from dnshi/update-readme
Update README's example
2015-10-24 06:29:06 -10:00
Dean Shi
2b136a4f84 Update README's example
According to current React version, when I use `React.render`, console shows `React.render is deprecated. Please use ReactDOM.render from require('react-dom') instead.`.

So this PR is a tiny update for the README example.
2015-10-24 00:59:05 -07:00
Ben Alpert
6269ef62cf Two more fixes for document.createElement mode
Is this all of them? I hope so.

- Set text content after creating hierarchy, like the text is a child. I should've done this originally but I guessed it wouldn't matter. I was wrong (~20% perf difference in IE11).
- IE throws when setting an enum-like property to an invalid value. I tried setting every property to the string 'a' and changed the ones that threw to be MUST_USE_ATTRIBUTE. I think these are all correct -- encType is the most suspicious one based on the existing comments but I tested in IE8 and it works fine as an attribute.
2015-10-23 22:46:02 -07:00
Ben Alpert
8aaa66c292 Merge pull request #5263 from spicyj/npmreactreadme
Update addons paths in npm react README
2015-10-23 17:36:23 -07:00
Ben Alpert
3a0ab000bf Update addons paths in npm react README 2015-10-23 17:31:01 -07:00
Ben Alpert
4106251316 Merge pull request #5261 from spicyj/dom-null-undef
Bug fixes for createElement mode
2015-10-23 15:56:21 -07:00
Ben Alpert
939c7596ad Merge pull request #5253 from spicyj/dt-lazy
Perf: Insert nodes top-down in IE and Edge
2015-10-23 15:56:08 -07:00
Ben Alpert
b447b40958 Use attributes to set .type
According to the internet, this should work and it appears to work fine on all the browsers I tested.
2015-10-23 12:08:10 -07:00
Ben Alpert
7221e1b2e9 Don't set DOM props when switching between unset/undefined/null 2015-10-23 11:52:29 -07:00
Ben Alpert
263ca4792e Perf: Insert nodes top-down in IE and Edge 2015-10-23 10:59:27 -07:00
Paul O’Shannessy
4d41cf740a Merge pull request #5250 from conorhastings/track-default-property
add default attribute for use with track element
2015-10-22 20:20:44 -07:00
Paul O’Shannessy
a79fcd7a7f [lint] Lock eslint version
The automatic updating really sucks here as bugs are fixed / behavior of rules changes. Local versions are updated, cached versions on Travis aren't. It's messy. Now we must explicitly update for any thing to change.
2015-10-22 20:15:25 -07:00
Paul O’Shannessy
be6bd3404e Merge pull request #5236 from spicyj/eslint-17
Fix lint for eslint 1.7
2015-10-22 19:59:26 -07:00
conorhastings
bb3a326ecd add default attribute for use with track element 2015-10-22 22:47:17 -04:00
Ben Alpert
b106e96864 Fix lint for eslint 1.7 2015-10-21 14:48:47 -07:00
Ben Alpert
7b97d8d58f Merge pull request #5233 from yiminghe/fix-typo
fix wrong method name
2015-10-21 14:33:38 -07:00
Greg Hurrell
1bcd6804f3 Update syntax in older Relay blog post that may be causing confusion
Just seen on Stack Overflow a question that suggests people may be
confused if they run across some of the old syntax in one of our old
blog posts:

http://stackoverflow.com/questions/33261751/why-does-relay-ql-result-in-unterminated-string-constant-error/

Ideally people would consult the (up-to-date) documentation instead, and
we don't want to have to maintain old blog posts, but in this case the
cost of updating the syntax was low so I just went ahead and did it.
2015-10-21 11:53:22 -07:00
Jim
1dafac9e0c Merge pull request #5230 from kohashi/patch-1
Fix tutorial.ja-JP.md
2015-10-21 07:46:17 -10:00
yiminghe
85fc28624c fix wrong method name 2015-10-22 00:29:22 +08:00
David Khourshid
29939b7270 Updating "JSX Gotchas" docs for Custom Attributes
Adds note that custom attributes are supported on custom elements.
2015-10-21 08:18:48 -04:00
kohashi85
ce002e61b1 Update tutorial.ja-JP.md 2015-10-21 17:04:08 +09:00
Paul O’Shannessy
a468eed33f Merge pull request #5217 from zpao/rm-react-codemod
Move react-codemod to standalone repo
2015-10-20 15:46:49 -07:00
Paul O’Shannessy
8848984c46 Update blog posts linking to react-codemod 2015-10-19 14:39:40 -07:00
Paul O’Shannessy
caece8b4b7 Remove react-codemod 2015-10-19 14:31:31 -07:00
Paul O’Shannessy
5bd04cf259 Merge pull request #5154 from cmatheson/master
add npm 3.x to devengines
2015-10-19 13:52:20 -07:00
Paul O’Shannessy
fc96f31fad Merge pull request #5185 from yungsters/invariant
Remove "Invariant Violation: " from Invariant Error Messages
2015-10-19 12:07:59 -07:00
Paul O’Shannessy
244dd5da4c Merge pull request #5214 from benigeri/patch-1
small edit on reactiflux blog post
2015-10-19 12:03:01 -07:00
Paul Benigeri
7aac368253 small edit on reactiflux blog post 2015-10-19 12:01:47 -07:00
Ben Alpert
3d7def0b48 Merge pull request #5213 from spicyj/gh-5187-f
Follow-ups to #5187
2015-10-19 11:19:10 -07:00
Ben Alpert
545f31741e Follow-ups to #5187 2015-10-19 11:15:02 -07:00
Paul O’Shannessy
8f1ce99cc3 Fix up stray markdown in blog post 2015-10-19 10:23:28 -07:00
Christopher Chedeau
2a7d054bfc Merge pull request #5211 from vjeux/reactiflux
Reactiflux is moving to Discord blog post
2015-10-19 07:42:40 -07:00
Christopher Chedeau
db7522f2c5 Reactiflux is moving to Discord blog post 2015-10-19 07:35:46 -07:00
Jim
9cb01de1bc Merge pull request #5203 from WanderWang/docs-cn
update Chinese docs to 0.14
2015-10-18 09:38:18 -07:00
WanderWang
1044d4c7d5 update Chinese docs to 0.14 2015-10-19 00:34:04 +08:00
Jim
dd3c4474d1 Merge pull request #4051 from jquense/ie-noisy-input-event
opt out of input events for ie 10 and 11
2015-10-18 09:26:52 -07:00
Ben Alpert
617f03518a Merge pull request #5192 from spicyj/ev-ind
Remove unnecessary indirection in events
2015-10-16 21:43:09 -07:00
Jim
7a164fd3a0 Merge pull request #5187 from tomduncalf/support_invalid_event-issue_5152
Add support for "invalid" event within Form elements
2015-10-16 18:02:18 -07:00
Timothy Yung
278939ec58 Upgrade dependency fbjs@0.4.0 2015-10-16 16:10:06 -07:00
Timothy Yung
cdaea311a3 Remove "Invariant Violation: " from Invariant Error Messages 2015-10-16 16:09:28 -07:00
Jim
98c96b6460 Merge pull request #5199 from jimfb/number-found
Print number of matches (previously unclear if zero or multiple)
2015-10-16 13:00:49 -07:00
Jim
e0904a0a90 Print number of matches (previously unclear if zero or multiple) 2015-10-16 13:00:10 -07:00
Jim
3260b00385 Merge pull request #5195 from trickford/patch-1
Specify focus events work on all elements in the React DOM
2015-10-16 11:50:22 -07:00
Ben Alpert
e67ceae1ad Merge pull request #5198 from spicyj/gh-5071a
Fix buggy DOM nesting warning for text components
2015-10-16 11:42:20 -07:00
Ben Alpert
f7816cdbfe Fix buggy DOM nesting warning for text components
cf. #5071
2015-10-16 11:36:16 -07:00
Jim
0fc8f6ade3 Merge pull request #5193 from conorhastings/enqueue-callback-error
update enqueueCallback invariant to more specifically denote type of passed callback
2015-10-16 09:39:56 -07:00
Rick Ford
3d4e8affcd Specify focus events work on all elements in the React DOM
Generally, focus/blur events only apply to focusable elements found in forms. In React, you can listen to focus/blur events on any element.
2015-10-16 11:02:04 -05:00
conorhastings
20ec78d9f0 update enqueueCallback invariant to more specifically explain what caused error 2015-10-16 11:57:08 -04:00
jquense
b5e7a8447c opt out of input events for ie 10 and 11
while supported then Input event is too noisy in IE. Firing on
placeholder sets, and when an input is focused with a placeholder.

fixes #3377 and fixes #3484
2015-10-16 11:28:36 -04:00
Ben Alpert
ef95128ae2 Remove unnecessary indirection in events 2015-10-15 20:13:14 -07:00
Paul O’Shannessy
ed7ab7b94a Merge pull request #5176 from jimfb/tweak-props-change-wording
Tweak wording when talking about props changing
2015-10-15 12:21:14 -07:00
Paul O’Shannessy
e12ee95e09 [docs] Don't make authors links on all posts page 2015-10-15 12:18:15 -07:00
Tom Duncalf
5ceb22953c Add support for "invalid" event within Form elements
Fixes #5152
2015-10-15 20:15:34 +01:00
Paul O’Shannessy
ccfc2d8049 Merge pull request #5178 from jimfb/multiple-authors
Fix blog post authors
2015-10-15 12:04:56 -07:00
Paul O’Shannessy
95afe4608f Merge pull request #5184 from zpao/fix-style-issues
Fix indentation issues
2015-10-15 11:55:37 -07:00
Paul O’Shannessy
0dc6596dc2 Fix indentation issues 2015-10-15 09:29:28 -07:00
Jim
b735dd4ab4 Merge pull request #5048 from antoaravinth/PR-5013
Issue: 5013 Added necessary code for firing warning if value is null
2015-10-14 23:06:54 -07:00
Ants
b42c1dafcc Issue: 5013 Added necessary code for firing warning if value is null
Fixed the lint issues

Added logic for handling the warning only once and added the test cases for the same. Also moved the warning part to only DEV mode

Changed few lines related to the formatting issues

Removing the empty whitespace
2015-10-15 10:13:35 +05:30
Jim
5ae4f035c7 Fix blog post authors 2015-10-14 18:01:33 -07:00
Ben Alpert
8168c8eac6 Merge pull request #5175 from spicyj/text-no-frag
Don't test frag cases in ReactMultiChildText-test
2015-10-14 16:07:11 -07:00
Jim
c47d2cfada Tweak wording when talking about props changing 2015-10-14 14:43:09 -07:00
Paul O’Shannessy
8e9682c542 Merge pull request #5174 from zpao/dom-attributes-track
Add srcLang and kind to better support track elements
2015-10-14 14:35:03 -07:00
Ben Alpert
5f8fe7d614 Don't test frag cases in ReactMultiChildText-test
These are now just testing the same as the array cases directly above. This should make this test a bunch faster because it (intentionally) has n^2 runtime.
2015-10-14 14:31:45 -07:00
Ben Alpert
8e67b7f624 Merge pull request #4988 from spicyj/fdn
Walk down internal tree to find DOM node
2015-10-14 14:31:28 -07:00
Ben Alpert
5c5d2ec182 Walk down internal tree to find DOM node
This reduces our reliance on hierarchical IDs.
2015-10-14 14:22:53 -07:00
Paul O’Shannessy
659172df50 Add srcLang and kind to better support track elements 2015-10-14 12:05:56 -07:00
Jim
555fd46c7e Merge pull request #5140 from pluma/patch-1
Fix #1357. Don't append "px" suffix to CSS string values.
2015-10-14 11:18:53 -07:00
Alan Plum
a299a366ce Fix #1357. Warn when appending "px" to strings. 2015-10-14 18:36:24 +02:00
Sebastian Markbåge
da1135618e Merge pull request #5166 from spicyj/gh-5157
Add feature test for document.createEvent
2015-10-14 00:08:56 -07:00
Ben Alpert
4f9fdeeec1 Merge pull request #5165 from spicyj/cache-lenient
Be more lenient with invalid nodes in the cache
2015-10-13 17:22:12 -07:00
Ben Alpert
1206d8d2eb Add feature test for document.createEvent
See #5157.
2015-10-13 16:34:05 -07:00
Ben Alpert
e89e675508 Be more lenient with invalid nodes in the cache
This matches our old behavior. I was a little too aggressive in turning on this
error and it's still possible to trigger it (using the test added here).
2015-10-13 16:07:06 -07:00
Paul O’Shannessy
af99b2c2a3 Merge pull request #5164 from zpao/fix-csstransitiongroup-proptype
Correctly handle 0 in CSSTransitionGroup timeout props
2015-10-13 14:54:21 -07:00
Paul O’Shannessy
dc21b95244 Correctly handle 0 in CSSTransitionGroup timeout props 2015-10-13 14:39:55 -07:00
Ben Alpert
dddbca472a Merge pull request #5160 from spicyj/gh-5151
Fetch node to unmount separately from unmounting
2015-10-13 12:19:24 -07:00
Ben Alpert
622db4ee4f Fetch node to unmount separately from unmounting
My last strategy of getting each node recursively while unmounting was a pain to make work properly with ReactMount's confusing cache. Now, we get the node before unmounting anything in the subtree (and we don't try to find the nodes of descendants).

This is a temporary solution and can go away when we get rid of the giant ReactMount node hash map.

Fixes #5151.
2015-10-13 12:07:57 -07:00
Ben Alpert
194ab16d7b Merge pull request #5157 from spicyj/createevent
Use 'document.createEvent' not 'new Event'
2015-10-13 11:40:35 -07:00
Paul O’Shannessy
51c0f86ec7 Merge pull request #5147 from zpao/update-release-task
Stop generating gh-pages during release, update message
2015-10-13 11:20:40 -07:00
Ben Alpert
6488a4c187 Use 'document.createEvent' not 'new Event'
Fixes #5153.

This seems to work in all browsers I tested, including old Android and all IE > 8 which didn't work before.
2015-10-13 11:14:23 -07:00
Ben Alpert
50c9b94552 Merge pull request #5156 from spicyj/bp-codemods
Mention codemods more prominently in release blog
2015-10-13 10:50:38 -07:00
Ben Alpert
4a37796f88 Mention codemods more prominently in release blog 2015-10-13 10:37:42 -07:00
Paul O’Shannessy
f7a3ac2d56 Stop generating gh-pages during release, update message 2015-10-13 09:37:32 -07:00
Cameron Matheson
2c1c7fad4d add npm 3.x to devengines 2015-10-13 02:06:48 -06:00
Jim
bffed177f4 Merge pull request #5150 from jimfb/node-v4-readme
Updated node version requirement in README.md
2015-10-12 18:07:29 -07:00
Jim
e46e5784ce Updated node version requirement in README.md 2015-10-12 18:06:06 -07:00
Jim
c1c9b383a0 Merge pull request #5137 from vipulnsward/2576-add-comparison-tests
Added tests to compare testing of components using different types of element creation
2015-10-12 14:08:08 -07:00
Vipul A M
b4a6bc89c2 - Added tests to compare testing of components using different types of element creation
Fixes [#2576]

- Fixed Lint warnings and errors
2015-10-12 16:44:00 -04:00
Ben Alpert
b32835ea61 Merge pull request #5146 from spicyj/ce-scripts
Don't execute <script> tags w/ createElement mode
2015-10-12 13:43:51 -07:00
Ben Alpert
db989bf686 Don't execute <script> tags w/ createElement mode
Each script will execute at most once so we could also set `.textContent` to something like `;`, then add it to the document, then change the `.textContent`, but this seems like the simplest approach. See http://dev.w3.org/html5/spec-preview/the-script-element.html for details.
2015-10-12 13:43:40 -07:00
Jim
37c71a6e1f Merge pull request #5142 from MaxPRafferty/add-selection-and-composition-events-on-reference-page
Add selection and composition events on reference page
2015-10-12 13:37:56 -07:00
maxprafferty
48ada00bdb added selection and composition events to reference page
added composition events to reference page

added selection events to reference page
2015-10-12 15:44:44 -04:00
Paul O’Shannessy
abaf0051de Merge pull request #5124 from bhamodi/master
Documentation Cleanup Round 1.
2015-10-12 12:34:54 -07:00
Baraa Hamodi
45d4296ac5 Documentation cleanup. 2015-10-12 15:33:32 -04:00
Paul O’Shannessy
875e2b36cc Merge pull request #5144 from zpao/grunt-gulp-windows
Use the right gulp executable on Windows
2015-10-12 12:28:21 -07:00
Ben Alpert
b03b195759 Merge pull request #5130 from matiassingers/jasmine-spy-call-args-consistency
Jasmine spies call args property consistency
2015-10-12 10:24:56 -07:00
Paul O’Shannessy
227ba42f81 Use the right gulp executable on Windows 2015-10-12 10:01:23 -07:00
Jim
e45e46a567 Merge pull request #5141 from pluma/patch-2
Removed ESLint warning
2015-10-12 09:59:17 -07:00
Alan Plum
0e451162bc Removed eslint warning. 2015-10-12 17:42:38 +02:00
Matias Singers
f8f2be05ce Consistently use calls[n].args[n] instead of argsForCall[n][n] for Jasmine spies 2015-10-12 22:39:19 +08:00
Ben Alpert
01817c143c Merge pull request #5129 from matiassingers/jasmine-spy-calls-length-consistency
Jasmine spies call count property consistency, take II
2015-10-11 15:03:27 -07:00
Matias Singers
dd0b1a643b Consistently use calls.length instead of callCount for Jasmine spies, take II
See #3105 for take I
2015-10-11 15:42:24 +08:00
Paul O’Shannessy
5dc2858bc9 Merge pull request #5126 from bhamodi/white-space
File Cleanup.
2015-10-10 19:30:29 -07:00
Paul O’Shannessy
0b21632f8e Merge pull request #5123 from vipulnsward/fix-html-jsx-page
- Bring back JSX compiler styling still being used on HTML JSX page
2015-10-10 19:11:26 -07:00
Baraa Hamodi
a86e349535 File Cleanup. 2015-10-10 16:05:58 -04:00
Vipul A M
2b81ea0d20 - Bring back JSX compiler styling still being used on HTML JSX page
Fixes [#5121]
2015-10-10 13:53:59 -04:00
Jim
0b29035484 Merge pull request #5120 from abloomston/patch-1
Include react-dom
2015-10-10 07:35:19 -07:00
Adam Bloomston
ab1be09d7d Include react-dom
Fixes `Uncaught ReferenceError: ReactDOM is not defined`
2015-10-10 10:17:08 -04:00
Paul O’Shannessy
be90351add Update Readme with for 0.14 2015-10-09 17:48:44 -07:00
Jim
5c3e99c7f4 Merge pull request #5116 from jimfb/download-page-links
Added react-dom to individual downloads
2015-10-09 15:17:08 -07:00
Jim
f6e09f1903 Added react-dom to individual downloads 2015-10-09 15:11:11 -07:00
Ben Alpert
fb9e1ed475 Merge pull request #5014 from spicyj/native-parents
Thread native-parent pointers through everything
2015-10-09 15:07:59 -07:00
Ben Alpert
8210299437 Add SVG/MathML support for createElement mode 2015-10-09 14:56:57 -07:00
Ben Alpert
1dca72ebfa Thread native-parent pointers through everything
Now we don't repurpose context for our own secret needs (hi Dan). In this diff I avoid storing the native parent on native (DOM) components and store it only on composites, but we'll probably want to store it on native components too soon for event bubbling.
2015-10-09 14:56:08 -07:00
Ben Alpert
a907da9430 Make Danger-test simpler and more robust 2015-10-09 14:54:42 -07:00
Ben Alpert
4e48c67120 Merge pull request #5113 from spicyj/document-context
Document context
2015-10-09 14:46:56 -07:00
Ben Alpert
28b10a9d6a Document context
Fixes #580.
2015-10-09 14:44:24 -07:00
Paul O’Shannessy
09b688efce [docs] Fix line highlights for linked-state-mixin 2015-10-09 12:32:01 -07:00
Jim
15c731edca Merge pull request #5109 from Josh-a-e/undefined_this_on_controlled_components
add test to show `this` is indeed undefined - closes #3613
2015-10-09 11:44:19 -07:00
Ben Alpert
d95381387e Merge pull request #5111 from spicyj/vdn-current
validateDOMNesting: parentTag -> current
2015-10-09 11:43:31 -07:00
Ben Alpert
9c836b09f2 validateDOMNesting: parentTag -> current 2015-10-09 11:40:55 -07:00
Joshua Evans
8f4c2997a0 add test to show this is indeed undefined - closes #3613 2015-10-09 19:37:58 +01:00
Jim
845135531a Merge pull request #5105 from jimfb/changelog-0.14
Added changelog for 0.14
2015-10-09 10:51:36 -07:00
Paul O’Shannessy
3359e2f64c Merge pull request #5101 from bcbcb/patch-1
[docs] fix forms Default Value example
2015-10-09 10:47:01 -07:00
Jim
e8be7013ba Merge pull request #4981 from iamchenxin/zh_docs
[docs] Sync up tutorial.zh-CN with en(a440f40)
2015-10-09 10:46:16 -07:00
iamchenxin
a8459214d1 [docs] Sync up tutorial.zh-CN with en(a440f40)
[docs] Amend wrong words in zh-CN

08.1-more-about-refs.zh-CN.md

Update zh-CN docs

add thinking-in-react.zh-CN.md

[docs] Update two zh-CN docs

       new file:   ref-01-top-level-api.zh-CN.md
       new file:   ref-02-component-api.zh-CN.md
2015-10-10 01:35:03 +08:00
Jim
72e70f345b Added changelog for 0.14 2015-10-09 10:26:18 -07:00
Ben Alpert
407e88d6c8 Merge pull request #5107 from mbrookes/patch-1
Grammar
2015-10-09 08:59:47 -07:00
Matt Brookes
98aecac34c Grammar
I'm assuming this was meant to say that the JSX spread syntax saves typing, not copying attributes.
2015-10-09 14:31:59 +01:00
Jim
1a7c0a4b16 Merge pull request #5102 from TracyJordan/master
Fixed some comment punctuation in ReactDOMComponent.js
2015-10-09 00:33:39 -07:00
Kevin Cheng
ff17bc25d1 Fixed punctuation 2015-10-08 19:36:05 -07:00
Brenard Cubacub
d96f319d6e [docs] fix forms Default Value example
The Default Value section in the forms docs says "This example will function much like the Controlled Components example above."

The example actually functions like the Uncontrolled Components example, not the Controlled Components example.
2015-10-08 16:41:19 -07:00
Ben Alpert
f522371cee Merge pull request #5100 from spicyj/ssr-dupe
Remove duplication in ReactServerRendering
2015-10-08 15:11:34 -07:00
Ben Alpert
d4420eca8a Remove duplication in ReactServerRendering 2015-10-08 15:06:09 -07:00
Ben Alpert
3f5747009d Merge pull request #5083 from spicyj/warn-min
Warn when using a minified copy of dev React
2015-10-08 14:08:50 -07:00
Paul O’Shannessy
c511f161df Merge pull request #5096 from songawee/docs_babel_fix
fix(docs): adjust babel release to match the babel.js changelog
2015-10-08 11:52:42 -07:00
Ben Alpert
f3a506bc0c Warn when using a minified copy of dev React
Fixes #4842.
2015-10-08 11:44:56 -07:00
songawee
8fb436a5eb fix(docs): adjust babel release to match the babel.js changelog 2015-10-08 12:44:24 -06:00
Ben Alpert
2253405dcc Merge pull request #5085 from spicyj/cdp
Extract defineProperty feature testing to one file
2015-10-08 11:33:07 -07:00
Ben Alpert
4fb39ce984 Merge pull request #5081 from spicyj/svg-tu
Don't break on SVG tags in scryRenderedDOMComponentsWithClass
2015-10-08 08:38:32 -07:00
Ben Alpert
4bb83d237e Don't break on SVG tags in scryRenderedDOMComponentsWithClass
Fixes #5076.
2015-10-08 08:29:53 -07:00
Ben Alpert
e9796cc447 Merge pull request #5084 from spicyj/rearrange-utils
Move escapeTextContentForBrowser and quoteAttributeValueForBrowser to DOM directory
2015-10-08 08:28:40 -07:00
Ben Alpert
3fb2d3f5d4 Extract defineProperty feature testing to one file
This makes it slightly more bearable to debug in IE8 with an exception breakpoint. Also the old way was just silly and could mask other bugs.
2015-10-07 18:33:13 -07:00
Ben Alpert
2637a8eaf4 Move escapeTextContentForBrowser and quoteAttributeValueForBrowser to DOM directory
Only DOM files use these.
2015-10-07 18:11:15 -07:00
Ben Alpert
a7189c57fc Merge pull request #5057 from camsong/patch-1
Text fix in ReactClass.js
2015-10-07 17:19:19 -07:00
Cam Song
9af15d3ecd Text fix in ReactClass.js
Rename 'component class' to 'function' as it should be.
2015-10-08 08:13:27 +08:00
Ben Alpert
0d12643652 Merge pull request #5078 from nickpresta/master
Add docs for `React.Children.toArray` in 0.14.0.
2015-10-07 17:02:06 -07:00
Nick Presta
319b374097 Add docs for React.Children.toArray in 0.14.0.
* Update the docs to change return type of `React.Children.map` from `object` to `array`.
2015-10-07 19:16:05 -04:00
Jim
d0970ee8b8 Merge pull request #5063 from facebook/revert-5062-revert-4959-no-shams
Remove dependence on ES5 shams per #4189
2015-10-07 14:23:35 -07:00
Jim
f97d759db1 Merge pull request #5032 from jimfb/remove-react-link
Added warning for use of ReactLink.
2015-10-07 14:23:11 -07:00
Ben Alpert
40cce38330 Merge pull request #5075 from spicyj/docs-downloads
Update downloads page for 0.14
2015-10-07 13:04:41 -07:00
Ben Alpert
f31a46cb18 Merge pull request #4983 from spicyj/id-swap
Refactor how composite type changes work, fix memory leak in ReactMount caching
2015-10-07 13:02:58 -07:00
Ben Alpert
34d84a36d6 Merge pull request #5066 from camsong/patch-2
Always use ANONYMOUS const in  ReactPropTypes.js
2015-10-07 12:57:59 -07:00
Ben Alpert
8ce7b7120c ReactMount now never expects invalid nodes in its cache
It never really made sense for us to have "invalid" nodes in the cache -- when we unmount things, we should always remove them from the cache properly. Now that swapping composite types doesn't repopulate the cache, we should be okay to now assume that everything in the cache is good.
2015-10-07 12:57:34 -07:00
Ben Alpert
fe9a76ef25 Rewrite ReactInstanceHandles-test to be less brittle 2015-10-07 12:57:34 -07:00
Ben Alpert
60491d89f8 Use returned native node for composite type-change
With this change, all unmounted components should be properly purged from ReactMount's cache.
2015-10-07 12:57:34 -07:00
Ben Alpert
743ccf090f Cache native node on native components, return it when unmounting
This is probably slightly slower for unmounts in the case that no updates were ever performed, but caching the node on the instance should make updates faster. In any case, the more important consequence of this change is that we can fix the current memory leak that happens when swapping composite types.
2015-10-07 12:57:34 -07:00
Ben Alpert
e4a43389b8 Don't use existing "root" ID if non-root
Before, if you had

```
container = <div data-reactid=".0"><div data-reactid=".0.0" /></div>;
```

and did `ReactDOM.render(<span />, container)` you would get

```
<div data-reactid=".0"><span data-reactid=".0" /></div>;
```

(along with a warning not to replace React-rendered children with a new tree like that). But that makes no sense -- the span should have a new index, not truncate the ID of the old child it's replacing.

(Now tests pass again with useCreateElement on; before they threw a "valid but unequal" on our test for this warning.)
2015-10-07 12:57:34 -07:00
Ben Alpert
8ebbb7802c Merge pull request #4918 from glenjamin/shallow-getinstance
Expose component instance in shallow rendering
2015-10-07 12:52:09 -07:00
Ben Alpert
501a2765ac Merge pull request #4947 from fabiomcosta/server_render_index
[react] making sure ReactDOMServer always uses ServerReactRootIndex, …
2015-10-07 12:51:59 -07:00
Ben Alpert
4a29fd892a Merge pull request #4779 from mnordick/master
Support CSS3 Grid Layout Module for inline styles
2015-10-07 12:51:26 -07:00
Ben Alpert
e1d4668fd5 Update downloads page for 0.14 2015-10-07 12:50:59 -07:00
Paul O’Shannessy
926f372dc5 Merge pull request #5073 from mfunkie/patch-2
Update Pure Render Mixin docs to point to new npm package
2015-10-07 12:22:04 -07:00
Paul O’Shannessy
30386b2e86 Final docs update for 0.14 2015-10-07 11:25:50 -07:00
Paul O’Shannessy
42481fe51f [docs] Update acknowledgements for 0.14 2015-10-07 11:25:44 -07:00
Mark Funk
c2ae332718 Update Pure Render Mixin docs to point to new npm package 2015-10-07 14:16:26 -04:00
Paul O’Shannessy
59cd224a03 Bump version in master for 0.15 development 2015-10-07 09:57:53 -07:00
Paul O’Shannessy
c8374d6db8 Merge pull request #4785 from zpao/0.14-authors
Update AUTHORS for 0.14
2015-10-07 09:50:42 -07:00
Paul O’Shannessy
e2211ab826 Update AUTHORS for 0.14 2015-10-07 09:49:10 -07:00
Ben Alpert
55cab74312 Merge pull request #5072 from spicyj/14blog
0.14 blog post
2015-10-07 09:46:44 -07:00
Ben Alpert
2bedb4ae96 Write 0.14 blog post 2015-10-06 23:59:20 -07:00
Ben Alpert
e292df781e Copy 0.14 RC blog post to 0.14 blog post 2015-10-06 23:19:50 -07:00
Ben Alpert
84dff0be5d Fix bower info in RC blog post
Fixes #5054.
2015-10-06 23:19:46 -07:00
Cam Song
a69f05c881 Always use ANONYMOUS const in ReactPropTypes.js 2015-10-07 11:28:38 +08:00
Ben Alpert
1711c7aae3 Merge pull request #5065 from spicyj/docs-pkgs
Update some more docs for package split
2015-10-06 18:38:19 -07:00
Ben Alpert
26bde37cf8 Updat docs for refs/findDOMNode 2015-10-06 17:53:38 -07:00
Ben Alpert
0faf4b752f Update some more docs for package split 2015-10-06 17:36:16 -07:00
Jim
ff533cb4db Merge pull request #5055 from jimfb/reactdom-render
React -> ReactDOM for render() and findDOMNode()
2015-10-06 15:04:15 -07:00
Sebastian Markbåge
6d3a11e602 Merge pull request #4943 from bspaulding/throw-stateless-ref
Composite component throws on attaching ref to stateless component #4939
2015-10-06 14:33:48 -07:00
Jim
fc043bb3a5 Revert "Revert "Remove dependence on ES5 shams per #4189"" 2015-10-06 14:31:20 -07:00
Jim
6446a45a00 Merge pull request #5062 from facebook/revert-4959-no-shams
Revert "Remove dependence on ES5 shams per #4189"
2015-10-06 14:30:26 -07:00
Jim
571edd85c2 Revert "Remove dependence on ES5 shams per #4189" 2015-10-06 14:30:03 -07:00
Jim
0b73099301 Merge pull request #4959 from dgreensp/no-shams
Remove dependence on ES5 shams per #4189
2015-10-06 13:57:49 -07:00
David Greenspan
f95747b929 Remove dependence on ES5 shams per #4189
Docs not updated
2015-10-06 13:49:47 -07:00
Bradley Spaulding
c6a3eb14db Wrapping StatelessComponent ref warning in __DEV__ block 2015-10-05 21:44:42 -07:00
Jim
712199ef98 React -> ReactDOM for render() and findDOMNode() 2015-10-05 17:46:58 -07:00
Jim
870a15adec Merge pull request #5056 from jimfb/reactdom-in-src
React->ReactDOM in src/
2015-10-05 16:30:25 -07:00
Jim
5a9dea00b9 React->ReactDOM in src/ 2015-10-05 16:29:33 -07:00
Ben Alpert
94ccda8543 Merge pull request #5041 from spicyj/val-key-err
Don't blow up in key warning for undefined type
2015-10-05 13:57:25 -07:00
Paul O’Shannessy
d1065355a9 Merge pull request #5045 from CoderK/master
rename renderSubtreeIntoContainer.js to renderSubtreeIntoContainer-test.js
2015-10-03 07:57:26 -07:00
KimCoding
f316839b90 rename renderSubtreeIntoContainer.js to renderSubtreeIntoContainer-test.js
To distinguish between testing file and implementation file.
2015-10-03 18:11:48 +09:00
Jim
c103c8d065 Added warning for use of ReactLink. 2015-10-02 11:33:48 -07:00
Ben Alpert
1959aaa1f9 Don't blow up in key warning for undefined type 2015-10-02 11:31:28 -07:00
Jim
a71a06077f Merge pull request #5019 from jimfb/renderer-blog-post
Blog post for react render and top level API
2015-10-02 10:42:48 -07:00
Jim
e25753fdf1 Merge pull request #5038 from chicoxyzzy/docs-notation-fixes
make properties notation consistent over docs
2015-10-01 19:01:37 -07:00
chico
89e28a3fbe make properties notation in docs consistent 2015-10-02 03:44:47 +03:00
Paul O’Shannessy
95c5491781 Merge pull request #5001 from claudiopro/master
[docs] Italian localization of documentation
2015-10-01 14:46:21 -07:00
claudiopro
a4ec19500a Translate documentation to Italian 2015-10-01 23:40:14 +02:00
Paul O’Shannessy
9aa4546410 Merge pull request #5034 from zpao/fbjs-0.3
Update to fbjs@0.3
2015-10-01 14:33:40 -07:00
Paul O’Shannessy
693dd3567b Update to fbjs@0.3
As far as we're concerned, the only difference is that we moved some files from React to fbjs.
2015-10-01 14:30:05 -07:00
Ben Alpert
2a51d1bf93 Merge pull request #5016 from spicyj/tu-stateless
Make scry* look through stateless components
2015-10-01 14:13:32 -07:00
Jim
c0f951665d Blog post for react render and top level API 2015-10-01 14:12:01 -07:00
Sebastian Markbåge
4fa3ce48e8 Merge pull request #5021 from sebmarkbage/prototypetag
isReactClass -> .prototype.isReactComponent
2015-10-01 14:05:13 -07:00
Ben Alpert
3606702245 Merge pull request #5026 from chicoxyzzy/clarify-events-doc
clarify that events work for elements not for components
2015-10-01 10:49:25 -07:00
Jim
b53df5446e Merge pull request #5029 from jabbrass/patch-1
[docs] Fix typo in videos.md
2015-10-01 10:38:39 -07:00
J. Andrew Brassington
32b8135f94 [docs] Fix typo in videos.md
Line 111: "integate" =>  "integrate".
Thanks to all core contribs for open sourcing such a great tool!
2015-10-01 09:38:02 -07:00
Jim
1c385c0484 Merge pull request #5025 from chicoxyzzy/fix-event-methods-notation
fix methods notation of SyntheticEvent in docs
2015-10-01 06:18:50 -07:00
chico
e6314641ce fix isDefaultPrevented() and isPropagationStopped() methods of SyntheticEvent notation 2015-10-01 14:06:30 +03:00
chico
38a3150f62 clarify that events work for elements not for components 2015-10-01 14:00:05 +03:00
Ben Alpert
3b28c72142 Add rudimentary jsc perf-counters runner
Works at least on a CentOS 7 machine after running `sudo yum install
webkitgtk webkitgtk-devel`.

The only globals you get are `print` and `PerfCounters`. No `console` nor the other globals provided by the `jsc` command-line tool (load, readFile, etc) though they're probably not hard to implement.

You can disable the JIT by setting the environment variable `JSC_useJIT=false`.

Test Plan:
```
~/local/react/scripts/perf-counters$ make
~/local/react/scripts/perf-counters$ build/jsc-perf <(echo 'PerfCounters.init(); var a = PerfCounters.getCounters().instructions; print("moo"); var b = PerfCounters.getCounters().instructions; print(b - a);')
moo
72182
~/local/react/scripts/perf-counters$
```
2015-09-30 23:36:06 -07:00
Jim
6dbdea15b2 Merge pull request #4964 from jimfb/stateless-functions-and-render-docs
Documentation for stateless functions/components, condensed two pages about refs into one
2015-09-30 20:59:29 -07:00
Jim
5ee8a93280 Added documentation for stateless components, condensed the two pages about refs into a single page. 2015-09-30 18:54:19 -07:00
Sebastian Markbage
83644185f4 isReactClass -> .prototype.isReactComponent
Put the flag on the prototype instead to help certain limited forms
of class extensions that doesn't properly transfer static properties.

Fixes #4836
2015-09-30 18:28:49 -07:00
Sebastian Markbåge
401e6f1058 Merge pull request #5020 from sebmarkbage/fixjestcli
Enforce NODE_ENV=test
2015-09-30 17:57:52 -07:00
Sebastian Markbage
41cba2e77b Enforce NODE_ENV=test
You could make the argument that this should be optional, but it doesn't
work without it so we might as well just enforce it.

Makes `jest` work by default.
2015-09-30 17:43:06 -07:00
Ben Alpert
29fbbe7263 Merge pull request #5017 from spicyj/gh-5005
Fix dev/prod mismatch in context === bailout
2015-09-30 17:05:25 -07:00
Ben Alpert
3ad5419ce5 Merge pull request #5018 from spicyj/ev-l-bool
Don't throw for onClick={false} in initial render
2015-09-30 17:05:20 -07:00
Ben Alpert
2b63601472 Don't throw for onClick={false} in initial render
I accidentally regressed this in #3246. Now this matches what we already checked for updates.
2015-09-30 16:53:47 -07:00
Ben Alpert
cf86cd8ebf Fix dev/prod mismatch in context === bailout
Fixes #5005.
2015-09-30 16:47:40 -07:00
Ben Alpert
7bd51659d6 Make scry* look through stateless components
Fixes #4882.
2015-09-30 16:00:21 -07:00
Paul O’Shannessy
249e0f7331 Merge pull request #5008 from james4388/patch-3
Add missing comma (,) between propTypes and render
2015-09-30 14:34:08 -07:00
Paul O’Shannessy
45b63c55a0 Merge pull request #4736 from yhagio/patch-1
Update 02-displaying-data.ja-JP.md
2015-09-30 14:22:53 -07:00
Paul O’Shannessy
cf0e6dfae7 Merge pull request #4980 from edvinerikson/add-window-document-note
Added a note about needing document globally available
2015-09-30 11:08:29 -07:00
Edvin Erikson
f9417a5da1 Added a note about needing document globally available
Added a note in ``10.4-test-utils.md` about needing window, document and
document.createElement globally available before importing React.
2015-09-30 14:28:57 +02:00
Trinh Hoang Nhu
3c56146a44 Add missing comma (,) between propTypes and render
Add missing comma (,) between `propTypes` and `render`
2015-09-30 03:48:51 -05:00
Ben Alpert
5a4b92d8c5 Merge pull request #5003 from spicyj/gh-4996
Improve warning for old element objects
2015-09-29 22:52:08 -07:00
Ben Alpert
35f731b012 Merge pull request #5002 from spicyj/check-no-warn-jest
Fail jest tests on any un-spied warnings
2015-09-29 22:51:47 -07:00
Ben Alpert
d561949711 Improve warning for old element objects
Fixes #4996.
2015-09-29 18:02:47 -07:00
Ben Alpert
b8c7b13042 Fail jest tests on any un-spied warnings
Originally #4223 -- we lost this when we switched to jest.
2015-09-29 17:35:39 -07:00
Andrey Popp
41640a7475 Update CommonJS example with build script 2015-09-29 12:55:01 +03:00
Ben Alpert
9a234e1d48 Merge pull request #4995 from gregrperkins/master
Rename TYPE_SYMBOL to REACT_ELEMENT_TYPE
2015-09-28 14:18:18 -07:00
Greg Perkins
c9320142ec Rename TYPE_SYMBOL to REACT_ELEMENT_TYPE
See D2454031 for context.
2015-09-28 14:11:40 -07:00
Ben Alpert
c512603a8c Merge pull request #4987 from spicyj/perf
Add unit test to ensure DOM mutations are instrumented
2015-09-28 11:48:18 -07:00
Paul O’Shannessy
1b5cd36f03 Merge pull request #4901 from zpao/npm-react-dom-dist
Build ReactDOM browser builds into react-dom/dist
2015-09-28 11:41:00 -07:00
Paul O’Shannessy
ed264b548b Merge pull request #4953 from zpao/test-utils-scry
Make ReactTestUtils.scryRenderedComponentWithClass find multiple classes
2015-09-28 10:31:21 -07:00
Paul O’Shannessy
e9c571acc6 Make ReactTestUtils.scryRenderedComponentWithClass find multiple classes 2015-09-28 10:06:54 -07:00
James Friend
107e3014ef Perform transaction around shallow render to run lifecycle methods 2015-09-28 22:48:15 +10:00
Ben Alpert
013bf16501 Merge pull request #4985 from mbrookes/patch-1
Correct the CSS example for 'appear' transition
2015-09-27 16:23:09 -07:00
Ben Alpert
7938650ca9 Make new perf unit test pass 2015-09-27 14:26:26 -07:00
Ben Alpert
47de0a8ce6 Add unit test to ensure DOM mutations are instrumented 2015-09-27 14:26:01 -07:00
Matt
208f20b787 Correct the CSS example for 'appear' transition
Move transition from `.example-appear` to `.example-appear.example-appear-active`
2015-09-27 17:33:16 +01:00
cpojer
2c973796e3 Add trailing commas to react-codemod output by default. 2015-09-26 22:58:45 +02:00
Paul O’Shannessy
ce8fed7592 Merge pull request #4893 from jw-00000/patch-1
Fix documentation of behavior of v0.12 and v0.13
2015-09-26 10:46:07 -07:00
JW
3b6697f177 Fix documentation of event propagation: 0.13 to 0.14 2015-09-26 12:31:48 +02:00
Vipul A M
1d4371a1d2 [docs] Replace JSXTransformer with babel/browser
Closes #4131
2015-09-25 20:13:19 -07:00
Paul O’Shannessy
d3d2504e72 Merge pull request #4846 from zpao/docs-use-babel
[docs] Remove references to react-tools, JSXTransformer, replace with Babel.
2015-09-25 20:06:47 -07:00
Paul O’Shannessy
105554fe5c [docs] Remove JSXTransformer, react-tools from downloads page 2015-09-25 17:58:07 -07:00
Paul O’Shannessy
bef8942cb7 [docs] Remove JSXTransformer from tutorial 2015-09-25 17:58:07 -07:00
Paul O’Shannessy
4d9c1d1126 [docs] Update script mimetypes: text/jsx -> text/babel 2015-09-25 17:56:42 -07:00
Paul O’Shannessy
097b32b7d2 [docs] Remove mentions of react-tools/jsx command 2015-09-25 17:56:42 -07:00
Paul O’Shannessy
411ed31cb1 [docs] Stop supporting our JSX compiler page
Link to Babel REPL directly instead.
2015-09-25 17:56:42 -07:00
Paul O’Shannessy
6ff4ba9512 Merge pull request #4978 from zpao/tutorial-server
[docs] Make the server required for the tutorial
2015-09-25 17:54:47 -07:00
Paul O’Shannessy
a440f40713 [docs] Make the server required for the tutorial 2015-09-25 17:52:45 -07:00
Bradley Spaulding
63cfcca74e Updated stateless ref warning message with more info 2015-09-25 16:21:59 -07:00
Ben Alpert
59466a0b52 Merge pull request #4977 from spicyj/gh-4870
Actually don't store <input> until mount-ready
2015-09-25 13:41:45 -07:00
Ben Alpert
6e62a010dd Actually don't store <input> until mount-ready
So #4976 was a lie. Fixes #4870 for real (thanks @STRML).
2015-09-25 13:39:05 -07:00
Ben Alpert
b82f3ab55d Merge pull request #4976 from spicyj/gh-4870
Don't store <input> instance until mount-ready
2015-09-25 13:30:01 -07:00
Ben Alpert
c04d10f033 Don't store <input> instance until mount-ready
Fixes #4870.

This more or less matches what we were doing with the old wrapper components (not storing until componentDidMount).
2015-09-25 13:20:40 -07:00
Ben Alpert
c05a6570ec Merge pull request #4975 from spicyj/gh-3285
Don't blow up on missing _store in element validation
2015-09-25 13:11:40 -07:00
Ben Alpert
e352475ddc Don't blow up on missing _store in element validation
Seems better to fail gracefully, especially now that we support inlining. If people do this by accident we can figure out how to add a helpful warning instead.

Fixes #3285.
2015-09-25 13:09:03 -07:00
Paul O’Shannessy
530b6332ed Merge pull request #4973 from zpao/lint-again
[lint] Update and fix
2015-09-25 13:05:38 -07:00
Paul O’Shannessy
7037ef9d8b [lint] Update and fix 2015-09-25 12:32:51 -07:00
Jim
4215002200 Merge pull request #4965 from iamchenxin/translate
[docs] Update zh-CN docs.
2015-09-25 11:34:05 -07:00
Jim
3936e3fddb Merge pull request #4967 from zhangjg/zhangjg-br
Translation  08.1-more-about-ref.md to Chinese
2015-09-25 11:33:36 -07:00
Sebastian Markbåge
8854a31e31 Merge pull request #4942 from darobin/rdfa-attributes
Add RDFa attributes not already covered (fixes #3459)
2015-09-25 09:32:40 -07:00
Fabio Costa
e65fe182e7 [react] making sure ReactDOMServer always uses ServerReactRootIndex, even on an environment that can use DOM 2015-09-24 19:59:39 -07:00
zhangjg
1dbde787d0 Published with https://stackedit.io/ 2015-09-25 09:34:37 +08:00
Paul O’Shannessy
707ffc74fd Merge pull request #4966 from zpao/examples-rm-server-rendering
[examples] Remove Server Rendering Example
2015-09-24 18:06:07 -07:00
iamchenxin
6094739757 [docs] Update zh-CN docs
Update
	09-tooling-integration.zh-CN.md
	10-addons.zh-CN.md
	10.1-animation.zh-CN.md
2015-09-25 06:55:34 +08:00
Paul O’Shannessy
c529e652bd [examples] Remove Server Rendering 2015-09-24 15:12:15 -07:00
Paul O’Shannessy
99b9ece565 Merge pull request #4914 from zpao/0.14-examples
Update examples for Babel, 0.14; remove 3rd party code
2015-09-24 15:11:40 -07:00
Paul O’Shannessy
3c0f46e3da [examples] Use refs instead of findDOMNode 2015-09-24 15:08:28 -07:00
Paul O’Shannessy
145ca279f9 [examples] Update basic-commonjs for new React, watchify 2015-09-24 15:08:28 -07:00
Paul O’Shannessy
f1ede3e6d2 [examples] Fix transtion example with timeout prop 2015-09-24 15:08:28 -07:00
Paul O’Shannessy
c475699d6b [examples] Use ReactDOM for appropriate APIs 2015-09-24 15:08:28 -07:00
Paul O’Shannessy
715dea085b [examples] Use Babel 2015-09-24 15:08:27 -07:00
Paul O’Shannessy
4d3d14af78 [exmaples] Remove local 3rd party code, use CDN (mostly) 2015-09-24 14:57:50 -07:00
Paul O’Shannessy
16608e3688 [examples] Assume es5 compatible browsers with console 2015-09-24 14:57:50 -07:00
Paul O’Shannessy
78b50485f6 Merge pull request #4853 from zpao/jsfiddle-babel
[docs] Add jsfiddle integration for Babel
2015-09-24 14:54:13 -07:00
iamchenxin
3fd7686d22 [docs] Update zh-CN docs.
add  08.1-more-about-refs.zh-CN.md
2015-09-25 03:11:58 +08:00
Bradley Spaulding
af79118148 attachRef to a stateless component warns instead of throwing #4939 2015-09-24 11:52:46 -07:00
Bradley Spaulding
8b4663d722 Renamed componentInstance to publicComponentInstance 2015-09-24 11:46:41 -07:00
Paul O’Shannessy
4b6e5d06cf Merge pull request #4961 from iamchenxin/en_docs
[docs] Fix syntac error
2015-09-24 09:48:34 -07:00
iamchenxin
82637eae45 Fix syntac error
Split {{ in example code to avoid an Exception in jekyll.
> Liquid Exception: Variable '{{' was not properly terminated with regexp: /\}\}/ in docs/10.1-animation.md
2015-09-24 23:46:22 +08:00
Jim
f988511b0a Merge pull request #4960 from iamchenxin/translate
[docs] Sync up zh-CN docs
2015-09-24 08:03:14 -07:00
iamchenxin
7a316ab034 [docs] Sync up zh-CN docs
Sync up with current en docs.
2015-09-24 22:48:20 +08:00
Paul O’Shannessy
1ce5ba4c56 Merge pull request #4956 from reggi/patch-1
doc: typo existant to existent
2015-09-24 01:35:28 -07:00
Thomas Reggi
648cb52b72 doc: typo existant to existent 2015-09-23 19:56:26 -04:00
Paul O’Shannessy
d12ec60dd5 Merge pull request #4658 from zpao/iojs
Upgrade to node@4, jest@0.5
2015-09-23 14:01:48 -07:00
Paul O’Shannessy
873e3a9816 Cleanup Jest preprocessor, use cache key 2015-09-23 13:46:41 -07:00
Paul O’Shannessy
8857e12c9e Use main document for getTestDocument
This should be fine in a jest environment, which is all we really care about now.
2015-09-23 13:46:41 -07:00
Paul O’Shannessy
2afc9a445f Upgrade to node@4, jest@0.5 2015-09-23 13:46:41 -07:00
Ben Alpert
ab03f34965 Merge pull request #4951 from spicyj/gh-4840
Improve traverseAllChildren object error message
2015-09-23 12:17:35 -07:00
Ben Alpert
1922db1711 Improve traverseAllChildren object error message
Fixes #4840.
2015-09-23 12:17:20 -07:00
Paul O’Shannessy
33e44f041b Merge pull request #4944 from zpao/rm-event-path
Remove SyntheticEvent.path
2015-09-23 10:03:19 -07:00
Ben Alpert
7398606ccf Merge pull request #4683 from JaeHunRo/master
temporarily fixes printWasted abnormality
2015-09-23 00:34:51 -07:00
Paul O’Shannessy
96b3ef54bf Merge pull request #4935 from saifelse/fix-firefox-dom-sel
Fix ReactDOMSelection to avoid erroring on Firefox's anonymous divs
2015-09-22 17:57:24 -07:00
JaeHunRo
6244a985c4 updates printWasted 2015-09-23 01:46:31 +01:00
Ben Alpert
b06be9bc2d Merge pull request #4946 from spicyj/nan
Improve error for style mutation
2015-09-22 16:34:05 -07:00
Ben Alpert
9faf1f3969 Improve error for style mutation
Fixes #4877. I opted not to change shallowEqual for this since it seems relatively one-off.
2015-09-22 16:29:40 -07:00
Ben Alpert
8c75e792ab Merge pull request #4945 from spicyj/nocatch-sim
Don't use magic browser event dispatching for simulated events
2015-09-22 15:41:00 -07:00
Ben Alpert
838b963f55 Merge pull request #4916 from spicyj/hwc
Add perf-counters npm module to scripts
2015-09-22 15:39:56 -07:00
Ben Alpert
57c516cb0e Don't use magic browser event dispatching for simulated events
When calling ReactTestUtils.Simulate, sometimes you want to test that an exception is thrown by the event handler. This lets you do that without relying on the fact that old jsdom doesn't implement `Event`.
2015-09-22 15:31:08 -07:00
Saif Hakim
0267cfbb8f Fix ReactDOMSelection to avoid erroring on Firefox's anonymous divs 2015-09-22 15:28:33 -07:00
Paul O’Shannessy
8a837cbd3f Remove SyntheticEvent.path 2015-09-22 15:12:19 -07:00
Ben Alpert
0f67febad7 Merge pull request #3069 from WickyNilliams/patch-1
document checkbox using click handlers for change events
2015-09-22 14:34:40 -07:00
Bradley Spaulding
650fa58ab9 Composite component throws on attaching ref to stateless component #4939 2015-09-22 14:28:38 -07:00
Robin Berjon
fd682b5cac add RDFa attributes not already covered 2015-09-22 16:58:48 -04:00
Paul O’Shannessy
06568114f3 Merge pull request #4931 from bspaulding/safe-taint-docs
Extracted "safe taint" in docs/homepage to align with best practice
2015-09-22 10:53:50 -07:00
Ben Alpert
c561324e7e Merge pull request #4903 from spicyj/event-unmounted
Just ignore events on unmounted components
2015-09-22 09:54:04 -07:00
Bradley Spaulding
52d8d3b2ff Extracted "safe taint" in docs/homepage to align with best practice #4212 2015-09-21 22:24:51 -07:00
Paul O’Shannessy
56ccd82374 Merge pull request #4921 from benjaffe/master
[docs] Clarify when autobinding does(n't) happens
2015-09-20 16:42:48 -07:00
Ben Jaffe
0203071251 Update 03-interactivity-and-dynamic-uis.md
This clarifies when autobinding does and does not happen. I spun my wheels on this for a while.

https://medium.com/@goatslacker/react-0-13-x-and-autobinding-b4906189425d
2015-09-20 09:38:50 -07:00
Glen Mailer
241533782c Expose component instance in shallow rendering
Fixes #4056
2015-09-20 15:16:51 +01:00
Ben Alpert
b3bccf2273 Add node bindings 2015-09-19 11:30:28 -07:00
Ben Alpert
e922f869e6 Make hardware-counter.cpp compile
`g++ -std=c++11 -lpthread src/hardware-counter.cpp
src/thread-local.cpp src/test.cpp` works and runs where `src/test.cpp` is:

```

int main() {
  bool enable = true;
  std::string events = "";
  bool recordSubprocesses = false;
  HPHP::HardwareCounter::Init(enable, events, recordSubprocesses);

  HPHP::HardwareCounter::s_counter.getCheck();

  int64_t start = HPHP::HardwareCounter::GetInstructionCount();
  volatile int x;
  for (int i = 0; i < 1000000; i++) {
    x += i;
  }
  int64_t end = HPHP::HardwareCounter::GetInstructionCount();

  printf("%d\n", end - start);
}
```
2015-09-19 11:00:27 -07:00
Ben Alpert
42e523ea4d Update license to match React repo license 2015-09-19 11:00:27 -07:00
Ben Alpert
cfbf115b26 Add hardware-counter.cpp and deps from HHVM 2015-09-18 22:10:10 -07:00
Paul O’Shannessy
ff542de59d Build ReactDOM browser builds into react-dom/dist 2015-09-18 14:02:31 -07:00
Ben Alpert
88cdc27618 Merge pull request #4904 from spicyj/npm-2
Don't install npm 3 on Travis
2015-09-17 21:23:41 -07:00
Ben Alpert
45f85a6cc5 Just ignore events on unmounted components
Fixes #4865 and also seems to fixes #3790.
2015-09-17 17:42:01 -07:00
Ben Alpert
41e4bfb41a Don't install npm 3 on Travis 2015-09-17 17:37:00 -07:00
Paul O’Shannessy
aac4219e80 Merge pull request #4899 from iamchenxin/master
Update zh-CN docs.
2015-09-17 12:22:04 -07:00
iamchenxin
2a5e6b3c91 Update zh-CN translation.
To keep up with en docs.
2015-09-18 02:31:11 +08:00
Paul O’Shannessy
e147c4942b [docs] Remove unused file 2015-09-16 14:09:52 -07:00
Paul O’Shannessy
d42254c40f Merge pull request #4891 from igncp/documentation-fix
Fix documentation errata
2015-09-16 13:48:09 -07:00
Ignacio Carbajo
e11631eea7 Fix documentation errata 2015-09-16 22:25:46 +02:00
Paul O’Shannessy
f9bbc06960 Merge pull request #4858 from zpao/eslint-1.4
Upgrade eslint to 1.4.1
2015-09-16 12:35:12 -07:00
Paul O’Shannessy
20f0b0f464 Upgrade eslint to 1.4.1 2015-09-16 12:16:46 -07:00
Paul O’Shannessy
0fb49fc4dc Merge pull request #4859 from zpao/stateless-arrow-functions
Support native arrow functions as stateless components
2015-09-16 12:02:38 -07:00
Paul O’Shannessy
e5c3fb14fa Support arrow functions as stateless components 2015-09-16 11:39:41 -07:00
Ben Alpert
2db38bf935 Merge pull request #4887 from spicyj/form-proptypes-dev
Check input and textarea propTypes only in DEV
2015-09-16 11:31:08 -07:00
Ben Alpert
b7bf1ccafe Don't build up mount-ready queue for server side rendering
This is a little faster when rendering iframe/img/form/video/audio on the server.
2015-09-15 21:47:30 -07:00
Ben Alpert
65370ff752 Check input and textarea propTypes only in DEV 2015-09-15 21:46:37 -07:00
Paul O’Shannessy
a48ffb04dc Merge pull request #4884 from moretti/patch-1
[docs] Fix syntax errors in Animation
2015-09-15 11:30:20 -07:00
Paolo Moretti
fb45ef3679 Fix syntax errors 2015-09-15 18:12:42 +01:00
Paul O’Shannessy
609f14eed4 Merge pull request #4874 from brigand/patch-6
Clarifies "Fetching from the server"
2015-09-14 20:42:54 -07:00
Frankie Bagnardi
584a7c5f1c Clarifies "Fetching from the server" 2015-09-14 20:21:52 -07:00
Paul O’Shannessy
0bb906ed8c Merge pull request #4829 from zpao/docs-jekyll-feed
[docs] Use a generator to assign complete author data before generating site
2015-09-14 20:18:27 -07:00
Paul O’Shannessy
b0bf35a361 [docs] Use a generator to assign complete author data before generating site
This makes sure that `post.author` will be the actual data we want and we don't have to assign it every time, potentially messing it up.
2015-09-14 19:55:01 -07:00
Paul O’Shannessy
e97da42b67 Merge pull request #4868 from AnSavvides/docs-readability
Make docs more consistent
2015-09-14 13:10:57 -07:00
Paul O’Shannessy
b53dfa6d27 Merge pull request #4869 from arush/patch-1
DOCS - typo in ref callback example
2015-09-14 11:42:08 -07:00
arush
29551f84b8 DOCS - typo in ref callback example
deleted extra ending curly brace in arrow function
2015-09-14 11:40:44 -07:00
Christoph Pojer
95eee11b66 Merge pull request #4866 from andrewsokolov/bug/--no-explicit-require-didnt-works
[react-codemod] --no* options automatically set to false
2015-09-14 11:05:19 -07:00
Andreas Savvides
e04602f8ee Use same type of markdown as everywhere else for Glossary 2015-09-14 18:55:34 +01:00
Andreas Savvides
3c5a91c3c3 Make it easier to create an issue 2015-09-14 18:45:29 +01:00
Andreas Savvides
c207ab2901 Make "Component Specs and Lifecycle" more readable 2015-09-14 18:43:16 +01:00
Andreas Savvides
f98112f24d Make "Component API" more readable 2015-09-14 18:23:00 +01:00
Steven Luscher
15b57b1658 Merge pull request #4845 from steveluscher/community-roundup-27-relay-edition
Community Roundup #27 – Relay Edition
2015-09-14 08:14:43 -07:00
andrewsokolov
0610fd93b4 --no* options automatically set to false 2015-09-14 17:30:25 +03:00
Steven Luscher
f30b0d1f1c Community Roundup #27 – Relay Edition 2015-09-13 21:26:34 -07:00
Paul O’Shannessy
0cc8af37c3 Merge pull request #4861 from zpao/symbol-test-node4
Better simulate Symbol-less environment
2015-09-13 13:55:26 -07:00
Paul O’Shannessy
d54fa9e563 Better simulate Symbol-less environment
This ensures that our tests expecting Symbol not to exist pass.
2015-09-13 13:15:26 -07:00
Jim
2fcf54939b Merge pull request #4855 from iamchenxin/master
Maintain why-react-zh-CN sync to the current why-react
2015-09-12 08:57:31 -07:00
iamchenxin
d92f4782ac Update translation for jsx-in-depth-zh-CN 2015-09-12 18:09:58 +08:00
iamchenxin
787b49ae78 Maintain why-react-zh-CN sync to the current why-react 2015-09-12 16:29:46 +08:00
Paul O’Shannessy
4a45ad38b3 [docs] Add jsfiddle integration for Babel 2015-09-11 11:19:23 -07:00
Paul O’Shannessy
ed11f83763 Merge pull request #4833 from youngminz/master
Update Korean translation
2015-09-10 16:25:58 -07:00
Paul O’Shannessy
c6ecda7503 Merge pull request #4802 from 8398a7/patch-1
Update Japanese translation to 75fafe1
2015-09-10 15:35:06 -07:00
839
852753c13a Update Japanese translation to 75fafe1 2015-09-10 15:33:34 -07:00
Mike Nordick
8da4efa899 Adding support for CSS3 Grid layout module.
grid-row and grid-column must be unitless numbers.
2015-09-10 15:56:11 -05:00
Ben Alpert
4b3b56f36a Add Babel version to blog post 2015-09-10 13:28:46 -07:00
Ben Alpert
04e5ee70cc Merge pull request #4797 from spicyj/rc14blog
0.14 RC blog post
2015-09-10 09:50:56 -07:00
Ben Alpert
5bf56134be 0.14 RC blog post 2015-09-10 09:21:56 -07:00
Ben Alpert
4a4174b9e8 0.14.0-rc1 2015-09-10 08:47:40 -07:00
Ben Alpert
21a1f7e6fd Don't copy JSXTransformer in grunt release 2015-09-10 08:47:40 -07:00
Paul O’Shannessy
31f25255b9 Stop building JSXTransformer
Pick of/closes #4148.
2015-09-10 08:45:04 -07:00
Koo Youngmin
2ae036123c Update Korean translation 2015-09-10 16:47:15 +09:00
Sebastian Markbåge
7a00239b1f Merge pull request #4832 from sebmarkbage/xssfix
Use a Symbol to tag every ReactElement
2015-09-09 23:19:33 -07:00
Sebastian Markbage
031fc24dae Use a Symbol to tag every ReactElement
Fixes #3473

I tag each React element with `$$typeof: Symbol.for('react.element')`. We need
this to be able to safely distinguish these from plain objects that might have
come from user provided JSON.

The idiomatic JavaScript way of tagging an object is for it to inherent some
prototype and then use `instanceof` to test for it.

However, this has limitations since it doesn't work with value types which
require `typeof` checks. They also don't work across realms. Which is why there
are alternative tag checks like `Array.isArray` or the `toStringTag`. Another
problem is that different instances of React that might have been created not knowing about eachother. npm tends to make this kind of problem occur a lot.

Additionally, it is our hope that ReactElement will one day be specified in
terms of a "Value Type" style record instead of a plain Object.

This Value Types proposal by @nikomatsakis is currently on hold but does satisfy all these requirements:

https://github.com/nikomatsakis/typed-objects-explainer/blob/master/valuetypes.md#the-typeof-operator

Additionally, there is already a system for coordinating tags across module
systems and even realms in ES6. Namely using `Symbol.for`.

Currently these objects are not able to transfer between Workers but there is
nothing preventing that from being possible in the future. You could imagine
even `Symbol.for` working across Worker boundaries. You could also build a
system that coordinates Symbols and Value Types from server to client or through
serialized forms. That's beyond the scope of React itself, and if it was built
it seems like it would belong with the `Symbol` system. A system could override
the `Symbol.for('react.element')` to return a plain yet
cryptographically random or unique number. That would allow ReactElements to
pass through JSON without risking the XSS issue.

The fallback solution is a plain well-known number. This makes it unsafe with
regard to the XSS issue described in #3473. We could have used a much more
convoluted solution to protect against JSON specifically but that would require
some kind of significant coordination, or change the check to do a
`typeof element.$$typeof === 'function'` check which would not make it unique to
React. It seems cleaner to just use a fixed number since the protection is just
a secondary layer anyway. I'm not sure if this is the right tradeoff.

In short, if you want the XSS protection, use a proper Symbol polyfill.

Finally, the reason for calling it `$$typeof` is to avoid confusion with `.type`
and the use case is to add a tag that the `typeof` operator would refer to.
I would use `@@typeof` but that seems to deopt in JSC. I also don't use
`__typeof` because this is more than a framework private. It should really be
part of the polyfilling layer.
2015-09-09 23:19:00 -07:00
Ben Alpert
a05691f0ad Merge pull request #4747 from spicyj/gh-1939
Don't crash in event handling when mixing React copies
2015-09-09 22:10:19 -07:00
Ben Alpert
dc2570e1ce Merge pull request #4825 from spicyj/gh-2770
Preserve DOM node when updating empty component
2015-09-09 22:09:34 -07:00
Ben Alpert
14ede77123 Merge pull request #4827 from spicyj/occured
occured -> occurred
2015-09-09 16:29:43 -07:00
Ben Alpert
0b857a473a occured -> occurred 2015-09-09 16:19:40 -07:00
Ben Alpert
db589a7175 Preserve DOM node when updating empty component
Fixes #2770.
2015-09-09 14:00:59 -07:00
Ben Alpert
999b0f9b3e Refactor empty component handling
Now doesn't use ReactCompositeComponent and `._currentElement` is actually null/false.
2015-09-09 14:00:58 -07:00
Ben Alpert
3dbdb63a7d Merge pull request #4823 from spicyj/gh-4776
Don't try to iterate over non-objects
2015-09-09 12:55:20 -07:00
Ben Alpert
35b7fe175d Merge pull request #4821 from spicyj/dom-dist
Add react-dom to dist/ in npm package
2015-09-09 12:02:47 -07:00
Paul O’Shannessy
12b6f3d03c Merge pull request #4824 from facebook/prefill-stack-overflow-tag
Pre-fill tag when asking a Stack Overflow question
2015-09-09 11:31:00 -07:00
Steven Luscher
9ca4dd6024 Pre-fill tag when asking a Stack Overflow question 2015-09-09 11:28:14 -07:00
Ben Alpert
b004bc5f22 Don't try to iterate over non-objects
Fixes #4776.
2015-09-09 09:03:05 -07:00
Ben Alpert
a87c8555fa Merge pull request #4719 from djrodgerspryor/fix_css_transition_group_child_props
Fix transitionName prop-type on CSS transition group child

Closes #4719.
2015-09-09 08:35:44 -07:00
Ben Alpert
324bec17e3 Fix up style in #4719 2015-09-09 08:35:04 -07:00
Ben Alpert
0cce198c28 Merge pull request #4796 from spicyj/lazy-node
Fetch DOM node lazily for updates
2015-09-09 08:29:56 -07:00
Ben Alpert
cdd8096974 Add react-dom to dist/ in npm package 2015-09-09 07:58:28 -07:00
Daniel Rodgers-Pryor
91555f6f9e Fix name prop-type on CSS transition group child
And share it with the parent. There's now a test for varying class names by transition-type.
2015-09-09 23:21:15 +10:00
Paul O’Shannessy
6eda65209a Merge pull request #4818 from gdi2290/patch-1
Fix typo combatibility => compatibility
2015-09-09 00:52:19 -07:00
PatrickJS
ab0c84f53f Fix typo combatibility => compatibility 2015-09-09 00:47:01 -07:00
Paul O’Shannessy
77703dbb80 Merge pull request #4724 from AnSavvides/test-util-readability
Make definitions more readable & optional params more obvious
2015-09-09 00:02:18 -07:00
Paul O’Shannessy
011c2a2e07 Merge pull request #4793 from edvinerikson/document-svg-attributes
[docs] Updated SVG attributes
2015-09-08 23:24:54 -07:00
Paul O’Shannessy
2f1b08347c Fix lint warning in react-dom codemod 2015-09-08 23:06:25 -07:00
Paul O’Shannessy
b5b74c5f22 Fix travis cURL call 2015-09-08 22:56:59 -07:00
Paul O’Shannessy
69ab7145bc Merge pull request #4814 from zpao/build-react-dom-browser-2
Build react dom browser 2
2015-09-08 22:33:08 -07:00
Paul O’Shannessy
3e672017a7 Upload new build files to build server 2015-09-08 22:18:45 -07:00
Paul O’Shannessy
353a01cf5e Add react-dom to bower when releasing 2015-09-08 22:18:44 -07:00
Paul O’Shannessy
b2ca3349c2 Actually build react-dom file with the build 2015-09-08 22:18:44 -07:00
Paul O’Shannessy
135c554b23 Move headers to shared location, use grunt templates 2015-09-08 22:00:05 -07:00
Ben Alpert
e7ce46ff28 Don't crash in event handling when mixing React copies
Should fix #1939.

Test Plan:
With two copies of React, render a div using React1 and use that as a container to render a div with React2. Add onMouseEnter/onMouseLeave to both divs that log. Mouse around and see correct logs (as if each React was isolated), no errors.
2015-09-08 17:40:20 -07:00
Paul O’Shannessy
c0270a1673 Merge pull request #4798 from zpao/pull-out-version
Move version to standalone module in preparation for reuse
2015-09-08 16:30:05 -07:00
Ben Alpert
27996377e0 Fetch DOM node lazily for updates
Previously, we fetched the node once for every changed attribute. In my createElement diff, I changed it to fetch the node (once) regardless of if there were changes -- fetching it once only if there are changes is even better.
2015-09-08 14:53:41 -07:00
Paul O’Shannessy
58d62989bd Move version to standalone module in preparation for reuse 2015-09-08 10:18:41 -07:00
Ben Alpert
b01af40ae6 Merge pull request #4663 from spicyj/isreactclass
Require instantiable components to extend React.Component
2015-09-08 10:01:15 -07:00
Ben Alpert
f3b7749c37 Require instantiable components to extend React.Component 2015-09-08 10:01:13 -07:00
Paul O’Shannessy
2fa59aa2d2 Merge pull request #4787 from Simek/patch-5
simplify valid attribute regex in DOMPropertyOperations
2015-09-04 17:42:32 -07:00
Ben Alpert
be36dbd88d Merge pull request #4786 from jontewks/master
Resolve eslint error
2015-09-04 17:35:02 -07:00
Jon Tewksbury
87963c4d01 Resolve eslint error 2015-09-04 17:31:12 -07:00
Ben Alpert
4fb7df1733 Merge pull request #4767 from spicyj/com
Add react-to-react-dom codemod
2015-09-04 13:55:04 -07:00
Edvin Erikson
a3b0b7ca25 [docs] Updated SVG attributes
Added all properties listed in the SVGDOMPropertyConfig.js file to the SVG attributes
section in the docs.
2015-09-04 18:26:47 +02:00
Jim
48942b85ea Merge pull request #4788 from jontewks/html-attribute-docs
Update docs to match standard HTML attribute support
2015-09-04 03:04:58 -07:00
Jon Tewksbury
f445dd91b0 Update docs to match standard HTML attribute support 2015-09-03 22:59:29 -07:00
Bartosz Kaszubowski
f99c83ba06 simplify valid attribute regex in DOMPropertyOperations 2015-09-04 07:41:19 +02:00
cpojer
cfe0351b8f Do not codemod classes with invalid fields, fixes #4628 2015-09-03 17:04:19 -07:00
Ben Alpert
10ab0c8915 Merge pull request #2065 from crm416/container-warnings
Warn when passing invalid containers to render and unmountComponentAtNode
2015-09-03 17:00:55 -07:00
Ben Alpert
9d93693b2e Update wording and style for #2065 2015-09-03 17:00:16 -07:00
Charles Marsh
270a805369 Warn when passing invalid containers to render and unmountComponentAtNode 2015-09-03 17:00:11 -07:00
Ben Alpert
4139b2e223 Merge pull request #3942 from spicyj/el-plain-obj
Make ReactElement really a plain object and freeze it
2015-09-03 15:02:56 -07:00
Ben Alpert
750338ef47 Make ReactElement really a plain object
This should guarantee that the hidden class is the same after inlining.
2015-09-03 14:58:52 -07:00
Ben Alpert
189f42f56a Merge pull request #4781 from jontewks/master
Add console message to get devtools for firefox
2015-09-03 14:26:37 -07:00
Jon Tewksbury
a4bd998edc Update console messages regarding devtools 2015-09-03 14:16:26 -07:00
Paul O’Shannessy
341f26a662 Add insert_final_newline to editorconfig 2015-09-03 13:43:42 -07:00
Paul O’Shannessy
ea8e06283c Merge pull request #4780 from matchu/patch-1
avoid the phrase "key property"
2015-09-03 12:50:36 -07:00
matchu
6541903bc4 avoid the phrase "key property"
React components can be assigned a special property named `key`. Therefore, it's helpful to avoid the phrase "key property" unless you're talking about the `key` property :)

I'm not sold on the replacement phrase, though... I think it's solid, but two fancy words like "fundamental" and "invariant" next to each other just seem a bit unwelcoming xP then again, we're talking about some heavy technical stuff; if there aren't any lighter words that are equally precise, then these should probably stand.
2015-09-03 12:03:15 -07:00
Ben Alpert
566dba25ef Merge pull request #4773 from spicyj/new-dt-blog
New devtools blog post
2015-09-02 15:15:27 -07:00
Ben Alpert
f5bd8fc0ad New devtools blog post 2015-09-02 12:34:10 -07:00
Ben Alpert
fb7e566b12 Add react-to-react-dom codemod
I ran it over Facebook so it probably works.
2015-09-01 17:44:27 -07:00
Ben Alpert
697c09a26e Merge pull request #4759 from spicyj/devprod
Fix diverging behavior of ReactFragment in `__DEV__`
2015-09-01 17:35:14 -07:00
Ben Alpert
4b9c349fd0 Merge pull request #4702 from spicyj/react-mod-depr
Add deprecation warnings to React module
2015-09-01 14:40:48 -07:00
Ben Alpert
4d29125d39 Merge pull request #4764 from spicyj/pre-commit
Remove leftover env variable logic in pre-commit hook
2015-09-01 14:39:53 -07:00
Ben Alpert
c04d02e5e8 Add warnings to React module 2015-09-01 14:36:41 -07:00
Ben Alpert
c74977c091 Remove leftover env variable logic in pre-commit hook 2015-09-01 14:35:47 -07:00
Ben Alpert
b1e16b9d7e React -> ReactDOM in test files 2015-09-01 14:34:37 -07:00
Ben Alpert
d9d8aae33e Merge pull request #4763 from spicyj/pre-commit
Add linting pre-commit hook
2015-09-01 14:33:49 -07:00
Ben Alpert
31cb102650 Merge pull request #4762 from spicyj/ts
Make TypeScript test work with ReactDOM
2015-09-01 14:30:56 -07:00
Ben Alpert
25fec05ab4 Add linting pre-commit hook
Anyone who wants it will have to do

```
ln -s scripts/git/pre-commit .git/hooks/pre-commit
```

or similar.
2015-09-01 14:29:52 -07:00
Ben Alpert
589c8364b0 Make TypeScript test work with ReactDOM 2015-09-01 14:28:12 -07:00
Ben Alpert
7e5ce19a94 Fix diverging behavior of ReactFragment in __DEV__
We could also remove the return statements but this is not a hot path and this seems safer.
2015-09-01 13:27:17 -07:00
Paul O’Shannessy
9400b34363 Merge pull request #4746 from zpao/use-fbjs-lint
Use eslintrc from fbjs
2015-08-31 23:21:29 -07:00
Paul O’Shannessy
7645c07720 Use eslintrc from fbjs 2015-08-31 23:05:04 -07:00
Ben Alpert
2d63dfd73c Merge pull request #4755 from MichelleTodd/react-warnings-0.14
Update warning messages to use ReactDOM and ReactDOMServer as appropriate
2015-08-31 23:03:10 -07:00
Michelle Todd
719fe15b9e Update warning messages to use ReactDOM and ReactDOMServer as appropriate
Fixes #4710.

- `React.findDOMNode` => `ReactDOM.findDOMNode`
- `React.render` => `ReactDOM.render` or "top-level render" (depends on whether we're in DOM-specific usage or generic cases)
- `React.renderToString` => `ReactDOMServer.renderToString`
- `React.renderToStaticMarkup` => `ReactDOMServer.renderToStaticMarkup`
2015-08-31 22:55:27 -07:00
Paul O’Shannessy
f118e5ebe7 Merge pull request #4750 from zpao/fbjs-0.2
Upgrade to fbjs, fbjs-scripts @ 0.2
2015-08-31 22:47:02 -07:00
Ben Alpert
487cc586f7 Merge pull request #4731 from spicyj/map-one-pass
Make React.Children.map do one pass only
2015-08-31 18:52:51 -07:00
Ben Alpert
6013105a9c Make React.Children.map do one pass only
Changed: createFragment no longer includes nulls in its output (since toArray doesn't and they share code).

Changed: React.Children.map no longer warns for clashing keys; traverseAllChildren will later when rendering.

Also change the generated key format around to accomodate. My keys are probably not bulletproof but should definitely be safe against accidental collisions.
2015-08-31 18:47:09 -07:00
Paul O’Shannessy
52b4c9eabf Upgrade to fbjs, fbjs-scripts @ 0.2 2015-08-31 17:19:42 -07:00
Ben Alpert
dc4f011f57 Merge pull request #4735 from spicyj/shallow-error
Better error for invalid element when shallow rendering
2015-08-31 13:30:56 -07:00
Ben Alpert
0e2bf2fe75 Merge pull request #4744 from spicyj/gh-4635-f
Fix code style/grammar on synthetic event warning
2015-08-31 13:06:46 -07:00
Paul O’Shannessy
dc23faf64d Merge pull request #4739 from henrik/patch-1
docs: "also lets pass" -> "also lets you pass"
2015-08-31 11:44:29 -07:00
Ben Alpert
42602a8922 Fix code style/grammar on synthetic event warning 2015-08-31 11:32:12 -07:00
Jim
0ff65cc892 Merge pull request #4635 from edvinerikson/event-pooling-warning
Added warning when calling methods on a released event.
2015-08-31 10:49:01 -07:00
Henrik Nyh
01151c1dea docs: "also lets pass" -> "also lets you pass" 2015-08-30 10:19:34 +02:00
Ben Alpert
f641f29db0 Merge pull request #4737 from oliviertassinari/patch-1
[adler32] fix wrong name
2015-08-29 11:18:18 -07:00
Olivier Tassinari
0304051591 [adler32] fix wrong name 2015-08-29 19:07:36 +01:00
Yuichi Hagio
d724393f0e Update 02-displaying-data.ja-JP.md
1. Fixed a spelling mistake to be more readable.
2. Removed the English lines that were already translated below.
2015-08-29 14:02:06 -04:00
Ben Alpert
f4d7feb8be Better error for invalid element when shallow rendering
Fixes #4721, fixes #4730.
2015-08-28 18:21:30 -07:00
Ben Alpert
a7230de902 Merge pull request #4727 from spicyj/gh-4233
Make findDOMNode error clearer
2015-08-28 12:52:18 -07:00
Paul O’Shannessy
e53cee9af6 Merge pull request #4734 from zpao/reverse-logic
Reverse condition of a ternary for readability
2015-08-28 11:39:48 -07:00
Paul O’Shannessy
2e5b047f04 Reverse condition of a ternary for readability 2015-08-28 11:34:50 -07:00
Ben Alpert
024f71535c Merge pull request #4720 from spicyj/destructor
Add destructors to pooled classes in ReactChildren
2015-08-27 19:06:11 -07:00
Ben Alpert
16d8f20576 Add destructors to pooled classes in ReactChildren
And make destructors mandatory so we're less likely to forget again.
2015-08-27 19:05:56 -07:00
Paul O’Shannessy
bdc7ce9f01 Merge pull request #4482 from niole/issue4168
Add additional contextual information to invalid-style-prop warning
2015-08-27 18:13:29 -07:00
Niole Nelson
70c07c67b7 resolves issue #4168, style prop error now names React class that erroring element is a child of. 2015-08-27 18:10:51 -07:00
Ben Alpert
8b967052d8 Merge pull request #4732 from spicyj/eslint-undef
Enable no-undef for eslint
2015-08-27 18:07:51 -07:00
Ben Alpert
75873707f9 Enable no-undef for eslint 2015-08-27 18:03:14 -07:00
Andreas Savvides
807c62851c Make definitions more readable & optional params more obvious 2015-08-27 16:32:07 +01:00
Ben Alpert
72d5b8f116 Merge pull request #4700 from spicyj/frag-array
Make createFragment return an array, disallow objects as children
2015-08-26 11:12:06 -07:00
Ben Alpert
127917d454 Merge pull request #4701 from spicyj/gh-4525
Add deprecation notice for React.addons.batchedUpdates
2015-08-25 11:40:33 -07:00
Ben Alpert
d4f38933f2 Merge pull request #4703 from spicyj/rarr
Clarify use of arrow functions
2015-08-25 11:38:13 -07:00
Ben Alpert
66881ae083 Fix formatting in test utils docs 2015-08-25 09:47:38 -07:00
Edvin Erikson
34af8f8597 Added warning when calling methods on a released event. 2015-08-25 14:45:56 +02:00
Ben Alpert
d15938cd92 Clarify use of arrow functions
Per 1db20999f0 (commitcomment-12865588).
2015-08-24 17:21:10 -07:00
Ben Alpert
e64b402df9 Add deprecation notice for React.addons.batchedUpdates
Fixes #4525.
2015-08-24 16:20:56 -07:00
Ben Alpert
6a2cdd58a4 Make findDOMNode error clearer
Fixes #4233.
2015-08-24 16:15:44 -07:00
Ben Alpert
6abf025d46 Make createFragment return an array, disallow objects as children 2015-08-24 16:09:08 -07:00
Paul O’Shannessy
10c8166043 Merge pull request #4682 from lyip1992/patch-2
Update Gruntfile.js
2015-08-22 16:11:04 -07:00
Paul O’Shannessy
27e5a563db Merge pull request #4684 from lyip1992/patch-3
Update 10.1-animation.md
2015-08-22 16:10:05 -07:00
Paul O’Shannessy
d5e5261e38 Merge pull request #4686 from lyip1992/patch-5
Update 06-transferring-props.md
2015-08-22 16:09:02 -07:00
Paul O’Shannessy
7dbcff2df4 Merge pull request #4687 from lyip1992/patch-6
Update 04-multiple-components.md
2015-08-22 16:08:27 -07:00
Paul O’Shannessy
cca1065183 Merge pull request #4688 from lyip1992/patch-7
Update 02.3-jsx-gotchas.md
2015-08-22 16:08:02 -07:00
Paul O’Shannessy
adfbc64d4b Merge pull request #4685 from lyip1992/patch-4
Update 08.1-more-about-refs.md
2015-08-22 16:07:20 -07:00
Leon Yip
71454365f2 Update 02.3-jsx-gotchas.md
Fix typo.
2015-08-22 00:57:51 -07:00
Leon Yip
2f4ea60571 Update 04-multiple-components.md
Added an extra word to make the sentence read a little easier.
2015-08-22 00:56:23 -07:00
Leon Yip
f8fe717ea2 Update 06-transferring-props.md
"This ensures that" sounds a better than "That ensures that." This change is just my personal opinion, so I totally understand my change doesn't get merged.
2015-08-22 00:51:38 -07:00
Leon Yip
3849710d8b Update 08.1-more-about-refs.md
Change render to `render()` for consistency within the paragraph.
2015-08-22 00:46:18 -07:00
Leon Yip
c0e21d1b85 Update 10.1-animation.md
Changed "if" to "even when" for clarity.
2015-08-22 00:42:25 -07:00
Leon Yip
e99e8b66b2 Update Gruntfile.js
Added punctuation to make the comment consistent with other comments.
2015-08-21 18:06:55 -07:00
Paul O’Shannessy
6508b1ad27 Merge pull request #4678 from ning-github/patch-1
Remove redundancy regarding 'latest React news'
2015-08-21 17:48:57 -07:00
Ning Xia
b629289cea Fix repetition by editing second sentence
edited based on paul's input
2015-08-21 16:33:20 -07:00
Jim
b36ee449cb Merge pull request #4679 from ning-github/patch-2
Fix typo
2015-08-21 13:28:33 -07:00
Ning Xia
3232a59743 Fix typo
Can not should be a single word: 'cannot'
2015-08-21 13:26:58 -07:00
Ning Xia
5ba1831d76 Remove redundancy regarding 'latest React news'
Previously, it repeated 'latest React news' when the first sentence already begins with the same words.
2015-08-21 13:00:24 -07:00
Ben Alpert
80b7391d64 Merge pull request #2081 from rexxars/search-input-attributes
Allow `results` and `autosave` attributes (WebKit/Blink)
2015-08-21 09:27:06 -07:00
Espen Hovlandsdal
75805e4835 Allow results and autosave attributes (WebKit/Blink) 2015-08-21 10:10:32 +02:00
Paul O’Shannessy
b38509cade Merge pull request #4540 from scottburch/ie8-fix
removed dangling comma that messes up loading in IE8
2015-08-20 14:37:20 -07:00
Paul O’Shannessy
0f963bb478 Merge pull request #4654 from zpao/checkversionsoninstall
Check for compatible node,npm versions on install
2015-08-20 14:36:09 -07:00
Ben Alpert
61962c1751 Capitalize Babel 2015-08-20 13:34:04 -07:00
Ben Alpert
cd268fdfcd Merge pull request #4546 from rgbkrk/patch-1
Update tooling docs to suggest babel
2015-08-20 13:16:11 -07:00
Kyle Kelley
009902bcd0 Update tooling docs to suggest babel
`react-tools` is deprecated, `babel` is our future

* https://facebook.github.io/react/blog/2015/06/12/deprecating-jstransform-and-react-tools.html
* https://babeljs.io/docs/usage/jsx/
2015-08-20 14:24:20 -05:00
Ben Alpert
5fa72c2659 Merge pull request #4666 from spicyj/prod
Add a simple production-mode sanity check test
2015-08-20 11:03:09 -07:00
Ben Alpert
102fafce7f Add a simple production-mode sanity check test 2015-08-19 22:26:42 -07:00
Ben Alpert
ea827eb39d Merge pull request #4561 from djrodgerspryor/css_transition_group_robust_cleanup
Robust animation-end handling in ReactCSSTransitionGroup
2015-08-19 19:15:51 -07:00
Daniel Rodgers-Pryor
6bd6ef208b ReactCSSTransitionGroup timeouts
As discussed in issue 1326
(https://github.com/facebook/react/issues/1326) transitionend events are
unreliable; they may not fire because the element is no longer painted,
the browser tab is no longer focused or for a range of other reasons.
This is particularly harmful during leave transitions since the leaving
element will be permanently stuck in the DOM (and possibly visible).

The ReactCSSTransitionGroup now requires timeouts to be passed in
explicitly for each type of animation. Omitting the timeout duration
for a transition now triggers a PropTypes warning with a link to the
updated documentation.
2015-08-20 11:38:27 +10:00
Ben Alpert
b88592a354 Merge pull request #4665 from spicyj/gh-2407
Ensure IE8 style expansion list is up to date
2015-08-19 17:38:32 -07:00
Ben Alpert
b126926390 Ensure IE8 style expansion list is up to date
In conjunction with #1953, fixes #2407. This seems to be all of the shorthand style properties that IE8 supports, excluding a few nonstandard ones.
2015-08-19 17:22:37 -07:00
Andreas Svensson
f4f22a0baa Apply CSS shorthand expansion to IE8 only
Closes #1953.
2015-08-19 17:17:51 -07:00
Ben Alpert
3de7a281de Merge pull request #4664 from spicyj/ref-docs
Spruce up refs docs
2015-08-19 16:34:44 -07:00
Ben Alpert
1db20999f0 Spruce up refs docs
Fixes #4651.
2015-08-19 16:14:35 -07:00
Ben Alpert
2f96d70087 Merge pull request #4660 from TylerBrock/patch-2
Clarify invocation order of componentDidMount
2015-08-19 11:13:24 -07:00
Paul O’Shannessy
17d5440751 Merge pull request #4567 from koba04/fix-set-boolean-properties
Fixed consistency of behavior boolean properties
2015-08-19 10:20:49 -07:00
Tyler Brock
1e10bb5923 Clarify invocation order of componentDidMount
OP is delivering on promise made here: https://discuss.reactjs.org/t/how-do-you-invoke-the-render-callback-in-jsx/1744
2015-08-19 10:04:34 -07:00
Paul O’Shannessy
50adfeb421 Merge pull request #4657 from zpao/abcorderevents
Re-sort some constants
2015-08-19 09:26:02 -07:00
Paul O’Shannessy
ec9b866bc0 Check for compatible node,npm versions on install
This is only for building React and doesnn't apply to production installs.
2015-08-18 23:45:12 -07:00
Paul O’Shannessy
eb056fcf5d Re-sort some constants 2015-08-18 22:33:51 -07:00
Ben Alpert
9c98a5998a Merge pull request #4656 from spicyj/jest-fast
hax to make jest fast
2015-08-18 21:45:42 -07:00
Ben Alpert
a8b6c8292b hax to make jest fast
Turns out jest is _incredibly_ slow at resolving require paths like `require('fbjs/lib/foo')`. Like several milliseconds per require. Really adds up when all our files require `invariant` and `warning`. Here's a temporary hack to make things fast again.

Test Plan:
```
npm test src/renderers/shared/reconciler/__tests__/ReactCompositeComponent-test.js
```

has a self-proclaimed runtime of ~8 seconds now instead of ~35 seconds.
2015-08-18 21:40:58 -07:00
Jim
2a82689e6e Merge pull request #4655 from levibuzolic/patch-1
Update Advanced Performance code examples so they would output values
2015-08-18 20:57:34 -07:00
Levi Buzolic
009f766d6e Update Advanced Performance code examples so they would output values
Noticed the code examples in *Advanced Performance* wouldn't be rendering the example props, this could lead to some minor confusion for new users.
2015-08-19 13:50:43 +10:00
Sebastian Markbåge
4a92860b00 Merge pull request #4089 from sebmarkbage/killowner
Don't use owner to determine if the auto-bailout should be used
2015-08-18 18:09:01 -07:00
Ben Alpert
81b4f7295d Merge pull request #4611 from spicyj/create-element
Use createElement instead of HTML generation
2015-08-18 18:04:54 -07:00
Ben Alpert
cfd6f7a1b8 Use createElement instead of HTML generation
Behind a feature flag. This is a relatively simple change; adopting this strategy universally would mean that we could clean up a lot of code but this doesn't attempt to restructure more than necessary.
2015-08-18 17:44:20 -07:00
Sebastian Markbage
9315517dec Don't use owner to determine if the auto-bailout should be used
I didn't realize that we actually special cased this. This is an
unfortunate heuristic but it helps minimize the harm that this optimization
does.
2015-08-18 17:33:13 -07:00
Ben Alpert
5375b503e9 Merge pull request #4652 from spicyj/no-isre
Remove _isReactElement
2015-08-18 16:41:45 -07:00
Ben Alpert
6663fb3135 Remove _isReactElement
As of this commit, we still support objects as maps so if anyone has an object with keys 'type' and 'props' this will change behavior, but otherwise this should be pretty safe.
2015-08-18 12:55:34 -07:00
Paul O’Shannessy
b4ee5b5bf1 Merge pull request #4451 from dmatteo/TestUtils.Simulate-docs
improve ReactTestUtils.Simulate documentation
2015-08-17 14:51:05 -07:00
Jim
d984b687ec Merge pull request #4634 from edvinerikson/event-pooling
Added documentation about pooled events
2015-08-17 14:33:33 -07:00
Jim
87530049f8 Merge pull request #4481 from dmatteo/Simulate.change-tests
add tests for React.addons.TestUtils.Simulate.change
2015-08-17 11:23:12 -07:00
Paul O’Shannessy
cac9c88978 Merge pull request #4641 from mik01aj/master
Updated the Performance tools doc page.
2015-08-17 11:01:10 -07:00
Paul O’Shannessy
b5a9cfc8b0 Merge pull request #4643 from yasaricli/master
Examples jquery-mobile thirdparty files move
2015-08-17 09:48:07 -07:00
Yasar icli
0c0119b70d examples jquery-mobile thirdparty files move 2015-08-17 13:43:33 +03:00
Mikolaj Dadela
75fafe1c0b Updated the Performance tools doc page.
Now it’s possible to read the page from top to the bottom without
asking oneself “Ok, but how do I get these measurements?”
2015-08-17 11:18:04 +02:00
Edvin Erikson
6793a7197e Updated event pooling note in docs 2015-08-15 21:47:59 +02:00
Edvin Erikson
1e3c3e1b6b Added documentation about pooled events 2015-08-15 17:03:21 +02:00
Paul O’Shannessy
56527cda64 Merge pull request #4631 from Simek/tiny-code-tweak-reactMultiChild
tiny code tweak in ReactMultiChild
2015-08-14 16:44:49 -07:00
Paul O’Shannessy
9257fbbadc Merge pull request #4632 from Simek/react-codemod-lint-fix
react-codemod lint fix
2015-08-14 16:43:44 -07:00
Bartosz Kaszubowski
f53b960741 react-codemod-lint-fix 2015-08-15 01:36:44 +02:00
Bartosz Kaszubowski
1ca77c6ae6 tiny code tweak in ReactMultiChild 2015-08-15 01:25:09 +02:00
Paul O’Shannessy
b4b028dec0 Merge pull request #4622 from jorrit/instanceofreporttype
Report the actual type when PropTypes.instanceOf fails
2015-08-14 11:05:57 -07:00
cpojer
989caa870d Support export default in the class codemod. 2015-08-14 10:27:31 -07:00
Merrick Christensen
5395c815de fix(es6-import-export): initial commit actually applying 2015-08-14 10:27:31 -07:00
Jorrit Schippers
cf6222dd71 Report the actual type when PropTypes.instanceOf fails 2015-08-14 17:46:24 +02:00
Jim
534e277c10 Merge pull request #4627 from tako-black/translate_top-level-api_to_japanese
Translate ref-01-top-level-api.md to Japanese
2015-08-14 05:14:53 -07:00
Kohei TAKATA
ae38ea9275 Translate ref-01-top-level-api.md to Japanese 2015-08-14 19:16:59 +09:00
Paul O’Shannessy
6708059b51 Merge pull request #4607 from hekar/add/html-table-summary-attr
Added support for more HTML attributes: `summary`
2015-08-13 21:28:50 -07:00
Hekar Khani
be1fc794f0 Added support for more HTML attributes: summary
This attribute is used on <table> to support screen readers.
It is deprecated, so take a look at <caption> instead.
2015-08-13 22:41:37 -05:00
Matthew Johnston
0b07fed32c ReactEurope roundup blog post 2015-08-13 17:14:17 -07:00
Ben Alpert
4d614cfc87 Merge pull request #4624 from Torwori/null-check-fix
Swap places of mounted and pending update checks
2015-08-13 14:48:56 -07:00
Paul O’Shannessy
6c84a57a2d Merge pull request #4610 from lili21/fix-component-api-doc
update component api docs
2015-08-13 13:08:28 -07:00
Paul O’Shannessy
6a9c789076 Merge pull request #4626 from yoshuki/fix-markdown-conversion
Fix Markdown conversion with marked
2015-08-13 13:02:32 -07:00
MIKAMI Yoshiyuki
47ce8ecacb Fix Markdown conversion with marked 2015-08-14 01:07:19 +09:00
Igor Scekic
0e834fabca swap places of mounted and pending update checks
prevents a type error if the component isn't mounted
2015-08-13 16:34:47 +02:00
Jim
d8998354ee Merge pull request #4623 from tako-black/translate_introduction_to_japanese
Translate 01-introduction.md to Japanese
2015-08-13 07:25:36 -07:00
Kohei TAKATA
edca54fb93 Translate 01-introduction.md to Japanese 2015-08-13 21:27:00 +09:00
li.li
f027ca8ca0 update component api docs 2015-08-13 15:34:21 +08:00
Paul O’Shannessy
530a30c1d5 Fix grammar in Relay blog post
Brings in #4617 properly
2015-08-12 12:09:24 -07:00
Paul O’Shannessy
1b7d6c381f Merge pull request #4619 from jaredly/beta-2
update devtools post to note beta 2
2015-08-12 11:53:25 -07:00
Jared Forsyth
3ed9581adb update devtools post to note beta 2 2015-08-12 11:29:41 -07:00
Jim
d7b59de1c3 Merge pull request #4613 from tako-black/translate_advanced-performance_to_japanese
Translate 11-advanced-performance.md to Japanese
2015-08-12 07:39:03 -07:00
Kohei TAKATA
239eb0fc23 Translate 11-advanced-performance.md to Japanese 2015-08-12 19:40:30 +09:00
Sebastian Markbåge
d3f338ff27 Fix typecheck 2015-08-12 00:32:52 -07:00
Ben Alpert
cb2f4de4ca Merge pull request #4609 from spicyj/warn-r2
Remove accidental .only
2015-08-11 18:20:05 -07:00
Ben Alpert
a54d321765 Remove accidental .only 2015-08-11 18:19:42 -07:00
Ben Alpert
dc5a5adfaf Merge pull request #4477 from mridgway/autobind-opt-out
Allow classes created with React.createClass to opt out of autobinding
2015-08-11 18:03:41 -07:00
Ben Alpert
655b82fb7b Merge pull request #3332 from spicyj/warn-r2
Warn with two copies of React
2015-08-11 17:17:53 -07:00
Ben Alpert
d002abf0e7 Warn with two copies of React 2015-08-11 17:15:02 -07:00
Jim
079a6b0092 Merge pull request #4470 from jimfb/ref-error-means-multiple-react
Added note about multiple Reacts, since this error commonly implies that.
2015-08-11 16:24:01 -07:00
Ben Alpert
6160216b22 Merge pull request #3650 from spicyj/toarray
Add React.Children.toArray
2015-08-11 16:13:51 -07:00
Ben Alpert
53d8bbddc7 Add React.Children.toArray 2015-08-11 16:13:40 -07:00
Jim
e984d2b7d2 Added note about multiple Reacts, since this error commonly implies that. 2015-08-11 12:59:55 -07:00
Joseph Savona
aa55a71c62 Relay Technical Preview - blog post
(cherry picked from commit cac6bc870d)
2015-08-11 12:46:37 -07:00
Sebastian Markbåge
2457823227 Merge pull request #4182 from sebmarkbage/fixguards
Move guards from auto binding to event dispatch
2015-08-11 12:05:08 -07:00
Sebastian Markbage
216026418c Simplify event dispatching
This simplifies event dispatching by removing the `return false` special
case for the SimpleEventPlugin which allow us to inline much more here
and the code becomes easier to follow.
2015-08-11 11:55:07 -07:00
Sebastian Markbage
16cc45156f Move guards from auto binding to event dispatch
This wraps a proper guard around event dispatching so that errors doesn't
interupt other event callbacks.

Instead we rethrow the first error after all callbacks have been invoked.

For DEV mode we use native event dispatching if available. This has the
benefit that caught exceptions show up in the dev tools even without caught
exceptions being turned on. Yet, all callbacks are guaranteed to fire.
2015-08-11 11:55:07 -07:00
Jim
1b67acc168 Merge pull request #4344 from jimfb/update-children-because-context
Don't skip reconcilation if context differs
2015-08-11 10:44:14 -07:00
Jim
bcd32768e6 Merge pull request #4602 from tako-black/update_tutorial_ja-JP
Change tutorial.ja-JP.md to use marked
2015-08-11 09:26:53 -07:00
Kohei TAKATA
1ceded865b Change tutorial.ja-JP.md to use marked 2015-08-11 22:54:36 +09:00
Paul O’Shannessy
7deab28347 Merge pull request #4598 from zpao/eslint-1.1
Upgrade ESLint, fix code
2015-08-10 21:11:23 -07:00
Ben Alpert
d1a2193127 Merge pull request #4587 from spicyj/stateless-fn
Minimal implementation of stateless components
2015-08-10 17:49:31 -07:00
Paul O’Shannessy
ecb34de574 Upgrade ESLint, fix code 2015-08-10 17:04:29 -07:00
Sebastian Markbåge
37ee03f29c Merge pull request #4596 from jaredly/add-source-self
adding __self and __source special props
2015-08-10 16:22:12 -07:00
Ben Alpert
cd15dc60b8 Merge pull request #4597 from spicyj/coco
Apply codemod for React -> ReactDOM split
2015-08-10 15:33:49 -07:00
Ben Alpert
9adcff442a Apply codemod for React -> ReactDOM split
Ran the codemod automatically then ran

```
codemod.py -m -d src '(var React\b[^\n]*;)\n\n(var ReactDOM)' '\1\n\2'
```

to clean up spacing of requires.
2015-08-10 15:24:30 -07:00
Ben Alpert
b98b6ea2ac Clean up files before automated codemod 2015-08-10 15:23:12 -07:00
Jared Forsyth
009b7c8ae1 adding __self and __source special props 2015-08-10 13:52:17 -07:00
Paul O’Shannessy
1e90de692e Merge pull request #4584 from jessebeach/jessebeach-reactComponentExpect-silent-fail
reactComponentExpect fails silently
2015-08-10 13:15:14 -07:00
Toru Kobayashi
eb4e44a3c9 Fixed consistency of behavior boolean properties 2015-08-09 17:00:37 +09:00
Sebastian Markbåge
2f079359e8 Merge pull request #4588 from sebmarkbage/ownersforcontext
Add property key names + type of value to fragment warning
2015-08-08 15:11:22 -07:00
Sebastian Markbage
754ee176d0 Add property key names + type of value to fragment warning
This provides useful context in the logs to help us filter out things like
{__html:...}.
2015-08-07 20:01:03 -07:00
Ben Alpert
f3440c0d6f Merge pull request #4581 from Youmoo/patch-1
Update 2015-05-01-graphql-introduction.md
2015-08-07 19:32:22 -07:00
Ben Alpert
5a7bd964b4 Minimal implementation of stateless components
Stateless pure-function components give us more opportunity to make performance optimizations. For now, we'll do a minimal implementation which has similar performance characteristics to other components in the interests of shipping 0.14 and allowing people to begin writing code using this pattern; in the future we can refactor to allocate less and avoid other unnecessary work.
2015-08-07 19:27:42 -07:00
Ben Alpert
3ec9f86573 Deduplicate logic in ReactElementValidator
Shouldn't be much change. Notably, this calls `.getName()` instead of trying to derive it manually, which is more consistent.
2015-08-07 18:53:42 -07:00
Ben Alpert
b927110fb2 Merge pull request #4585 from spicyj/disable-path
Disable event.path handling
2015-08-07 13:41:11 -07:00
Ben Alpert
016a1907e1 Disable event.path handling
Looks like #4558 isn't ready yet and we'd like an interim fix.
2015-08-07 13:33:42 -07:00
J. Renée Beach
39c3fb2b09 reactComponentExpect fails silently
```reactComponentExpect``` fails silently when passed an undefined  value. It calls ```ReactTestUtils.isCompositeComponent``` with the undefined value, in which a ```render``` property is accessed, throwing a prop on undefined not found error which isn't surfaced to jest.

```
TypeError: Cannot read property 'render' of undefined
        at Object.ReactTestUtils.isCompositeComponent (./react/test/ReactTestUtils.js:127:23)
        at new reactComponentExpect (./react/test/reactComponentExpect.js:46:20)
        at reactComponentExpect (./react/test/reactComponentExpect.js:40:12)
```

Expecting the passed-in instance to not be undefined surfaces this issue in the test runner.
2015-08-07 11:21:45 -07:00
Sebastian Markbåge
7f119d41c7 Merge pull request #4554 from chernysh/chernysh-added-docs-img-events
Added documentation for <img> events
2015-08-07 11:07:24 -07:00
youmoo
0a19e0c0e5 Update 2015-05-01-graphql-introduction.md
Or the alternative:

`REST is an acronym for Representational State Transfer, which is an architectural style rather than a formal protocol`.

Sorry , I'am not a native speaker:)
2015-08-07 14:11:03 +08:00
Ben Alpert
6871ec2e29 Merge pull request #4580 from spicyj/gh-4578
Fix missing change event target in old IE
2015-08-06 15:24:02 -07:00
Ben Alpert
264bc2e7f2 Fix missing change event target in old IE
Events have `.srcElement` in old IE, not `.target`.

Fixes #4578.
2015-08-06 15:08:59 -07:00
Sebastian Markbåge
375734731d Merge pull request #4579 from sebmarkbage/ownersforcontext
Only set the owner during flattening
2015-08-06 13:04:56 -07:00
Sebastian Markbage
9fc2f8de26 Only set the owner during flattening
This used to do the update as well, which could have side-effects that
rely on owner being null.
2015-08-06 12:57:17 -07:00
Jim
13acbd2424 Merge pull request #4577 from marjan-georgiev/add-stopOpacity-to-unitless-props
Add stop-opacity to unitless style properties
2015-08-06 10:19:27 -07:00
Marjan
2b4d98fa52 Revert change to docs/js/reactj.js 2015-08-06 19:16:29 +02:00
Marjan
0d8c3f9cba Add stop-opacity to unitless style properties 2015-08-06 16:46:13 +02:00
Sebastian Markbåge
7ffff573ae Merge pull request #4569 from sebmarkbage/ownersforcontext
Set the owner during traverseAllChildren
2015-08-05 22:46:08 -07:00
Sebastian Markbage
cd1ab32d2f Set the owner during traverseAllChildren
This is basically just adding some context to the warning in ReactFragment
so that we can more easily find the callers.
2015-08-05 21:04:52 -07:00
Ben Alpert
f7b9545c15 Merge pull request #4559 from salier/ie-selection
Use onSelect fallback in IE
2015-08-05 20:35:24 -07:00
Ben Alpert
bdfa948121 Fix lint 2015-08-05 20:34:48 -07:00
Paul O’Shannessy
e64fc51984 Merge pull request #4565 from koba04/remove-fasttest
Remove fasttest task. fasttest is not fast
2015-08-05 14:40:41 -07:00
Toru Kobayashi
656c2ef173 Remove fasttest task. fasttest is not fast 2015-08-05 19:00:23 +09:00
Isaac Salier-Hellendag
2ff7512975 Use onSelect fallback in IE
In response to https://github.com/facebook/react/issues/2722. Use the Firefox selection change fallback for IE.
2015-08-04 17:36:34 -07:00
Vadim Chernysh
56e9d4aa4d Added events documentation for <img> elements 2015-08-04 15:27:56 +03:00
Jim
c97ed7b804 Merge pull request #4552 from psibi/patch-1
Include Haskell language
2015-08-04 03:35:34 -07:00
Sibi
1c1cfe95ee Include Haskell language 2015-08-04 14:06:08 +05:30
Ben Alpert
b4f40ba95f Merge pull request #4473 from facebook/devtools-blog-post
[docs] Add blog post about the new devtools beta
2015-08-03 15:13:33 -07:00
Jared Forsyth
1343cc0c9b Add blog post about the new devtools beta 2015-08-03 14:55:05 -07:00
Paul O’Shannessy
3f6bca7b16 0.14.0-beta3 2015-08-03 14:24:24 -07:00
Paul O’Shannessy
da8fc4e91b Merge pull request #4545 from salzhrani/patch-2
Update addons.js
2015-08-02 21:05:45 -07:00
Jim
ff7996b58a Merge pull request #4381 from mikrofusion/clarify-main-ideas
clarify the two main ideas behind react.
2015-08-02 20:04:37 -07:00
Mike Groseclose
38818189a5 remove two ideas from why react to add clarity 2015-08-02 19:34:20 -07:00
Samy Al Zahrani
5f01a90954 Update addons.js 2015-08-02 16:12:34 +03:00
Jim
134e0700cd Merge pull request #4541 from marocchino/update-korean
Update Korean translation to e88c7bf
2015-08-01 10:43:11 -07:00
Scott Burch
1da2b29897 added suggested comment to get file to pass es-lint 2015-08-01 01:43:24 -07:00
Shim Won
28261783ed Update Korean translation to e88c7bf 2015-08-01 12:35:09 +09:00
Paul O’Shannessy
e88c7bf495 Merge pull request #4539 from zpao/fix-encrypted-media-event
Listen to encrypted event, not onencrypted
2015-07-31 17:49:33 -07:00
Paul O’Shannessy
b321925cfa Listen to encrypted event, not onencrypted 2015-07-31 17:08:57 -07:00
Scott Burch
0f1ecc3ae3 removed dangling comma that messes up loading in IE8 2015-07-31 16:36:04 -07:00
Christoph Pojer
2d239006c5 Merge pull request #4528 from cpojer/codemod-updates
Simplify react-codemod.
2015-07-31 10:33:12 -07:00
cpojer
2ae9921945 Simplify react-codemod. 2015-07-31 10:32:53 -07:00
Jim
50d73f9a13 Merge pull request #4537 from afhole/patch-1
Update 02.1-jsx-in-depth.md
2015-07-31 10:13:58 -07:00
Alastair Hole
72a1fd6ce5 Update 02.1-jsx-in-depth.md
'setup' is a noun, not a verb
2015-07-31 17:40:48 +01:00
Paul O’Shannessy
681bbb629f 0.14.0-beta2 2015-07-30 21:29:09 -07:00
Paul O’Shannessy
e9c53364e5 Update fbjs dependency 2015-07-30 21:28:11 -07:00
Paul O’Shannessy
617ba9c21a Merge pull request #4501 from zpao/build-more-addons
Build perf and test-utils addon npm packages
2015-07-30 13:29:50 -07:00
Paul O’Shannessy
3d197e2a88 Merge pull request #4010 from zpao/really-deprecate-react-tools
Remove react-tools
2015-07-30 10:29:20 -07:00
Paul O’Shannessy
94bc29b400 Remove react-tools completely 2015-07-30 10:15:36 -07:00
Paul O’Shannessy
d982d5e153 Move react-tools from root.
ReactTools is deprecated, it doesn't belong at the root of the project. We'll remove it after 0.14 but for now this moves it so that it's contained and not intermixed with the rest of the project. The currect behavior of copying src/ into the package is maintained.
2015-07-30 10:15:36 -07:00
Jim
cc98f83b53 Merge pull request #4370 from blainekasten/video-events
Add Video/Audio Media Events
2015-07-29 21:57:25 -07:00
blainekasten
bdf377ff02 Add MediaEvent Handlers for Video/Audio components 2015-07-29 23:25:01 -05:00
Jim
f46c631091 Merge pull request #4513 from jimfb/fix-global-events
Fixed global events (like enter/leave events) when event has path.
2015-07-29 16:59:31 -07:00
Paul O’Shannessy
7989b34dd4 Merge pull request #4512 from zpao/codeofconduct
Explicitly call out code of conduct in CONTRIBUTING
2015-07-29 13:17:10 -07:00
Jim
b3d5b7f8db Fixed global events (like enter/leave events) when event has path. 2015-07-29 11:42:04 -07:00
Paul O’Shannessy
48e47fd25b Merge pull request #4493 from dmatteo/scryRenderedDOMComponents.bug
ensure tags are upperCase before comparing. #4388
2015-07-28 18:41:00 -07:00
Paul O’Shannessy
e8d79c3548 Fix a couple lint issues as a followup for #3761 2015-07-28 17:49:53 -07:00
Paul O’Shannessy
edf4d24c49 Merge pull request #3761 from alexpien/CustomClassesForReactCSSTransitionGroup
Custom class names in ReactCSSTransitionGroup
2015-07-28 16:59:51 -07:00
Paul O’Shannessy
6eb5a15049 Merge pull request #3742 from mminer/order-css-vendor-prefixes
Treat boxOrdinalGroup and flexOrder as unitless
2015-07-28 16:44:14 -07:00
Paul O’Shannessy
b766c62bb9 Merge pull request #2664 from jasonwebster/patch-1
Add additional supported methods to event documentation
2015-07-28 16:09:23 -07:00
Paul O’Shannessy
d80b1b89ae Explicitly call out code of conduct in CONTRIBUTING 2015-07-28 13:49:00 -07:00
Paul O’Shannessy
8a81d0cea2 Note that npm >= 2.0.0 is required for building 2015-07-28 11:59:06 -07:00
Jim
98d4fde55c Merge pull request #4506 from tako-black/translate_perf_to_japanese
Translate 10.9-perf.md to Japanese
2015-07-28 08:51:51 -07:00
Kohei TAKATA
2392217f32 Translate 10.9-perf.md to Japanese 2015-07-28 17:54:10 +09:00
Paul O’Shannessy
a7da0f22c4 Merge pull request #4503 from jimfb/remove-npm-run-jest
Removed `npm run jest` script.  Users can use `npm test` instead.
2015-07-27 16:05:38 -07:00
Jim
6296d1cad2 Removed npm run jest script. Users can use npm test instead. 2015-07-27 16:03:59 -07:00
Jim
9b30176122 Merge pull request #4422 from jimfb/reconciler-cleanup
Cleaned up a few names in the reconciler.
2015-07-27 15:59:44 -07:00
Jim
a4459558c1 Cleaned up a few names in the reconciler. 2015-07-27 15:07:44 -07:00
Paul O’Shannessy
ff71d7a939 Build perf and test-utils addon npm packages 2015-07-27 15:04:38 -07:00
Paul O’Shannessy
9d4a805eb7 Merge pull request #4499 from zpao/update-fbjs
Update fbjs dependency
2015-07-27 14:26:07 -07:00
Paul O’Shannessy
be5c09c24d Update fbjs dependency
- remove a file that got moved over there
- update for renamed babel transform
2015-07-27 13:37:48 -07:00
Jim
fab001aa80 Merge pull request #4469 from KevinTCoughlin/kevintcoughlin/#4265
Fixes #4265 - Clarify React.render note in documentation
2015-07-27 11:06:58 -07:00
Jim
be39979460 Merge pull request #4495 from tako-black/translate_pure-render-mixin_to_japanese
Translate 10.8-pure-render-mixin.md to Japanese
2015-07-26 19:25:09 -07:00
Kohei TAKATA
21d1e0004e Translate 10.8-pure-render-mixin.md to Japanese 2015-07-27 11:22:45 +09:00
Kevin Coughlin
ee11412933 remove footnote reference asterisk, no longer needed 2015-07-26 21:35:12 -04:00
Domenico Matteo
cc02c22cb4 ensure tags are upperCase before comparing. #4388 2015-07-27 00:32:59 +02:00
Paul O’Shannessy
3056066ede Merge pull request #4486 from yangmillstheory/docfix
Fix grammar
2015-07-25 10:10:18 -07:00
Victor Alvarez
912d71c9ce Fix grammar 2015-07-25 10:08:23 -07:00
Jim
44997df9eb Merge pull request #4483 from marocchino/update-korean
Update Korean translation to 991c437
2015-07-24 21:15:22 -07:00
Shim Won
b2caf1e4e3 Update Korean translation to 991c437 2015-07-25 11:06:00 +09:00
Paul O’Shannessy
7b37f8ac36 Fix gulp 2015-07-24 14:41:34 -07:00
Domenico Matteo
94d536f2ef add tests for React.addons.TestUtils.Simulate.change 2015-07-24 22:26:33 +02:00
Paul O’Shannessy
991c437b93 Merge pull request #4167 from zpao/vendor2fbjs
Move vendor to fbjs package
2015-07-24 10:51:07 -07:00
Jim
f23fe004bb Merge pull request #4478 from tako-black/translate_update_to_japanese
Translate 10.7-update.md to Japanese
2015-07-24 05:15:23 -06:00
Kohei TAKATA
b13b9975b8 Translate 10.7-update.md to Japanese 2015-07-24 17:52:48 +09:00
Michael Ridgway
b1fc5f949d Allow classes created with React.createClass to opt out of autobinding 2015-07-23 18:07:00 -07:00
Paul O’Shannessy
6fc53e0438 Enable (and apply) global transforms with browserify
This ensures that we can consume code from npm that has our process.env pattern. Unfortunately we'll run the same transform on minified builds but it's pretty quick.
2015-07-23 17:52:58 -07:00
Paul O’Shannessy
83c88578e9 Replace grunt-jest with our own runner
This gives us more control
2015-07-23 17:52:58 -07:00
Paul O’Shannessy
1d0c1b1817 Use fbjs package from npm, gulp
This reworks a few things in building and distributing React. The biggest change is using fbjs to share dependencies with other libraries. We're also using Gulp for some build steps.
2015-07-23 15:48:02 -07:00
Paul O’Shannessy
ac5e5d789f Merge pull request #4367 from Simek/traverse-children-cleanup
traverseAllChildren code clarity
2015-07-23 14:48:23 -07:00
Paul O’Shannessy
bcfba9178f Merge pull request #4386 from AnSavvides/4369-walkthrough-clarification
[#4369] Make getting started a little less confusing
2015-07-23 13:45:33 -07:00
Paul O’Shannessy
ee410d68d6 Merge pull request #4395 from wibud/v0.0.1
add animationIterationCount in isUnitlessNumber
2015-07-23 13:44:08 -07:00
Paul O’Shannessy
e0b8597dbb Merge pull request #4474 from zpao/ts14
Lock typescript dep at 1.4
2015-07-23 13:33:14 -07:00
Paul O’Shannessy
458714ab2f Lock typescript dep at 1.4 2015-07-23 12:49:21 -07:00
Ben Alpert
d16481d0e7 Merge pull request #4453 from spicyj/react-dom
Rename ReactDOMClient to ReactDOM
2015-07-23 11:27:25 -07:00
Sebastian Markbåge
d1169b54dd Merge pull request #4466 from jimfb/path-events-in-detached-nodes
Use old event propagation if path is not reasonable (eg. detached DOM).  Fixes #4452
2015-07-23 11:05:33 -07:00
Jim
318c288bd3 Merge pull request #4472 from tako-black/translate_create-fragment_to_japanese
Translate 10.6-create-fragment.md to Japanese
2015-07-23 01:35:36 -07:00
Kohei TAKATA
2b35ba6f40 Translate 10.6-create-fragment.md to Japanese 2015-07-23 17:06:21 +09:00
Jim
42caf036e2 Merge pull request #4471 from Yeti-or/yeti-or.fix-docs
Docs: Fix jsx iife example
2015-07-22 21:04:59 -07:00
Vasiliy Loginevskiy
3ce58df87d Docs: Fix jsx iife example 2015-07-23 06:08:11 +03:00
Kevin Coughlin
60a081e66b remove markdown remnant & unnecessary whitespace 2015-07-22 22:26:03 -04:00
Paul O’Shannessy
e055a1a28a Merge pull request #4456 from zpao/babel58
Upgrade babel, babel-eslint; remove babel-core dep
2015-07-22 15:11:50 -07:00
Jim
054fa0e16b Use old event propagation if path is not reasonable (eg. detached DOM). Fixes #4452 2015-07-22 12:43:59 -07:00
Jim
b71ad1f600 Merge pull request #4460 from tako-black/enclose_variables_in_back_quote
Enclose variables in back quote
2015-07-22 09:00:58 -07:00
Jim
3dcc4b8b90 Merge pull request #4459 from tako-black/translate_clone-with-props_to_japanese
Translate 10.5-clone-with-props.md to Japanese
2015-07-22 09:00:16 -07:00
Kohei TAKATA
ae0f9189fc Enclose variables in back quote 2015-07-22 16:19:04 +09:00
Kohei TAKATA
2a81f1229a Translate 10.5-clone-with-props.md to Japanese 2015-07-22 16:12:08 +09:00
Ben Alpert
6c20271488 Rename ReactDOMClient to ReactDOM
This closer matches the npm package name and (I assume) is what we want to call it internally.
2015-07-21 19:30:09 -07:00
Paul O’Shannessy
ecb4433cc9 Upgrade babel, babel-eslint; remove babel-core dep 2015-07-21 17:23:52 -07:00
Jim
e10c873d09 Merge pull request #4455 from marocchino/update-korean
Update Korean translation to e928c65
2015-07-21 16:13:28 -07:00
Shim Won
dc56073d68 Update Korean translation to e928c65 2015-07-22 08:11:26 +09:00
Paul O’Shannessy
e928c65340 Merge pull request #4449 from zpao/lock-babel
Lock babel @ 5.6.x.
2015-07-21 14:09:47 -07:00
Domenico Matteo
97e219e785 improve ReactTestUtils.Simulate documentation 2015-07-21 22:27:20 +02:00
Paul O’Shannessy
ce8a152c49 Lock babel @ 5.6.x.
5.7 and 5.8 are having big issues with linting
2015-07-21 12:20:39 -07:00
Ben Alpert
6faa225fe8 Merge pull request #4447 from spicyj/tag-end
Pull out tag end regex
2015-07-21 12:00:45 -07:00
Ben Alpert
6fe034e6f9 Pull out tag end regex
For perf -- avoids allocating another object.
2015-07-21 11:53:13 -07:00
Paul O’Shannessy
82a9a5595e Merge pull request #4404 from jbonta/component_api_docs
Make component api docs clearer
2015-07-21 11:11:37 -07:00
Jim
f000fa564e Merge pull request #4443 from tako-black/translate_test-utils_to_japanese
Translate 10.4test-utils.md to Japanese
2015-07-21 05:14:52 -07:00
Jim
dc0d4bae7b Merge pull request #4444 from tako-black/Add_period
Add period
2015-07-21 05:14:28 -07:00
Kohei TAKATA
d8961311c5 Add period 2015-07-21 21:08:42 +09:00
Kohei TAKATA
75d0486202 Translate 10.4test-utils.md to Japanese 2015-07-21 21:04:46 +09:00
Jim
57d14ec33a Merge pull request #4400 from jimfb/adler32
Improved performance for our adler32 implementation.
2015-07-20 18:53:58 -07:00
Jim
57e9e5bf23 Improved performance for our adler32 implementation 2015-07-20 18:50:05 -07:00
Ben Alpert
16483e3cca Merge pull request #4427 from spicyj/gh-1232
Fix switching between dangerouslySetInnerHTML and children
2015-07-20 16:57:01 -07:00
Ben Alpert
caae627cd5 Fix switching between dangerouslySetInnerHTML and children
With this, ReactMultiChild handles all of the children-related operations for ReactDOMComponent so that we don't process operations out of order. This is necessary because ReactMultiChild does its own batching so there's no way without its cooperation to get the timing right here.

Ideally we'll factor this logic out a bit better in subsequent updates but this is the simplest way to fix #1232 which has embarrassingly been open for over a year.
2015-07-20 16:37:43 -07:00
Paul O’Shannessy
3ca5c15c1e Merge pull request #4092 from mking/remove-react-source-gem
Stop building react-source gem
2015-07-20 15:18:26 -07:00
Paul O’Shannessy
d66fd21446 Merge pull request #4435 from rtfeldman/fix-error-message
Fix typo in removeComponentAsRefFrom error message
2015-07-20 13:04:00 -07:00
Richard Feldman
c13588ef0a Fix typo in removeComponentAsRefFrom error message. 2015-07-20 11:16:15 -07:00
Ben Alpert
21fff2daa6 Merge pull request #4432 from spicyj/eslint-upg
Upgrade eslint
2015-07-20 08:45:29 -07:00
Ben Alpert
06304d59de Upgrade eslint
Fixes #4428.
2015-07-20 08:37:47 -07:00
Ben Alpert
d13fafa5dd counterexample -> antipattern 2015-07-20 08:28:53 -07:00
dongmeng.ldm
28329e8655 add animationIterationCount in isUnitlessNumber 2015-07-20 10:45:23 +08:00
Ben Alpert
33a5a64160 Merge pull request #4387 from spicyj/aep
Remove AnalyticsEventPlugin
2015-07-18 21:27:36 -07:00
Jason Bonta
bae4e586e5 Make component api docs clearer
I'm proposing these changes because I found some repetition / lack of
clarity and some language that suggested that you could mutate
`this.state` directly.
2015-07-18 17:20:36 -07:00
Jim
c73f95292c Merge pull request #4408 from jimfb/remove-children-map
Removed flattened children object.  Fixes #4405
2015-07-17 22:19:39 -07:00
Jim
fe99e59c81 Removed flattened children object for initial render. Fixes #4405 2015-07-17 22:01:59 -07:00
Paul O’Shannessy
2ea0bd77b4 Merge pull request #4419 from Simek/invert-if-else-with-negation
invert few if-else with negation for better readability
2015-07-17 16:39:15 -07:00
Bartosz Kaszubowski
da11691e26 invert few if-else with negation for readability 2015-07-18 00:19:28 +02:00
Jim
c844899187 Fixed basic-jsx example, which got clobbered during a prior bug investigation 2015-07-17 14:42:55 -07:00
Paul O’Shannessy
cc85f42f0f Merge pull request #4414 from zpao/lint-src-test
Enable linting in src/tests, cleanup
2015-07-17 13:56:32 -07:00
Paul O’Shannessy
a28325e412 Enable linting in src/tests, cleanup 2015-07-17 13:35:17 -07:00
Paul O’Shannessy
d435556920 Merge pull request #4412 from hawsome/patch-2
Switch to using comma-dangle: always-multiline
2015-07-17 13:34:33 -07:00
Paul O’Shannessy
c72f2e455a Merge pull request #4413 from zpao/more-default-value-docs-chagnes
Tweaks to new content in forms documentation
2015-07-17 13:32:47 -07:00
Paul O’Shannessy
8f419c956e Merge pull request #4393 from zpao/rm-browser-tests
Remove in-browser unit testing
2015-07-17 00:24:03 -07:00
Paul O’Shannessy
5da408297f Remove in-browser unit testing
Rely on jest for now until we get a better and less hacky solution to running tests in the browser, probably a totally different test suite with different behavior/goals.
2015-07-17 00:13:16 -07:00
Paul O’Shannessy
2b97bc63f0 Tweaks to new content in forms documentation 2015-07-16 23:50:18 -07:00
Chris Ha
c085c85045 Switch to using comma-dangle: always-multiline 2015-07-16 23:40:16 -07:00
Jim
976b51adf8 Merge pull request #4379 from eriklharper/patch-1
Add more information about defaultValue
2015-07-16 19:13:31 -07:00
Jim
aa5f503595 Merge pull request #4407 from Simek/patch-4
split code block for readability
2015-07-16 19:08:50 -07:00
Jim
b66fa7eb05 Merge pull request #4409 from tako-black/translate_class-name-manipulation_to_japanese
Translate 10.3-class-name-manipulation.md to Japanese
2015-07-16 19:06:08 -07:00
Paul O’Shannessy
ddb84f44a8 Merge pull request #3186 from benekastah/patch-1
Modify sample CSS so that it works in Safari
2015-07-16 16:52:21 -07:00
Kohei TAKATA
990caa4a9a Translate 10.3-class-name-manipulation.md to Japanese 2015-07-17 08:51:22 +09:00
Bartosz Kaszubowski
46d0bf825c split code block for readability 2015-07-16 23:49:40 +02:00
eriklharper
fabdeaa6b8 Review changes
Fixing spelling errors and revising based on feedback.
2015-07-16 10:57:16 -07:00
Ben Alpert
44ed6010d3 Merge pull request #4306 from brigand/patch-5
Blog: move "refs to custom components..." fixes #4305
2015-07-15 16:36:16 +02:00
Ben Alpert
6858c7120c Remove AnalyticsEventPlugin
We only ever had a couple internal users of this, and now we have none. Removing it from the repo for cleanliness.
2015-07-15 15:36:55 +02:00
Andreas Savvides
4a05be3459 [#4369] Make getting started a little less confusing 2015-07-15 11:25:58 +01:00
Jim
d6c062b213 Merge pull request #4382 from tako-black/enclose_a_name_of_library_in_back_quote
Enclose a name of library in back quote
2015-07-14 22:30:26 -07:00
Jim
d76a686c7f Merge pull request #4383 from tako-black/translate_form-input-binding-sugar_to_japanese
Translate 10.2-form-input-binding-sugar.md to Japanese
2015-07-14 22:29:49 -07:00
Paul O’Shannessy
ea6b0dd1b0 Merge pull request #4384 from zpao/jest-on-travis-again
Use more specific ignore pattern for jest
2015-07-14 18:35:27 -07:00
Paul O’Shannessy
91a87174bc Use more specific ignore pattern for jest
TravisCI clones into /home/travis/build/facebook/react, which /build/ matches so we never ran any of our tests.
2015-07-14 18:28:30 -07:00
Kohei TAKATA
9a95ce8308 Enclose a name of library in back quote 2015-07-15 09:26:56 +09:00
Kohei TAKATA
024f5fc595 Translate 10.2-form-input-binding-sugar.md to Japanese 2015-07-15 09:20:29 +09:00
eriklharper
95a810ac01 Add more information about defaultValue
I came across an issue on a React project where I needed to programatically set the default value of an input as the result of an async call.  (I was prepopulating a zip code field from the Google Maps Geocoding API).  It didn't work when I passed in an updated defaultValue prop, until I came across this StackOverflow: http://stackoverflow.com/questions/30146105/react-input-defaultvalue-doesnt-update-with-state.  I was able to get it to do what I wanted by passing in the value prop instead.
2015-07-14 13:28:55 -07:00
Jim
432d887f4a Merge pull request #4377 from sugarshin/typo_docs
Delete unnecessary control code.
2015-07-14 10:27:19 -07:00
sugarshin
75a0049433 Delete unnecessary control code. 2015-07-15 00:39:52 +09:00
Jim
704ea0bb83 Merge pull request #4371 from tako-black/translate_animation_to_japanese
Translate 10.1-animation.md to Japanese
2015-07-14 00:00:10 -07:00
Kohei TAKATA
fe466e5842 Translate 10.1-animation.md to Japanese 2015-07-14 15:54:42 +09:00
Paul O’Shannessy
64dafb17a9 Merge pull request #4237 from jas14/issue-4226
Allow wrap attribute in textarea
2015-07-13 16:58:43 -07:00
Joe Stein
1b5bfb516a Add wrap attribute 2015-07-13 15:00:03 -07:00
Bartosz Kaszubowski
ea2496b6f6 traverseAllChildren code clarity 2015-07-13 23:45:00 +02:00
Jim
9baaeec21d Don't skip reconcilation if context differs 2015-07-13 14:21:38 -07:00
Paul O’Shannessy
4d178415e8 Merge pull request #4144 from lukehorvat/docs/iife-jsx
Add IIFE example to JSX documentation
2015-07-13 14:01:51 -07:00
Paul O’Shannessy
e9b3974d7c Merge pull request #4291 from rwoodnz/patch-2
indicate file name requried for static file
2015-07-13 13:34:51 -07:00
Paul O’Shannessy
e9915f0735 Merge pull request #4357 from yangmillstheory/docfix
Warn against JSX transform failure for non-HTTP-served JSX
2015-07-13 13:20:09 -07:00
Victor Alvarez
36ee340fe5 Add warning for protocol sandboxing near pain point in Getting Started 2015-07-13 12:50:42 -07:00
Paul O’Shannessy
820c695612 Merge pull request #4355 from makky3939/use_html5_meta_charset_tag
Use html5 meta charset tag
2015-07-13 11:45:53 -07:00
Paul O’Shannessy
fa7aeb65ac Merge pull request #4363 from tako-black/change_css_to_uppercase
Change `css` to uppercase
2015-07-13 10:35:22 -07:00
Kohei TAKATA
4715dec510 Change css to uppecase 2015-07-13 21:07:40 +09:00
Jim
bd390afc22 Merge pull request #4362 from makky3939/translate_04_self_closing_tag
Translate 4-self-closing-tag.md to Japanese
2015-07-12 22:15:25 -07:00
Masaki KOBAYASHI
3098a6f66e Translate 04-self-closing-tag.md to Japanese 2015-07-13 12:38:24 +09:00
Jim
ea964e760c Merge pull request #4356 from makky3939/fix_03-interactivity-and-dynamic-uis_ja-JP_md
Update 03-interactivity-and-dynamic-uis.ja-JP.md
2015-07-11 21:39:25 -07:00
Jim
0572747d74 Merge pull request #4358 from makky3939/remove_controll_character_from_jp_docs
Remove controll character from jp.md
2015-07-11 21:38:13 -07:00
Masaki KOBAYASHI
ec98fa9e3d remove controll character from 07-forms.ja-JP.md, 10-addons.ja-JP.md and 10-addons.ja-JP.md 2015-07-12 11:39:05 +09:00
Masaki KOBAYASHI
ca34c57a5e fix typo 2015-07-12 11:17:41 +09:00
Masaki KOBAYASHI
dee6726080 change http-equiv with charset 2015-07-12 10:54:54 +09:00
Jim
3ee65cc653 Merge pull request #4349 from makky3939/remove_type_attribute_in_script_tag
Remove type attribute in script tag
2015-07-11 11:40:37 -07:00
Jim
2b3d83fe34 Merge pull request #4351 from tako-black/translate_addons_to_japanese
Translate 10-addons.md to Japanese
2015-07-11 11:36:57 -07:00
Jim
13c9bb4845 Merge pull request #4348 from himkt/master
remove controll character from 02-displaying-data.ja-JP.md
2015-07-11 11:36:33 -07:00
Kohei TAKATA
b35de1db4e Translate 10-addons.md to Japanese 2015-07-11 15:55:04 +09:00
Masaki KOBAYASHI
81e3b632fd remove type="text/javascript" 2015-07-11 15:02:54 +09:00
himkt
41858a77a3 remove controll character from 02-displaying-data.ja-JP.md 2015-07-11 15:00:25 +09:00
Jim
7661d6c7da Merge pull request #4346 from makky3939/fix_typo_09-tooling-integration_ja-JP_md
fix typo 09-tooling-integration.ja-JP.md
2015-07-10 21:56:02 -07:00
Masaki KOBAYASHI
445e99b7d9 fix typo 2015-07-11 13:50:42 +09:00
Jim
52ad6bc61a Merge pull request #4324 from drd/improve-warning-in-react-mount
Improve warning in react mount
2015-07-10 11:06:32 -07:00
Paul O’Shannessy
f0caf89dad Merge pull request #4342 from laiso/unexpected_character
Remove the unexpected character in ReactEventListener
2015-07-10 09:18:54 -07:00
laiso
804b109ba6 Remove the unexpected character in ReactEventListener 2015-07-11 01:00:21 +09:00
Paul O’Shannessy
441a6ec378 Merge pull request #4338 from dcousens/patch-1
s/currentPathElemenID/currentPathElementID
2015-07-09 23:56:50 -07:00
Paul O’Shannessy
4ec2575cd8 Merge pull request #4337 from tako-black/translate_tooling-integration_to_japanese
Translate 09.tooling-integration.md to Japanese
2015-07-09 23:53:01 -07:00
Daniel Cousens
dfe5f19917 s/currentPathElemenID/currentPathElementID 2015-07-10 16:38:39 +10:00
Cheng Lou
37cd9277a9 Merge pull request #4336 from zpao/ID-not-Id
ID not Id
2015-07-09 23:11:17 -07:00
Kohei TAKATA
e6832b5136 Translate 09.tooling-integration.md to Japanese 2015-07-10 15:09:26 +09:00
Paul O’Shannessy
7032e88c25 ID not Id 2015-07-09 22:49:26 -07:00
Jim
6c0ab0b60e Merge pull request #4334 from tako-black/add_meta_tag_in_the_header_of_html
Add meta tag in the header of HTML in translated documentation.
2015-07-09 19:59:51 -07:00
Kohei TAKATA
a9e0b4a0a3 Change number of html{} to highlight correct line 2015-07-10 09:16:26 +09:00
Kohei TAKATA
87ecb0ba1f Add meta tag in the header of HTML 2015-07-10 08:49:43 +09:00
Benjamin Woodruff
4d4e0bd699 Merge pull request #4330 from zpao/eslint-jest
Use jest for eslint-rules
2015-07-09 16:04:15 -07:00
Paul O’Shannessy
d967ea4658 Merge pull request #4332 from bgw/eslint-tests-use-jest
Run eslint tests with jest
2015-07-09 16:04:01 -07:00
Benjamin Woodruff
fc0b42dc07 Run eslint tests with jest
Turns out eslint-tester works with jest (!)

We take advantage of this internally at FB, so we'll do it here too.

Fixes #4328
2015-07-09 15:59:59 -07:00
Eric O'Connell
d2e8449bf0 Only perform expensive checks in __DEV__, clean up after inserted iframe 2015-07-09 15:49:49 -07:00
Paul O’Shannessy
44c98704ff Use jest for eslint-rules 2015-07-09 15:40:52 -07:00
Paul O’Shannessy
78f1369380 Merge pull request #4329 from zpao/fix-jest
Reset module cache between tests
2015-07-09 15:31:32 -07:00
Paul O’Shannessy
d6183570e3 Reset module cache between tests
This ensures that module caches for warnings is reset between runs. This makes
it so the deprecations warnings always fire.
2015-07-09 15:24:43 -07:00
Jim
cf164f1aa2 Merge pull request #4327 from jimfb/markup-unit-test
Add unit test: should generate simple markup for attribute with `>` symbol
2015-07-09 15:05:08 -07:00
Jim
7b1f03f4f8 Merge pull request #4311 from jimfb/fix-input-events
Fix event target for input change events.  Fixes #4288
2015-07-09 15:03:37 -07:00
Eric O'Connell
0941cc9884 Use a test case that demonstrates the fix. 2015-07-09 14:56:55 -07:00
Jim
b89f7ebff4 Add unit test: should generate simple markup for attribute with > symbol 2015-07-09 14:26:41 -07:00
Jim
75c4311a04 Merge pull request #4325 from jimfb/self-closing-checksum
Fix checksum hash attribute insertion for self-closing root tags.  Fixes #4323
2015-07-09 14:23:07 -07:00
Jim
dfeeb3f673 Fix checksum hash attribute insertion for self-closing root tags. Fixes #4323 2015-07-09 14:21:40 -07:00
Eric O'Connell
902b607f1f Fix some lint 2015-07-09 14:06:42 -07:00
Eric O'Connell
1316160b86 Properly handle rendering into document when comparing markup 2015-07-09 11:48:42 -07:00
Jim
a9e2111b34 Merge pull request #4320 from tako-black/translate_more-about-refs_to_japanese
Translate 08.1-more-about-refs.md to Japanese
2015-07-09 08:25:56 -07:00
Jim
34c8b2366c Merge pull request #4317 from koba04/add-deprecation-warning-for-clonewithprops
Add runtime deprecation warning for cloneWithProps
2015-07-09 08:24:20 -07:00
Toru Kobayashi
17a4dc83e0 Add runtime deprecation warning for cloneWithProps 2015-07-09 19:12:26 +09:00
Kohei TAKATA
55c3d92bc8 Translate 08.1-more-about-refs.md to Japanese 2015-07-09 18:41:19 +09:00
Paul O’Shannessy
59eddf8943 Merge pull request #4319 from tako-black/enclose_a_name_of_function_in_back_quote
Enclose a name of function in back quote
2015-07-08 23:13:59 -07:00
Kohei TAKATA
ecb483f307 Enclose a name of function in back quote 2015-07-09 15:11:20 +09:00
Eric O'Connell
0249adf3db Handle escaping when comparing server/client markup 2015-07-08 20:31:10 -07:00
Paul O’Shannessy
84efb8a4f3 Merge pull request #4318 from jlongster/master
respect NODE_ENV environment variable if set when building
2015-07-08 15:14:59 -07:00
Jim
418e03e96e Merge pull request #4309 from mmoss/addons-warning-fix
Concatenate warning message, due to parsing issues
2015-07-08 12:17:35 -07:00
James Long
ce61a49bca respect NODE_ENV environment variable if set when building 2015-07-08 14:45:21 -04:00
Murray M. Moss
334372758c Add comment to explain string concatenation 2015-07-08 13:26:36 -04:00
Murray M. Moss
fa4063455b Concatenate warning message, due to parsing issues
The addons module warning is currently causing issues with babel/JSPM due to the warning message getting parsed as a require statement. Adding a break using string concatenation appears to prevent any issues.

Example error using JSPM:

```
Error loading "react-addons-{addon}" from...
```
2015-07-08 13:24:01 -04:00
Paul O’Shannessy
6eaf03df1a Merge pull request #4314 from devonharvey/patch-1
Fix typo on line 91 of tutorial.md
2015-07-08 09:30:49 -07:00
Devon Harvey
b3ae6891b7 Fix typo on line 91 of tutorial.md 2015-07-07 22:16:14 -07:00
Jim
c3f0d7c6bd Merge pull request #4312 from tako-black/translate_working-with-the-browser_to_japanese
Translate 08-working-with-the-browser.md to Japanese
2015-07-07 20:09:13 -07:00
Kohei TAKATA
5d7f24c67f Translate 08-working-with-the-browser.md to Japanese 2015-07-08 09:21:09 +09:00
Jim
4b804e485d Fix event target for input change events. Fixes #4288 2015-07-07 17:14:52 -07:00
Jim
ed0d41bb88 Merge pull request #4310 from tako-black/enclose_a_value_of_variable_in_back_quote
Enclose a value of variable in back quote
2015-07-07 16:27:30 -07:00
Kohei TAKATA
4dbb8b307c Enclose a value of variable in back quote 2015-07-08 08:24:42 +09:00
Richard Wood
24c41b6849 Add backticks to highlight comment.json file name 2015-07-08 10:16:21 +12:00
Jim
abf965c3c5 Merge pull request #4290 from rwoodnz/patch-1
Suggest open index.html in browser regularly.
2015-07-07 15:08:27 -07:00
Frankie Bagnardi
335f7d5e57 Blog: move "refs to custom components..." fixes #4305
Just to prevent the TL;DR confusion. Separate paragraph and moved up above the code block. `s/References/Refs` for consistency.
2015-07-06 19:28:23 -07:00
Kevin Coughlin
e685da53ee Clarify React.render note in documentation 2015-07-06 21:47:37 -04:00
Jim
2284c0f449 Merge pull request #4299 from tako-black/enclose_a_value_in_back_quote
Enclose a value of variable in back quote
2015-07-06 08:20:47 -07:00
Jim
25be80c959 Merge pull request #4300 from tako-black/translate_forms_to_japanese
Translate 07-forms.md to Japanese
2015-07-06 08:20:03 -07:00
Kohei TAKATA
b66a520d13 Translate 07-forms.md to Japanese 2015-07-06 19:17:52 +09:00
Kohei TAKATA
f0a7b5df64 Enclose a value of variable in back quote 2015-07-06 17:57:44 +09:00
Jim
500d4c3f87 Merge pull request #4209 from aruberto/iterable_node_proptype
Allow iterables to pass node prop type check
2015-07-05 17:19:37 -07:00
Jim
a8955e7c3e Merge pull request #4292 from dariocravero/patch-1
Update 2015-07-03-react-v0.14-beta-1.md
2015-07-05 17:01:24 -07:00
Jim
19e1918ccd Merge pull request #4287 from Simek/semicolon-cleanup
semicolon cleanup
2015-07-05 15:55:09 -07:00
Darío Javier Cravero
8f9800193c Update 2015-07-03-react-v0.14-beta-1.md
Highlight all packages names so that they're easier to read /cc @spicyj
2015-07-05 14:39:24 +01:00
Richard Wood
50ea437bf8 indicate file name requried for static file
the text doesn't say explicitly to call your file comments.json, nor to put it in the public directory.
2015-07-05 23:38:23 +12:00
Richard Wood
a9d0135f84 Suggest open index.html in browser regularly. 2015-07-05 23:05:53 +12:00
Paul O’Shannessy
a4034b37eb Merge pull request #4283 from Yeti-or/patch-1
Remove unnecessary semicolon;
2015-07-05 16:02:50 +07:00
Paul O’Shannessy
3b54d5cd57 Merge pull request #4284 from Simek/patch-3
add IntelliJ IDEA project related ignores
2015-07-05 15:59:57 +07:00
Paul O’Shannessy
5370987cc0 Merge pull request #4289 from joshuago/patch-1
Fix typos
2015-07-05 15:56:11 +07:00
Joshua Go
1c831b186c Fix typos
Just s/Javascript/Javascript/g and punctuation changes.
2015-07-05 00:15:08 -07:00
Bartosz Kaszubowski
7a2be27d63 semicolon cleanup
One unnecessary semicolon removed and few missing added.
2015-07-05 01:06:04 +02:00
Bartosz Kaszubowski
3ac6dfa5f7 add IntelliJ IDEA project related ignores 2015-07-04 21:27:33 +02:00
Vasiliy
01535bfc18 Remove unnecessary semicolon;
For the God of css
2015-07-04 21:43:12 +03:00
Ben Alpert
cb5913a842 Fix react-addons-update package name 2015-07-04 17:26:24 +02:00
Ben Alpert
d0d57ad7a3 Merge pull request #4278 from koba04/fix-addons-update-package
Fix a library path for react-addons-updates
2015-07-04 17:22:58 +02:00
Toru Kobayashi
ddf27b6299 Rename react-addons-updates to react-addons-update 2015-07-04 16:53:16 +09:00
Jim
5a7019de7b Merge pull request #3798 from levibuzolic/attribute-inputmode
Add inputMode to allowed HTML DOM properties
2015-07-03 17:23:13 -07:00
Levi Buzolic
3b2df5fd9c Add inputMode to HTML DOM Property Whitelist 2015-07-04 02:17:22 +02:00
Ben Alpert
10f8e22e20 Add missing semicolon 2015-07-03 10:53:00 +02:00
Ben Alpert
b2db10f43e beta1 blog post
Closes #4275.
2015-07-03 10:46:36 +02:00
Ben Alpert
b4e74e38e4 Bump version to beta1 2015-07-03 10:46:35 +02:00
Ben Alpert
41aa3496aa Add setProps/replaceProps warning 2015-07-03 10:46:35 +02:00
Ben Alpert
2b68ea21ee Removed most uses of setProps in unit tests
Picked from 721fe73541.
2015-07-03 10:46:35 +02:00
Ben Alpert
4eb889b72e Revert "Removed setProps and replaceProps (both previously deprecated)"
This reverts commit 721fe73541. We'll keep these with a warning for one more release.
2015-07-03 10:46:35 +02:00
Jim
2d86486fd1 Merge pull request #4276 from tako-black/translate_transferring-props_to_japanese
Translate 06-transferring-props.md to Japanese
2015-07-02 20:34:59 -07:00
Kohei TAKATA
680d4e7933 Translate 06-transferring-props.md to Japanese 2015-07-03 09:49:17 +09:00
Ben Alpert
ee85efc03c Merge pull request #4273 from spicyj/addons
Finish addons packaging
2015-07-02 23:39:04 +02:00
Ben Alpert
33d5201a94 Finish addons packaging
- Add missing object-assign dependency
- Add batchedUpdates to ReactDOMClient, rename the two addons to `unstable_`
- Delete react/addons/* (leaving react/addons with a slightly updated warning)
- Add README.md, LICENSE, PATENTS to each addons package
2015-07-02 23:33:16 +02:00
Ben Alpert
a88c3c9f85 Merge commit 'pr/4185'
Closes #4185.
2015-07-02 23:05:15 +02:00
Ben Alpert
0eaa0a6ff7 Fix jest tests 2015-07-02 22:54:22 +02:00
Ben Alpert
07107ca936 Merge pull request #4184 from zpao/move-from-addons
Move renderSubtreeIntoContainer into ReactDOMClient
2015-07-02 22:53:47 +02:00
Jim
ddffc7cebe Merge pull request #4270 from kamronbatman/patch-1
Fixed header comment spacing in ReactComponentWithPureRenderMixin.
2015-07-02 10:31:48 -07:00
Kamron Batman
72b432df03 Fixed header comment spacing.
Fixed header comment spacing in the header for ReactComponentWithPureRenderMixin.
2015-07-02 09:36:52 -07:00
Jim
2baf4bf4e8 Merge pull request #4268 from jimfb/remove-setprops
Removed setProps and replaceProps (both previously deprecated)
2015-07-02 04:47:18 -07:00
Jim
6a92179d6f Merge pull request #4221 from jimfb/ryans-context-bug
updateComponent should update the context iff it has changed
2015-07-02 04:45:41 -07:00
Jim
851378b0b2 Merge pull request #4150 from jimfb/event-path
Make events propagate through shadow DOMs.
2015-07-02 04:35:44 -07:00
Jim
4a465fbd9a Make events propagate through shadow DOMs. 2015-07-02 04:32:22 -07:00
Jim
721fe73541 Removed setProps and replaceProps (both previously deprecated) 2015-07-02 04:00:58 -07:00
Paul O’Shannessy
d268a9fbe3 Merge pull request #4238 from bhamodi/bhamodi/update-dependency-notation
More conservative dependency update.
2015-07-02 10:27:26 +07:00
Jim
8953033454 Merge pull request #4259 from janraasch/patch-1
Add IE-only security attr to HTMLDOMPropertyConfig
2015-07-01 18:15:39 -07:00
Jim
feee7a1868 Merge pull request #4231 from DarkScorpion/clickCounter
Click counter example
2015-07-01 17:46:43 -07:00
Jim
bde585f4e0 Merge pull request #4262 from coryhouse/patch-1
Removed redundant word
2015-07-01 17:37:53 -07:00
Jim
c3e411a0dc Merge pull request #4266 from tako-black/translate_reusable-components_to_japanese
Translate 05-reusable-components.md to Japanese
2015-07-01 17:04:29 -07:00
Kohei TAKATA
f5e0d0c8f2 Translate 05-reusable-components.md to Japanese 2015-07-02 08:44:42 +09:00
Jan Raasch
b089b427ab Add IE-only security attr to HTMLDOMPropertyConfig
See https://msdn.microsoft.com/en-us/library/ms534622(v=vs.85).aspx for an in-depth specification.

This fixes #4169.
2015-07-01 19:47:48 +02:00
Cory House
e869c58a1d Removed redundant word 2015-07-01 11:26:31 -05:00
Sebastian Markbåge
8f9643485d Merge pull request #4162 from sebmarkbage/updator
Inject the update queue into classes
2015-07-01 17:46:05 +02:00
Ben Alpert
9f0042cd8d Merge pull request #4258 from mjomble/patch-1
Typo fix
2015-06-30 15:57:37 +02:00
Andres Kalle
af2071af63 Typo fix 2015-06-30 15:05:57 +03:00
Alex Smith
83c8118c7c update title 2015-06-30 19:43:44 +09:00
Alex Smith
6b669aa37d used JSX 2015-06-30 17:49:25 +09:00
Alex Smith
099c227c35 lowercase index file 2015-06-30 17:26:50 +09:00
Jim
ae9b2c0649 Merge pull request #4252 from bhamodi/patch-2
Update url to save a redirect
2015-06-29 10:28:29 -07:00
Baraa Hamodi
91de455909 Update React Link
Saves a redirect from occurring.
2015-06-29 10:21:35 -07:00
Ben Alpert
454d47fa09 Merge pull request #4223 from spicyj/check-no-warn
Fail tests on any un-spied warnings
2015-06-29 07:57:56 -07:00
Ben Alpert
c22153e25a Fail tests on any un-spied warnings
Fixes #3890.
2015-06-29 07:57:35 -07:00
Jim
d9d442808a Merge pull request #4249 from tako-black/translate_multiple-components_to_japanese
Translate 04-multiple-components.md to Japanese
2015-06-29 05:15:33 -07:00
Kohei TAKATA
d32f8b5a38 Translate 04-multiple-components.md to Japanese 2015-06-29 21:11:39 +09:00
Paul O’Shannessy
859a5d5c3c Merge pull request #4229 from tako-black/translate_jsx-spread_to_japanese
Translate 02.2-jsx-spread.md to Japanese
2015-06-28 23:59:34 -07:00
Paul O’Shannessy
dd3244c4f2 Merge pull request #4242 from tako-black/translate_interactivity-and-dynamic-uis_to_japanese
Translate 03-interactivity-and-dynamic-uis.md to Japanese
2015-06-28 23:57:20 -07:00
Kohei TAKATA
308db9a866 Translate 03-interactivity-and-dynamic-uis.md to Japanese 2015-06-28 19:31:47 +09:00
Matthew King
fc63cebd29 Stop building react-source gem
fixes #4069
2015-06-27 13:44:08 -07:00
Jim
e695ebb5c6 Merge pull request #4240 from tako-black/translate_jsx-gotchas_to_japanese
Translate 02.3-jsx-gotchas.md to Japanese
2015-06-27 09:20:09 -07:00
Kohei TAKATA
19e1d11d2f Translate 02.3-jsx-gotchas.md to Japanese 2015-06-27 19:11:40 +09:00
Ben Alpert
6bbd6976eb Merge pull request #4239 from tako-black/change_word_to_uppercase
Change 'Javascript' to 'JavaScript'
2015-06-27 03:01:49 -07:00
Kohei TAKATA
aefb608fd6 Change 'Javascript' to 'JavaScript' 2015-06-27 18:49:41 +09:00
Alex Smith
67c70b8690 R: handleClick function 2015-06-27 12:13:29 +09:00
Baraa Hamodi
c1ec407bd9 More conservative dependency update. 2015-06-26 18:37:15 -07:00
Jim
5fb8cbc6ca Merge pull request #4232 from marocchino/update-docs
Update translated docs
2015-06-26 10:22:01 -07:00
Shim Won
ca6fa4b7e6 Add site title to first code snippet of getting started (bd9d4b2) 2015-06-26 19:39:44 +09:00
Shim Won
c1b0550acf Update script source (c227a39) 2015-06-26 19:39:25 +09:00
Alex Smith
2b554703af add new line at and of some files 2015-06-26 13:50:43 +09:00
Alex Smith
e58d31022c update click message 2015-06-26 13:39:59 +09:00
Alex Smith
456135eb04 rename folder 2015-06-26 13:35:30 +09:00
Alex Smith
d19aa7a363 use react from bild 2015-06-26 13:34:20 +09:00
Alex Smith
e766d5539e click conter example 2015-06-26 13:08:32 +09:00
Alex Smith
578077081f update git ignore 2015-06-26 12:55:25 +09:00
Kohei TAKATA
829ce68cd7 Translate 02.2-jsx-spread.md to Japanese 2015-06-26 09:55:04 +09:00
Jim
289962f6f8 Don't bail out of reconsiliation if context changes. 2015-06-25 00:58:05 -07:00
Ben Alpert
ef00e856aa Merge pull request #4204 from dpercy/patch-1
Fix docs typo: "overridden" -> "overwritten"
2015-06-24 23:18:23 -07:00
Jim
9bcc8dab93 Merge pull request #4222 from tako-black/translate_jsx-in-depth_to_japanese
Translate 02.1-jsx-in-depth.ja-JP.md to Japanese
2015-06-24 22:48:58 -07:00
Kohei TAKATA
f460a19d8a Translate 02.1-jsx-in-depth.ja-JP.md to Japanese 2015-06-25 14:46:19 +09:00
li.li
63d0471580 Remove warnings in tests
For #3890.

Squashed merge, closes #3925.
2015-06-24 22:01:36 -07:00
Ben Alpert
0b0a436a41 Drop react-codemod.tgz from travis build
This didn't work anyway. See #4217.
2015-06-24 18:41:34 -07:00
Ben Alpert
d87f50aab8 Merge pull request #4217 from brigand/patch-5
Fix travis after_script
2015-06-24 18:38:38 -07:00
Frankie Bagnardi
0677fe8f3b Fix travis artifact upload
Changes:
 - moves after_script to script
 - adds `set -e`
 - creates a seperate matrix 'build'

Way at the bottom of the travis output:

```
1571: curl: (26) couldn't open file "build/react.tgz"
```

This seems to be broken since 12c9fee94e
2015-06-24 18:09:34 -07:00
Ben Alpert
8f217c8a4b Merge pull request #4215 from spicyj/prod-props
Set this.props on elements in prod mode
2015-06-24 16:38:14 -07:00
Ben Alpert
9ba28f317b Merge pull request #4200 from spicyj/ten-thousand
Allow deeper trees
2015-06-24 16:33:30 -07:00
Ben Alpert
9c8c11dd07 Set this.props on elements in prod mode
Oops. Introduced in https://github.com/facebook/react/pull/4172.
2015-06-24 16:26:40 -07:00
Antonio Ruberto
79fc73e674 check entry type iterables
check that the value is a node for map iterables
2015-06-24 15:17:48 -04:00
Jim
4431c90fa4 Merge pull request #4208 from battaile/master
Minor cleanup of ReactES6Class-test output by expecting the warning
2015-06-24 08:18:44 -07:00
Jim
484e20c02d Merge pull request #4206 from yiminghe/fix_change_type
Set change event type in SyntheticEvent
2015-06-24 08:05:52 -07:00
Jim
b99fb2c92d Merge pull request #4202 from tako-black/translate_displaying-data_to_japanese
Translate 02-displaying-data.md to Japanese
2015-06-24 07:42:48 -07:00
Antonio Ruberto
8e72956430 Allow iterables to pass node prop type check 2015-06-24 09:43:02 -04:00
Battaile Fauber
41df3ce421 Check for warning when testing to see if error is thrown when render not defined 2015-06-24 08:03:36 -04:00
Ben Alpert
e80cccf87f Merge pull request #4207 from yangshun/patch-1
Add site title to first code snippet of getting started
2015-06-24 02:24:04 -07:00
yiminghe
ee831d7550 optimize spec 2015-06-24 17:13:41 +08:00
Tay Yang Shun
bd9d4b2499 Add site title to first code snippet of getting started 2015-06-24 17:09:34 +08:00
yiminghe
47e9cfb975 fix change event type 2015-06-24 17:06:35 +08:00
David Percy
78018b99d6 Fix docs typo: "overridden" -> "overwritten"
I think this was meant to say "overwritten", since "the statement overwrites the data" makes more sense than "the statement overrides the data".
2015-06-24 01:54:54 -04:00
Kohei TAKATA
af34ca7b41 Translate 02-displaying-data.md to Japanese 2015-06-24 09:23:05 +09:00
Jim
3dc43840ef Merge pull request #4188 from jisaacks/master
Generate reasonable markup even if tags have unexpected case.
2015-06-23 15:04:36 -07:00
JD Isaacks
d944d3f941 Prevent creating invalid closing tags
fixes #2756
2015-06-23 17:58:52 -04:00
Ben Alpert
fdaefc1103 Allow deeper trees
No reason to limit at 100. I can't imagine a reasonable tree with depth over 10,000 but that should still be small enough to "catch infinite loops" quickly.
2015-06-23 14:07:05 -07:00
Ben Alpert
c5fb3ff987 Merge pull request #4139 from spicyj/dom-refs
DOM components as refs
2015-06-22 16:58:01 -07:00
Ben Alpert
06b88c38f9 Merge pull request #4084 from spicyj/carc
Remove constructAndRenderComponent
2015-06-22 16:57:52 -07:00
Ben Alpert
d810079101 Remove constructAndRenderComponent
These were never part of the public API and shouldn't have been part of the React object. Now they're not.
2015-06-22 16:55:19 -07:00
Ben Alpert
eefda9377c Add legacy methods to DOM components for compatibility 2015-06-22 16:51:21 -07:00
Ben Alpert
ffd527f593 DOM components as refs
Still missing: .props/.getDOMNode warnings.
2015-06-22 16:51:21 -07:00
Ben Alpert
643651b8e5 Wrap all top-level components for consistency 2015-06-22 16:51:04 -07:00
Sebastian Markbåge
9d2c9b5864 Merge pull request #4196 from oluckyman/componentDidUnmount-warning
Show warning when componentDidUnmount is defined
2015-06-22 16:48:27 -07:00
oluckyman
2568933ca3 Update warn message and move it to the error-catching block 2015-06-22 23:52:37 +02:00
Jim
859b7957b7 Merge pull request #4190 from dantman/fix-%s-module
Don't try building a %s module.
2015-06-22 14:45:19 -07:00
Ben Alpert
7e0a544ae3 Merge pull request #4164 from spicyj/jest-wc
Fix exceptions when running `grunt test --debug`
2015-06-22 14:22:41 -07:00
oluckyman
db40beafbe Show warning when componentDidUnmount is defined
Fixes #4194
2015-06-22 21:09:33 +02:00
Daniel Friesen
357ed8ebd7 Add a comment about why the string is split up. For future readers of this file. 2015-06-22 12:04:29 -07:00
Daniel Friesen
c8d606196d Don't try building a %s module.
React's build tools are reading the `require("react")` and `react("%s")` inside the warning string and thinking they are actual requires.
2015-06-21 21:14:04 -07:00
Paul O’Shannessy
79561342c3 Build standalone react-addons packages 2015-06-21 20:01:21 +08:00
Paul O’Shannessy
bbadc15ac1 Move renderSubtreeIntoContainer into ReactDOMClient 2015-06-20 18:08:33 -07:00
Ben Alpert
df05c6efb8 Fix typo in blog post
(#4183)
2015-06-20 16:49:33 -07:00
Ben Alpert
64b5f043dd Merge pull request #4170 from johanneslumpe/patch-1
Guard against a null node
2015-06-20 16:42:23 -07:00
Jim
ede27d2e86 Merge pull request #4172 from jimfb/freeze-props
Freeze ReactElement.props in dev mode
2015-06-19 14:13:17 -07:00
Johannes Lumpe
b16f9d42b1 Guard against a null node
This could fix #2619
2015-06-19 11:21:22 +03:00
Sebastian Markbåge
59dfe87d04 Merge pull request #4171 from sebmarkbage/simplifylifecycle
Simplified Life Cycles
2015-06-18 23:16:27 -07:00
Sebastian Markbage
c1330dcfcd Unit tests for unmounted setState and isMounted 2015-06-18 22:55:52 -07:00
Jim
95373ce769 Freeze ReactElement.props in dev mode 2015-06-18 14:49:06 -07:00
Sebastian Markbage
8659223939 Lint fixes 2015-06-18 14:12:21 -07:00
Sebastian Markbage
dddebd1344 Use hack to support isMounted without stateful module
This hack allow us to get rid of the stateful module ReactLifeCycle since
we can infer the value of isMounted even without it. This gets rid of
the try/catch which is deopting all mountComponent calls.

As a next step we could deprecate isMounted completely and avoid stateful
APIs. Since it can be easily simulated if you truly need it.
2015-06-18 14:10:12 -07:00
Sebastian Markbage
140af9b985 Allow callbacks to be enqueued during componentWillMount
Since I fixed the server-side rendering it is now possible to trigger these
callbacks on the client alone. They will still be queued up on the server
but they are never executed.
2015-06-18 13:35:39 -07:00
Sebastian Markbage
e737acb472 Let updates be enqueued during render
This allows updates to be enqueued during render. setState in
componentWillMount will still be collected as part of the first pass so
if nothing else get added as pending, they won't trigger a second rerender.

This allow us to get rid of one more stateful special case.
2015-06-18 13:35:39 -07:00
Sebastian Markbage
40b7c19a89 Use a custom batching strategy for server rendering
This simply ignores any enqueued actions. This means that we don't have to have special logic for componentWillMount. It is just that those updates are never enqueued.
2015-06-18 13:34:30 -07:00
Sebastian Markbage
3af73834d9 Remove currentlyUnmountingComponent
This was used for any invariant that was subsequently removed. It turns
out that this is completely unnecessary now. Any setState calls will
enqueue and update and the component added to the update queue. However,
since the pending fields are reset after componentWillUnmount, any update
will still be ignored.
2015-06-18 12:36:50 -07:00
Sebastian Markbage
7443f63ae9 Remove an unnecessary warning
It was impossible to get here because if you enqueue something

Also ensure that they're only used in DEV because we will be reading
state that is DEV only here.
2015-06-18 12:36:45 -07:00
Sebastian Markbage
c4cafcecd9 Move current owner to isomorphic
This should only be used for tracking string refs. For that purpose, we
need a single central stateful module that is coupled to createElement.
Which is why it needs to live in isomorphic.

Eventually this will go away completely.
2015-06-18 09:05:35 -07:00
Ben Alpert
d76e3e1632 Fix exceptions when running grunt test --debug 2015-06-17 20:57:04 -07:00
Sebastian Markbage
1224a203bb Inject the update queue into classes
This decouples the stateful imperative API from the class creation.
Instead, they get injected into the class from the renderer. Stateful
modules should always be injected.

As a convenience, just like props/context/refs, we set it up after
construction using mutation. That way it is optional to pass it along
the super call constructor chain.
2015-06-17 18:57:26 -07:00
Ben Alpert
016021207c Merge pull request #4154 from spicyj/gh-3478
Improve error message when mounting non-string/function elements
2015-06-17 16:26:02 -07:00
Paul O’Shannessy
a841b4f5fb Merge pull request #2981 from hzoo/jsdoc-fixes 2015-06-17 16:06:37 -07:00
Paul O’Shannessy
531e6280a3 Merge pull request #4158 from zpao/mv-packages
Move npm packages into folder
2015-06-17 12:18:37 -07:00
Ben Alpert
642323e5a8 Improve error message when mounting non-string/function elements 2015-06-17 12:04:05 -07:00
Paul O’Shannessy
12c9fee94e Move npm packages into folder 2015-06-17 12:01:44 -07:00
Paul O’Shannessy
ec791582f4 Merge pull request #4156 from tako-black/fix_link
Fix link of getting-started.ja-JP.md
2015-06-17 11:53:21 -07:00
Paul O’Shannessy
10ada3b5f5 Merge pull request #4157 from zpao/svg-image
Support SVG image, other related cleanup
2015-06-17 11:44:29 -07:00
Paul O’Shannessy
ace49f304b Merge pull request #4100 from zpao/deprecate-react-calls
Deprecate non-isomorphic react methods in npm module
2015-06-17 11:15:46 -07:00
Paul O’Shannessy
bdbbe40b1e Merge pull request #4140 from zpao/mv-errorutils
Move ReactErrorUtils out of vendor
2015-06-17 10:51:02 -07:00
Paul O’Shannessy
efdd75685d Support SVG image 2015-06-17 10:47:53 -07:00
Paul O’Shannessy
572a1d895c Update getMarkupWrap with list of SVG supported in ReactDOM 2015-06-17 10:40:11 -07:00
Paul O’Shannessy
265fdc3eed Rewrite SVG initialization in getMarkupWrap 2015-06-17 10:37:13 -07:00
Kohei TAKATA
3c53d25587 Fix link of getting-started.ja-JP.md 2015-06-17 22:17:47 +09:00
Ben Alpert
c265504fe2 Merge pull request #4152 from spicyj/rce
Disallow passing a DOM component to reactComponentExpect
2015-06-16 23:33:09 -07:00
Ben Alpert
306c2dd5a9 Merge pull request #4151 from spicyj/fairti
Disallow passing a DOM component to findAllInRenderedTree
2015-06-16 23:32:53 -07:00
Ben Alpert
cf6b3ff0e2 Disallow passing a DOM component to reactComponentExpect
We won't be able to support this after DOM-components-as-refs but we don't expect many people to be passing DOM components to this function anyway, and it should be fairly straightforward for people to clean up failing unit tests using this function.

(This module also isn't public API and never has been.)
2015-06-16 17:51:06 -07:00
Ben Alpert
4070c4ca20 Disallow passing a DOM component to findAllInRenderedTree
We won't be able to support this after DOM-components-as-refs but we don't expect many people to be passing DOM components to this function anyway, and it should be fairly straightforward for people to clean up failing unit tests using this function.
2015-06-16 16:37:37 -07:00
Ben Alpert
c9b0c26966 Invert logic in findAllInRenderedTreeInternal
With DOM components we won't be able to go from public instance to internal instance reliably, so do the traversal on internal instances.
2015-06-16 14:38:03 -07:00
Paul O’Shannessy
e571b32061 Wrap calls to deprecated functions with a warning. 2015-06-16 13:23:40 -07:00
Paul O’Shannessy
f306ed65b3 Merge pull request #4121 from cristovaov/tutorial-doc/script-src
update script sources to be even with the example file ...
2015-06-16 12:37:20 -07:00
Paul O’Shannessy
6248abb6ee Merge pull request #4142 from zpao/lint-changed
npm script to run lint only on changed files
2015-06-16 11:41:28 -07:00
Paul O’Shannessy
ddac9473ca npm script to run lint only on changed files 2015-06-16 11:24:02 -07:00
Ben Alpert
efcf2e318e Merge pull request #4145 from RReverser/patch-1
Update 2015-06-12-deprecating-jstransform-and-react-tools.md
2015-06-16 10:57:50 -07:00
Sebastian Markbåge
2d29691019 Merge pull request #4105 from sebmarkbage/moveismounted
Move isMounted logic into the ReactUpdateQueue
2015-06-16 10:36:04 -07:00
Ingvar Stepanyan
cab21c7783 Update 2015-06-12-deprecating-jstransform-and-react-tools.md
Add paragraph about parsing JSX after deprecation of esprima-fb.
2015-06-16 16:18:18 +03:00
Luke Horvat
9a2e5f2cc5 Add IIFE example to JSX documentation 2015-06-16 19:46:25 +10:00
Paul O’Shannessy
93be1939b5 Move ReactErrorUtils out of vendor
Some other small changes now that it's linted.
2015-06-16 01:16:17 -07:00
Ben Alpert
78da37da50 Merge pull request #4137 from spicyj/setpropsinternal
Remove _setPropsInternal
2015-06-15 23:33:14 -07:00
Ben Alpert
ee367a8a02 Remove _setPropsInternal
Nothing uses this.
2015-06-15 23:28:27 -07:00
Ben Alpert
d67f23fb0e Merge pull request #4115 from spicyj/dom-hash
Reduce hash lookups for DOM properties
2015-06-15 14:15:55 -07:00
alexpien
f1e524b0b1 Add support for appear and appear-active classes 2015-06-15 12:05:18 -07:00
Paul O’Shannessy
a2862f3c2f Merge pull request #4097 from zpao/react-dom-package
Build react-dom package
2015-06-15 12:04:44 -07:00
Paul O’Shannessy
3bae8f5f35 Build react-dom package 2015-06-15 11:01:39 -07:00
Paul O’Shannessy
193773e349 Merge pull request #4103 from marocchino/ko-update
Update Korean transltaion to 4c778e2
2015-06-15 10:56:40 -07:00
Paul O’Shannessy
f8ffb0f8b3 Merge pull request #4132 from tako-black/translate_why-react_to_japanese
Translate 01-why-react.md to Japanese
2015-06-15 10:51:32 -07:00
Kohei TAKATA
1d3906f91d Translate 01-why-react.md to Japanese 2015-06-15 21:30:12 +09:00
Cristovao Verstraeten
c227a398ba update script sources to be even with the example file in reactjs/react-tutorial repo ... apply to japanese and korean translation (+2 squashed commit)
Squashed commit:

[4564e55] Ensures we don't need to update this page for every release.

[b0d60f9] update script sources to be even with the example file in reactjs/react-tutorial repo
2015-06-15 13:30:15 +02:00
Paul O’Shannessy
cfe428e510 Merge pull request #4128 from prathamesh-sonpatki/more-typos
Fix typos in ReactServerRenderingTransaction.js
2015-06-15 00:32:53 -07:00
Prathamesh Sonpatki
7b0764b1d2 Fix typos in ReactServerRenderingTransaction.js
- There were some more occurrences of typos fixed in
   https://github.com/facebook/react/pull/4123.
2015-06-15 12:42:45 +05:30
Paul O’Shannessy
80cc63ffce Merge pull request #4123 from carterchung/patch-1
Corrected spelling in ReactReconcileTransaction.js
2015-06-15 00:03:47 -07:00
Carter Chung
c01352232b Corrected spelling
ReactReconcileTransaction.js
2015-06-13 18:21:17 -07:00
Ben Alpert
da40027dfd Merge pull request #4119 from iamdustan/patch-1
s/parse/parser in jstransform deprecation blog post
2015-06-12 21:52:13 -07:00
Ben Alpert
434a64a08a Merge pull request #4114 from spicyj/void-warn
Add owner to void element children warning
2015-06-12 21:41:24 -07:00
Ben Alpert
99b89ff1b3 Add owner to void element children warning 2015-06-12 21:37:51 -07:00
Dustan Kasten
54e77a251c s/parse/parser in jstransform deprecation blog post 2015-06-12 23:57:49 -04:00
Ben Alpert
40963e503b Reduce hash lookups for DOM properties 2015-06-12 17:10:26 -07:00
Paul O’Shannessy
26cc5e1c43 [blog] Deprecate JSTransform & react-tools 2015-06-12 16:45:15 -07:00
Paul O’Shannessy
830bc92d36 Merge pull request #4112 from kevhuang/doc/readme-grammar
Remove extra period
2015-06-12 12:10:12 -07:00
Kevin Huang
7e27772625 Remove extra period 2015-06-12 11:29:26 -07:00
Sebastian Markbåge
a1cf88b098 Merge pull request #4091 from sebmarkbage/updatequeuewarning
Make setState in render a warning, not an invariant
2015-06-11 18:41:46 -07:00
Sebastian Markbage
ffd5b16d5f Move isMounted logic into the ReactUpdateQueue
This is kind of a confusing place for it but it is intimitely tied to the
update life cycle which is what the update queue is about.

This kills some dependencies from isomorphic to the renderer.
2015-06-11 18:39:13 -07:00
Shim Won
e67c0943b8 Update Korean transltaion to 4c778e2 2015-06-12 10:24:07 +09:00
Benjamin Woodruff
e4abdcb31b Merge pull request #4102 from tomarak/patch-1
Fixed grammar in CLA section of contribution guide
2015-06-11 17:57:32 -07:00
Anuj Tomar
61ef4a24cb Fixed grammar in CLA section of contribution guide
took out quotation marks from CLA header as per MLA standards
2015-06-11 17:49:46 -07:00
Ben Alpert
4c778e2e4b Merge pull request #4098 from spicyj/grunt
Inline requires in Gruntfile
2015-06-11 15:14:09 -07:00
Ben Alpert
67a98468b2 Inline requires in Gruntfile
I think this makes it quite a bit easier to understand.
2015-06-11 15:00:30 -07:00
Paul O’Shannessy
128390a691 Merge pull request #4095 from zpao/update-jest
Update jest to latest
2015-06-11 11:07:20 -07:00
Paul O’Shannessy
b4b542303d Update jest to latest 2015-06-11 11:01:00 -07:00
Paul O’Shannessy
e98acaa4a7 Merge pull request #4058 from yiminghe/className_contains
fix className check in scryRenderedDOMComponentsWithClass when encounter new line
2015-06-11 09:37:09 -07:00
Paul O’Shannessy
9a93f24709 [lint] Ignore generated docs 2015-06-11 09:27:05 -07:00
yiminghe
a5f3962ef6 update code style 2015-06-11 23:26:09 +08:00
yiminghe
69339a0f67 update code style 2015-06-11 23:21:52 +08:00
Sebastian Markbage
02aafb5162 Make setState in render a warning, not an invariant
We keep track of the fact that something is rendering for a bunch of
warnings. (ReactCurrentOwner.current !== null)

Once we get rid of owner for string refs, I'll convert those to something
like "isRendering" instead. The interesting part is that feature `__DEV__`
only. It is only used for warnings. Except for this case.

This means that we can get rid of the special case for the isRendering
stack on in prod.
2015-06-10 18:33:59 -07:00
Sebastian Markbåge
8b24b3d8b0 Merge pull request #4090 from sebmarkbage/fixdomcomponentest
Use the public render API in ReactDOMComponent-test
2015-06-10 17:57:33 -07:00
Sebastian Markbage
3cdf718504 Use the public render API in ReactDOMComponent-test
Avoids testing a non-public API. First step towards refactoring more of
these internals to not be instances. Also gets rid of an _owner usage.
2015-06-10 17:34:56 -07:00
Paul O’Shannessy
f55b93672f Merge pull request #4088 from zpao/fix-class-test
Fix Class tests
2015-06-10 17:19:40 -07:00
Paul O’Shannessy
d580a71293 Fix Class tests
These were introduced in #4045 as a result of jest not running properly in CI.

I also fixed the places where we misspelled "misspelling".
2015-06-10 17:06:04 -07:00
Ben Alpert
6c96f9f273 Merge pull request #4086 from spicyj/ta
Remove stray call to ReactDOMTextarea.unmountWrapper
2015-06-10 15:49:04 -07:00
Ben Alpert
f073ce2ba7 Remove stray call to ReactDOMTextarea.unmountWrapper
ReactDOMInput has this but ReactDOMTextarea doesn't so we shouldn't try to call it.
2015-06-10 15:31:27 -07:00
Jim
88042b1b00 Merge pull request #4074 from jimfb/docs-context-parameter-confusing
Fixed confusing use of the word/name `context` in documentation
2015-06-10 13:32:03 -07:00
Ben Alpert
4f73ce2c95 Merge pull request #4077 from neojski/svg-namespace
Add xmlns to svg wrap
2015-06-10 12:19:45 -07:00
Jim
537a84183a Merge pull request #3752 from jhicken/Custom-Element-Support
Ignore whitelisted attributes for native custom elements.
2015-06-10 10:58:54 -07:00
Ben Alpert
46cec1949d Merge pull request #4071 from spicyj/warn-dom-props
Fix IE8
2015-06-10 10:16:57 -07:00
Jeff Hicken
7256f0976c Ignore whitelisted attributes for native custom elements that use the is attribute. 2015-06-10 10:00:21 -06:00
Tomasz Kołodziejski
c9fab582c4 Add xmlns to svg wrap
Closes #4072.
2015-06-10 15:57:05 +02:00
Jim
5446ef1c14 Fixed confusing use of the word/name in documentation 2015-06-10 02:48:48 -07:00
Ben Alpert
13a8758fc8 Fix IE8 2015-06-09 18:45:29 -07:00
Ben Alpert
0abb350530 Merge pull request #4070 from tako-black/fix_md_file
Fix code of getting-started-ja-JP
2015-06-09 17:01:14 -07:00
Kohei TAKATA
005b65c17b Fix code of getting-started-ja-JP 2015-06-10 08:52:47 +09:00
yiminghe
e704503dc7 optimize className check 2015-06-10 01:11:39 +08:00
Scott Feeney
61d8de3f3f Merge pull request #4003 from AnSavvides/on-change-vs-on-input
[#3964] Add note about React's onChange vs. DOM's oninput
2015-06-09 11:13:28 -04:00
Paul O’Shannessy
04a025f3b7 Merge pull request #4046 from basarat/patch-2
📝 document changes for classes
2015-06-08 21:46:39 -07:00
Paul O’Shannessy
3faad4f65f Merge pull request #4063 from zpao/fix-ja-docs
fix japanese docs permalinks
2015-06-08 20:16:49 -07:00
Basarat Ali Syed
b7fe1ac0fc 📝 link to docs and not the blog post 2015-06-09 11:33:33 +10:00
Paul O’Shannessy
8488cb4dac fix japanese docs permalinks 2015-06-08 18:18:57 -07:00
Paul O’Shannessy
2b53acb00a Merge pull request #4045 from davemeetsworld/add-warning-for-mispelling-of-componentWillReceiveProps
Added warning for mispelling of componentWillReceiveProps and updated…
2015-06-08 15:12:40 -07:00
David Baker
2d8c4be000 Added warning for mispelling of componentWillReceiveProps and updated tests 2015-06-08 22:44:30 +01:00
Paul O’Shannessy
5955379753 Merge pull request #4060 from cody/addons
Fix addon name in npm Readme
2015-06-08 14:00:20 -07:00
Paul O’Shannessy
a74138bdee Fix docblock of ReactFragment 2015-06-08 13:49:29 -07:00
Stefan Dombrowski
c9ab11f5ff Fix addon name in npm Readme 2015-06-08 22:39:12 +02:00
Ben Alpert
6b8ed9b64e Merge pull request #3884 from glenjamin/patch-3
Document boolean attributes in JSX
2015-06-08 13:28:39 -07:00
Paul O’Shannessy
7f7528c454 Merge pull request #4059 from jquense/patch-3
fix my embarrassing amount of typos in this 4 line change
2015-06-08 13:01:15 -07:00
Benjamin Woodruff
f27d130323 Merge pull request #4040 from PiPeep/eslint-updates
Update eslint-related dependencies
2015-06-08 13:00:13 -07:00
Jason Quense
813649cbc7 fix my embarrassing amount of typos in this 4 line change 2015-06-08 15:59:30 -04:00
Paul O’Shannessy
09993a1379 Merge pull request #4054 from jquense/patch-2
Update npm Readme to new method of accessing addons
2015-06-08 12:53:28 -07:00
Ben Alpert
8614dd3cf9 Merge pull request #3984 from neojski/uppercase-node-name
Always toLowerCase when comparing nodeName or tagName
2015-06-08 11:44:56 -07:00
Ben Alpert
0e3ae67418 Merge pull request #4043 from spicyj/80
Remove line length lint warning
2015-06-08 10:40:42 -07:00
Ben Alpert
39f232b9aa Merge pull request #4042 from spicyj/warn-dom-props
Warn when accessing .props, .setProps on DOM components
2015-06-08 10:40:26 -07:00
Ben Alpert
bfcad9614a Warn when accessing .props, .setProps on DOM components 2015-06-08 10:36:20 -07:00
Benjamin Woodruff
52eca1eb69 Update eslint-related dependencies
- babel-eslint ^3.1.14 fixes babel/babel-eslint#120
- babel updated from ^5.3.3 to ^3.5.5, which changes stuff, I guess
- eslint updated from ^0.21.2 to ^0.22.1, which makes `no-shadow` also
  check class declarations
2015-06-08 08:41:13 -07:00
Jason Quense
7fa8c79d40 Update docs to new method of accessing addons 2015-06-07 19:07:36 -04:00
Andreas Savvides
ae83e90ec7 [#3964] Add note about React's onChange vs. DOM's oninput 2015-06-07 10:39:08 +01:00
Tomasz Kołodziejski
2bb69328ae Always toLowerCase when comparing nodeName or tagName
In xml node name casing is exactly the same as the node was originally named.
Make sure to convert node and tag names to lower case before making any node
and tag name checks.

Fixes #3960.
2015-06-06 10:28:43 +02:00
Basarat Ali Syed
b994d076d1 📝 document changes for classes
Taking https://github.com/facebook/react/pull/4013#discussion_r31829922 into account
2015-06-06 10:23:41 +10:00
Ben Alpert
ba81b60ad8 Merge pull request #4037 from spicyj/ref-trans
Only enqueue attachRefs if refs are present
2015-06-05 12:42:09 -07:00
Ben Alpert
edee1c7ed7 Merge pull request #4035 from spicyj/dc-os
Convert select/option to not use wrappers
2015-06-05 12:41:34 -07:00
Benjamin Woodruff
0dab63b905 Merge pull request #4034 from PiPeep/eslint-rules-as-a-plugin
Load custom eslint rules as plugin, w/o --rulesdir
2015-06-05 10:43:02 -07:00
Ben Alpert
c6837507f9 Only enqueue attachRefs if refs are present
for #4036
2015-06-04 22:57:46 -07:00
Ben Alpert
06de43d73e Remove line length lint warning
...because the current situation isn't helpful; no one looks at the list. Our style guide hasn't changed.
2015-06-04 18:14:31 -07:00
Ben Alpert
abfd151b90 Convert select/option to not use wrappers 2015-06-04 18:13:54 -07:00
Ben Alpert
806ff23f03 Merge pull request #4033 from spicyj/dc-events
Convert form, iframe, img to not use wrappers
2015-06-04 17:23:48 -07:00
Benjamin Woodruff
30cce21ae6 Load custom eslint rules as plugin, w/o --rulesdir
This allows us to load the eslint rules without requiring command-line
arguments, which avoids breaking editors with eslint plugins.

https://github.com/eslint/eslint/issues/2180#issuecomment-87722150
2015-06-04 17:04:45 -07:00
Benjamin Woodruff
58302a71c4 Merge pull request #4032 from PiPeep/babel-eslint-no-unused-vars
Roll back to babel-eslint 3.1.9
2015-06-04 15:53:04 -07:00
Ben Alpert
a825380840 Convert form, iframe, img to not use wrappers
Test Plan:
Tested manually that rendering an `<img />` triggers its onLoad handler.
2015-06-04 15:52:34 -07:00
Benjamin Woodruff
40eb94d13e Roll back to babel-eslint 3.1.9
spicyj noticed newer versions of babel-eslint seemed not to error on
no-unused-vars, and I was able to repro. It seems like something broke
between 3.1.9 and 3.1.10. (Smaller repro case and babel-eslint bug
report to come)

His commit failed on travis, but not on his local machine:
https://travis-ci.org/facebook/react/jobs/65468729
2015-06-04 15:43:41 -07:00
Benjamin Woodruff
1f307ae118 Merge pull request #4029 from PiPeep/warning-invariant-rules-take-two
Fix problems with/improve warning and invariant rules (take two)
2015-06-04 15:10:13 -07:00
Benjamin Woodruff
2fa1b2c810 Attempt to simplify/fix warnAndMonitorForKeyUse
> The two callers of this function have different warning configs
> internally (static_upstream/core/createWarning.js) so we can't sync it
> like this without changing behavior. We should just split this out
> into two separate warning calls probably – this code is a little
> overabstracted.

https://github.com/facebook/react/pull/4021#discussion_r31690020
@spicyj

I think completely removing warnAndMonitorForKeyUse is a bit difficult, without
duplicating a ton of code. This at least ensures that the format string passed
to `warning` is unique. Plus, because the FB internal code in question only
matches the beginning of the format string, I think there should be zero
internal changes that need to be made to support this refactor.
2015-06-04 15:07:17 -07:00
Paul O’Shannessy
da27129f73 Merge pull request #3913 from edvinerikson/edvinerikson/better-warning-message
Added component displayName to warning message in ReactUpdateQueue.js
2015-06-04 15:00:36 -07:00
Ben Alpert
aacd7ac57d Merge pull request #4030 from spicyj/dc-button
Convert ReactDOMButton
2015-06-04 14:47:58 -07:00
Benjamin Woodruff
c91fd8ac14 Check warning/invariant calls have good messages
The `warning` implementation checked that the message is long enough to
be useful. See commit f5038829d for more information.

It makes more sense to move this into a lint rule, and also to apply it
for both `warning` and `invariant`. We can safely remove stuff from the
`warning` implementation as we replace the function internally anyways.

https://github.com/facebook/react/pull/4021#issuecomment-108694976
@spicyj
2015-06-04 14:19:22 -07:00
Ben Alpert
9dbc29e276 Convert ReactDOMButton 2015-06-04 13:59:32 -07:00
Sebastian Markbåge
2d9a0846f1 Merge pull request #3940 from troutowicz/context_processing
Process childContextTypes via internal constructor
2015-06-04 13:54:14 -07:00
Ben Alpert
d993475e9e Merge pull request #4027 from spicyj/dc-textarea
Convert ReactDOMTextarea to not be a wrapper
2015-06-04 13:53:43 -07:00
Ben Alpert
67a4f0e852 Merge pull request #4028 from spicyj/npm-run-lint
Fix `npm run lint`
2015-06-04 13:37:00 -07:00
Ben Alpert
d2e7e56cc4 Convert ReactDOMTextarea to not be a wrapper 2015-06-04 13:36:46 -07:00
Paul O’Shannessy
2b195cb1ca Merge pull request #3941 from troutowicz/testing_type
Assert instance type using internal constructor
2015-06-04 13:31:23 -07:00
Ben Alpert
b1538e36e3 Fix npm run lint
Broke in #4021.
2015-06-04 13:20:42 -07:00
Paul O’Shannessy
d3db430baf Merge pull request #4022 from zpao/fix-undefined-location
Use correct location when running LinkedValueUtils proptype checks
2015-06-04 13:02:54 -07:00
Edvin Erikson
fa9382654a reversed line 54 (no-op message) in ReactUpdateQueue.js and added it to the line above 2015-06-04 21:47:35 +02:00
Edvin Erikson
58edaab705 Added component displayName to warning message in ReactUpdateQueue.js 2015-06-04 21:47:34 +02:00
Ben Alpert
e04015a4a2 Merge pull request #4011 from spicyj/cfpc
Inline createFullPageComponent in ReactDOMComponent
2015-06-04 12:44:02 -07:00
Benjamin Woodruff
aecc48d877 Fix wording of warning-and-invariant-args linter
The wording for an incorrect number of arguments based on counting %s
substitutions. The previous wording was backwards and a bit yoda-like
leading to possible ambiguity.
2015-06-04 10:51:15 -07:00
Benjamin Woodruff
9760e13f36 Merge pull request #4007 from PiPeep/eslint-plugin-react
Enable more eslint-plugin-react rules
2015-06-04 09:51:47 -07:00
Benjamin Woodruff
c04a9e632c Enable react/wrap-multilines eslint rule
Multiline jsx literals in a return should be paren-wrapped.
2015-06-04 09:44:47 -07:00
Benjamin Woodruff
f41abdf70f Enable more eslint-plugin-react rules
This should contain all the rules we probably want to use, except
react/wrap-multilines, which requires a larger codemod, and would
clutter this commit.
2015-06-04 09:43:16 -07:00
Paul O’Shannessy
6b79977c31 Merge pull request #3416 from koba04/remove-jshint
Remove the codes relating to jshint
2015-06-03 19:45:51 -07:00
Benjamin Woodruff
56771b6701 Merge pull request #4021 from PiPeep/warning-invariant-rules
Add custom eslint rule for warning and invariant
2015-06-03 19:03:41 -07:00
Toru Kobayashi
ce46068def Remove the codes relating to jshint 2015-06-04 09:32:37 +09:00
Benjamin Woodruff
17e7046754 Add custom eslint rule for warning and invariant
See #2869

Checks that the *second* argument of warning and invariant are a literal
string, or a concatination of literal strings, and that the number of
arguments is correct based on the number of %s substrings.

This commit also fixes a few places where the existing code had broken
error messages!

The rule itself is pretty straightforward, although adding the tests
ended up being a bit painful, as eslint-tester depends on mocha, and
therefore needs to be run in a separate grunt task.
2015-06-03 17:19:32 -07:00
Paul O’Shannessy
ec289c27f9 Use correct location when running LinkedValueUtils proptype checks 2015-06-03 16:45:58 -07:00
Jim
9a02ea246d Merge pull request #3067 from jimfb/arbitrary-attributes-for-dash-elements
Support arbitrary attributes on elements with dashes in the tag name.
2015-06-03 12:52:54 -07:00
Ben Alpert
fc341c5537 Inline createFullPageComponent in ReactDOMComponent 2015-06-02 17:24:06 -07:00
Benjamin Woodruff
4c3e9650ba Merge pull request #3998 from PiPeep/comma-dangle
Switch to using comma-dangle: always-multiline
2015-06-02 17:02:39 -07:00
Benjamin Woodruff
95edacc994 Remove /*eslint-disable comma-dangle*/ comments
Commit 9d3f7f30ba3ba55cbfd98b26fdd2cc7289716650 reverses the rule, so
these comments aren't needed anymore.
2015-06-02 16:57:43 -07:00
Benjamin Woodruff
c089eece50 Switch to using comma-dangle: always-multiline
This is a machine-generated codemod, but it's pretty safe since it was
generated by hooking into eslint's own report.

A few files had to be touched up by hand because there were existing
formatting issues with nested arrays/objects:

src/shared/utils/__tests__/OrderedMap-test.js
src/shared/utils/__tests__/Transaction-test.js
src/shared/utils/__tests__/traverseAllChildren-test.js
src/isomorphic/children/__tests__/ReactChildren-test.js
2015-06-02 16:57:26 -07:00
Jim
e0e8270c9d Merge pull request #4009 from jimfb/kill-.type
Kill .type (was deprecated in 0.13, to be removed in 0.14)
2015-06-02 14:03:26 -07:00
Jim
c9153e6462 Kill .type (was deprecated in 0.13, to be removed in 0.14) 2015-06-02 13:36:51 -07:00
Jim
b1db817dc5 Support arbitrary attributes on elements with dashes in the tag name. 2015-06-02 11:57:29 -07:00
Paul O’Shannessy
0e37fde307 Merge pull request #4006 from cody/console
Remove debug message
2015-06-02 11:31:01 -07:00
Stefan Dombrowski
3e0de40d3a Remove debug message 2015-06-02 19:31:26 +02:00
Ben Alpert
1af9b54561 Merge pull request #3930 from Wildhoney/add-is-attribute
Added 'is' attribute for custom elements
2015-06-02 02:47:33 -07:00
Wildhoney
0d060d135f Added 'is' attribute 2015-06-02 10:42:31 +01:00
Ben Alpert
8c2a4991eb Merge pull request #3976 from spicyj/no-wrapper
Make DOM wrapper component using lower-level primitives
2015-06-01 20:20:20 -07:00
Ben Alpert
52a229f168 Make DOM wrapper component using lower-level primitives
Introducing: a really lame version of composite components, right inside of ReactDOMComponent!

Now ReactDOMInput isn't an actual component. This brings us closer to exposing DOM nodes as refs.
2015-06-01 20:16:01 -07:00
Jim
db82ed09c5 Merge pull request #3999 from jimfb/more-context-cleanup
Removed ReactContext (cleanup)
2015-06-01 17:08:23 -07:00
Jim
5ebcd9d89b Removed ReactContext (cleanup) 2015-06-01 16:46:45 -07:00
Paul O’Shannessy
1a2a54b947 Merge pull request #3988 from jrobison153/troubleshooting_docs
Troubleshooting documentation
2015-06-01 16:33:33 -07:00
Benjamin Woodruff
13823ec218 Merge pull request #3985 from PiPeep/eslint-tests
Enable linting for __tests__
2015-06-01 16:05:42 -07:00
Benjamin Woodruff
21ca3f732f Enable linting for __tests__
Closes #3971.

> After #3968, the next thing we should do is start linting our tests.
> Historically we've ignored them due to lack of parser compatibility.
> But that shouldn't be a problem anymore. We may want to integrate
> https://www.npmjs.com/package/eslint-plugin-react to more aggressively
> lint our JSX in tests.

I understand this diff touches a lot of stuff, so I tried to keep it to
a near-minimal set of changes to make eslint happy.
2015-06-01 16:01:03 -07:00
Paul O’Shannessy
659fda1f1c Merge pull request #3997 from donabrams/patch-1
Trivial misspelling in enqueueForceUpdate docs
2015-06-01 12:36:49 -07:00
Don Abrams
8074136bcb Trivial mispelling in docs 2015-06-01 13:28:20 -06:00
Ben Alpert
f661d7c407 Merge pull request #3993 from arianf/doctype
added missing DOCTYPE
2015-05-31 19:58:15 -07:00
Arian Faurtosh
f8f92f4169 added missing DOCTYPE 2015-05-31 19:41:01 -07:00
Ben Alpert
2fbe15e370 Merge pull request #3992 from thorn0/patch-1
Remove envify from the basic-commonjs example
2015-05-31 15:31:34 -07:00
thorn0
58492362c5 Remove envify from the basic-commonjs example
`envify` is installed as a dependency of the `react` package. There is no need in installing it one more time
2015-06-01 01:09:46 +03:00
jrobison
361f73a43e Addition of troubleshooting section 2015-05-30 05:20:29 -04:00
Paul O’Shannessy
38acadf6f4 Merge pull request #3975 from marocchino/update-korean
Update Korean transltaion to 58fb322
2015-05-29 14:25:35 -07:00
Paul O’Shannessy
fa56c52563 Merge pull request #3980 from cody/http
Revert links to non-https fiddles back to http in old blog posts
2015-05-29 14:23:19 -07:00
Stefan Dombrowski
cd54876518 Revert links to non-https fiddles back to http in old blog posts 2015-05-29 09:45:48 +02:00
Ben Alpert
54e3f12877 Merge pull request #3977 from spicyj/jest-lines
Retain lines in babel under jest
2015-05-28 16:10:28 -07:00
Ben Alpert
049fd9a902 Retain lines in babel under jest
Now stack trace lines are actually useful.
2015-05-28 16:09:25 -07:00
Shim Won
6a4617a4cd Update Korean transltaion to 58fb322 2015-05-29 07:53:21 +09:00
Benjamin Woodruff
58fb322e21 Use babel-eslint and update eslint
-   Removes esprima-fb dependency
-   Tightens up eslintrc with some minor rules we were pretty-much
    following anyways.
-   Adds pretty colors to the `grunt lint` output
-   Breaks block-scoped-var :(
2015-05-28 09:42:55 -07:00
Paul O’Shannessy
1df466b23a Merge pull request #3967 from jamischarles/master
Added challenge, keyParams and keyType on <keygen>
2015-05-28 09:32:10 -07:00
Jim
74915803a8 Merge pull request #3970 from jimfb/remove-_context
Removed ReactElement._context (cleanup)
2015-05-27 17:09:53 -07:00
Ben Alpert
8471cc5f47 0.14.0-alpha3 2015-05-27 16:47:35 -07:00
Jim
4e129220a6 Removed ReactElement._context (cleanup) 2015-05-27 16:37:11 -07:00
Ben Alpert
34f8a0d6da Merge pull request #3969 from spicyj/pt
Fix PropTypes.{oneOf, oneOfType} validation
2015-05-27 16:07:48 -07:00
Ben Alpert
ac349cfbe5 Fix PropTypes.{oneOf, oneOfType} validation
Follow-up to #3963. (Returning an Error wasn't useful; it just caused a later error when actually using it because type checkers need to be functions.)
2015-05-27 15:58:16 -07:00
Jamis Charles
dc01c0e66d Added challenge, keyParams and keyType on <keygen>
Chrome allowed some of these to be 'null' (allow `node.challenge` etc),
but FF didn't work. This will tell React to use node.setAttribute() to
set these values.

Tested in FF, Chrome, Safari. <keygen> isn't supported on IE.

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/keygen
2015-05-27 11:56:23 -07:00
Ben Alpert
f44bf7e67a Merge pull request #3966 from spicyj/no-worker-test
Remove web worker test
2015-05-27 10:53:53 -07:00
Ben Alpert
12ea09a03c Remove web worker test 2015-05-27 10:52:32 -07:00
Paul O’Shannessy
1503994821 Merge pull request #3963 from alansouzati/REACT_PROP_ARRAY_VALIDATION
Adding validation for array in ReactPropTypes.
2015-05-26 16:42:49 -07:00
Alan Souza
5d55bbc1b7 Adding validation for array in ReactPropTypes. 2015-05-26 15:54:31 -07:00
Paul O’Shannessy
3e1349bb65 Merge pull request #3950 from cody/capture
Add capture to supported attributes
2015-05-26 11:34:35 -07:00
Stefan Dombrowski
3092454940 Add capture to supported attributes 2015-05-24 21:20:40 +02:00
Jim
e1dd3cd8a1 Merge pull request #3923 from jimfb/fix-grunt-test-debug
Fixed failing unit tests in browsers that don't support WebComponents
2015-05-22 13:48:03 -07:00
Jim
7108c8a624 Fixed failing unit tests in browsers that don't support WebComponents 2015-05-22 13:27:52 -07:00
Tim Routowicz
f1e32a06e0 Assert instance type using internal constructor 2015-05-22 16:13:06 -04:00
Tim Routowicz
d7843fe4d2 Process childContextTypes via internal constructor 2015-05-22 16:07:51 -04:00
Christopher Chedeau
b249799bc7 Merge pull request #3938 from vjeux/blog_rn_release_process
[Blog post] React Native Release Process
2015-05-22 12:37:55 -07:00
Christopher Chedeau
516b623121 [Blog post] React Native Release Process 2015-05-22 12:34:43 -07:00
Ben Alpert
e1a9e429d3 Merge pull request #3934 from spicyj/gh-3921
Dedupe warnings in validateDOMNesting
2015-05-22 10:33:36 -07:00
Paul O’Shannessy
a78be9856a Merge pull request #3935 from julen/docs/transition-group
Docs: value for `transitionAppear` must be boolean
2015-05-22 10:21:58 -07:00
Julen Ruiz Aizpuru
c041356178 Docs: value for transitionAppear must be boolean 2015-05-22 15:22:22 +02:00
Ben Alpert
08b55e1c4f Dedupe warnings in validateDOMNesting
Fixes #3921.
2015-05-22 01:14:40 -07:00
Ben Alpert
e772c465e4 Merge pull request #3909 from spicyj/tir-redirect
Redirect Thinking in React blog post to docs
2015-05-21 22:09:48 -07:00
Ben Alpert
1d5e8c2387 Redirect Thinking in React blog post to docs
Much easier to keep this updated if it only exists in one place. Added the byline because otherwise the voice of the post doesn't sound quite right.
2015-05-21 22:09:21 -07:00
Paul O’Shannessy
a30c87525f Merge pull request #3788 from zpao/better-invariantwarning-replacement
Better invariant / warning replacement
2015-05-21 19:42:22 -07:00
Paul O’Shannessy
02f1626725 Better invariant / warning replacement 2015-05-21 19:20:56 -07:00
Ben Alpert
4aa7bffff5 Merge pull request #3931 from marocchino/update-korean
Update Korean transltaion to 5bee4a5
2015-05-21 18:33:09 -07:00
Shim Won
401caf2f96 Update Korean transltaion to 5bee4a5 2015-05-22 09:03:54 +09:00
Paul O’Shannessy
5bee4a5e29 Merge pull request #3803 from zpao/docs-fancy-authors
[docs] Give authors links.
2015-05-21 11:34:31 -07:00
Paul O’Shannessy
81950edeb1 [docs] Give authors links. 2015-05-21 11:32:38 -07:00
Paul O’Shannessy
924328b436 Update website with 0.13.3 builds
(cherry picked from commit 107ce2b80d)
2015-05-21 10:53:33 -07:00
Paul O’Shannessy
7425685c27 v0.13.3 blog post
(cherry picked from commit 179b6380cf)
2015-05-21 10:51:51 -07:00
Paul O’Shannessy
44a6cdf2bf Changelog for 0.13.3
(cherry picked from commit 95e864fd07)
2015-05-21 10:51:45 -07:00
Paul O’Shannessy
314ee6d635 Readme for 0.13.3
(cherry picked from commit 1d950ddbd4)
2015-05-21 10:51:39 -07:00
Paul O’Shannessy
631f3a4f59 Fix docs for #3690
(cherry picked from commit 2668de126c)
2015-05-21 10:51:21 -07:00
Paul O’Shannessy
f1cfd29e7e Merge pull request #3912 from laskos/shallow-context-pass
Add shallow context pass test
2015-05-20 15:11:31 -07:00
Sławomir Laskowski
2c83627ca8 Add shallow context pass test 2015-05-21 00:08:31 +02:00
Ben Alpert
e5f935636d Merge pull request #3917 from spicyj/option-context
Pass context to DOM wrappers, use it in <option>
2015-05-20 15:02:53 -07:00
Paul O’Shannessy
b687a22953 0.14.0-alpha2 2015-05-20 13:37:42 -07:00
Ben Alpert
2fafe3eb76 Pass context to DOM wrappers, use it in <option> 2015-05-20 12:30:51 -07:00
Paul O’Shannessy
a6485e11e7 Merge pull request #3896 from zpao/babel-ignore-web-components
Ignore third_party JS in internal transform step
2015-05-20 11:08:43 -07:00
Paul O’Shannessy
021574e07d [docs] Fix 404 due to relative url
Closes #3914
2015-05-20 10:15:35 -07:00
Ben Alpert
1d7da35153 Merge pull request #3910 from spicyj/gh-3904
Clarify tutorial instructions
2015-05-19 20:36:12 -07:00
Ben Alpert
c157ce3599 Clarify tutorial instructions
Fixes #3904.
2015-05-19 19:27:01 -07:00
Ben Alpert
34e2427f72 Merge pull request #3908 from spicyj/lint
Remove unused variable
2015-05-19 18:39:05 -07:00
Ben Alpert
a43b6fec45 Remove unused variable 2015-05-19 16:23:10 -07:00
Paul O’Shannessy
4cf39ef195 Merge pull request #3905 from troeggla/replace-getdomnode
Replaced call to deprected .getDOMNode() with React.findDOMNode().
2015-05-19 10:59:26 -07:00
Thomas Röggla
210dc90c95 Replaced call to deprected .getDOMNode() with React.findDOMNode().
The code sample in tip 18 in the docs contained a call to the
.getDOMNode() method which has been deprecated. The method call was
replaced with a call to React.findDOMNode(), which is the preferred way
of getting DOM nodes from a ref.
2015-05-19 18:32:07 +02:00
Ben Alpert
e47fa115bb Merge pull request #3883 from spicyj/revert-nested
Revert "Add key warning to nested collections"
2015-05-18 23:11:29 -07:00
Ben Alpert
69e6ab5083 Add test for DOM node as this.props.children 2015-05-18 23:11:07 -07:00
Ben Alpert
39402fe75d Revert "Add key warning to nested collections"
This heuristic isn't great because it relies on inspecting deep children which aren't guaranteed to be React elements. In particular, this was causing stack overflows in a component we had that used a *DOM node* as children, like `<DOMContainer>{node}</DOMContainer>`.

This reverts commits:
0a3aa8493a
64c9d9d762
0c58f4f6b1
8cf226e442
086636747f
2015-05-18 23:11:07 -07:00
Paul O’Shannessy
6502da8f8d Merge pull request #3894 from bhamodi/patch-2
Update Styling Guide in Contributing Docs
2015-05-18 10:53:09 -07:00
Paul O’Shannessy
9308a8abe6 Merge pull request #3892 from spicyj/docs-wwb
[docs] Clarify wording in Working with the Browser
2015-05-18 10:47:37 -07:00
Paul O’Shannessy
5b5e48a0d2 Ignore third_party JS in internal transform step 2015-05-18 09:50:13 -07:00
Baraa Hamodi
00342dfc26 Update Styling Guide in Contributing Docs 2015-05-17 23:38:40 -07:00
Ben Alpert
c7381ea48d [docs] Clarify wording in Working with the Browser
I think the change in #3889 misinterpreted this slightly; this makes it clearer.
2015-05-17 11:58:17 -07:00
Paul O’Shannessy
490d8835fc Merge pull request #3737 from Morhaus/nested-proptypes-warnings
Better warnings for nested propTypes
2015-05-16 12:09:29 -07:00
Paul O’Shannessy
095d4691ca Merge pull request #3888 from marocchino/korean-update
Update Korean Translation to 5275244
2015-05-16 12:03:42 -07:00
Paul O’Shannessy
97d338fd5b Merge pull request #3889 from garethnic/WorkBrowser
change wording in 'Working with the Browser'
2015-05-16 11:09:49 -07:00
Gareth Nicholson
07bfadf054 change wording 2015-05-16 15:55:29 +02:00
Shim Won
6f434b35ad Update Korean Translation to 5275244 2015-05-16 21:49:04 +09:00
Glen Mailer
0950f50753 Document boolean attributes in JSX 2015-05-16 12:00:14 +01:00
Sebastian Markbåge
5275244676 Merge pull request #3866 from sebmarkbage/coreapi
Reorganize Src Directory for Isomorphic React Package
2015-05-15 18:39:36 -07:00
Sebastian Markbage
0b063f8a09 Reorganize Src Files for Isomorphic React Package
The new folder structure is organized around major packages that are expected to ship separately in some form.

`/isomorphic`

I moved classic/modern and children utils into a directory called "isomorphic" with the main export being ReactIsomorphic. This will eventually become the "react" package.

This includes all the dependencies that you might need to create a component without dependencies on the renderer/reconciler.

The rest moves into decoupled renderers.

`/renderers/dom/client` - This is the main renderer for DOM.

`/renderers/dom/server` - This is the server-side renderer for HTML strings.

`/addons` and `/test` - Same as before for now.

You're not supposed to take on a dependency inside another package.

Shared code is organized into a "shared" directory which is intended to support all the packages in that subdirectory. Meaning that once we swap to CommonJS modules, the only time you should use `..` is to target `../shared/` or `../../shared`.

E.g. `/shared/` is common utils that are used by everything.

`/renderers/shared/` is code that is shared by all renderers, such as the main reconciliation algorithm.

Shared code will likely be copied into each package rather than referenced. This allow us to have separate state and allow inlining and deadcode elimination.
2015-05-15 18:35:22 -07:00
Paul O’Shannessy
bea5a57750 Merge pull request #3746 from chrisgrovers/patch-1
Fixed Formatting.
2015-05-15 18:09:44 -07:00
Paul O’Shannessy
c464e873fd Merge pull request #3874 from bhamodi/patch-1
Update CONTRIBUTING.md
2015-05-15 18:08:00 -07:00
Paul O’Shannessy
3ef24f73bb Merge pull request #3881 from ef718/docs-grammar
Fix punctuation and grammar
2015-05-15 17:57:36 -07:00
Paul O’Shannessy
cfa354415b Followup to #3852, use https 2015-05-15 17:51:57 -07:00
Ben Alpert
35e67a793e Merge pull request #3882 from wali-s/get-html5-minlength-working
Get HTML5 minlength working.
2015-05-15 15:51:14 -07:00
wali-s
aeb45360ed Get HTML5 minlength working.
Adding minLength=X to an input element would not work, whereas maxLength=X would work.

This change gets minLength=X working.
2015-05-15 15:47:15 -07:00
Ben Alpert
7112a35037 Merge pull request #3847 from bloodyowl/option-flatten-children
<option> added children flatten, & warn if invalid
2015-05-14 10:36:27 -07:00
Ben Alpert
69fc206f96 Merge pull request #3719 from spicyj/vdn2
Add more context to DOM nesting warning
2015-05-14 10:33:21 -07:00
Ben Alpert
5c7b4a043f Merge pull request #3651 from spicyj/tac-noi
Don't thread index through traverseAllChildren
2015-05-14 10:32:49 -07:00
Elaine Fang
d24cfa6405 Add punctuation 2015-05-14 13:15:06 -04:00
Matthias Le Brun
4a012b0741 <option> added children flatten, & warn if invalid 2015-05-14 12:44:04 +02:00
Morhaus
12a43d4eee Better warnings for nested propTypes
`arrayOf`, `shape` and `objectOf` warnings now display the full path of
the invalid key.
2015-05-14 11:33:07 +02:00
Baraa Hamodi
b276af5c0a Update CONTRIBUTING.md
Make the contributing sentence make a little bit more sense.
2015-05-13 23:17:31 -07:00
Ben Alpert
05b98ac70c Merge pull request #3872 from spicyj/nested-num
Split message for deep numeric key warning too
2015-05-13 15:32:13 -07:00
Paul O’Shannessy
db25a63c12 Merge pull request #3869 from zpao/jsx-cleanup
JSX -> Babel cleanup
2015-05-13 15:31:48 -07:00
Paul O’Shannessy
76d016c6f1 Use Babel to transform JS in docs, update other calls 2015-05-13 15:26:23 -07:00
Ben Alpert
0a3aa8493a Split message for deep numeric key warning too 2015-05-13 15:23:29 -07:00
Ben Alpert
922d531445 Merge pull request #3871 from spicyj/group
Deprecate reactjs Google Group
2015-05-13 15:16:51 -07:00
Ben Alpert
ffabf4b5ff Deprecate reactjs Google Group 2015-05-13 15:16:33 -07:00
Ben Alpert
51843ec710 Merge pull request #3870 from spicyj/gh-3865
Clarify ReactElement prop validation message
2015-05-13 15:14:00 -07:00
Ben Alpert
bed4de3eca Clarify ReactElement prop validation message
Fixes #3865.
2015-05-13 12:37:54 -07:00
Ben Alpert
67aea08b4f Merge pull request #3861 from spicyj/nested-v
Split out warning message for nested key warning
2015-05-13 11:51:11 -07:00
Paul O’Shannessy
555d5dc35c Merge pull request #3864 from cvrebert/patch-1
bower.json: remove moot `version` field
2015-05-13 11:12:10 -07:00
Paul O’Shannessy
9769f96974 [docs] Move pre-compiled JS files 2015-05-13 10:57:47 -07:00
Paul O’Shannessy
b258d34c73 Don't run non-existant fbtransform tests 2015-05-13 10:52:51 -07:00
Chris Rebert
73c84c8319 bower.json: remove moot version field
Per a325da3d79
2015-05-12 22:31:18 -07:00
Ben Alpert
64c9d9d762 Split out warning message for nested key warning
Also make sure to mark child array as validated in cloneElement as well.
2015-05-12 16:33:04 -07:00
Ben Alpert
f0bdadf85b Merge pull request #3857 from spicyj/dev-rckv
Set _reactChildKeysValidated in dev mode only
2015-05-11 17:06:18 -07:00
Ben Alpert
0c58f4f6b1 Set _reactChildKeysValidated in dev mode only 2015-05-11 17:02:49 -07:00
Jim
6b19cf9ce3 Merge pull request #3856 from chaseadamsio/chaseadamsio-patch-1
Change object typo to objects
2015-05-11 13:56:58 -07:00
Chase Adams
a21b82d151 Change object typo to objects 2015-05-11 13:29:14 -07:00
Paul O’Shannessy
1549bae2ab Merge pull request #3834 from chicoxyzzy/remove_jslint
remove jslint comments
2015-05-10 22:52:57 -07:00
Paul O’Shannessy
1748dc8131 Merge pull request #3837 from davidneat/transition-group-appear-high-level-docs
Added transitionAppear docs
2015-05-10 22:51:46 -07:00
Paul O’Shannessy
7839e07231 0.14.0-alpha1 2015-05-10 22:36:50 -07:00
Paul O’Shannessy
64014c4641 Fix esprima-fb dependency 2015-05-10 22:25:08 -07:00
Ben Alpert
0de20e35bc Merge pull request #3852 from thewarpaint/patch-1
Add Wikipedia link to Cross-site scripting article on "XSS attack" string
2015-05-10 13:28:10 -07:00
Eduardo Garcia
ee7d7487ea Add Wikipedia link to Cross-site scripting on "XSS attack" string 2015-05-10 15:22:12 -05:00
Ben Alpert
4ba67670f9 Merge pull request #3841 from spicyj/yolo
Preserve prototype with replaceState
2015-05-08 13:16:43 -07:00
Ben Alpert
d7de12fbd8 Preserve prototype with replaceState
Fixes #3418.
2015-05-08 13:11:18 -07:00
David Neubauer
f17a15a07d added animate initial mounting section to animation docs 2015-05-08 20:31:11 +02:00
Paul O’Shannessy
e135a4dbc3 Follow-up to follow-up to #3718
Cleaned up a few more ununsed things.
2015-05-07 17:29:31 -07:00
Paul O’Shannessy
4bb7abf8fe Merge pull request #3835 from zpao/fix-keys-keys-keys-test
Followup to #3758 so we actually test things
2015-05-07 17:15:11 -07:00
Paul O’Shannessy
5da94d6eb0 Followup to #3758 so we actually test things 2015-05-07 17:10:51 -07:00
chico
553dd90528 remove jslint comments 2015-05-08 03:05:51 +03:00
Paul O’Shannessy
29d548fe65 Merge pull request #3831 from MadLittleMods/tab-size-unit-less
Add support for unitless tabSize/tab-size
2015-05-07 13:09:17 -07:00
Eric Eastwood
60e1f5a103 Add support for unitless tabSize/tab-size 2015-05-07 13:51:15 -05:00
Paul O’Shannessy
d71965b988 Merge pull request #3828 from chicoxyzzy/patch-1
add a badge with latest npm package published
2015-05-07 11:29:16 -07:00
Paul O’Shannessy
72ad0c11c3 Merge pull request #3829 from murashki/ReactMultiChildText-test.js-__html-typo
ReactMultiChildText-test.js fix __html typo
2015-05-07 10:34:08 -07:00
Paul O’Shannessy
1c4965060b Merge pull request #3830 from gberg1/patch-1
Formatting of line 19 ReactNativeComponent.js
2015-05-07 10:17:29 -07:00
David Goldberg
759a393ce5 Formatting of line 19 ReactNativeComponent.js
Corrected formatting error on line 19 of ReactNativeComponent.js by adding a period in order to be consistent with the other comments in the file.
2015-05-07 10:09:00 -07:00
Yakov Dalinchuk
9b798400fd ReactMultiChildText-test.js fix __html typo 2015-05-07 16:06:11 +03:00
Sergey R
b157088e71 add a badge with latest npm package published 2015-05-07 02:21:37 +03:00
Ben Alpert
1db70dbef1 Merge pull request #3718 from framp/master
Added support for namespace attributes
2015-05-05 16:48:21 -07:00
Ben Alpert
5f32953ac7 Follow-ups for #3718
- Rename NamespaceProperties to DOMAttributeNamespaces
- Make tests pass in jest
- Remove unnecessary xmlns attributes
2015-05-05 16:46:49 -07:00
Federico Rampazzo
a88b655ccd Added support for namespace attributes 2015-05-05 16:15:25 -07:00
Paul O’Shannessy
2b9a74c0e6 Merge pull request #3777 from zpao/deprecate-react-tools
Deprecate react-tools
2015-05-05 11:06:15 -07:00
Paul O’Shannessy
d2fe87892d Remove transforms from repo, react-tools
Time to just use jstransform.
2015-05-05 10:51:51 -07:00
Jim
e0890664a7 Merge pull request #3815 from neojski/isMounted-should-return-boolean
IsMounted should always return a boolean.
2015-05-05 02:51:49 -07:00
Tomasz Kołodziejski
5ef0b416df IsMounted should always return a boolean.
Fixes #3814. isMounted used to return undefined if internalInstance
was undefined after component was unmounted.
2015-05-05 11:43:09 +02:00
Ben Alpert
5509cd74a4 Merge pull request #3813 from spicyj/babel
Replace vendor/constants recast transform with babel
2015-05-04 17:43:14 -07:00
Ben Alpert
ceb92cd78c Replace vendor/constants recast transform with babel
Built files look the same up to parenthesization and quoting. This only saves 1.5 seconds out of ~20 on a clean build but it's a little simpler.
2015-05-04 17:05:42 -07:00
Paul O’Shannessy
aee3614d80 Merge pull request #3778 from masterfung/docs-update
updated some typos, grammers, and made sentences sound better
2015-05-04 16:27:38 -07:00
Tsung Hung
f34c2eab40 updated some typos, grammers, and made sentences sound better 2015-05-04 16:26:14 -07:00
Ben Alpert
a110c76558 Merge pull request #3801 from spicyj/babel
Use Babel to build React
2015-05-04 16:14:00 -07:00
Ben Alpert
8897b00989 Remove es3ify 2015-05-04 16:13:36 -07:00
Ben Alpert
93a782b40b Use Babel to build React
Size comparison:

```
   raw     gz Compared to master @ 6ed98ec0c8
     =      = build/JSXTransformer.js
-15736  -3247 build/react-with-addons.js
  +287     +7 build/react-with-addons.min.js
-14412  -2887 build/react.js
  +274    +15 build/react.min.js
```

Differences mostly look to be various bits of whitespace that Babel ends up removing during its transforms (https://gist.github.com/spicyj/21ef31f4d95fb7a58daf). In minified files, mostly additions of `"use strict";`.
2015-05-04 14:14:09 -07:00
Henry Zhu
0937e918aa jsdoc fixes 2015-05-04 16:04:49 -04:00
Ben Alpert
dc08ae4043 Merge pull request #3805 from hejld/master
Removed redundant grave accent character from Component API docs
2015-05-02 23:00:07 -07:00
Daniel Hejl
f81d52b854 Removed redundant grave accent character from Component API docs 2015-05-02 22:22:20 -07:00
Ben Alpert
70e64ef099 Merge pull request #3797 from marocchino/update-korean
Update Korean Translation to 9484d0f
2015-05-02 12:35:06 -07:00
Ben Alpert
a6d03f36a4 Merge pull request #3802 from spicyj/cleaner-depr
Better warning messages for deprecated methods
2015-05-02 10:05:30 -07:00
Paul O’Shannessy
c8d40e0f65 Update 2015-05-01-graphql-introduction.md
Typo
2015-05-01 17:01:17 -07:00
Ben Alpert
e06d3e0ab9 Better warning messages for deprecated methods 2015-05-01 13:32:31 -07:00
Paul O’Shannessy
b264372e2b Fix a couple grammar issues in GraphQL blog post 2015-05-01 12:36:30 -07:00
Paul O’Shannessy
693da719a3 GraphQL Introduction Blog Post 2015-05-01 11:18:44 -07:00
Jim
6ed98ec0c8 Merge pull request #3794 from jsfb/fix-thinking-in-react-blog-post
Fixed jsfiddles broken on https.  Fixes 3735.
2015-05-01 10:47:12 -07:00
Shim Won
ee38a36f50 Update Korean Translation to 9484d0f 2015-05-01 09:09:09 +09:00
Ben Alpert
9484d0fc39 Merge pull request #3795 from spicyj/batch-unmount
Batch updates within top-level unmount
2015-04-30 15:05:55 -07:00
Ben Alpert
36f3a2aaff Batch updates within top-level unmount
Analogous change to #2935.
2015-04-30 15:05:44 -07:00
Jim
34b99cc69e Fixed jsfiddles broken from https conversion. Fixes 3735 2015-04-30 13:05:53 -07:00
Ben Alpert
a092b47be5 Merge pull request #3785 from iamdustan/addons
npm build: create addons directory that loads from lib. Closes #3780
2015-04-29 15:31:20 -07:00
Dustan Kasten
5cfb712088 npm build: create addons directory that loads from lib. Closes #3780 2015-04-29 18:25:36 -04:00
Ben Alpert
571c327438 Merge pull request #3786 from HurricaneJames/master
check that React renders the menuitem closing tag
2015-04-29 14:43:16 -07:00
James Burnett
d42bf671d2 check that React renders the menuitem closing tag 2015-04-29 17:32:56 -04:00
Ben Alpert
64b1f05e75 Add more context to DOM nesting warning
Better version of #3578.
2015-04-29 14:20:23 -07:00
Ben Alpert
a56d0d6dc5 Merge pull request #3781 from spicyj/elval
Fix infinite recursion in browsers with iterators
2015-04-29 13:54:08 -07:00
Paul O’Shannessy
1427522151 Merge pull request #3784 from ef718/docs-punctuation
Add punctuation
2015-04-29 12:40:41 -07:00
Elaine Fang
50e974b5b6 Add punctuation 2015-04-29 11:07:48 -04:00
Ben Alpert
8cf226e442 Fix infinite recursion in browsers with iterators
My old code here didn't work properly -- for a string child, getIteratorFn would return an iterator that gave each character as its own string, and we'd attempt to loop over that too.

Tests now work in Chrome again.
2015-04-29 00:21:00 -07:00
Paul O’Shannessy
92e82c91a5 Merge pull request #3779 from katzoo/dry-quadratic-example
DRY quadratic formula example
2015-04-28 18:03:15 -07:00
katzoo
065f13a968 DRY quadratic formula example 2015-04-29 02:50:53 +02:00
Ben Alpert
1d8025258a Merge pull request #3722 from spicyj/travis-rel-grunt
Use local `grunt` executable on Travis
2015-04-28 14:55:34 -07:00
Ben Alpert
e534e0730e Use local grunt executable on Travis
Builds have been flaky lately. Maybe this will help?
2015-04-28 14:45:55 -07:00
Jim
49de80e692 Merge pull request #3767 from kubosho/patch-1
Use jQuery 2.1.3 (latest) to be up-to-date and consistent with other docs)
2015-04-28 06:42:52 -07:00
Shota Kubota
d376e12a9c Fix differences a jQuery CDN URLs, fixes #3750.
unify to `https://code.jquery.com/jquery-2.1.3.min.js`.
2015-04-28 22:27:46 +09:00
alexpien
6e5b0248db Update 10.1-animation.md
Custom classes
2015-04-27 19:16:24 -07:00
alexpien
039110f8bf Allow ReactCSSTransitionGroup to also take in object containing classNames instead of relying on manipulation of the transitionName property 2015-04-27 18:56:00 -07:00
Jim
40119404b9 Merge pull request #3740 from jsfb/element-is-parent-of-render-result-test
Added unit test to verify that context treats the component doing a render() as the parent.
2015-04-27 16:11:39 -07:00
Ben Alpert
3b10a7b038 Add forgotten clipPath wrapper in getMarkupWrap 2015-04-27 15:39:39 -07:00
codesuki
e3cf48cd7f Added support for SVG clipPath element and clip-path attribute 2015-04-27 15:37:23 -07:00
Jim
9a950e9a19 Added unit test to verify that context treats the component doing a render() as the parent. 2015-04-27 14:56:25 -07:00
Ben Alpert
d359319073 Merge pull request #3758 from spicyj/keys-keys-keys
Add key warning to nested collections
2015-04-27 14:51:30 -07:00
Ben Alpert
086636747f Add key warning to nested collections
Also when reusing elements in multiple contexts -- before we were mutating each element to indicate its validity; now we mutate the array containing it (which we create, in the case of rest-arg children).

Fixes #2496. Fixes #3348.
2015-04-27 14:41:25 -07:00
Ben Alpert
adcb420414 Merge pull request #3757 from spicyj/es6
Add missing super() calls
2015-04-27 14:31:03 -07:00
Ben Alpert
2d1a24e8df Add missing super() calls
Babel complains without these because it's invalid ES6.
2015-04-27 13:41:10 -07:00
Ben Alpert
8e9deff3cc Merge pull request #3749 from VictorKoenders/master
unmountChildren was missing an Object.hasOwnProperty check (src/core/ReactChildReconciler.js)
2015-04-26 15:09:48 -07:00
Victor Koenders
ed4daba87d src/core/ReactChildReconciler.js::unmountChildren was missing an Object.hasOwnProperty check 2015-04-26 13:54:16 +02:00
Cheng Lou
86dee966a4 Merge pull request #3747 from jayeszee/patch-1
Missing punctuations in comments.
2015-04-26 00:23:43 -04:00
Jack Zhang
f7a9a6c480 Missing punctuations in comments.
Added periods to two comment lines to ensure uniform format.
2015-04-25 20:50:30 -07:00
Chris Grovers
91029ffac1 Fixed Formatting. 2015-04-25 15:06:59 -07:00
Matthew Miner
aa9274991d Treat boxOrdinalGroup and flexOrder as unitless. 2015-04-24 17:05:07 -07:00
Cheng Lou
f6ae856797 Merge pull request #3739 from chenglou/style-mut-comments
Tweak style mutation warning, remove test comment
2015-04-24 15:08:24 -04:00
Cheng Lou
1df2b6f638 Tweak style mutation warning, remove test comment 2015-04-24 15:04:05 -04:00
Cheng Lou
288c7ed139 Merge pull request #2027 from chenglou/warn-style-mutation
Set up `style` mutation monitoring
2015-04-24 14:51:33 -04:00
Paul O’Shannessy
4dbccea975 Merge pull request #3734 from marocchino/update-korean
Update Translation to 0183f70
2015-04-23 23:03:47 -07:00
Shim Won
8d0937e60d Update Translation to 0183f70 2015-04-24 09:15:46 +09:00
Ben Alpert
0183f70797 Merge pull request #3727 from spicyj/dsih
Relax dangerouslySetInnerHTML validation
2015-04-22 17:37:40 -07:00
mheiber
39442aaa84 Update cloneWithProps documentation
Updated documentation to reflect that using React.cloneElement is the new way to copy an element and preserve `key` and `ref`.

Fixes #3432, closes #3447.
2015-04-22 17:05:59 -07:00
Ben Alpert
7f02455220 Relax dangerouslySetInnerHTML validation
Fixes #3460.
2015-04-22 16:59:50 -07:00
Ben Alpert
a171474348 Merge pull request #3429 from AoDev/patch-1
Add a note about react classe name convention
2015-04-22 16:11:56 -07:00
Jim
41348ba911 Merge pull request #3640 from jsfb/render-subtree-pass-context
Provide top level method for rendering subtree (passes context)
2015-04-22 14:29:06 -07:00
Jim
c93b4245cb Provide top level method for rendering subtree (passes context) 2015-04-22 14:25:29 -07:00
Jim
1a5fe9fd13 Merge pull request #3723 from jsfb/fix-bad-homepage-link
Fix bad links in docs.  Fixes #3654.
2015-04-22 13:35:02 -07:00
Jim
d900541021 Fix bad links in docs. Fixes #3654. 2015-04-22 13:17:39 -07:00
Ben Alpert
3c66b8f0f7 Merge pull request #3665 from mridgway/replaceHasOwnProperty
[performance] Replace hasOwnProperty in child processing with typeof undefined check
2015-04-22 11:21:38 -07:00
Scott Feeney
d235940037 Merge pull request #3716 from graue/optional-shallow-render-context
Shallow render components that define contextTypes
2015-04-22 10:54:40 -07:00
Paul O’Shannessy
5b42e895c1 Merge pull request #3691 from jonscottclark/patch-1
Add 'cache: false' to $.ajax when fetching comments (docs/tutorial)
2015-04-22 09:57:58 -07:00
Paul O’Shannessy
4f285b7ba0 Merge pull request #3676 from zpao/rm-withContext
Remove withContext from top-level API
2015-04-22 09:45:26 -07:00
Jon Scott Clark
f4a6644f4e Fix line highlighting in code blocks due to addition of extra example code 2015-04-22 10:45:15 -04:00
Scott Feeney
df937af91c Shallow render components that define contextTypes
You now no longer have to pass an undocumented extra argument to the
shallow renderer for rendering components with contextTypes to work.

Fixes #3696
2015-04-21 16:17:06 -07:00
Paul O’Shannessy
f0c7fa3098 Merge pull request #3712 from zpao/changelog-jsxtransformer
Update Changelog for 0.13 to mention JSXTransfomer change
2015-04-21 15:04:43 -07:00
Paul O’Shannessy
73cad28e22 Update Changelog for 0.13 to mention JSXTransfomer change 2015-04-21 15:04:13 -07:00
Ben Alpert
cc412367dd Merge pull request #3706 from spicyj/no-raf
Remove ReactRAFBatchingStrategy
2015-04-20 13:41:46 -07:00
Ben Alpert
302f0a1f5a Remove ReactRAFBatchingStrategy
We don't use or support this, so let's just delete it. (#3570)
2015-04-20 12:09:15 -07:00
Paul O’Shannessy
088d71c7c1 Merge pull request #3693 from reedloden/swap-http-to-https
SSL/TLSize all the things! (convert http:// to https:// where appropriate)
2015-04-20 11:02:29 -07:00
Paul O’Shannessy
7b89989c47 Merge pull request #3705 from zpao/doc/update-supported-attrs
[docs] Update supported HTML attributes
2015-04-20 10:45:36 -07:00
Jim
e5747b8ffb Merge pull request #3697 from basecode/improve-pooler-tests
Improve `PooledClass` tests
2015-04-20 10:41:18 -07:00
Paul O’Shannessy
1dff5a2009 [docs] Update supported HTML attributes 2015-04-20 09:56:55 -07:00
Paul O’Shannessy
cfc734bb33 Merge pull request #3703 from JimBobSquarePants/patch-1
Example is JSX not JS.
2015-04-20 09:40:23 -07:00
James South
8972ad921f Example is JSX not JS. 2015-04-20 14:26:39 +01:00
Tobias Reiss
e2fa43031e should call new and old constructor with arguments 2015-04-20 00:43:55 +02:00
Paul O’Shannessy
ec31267e1c Merge pull request #3694 from adamzap/fix-tutorial-line-highlighting
Fix missing line highlight in tutorial
2015-04-19 15:21:59 -07:00
Reed Loden
3e8951e8c7 SSL/TLSize all the things! (convert http:// to https:// where appropriate)
Update links to use https:// where it is supported. There's probably a lot
more that could be fixed, but these are the core ones I found (especially
the download links in order to prevent MITM attacks). Note that there are
some fb.me links that will redirect to http:// even while accessed over
https://, but this seemed like the best way to fix those for now.

NOTE: Only non-third-party files were modified. There are references to
http:// URLs in vendored/third-party files, but seems appropriate to fix
upstream for those rather than editing the files.

Also, copy one image locally to the blog, as it was hotlinking to a site
that did not support https://.

Last, use youtube-nocookie.com instead of youtube.com for video embeds,
as the former doesn't try to set a cookie on load (privacy enhancement).
2015-04-18 16:49:32 -07:00
Adam Zapletal
05562a0b09 Fix missing line highlight in tutorial 2015-04-18 18:36:18 -05:00
Paul O’Shannessy
feef6e885b Tweak wording in 0.13.2 blog post 2015-04-18 16:08:01 -07:00
Paul O’Shannessy
5a19481160 v0.13.2 blog post
(cherry picked from commit 6ed202288b)
2015-04-18 15:58:13 -07:00
Paul O’Shannessy
1185fdaf1f Update website with 0.13.2 builds
(cherry picked from commit 179f904525)
2015-04-18 15:58:11 -07:00
Paul O’Shannessy
8a691f59fe Readme for 0.13.2
(cherry picked from commit e1437078fc)
2015-04-18 15:57:05 -07:00
Paul O’Shannessy
3f5f78e374 Changelog for 0.13.2
(cherry picked from commit 4f1c61f915)
2015-04-18 15:57:05 -07:00
Jon Scott Clark
90f086efbf Add 'cache: false' to $.ajax when fetching comments 2015-04-18 11:11:18 -04:00
Jim
d9a9f5a0d4 Merge pull request #3625 from dmin/patch-1
Docs: Fix example JSX output
2015-04-17 14:22:25 -07:00
Paul O’Shannessy
550cce441f Merge pull request #3678 from marocchino/update-korean
Update Translation to 6a7a4fd
2015-04-17 11:12:45 -07:00
Christopher Chedeau
d8ef641bcc Merge pull request #3684 from vjeux/react-native-0-4
React Native 0.4 Blog Post
2015-04-17 09:13:31 -07:00
Christopher Chedeau
6fdac757c5 Update 2015-04-17-react-native-v0.4.md 2015-04-17 09:11:51 -07:00
Christopher Chedeau
4a1557b947 React Native 0.4 Blog Post 2015-04-17 09:03:55 -07:00
Shim Won
2d847a145c Update Translation to 6a7a4fd 2015-04-17 17:19:04 +09:00
Leonardo YongUk Kim
7e64c16ff6 Create 19-dangerously-set-inner-html.ko-KR.md
Based on 2e1ccae275
2015-04-17 17:15:51 +09:00
Paul O’Shannessy
5297ff66cf Remove withContext from top-level API 2015-04-16 15:58:27 -07:00
Ben Alpert
6a7a4fd635 Merge pull request #3675 from spicyj/gh-3655
Add warning for getDefaultProps on ES6 classes
2015-04-15 17:40:47 -07:00
Ben Alpert
b8b10001f3 Add warning for getDefaultProps on ES6 classes
Fixes #3655.
2015-04-15 17:33:20 -07:00
Paul O’Shannessy
e21f7c7da3 Merge pull request #3673 from ultrafez/patch-1
"Advanced performance" typo fix
2015-04-15 16:42:25 -07:00
Alex
729ec1bb74 "Advanced performance" typo fix
Example code used the key "propsTypes" - correct to "propTypes"
2015-04-15 15:32:37 +01:00
Paul O’Shannessy
41a6186d7a Merge pull request #3485 from jnu/ie10-flex-unitless
Treat flexPositive, flexNegative as unitless styles
2015-04-14 16:31:13 -07:00
Michael Ridgway
ed70d35e18 Update code style 2015-04-14 14:37:50 -07:00
Ben Alpert
45045049b0 Merge pull request #3668 from elquatro/master
Get rid of magic numbers in transitions example
2015-04-14 13:36:42 -07:00
Ilya Shuklin
0447f1e792 Update index.html
getting rid of magic numbers
2015-04-14 16:55:12 +03:00
Ben Alpert
be03fa7f46 Merge pull request #3663 from spicyj/san-md
[docs] Use marked instead of Showdown and escape HTML
2015-04-13 16:44:19 -07:00
Ben Alpert
36aefcb8cc [docs] Use marked instead of Showdown and escape HTML
Fixes #3501.
2015-04-13 15:50:40 -07:00
Ben Alpert
d8117d0df6 Merge pull request #1366 from spicyj/enterleave-testutils
Make Simulate.mouseEnter/Leave use direct dispatch
2015-04-13 15:39:54 -07:00
Michael Ridgway
5a431a12ac Replace hasOwnProperty in child processing with typeof undefined check 2015-04-13 14:17:16 -07:00
Paul O’Shannessy
6d868a2705 Merge pull request #3662 from zpao/update-uglify
Update uglify dependency
2015-04-13 13:18:30 -07:00
Paul O’Shannessy
d467b52758 Update uglify dependency
Apparently we needed to get to v2.4.17 to get the fix for #2247. We
shrinkwrapped on the same day but the timing didn't work out so we missed it.
2015-04-13 12:49:45 -07:00
Paul O’Shannessy
3c174cacc9 Merge pull request #3658 from sbezludny/patch-1
Fixed typo
2015-04-13 09:48:08 -07:00
Serg
1bf7648108 Fixed typo 2015-04-13 12:12:49 +03:00
Ben Alpert
ce215483ae Don't thread index through traverseAllChildren
I'm not super attached to this, but this feels cleaner to me. Might even be faster since flattenChildren doesn't use the index. Probably no change though.
2015-04-11 01:04:20 -07:00
Ben Alpert
88fb106c39 Merge pull request #3646 from facebook/revert-3580-2402-warn-multiple-copies-of-react-on-same-page
Revert "Warn when multiple instances of React are loaded on the same page"
2015-04-10 13:54:57 -07:00
Ben Alpert
8fa15080b2 Revert "Warn when multiple instances of React are loaded on the same page" 2015-04-10 12:34:04 -07:00
Paul O’Shannessy
b8ba8c83f3 Update Patent Grant
https://code.facebook.com/posts/1639473982937255/updating-our-open-source-patent-grant/
2015-04-10 12:15:29 -07:00
Paul O’Shannessy
c164c477fb Merge pull request #3645 from facebook/revert-3644-patch-1
Revert "Add webkitdirectory and nwdirectory attributes for input file"
2015-04-10 10:24:46 -07:00
Paul O’Shannessy
71fdf09630 Revert "Add webkitdirectory and nwdirectory attributes for input file" 2015-04-10 10:22:52 -07:00
Jim
5e9623d1a2 Merge pull request #3644 from gregorym/patch-1
Add webkitdirectory and nwdirectory attributes for input file
2015-04-10 10:16:40 -07:00
Gregory
5a7c6964cc Add webkitdirectory and nwdirectory attributes for input file
Add attributes for <input type="file" />
* webkitdirectory
* nwdirectory
2015-04-10 09:51:54 -07:00
Paul O’Shannessy
86c72a5271 Merge pull request #3642 from marocchino/ko-update
Update Korean translation to 0185c68
2015-04-09 16:37:24 -07:00
Isaac Salier-Hellendag
4ff99a2873 Merge pull request #3639 from salier/select-event-plugin
Skip SelectEventPlugin extraction if no listeners
2015-04-09 18:29:37 -05:00
Isaac Salier-Hellendag
47b147f392 Skip SelectEventPlugin extraction if no listeners
If there are no listeners for `onSelect` yet, do not extract events. This way we can avoid issues where listeners have been set up for some event dependencies for `SelectEventPlugin`, but not all.

For instance, if `topMouseDown` has been registered but not `topMouseUp`, event extraction will set the `mouseDown` flag to true but never unset it. This leads to bugs when `onSelect` is registered and should be firing during normal key behavior. Since no `topMouseUp` has yet occurred to unset the flag, `onSelect` fails to fire.
2015-04-09 17:55:42 -05:00
Shim Won
57f14017fb Update Korean translation to 0185c68 2015-04-10 06:54:28 +09:00
Leonardo YongUk Kim
78f59da8df Translate tips 11 to Korean
1. Create 11-dom-event-listeners.ko-KR.md
2. Update 03-interactivity-and-dynamic-uis.ko-KR.md to add an anchor.

Based on 52494f9d72
2015-04-10 06:52:32 +09:00
Leonardo YongUk Kim
792c161cc5 Create 12-initial-ajax.ko-KR.md
Based on 52494f9d72
2015-04-10 06:52:32 +09:00
Leonardo YongUk Kim
16832c701b Create 13-false-in-jsx.ko-KR.md
Based on 52494f9d72
2015-04-10 06:52:31 +09:00
Paul O’Shannessy
9d6b119c3f Merge pull request #3641 from ljharb/patch-1
Updating `es5-shim` URL
2015-04-09 14:24:26 -07:00
Jordan Harband
5ddd307c5e Updating es5-shim URL 2015-04-09 13:51:34 -07:00
Jim
0185c68c91 Merge pull request #3615 from jsfb/enable-new-context
Switch to parent-based context.  Fixes #2112.
2015-04-09 13:21:26 -07:00
Jim
0f0f5aa701 Merge pull request #3638 from devicehubnet/master
check if type.prototype is object in instantiateReactComponent
2015-04-09 12:35:57 -07:00
Paul O’Shannessy
857736dc13 Merge pull request #3636 from cody/jsx-target
Add target option to npm readme
2015-04-09 10:27:06 -07:00
Teodor Szente
cdd359b710 check if is undefined 2015-04-09 20:12:22 +03:00
Jim
f4a07c4b53 Merge pull request #3635 from garethnic/reuseCompDoc
Clarify sentence in Reusable Components doc
2015-04-09 10:01:10 -07:00
Teodor Szente
8f6bae21fb check if type.prototype is object 2015-04-09 19:29:25 +03:00
Stefan Dombrowski
148543ce2b Add target option to npm readme 2015-04-09 13:04:04 +02:00
Gareth Nicholson
5c35d93436 clarify sentence 2015-04-09 12:16:21 +02:00
Jim
f1cd867323 Merge pull request #3580 from robertknight/2402-warn-multiple-copies-of-react-on-same-page
Warn when multiple instances of React are loaded on the same page
2015-04-08 19:18:44 -07:00
Ben Alpert
50e08d4269 Merge pull request #3627 from spicyj/mut-warn-clone
Refer to cloneElement in mutation warning
2015-04-08 15:33:56 -07:00
Paul O’Shannessy
b6756c56ff Merge pull request #3584 from ThornWinters/patch-1
More Uniform Formating
2015-04-08 15:33:16 -07:00
Ben Alpert
177dfea503 Merge pull request #3628 from spicyj/do-not-bind
Kill ReactDoNotBindDeprecated
2015-04-08 15:28:07 -07:00
Ben Alpert
e60a26a682 Kill ReactDoNotBindDeprecated
No one uses this.
2015-04-08 15:15:02 -07:00
Ben Alpert
05f6e7de71 Refer to cloneElement in mutation warning 2015-04-08 14:51:17 -07:00
Ben Alpert
44f0e801df Merge pull request #3587 from spicyj/kill-plq
Kill ReactPutListenerQueue
2015-04-08 14:49:53 -07:00
David Mininger
86bac33408 Docs: Fix example JSX output 2015-04-08 14:23:49 -05:00
Paul O’Shannessy
ee811b1614 [docs] Fix typo
Introduced in #3589
2015-04-08 10:39:26 -07:00
Paul O’Shannessy
a34cf222ba Merge pull request #3604 from Charca/firefox-tests-fixes
Fixes for several failing tests in Firefox and Safari
2015-04-08 10:34:57 -07:00
Paul O’Shannessy
cf76365cd9 Merge pull request #3618 from TimeBomb/master
Document new es6module flag in react-tools README
2015-04-08 10:31:24 -07:00
Christoph Pojer
214c1f9919 Merge pull request #3622 from cpojer/copyright-headers
Add copyright headers to npm-react-codemod.
2015-04-08 10:29:06 -07:00
cpojer
245f0d0afa Add copyright headers to npm-react-codemod. 2015-04-08 10:28:20 -07:00
Jim
5b7f865ffe Merge pull request #3621 from bhamodi/master
Update Copyright notices to include 2015
2015-04-08 10:10:12 -07:00
Baraa Hamodi
8e806ba382 Merge pull request #2 from bhamodi/bhamodi-patch-1
Update ReactDOMIframe-test.js
2015-04-08 13:06:50 -04:00
Baraa Hamodi
d9d77bc9a5 Update ReactDOMIframe-test.js 2015-04-08 13:06:37 -04:00
Baraa Hamodi
9ecdd3600b Merge pull request #1 from bhamodi/2015-update
Update ReactCompositeComponentNestedState-test.js
2015-04-08 13:05:38 -04:00
Baraa Hamodi
c9e3a32bc5 Update ReactCompositeComponentNestedState-test.js 2015-04-08 13:02:43 -04:00
Jason
eb377195be Document new es6module flag in react-tools README 2015-04-08 01:01:54 -07:00
Ben Alpert
e27ad4add3 Merge pull request #3589 from theseyi/master
Documentation: Fixed typo / grammar in 'clone with props'
2015-04-07 17:33:52 -07:00
Ben Alpert
057f41ec0f Merge pull request #3595 from spicyj/select-ssr
Fix server-side rendering of <select>
2015-04-07 16:49:10 -07:00
Ben Alpert
ea089fdfe6 Fix server-side rendering of <select>
Fixes #1398.
2015-04-07 16:48:58 -07:00
Jim
7d44917531 Switch to parent-based context. Fixes #2112. 2015-04-07 14:49:29 -07:00
Paul O’Shannessy
3eb2a01ec1 Merge pull request #3612 from gaearon/patch-1
Mention Flux in “communicate between components”
2015-04-07 13:14:44 -07:00
Paul O’Shannessy
af819d122e Merge pull request #3614 from kassens/set_style_null
Fix for style not always reset when set to null
2015-04-07 13:13:31 -07:00
Jan Kassens
eda9ec53b5 Fix for style not always reset when set to null
When the style property existed, but was set to null, `this._previousStyleCopy`
was not set back to `null` causing an old value to persist. This broke setting
the style to `null` the next time.

Fixes #3606.
2015-04-07 12:17:06 -07:00
Dan Abramov
21d91e6f5f Mention Flux in “communicate between components” 2015-04-07 19:44:20 +03:00
Maxi Ferreira
49745e7bff Fixes for several failing tests in Firefox and Safari 2015-04-07 01:37:27 -03:00
Seyi Adebajo
5eaca79baa Documentation: Suggested edit adds clarity regarding when 'shouldComponentUpdate' is triggered and what the 're-rendering' process entails. 2015-04-05 18:46:38 -04:00
Seyi Adebajo
a366ec16e6 Fixed typo / grammar docs 2015-04-05 18:46:38 -04:00
Ben Alpert
ddbbaa9500 Merge pull request #3590 from koba04/patch-1
component.render method returns a ReactElement.
2015-04-04 23:47:05 -07:00
Toru Kobayashi
c7a2d46ead component.render method returns a ReactElement. 2015-04-05 15:33:19 +09:00
Ben Alpert
aee05c27ea Merge pull request #3588 from marocchino/ko-update
Update Korean translation to d402bd3
2015-04-04 22:26:50 -07:00
Shim Won
b9f02d37ed Update Korean translation to d402bd3 2015-04-05 09:44:54 +09:00
Ben Alpert
7529e6de47 Kill ReactPutListenerQueue
As far as I can tell, this is almost equivalent and is simpler. When a component's componentDidMount is called, all the listeners for that subtree will have been attached which I think is all that matters.
2015-04-04 17:34:35 -07:00
Michael Warner
0126e9efcd More Uniform Formating
Corrected so the formatting in this document matches the same as others.
2015-04-03 20:37:42 -07:00
Ben Alpert
d402bd3831 [docs] Fix type on renderIntoDocument
Fixes #3581.
2015-04-03 09:12:10 -07:00
Robert Knight
8ad58ae45a Warn when multiple instances of React are loaded on the same page
This causes a variety of hard-to-debug issues.
See #2402 for examples.

Fixes #2402
2015-04-03 11:46:58 +01:00
Paul O’Shannessy
5a3bda983b Merge pull request #3567 from chenglou/rm-getdomnode
Remove some `getDOMNode` from docs and DOMComponent test
2015-04-02 15:01:15 -07:00
Paul O’Shannessy
1576c1a2b9 Merge pull request #3576 from chenglou/last-getdomnode
Remove last call to `getDOMNode` in tests
2015-04-02 15:00:39 -07:00
Cheng Lou
f3e6436bee Remove last call to getDOMNode in tests 2015-04-02 17:26:19 -04:00
Cheng Lou
5561d0e925 Remove some getDOMNode from docs and examples 2015-04-02 17:23:27 -04:00
Ben Alpert
dea7efbe16 Merge pull request #3555 from spicyj/native-overrides
Import ResponderEventPlugin from react-native
2015-04-02 14:13:35 -07:00
Paul O’Shannessy
29dc96c202 Merge pull request #3574 from rogozhnikoff/patch-1
Increase speed of shallowEqual
2015-04-02 13:55:11 -07:00
Ben Alpert
5a01f5f6a9 Fix ResponderEventPlugin to work in core React again
Test Plan: jest, grunt fasttest
2015-04-02 13:33:47 -07:00
Murad
6963ea4bfc Update shallowEqual.js 2015-04-03 03:44:37 +08:00
Ben Alpert
54615fc6c0 Merge pull request #3572 from iamdoron/patch-1
use 'forEach' instead of 'map' when clearing intervals
2015-04-02 11:29:49 -07:00
Murad
d912329c97 Update shallowEqual.js
optimize for lint rules
2015-04-03 00:12:07 +08:00
Murad
d2bb4728f0 Increase speed of shallowEqual
All testes successfully completed.

- for-in in browsers is slow, i replaced him by Object.keys + for(array)
- simple check of lengths let us not iterate if not same
- now we dont need to test for B's keys missing from A, because if length's is same and prev check success - objB hasn't more keys
- micro optimize: calling objB.hasOwnProperty
- micro optimize: replaced !objA || !obj for more speedy check === null

#inspiredby https://github.com/jurassix/react-immutable-render-mixin/pull/4
2015-04-02 23:43:29 +08:00
iamdoron
f1e6a0dad2 use 'forEach' instead of 'map' when clearing intervals 2015-04-02 14:06:08 +03:00
Cheng Lou
6e992fbbdd Set up style mutation monitoring
This works by storing the style and its copy onto the component, and do
the appropriate comparison during `_updateDOMProperties`.
2015-04-01 22:05:09 -04:00
Jim
3fad007bdb Merge pull request #3560 from mariodu/mariodu
fix render order error in safari.  Fixes #3560.
2015-04-01 17:40:09 -07:00
Ben Alpert
db38059669 Merge pull request #3564 from spicyj/travis
Fix inverted feature test in .travis.yml
2015-04-01 15:17:32 -07:00
Ben Alpert
9c12e48f68 Fix inverted feature test in .travis.yml
I messed this up in #3540.
2015-04-01 15:12:17 -07:00
Ben Alpert
08e4420019 Use setState transaction for TransitionGroup instead of extra property 2015-04-01 14:34:01 -07:00
Ben Alpert
205273d2ee Merge pull request #2549 from ashtuchkin/fix-transitiongroup-multiremove
Fix ReactTransitionGroup behavior when removing several children at once
2015-04-01 14:33:42 -07:00
Paul O’Shannessy
dcc194bbb8 Merge pull request #3563 from quizlet/fix-addons-hasownproperty
Fix immutability helper to check hasOwnProperty safely
2015-04-01 12:38:04 -07:00
Jeff Chan
af7e43269f Fix immutability helper to check hasOwnProperty safely
This makes `update({}, {'hasOwnProperty': {$set: 'yolo'}})` work.
2015-04-01 12:25:12 -07:00
Paul O’Shannessy
7f30a1fed3 Merge pull request #3562 from dalinaum/rename
Rename 19--dangerouslySetInnerHTML.md -> 19-dangerously-set-inner-html.md
2015-04-01 12:13:55 -07:00
Leonardo YongUk Kim
2e1ccae275 Rename 19--dangerouslySetInnerHTML.md -> 19-dangerously-set-inner-html.md
1. It had double dash.
2. Its name was inconsistent. Other tips are named by their IDs.
2015-04-02 04:11:22 +09:00
凌恒
6094ebbc39 update comment 2015-04-01 23:59:43 +08:00
凌恒
54a74d95bb deal IE8 out of size error 2015-04-01 23:56:05 +08:00
凌恒
d4adaee4eb use ie8 feature detect instead of try catch 2015-04-01 21:46:40 +08:00
凌恒
e1a8d69840 fix render order error in safari 2015-04-01 18:13:03 +08:00
Ben Alpert
036d342189 Fix unused variable lint from #3552 2015-03-31 17:06:42 -07:00
Ben Alpert
5241ebb0bc Merge pull request #3556 from wali-s/patch-1
Fix small typo in 11-advanced-performance.md.
2015-03-31 17:03:15 -07:00
Ahmad Wali Sidiqi
4fe1b59849 Fix small typo in 11-advanced-performance.md.
"React didn't even had"->"React didn't even have"

http://english.stackexchange.com/questions/204603/proper-usage-of-didnt-had-or-didnt-have
2015-03-31 16:18:45 -07:00
Ben Alpert
6ec3b65169 Import ResponderEventPlugin from react-native
This is a direct import of the files from react-native, with the license headers updated.
2015-03-31 15:21:47 -07:00
Paul O’Shannessy
8c3d6b05d6 Merge pull request #3534 from tonyspiro/master
Update index.html in transitions example
2015-03-31 13:49:50 -07:00
Paul O’Shannessy
94a3b0f8a3 Merge pull request #3552 from James-Dunn/fix-for-loops
Remove caching from for loops
2015-03-31 10:30:44 -07:00
James
90dcc1ffb7 Remove caching from for loops
Removed caching from for loops as it does not seem to increase
performance and makes the code harder to read.
2015-03-31 10:22:52 +04:00
Paul O’Shannessy
18d608820e Merge pull request #3519 from jonchester/patch-1
Add IE-specific 'unselectable' attribute
2015-03-30 15:27:13 -07:00
Paul O’Shannessy
0c2238bb72 Merge pull request #3537 from marocchino/korean-update
Update Korean translations
2015-03-30 14:20:37 -07:00
Ben Alpert
a7a6c425d4 Merge pull request #3549 from spicyj/trans-sync
Sync transforms from internal
2015-03-30 14:15:09 -07:00
Ben Alpert
c9ef8f62ba Merge pull request #3445 from mihaip/master
Use full chain of member expressions when generating display names.
2015-03-30 11:46:54 -07:00
Ben Alpert
4d84784ca6 Sync transforms from internal 2015-03-30 11:43:26 -07:00
Ben Alpert
835fc3d0fb Squelch git warning on Travis 2015-03-30 11:25:55 -07:00
Ben Alpert
76805fdfda Set name and email a different way 2015-03-30 11:20:23 -07:00
Ben Alpert
be566e0aa6 Set git name and email for Travis 2015-03-30 11:16:36 -07:00
Ben Alpert
b7c4da59ca [docs] English tweaks (and testing Travis) 2015-03-30 11:10:44 -07:00
Ben Alpert
a39af74c6f Merge pull request #3540 from spicyj/auto-gh-pages
Autobuild website on Travis from stable branch
2015-03-30 10:57:06 -07:00
Ben Alpert
accb4f6047 Autobuild website on Travis from stable branch
$REACT_WEBSITE_BRANCH in https://travis-ci.org/facebook/react/settings/env_vars now needs to point to the stable branch (currently 0.13-stable). I haven't tested the commit-and-push part of this but everything else works so I'm hopeful.
2015-03-30 10:56:41 -07:00
Ben Alpert
b20778a7f6 Merge pull request #3543 from spicyj/keep-docs-js-react
Keep docs/js/{react,JSXTransformer}.js in repo
2015-03-30 10:55:29 -07:00
jonchester
a0265fe8b7 Add IE-specific 'unselectable' attribute
I ended up needing to add this attribute to work around a common IE bug, that clicking on a scrollbar gives focus to the scroll container. I needed to set it as MUST_USE_ATTRIBUTE or the attribute would not be passed through by React successfully.

remove trailing spaces
2015-03-30 07:44:08 -07:00
Christopher Chedeau
bfe1c5b60d Merge pull request #3545 from vjeux/roundup_26
Roundup 26
2015-03-30 07:23:20 -07:00
Christopher Chedeau
6bb2185bf0 Roundup 26 2015-03-29 20:02:40 -07:00
Paul O’Shannessy
ec2f35e0c9 Merge pull request #3544 from prathamesh-sonpatki/fix-link-to-display-name
Fixed link to displayName component spec from JSX in depth article
2015-03-29 10:30:24 -07:00
Prathamesh Sonpatki
139020d982 Fixed link to displayName component spec from JSX in depth article 2015-03-29 16:50:33 +05:30
Paul O’Shannessy
15e6968ad5 Merge pull request #3539 from russellpwirtz/patch-1
Update tutorial.md
2015-03-28 21:26:29 -07:00
Ben Alpert
0b6c7c29fe Keep docs/js/{react,JSXTransformer}.js in repo
This way we don't need to rebuild them each time for the website.
2015-03-28 14:56:54 -07:00
Russ
fdcf1f2b0e Update tutorial.md
Grammar fix
2015-03-28 11:37:55 -07:00
Ben Alpert
f3d3ccb8b3 Update README.md 2015-03-28 10:55:15 -07:00
James Pearce
78dd5e2c1e Update README.md 2015-03-28 10:33:56 -07:00
James Pearce
494be2179c 'New' note 2015-03-28 10:33:15 -07:00
Shim Won
6911fa5c5b Update Korean translation to b3c75d8 2015-03-28 18:02:25 +09:00
jiyeonseo
0b3fe6f47e Translate tips 05..10
- Up to 3fd6ac5
2015-03-28 08:51:52 +09:00
Jinwoo Oh
45a3332a38 Translate tip-18 to Korean
- Up to 6f44f60
2015-03-28 08:47:18 +09:00
Jinwoo Oh
4df79154de Translate tip-17 to Korean
- Up to 6f44f60
2015-03-28 08:47:12 +09:00
Jinwoo Oh
452f2f282f Translate tip-16 to Korean
- Up to 1cb3f25
2015-03-28 08:47:05 +09:00
Jinwoo Oh
23a5a89077 Translate tip-15 to Korean
- Up to 52494f9
2015-03-28 08:46:57 +09:00
Jinwoo Oh
03666e884d Translate tip-14 to Korean
- Up to 92c37ff
2015-03-28 08:46:37 +09:00
Ted Kim
aa6bfb6b51 Translate tips 01..04 (based on 157d7770c99be26a9e0557d00978f15f6d9db794) 2015-03-28 08:46:26 +09:00
Shim Won
712710cabc Update to ed257cb 2015-03-28 08:46:14 +09:00
Tony Spiro
03e0ebf532 Update index.html
'current' makes more sense than 'start' as the value increments passed it's start value.
2015-03-27 15:17:07 -05:00
Paul O’Shannessy
e30dd83896 Merge pull request #3240 from reactkr/translate-ko-release
Korean translation for docs
2015-03-27 11:39:54 -07:00
Jim
b3c75d82b2 Merge pull request #3521 from grant/master
Display error when trying to create an element of type `boolean`. Fixes #3478
2015-03-26 14:39:32 -07:00
Jim
335221910d Merge pull request #3527 from mertkahyaoglu/master
remove unrelated doc line
2015-03-26 14:27:42 -07:00
Ben Alpert
56067147fe Merge pull request #3529 from uzarubin/patch-1
Swapping defaultChecked and defaultValue
2015-03-26 13:51:25 -07:00
Ustin Zarubin
c45fa8b581 Swapping defaultChecked and defaultValue
The current documentation states that the `<select>` tag supports `defaultChecked`, but it actually doesn't. I believe this documentation was meant to be written in the proposed order. 

Non-working fiddle using `defaultChecked`: http://jsfiddle.net/jqs1hsLr/1/
Working fiddle using `defaultValue`: http://jsfiddle.net/nv7z0yzL/1/
2015-03-26 16:42:36 -04:00
Ben Alpert
c3b0d8d9c6 Merge pull request #3525 from spicyj/home-3
[docs] Tweak words on homepage
2015-03-26 12:29:59 -07:00
Ben Alpert
eef22ece37 [docs] Split up second sentence more 2015-03-26 12:29:14 -07:00
Mert Kahyaoğlu
6248406d6a remove unrelated doc line 2015-03-26 21:08:32 +02:00
Ben Alpert
cf956ac8be [docs] Tweak words on homepage 2015-03-26 10:42:01 -07:00
Ben Alpert
951adcdd4c Add React Native blog post 2015-03-26 10:10:43 -07:00
Grant Timmerman
59a914aac0 Disable numeric element types 2015-03-26 10:07:56 -07:00
Ben Alpert
ca66399402 [docs] Update site nav 2015-03-26 10:06:09 -07:00
Grant Timmerman
3c9ea72795 Display error when trying to create an element of type boolean. Fixes #3478 2015-03-26 01:21:54 -07:00
Ben Alpert
b32fbef7c5 Add missing semicolon 2015-03-25 18:10:49 -07:00
Ben Alpert
a4630c3928 Merge pull request #3520 from spicyj/validate-message
Tweak validation message, add html support
2015-03-25 17:43:55 -07:00
Ben Alpert
7c6694987d Tweak validation message, add html support
The old message made no sense if you had a > div > a or similar. I'm clearly feeling sloppy today.
2015-03-25 17:24:13 -07:00
Ben Alpert
da598c6a27 Merge pull request #3518 from alopatin/patch-1
Docs: Clarify that React.PropTypes.node accepts fragments
2015-03-25 17:23:52 -07:00
Paul O’Shannessy
6cb0b985a7 Merge pull request #3504 from clariroid/docsJP
Translate 2 docs into Japanese
2015-03-25 17:20:59 -07:00
Alex Lopatin
6daa22be5a Docs: Clarify that React.PropTypes.node accepts fragments
As of #3293 `ReactFragment` counts as a node, but this isn't made clear in the docs.
2015-03-25 17:17:42 -07:00
Ben Alpert
07b7e8424d Remove stray console.log comment 2015-03-25 17:06:42 -07:00
Ben Alpert
7bef374f3f Merge pull request #3517 from spicyj/jest-config
Only run src/ and vendor/fbtransform/ tests in jest
2015-03-25 17:06:26 -07:00
Ben Alpert
98fff82336 Merge pull request #3516 from spicyj/valid-4
Validate only against problematic tag nesting
2015-03-25 17:01:09 -07:00
Paul O’Shannessy
029a526916 Merge pull request #3498 from AnSavvides/patch-1
Include latest version of jQuery in tutorial
2015-03-25 16:53:13 -07:00
Ben Alpert
d12c968dec Only run src/ and vendor/fbtransform/ tests in jest
Test Plan: jest
2015-03-25 16:49:01 -07:00
Ben Alpert
76bb96ef21 Validate only against problematic tag nesting
Turns out lots of people write invalid HTML all the time and no one, including your browser or React, cares. Most invalid HTML combinations don't cause magic reparented nodes; only some do. The HTML5 parsing spec (https://html.spec.whatwg.org/multipage/syntax.html) specifies which tag combinations cause strange parsing behavior. I did my best to encode the logic here. It's more lenient than before in some cases, but more strict in others (before we didn't look at the whole stack of tags; now we warn with deeply nested `p` or `form` or `a` tags).
2015-03-25 16:43:41 -07:00
Christoph Pojer
949349d5ca Merge pull request #3515 from cpojer/fix-class-transform
npm-react-codemod: Class transform doesn’t need aliases
2015-03-25 16:35:18 -07:00
cpojer
bc8b057bf0 npm-react-codemod: Class transform doesn’t need an alias for module.exports = React.createClass any longer.
Before: `module.exports = class __exports extends React.Component {}`
After: `module.exports = class extends React.Component {}`

See 638ef2b9d2
2015-03-25 16:31:23 -07:00
Christoph Pojer
86836c885d Merge pull request #3506 from cpojer/react-codemod
Add npm-react-codemod
2015-03-25 16:20:14 -07:00
cpojer
1865c042d7 Update README for npm-react-codemod 2015-03-25 16:15:07 -07:00
cpojer
d9c13c73b6 Add ES6 class transform 2015-03-25 16:11:52 -07:00
cpojer
d4cb2537af Add pure-render-mixin transform 2015-03-25 16:11:52 -07:00
cpojer
20004e94d3 Add findDOMNode transform 2015-03-25 16:11:52 -07:00
cpojer
328274bbba Add ReactUtils and array polyfills. 2015-03-25 16:11:52 -07:00
cpojer
e361fcb3e6 Add skeleton for react-codemod 2015-03-25 16:11:48 -07:00
Andreas Savvides
580f2d829b Include latest version of jQuery in tutorial
Include latest version of jQuery 2.x in tutorial
2015-03-25 22:36:27 +00:00
clariroid
a869a0f7b0 Fix the locale id 2015-03-26 06:15:52 +09:00
clariroid
574b906f9b Translate 2 docs into Japanese 2015-03-26 06:15:50 +09:00
Paul O’Shannessy
27a191e704 Merge pull request #3513 from agelter/master
Added support for the 'low', 'high', and 'optimum' attributes that are missing from the <meter> tag.
2015-03-25 12:17:07 -07:00
Paul O’Shannessy
56b180b464 Fix failing test
PR #3494 was based on master before we shifted to using console.error. This
just fixes the new test case.
2015-03-25 12:15:41 -07:00
Jim
13dbda3644 Merge pull request #3494 from letiemble/B_Context_Rerender
Fix the context handling when updating a rendered component.
2015-03-25 11:55:35 -07:00
Paul O’Shannessy
8bd9541e08 Merge pull request #3503 from aredridel/patch-1
npm without -g should never need sudo
2015-03-25 10:55:41 -07:00
Paul O’Shannessy
a164222367 Merge pull request #3507 from dpellier/master
Add scoped property to the list of DOM standard properties
2015-03-25 10:54:29 -07:00
Paul O’Shannessy
f86a7f86cc Merge pull request #3511 from AnSavvides/glossary-space
Minor space change to be in line with coding style everywhere else
2015-03-25 10:51:15 -07:00
Aaron Gelter
c9e82ce0f6 Added support for the 'low', 'high', and 'optimum' attributes that the <meter> tag requires. 2015-03-25 11:33:02 -06:00
Andreas
b6534bec7d Minor space change to be in line with coding style everywhere else 2015-03-25 17:09:58 +00:00
Damien Pellier
3d45c0ad9d add scoped property to the list of DOM standard properties 2015-03-25 09:41:05 +01:00
Aria Stewart
151384dd22 npm without -g should never need sudo 2015-03-24 19:47:31 -07:00
Paul O’Shannessy
45fdb4ba79 Merge pull request #3487 from zpao/doc/video
[docs] Videos: use https, right width videos
2015-03-24 14:18:36 -07:00
Paul O’Shannessy
21bb7582c0 Merge pull request #3491 from bobbyrenwick/transition-group-appear-docs
adding docs for componentWillAppear and componentDidAppear
2015-03-24 14:05:11 -07:00
Paul O’Shannessy
09ecf8bca9 Merge pull request #3499 from sverrejoh/patch-1
Don't add 'px' to strokeDashoffset CSS Properties
2015-03-24 13:57:02 -07:00
Sverre Johansen
77abea5ddc Reordered properties to maintain ABC order 2015-03-24 20:43:55 +00:00
Ben Alpert
6ad4afd404 Merge pull request #3502 from spicyj/tests
Fix tests after merge of #3440
2015-03-24 13:41:34 -07:00
Paul O’Shannessy
2795fb162a Merge pull request #3490 from chenglou/remove-class-addon
Remove classSet/cx
2015-03-24 13:39:47 -07:00
Ben Alpert
4dde417214 Fix tests after merge
Test Plan: jest
2015-03-24 13:37:39 -07:00
Ben Alpert
9260b540ad Merge pull request #3467 from spicyj/valid-3
Validate node nesting, take 3
2015-03-24 13:30:16 -07:00
Ben Alpert
1aa4e3c234 Merge pull request #3440 from spicyj/console-error
Use console.error to show stack trace in console
2015-03-24 13:30:01 -07:00
Sverre Johansen
c28059e39b Don't add 'px' to strokeDashoffset CSS Properties
This is a SVG CSS Property. The standard expects values or percentages, and adding "px" to the value will break it.

http://www.w3.org/TR/SVG/painting.html#StrokeDashoffsetProperty
2015-03-24 17:52:02 +00:00
Laurent Etiemble
357345a56d Fix the context handling when updating a rendered component. 2015-03-24 08:29:09 +01:00
Bob Renwick
3b33ead6ac adding docs for componentWillAppear and componentDidAppear 2015-03-24 01:41:04 +00:00
Cheng Lou
9df173113b Remove mention from docs 2015-03-23 20:13:24 -04:00
Cheng Lou
18ab88aa78 Remove classSet/cx 2015-03-23 17:59:27 -04:00
Paul O’Shannessy
cb05e2f85b Merge pull request #3271 from delftswa2014/fix/todo-example
Added the key attribute into the todo example
2015-03-23 14:54:08 -07:00
Paul O’Shannessy
90f8a89ac4 Merge pull request #3488 from delftswa2014/grunt-coverage-fix
Removed build:test from test:coverage.
2015-03-23 14:49:56 -07:00
PNikray
e931aaab4a Removed build:test from test:coverage.
This was a duplicate task for build:withCodeCoverageLogging.
It should now properly output the lines which are not covered.
2015-03-23 21:32:49 +01:00
Paul O’Shannessy
21221e0376 [docs] Videos: use https, right width videos
I also added some <hr>s in there, which helps a little bit with spacing.
2015-03-23 11:38:10 -07:00
Paul O’Shannessy
11983d8d6b Merge pull request #3483 from julen/docs/document-body-footgun
Docs: do not render components to `document.body`
2015-03-23 11:09:48 -07:00
Paul O’Shannessy
dd2e2ecaee Merge pull request #3481 from mertkahyaoglu/master
minor fixes in package.json
2015-03-23 09:45:13 -07:00
Joseph Nudell
51b6092264 Update unprefixed css props doc 2015-03-23 11:30:56 -05:00
Joseph Nudell
30b2cfc1fd Treat flexPositive/Negative/boxFlex as unitless styles 2015-03-23 11:29:55 -05:00
Julen Ruiz Aizpuru
d83596620f Docs: do not render components to document.body
Rendering to `document.body` in the examples is conveniently short, but it can
be misleading at the same time, especially for newcomers.

While it's possible to render React components to `document.body`, any 3rd
party scripts can also mess up with it, and it can have unintended consequences
and be source of difficult-to-trace bugs.
2015-03-23 13:59:24 +01:00
Mert Kahyaoğlu
31bab53cc8 minor fixes in package.json 2015-03-22 22:09:24 +02:00
Ben Alpert
5dee15273f Merge pull request #3475 from MaximAbramchuck/patch-1
Add missing semicolon
2015-03-21 13:43:22 -07:00
Maxim Abramchuk
9b70e82246 Add missing semicolon 2015-03-21 23:11:45 +03:00
Ben Alpert
f9abf493b4 Validate node nesting, take 3
Nicer version of #644 and #735. Fixes #101. Context is neat.
2015-03-20 16:10:02 -07:00
Ben Alpert
ed3e6ecb9b Merge pull request #3472 from mertkahyaoglu/master
move getReactRootElementInContainer to ReactMount.js
2015-03-20 12:29:53 -07:00
Mert Kahyaoğlu
63aa7259b9 move getReactRootElementInContainer to ReactMount.js
getReactRootElementInContainer.js file contains one function used only
in ReactMount.js.
2015-03-20 20:50:11 +02:00
Paul O’Shannessy
786055415b Merge pull request #3129
Put comma after any non-whitespace non-comment characters in JSXExpression
2015-03-20 10:32:11 -07:00
Jason Miller
ef796790ec Put comma after any non-comments, non-whitespace in JSXEspression
Fixes #1673
Closes #3129
2015-03-20 10:27:21 -07:00
Ben Alpert
70f16cc936 Merge pull request #3471 from mertkahyaoglu/master
fix doc comments and typos
2015-03-20 10:02:49 -07:00
Mert Kahyaoğlu
0c1eca7dfc fix doc comments and typos 2015-03-20 18:21:29 +02:00
Mihai Parparita
fea7bc5968 Use full chain of member expressions when generating display names.
Assumed to be namespaced names (with the exception of "exports", which is
special-cased).
2015-03-19 16:46:55 -07:00
Ben Alpert
7fe5a3aadd Merge pull request #3442 from spicyj/kill-initializeTouchEvents
Kill React.initializeTouchEvents for good
2015-03-19 14:15:26 -07:00
Ben Alpert
41e5518135 Merge pull request #3464 from martomi/html-tags
Examples - Fix a closing html paragraph tag.
2015-03-19 13:09:09 -07:00
Martin Mihaylov
d7bf64396a Fix the closing html paragraph tag. 2015-03-19 20:56:49 +01:00
Joseph Savona
f707f74c8a Merge pull request #3463 from josephsavona/relay-components
Building The Facebook News Feed With Relay
2015-03-19 12:56:21 -07:00
Joseph Savona
85e7598ef1 Building with Relay blog post 2015-03-19 12:53:49 -07:00
Ben Alpert
1a102a2ed8 Merge pull request #3456 from cody/html-jsx
Fix HTML to JSX converter to work with https
2015-03-19 12:45:41 -07:00
Stefan Dombrowski
89b17330ac Fix HTML to JSX converter to work with https 2015-03-19 00:33:14 +01:00
Christoph Pojer
d86790f4b6 Merge pull request #3441 from cpojer/rm-perf
Remove perf folder
2015-03-18 12:28:55 -07:00
Ben Alpert
a321247ee5 More lint fixes 2015-03-17 14:17:03 -07:00
Ben Alpert
26664315a6 Merge pull request #3438 from spicyj/lint
Lint fixes
2015-03-17 14:14:57 -07:00
Christoph Pojer
0098168b60 Merge pull request #3439 from cpojer/dom-node-warn
Add warning for getDOMNode calls.
2015-03-17 14:14:16 -07:00
Ben Alpert
9c4c2f58ea Kill React.initializeTouchEvents for good
Now that #1169 is fixed, the only thing this is used for is to determine whether `onTouchTap` causes touch listeners to be added. The only internal uses of TapEventPlugin are where touch events are already initialized (so this doesn't make a difference) and we don't support `onTouchTap` as part of the public API so this should be safe.
2015-03-17 14:12:26 -07:00
cpojer
fb23276178 Add warning for getDOMNode calls. 2015-03-17 14:08:04 -07:00
cpojer
7291942550 Remove perf folder 2015-03-17 13:40:11 -07:00
Ben Alpert
e791fccf58 Use console.error to show stack trace in console
Better version of #3277.

Test Plan: jest, grunt test
2015-03-17 13:39:04 -07:00
Ben Alpert
c34fa7f3d2 Lint fixes 2015-03-17 13:30:15 -07:00
Ben Alpert
9a6fa5eb7d Merge pull request #3430 from fourcolors/patch-1
fix grammar in comments
2015-03-17 11:08:40 -07:00
Ben Alpert
5d9b228e03 Merge pull request #3433 from mihaip/master
Include the owner name when warning about createElement(null/undefined).
2015-03-16 22:21:33 -07:00
Mihai Parparita
60a101eced Include the owner name when warning about createElement(null/undefined).
Makes it easier to find the callsite that needs to be fixed.
2015-03-16 22:05:29 -07:00
Sebastian Markbåge
dc9dcdba86 Merge pull request #3431 from sebmarkbage/ignoreowner
Don't use owner to determine statefulness
2015-03-16 18:08:21 -07:00
Sebastian Markbage
50cbdbc9ab Don't use owner to determine statefulness
This reverts an early commit that made it so that elements from two
different owner in the same slot wouldn't share state.

That behavior was helpful, and we did hit a case which was solved by this.
However, this pattern is extremely uncommon. I've yet to even find the
original case, let alone any existing cases in our codebase.

Therefore, we're dropping this to simplify elements and enable new
optimizations.
2015-03-16 18:05:15 -07:00
Paul O’Shannessy
c48ccc5742 0.13 blog post, starter kit 2015-03-16 16:59:22 -07:00
Paul O’Shannessy
77f011f82f Update Readme for 0.13.1 2015-03-16 16:59:21 -07:00
Paul O’Shannessy
efc88bad76 Changelog for 0.13.1 2015-03-16 16:59:21 -07:00
Jim
87e14c5ef8 Merge pull request #3176 from jsfb/webcomponent-to-vendor-thirdparty
Added webcomponents.js and a simple unit test verifying a document fragment as a valid React container
2015-03-16 16:40:22 -07:00
Jim
12059299f3 Added webcomponents.js and a simple unit test verifying a document fragment as a valid React container. 2015-03-16 16:37:05 -07:00
Jim
73f4dc59d8 Merge pull request #3169 from jsfb/mount-into-shadowdom
Allow rendering into document fragments. Fixes #840
2015-03-16 16:15:03 -07:00
Paul O’Shannessy
10112672b1 Merge pull request #3395 from Simek/reactComponentExpect-cleanup
toBeDOMComponentWithChildCount readability
2015-03-16 16:14:48 -07:00
Sterling Cobb
b59e7e60b5 fix grammer in comments 2015-03-16 17:10:14 -06:00
AoDev
83a2465af9 Add a note about react classe name convention
I lost quite some time trying to figure out what was happening. No error in console and nothing showing up.
2015-03-16 23:59:02 +01:00
Paul O’Shannessy
dacd4db1fa Merge pull request #3427 from zpao/full-page-dom-components
Ensure FullPageComponents are treated as DOM components
2015-03-16 15:39:40 -07:00
Paul O’Shannessy
99cbaed836 Ensure FullPageComponents are treated as DOM components
We currently override a couple DOM components. We need to ensure everything we
override is still treated as a DOM component, even if it has a composite
component wrapper.
2015-03-16 15:18:39 -07:00
Paul O’Shannessy
93e67a0a5b Merge pull request #3425 from zpao/fix-pure-test
Fix PureRender test to use providesModule
2015-03-16 15:14:26 -07:00
Ben Alpert
0a312bba89 Merge pull request #3414 from spicyj/gh-3407
Fix up Perf a bit better for 0.13
2015-03-16 14:04:28 -07:00
Paul O’Shannessy
bb0fc28fac Fix PureRender test to use providesModule 2015-03-16 13:56:43 -07:00
Paul O’Shannessy
b0a59a643a Merge pull request #3381 from zpao/jsx-nonstrictmodule
Fix module option parsing of jsx command
2015-03-16 13:24:35 -07:00
Paul O’Shannessy
4c9a07aad4 Merge pull request #3419 from xmo-odoo/patch-1
Link to inserting raw HTML document
2015-03-16 13:22:33 -07:00
Jim
f3f1294589 Merge pull request #2842 from Acubed/master
Generate XML-compatible void tags and boolean attributes
2015-03-16 12:49:59 -07:00
Jim
fb2999076c Merge pull request #3422 from jviereck/doc-typo-fix
Fix small typo ("of" instead of "or")
2015-03-16 11:03:06 -07:00
Julian Viereck
c6108afdc7 Fix small typo 2015-03-16 18:27:04 +01:00
Paul O’Shannessy
a9e787665d Merge pull request #3413 from zpao/travis
Fix TravisCI fast bail check
2015-03-16 09:28:45 -07:00
xmo-odoo
f0c7b0c8ed Link to inserting raw HTML document 2015-03-16 10:51:20 +01:00
Austin Wright
29416f422e Appease eslint 2015-03-14 14:08:18 -07:00
Austin Wright
b52bb22342 Move list of newline-eating tags to variable 2015-03-14 13:57:15 -07:00
Austin Wright
030a7b34c7 Add back \n-to-be-eaten for the plain-text elements
The comment hack to enable polyglot HTML isn't cross-browser, or simply doesn't work.
2015-03-14 13:53:12 -07:00
Austin Wright
8e714f9898 Update tests to use Polyglot profile of HTML 2015-03-14 13:53:12 -07:00
Austin Wright
e913e85e1a Use a Polyglot HTML-safe method of escaping leading newline in rawtext elements 2015-03-14 13:53:12 -07:00
Austin Wright
8bc828aa7c Generate XML-compatible tags and boolean attributes 2015-03-14 13:53:12 -07:00
Ben Alpert
98671fda1a Fix up Perf a bit better for 0.13
_mountImageIntoNode moved into ReactMount and wasn't being counted where it was supposed to be. In addition, all DOM elements are now wrapped in a composite wrapper but for the perf tools we want to skip over those or else we'll double-count (at least with the current accounting -- and that's effectively what we did before so this brings us back up to parity).

Fixes #3407.

Test Plan:
Used the jsbin from #3407 and saw similar output from this branch and 0.12:

![image](https://cloud.githubusercontent.com/assets/6820/6649816/4d7202e0-c9b2-11e4-9364-e1b50c96b55b.png)
2015-03-13 18:51:53 -07:00
Paul O’Shannessy
08b1515f7f Update TravisCI to use exiting env var
$TRAVIS_COMMIT_RANGE was broken but it seems what we're doing is worse and
resulting in false negatives.

The result of the bad range was that we weren't running lint or tests for
things we should have been. It actually looks like $TRAVIS_COMMIT has been
wrong and it's not clear why this has been working at all.
2015-03-13 18:39:47 -07:00
Paul O’Shannessy
68a2f89cc6 Merge pull request #3402 from vkramskikh/fix-empty-selects-with-value
Fix for empty <select> elements with value
2015-03-13 18:04:57 -07:00
Ben Alpert
ed257cb691 Merge pull request #3412 from spicyj/gh-3329
Squash getDOMNode warning from isDOMComponent
2015-03-13 17:55:02 -07:00
Ben Alpert
70985ba68d Squash getDOMNode warning from isDOMComponent
Fixes #3329.
2015-03-13 17:11:02 -07:00
Ben Alpert
bcd70ad500 Merge pull request #3410 from robertknight/3409-style-null-to-nonnull
Fix incorrect update of style when props.style transitions from null to non-null
2015-03-13 17:07:01 -07:00
Robert Knight
ee86942d77 Fix incorrect update of style when props.style transitions from null to non-null
ReactDOMComponent maintains a copy of the previous style
object to support in-place mutations of props.style.

This cached object was not cleared when the style
property was removed in a props update.

Fixes #3409
2015-03-13 22:16:19 +00:00
Vitaly Kramskikh
2f52d81865 Fix for empty <select> elements with value
There is an exception when value or defaultValue is set but there are no
children as ReactDOMSelect tries to mark the first children as selected
even if there are no children.
2015-03-13 21:48:02 +07:00
Paul O’Shannessy
228c00b813 Merge pull request #3397 from koba04/eslint-ignore-built-files
ESLint ignores built files
2015-03-12 18:25:42 -07:00
Toru Kobayashi
ed0e242e07 ESLint ignores built files 2015-03-13 09:58:20 +09:00
Sebastian Markbåge
ca8d7cba1b Merge pull request #3355 from cpojer/shallowCompare
Add shallowCompare module and use it in PureRenderMixin + tests
2015-03-12 17:45:22 -07:00
Bartosz Kaszubowski
4b1d7bcec2 toBeDOMComponentWithChildCount readability 2015-03-13 00:15:32 +01:00
Paul O’Shannessy
d19636295b Merge pull request #3394 from cody/getDOMNode
Fix in docs: getDOMNode --> findDOMNode
2015-03-12 14:12:23 -07:00
Stefan Dombrowski
84e6a392a3 Fix in docs: getDOMNode --> findDOMNode 2015-03-12 22:07:03 +01:00
Ben Alpert
1f72387a47 Merge pull request #3385 from RichardLitt/patch-2
Nominalized 'shallow copy'
2015-03-11 16:27:26 -07:00
Richard Littauer
00e89454ec Nominalized 'shallow copy'
I mis-parsed 'shallow copies' as adjective noun, instead of as a compound verb. I've adjusted the text to make it easier to parse on the first read, which should also help ESL learners to be able to parse it easier.
2015-03-11 16:22:24 -07:00
Paul O’Shannessy
78001d3abc jsx_orphaned_brackets_transformer v1.0.1 2015-03-11 15:52:54 -07:00
Paul O’Shannessy
b459f2ff99 Merge pull request #3384 from syranide/npmjobt
Fix jsx_orphaned_brackets_transformer using jstransformer with an older esprima version
2015-03-11 15:51:38 -07:00
syranide
4485f6a439 Fix jsx_orphaned_brackets_transformer using jstransformer with an older esprima version 2015-03-11 23:48:05 +01:00
Ben Alpert
f8672c7270 Fix grammar in warning message 2015-03-11 15:47:04 -07:00
Ben Alpert
d9e06462a3 Merge pull request #3383 from ariabuckles/proptype-warnings
[PropTypes] Add warnings if PropTypes return functions
2015-03-11 15:46:17 -07:00
Aria Buckles
206e69c403 [PropTypes] Make invalid proptype warning clearer
Addresses comments on #3383, making the invalid proptype specification
warning clearer and making the tests for it a bit clearer.
2015-03-11 15:36:51 -07:00
Ben Alpert
098f316aff It\ns -> Its 2015-03-11 15:28:24 -07:00
Paul O’Shannessy
adf4aee1b4 [docs] it's --> its 2015-03-11 15:25:57 -07:00
Aria Buckles
d973e32336 [PropTypes] Add warnings if PropTypes return functions
Summary:
Right now, if a component specifies a propType as, for example,
`myProp: React.PropTypes.shape`, without an actual shape
parameter, any prop type will be accepted, because
`React.PropTypes.shape` returns a function (the actual validator),
not an Error, currently indicating that propType checking passed.

This can create an unfortunate situation where a component looks
like it has fully specified `propTypes`, but in fact does not.

This commit addresses this by warning if a propType checker returns
anything non-falsy that is not an Error (currently all the library
PropTypes return null or an Error).

Test Plan:
Added a unit test; ran `jest` in the root repo directory.
Also ran `grunt lint` and `grunt test`
2015-03-11 15:09:18 -07:00
Paul O’Shannessy
c4a2e4d414 Fix module option parsing of jsx command 2015-03-11 14:26:51 -07:00
Jay Jaeho Lee
58f6958128 Revise Korean translation - final 2015-03-12 01:57:44 +09:00
Jim
3d8b47bbcc Merge pull request #3356 from cpojer/findDOMNode
foo.getDOMNode => React.findDOMNode(foo)
2015-03-11 08:47:56 -07:00
Jinwoo Oh
dd3734094c Update Translation to 91b4564 2015-03-12 00:37:35 +09:00
Ted Kim
7dfbf73004 ref-08-reconciliation (based on 941cba6) 2015-03-12 00:37:35 +09:00
Jinwoo Oh
7dc818a95a Translate 06 to Korean
- Up to 8326a9f
2015-03-12 00:37:34 +09:00
Shim Won
f2fbb31ace Apply review
- Up to 60e96ed
2015-03-12 00:37:02 +09:00
Jinwoo Oh
2bc8a36ab9 Translate 11 to Korean
- Up to 83e4409
2015-03-12 00:37:02 +09:00
Shim Won
ec91b4184f Translate 10.1 to Korean
- Up to 678ec31
2015-03-12 00:37:02 +09:00
Seoh Char
4aeb306064 translation of 05-reusable-components-ko-KR.md 2015-03-12 00:37:02 +09:00
Shim Won
87fb9caca7 Update Translation to b95ad29 2015-03-12 00:37:01 +09:00
Shim Won
bf6d9811e7 Translate 10.2 to Korean
- Up to b7a548c
2015-03-12 00:36:50 +09:00
Jinwoo Oh
5579a86ac3 Translate 08.1 to Korean
- Up to b7a548c
2015-03-12 00:36:50 +09:00
Shim Won
c0ac76d723 Translate 10.7 to Korean
- Up to 0bf88f2
2015-03-12 00:36:50 +09:00
Shim Won
c24e5926b9 Translate 10.3 to Korean
- Up to 5ab7fde
2015-03-12 00:36:50 +09:00
Jinwoo Oh
48d2f31a6d Translate conferences to Korean
- Up to 1b86246
2015-03-12 00:36:50 +09:00
Shim Won
8838a6d9f9 Translate 10.5 to Korean
- Up to 60e96ed
2015-03-12 00:36:25 +09:00
Shim Won
74adeb3611 Translate 10.8 to Korean
- Up to ab512af
2015-03-12 00:36:25 +09:00
Shim Won
d3ad46a461 Translate 10.4 to Korean
- Up to 2e232f8
2015-03-12 00:36:25 +09:00
Jinwoo Oh
89b23c0c20 Translate 08 to Korean
- Up to b7a548c
2015-03-12 00:36:25 +09:00
Jim
5afa657d77 Merge pull request #3370 from varunrau/master
Fixed shallowEqual for arguments that are not objects
2015-03-11 08:34:49 -07:00
Shim Won
710668e7f1 Update Translation to 673874d 2015-03-12 00:33:40 +09:00
Shim Won
4ce0e00767 Unify words 2015-03-12 00:33:40 +09:00
Jay Jaeho Lee
3abeb52e6f Revise Korean translations 2015-03-12 00:33:40 +09:00
Shim Won
35293b5229 Translate 09 to Korean
- Up to 2de44cf
2015-03-12 00:33:40 +09:00
Shim Won
a04597eaa1 Translate 02.2 to Korean
- Up to fc91d2f
2015-03-12 00:33:40 +09:00
Shim Won
7e73efefd8 Fix links 2015-03-12 00:33:40 +09:00
Shim Won
fe1a2e48f9 Update think-in-react.ko-KR
- Up to 5ab7fde
2015-03-12 00:33:39 +09:00
Shim Won
f1d74bef9c Translate 10 to Korean
- Up to a911513
2015-03-12 00:33:39 +09:00
Shim Won
fe8cd0c442 Translate 02.3 to Korean
- Up to 6f44f60
2015-03-12 00:33:39 +09:00
Shim Won
84ebb42596 Update content
- Up to 5ab7fde
2015-03-12 00:33:39 +09:00
Shim Won
aae74da792 Translate 02.1 to Korean
- Up to 513433b
2015-03-12 00:33:39 +09:00
Shim Won
fb2f6c6747 Update docs to v0.13.0-beta.2
- Up to 5126cee
2015-03-12 00:33:39 +09:00
Jinwoo Oh
ac466b71d8 Translate tutorial to Korean
- Up to a19966f
2015-03-12 00:33:39 +09:00
Shim Won
547baf82b5 Translate ref 07 to Korean
- Up to 6f44f60
2015-03-12 00:33:39 +09:00
Shim Won
f7f48bda28 Translate ref 06 to Korean
- Up to 4c7cd13
2015-03-12 00:33:38 +09:00
Shim Won
65b8bcce6f Translate ref 05 to Korean
- Up to c0e33e8
2015-03-12 00:33:38 +09:00
Shim Won
ade720d4d9 Translate ref 04 to Korean
- Up to a4c96d6
2015-03-12 00:33:38 +09:00
Lee Jaeyoung
9e601b8c05 translate 10.6-update.ko-KR.md
apply comments

apply comments

apply comments
2015-03-12 00:33:38 +09:00
Shim Won
ae4fbff308 Translate 07 to Korean
- Up to bb52715
2015-03-12 00:33:38 +09:00
Shim Won
c344ef1b79 Translate flux-docs to Korean
- Up to 6c19040
2015-03-12 00:33:38 +09:00
Shim Won
7eabccc214 Translate 04 to Korean
- Up to e4352ef
2015-03-12 00:33:38 +09:00
Jinwoo Oh
8387f3bbc4 Translate getting-started to Korean
- Up to b3cd299
2015-03-12 00:33:38 +09:00
Taeho Kim
a4f9c67dbb Create ref-09-glossary.ko-KR.md 2015-03-12 00:33:38 +09:00
Taeho Kim
87d6c59ebf Create ref-03-component-specs.ko-KR.md
Based on 08c5e42649
2015-03-12 00:33:38 +09:00
Taeho Kim
8b109e54f1 Create ref-02-component-api.ko-KR.md 2015-03-12 00:33:37 +09:00
Taeho Kim
72f631b994 Create ref-01-top-level-api.ko-KR.md
Based on 4f50071de0
2015-03-12 00:33:37 +09:00
Lee Jaeyoung
cb50a48788 translate thinking-in-react.ko 2015-03-12 00:33:37 +09:00
Lee Jaeyoung
4466b0336d translate complementary-tools 2015-03-12 00:33:37 +09:00
Jay Jaeho Lee
e8fa815391 translated docs/docs/02-displaying-data.md into Korean
Up to b25e2e70d8
2015-03-12 00:33:37 +09:00
Shim Won
6686029267 Fix some words, Translate title
- Up to 9f18ccd
2015-03-12 00:33:37 +09:00
Shim Won
f0afc7809a Translate 03 to Korean
- Up to 9f18ccd
2015-03-12 00:33:37 +09:00
Lee Jaeyoung
ed1d7fc513 translate videos.md 2015-03-12 00:33:37 +09:00
Lee Jaeyoung
8cef7910a7 translate examples.md 2015-03-12 00:33:36 +09:00
Jay Jaeho Lee
4d4f322c60 Add docs/docs 01 2015-03-12 00:33:36 +09:00
Varun Rau
6cd004f20a Fixed shallowEqual implementation to handle the case when inputs are not objects.
If either argument is not an object and unequal, then shallowEqual should return false.
If only one argument is an object, then shallowEqual should return false.

Fixes #3369
2015-03-10 18:03:51 -07:00
cpojer
413e96d0cd Add some important getDOMNode tests back. 2015-03-10 17:27:19 -07:00
cpojer
ae7da3aadd foo.getDOMNode => React.findDOMNode(foo) 2015-03-10 17:17:21 -07:00
Jim
91b45641b8 Merge pull request #3317 from ianobermiller/fix-shallow-equal
shallowEqual: bail if either argument is falsey
2015-03-10 15:45:03 -07:00
Ben Alpert
53f92bf858 Fix comma splice and line length 2015-03-10 15:36:27 -07:00
Jim
645a6caaf5 Merge pull request #3323 from jonhester/ie8-compat-mode
warn if IE8 is in compatibility mode
2015-03-10 15:35:09 -07:00
Ben Alpert
462e8f1be8 Merge pull request #3327 from Simek/initialize-variables-fix
initialize dev variables in dev mode only in shouldUpdateReactComponent.js
2015-03-10 15:33:29 -07:00
Ben Alpert
cff3f35bf7 Merge pull request #3321 from Smert/master
Bringing the code to one style.
2015-03-10 15:32:43 -07:00
Ben Alpert
4d9561d938 Merge pull request #3310 from darcyadams/console-exists-before-warn
Check that console exists before warning
2015-03-10 15:32:32 -07:00
Ben Alpert
b95fe57743 Merge pull request #3253 from jsfb/fix-comment-to-reflect-class-type-usage
Fix comment to reflect the new (non-deprecated) way of accessing a class type.
2015-03-10 15:31:50 -07:00
Ben Alpert
e8af59cf82 Merge pull request #3246 from spicyj/onclick
Revert "Revert #1536"
2015-03-10 15:31:38 -07:00
Ben Alpert
68ca057bc3 Merge pull request #3230 from nmn/master
Add numeric CSS property - stroke width
2015-03-10 15:31:30 -07:00
Ben Anderson
75a8bc96b1 Warn when rendering directly into document.body
This is in response to #3207 to address concerns regarding third-party
scripts and browser plugins potentially altering DOM nodes within
document.body, causing problems with reconciliation.

Closes #3211.
2015-03-10 15:31:02 -07:00
Ben Alpert
f77de57e41 Merge pull request #2946 from benmoss/nested-render-warning
Add displayName to nested render warnings [#1726]
2015-03-10 15:24:59 -07:00
Ben Alpert
4feed4fcc5 Merge pull request #2868 from chicoxyzzy/dev_and_prod_environments_consistancy
make dev and production environment consistent
2015-03-10 15:24:33 -07:00
Ben Alpert
9cb25b3ddb Merge pull request #2266 from syranide/voidelem
ReactDOMComponent should not accept children for void elements
2015-03-10 15:24:00 -07:00
Paul O’Shannessy
715aadd1c7 v0.13 starter kit 2015-03-10 15:08:26 -07:00
Paul O’Shannessy
e313616be7 Bump version so we can get back to work 2015-03-10 15:06:35 -07:00
Paul O’Shannessy
e17b6c0514 Bump version in readme 2015-03-10 15:05:43 -07:00
Ben Alpert
df18770a0c with the exception for -> with the exception of 2015-03-10 14:44:44 -07:00
Ben Alpert
ab7084f71d Merge pull request #3366 from sebmarkbage/docs2
ES6 Class Docs
2015-03-10 14:44:23 -07:00
Sebastian Markbage
efebdb2925 ES6 Class Docs
Some minor burried docs.
2015-03-10 14:41:42 -07:00
Ben Alpert
085bf8635c Add deprecation note to blog post and changelog 2015-03-10 14:22:03 -07:00
Paul O’Shannessy
5f791be022 [docs] Update acknowledgements
Missed updating this in #3283 before merging.
2015-03-10 13:57:44 -07:00
Paul O’Shannessy
139012cd6a Merge pull request #3283 from zpao/0.13-authors
Update AUTHORS for 0.13
2015-03-10 13:56:52 -07:00
Paul O’Shannessy
a95d6ff0df Update AUTHORS for 0.13 2015-03-10 13:55:55 -07:00
Paul O’Shannessy
5e79bd5c4f Changelog for 0.13 2015-03-10 13:47:15 -07:00
Paul O’Shannessy
deeb55b6e7 Merge pull request #3363 from zpao/0.13-docs-cloneelement
[docs] React.cloneElement
2015-03-10 13:46:12 -07:00
Paul O’Shannessy
a5bdc92990 A couple small changes to the changelog for 0.13 2015-03-10 13:43:15 -07:00
Jim
565e2ecbac Merge pull request #3364 from jsfb/refs-docs
Added docs about the ref-as-callback.
2015-03-10 13:02:18 -07:00
Jim
f3811e68fa Added docs about the ref-as-callback. 2015-03-10 13:01:07 -07:00
Ben Alpert
4fb9644823 0.13 blog post 2015-03-10 12:57:50 -07:00
Paul O’Shannessy
62d5d646db Merge pull request #3362 from jsfb/docs-for-setstate
Added docs about the first-parameter-is-function version of setState.
2015-03-10 12:29:25 -07:00
Paul O’Shannessy
969d92a411 Merge pull request #3354 from zpao/0.13-examples
Update the examples for 0.13
2015-03-10 11:57:35 -07:00
Paul O’Shannessy
ce66a796ee Update the examples for 0.13
The only substantial difference here is that I made the harmony example use ES6
classes. The server rendering example was pretty wacky and hard to run but
I did confirm that it works.
2015-03-10 11:56:25 -07:00
Jim
7569e810e7 Added docs about the first-parameter-is-function version of setState. 2015-03-10 11:47:00 -07:00
Paul O’Shannessy
45cc5006d7 [docs] React.cloneElement 2015-03-10 11:19:11 -07:00
Paul O’Shannessy
ee019d6cc5 Merge pull request #3360 from zpao/0.13-docs-api-deprecations
Add deprecation note for deprecated component APIs
2015-03-10 11:07:47 -07:00
Paul O’Shannessy
b4962eff43 Merge pull request #3361 from zpao/deprecate-replaceprops
Deprecate replaceProps
2015-03-10 11:07:34 -07:00
Paul O’Shannessy
9d58e9a27b Deprecate replaceProps
This isn't supported on plain JS classes anyway, so this is just adding
a warning in DEV before the code throws.
2015-03-10 10:44:47 -07:00
Paul O’Shannessy
b038943653 Add deprecation note for deprecated component APIs 2015-03-10 10:44:24 -07:00
Ben Alpert
79a34e80b1 Merge pull request #3358 from coliff/patch-1
Update relevant URLS to HTTPS
2015-03-10 10:03:59 -07:00
Paul O’Shannessy
f41904cf99 Merge pull request #2963 from graue/document-shallow-testing
Add documentation for shallow testing
2015-03-10 09:39:47 -07:00
Ben Alpert
ca08f7546e Merge pull request #3353 from spicyj/frag
Add docs for createFragment
2015-03-10 09:17:51 -07:00
Ben Alpert
b7732ba7c0 Add docs for createFragment 2015-03-10 09:17:34 -07:00
Christian
dbba47d5d2 Update relevant URLS to HTTPS
Update relevant URLS to HTTPS
2015-03-10 18:11:29 +09:00
Paul O’Shannessy
dd6b8ab8b9 Merge pull request #3347 from koba04/fix-perf-displayname
Fix addons.Perf displayName with ES6 classes
2015-03-09 21:32:24 -07:00
cpojer
a1631bea71 Add shallowCompare module and use it in PureRenderMixin + tests 2015-03-09 18:49:37 -07:00
Toru Kobayashi
29506cec54 Fix Perf displayName with ES6 classes 2015-03-10 09:45:40 +09:00
Paul O’Shannessy
62ee384d7b Merge pull request #3330 from spicyj/no-render
Add warning when using non-component element types
2015-03-09 13:47:39 -07:00
Paul O’Shannessy
eaed4d7804 Merge pull request #3345 from zertosh/update-derequire
Update derequire (and greatly improve build speed)
2015-03-09 13:46:49 -07:00
Paul O’Shannessy
769e1cea03 Merge pull request #3337 from facebook/cpojer-patch-2
"Better" duck typing in reactComponentExpect
2015-03-09 13:45:50 -07:00
Paul O’Shannessy
8a3dd040a0 Merge pull request #3331 from zpao/null-frag-proptypes
Allow null and undefined values in non-frag object passed to PropTypes.node
2015-03-09 13:43:26 -07:00
Paul O’Shannessy
57bed796ef Merge pull request #3339 from gabelevi/patch-1
Update jstransform and esprima-fb dependencies
2015-03-09 13:19:41 -07:00
Jim
ccb5ccd5a0 Merge pull request #3341 from rickbeerendonk/3338-documentation-issue
Add documentation about JSX and displayName.
2015-03-09 10:35:28 -07:00
Andres Suarez
9941095dc3 Update to derequire@^2.0.0 2015-03-08 23:43:47 -04:00
Ben Alpert
208b258519 Merge pull request #3343 from BinaryMuse/docs/bkt-add-contextmenu-event
Add onContextMenu to events doc
2015-03-07 20:27:57 -08:00
BinaryMuse
1aa9580484 Add onContextMenu to events doc 2015-03-07 20:22:10 -08:00
Rick Beerendonk
2184162e38 Add documentation about JSX and displayName.
The section that described how JSX transform handles displayName was lost in commit 9b1ee4de46

Fixes #3338
2015-03-07 19:01:58 +01:00
Gabe Levi
ac5af1ec45 Update jstransform and esprima-fb dependencies 2015-03-06 18:31:29 -05:00
Ben Alpert
b95ad296da Merge pull request #3336 from facebook/cpojer-patch-1
Fix documentation typo in ReactComponent
2015-03-06 10:07:45 -08:00
Christoph Pojer
8ce9e2b194 Update reactComponentExpect.js 2015-03-06 02:46:33 -08:00
Christoph Pojer
419038f846 Fix documentation typo in ReactComponent 2015-03-06 01:33:56 -08:00
Paul O’Shannessy
0e797dffe4 Allow null and undefined values in non-frag object passed to PropTypes.node 2015-03-05 17:56:50 -08:00
Jim
c7c2e05c33 Merge pull request #2802 from jsfb/findDOMNode-in-docs
Updated docs examples/recommendations to use findDOMNode instead of getDOMNode
2015-03-05 16:51:13 -08:00
Jim
030fc752ba Updated docs examples/recommendations to use findDOMNode instead of getDOMNode 2015-03-05 16:42:43 -08:00
Ben Alpert
6dbef56da3 Merge pull request #3333 from ariabuckles/docs
[Docs] Add 'ing' to make "opening" and "closing" line up
2015-03-05 16:28:04 -08:00
Aria Buckles
7eb6f68e7c [Docs] Add 'ing' to make "opening" and "closing" line up
Test Plan:
None
2015-03-05 16:25:41 -08:00
Ben Alpert
6b7e4dc8e8 Add warning when using non-component element types
This should make debugging easier for people who missed callsites when fixing up their JSX/non-JSX usage.
2015-03-05 15:24:31 -08:00
Bartosz Kaszubowski
a42dcf4f7b initialize dev variables in dev mode only 2015-03-05 21:20:48 +01:00
Jon Hester
65c4aeaa3a use warning module instead of console.debug 2015-03-05 18:53:12 +00:00
Darcy
6b593083ed check that console exists before warning
Console is undefined in earlier versions of IE when it is not open. This causes an uncaught exception, and breaks applications in these versions of IE when attempting to warn when the  console is closed.
Admittedly, console will usually be open when testing in development, but still React should not break the application when it is not.
2015-03-05 09:20:16 -05:00
Jon Hester
a999ac1ac3 warn if IE8 is in compatibility mode 2015-03-05 13:48:28 +00:00
dmitry
adb9b20f6d Bringing the code to one style. 2015-03-05 14:04:47 +02:00
Ian Obermiller
34f4a0e42d shallowEqual: bail if either argument is falsey
Also add some unit tests.
2015-03-04 22:16:51 -08:00
Paul O’Shannessy
fa8961118a Merge pull request #3294 from zpao/jsxcompiler-linenumbers
[docs] show line numbers in online jsx compiler
2015-03-04 18:45:18 -08:00
Paul O’Shannessy
bda845cf4c [docs] Fox Ryan's name: #3311 2015-03-04 12:32:41 -08:00
Christopher Chedeau
4485903d40 Update round-up 25
(cherry picked from commit 40336d8144)
2015-03-04 12:32:37 -08:00
Christopher Chedeau
af400ab17b Merge pull request #3304 from facebook/matthewjohnston4-croundup-1
Community Roundup #25 blog post
2015-03-04 09:06:38 -08:00
Jim
71675bb400 Merge pull request #3305 from brafdlog/patch-1
There was a redundant word in the sentence
2015-03-03 14:04:05 -08:00
Paul O’Shannessy
811057aae2 Facebook, not FaceBook 2015-03-03 12:49:02 -08:00
Paul O’Shannessy
a3642d3995 v0.13 rc blog post 2015-03-03 12:42:57 -08:00
brafdlog
457c8e397d There was a redundant word in the sentence 2015-03-03 22:03:53 +02:00
Paul O’Shannessy
2d46d589a1 v0.13.0-rc2 starter kit 2015-03-03 11:46:01 -08:00
Paul O’Shannessy
21b41480a5 v0.13.0-rc2 2015-03-03 11:46:01 -08:00
Paul O’Shannessy
71e583844b Update bower release task
This makes it so we only delete some files during the buld process. We were
losing the LICENSE and PATENTS files.
2015-03-03 11:46:01 -08:00
Paul O’Shannessy
e8ffb80586 [lint] fix errors from new test 2015-03-03 11:23:45 -08:00
Paul O’Shannessy
e114988a2c Sync out another jsx transform test.
We added this test internally and it never got added here. We haven't broken it
with any transforms *yet* but it's still good to actually run all of our tests
here too.
2015-03-03 10:40:07 -08:00
Matthew Johnston
a850603e1c Update 2015-03-03-community-roundup-25.md 2015-03-03 18:34:07 +00:00
Paul O’Shannessy
2e2d79758d Merge pull request #3264 from zpao/transform-jsx
XJS -> JSX
2015-03-03 10:33:08 -08:00
Matthew Johnston
2417b7f4de Update 2015-03-03-community-roundup-25.md 2015-03-03 18:31:45 +00:00
Matthew Johnston
49d5722467 Update 2015-03-03-community-roundup-25.md 2015-03-03 17:56:53 +00:00
Matthew Johnston
e99ef894b8 Community Roundup #25 blog post 2015-03-03 14:20:41 +00:00
Paul O’Shannessy
272ae10b48 Merge pull request #3299 from sebmarkbage/fixwarningformats
Always use a static message formats
2015-03-02 13:19:01 -08:00
Sebastian Markbage
a27c6d1690 Always use a static message formats
These are the only places that seems to be including environment specific
variables in the message format.

By ensuring that they're static, we make it easier to group logs by
format. I also ensure that I keep each addendum separate so that they can
be filtered/grouped separately.
2015-03-02 13:18:38 -08:00
Paul O’Shannessy
4bad1aacb6 Merge pull request #3275 from spicyj/gh-3222
Don't use undefined as parent name in key warning
2015-03-02 12:47:52 -08:00
Paul O’Shannessy
8fdf4bbffc Merge pull request #3276 from spicyj/gh-2978
Add regression test for scry order
2015-03-02 12:46:55 -08:00
Sebastian Markbåge
ecc4ad569a Merge pull request #3266 from sebmarkbage/cloneelement
Add cloneElement Implementation
2015-03-02 12:15:20 -08:00
Sebastian Markbåge
edddd57d28 Merge pull request #3293 from spicyj/gh-3286
ReactFragment counts as a node without warning
2015-03-02 12:10:50 -08:00
Jim
f2c7d9ac81 Merge pull request #3284 from delftswa2014/bugfix/blog/https-urls
Fixed the http url in the blog pages
2015-03-02 11:20:10 -08:00
PNikray
3516f33ffd Modified the todo example.
Instead of only using the index to supress the warning it now uses the
text + index to also ensure object iteration order.
2015-03-02 19:49:42 +01:00
Paul O’Shannessy
57bd8fe3bb Merge pull request #3295 from koba04/patch-1
Add a code format in 2015-02-24-react-v0.13-rc1.md
2015-03-01 20:48:25 -08:00
Toru Kobayashi
1744977201 Add a code format in 2015-02-24-react-v0.13-rc1.md 2015-03-02 09:33:36 +09:00
Paul O’Shannessy
b2161bd51d [docs] show line numbers in online jsx compiler 2015-03-01 11:53:06 -08:00
Ben Alpert
7ebf7c46f5 ReactFragment counts as a node without warning
Fixes #3286.
2015-03-01 11:50:07 -08:00
Paul O’Shannessy
dc92fa480a Upgrade package dependencies for new esprima/jstransform 2015-03-01 11:25:16 -08:00
Ben Alpert
7346ce5c0b Merge pull request #3288 from apaatsio/remove-unnecessary-variable-in-test
Remove unnecessary variable from test
2015-02-28 13:31:50 -08:00
Antti Ahti
323789540a Remove unnecessary variable from test 2015-02-28 15:23:34 +02:00
Paul O’Shannessy
48e54da484 XJS -> JSX
Part 1: change all of our methods and AST node types.
Part 2: Rename files so there is no trace of XJS
2015-02-27 18:23:18 -08:00
Ben Alpert
673874dc87 Merge pull request #3263 from wmertens/patch-1
beta1 blog entry: Fix CoffeeScript example
2015-02-27 15:28:22 -08:00
PNikray
0e355fc8c4 Fixed the url in community-roundup-9
using http resulted in an error, changing it to https fixes it
2015-02-27 23:43:50 +01:00
PNikray
77ec7da124 Fixed the url in community-roundup-5
using http resulted in an error, changing it to https fixes it
2015-02-27 23:42:14 +01:00
PNikray
94fa077a76 Changed the url of the video in community-round-up-4
The url was using http instead of https, which results in an error.
2015-02-27 23:39:17 +01:00
Ben Alpert
de1f8682d5 Add note about enter/leave bubbling
Fixes #2826.
2015-02-26 16:29:18 -08:00
Ben Alpert
feae9ad0a8 Add regression test for scry order
Fixes #2978.
2015-02-26 15:54:50 -08:00
Ben Alpert
d5fa14de1a Don't use undefined as parent name in key warning
Fixes #3222.
2015-02-26 15:20:37 -08:00
Sebastian Markbåge
1c697ab141 Merge pull request #3265 from sebmarkbage/shouldupdaterefs
Avoid passing `this` of a static object
2015-02-26 13:33:35 -08:00
PNikray
9c7f9b8de5 Added the key attribute into the todo example
This is to solve the warning (that the key should be set) that was being raised when adding a new item.
2015-02-26 19:37:05 +01:00
Sebastian Markbage
4adcee69a0 Add cloneElement Implementation
This is a new version of cloneWithProps but this one is moving out of
add-ons. Unlike cloneWithProps, this one doesn't have special logic for
style, className and children.

This one also preserves the original ref. This is critical when upgrading
from a mutative pattern where a child might have a ref on it.

It also preserves context, which is similar to how context would work when
it is parent based. It also ensures that we're compatible with the old
mutative pattern which makes updates easier.
2015-02-26 01:17:05 -08:00
Andreas Svensson
20dd247292 ReactDOMComponent should warn when provided children for void elements 2015-02-26 10:14:47 +01:00
Sebastian Markbage
061c6fc13c Avoid passing this of a static object
Refactoring artifact.
2015-02-25 18:37:02 -08:00
Ben Alpert
618bbdc531 Merge pull request #3239 from rralian/update/docs-clarify-forceUpdate
Docs: clarifies forceUpdate method
2015-02-25 17:35:07 -08:00
Wout Mertens
ce7190537f beta1 blog entry: Fix CoffeeScript example
Fix the constructor call and make code more idiomatic.
2015-02-26 00:26:16 +01:00
Paul O’Shannessy
84ddd9deaf Merge pull request #3257 from danmane/update-tutorial-md
Add mention of go and php server implementations in React tutorial
2015-02-25 12:46:17 -08:00
Daniel Mané
a7ae40e90d Add mention of go and php server implementations in React tutorial 2015-02-24 15:10:11 -08:00
Paul O’Shannessy
63146e1f16 v0.13 RC blog post
Note: we need to manually specify date in these files so that the sort order is
correct (2 posts on the same day). Otherwise it will just be ABC order, which
is wrong.

Closes: #3256
2015-02-24 14:05:57 -08:00
Paul O’Shannessy
7269422825 Fix typo
(cherry picked from commit 4d90b9bdf3)
2015-02-24 12:49:19 -08:00
Paul O’Shannessy
888daccf9f Merge pull request #3255 from chenglou/fix-blog-post
[Blog] Fix post code snippet display
2015-02-24 12:39:28 -08:00
Cheng Lou
99d23a54bc [Blog] Fix post code snippet display
I think nokogiri (is that what we use?) accidentally escaped this
snippet. Simply putting spaces between braces fixes it.
2015-02-24 15:22:25 -05:00
Paul O’Shannessy
2f20091520 Merge pull request #3250 from sebmarkbage/blogpost
Add Blog Post about ReactElement Changes in 0.13
2015-02-24 11:26:55 -08:00
Jim
29f6c7e774 Fix comment to reflect the new (non-deprecated) way of accessing a class type. 2015-02-24 11:18:17 -08:00
Sebastian Markbage
cd47798c59 Add Blog Post about ReactElement Changes in 0.13
Explains some of the rationale for the new warnings added in 0.13.
2015-02-24 10:54:03 -08:00
Paul O’Shannessy
44d91295cb Merge pull request #3251 from Simek/empty-docs-prevnext-fix
do not show empty "docs-prevnext" div on single page
2015-02-24 09:24:23 -08:00
Bartosz Kaszubowski
f785dd09ea do not show empty "docs-prevnext" div on single page
to remove additional necessary spacing between content and footer
2015-02-24 16:28:47 +01:00
Ben Alpert
1943a9a0db Only call put/deleteListener with truthy listeners
Without this, transitioning from `<div onClick={null} />` to `<div />` triggered `willDeleteListener` to delete the `click` handler which caused problems; now, we only call `putListener` and `deleteListener` when we have an actual listener.

I now also clean up the `onClickListeners` map upon deletion and don't double-listen when updating the event listener.
2015-02-23 14:52:30 -08:00
Ben Alpert
090e4bbc9a Revert "Revert #1536"
Formerly "Attach empty onclick listener to each node". This reverts commit 431155d2e2.
2015-02-23 14:28:22 -08:00
Bob Ralian
8d29520dc7 clarifies forceUpdate method 2015-02-23 10:34:41 -06:00
Paul O’Shannessy
95206fe5dc Make cloneWithProps typechecks static-only 2015-02-22 14:40:39 -08:00
Paul O’Shannessy
a30e25467d v0.13.0-rc1 starter kit 2015-02-22 13:32:25 -08:00
Paul O’Shannessy
06126ad3f4 v0.13.0-rc1 2015-02-22 13:26:13 -08:00
Paul O’Shannessy
4f26cc1414 Update dependencies 2015-02-22 13:26:13 -08:00
Paul O’Shannessy
d83fa6a6bf Merge pull request #3224 from Simek/patch-2
wider Twitter timeline on support page
2015-02-22 13:10:43 -08:00
Paul O’Shannessy
fe16c8292c Merge pull request #3232 from artnez/master
Add vendor/inline-source-map.js to package.json
2015-02-22 13:01:05 -08:00
Paul O’Shannessy
029e64bb56 Merge pull request #3233 from artnez/es6-call-spread
Add support for jstransform es6-call-spread
2015-02-22 12:57:25 -08:00
Artem Nezvigin
0bc4aafb74 Add support for jstransform es6-call-spread 2015-02-22 11:57:06 -08:00
Artem Nezvigin
d7791a7cbb Add vendor/inline-source-map.js to package.json 2015-02-22 11:11:48 -08:00
Naman Goel
34d5e05199 Merge branch 'master' of https://github.com/facebook/react
* 'master' of https://github.com/facebook/react: (30 commits)
  Expose --target flag on jsx executable
  Contributing: cleanup quote style
  Add Relay blog post
  Fix long lines in vendor/fbtransform/visitors
  lint vendor/*.js
  fix .eslintignore
  remove ballmer example
  Fix a doc. cloneWithProps clones a ReactElement.
  lint from root
  Fixed mistake in jsdocs types for cloneWithProps
  Put deprecation warning for classSet
  Lint vendor/fbtransform as well
  More warnings to ReactFragment.create
  Warn when using constructor function directly
  Move option parsing into react-tools proper.
  Remove lodash devDependency
  Added the immutability talk to the React.js Conf update.
  Use same pathways for browser transforms as we use in react-tools
  lint: remove spaces from array brackets
  lint: remove spaces from object braces
  ...
2015-02-22 15:57:34 +01:00
Naman Goel
20d3f0db29 CSS property 2015-02-22 15:57:30 +01:00
chico
9185323959 make dev and production environment consistent 2015-02-22 14:58:42 +03:00
Bartosz Kaszubowski
087cd7b27a wider Twitter timeline on support page 2015-02-21 23:20:09 +01:00
Paul O’Shannessy
5ab7fdecfe Merge pull request #2994 from chenglou/docs-classset
[Docs] Add note on classSet deprecation
2015-02-20 17:00:36 -08:00
Paul O’Shannessy
4046b92487 Merge pull request #2847 from zpao/jsx-es5
Expose --target=esversion flag on jsx executable
2015-02-20 15:19:37 -08:00
Paul O’Shannessy
d40be68d2c Expose --target flag on jsx executable
Valid values are 'es3' and 'es5'.
es3: perform reserved words quoting, don't use defineProperty
es5: default, don't do the above, class methods non-enumerable
2015-02-20 13:37:42 -08:00
Paul O’Shannessy
821383165f Merge pull request #3212 from denis-sokolov/patch-1
Contributing: cleanup quote style
2015-02-20 08:20:18 -08:00
Denis Sokolov
ae3e85d9e4 Contributing: cleanup quote style
The line above it recommends `'` over `"`, and yet the line in question uses `"`.
2015-02-20 12:06:33 +02:00
Greg Hurrell
531add88c4 Add Relay blog post
closes #3174
2015-02-19 21:27:45 -08:00
Paul O’Shannessy
85baea4404 Merge pull request #3209 from chicoxyzzy/eslint-everywhere
lint from root
2015-02-19 20:59:44 -08:00
Paul O’Shannessy
362e9595c4 Fix long lines in vendor/fbtransform/visitors
I meant to do this with #3206 but forgot to add them.
2015-02-19 18:43:06 -08:00
Paul O’Shannessy
a3ee6a9548 Merge pull request #2993 from chenglou/classset-ded
Put deprecation warning for classSet
2015-02-19 18:36:36 -08:00
Jim
8326a9f11e Merge pull request #2921 from hanski07/updateTransferringPropsDocs
Update transferring props docs
2015-02-19 17:52:02 -08:00
chico
90ce7f67d7 lint vendor/*.js 2015-02-20 04:37:45 +03:00
chico
ed6d02e1a8 fix .eslintignore 2015-02-20 04:31:21 +03:00
Jim
8913a07ada Merge pull request #3161 from koba04/fix-clone-with-props-document
Fix a doc. cloneWithProps clones a ReactElement.
2015-02-19 17:14:53 -08:00
chico
1876bc2432 remove ballmer example 2015-02-20 04:13:07 +03:00
Toru Kobayashi
60e96edce2 Fix a doc. cloneWithProps clones a ReactElement. 2015-02-20 10:08:46 +09:00
chico
466f4faf4e lint from root 2015-02-20 04:06:15 +03:00
Jim
d69329a17c Merge pull request #3208 from jsfb/clonewithprops-jsdocs
Fixed mistake in jsdocs types for cloneWithProps
2015-02-19 17:02:28 -08:00
Jim
bad85fafa1 Fixed mistake in jsdocs types for cloneWithProps 2015-02-19 16:38:25 -08:00
Cheng Lou
835316bc13 Put deprecation warning for classSet
Also removes the one test that used the module.
2015-02-19 19:31:54 -05:00
Paul O’Shannessy
c889f409bf Merge pull request #3191 from zpao/jsxtransformer-use-shared-code
Use same pathways for browser transforms as we use in react-tools
2015-02-19 16:09:41 -08:00
Paul O’Shannessy
cb3e797236 Merge pull request #3206 from zpao/lint-fbtransform
Lint vendor/fbtransform as well
2015-02-19 16:06:38 -08:00
Paul O’Shannessy
e60db7316f Merge pull request #3198 from zpao/jsx-option-parsing
Move option parsing into react-tools proper.
2015-02-19 15:54:11 -08:00
Paul O’Shannessy
0f85884fa4 Merge pull request #3201 from zpao/non-factory-invariant
Warn when using constructor function directly
2015-02-19 15:53:50 -08:00
Sebastian Markbåge
977204991b Merge pull request #3205 from sebmarkbage/warningfixes
More warnings to ReactFragment.create
2015-02-19 15:43:18 -08:00
Paul O’Shannessy
e830cea050 Lint vendor/fbtransform as well 2015-02-19 15:26:27 -08:00
Sebastian Markbage
5a2c80382c More warnings to ReactFragment.create
Apparently I could've used these too because if you accept an arbitrary
node, then these could end up being objects, but those objects might
also be arrays or elements.
2015-02-19 15:11:49 -08:00
Paul O’Shannessy
02d225f26e Merge pull request #3193 from fisherwebdev/remove_lodash
Remove lodash devDependency
2015-02-19 14:22:34 -08:00
Paul O’Shannessy
ad31cfa4dc Warn when using constructor function directly
We no longer support the legacy factory style of calling component constructors
directly. We only support createElement or the wrapping of classes with
createFactory. Instead of letting this fail in a gross way as we try to run,
add a nice warning that shows up before the gross TypeError.
2015-02-19 13:57:48 -08:00
Jim
a2f77208e6 Merge pull request #3180 from cody/https
Using https URLs for embedded fiddles
2015-02-19 13:18:34 -08:00
Paul O’Shannessy
21a9e8b6e8 Merge pull request #3189 from hzoo/more-lint
More lint - remove spaces in object braces / array brackets
2015-02-19 11:42:02 -08:00
Paul O’Shannessy
629d400774 Merge pull request #3165 from oiva/jquery-mobile-example
Change how components are rendered in jQuery Mobile example. Fixes #2880
2015-02-19 10:48:26 -08:00
Paul O’Shannessy
112f7aa249 Move option parsing into react-tools proper.
We were doing some preprocessing for module options in the command line. Since
we also expose the same API via react-tools (and JSXTransformer), we need to do
the same processing from the API. So just move it all to the same place.
2015-02-19 09:46:25 -08:00
fisherwebdev
10d336d4eb Remove lodash devDependency 2015-02-18 22:41:58 -08:00
Steven Luscher
f1288d1055 Added the immutability talk to the React.js Conf update.
(cherry picked from commit de8b3eb9d4)
2015-02-18 21:42:11 -08:00
Paul O’Shannessy
0e0a8f65c5 Use same pathways for browser transforms as we use in react-tools
This makes sure we can use the same options everywhere, even from react-rails,
without having to specify each one separately in JSXTransformer as well.
2015-02-18 21:40:16 -08:00
Henry Zhu
eba5d1365c lint: remove spaces from array brackets 2015-02-19 00:13:36 -05:00
Henry Zhu
07cfd66028 lint: remove spaces from object braces 2015-02-19 00:10:31 -05:00
Timothy Yung
b0789c9582 Merge pull request #3187 from yungsters/shallow
Support unmounting in ReactShallowRenderer
2015-02-18 17:47:12 -08:00
yungsters
e9e33b984f Support unmounting in ReactShallowRenderer
Reviewers: @sebmarkbage, @zpao

Test Plan:

```
$ npm test ReactTestUtils
```
2015-02-18 17:45:42 -08:00
Paul Harper
a18c7549df Modify sample CSS so that it works in Safari
When animating the max-height property in Safari, entering the leave state would trigger an animation to `max-height: 0`. Then when the active state kicked in, it would jump and didn't really look right. Moving the `transition` css property to the active version fixed the issue for me and worked on Safari, Chrome and Firefox. Unfortunately I'm not in a position to test in IE at the moment, but I'll do that at my first convenience tomorrow.
2015-02-18 17:26:54 -08:00
Paul O’Shannessy
6c29eba035 Merge pull request #2821 from zpao/unitless-css-boxflex
Add boxFlex and boxFlexGroup to CSS Unitless Properties
2015-02-18 17:22:56 -08:00
Stefan Dombrowski
8ba3ba49d2 Using https for embedded fiddles
Official announcement from jsfiddle:
https://twitter.com/jsfiddle/status/565041134435852289
2015-02-18 23:07:48 +01:00
Paul O’Shannessy
6f7b9a97bf Merge pull request #3108 from zpao/quadratic-example
Replace Ballmer Peak example with Quadratic Formula
2015-02-18 14:02:17 -08:00
Paul O’Shannessy
1caeda30ea Replace Ballmer Peak example with Quadratic Formula 2015-02-18 13:59:26 -08:00
Steven Luscher
85a6462062 Added special edition round-up for React.js Conf 2015
(cherry picked from commit 233980826c)
2015-02-18 13:30:26 -08:00
Sebastian Markbåge
5499321d63 Merge pull request #3183 from yungsters/master
Support rendering to null in ShallowComponentRenderer
2015-02-18 11:43:07 -08:00
yungsters
e952869ff8 Support rendering to null in ShallowComponentRenderer
Reviewers: @sema, @zpao

Test Plan:
```
$ npm jest
```
2015-02-18 11:31:02 -08:00
Sebastian Markbåge
00a3b9233f Merge pull request #3177 from sebmarkbage/fixbindwarningstring
Forgotten string
2015-02-17 18:26:32 -08:00
Sebastian Markbage
377319b863 Forgotten string
We forgot this `%s` as this was converted.
2015-02-17 18:26:12 -08:00
Sebastian Markbåge
c61207588d Merge pull request #3175 from sebmarkbage/fixhasownorder
Avoid reading the property if hasOwnProperty is false
2015-02-17 16:02:18 -08:00
Sebastian Markbage
67cf95c16d Avoid reading the property if hasOwnProperty is false
Easy with an Object.assign polyfill
2015-02-17 15:59:01 -08:00
Sebastian Markbåge
de3ecabd6c Merge pull request #3148 from hmarr/fix-nan-mutation-warning
Prevent NaN props from triggering warnings
2015-02-17 15:41:18 -08:00
Sebastian Markbåge
cf4bef8bd7 Merge pull request #3171 from sebmarkbage/moarwarnings
Moar Warnings
2015-02-17 15:09:33 -08:00
Oiva Eskola
4c32fb487e Wrap jQuery Mobile example's components with React.createFactory to fix on v0.13.0. Fixes #2880 2015-02-18 00:13:13 +02:00
Jim
f6920ba377 Merge pull request #3170 from adelevie/patch-1
Make tutorial CDN URLs use https
2015-02-17 11:50:54 -08:00
Sebastian Markbage
2490289c4a Warn if getDOMNode or isMounted is accessed in render
This is an anti-pattern that can be easily avoided by putting the logic
in componentDidMount and componentDidUpdate instead.

It creates a dependency on stale data inside render without enforcing
a two-pass render.
2015-02-17 11:49:20 -08:00
Alan deLevie
4980bcb0f3 Make tutorial CDN URLs use https 2015-02-17 14:34:01 -05:00
Jim
93f6fc9eeb Allow rendering into document fragments. Fixes #840 2015-02-17 11:24:03 -08:00
Sebastian Markbage
91194126d8 Warn if using Maps as children
We're not sure if this is the way we want to support this API. It creates
two ways of doing things.

It is convenient to avoid needing to explicitly redefine the key of Maps.
However, this use case isn't as common as having an iterable where the
key is on the value, not the key.
2015-02-17 11:23:12 -08:00
Paul O’Shannessy
a8d9bff3ca Merge pull request #3168 from briankung/docs-jsx-namespacing
[Docs] Clarify section on namespaced components
2015-02-17 11:10:33 -08:00
Paul O’Shannessy
9e2da7a0ae Merge pull request #3164 from oiva/master
Fix sourcemap filenames when using transformWithDetails. Fixes #3140
2015-02-17 11:07:19 -08:00
Sebastian Markbage
3587460675 Warn if accessing .type on a factory
This was an important convenience as an upgrade path but shouldn't be
necessary if you're using best-practice of calling createFactory in the
consuming component.
2015-02-17 11:06:54 -08:00
Paul O’Shannessy
68a8e4491f Merge pull request #3147 from hzoo/lint-fixes
lint whitespace , trailing comma
2015-02-17 10:58:42 -08:00
Paul O’Shannessy
6cd7ab5254 Merge pull request #3154 from iamdustan/patch-1
s/upate/update
2015-02-17 10:55:42 -08:00
Brian Kung
26e0b1a298 [Docs] Clarify section on namespaced components
While going through the docs, I wasn't sure if the first example was
something I should do or not. This makes the wording a bit more clear.
2015-02-17 06:40:48 -06:00
Ben Alpert
6d97c708a9 Merge pull request #3167 from MichelleTodd/docs-grammar
[Docs] Reword section on React without JSX
2015-02-16 17:26:23 -08:00
Michelle Todd
17f2c26139 [Docs] Reword section on React without JSX
Summary:
This section was confusing. I reworded it from:

"JSX is completely optional. You don't have to use JSX with React.
You can create these trees through `React.createElement`. The first
argument is the tag, pass a properties object as the second
argument and children to the third argument."

to:

"JSX is completely optional; you don't have to use JSX with React.
You can create React elements in plain JavaScript using
`React.createElement`, which takes a tag name or component, a
properties object, and variable number of optional child
arguments."

and additionally added another child element to the example code.

Test Plan:
Read the new paragraph!
2015-02-16 17:12:19 -08:00
Ben Alpert
6b03975395 Make Simulate.mouseEnter/Leave use direct dispatch
Fixes #1297.

onMouseEnter and onMouseLeave shouldn't *actually* use direct dispatch, but doing so is more useful than doing nothing (and I don't think it precludes adding proper enter/leave dispatching later, either).

Test Plan:
grunt test
2015-02-16 16:12:19 -08:00
Ben Alpert
6729acf370 Merge pull request #3162 from vsiao/mount-element
Fix ReactMount._renderNewRootComponent signature
2015-02-16 16:05:08 -08:00
Oiva Eskola
35e24759f1 fix sourcemap filenames when using transformWithDetails. Fixes #3140 2015-02-16 22:21:51 +02:00
Vincent Siao
96e4e3cbbc Fix ReactMount._renderNewRootComponent signature (ReactComponent -> ReactElement) 2015-02-15 19:25:18 -08:00
Dustan Kasten
dc21dca50e s/upate/update 2015-02-14 22:09:31 -05:00
Henry Zhu
cb49492f88 lint whitespace
- use spaces
- remove space before paren in function
-  remove space before colon in object
2015-02-14 11:12:18 -05:00
Harry Marr
198aabaafb Prevent NaN props from triggering warnings
Previously, `checkAndWarnForMutatedProps` would flag `NaN` props as
having been mutated, because `NaN !== NaN`. This prevents that warning
from being emitted by explicitly checking for `NaN`s.
2015-02-14 10:06:55 +00:00
Henry Zhu
74726f0af5 remove space before round brace in function expressions 2015-02-13 23:41:53 -05:00
Henry Zhu
e2a57920da lint whitespace , trailing comma 2015-02-13 23:13:47 -05:00
Paul O’Shannessy
5126cee0f5 v0.13.0-beta.2 2015-02-13 18:28:03 -08:00
Paul O’Shannessy
432e378687 Remove references to vendor_deprecated 2015-02-13 18:27:22 -08:00
Paul O’Shannessy
ad01f21469 Merge pull request #3145 from jsfb/dedup-is-owner-important
Dedupe owner-is-important warning.
2015-02-13 18:26:49 -08:00
Jim
207b03c56d Dedupe owner-is-important warning. 2015-02-13 18:05:18 -08:00
Paul O’Shannessy
0b5331c155 Update license for jsx_orphaned_brackets_transformer 2015-02-13 15:45:01 -08:00
Paul O’Shannessy
3751f85260 Merge pull request #3139 from brianpchsu/master
Fixed Copyright year for three files and react.js licence to BSD-license
2015-02-13 15:44:03 -08:00
Jeff Morrison
8e803cba23 Merge pull request #3143 from jeffmo/flow_0_3_0
Update jsx binary to latest jstransform + latest flow syntax features
2015-02-13 15:37:41 -08:00
jeffmo
332a782d28 Add --es6module and --non-strict-es6module flags to jsx bin 2015-02-13 17:51:35 -05:00
jeffmo
34bb8e85a2 Bump jstransform version to 9.1.0 to include new flow updates 2015-02-13 17:40:52 -05:00
Jim
5512d0d4d0 Merge pull request #3132 from jsfb/warn-less-for-owner-necessary
Only monitor components that are likely stateful (inputs and composites)
2015-02-13 13:55:06 -08:00
Brian Hsu
7e609c6903 Fixed Copyright year for three files and react.js licence to BSD-license. 2015-02-13 12:15:49 -08:00
Paul O’Shannessy
2a3f43184a Merge pull request #3123 from chicoxyzzy/remove-jshint
ESLint coverage
2015-02-13 11:39:11 -08:00
Paul O’Shannessy
5714510ea4 Merge pull request #3134 from briankung/update-safe_yaml
Fix for the jekyll docs build process
2015-02-13 11:22:47 -08:00
Jim
f18dfdc00d Only monitor components that are likely stateful (inputs and composites) 2015-02-12 17:22:42 -08:00
chico
862f7d6a41 fix linting 2015-02-13 02:45:50 +03:00
chico
96677d5da5 update eslint rules 2015-02-13 02:44:32 +03:00
chico
e02a303e3e .eslint in src is not necessary anymore 2015-02-13 02:44:32 +03:00
chico
1511fff598 eslint 2015-02-13 02:43:42 +03:00
Brian Kung
892200ae38 Bumps safe_yaml to 1.0.4 (was 1.0.3) to fix bug
safe_yaml 1.0.3 has some issues with Ruby 2.2.0:
https://github.com/dtao/safe_yaml/issues/67
2015-02-12 17:40:57 -06:00
Paul O’Shannessy
fffe135931 Merge pull request #3133 from zpao/more-lint
More lint rules, fixes
2015-02-12 15:37:22 -08:00
Paul O’Shannessy
7e5eb4b2b2 Add indent lint rule, fix code 2015-02-12 14:31:55 -08:00
Paul O’Shannessy
52b32d83d0 Remove newline at beginning of file 2015-02-12 14:28:54 -08:00
Paul O’Shannessy
12808e81c1 Fix license header to use BSD 2015-02-12 14:28:32 -08:00
Paul O’Shannessy
af8ad59a5b Add space-before-blocks rules, fix code 2015-02-12 14:28:01 -08:00
Sebastian Markbåge
a411f3e0dc Merge pull request #3130 from sebmarkbage/identifiablewarnings
Moar warnings with solid prefixes!
2015-02-12 13:47:53 -08:00
Sebastian Markbage
f5038829d8 Moar warnings with solid prefixes!
This ensures that we have a prefix that can be easily identified in logs
so that we can filter out warnings based on their prefix.

This also turns the remaining two monitorCodeUse callers into warnings.
We'll probably still use monitorCodeUse until we know if we want to
deprecate but most releases should only have warnings.
2015-02-12 13:37:19 -08:00
Paul O’Shannessy
d2fcdfc7df Merge pull request #3126 from Sourdoughh/patch-1
Update to CLA, CONTRIBUTING.md
2015-02-11 16:46:53 -08:00
Jason Ly
462f3ca245 Update to CLA, CONTRIBUTING.md 2015-02-11 13:56:25 -08:00
Christopher Chedeau
6c549d2899 update image perf 2015-02-11 12:45:58 -08:00
Sebastian Markbåge
032fb6ce11 Merge pull request #3107 from sebmarkbage/fragments
Warn if a non-object value is used in ReactFragment.create
2015-02-11 11:58:46 -08:00
Paul O’Shannessy
c07657fde1 Merge pull request #3114 from chicoxyzzy/master
rename `Id` suffix to `ID` to apply naming conventions
2015-02-11 11:35:17 -08:00
Paul O’Shannessy
ea29768a2b Merge pull request #3118 from rkho/patch-1
Updated CONTRIBUTING.md: Mention of "facebook.com" was not a link
2015-02-11 11:34:48 -08:00
Christopher Chedeau
83e4409a72 Tweaks on Advanced Performance 2015-02-11 11:14:59 -08:00
Christopher Chedeau
ab512af57f Advanced Performance Doc 2015-02-11 10:53:57 -08:00
chico
fbe88c7e46 fix Microdata properties' commentaries 2015-02-11 15:50:59 +03:00
Jim
130a164c8d Merge pull request #3117 from jsfb/use-warning-module
Flip console.warn to use warning module.
2015-02-10 17:08:12 -08:00
Jim
4e5543965d Flip console.warn to use warning module so users can intercept all warnings by shimming the warning module.
The two remaining console.warns are:

/Users/jsproch/react/src/test/mock-modules.js:
   19      return mocks.generateFromMetadata(mocks.getMetadata(exports));
   20    } catch (err) {
   21:     console.warn(err);
   22      return exports;
   23    }

/Users/jsproch/react/src/vendor/core/warning.js:
   39        var argIndex = 0;
   40        var message = 'Warning: ' + format.replace(/%s/g, () => args[argIndex++]);
   41:       console.warn(message);
   42        try {
   43          // --- Welcome to debugging React ---
2015-02-10 15:23:24 -08:00
Richard Kho
9c19135c34 Updated CONTRIBUTING.md: Mention of "facebook.com" was not a link
Updated the mention of "facebook.com" on line 3 of the CONTRIBUTING.md file to link to Facebook. Previously, this mention was just in plain text.

Changed from `facebook.com` to `[facebook.com](https://facebook.com)`

No other content has been changed. Content has not been removed from this file in any way.
2015-02-10 14:44:23 -08:00
chico
58d705110e rename Id suffix to ID to apply naming conventions 2015-02-10 21:40:30 +03:00
Paul O’Shannessy
f6f0bab237 Merge pull request #3103 from zpao/lifecyle-warn-not-throw
Warn when calling setState & other methods at wrong time
2015-02-10 09:58:34 -08:00
Sebastian Markbage
093ab00085 Warn if a non-object value is used in ReactFragment.create
I made this mistake while upgrading a few callers.

I'm leaving this as warning so that it is always safe to wrap any existing
child in React.addons.createFragment without breaking prod.

This makes upgrading easier.
2015-02-10 09:44:14 -08:00
Paul O’Shannessy
01ef83feef Merge pull request #3105 from matiassingers/jasmine-call-count-consistency
Jasmine spies call count property consistency
2015-02-09 18:17:16 -08:00
Matias Singers
b9310a8fa5 Consistently use calls.length instead of callCount for Jasmine spies 2015-02-10 10:11:22 +08:00
Paul O’Shannessy
5967915ec4 Warn when calling setState & other methods at wrong time
Currently we use an invariant to prevent this code pattern. That is really
aggressive for something that doesn't actually put React in a bad state. This
diff replaces invariants with warnings and makes those code paths no-ops.
2015-02-09 17:04:13 -08:00
Sebastian Markbåge
7b0ce2c11f Merge pull request #3100 from sebmarkbage/fragments
Dead code
2015-02-09 14:58:21 -08:00
Sebastian Markbage
18c9a6e54a Dead code
Missed this because lint was off
2015-02-09 14:57:07 -08:00
Sebastian Markbåge
0fdd2a74e2 Merge pull request #3030 from sebmarkbage/fragments
Make keyed object fragments an opaque type
2015-02-09 14:50:46 -08:00
Paul O’Shannessy
d59a039ebd Merge pull request #3097 from zpao/upgrade-eslint
Upgrade to newer eslint, use esprima-fb
2015-02-09 14:32:28 -08:00
Paul O’Shannessy
1455001caa Merge pull request #2998 from rickbeerendonk/docs-conferences
Add Conferences section to the Community Resources on the website
2015-02-09 14:32:04 -08:00
Paul O’Shannessy
dae1dc6292 Upgrade to newer eslint, use esprima-fb
Eslint now allows us to use a different parser, which allows us to use
esprima-fb explicitly. This means we don't have to wait for espree to add
things like rest-param parsing. Though we do need eslint to upgrade its rules
to handle that AST.

I had hoped to enable parsing of our tests but we can't do that until we
change esprima-fb's XJS nodes to JSX.

While I was here, I also enabled the no-unused-vars rule since eslint
understands template strings. I also made the single quote enforcement
actually fail instead of just warn.
2015-02-09 14:27:28 -08:00
Sebastian Markbage
56f51156ba Make keyed object fragments an opaque type
This triggers a warning if you try to pass a keyed object as a child.

You now have to wrap it in React.addons.createFragment(object) which
creates a proxy (in dev) which warns if it is accessed. The purpose of
this is to make these into opaque objects so that nobody relies on its
data structure.

After that we can turn it into a different data structure such as a
ReactFragment node or an iterable of flattened ReactElements.
2015-02-09 14:24:56 -08:00
Rick Beerendonk
1b86246d64 Remove zerowidth space at the beginning of file 2015-02-09 22:17:33 +01:00
Paul O’Shannessy
44634c062a Merge pull request #3082 from hzoo/patch-1
Add React.js Conf Keynote talk (with playlist)
2015-02-09 10:17:37 -08:00
Paul O’Shannessy
358e70cedd Merge pull request #3089 from iamdanfox/fix-markdown-parsing-error-3075
Fix markdown parsing error
2015-02-09 10:12:17 -08:00
Paul O’Shannessy
cb833710af Merge pull request #2968 from ClimbsRocks/patch-5
Reordered 'Using Props' before 'Component Properties'
2015-02-09 10:08:44 -08:00
Paul O’Shannessy
a6a64d1ed4 Merge pull request #2854 from cedrics/add-iframe-component
Adds a composite component for an iframe to handle load events
2015-02-09 09:59:01 -08:00
Dan Fox
462ab93d83 Fix markdown parsing error
closes #3075
2015-02-08 11:31:48 +00:00
Paul O’Shannessy
60c2f56e6e Merge pull request #3074 from noyobo/master
fix Chinese docs typos
2015-02-06 17:17:46 -08:00
Paul O’Shannessy
7853260788 Merge pull request #3080 from zpao/upgrade-internal-modules
Upgrade internal modules
2015-02-06 17:17:00 -08:00
Henry Zhu
bcdf8f2375 Add React.js Conf Keynote talk (with playlist) 2015-02-06 18:31:00 -05:00
Jim
3740c51616 Merge pull request #3078 from vincentriemer/patch-1
Fixed pure-render-mixin documentation
2015-02-06 13:33:06 -08:00
Cheng Lou
b6980ab980 [Docs] Add note on classSet deprecation 2015-02-06 16:25:48 -05:00
Jim
c69a9206a4 Merge pull request #3073 from gsklee/patch-3
Fix typos in animation.md
2015-02-06 13:14:30 -08:00
Paul O’Shannessy
705353fbaf Move keyMirror to vendor to match internal move 2015-02-06 12:09:36 -08:00
Vincent Riemer
0bf88f26a4 Corrected pure-render-mixin documentation
Fixed the PureRenderMixin documentation which was incorrectly importing the base React library instead of ReactWithAddons.
2015-02-06 14:34:09 -05:00
Paul O’Shannessy
3525d01b9b Remove more upstream modules that aren't used
Immutable* hasn't been used... ever?
copyProperties, merge were deprecated as part of 0.12. We've replaced
them with Object.assign.
2015-02-06 09:54:52 -08:00
noyobo
7f6c575d9d Chinese docs Typesetting beautification & relate links 2015-02-06 19:44:14 +08:00
noyobo
9296f15682 Chinese docs typo 2015-02-06 17:31:33 +08:00
YouBao Nong
8197bface7 sync up Chinese docs links 2015-02-06 16:26:43 +08:00
YouBao Nong
7cb1b9bdb2 fix next page link typo
下一页链接错误
2015-02-06 15:53:45 +08:00
Preston Parry
0903120ad1 Update tutorial.md 2015-02-05 22:57:36 -08:00
G. Kay Lee
678ec31e41 Fix typos 2015-02-06 14:47:56 +08:00
Paul O’Shannessy
8ab0ecba13 Sync internal modules
We've actually diverged more with some modules, but we don't want
a cascade of dependencies out here. Mostly, the changes internally that
we don't want are tied to FB infrastructure but otherwise are
functionally equivalent (usually around error reporting, code monitoring).
2015-02-05 16:31:54 -08:00
Sebastian Markbåge
007207bac4 Merge pull request #3068 from sebmarkbage/dedupwarning
Warn only once for each class when accessing .type
2015-02-05 15:36:37 -08:00
Nick Williams
5bf8cda58f document checkbox using click handlers for change events
I hit an issue related to this earlier today. Feels like a short paragraph warning of potential issues would be of benefit.  Discussed with @zpao on IRC, agreed to make PR.

For more info:
* https://github.com/facebook/react/issues/3005#issuecomment-72513965
* c7e4f55eb0/src/browser/eventPlugins/ChangeEventPlugin.js (L287)
2015-02-05 22:32:23 +00:00
Sebastian Markbage
140d9b4192 Warn only once for each class when accessing .type
Currently it is a bit too spammy.
2015-02-05 12:32:15 -08:00
Andreas Svensson
c7e4f55eb0 Merge pull request #3047 from syranide/escbrow2
Drop processAttributeNameAndPrefix and invalid attribute name escaping
2015-02-05 20:53:47 +01:00
Paul O’Shannessy
123d218eaf Merge pull request #3046 from cobbweb/patch-1
Add autoFocus to supported HTML attributes
2015-02-05 10:50:38 -08:00
syranide
6af987c524 Drop processAttributeNameAndPrefix and invalid attribute name escaping 2015-02-05 09:43:26 +01:00
Andreas Svensson
04e6d02e40 Merge pull request #1599 from syranide/escbrow
Split escapeTextForBrowser into escapeTextContentForBrowser and quoteAttributeValueForBrowser
2015-02-05 09:41:36 +01:00
Andrew Cobby
a4c96d6e9c Add autoFocus to supported HTML attributes
It appears to be supported http://jsfiddle.net/9f48wbsa/1/
2015-02-05 16:45:27 +10:00
Paul O’Shannessy
787200631b Merge pull request #3045 from milanlandaverde/removes-validation-msg
remove extraneous argument to createChainableTypeChecker in ReactPropTypes
2015-02-04 19:36:11 -08:00
Marlon Landaverde
876fdd0190 removes loose validation message 2015-02-04 21:13:59 -06:00
Paul O’Shannessy
7e6c820cd2 Merge pull request #3022 from btholt/master
Added itemRef and itemId for complete microdata support.
2015-02-04 16:57:03 -08:00
Paul O’Shannessy
f2cd1a0591 Merge pull request #2969 from gsklee/patch-1
Update thinking-in-react.md
2015-02-04 15:22:37 -08:00
Paul O’Shannessy
ac4b64059e Merge pull request #3013 from akheron/patch-2
Document React.addons.TestUtils.isElement()
2015-02-04 15:19:08 -08:00
Sebastian Markbåge
3abfe00ae7 Merge pull request #3039 from sebmarkbage/fixismounted
Fix isMounted inside of render
2015-02-04 11:53:07 -08:00
Sebastian Markbage
263800e09b Fix isMounted inside of render
This is apparently used to determine if you can access refs.

Bad pattern, but a pattern nonetheless.
2015-02-04 11:50:04 -08:00
Paul O’Shannessy
99a2ef30ae Merge pull request #3032 from germ13/patch-1
Corrected documentation
2015-02-04 11:46:27 -08:00
Paul O’Shannessy
f77e86834b Merge pull request #3036 from jergason/master
Fix list formatting in glossary
2015-02-04 11:45:05 -08:00
Andreas Svensson
6672a7ec62 Merge pull request #2135 from syranide/ie8enctype
IE8 does not have a setter for property "enctype"
2015-02-04 13:47:54 +01:00
Andreas Svensson
8ca058ac4e Split escapeTextForBrowser into escapeTextContentForBrowser and quoteAttributeValueForBrowser 2015-02-04 13:44:38 +01:00
Jamison Dance
d74d0e3215 Fix list formatting in glossary 2015-02-03 23:34:43 -07:00
juan serrano
3a0534e1b8 Corrected documentation 2015-02-03 18:41:47 -08:00
Lee Byron
9174501771 Merge pull request #2991 from leebyron/state-queue
Set state takes a function
2015-02-03 19:52:26 -05:00
Lee Byron
279b956c9b Set state takes a function
This diff enables setState to accept a function in addition to a state partial. If you provide a function, it will be called with the up-to-date `state, props, context` as arguments.

This enables some nicer syntax for complex setState patterns:

If setState is doing an increment and wants to guarantee atomicy, you need a function:

```
this.setState(state => ({ number: state.number + 1 }));
```

This atomicy is particularly important if setState is called multiple times in a single frame of execution as the result of complex user actions. It's a tricky bug to chase down and difficult to determine how to fix when you find it. The current pattern of reaching into _pendingState relies on an implementation detail.

In this example: props.doAction() may result in your ancestor re-rendering and providing you with new props. If setState is called directly with an object literal referencing `this.props`, it will use the *old* version of props, not the new value. Using a function solves for this case:

```
this.props.doAction();
this.setState((state, props) => ({ number: state.number * props.multiplier }));
```
2015-02-03 19:49:17 -05:00
Paul O’Shannessy
3f60a99cd9 Merge pull request #3016 from hnordt/patch-1
Removing unnecessary returns
2015-02-03 10:46:21 -08:00
Jeff Morrison
acca4b3993 Merge pull request #3020 from syranide/jsxbracketcodemod
Added jsx_orphaned_brackets_transformer for breaking JSX parser change
2015-02-03 09:56:28 -08:00
Héliton Nordt
62213e08df Fix highlighting 2015-02-03 08:38:16 -02:00
Sebastian Markbåge
c8833daf53 Merge pull request #3026 from sebmarkbage/fixdependency
Hot fix cyclic dependency
2015-02-02 23:57:46 -08:00
Sebastian Markbage
e3f95ea293 Hot fix cyclic dependency
We accidentally created an unfortunate cyclic dependency because of the
auto-wrapper hack that uses ReactClass.

Making it injected instead.
2015-02-02 23:55:34 -08:00
Sebastian Markbåge
50c38bbc75 Merge pull request #3023 from sebmarkbage/devtoolsfix
Expose ReactReconciler
2015-02-02 22:07:28 -08:00
Sebastian Markbåge
1172f636cb Merge pull request #3025 from sebmarkbage/fixrendercallback
Always trigger an update when a callback is enqueued.
2015-02-02 22:07:13 -08:00
Brian Holt
7b92d71744 Changed itemId to itemID and added clarity to the comments of where it is specified. 2015-02-02 21:58:00 -08:00
Sebastian Markbage
2702281a13 Always trigger an update when a callback is enqueued.
enqueueCallbackInternal forgot to schedule an update.

We could rely on the implicit contract of enqueueElement to do it. However,
if we're currently outside a transaction, it'll flush synchronously. Before
we enqueue the callback. We could also enqueueCallback before we
enqueueElement, but that causes a fragile relationship between them. E.g.
enqueueElement should not need to schedule an update if it is the same
element.
2015-02-02 20:42:15 -08:00
Sebastian Markbage
e67ff7ee78 Expose ReactReconciler
This can be used by devtools to monkey patch the reconciler and therefore
get notified whenever any internal instance is updated.
2015-02-02 18:15:31 -08:00
Brian Holt
ea67a1d436 Added itemRef and itemId for complete microdata support. 2015-02-02 17:17:04 -08:00
Ben Moss
ba55716a2d Fix warning messages wording and access of displayName 2015-02-02 18:05:31 -05:00
syranide
f3271ad53b Added jsx_orphaned_brackets_transformer for breaking JSX parser change 2015-02-02 23:24:15 +01:00
Andreas Svensson
63c3461af7 Merge pull request #1864 from syranide/ie8text2
Newlines handled incorrectly by innerText in IE8
2015-02-02 21:33:48 +01:00
Andreas Svensson
c371709d23 Newlines handled incorrectly in innerText in IE8 2015-02-02 21:27:27 +01:00
Andreas Svensson
8d6c8a7793 Merge pull request #3017 from syranide/trydefine
Try/catch property deprecation warnings to support IE8
2015-02-02 21:26:18 +01:00
Jim
381a01a19b Merge pull request #3018 from jsfb/assert-not-throw
Expecting transform not to throw.  Removed meaningless comment.
2015-02-02 12:21:05 -08:00
Jim
b207b8698c Expecting transform not to throw. Removed meaningless comment. 2015-02-02 12:19:47 -08:00
Andreas Svensson
387adae3de Merge pull request #3000 from syranide/openbool
Set HTML DOM property "open" to HAS_BOOLEAN_VALUE
2015-02-02 21:11:10 +01:00
syranide
0a1cd56ead Try/catch property deprecation warnings to support IE8 2015-02-02 21:00:04 +01:00
Paul O’Shannessy
6c36b528e2 Merge pull request #2997 from rickbeerendonk/2943-jsx-build-tool-documentation
Documents that JSX tool is transforming files with .js extension (and no...
2015-02-02 11:25:32 -08:00
Paul O’Shannessy
f922664e86 Merge pull request #3007 from JoelOtter/patch-2
Add note linking to up-to-date doc on Flux website
2015-02-02 11:22:45 -08:00
Sebastian Markbåge
534d23d903 Merge pull request #3012 from sebmarkbage/typescript
Use TypeScript Compiler API Directly
2015-02-02 11:21:40 -08:00
Héliton Nordt
8fc4f23cdb Removing unnecessary returns 2015-02-02 17:20:38 -02:00
Paul O’Shannessy
bab94bf2af Merge pull request #3011 from koba04/fix-coponent-api-doc
Fix consistency of component api document
2015-02-02 11:18:10 -08:00
Paul O’Shannessy
8b1cd7509d Merge pull request #3001 from rgarcia/patch-1
remove extraneous comma in tutorial
2015-02-02 11:16:28 -08:00
Paul O’Shannessy
2aeb8a2a6b Merge pull request #2995 from rickbeerendonk/copyright-2015
Update copyright headers for 2015
2015-02-02 11:15:30 -08:00
Paul O’Shannessy
e04bdd8c9b Merge pull request #2999 from sedovsek/master
Changed unit to pixels due to inconsistent font-size rendering of code elements.
2015-02-02 11:05:35 -08:00
Petri Lehtinen
2e232f83bc Document React.addons.TestUtils.isElement() 2015-02-02 10:22:52 +02:00
Sebastian Markbage
f6fd4a8506 Use TypeScript Compiler API Directly
In 1.4.0 we can use the TypeScript API directly to preprocess our files.
This lets us get rid of a dependency.

https://github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API

We can also use this to provide our default libraries so that we don't
need to keep the references in the test file.
2015-02-01 22:41:00 -08:00
Toru Kobayashi
b7860b7da4 Fix consistency of component api document 2015-02-02 09:52:08 +09:00
Joel Auterson
344d07d7de Add note linking to up-to-date doc on Flux website 2015-02-01 15:26:29 +00:00
Rafael
246fdebf82 remove extraneous comma in tutorial 2015-01-31 12:31:14 -10:00
syranide
aa9edc2a9c Set HTML DOM property "open" to HAS_BOOLEAN_VALUE 2015-01-31 23:11:08 +01:00
Robert Sedovsek
ea94ec8c0e Changed unit to pixels due to inconsitent font-size rendering of code elements. 2015-01-31 22:53:21 +01:00
Rick Beerendonk
f1bd869350 Add Conferences section to the Community Resources on the website 2015-01-31 22:46:03 +01:00
Rick Beerendonk
2de44cf668 Documents that JSX tool is transforming files with .js extension (and not .jsx) by default 2015-01-31 20:59:18 +01:00
Rick Beerendonk
3e0750a4ad Update copyright headers for 2015 2015-01-31 20:18:25 +01:00
Andreas Svensson
905bfcec60 Merge pull request #1912 from syranide/safereuse
Warn if mounting into node with dirty rendered markup
2015-01-31 19:56:34 +01:00
Andreas Svensson
c460ad660b Warn if mounting into node with dirty rendered markup 2015-01-31 19:36:12 +01:00
Andreas Svensson
a170629128 Merge pull request #1568 from syranide/dompurge
Only purgeID on ReactDOMComponent and ReactDOMTextComponent unmount
2015-01-31 18:21:22 +01:00
Lee Byron
508b625313 Merge pull request #2990 from jeffkole/patch-1
Documents that `classSet` concatenates its arguments
2015-01-30 21:45:54 -05:00
Jeff Kolesky
b7530e19eb Documents that classSet concatenates its arguments
Just wanted it to be noted that `classSet` operates in two ways, both of which are valuable.
2015-01-30 16:47:44 -08:00
syranide
a7f0fb7c4f Only purgeID on ReactDOMComponent and ReactDOMTextComponent unmount 2015-01-30 21:32:58 +01:00
Paul O’Shannessy
9f9d833065 Merge pull request #2987 from jsfb/fix-markdown-output-wrap
Fixed linewrap issue on markdown output css.  Fixes #2986
2015-01-30 12:22:44 -08:00
Jim
2ea00ea772 Fixed linewrap issue on markdown output css. Fixes #2986 2015-01-30 12:19:18 -08:00
Jim
ddb1c7470e Merge pull request #2960 from jsfb/add-detectable-prefix-to-reactelement-warning
Add detectable prefix to ReactElement proptype warning.
2015-01-30 12:14:33 -08:00
Paul O’Shannessy
bab59cd090 Pull in 0.13 beta blog post from 0.12-stable branch 2015-01-30 11:49:40 -08:00
Jim
b2f77e6de3 Add detectable prefix to ReactElement proptype warning. 2015-01-30 11:43:57 -08:00
G. Kay Lee
140627b1b2 Update thinking-in-react.md
Make style consistent with `tutorial.md`
2015-01-28 16:59:03 +08:00
Paul O’Shannessy
5bd078508a v0.13.0-beta.1 2015-01-27 21:13:35 -08:00
Paul O’Shannessy
bd56b731de Merge pull request #2967 from zpao/jest-match-internal
[jest] Use persistModuleRegistryBetweenSpecs
2015-01-27 20:54:19 -08:00
Paul O’Shannessy
657e30771a Merge pull request #2966 from zpao/grunt-jest
Run jest with grunt, add to travis
2015-01-27 20:51:39 -08:00
Paul O’Shannessy
e2d3370aa9 Merge pull request #2964 from zertosh/no-derequire-when-minifying
Remove "derequire" from minified bundles
2015-01-27 20:51:08 -08:00
Preston Parry
5776dc7918 Update tutorial.md 2015-01-27 20:27:16 -08:00
Paul O’Shannessy
14d88d4e38 [jest] Use persistModuleRegistryBetweenSpecs
This more closely matches how we have jest configured at FB, so when we
pull in and run internally we will have fewer things to waste time on.
2015-01-27 19:17:31 -08:00
Paul O’Shannessy
49eb84efdd Run jest with grunt, add to travis
This is to make sure we don't end up with differences in our different
testing methods. We may switch out the failure allowances later (maybe
just jest will be good enough and we can let phantom fail for a little
bit).
2015-01-27 18:04:58 -08:00
Scott Feeney
76f5453cc7 Mention shallow rendering's limitations
Also, move it to the bottom of the test utils documentation and mention that it's experimental.
2015-01-27 17:09:16 -08:00
Paul O’Shannessy
dbdeb078ce [testing] dump the cache when depending on warning messages
It's possible to configure Jest to not dump the module cache between
specs. This makes it tricky when we silence warnings one a 2nd call.

In this case, the same message was getting logged so when we expected
the count of warning calls to increment, it didn't.
2015-01-27 16:02:00 -08:00
Jim
2ea1f51fe8 Merge pull request #2965 from ClimbsRocks/patch-4
Docs wording tweak: subject verb agreement
2015-01-27 14:45:15 -08:00
Preston Parry
e4352efc21 Update 04-multiple-components.md 2015-01-27 14:34:35 -08:00
Andres Suarez
5c5fc5e316 Remove "derequire" from minified bundles 2015-01-27 16:53:18 -05:00
Scott Feeney
f6804d2504 Add documentation for shallow testing
See #2393 for the original issue, and #2497 for the implementation.
2015-01-27 13:44:20 -08:00
Paul O’Shannessy
9801f2d8ab Merge pull request #2940 from kevinold/2749-consistent-use-of-spys-or-mocks
update to use spyOn for console.warn #2749
2015-01-27 13:38:56 -08:00
Ben Alpert
513433b370 Merge pull request #2962 from ClimbsRocks/patch-3
Docs wording tweak for clarity
2015-01-27 11:59:00 -08:00
Ben Alpert
8174262135 Merge pull request #2961 from ClimbsRocks/patch-1
Rewording for clarity
2015-01-27 11:58:36 -08:00
Preston Parry
33ecec07cb Update 02.1-jsx-in-depth.md 2015-01-27 11:22:21 -08:00
Preston Parry
cadbe1d27e Rewording for clarity 2015-01-27 11:04:21 -08:00
Sebastian Markbåge
8bbaa95a49 Merge pull request #2948 from jergason/master
do not validate propTypes in production
2015-01-27 10:55:14 -08:00
Sebastian Markbåge
61c4497d58 Merge pull request #2959 from sebmarkbage/createmixin
We don't currently have a way to trace the origin of a mixin
2015-01-27 10:39:25 -08:00
Sebastian Markbåge
b3f96d97f9 Merge pull request #2957 from sebmarkbage/renamecomponent
Rename ReactComponentBase -> ReactComponent
2015-01-27 10:39:07 -08:00
Sebastian Markbage
295ef0063b We don't currently have a way to trace the origin of a mixin
This makes it more difficult to find bugs in mixins both dynamically
and using a static type system.

We also don't have a way to find these to be upgraded to a new mixin
syntax if we needed to.

This hook is currently an optional noop but could be made required to
create a mixin class.
2015-01-27 09:36:14 -08:00
Sebastian Markbage
c3c98084b9 Rename ReactComponentBase -> ReactComponent
We freed up this internal name by removing the internal base class.
We're now free to use this name as it was intended.

ReactDOMComponent and ReactCompositeComponent are still confusing as
they're internal but we'll rename them later.
2015-01-27 09:22:07 -08:00
Jamison Dance
f61ca8d307 don't validate propTypes in production
Switch to warnings so code execution doesn't differ between prod and
dev.
2015-01-27 09:45:20 -07:00
Sebastian Markbåge
16a56afada Merge pull request #2936 from sebmarkbage/refactorlifecycles
Use Singleton LifeCycle State
2015-01-27 01:26:30 -08:00
Sebastian Markbage
bebc568ceb Use Singleton LifeCycle State
All entry points are for reconciliation are within batching strategies.

Since we don't have any batching strategies with synchronous updates,
there can't be more than one life-cycle method on the stack at any given
time.

Therefore, it's safe to move the composite life cycle flag to a singleton.
This saves us some memory management.

I think that we can get rid of these life cycle states completely in the
future.
2015-01-27 01:19:31 -08:00
Sebastian Markbåge
7e6251887f Merge pull request #2935 from sebmarkbage/batchupdates
Batch updates in initial render
2015-01-27 01:06:56 -08:00
Sebastian Markbage
9811b10aaa Batch updates in initial render
Currently, the first setState that happens during initial render will
start a new batch. Any subsequent updates will be batched. That means that
the first setState is synchronous but any subsequent setStates are
asynchronous.

This commit makes it so that the batching starts at the root. That way all
the setStates that happen within life-cycle methods are asynchronous.
2015-01-27 01:00:59 -08:00
Sebastian Markbåge
b3df7cabb7 Merge pull request #2930 from sebmarkbage/updatequeue
Extract setState, setProps etc into ReactUpdateQueue
2015-01-27 00:57:44 -08:00
Sebastian Markbage
ed7332c749 Extract setState, setProps etc into ReactUpdateQueue
I originally did this work so that we could allow setState to be called
before the internal ReactCompositeComponent was constructed. It's unlikely
that we'll go down that route now but this still seems like a better
abstraction. It communicates that this is not immediately updating an
object oriented class. It's just a queue which a minor optimization.
It also avoids bloating the ReactCompositeComponent file.

Since they both depend on the life cycle I break that out into a common
shared dependency. In a follow up I'll refactor the life-cycle management.
2015-01-27 00:55:25 -08:00
Sebastian Markbage
103bf101ae Fix broken jest test
jest accidentally picked up this .d.ts file as a test.

I'll just move it out to fix it.
2015-01-26 23:37:30 -08:00
Sebastian Markbåge
9b23807cfd Merge pull request #2953 from sebmarkbage/callbacktests
Add Tests to Callbacks of the Life Cycles
2015-01-26 23:30:14 -08:00
Sebastian Markbage
fd077d7492 Add Tests to Callbacks of the Life Cycles
This adds some much needed tests of the callbacks to setState, setProps
and render.
2015-01-26 23:26:24 -08:00
Jim
61ee74b562 Merge pull request #2941 from kevinold/2870-update-warning-calls
Update warning calls to use %s #2870
2015-01-26 22:06:42 -08:00
Kevin Old
f0ea2b5979 update to use spyOn for console.warn #2749 2015-01-26 21:51:42 -06:00
Kevin Old
e8ef06783a Update warning calls to use %s #2870 2015-01-26 21:39:43 -06:00
Paul O’Shannessy
c6d1904f24 Merge pull request #2951 from mzabriskie/semicolon
Provide warning when using styles containing a semicolon
2015-01-26 18:32:57 -08:00
Jim
c3522b80a5 Merge pull request #2920 from jsfb/move-proptype-validation
Move propType validation to element instead of class.
2015-01-26 17:21:01 -08:00
Sebastian Markbåge
46ae2f4e55 Merge pull request #2952 from sebmarkbage/typescript
Add Basic TypeScript Class Test
2015-01-26 17:19:18 -08:00
Jim
6ee5299b4a Move propType validation to element instead of class.
Conflicts:
	src/classic/element/ReactElementValidator.js
2015-01-26 17:16:49 -08:00
Sebastian Markbage
f837cc289e Move component class instantiation into ReactCompositeComponent
We need to move instantiation into the mount phase for context purposes.

To do this I moved the shallow rendering stuff into ReactTestUtils and
reused more of the existing code for it by instantiating a noop child.

Everywhere we refer to the "type" we should pass it to ReactNativeComponent
to resolve any string value into the underlying composite.
2015-01-26 17:16:21 -08:00
mzabriskie
ae5a124745 Using %s in warning message 2015-01-26 18:09:21 -07:00
mzabriskie
fca0fdc115 Better tests 2015-01-26 18:08:51 -07:00
Sebastian Markbage
6c145c31f5 Add Basic TypeScript Class Test
As part of the new class effort it is now possible to define React
Components using any type of generic JavaScript class syntax.

This includes TypeScript classes. This test ensures that we don't regress
that support, and also serves as an example for using React in TypeScript.
TypeScript provides a good demo of where we think property initializers
are going.

We don't have any official *type* support for TypeScript yet.

This test trails the ReactES6Class-test file. Some manual tweaking is
required when converting tests.
2015-01-26 16:59:11 -08:00
mzabriskie
b6edbae3fc Renaming assertValidStyle to warnValidStyle 2015-01-26 17:50:35 -07:00
mzabriskie
94fb463c06 Moar tests 2015-01-26 17:45:51 -07:00
mzabriskie
05e2bc6b5c Fixing lint failures 2015-01-26 17:41:54 -07:00
mzabriskie
4054bb13cd Provide warning when using styles containing a semicolon 2015-01-26 17:33:44 -07:00
Paul O’Shannessy
96058a10ee Merge pull request #2939 from patlaughlin/patch-1
Update 06-transferring-props.md
2015-01-26 16:32:09 -08:00
Sebastian Markbåge
d750cf7401 Merge pull request #2942 from sebmarkbage/metamatchers
Add Meta Matchers for Testing Tests
2015-01-26 16:05:40 -08:00
Sebastian Markbage
3bbf6ce1a5 Add Meta Matchers for Testing Tests
This adds a matcher called toEqualSpecsIn which executes two test suites,
without reporting the result. It then compares the specs and the number
of expects executed by each spec.

This will be used to ensure that tests written in other languages test the
same thing as the base line, ES6 classes.

Sets up CoffeeScript equivalence test.
2015-01-26 15:50:57 -08:00
Ben Moss
28f50c8a78 Add displayName to nested render warnings [#1726] 2015-01-26 14:14:36 -05:00
Sebastian Markbåge
e6672a3a03 Merge pull request #2944 from sebmarkbage/coffeescript
Add CoffeeScript Class Test
2015-01-26 11:10:18 -08:00
Sebastian Markbage
5f150822e6 Add CoffeeScript Class Test
As part of the new class effort it is now possible to define React
Components using any type of generic JavaScript class syntax.

This includes CoffeeScript. This test ensures that we don't regress that
support, and also serves as an example for using React in CoffeeScript.

This test fail trails the ReactES6Class-test file. Some manual tweaking is
required when converting tests.
2015-01-26 02:19:35 -08:00
Patrick Laughlin
51e0610a62 Update 06-transferring-props.md 2015-01-25 22:03:57 -05:00
Sebastian Markbåge
4486a17c24 Merge pull request #2933 from sebmarkbage/pendingcontext
Remove _pendingContext
2015-01-24 21:54:36 -08:00
Sebastian Markbage
adabfe2f49 Remove _pendingContext
There is no way to queue an update to a context so there is no need for
this field. The only way to get a new context is from above.

Soon _pendingElement will get the same treatment. Once _setPropsInternal
can be removed.
2015-01-24 20:09:14 -08:00
Sebastian Markbåge
1c90efbf7c Merge pull request #2923 from sebmarkbage/dropcomponentmixin
Replace ReactComponentMixin with ReactReconciler
2015-01-23 18:06:50 -08:00
Sebastian Markbage
690409a912 Replace ReactComponentMixin with ReactReconciler
Instead of putting the shared code in a base class method, we use a wrapper
call around all invokations. That way they're free to add code before AND
after the non-shared code.

That way we ensure that component extensions don't need to implement
ReactComponentMixin and do super() calls into it. This helps to create a
tighter API for custom component extensions.

This provides the first step towards moving these methods to static
methods which allows to use a different dispatch mechanism instead of
virtual method calls. E.g. pattern matching.
2015-01-23 17:27:42 -08:00
Ben Alpert
ac7677bb11 Update .mailmap for me 2015-01-23 11:10:22 -08:00
Sebastian Markbåge
0e108b180a Merge pull request #2918 from sebmarkbage/fixcontexts
Move Component Class Instantiation into ReactCompositeComponent
2015-01-23 10:41:47 -08:00
Sebastian Markbage
9abd1133c9 Pass context to the constructor
This should reenable reading this.context from getInitialState.

Added a bunch of tests for this too.
2015-01-23 10:09:45 -08:00
Sebastian Markbage
766a79c695 Move component class instantiation into ReactCompositeComponent
We need to move instantiation into the mount phase for context purposes.

To do this I moved the shallow rendering stuff into ReactTestUtils and
reused more of the existing code for it by instantiating a noop child.

Everywhere we refer to the "type" we should pass it to ReactNativeComponent
to resolve any string value into the underlying composite.
2015-01-23 10:09:45 -08:00
Kirk Steven Hansen
3d37c95533 Typo in first commit. 2015-01-22 23:34:14 -06:00
Kirk Steven Hansen
b4007e85b8 Updated tutorial to be more clear about the dependence on the --harmony flag. 2015-01-22 23:30:02 -06:00
Sebastian Markbåge
8616a6f60e Merge pull request #2919 from sebmarkbage/removecreateref
Remove React.createRef API
2015-01-22 19:13:55 -08:00
Sebastian Markbage
a3a464c8fc Remove React.createRef API
This API was removed so this won't work.
2015-01-22 19:11:11 -08:00
Ben Alpert
f9821de909 Merge pull request #2917 from spicyj/ref-composite
Switch first-class refs to use functions
2015-01-22 18:19:05 -08:00
Ben Alpert
322bde6eb0 Switch first-class refs to use functions
Closes #1373.

Test Plan: jest
2015-01-22 18:10:25 -08:00
Jim
734aedb977 Merge pull request #2892 from jsfb/fbme-url-for-dangerouslySetInnerHtml
Added fb.me url to error message.
2015-01-22 17:07:28 -08:00
Ben Alpert
a534264c1e Merge pull request #2916 from spicyj/ref-composite
Move ref code to ReactCompositeComponent
2015-01-22 16:01:51 -08:00
Ben Alpert
9c3d6b8881 Move ref code to ReactCompositeComponent
You can only get a ref to a ReactCompositeComponent, so move the ref code here which gives us more flexibility to put it at the correct time in the lifecycle.

There should be no behavior change in this commit.

Test Plan: jest
2015-01-22 15:36:59 -08:00
Paul O’Shannessy
3d109aa11b Merge pull request #2915 from zpao/lint-fixup
Fix a couple small lint issues
2015-01-22 14:56:25 -08:00
Paul O’Shannessy
c33d443c0b Fix a couple small lint issues
These aren't caught by eslint yet :(
2015-01-22 14:39:08 -08:00
Sebastian Markbåge
8a5c5ba69d Merge pull request #2913 from sebmarkbage/typewarning
Add warning when accessing .type on a component class
2015-01-22 13:39:07 -08:00
Sebastian Markbage
1ed1d7a158 Add warning when accessing .type on a component class
Since we removed the wrapper factory around classes, the class is just
the class now so there is no need for this indirection property.
2015-01-22 13:26:34 -08:00
Paul O’Shannessy
6588a84a0f Merge pull request #2765 from zpao/jsxtransformerlinenumber
Check for lineNumber support before using it
2015-01-22 12:58:51 -08:00
Jim
b94adc9724 Added fb.me url to error message. 2015-01-22 12:56:52 -08:00
Paul O’Shannessy
f8a214137a Merge pull request #2903 from tendant/merge-conflicts-in-translation
Update documents for Chinese translation
2015-01-22 12:55:53 -08:00
Paul O’Shannessy
92e361709c [docs] Use current date in copyright footer
This will be based on the site generation time, making doc generation
slightly less deterministic but that's ok. Now we won't depend on
helpful community members updating it for us (#2874) when we forget,
it'll just happen naturally the next time the site is generated.
2015-01-22 12:50:52 -08:00
Jim
54b565de93 Merge pull request #2518 from jsfb/documentation-for-dangerouslySetInnerHtml
Document justification for dangerouslySetInnerHTML, fixes #2256
2015-01-22 10:52:47 -08:00
Ben Alpert
76e1d5a542 Merge pull request #2902 from swestwood/patch-2
Correctly highlight changed line in tutorial.
2015-01-22 08:27:29 -08:00
Lei
943c2aa77a Add Chinese translation of reusable-components 2015-01-21 19:43:24 -08:00
Lei
833fcb6593 Add Chinese translation of multiple-components 2015-01-21 19:34:40 -08:00
Paul O’Shannessy
6247f30103 Merge pull request #2890 from amykyta/patch-1
Update 02.1-jsx-in-depth.md
2015-01-21 19:07:01 -08:00
Timothy Yung
b403af192d Merge pull request #2900 from wincent/test-desc-fix
Fix inaccurate spec description
2015-01-21 18:56:33 -08:00
Paul O’Shannessy
4b2e89dd99 Add npm run build
It's a "shortcut" to `grunt build`
2015-01-21 17:23:36 -08:00
Sophia Westwood
a19966f2ea Correctly highlight changed line in tutorial.
This excerpt adds the onSubmit handler to the form element, but the line was not highlighted as having been modified.
2015-01-21 17:15:31 -08:00
Greg Hurrell
76fe572a97 Fix inaccurate spec description
The string here was initially accurate, but got out of sync with reality
when the commit was revised (as 892e357fd5).
2015-01-21 17:07:29 -08:00
Timothy Yung
892e357fd5 Merge pull request #2894 from yungsters/local-event-trap-mixin
Fix LocalEventTrapMixin for Bad Tree State
2015-01-21 15:34:32 -08:00
yungsters
a7aca51f1e Throw for Misue of LocalEventTrapMixin
Summary:
If `getDOMNode()` returns null in `LocalEventTrapMixin`, `listener` will also be null and `accumulateInto` will throw. This changes `LocalEventTrapMixin` to throw a more helpful error message.

Test Plan:
Ran unit test successfully:

```
npm test LocalEventTrapMixin-test.js
```
2015-01-21 15:30:04 -08:00
Jim
6f44f6049e Document justification for dangerouslySetInnerHTML, fixes #2256
Conflicts:
	docs/_data/nav_tips.yml
	docs/tips/17-children-undefined.md
2015-01-21 12:47:36 -08:00
Isaac Salier-Hellendag
972befe0b6 Merge pull request #2889 from salier/react-default-perf
Repair ReactDefaultPerf
2015-01-21 13:28:53 -06:00
amykyta
b8f3c7f7fb Update 02.1-jsx-in-depth.md 2015-01-21 12:22:29 -05:00
Isaac Salier-Hellendag
de54d84051 Repair ReactDefaultPerf
Update ReactDefaultPerf to properly record component names.
2015-01-21 10:52:43 -06:00
Cedric Sohrauer
5f837074f9 adds a composite component for an iframe to handle load events
This is basically a copy of ReactDOMImg
2015-01-21 10:33:34 +01:00
Paul O’Shannessy
ce5346f2ce Merge pull request #2884 from chenglou/fix-ex-source-map
Temporarily comment out bundle-collapser for JSXTransformer
2015-01-20 18:55:39 -08:00
Paul O’Shannessy
f9c393f4fb Fix strict mode violoation in test 2015-01-20 18:26:51 -08:00
Cheng Lou
51d74ca36c Temporarily comment out bundle-collapser for JSXTransformer
This will at least make the examples run while we fix the issue.
2015-01-20 20:27:59 -05:00
Paul O’Shannessy
06de3f31f0 Merge pull request #2875 from kchia/patch-2
Update 03-interactivity-and-dynamic-uis.md: correct typo
2015-01-20 16:42:27 -08:00
Paul O’Shannessy
0a62a04909 Merge pull request #2881 from camsong/master
Add Chinese translation to several pages.
2015-01-20 16:41:58 -08:00
Sebastian Markbage
a5657d213c Fix lint 2015-01-20 14:40:19 -08:00
Paul O’Shannessy
c778e61da0 Fix ES6Class test so it runs in browsers
document.createElement throws an error if you don't pass it any
arguments. Neither PhantomJS nor jest (via jsdom at version jest is
using) behave as browsers do now so this went unnoticed.
2015-01-20 14:30:33 -08:00
Sebastian Markbåge
2d75b11097 Merge pull request #2808 from sebmarkbage/modernclasses
New class instantiation and initialization process
2015-01-20 14:28:40 -08:00
Sebastian Markbage
291a92c4a6 New class instantiation and initialization process
This allows state to be set up in the constructor instead of through
getInitialState. getInitialState is now considered part of "classic".
Therefore, they move into ReactClass's constructor.

As a consequence of this, we no longer have a mapping between the internal
representation and the public instance during the mounting process.
Because the constructor hasn't returned yet.

We used to have a special case for calling setState in getInitialState
which was just ignored. This makes that throw and the component is
considered unmounted during the construction phase.
2015-01-20 14:27:28 -08:00
Jim
f92967c886 Merge pull request #2853 from jsfb/warn-only-on-read
Eliminate context warnings when component isn't reading the conflicting context variable
2015-01-20 11:57:30 -08:00
Cam Song
1694aff89e Add Chinese translation to 7 more pages.
Translate 'Note' to '注意' instead of '提示' to make it more sensible.
2015-01-20 00:15:16 +08:00
Hou Chia
9f18ccdce9 Update 03-interactivity-and-dynamic-uis.md: correct typo
My file change corrects a typo in the document.

Best, 
Hou
2015-01-18 00:35:27 -08:00
Paul O’Shannessy
c6686768eb Merge pull request #2874 from Carlsson87/patch-1
Update footer with correct year
2015-01-17 12:21:21 -08:00
Daniel Carlsson
4ffdbefaa2 Friends don't let friends look foolish on the internet
Updated your footer =)
2015-01-17 20:16:24 +01:00
Paul O’Shannessy
f656f1966e Merge pull request #2297 from pedronauck/docs-namespace-in-jsx
Add a section at 'jsx-in-depth' talking about namespaced components
2015-01-16 16:21:22 -08:00
Paul O’Shannessy
4f50071de0 Merge pull request #2675 from af/topLevelAPIDocs
Top level api docs for createFactory
2015-01-16 13:18:28 -08:00
Paul O’Shannessy
d6aa588dfc Merge pull request #2360 from beausmith/patch-1
Highlighted changed lines in examples
2015-01-16 13:10:00 -08:00
Paul O’Shannessy
31002e0cc1 Merge pull request #2707 from camsong/master
More Chinese Doc Translation
2015-01-16 13:06:40 -08:00
Paul O’Shannessy
1b85e611ad Merge pull request #2734 from Minwe/master
add Forms and Event System docs Chinese translation
2015-01-16 13:06:12 -08:00
Paul O’Shannessy
d471fb4c0b Merge pull request #2795 from chenglou/tips-lib
[Docs] Tip on integration with other libraries
2015-01-16 13:05:43 -08:00
Paul O’Shannessy
69d40d1be3 Merge pull request #2824 from zpao/docs-tutorial-server
[docs] Talk about running a server in tutorial
2015-01-16 13:05:19 -08:00
Ben Alpert
1428ea7823 Merge pull request #2502 from fabiomcosta/patch-4
Removing unecessary resize listener
2015-01-16 12:08:34 -08:00
Paul O’Shannessy
deae575dae v0.13.0-alpha.2 2015-01-16 10:33:42 -08:00
Paul O’Shannessy
588032da51 Update package deps 2015-01-16 10:33:42 -08:00
Paul O’Shannessy
2de1545eae Merge pull request #2867 from zpao/no-warn-mock-methods
Don't warn about plain classes when in mocked components
2015-01-15 16:45:05 -08:00
Paul O’Shannessy
069aec1d42 Don't warn about plain classes when in mocked components
Mocking both doesn't copy properties that start with an underscore, nor
does it copy values, only nested objects.
2015-01-15 16:39:57 -08:00
Sebastian Markbåge
c01507fd11 Merge pull request #2866 from sebmarkbage/fixbindwarning
Don't bind callbacks to setState, setProps etc.
2015-01-15 15:36:50 -08:00
Paul O’Shannessy
45c0747a17 Merge pull request #2851 from jsfb/unique-key-in-dev-only
The unique key warning should only happen in dev.
2015-01-15 15:08:43 -08:00
Sebastian Markbage
d7d3ea5560 Don't bind callbacks to setState, setProps etc.
We added a bind to the public instance, but instead we can just pass the
public instance as the context when we execute.

This avoids a warning that fires when we call bind on auto-bound methods.
2015-01-15 14:00:45 -08:00
Paul O’Shannessy
8e6e98b387 Merge pull request #2865 from zpao/revert-jasmine-helper
Revert "Merge pull request #2814 from jsfb/testutils-consolemock"
2015-01-15 13:47:34 -08:00
Paul O’Shannessy
967435b249 Revert "Merge pull request #2814 from jsfb/testutils-consolemock"
This reverts commit 9514861d93, reversing
changes made to cdec83732d.
2015-01-15 13:35:57 -08:00
Cheng Lou
251d31a515 Merge pull request #2859 from javawizard/patch-1
ref-08-reconciliation.md: grammar/punctuation fixes
2015-01-15 14:36:27 -05:00
Alex Boyd
941cba679e ref-08-reconciliation.md: grammar/punctuation fixes 2015-01-14 22:40:29 -07:00
Ben Alpert
8d5838af72 Merge pull request #2540 from spicyj/no-mutate-props
Warn when mutating props on a ReactElement
2015-01-14 11:37:43 -08:00
Paul O’Shannessy
892f0a59fe Fix lint on travis
PR #2852 was not quite correct
2015-01-13 16:55:10 -08:00
Paul O’Shannessy
29ca22c2ff Merge pull request #2852 from zpao/lint-fail-travis
Add eslint grunt task, fail travis for it
2015-01-13 16:12:15 -08:00
Paul O’Shannessy
84c83dca2d Add eslint grunt task, fail travis for it
This is it...
2015-01-13 16:11:42 -08:00
Jim
8aa6171fd6 Eliminate context warnings when component isn't reading the conflicting context variable. 2015-01-13 15:34:46 -08:00
Paul O’Shannessy
54c82da15f Merge pull request #2751 from zpao/eslint-fixup
Eslint fixup
2015-01-13 15:27:54 -08:00
Paul O’Shannessy
47ee780caf [lint] fix consistent-returns 2015-01-13 15:26:33 -08:00
Paul O’Shannessy
2126600c37 [lint] disable a couple rules since rest args aren't processed right 2015-01-13 15:26:33 -08:00
Paul O’Shannessy
847357e42e [lint] Fix reasonable lines to 80
I don't agree with 80 on principal but it's what we have for now.

This fixes the reasonable cases. Most of the long lines are in docblocks
with long type information or containing links.
2015-01-13 15:26:33 -08:00
Paul O’Shannessy
e27da99731 [lint] Fix majority of issues eslint found 2015-01-13 15:26:33 -08:00
Paul O’Shannessy
df2ddc5dfa [lint] convert to single quotes 2015-01-13 15:26:33 -08:00
Paul O’Shannessy
df64a67b7f codemod "use strict" to 'use strict' for better linting 2015-01-13 15:26:32 -08:00
Jim
fa40eefa00 Merge pull request #2818 from jsfb/unmasked-context-in-performContextUpdate
Context warning should fire on update, not just initial mount.
Renamed a couple instances of context
2015-01-13 15:05:45 -08:00
Paul O’Shannessy
aeffbef21f Merge pull request #2662 from zpao/eslint
Use eslint
2015-01-13 14:03:16 -08:00
Jim
6b5b1b3f17 The unique key warning should only happen in dev. 2015-01-13 14:03:00 -08:00
Paul O’Shannessy
3f8d4eaa63 Use eslint
These rules are very close to what we have internally. We may still miss
a couple things (jsdoc params being a big one) but it's good enough.
This is also more restrictive than what we enforce internally, but it's
for the best.
2015-01-13 14:01:34 -08:00
Sebastian Markbåge
7a3083af36 Merge pull request #2806 from sebmarkbage/baseclass
Warn when defined methods are used in plain JS classes
2015-01-13 11:40:52 -08:00
Sebastian Markbage
2330962d25 Warn when defined methods are used in plain JS classes
In ReactClass we use early validation to warn you if a accidentally defined
propTypes in the wrong place or if you mispelled componentShouldUpdate.

For plain JS classes there is no early validation process. Therefore, we
wait to do this validation until the component is mounted before we issue
the warning.

This should bring us to warning-parity with ReactClass.
2015-01-13 11:29:28 -08:00
Sebastian Markbåge
d138f9a35b Merge pull request #2805 from sebmarkbage/baseclass1
Introducing ReactComponentBase base class
2015-01-13 11:00:56 -08:00
Sebastian Markbage
ff032dc857 Introducing ReactComponentBase base class
This is the base class that will be used by ES6 classes.

I'm only moving setState and forceUpdate to this base class and the other
functions are disabled for modern classes as we're intending to deprecate
them. The base classes only have getters that warn if accessed. It's as if
they didn't exist.

ReactClass now extends ReactComponentBase but also adds the deprecated
methods. They are not yet fully deprecated on the ReactClass API.

I added some extra tests to composite component which we weren't testing
to avoid regressions.

I also added some test for ES6 classes. These are not testing the new
state initialization process. That's coming in a follow up.
2015-01-13 10:54:19 -08:00
Jim
e4842b4ae2 Context warning should fire on update, not just initial mount.
Renamed a couple instances of context to make it clear if it was masked/unmasked
2015-01-12 16:40:08 -08:00
Ben Alpert
90053da7bd Merge pull request #2844 from kchia/patch-1
Update README.md insert comma
2015-01-12 09:45:52 -10:00
Hou Chia
08c7c556de Update README.md insert comma
The file change inserts a missing comma.

Best,
Hou
2015-01-12 11:29:17 -08:00
Jim
d94acc0363 Merge pull request #2830 from jsfb/remove-tag-warning
Removed unknown tag warning/whitelist.
2015-01-12 10:42:44 -08:00
Ben Alpert
a5aacb947f Warn when mutating props on a ReactElement
Test Plan: jest. Also used ballmer-peak in IE8 to verify that it still works.
2015-01-11 10:45:37 -10:00
Christopher Chedeau
f50da7ec63 Merge pull request #2832 from kikyous/patch-1
Update 07-forms.md
2015-01-10 13:54:05 -08:00
Jim
61f7a5613b Removed unknown tag warning/whitelist. 2015-01-09 11:46:47 -08:00
chen
bb52715f1c Update 07-forms.md 2015-01-09 10:19:42 +08:00
Paul O’Shannessy
8babd0ada3 [docs] Talk about running a server in tutorial
We've talked about this a few times and even half done it. This is for
real.
2015-01-07 17:26:54 -08:00
Paul O’Shannessy
5394acdb4b Merge pull request #2799 from stkb/master
Wrap setInnerHTML in Windows 8 apps (Fixes #441)
2015-01-07 16:47:32 -08:00
Paul O’Shannessy
4772967e29 Remove period from findDOMNode test filename 2015-01-07 15:16:31 -08:00
Paul O’Shannessy
6204aeec7d Merge pull request #2822 from zpao/rm-immutable
Remove LegacyImmutableObject
2015-01-07 13:27:21 -08:00
Jim
9514861d93 Merge pull request #2814 from jsfb/testutils-consolemock
Added jasmine matcher that expects calls to console.warn.
2015-01-07 13:10:53 -08:00
Paul O’Shannessy
7863175cd9 Remove LegacyImmutableObject
We don't use it and it's not part of the build so nobody else is using
it. You should probably use immutable instead anyway.
2015-01-07 11:37:52 -08:00
Paul O’Shannessy
52e8ba4a40 Add boxFlex and boxFlexGroup to CSS Unitless Properties
Fixes #2812
2015-01-07 11:27:43 -08:00
Jason Bonta
cdec83732d suggesting the use of immutable js for comparisons 2015-01-07 10:46:50 -08:00
Jim
bd4aff062d Added jasmine matcher that expects calls to console.warn. 2015-01-06 14:05:37 -08:00
Paul O’Shannessy
a45472e050 Merge pull request #2793 from huang47/improve/use-bundle-collapser-to-reduce-file-size
use bundle-collapser to reduce browserified file size
2015-01-05 15:43:04 -08:00
Paul O’Shannessy
680bfd54a6 Merge pull request #2807 from JoshSGman/patch-1
Fix Outdated Copyright Year
2015-01-05 15:42:12 -08:00
Jim
e5b3f9aefa Merge pull request #2520 from jsfb/warn-for-dangerouslySetInnerHtml
Added checks for incorrect usage of innerHTML. Fixes #1370
2015-01-05 13:39:16 -08:00
Jim
158e0dd35a Merge pull request #2614 from jsfb/monitor-should-update-owner-is-useful
Find cases where shouldUpdateReactComponent is det
2015-01-05 13:32:43 -08:00
Jim
2a28189bea Merge pull request #2800 from jsfb/getDOMNode-becomes-findDOMNode
Minor updates to findDOMNode, as per additional post-commit CR feedback.
2015-01-05 13:29:14 -08:00
Jim
f507ba3c2b Minor updates to findDOMNode, as per additional post-commit CR feedback. 2015-01-05 13:26:35 -08:00
ShihChi Huang
9bc1961936 apply browserify bundle collapser to all build type 2015-01-05 13:15:16 -08:00
Joshua Goldberg
e926d4ff54 Fix Outdated Copyright Year
Fix outdated copyright year (update to 2015)
The copyright year was out of date. Copyright notices must reflect the current year. This commit updates the listed year to 2015.
2015-01-05 13:52:20 -05:00
Paul O’Shannessy
a7028c467f Merge pull request #2801 from jsfb/componentDidUpdate-docs
Update docs to indicate that componentDDidUpdate is fired after changes are flushed to the DOM.  Fix
2015-01-05 09:34:38 -08:00
Steve Baker
9c55b961d3 code formatting fixes 2015-01-05 18:21:53 +01:00
Paul O’Shannessy
26636e501d Merge pull request #2791 from rickbeerendonk/patch-1
Update ref-09-glossary.md
2015-01-05 09:05:46 -08:00
Paul O’Shannessy
7295f36b0f Merge pull request #2788 from mihaip/master
SyntheticEvent.timeStamp is a number, not a Date
2015-01-05 09:05:19 -08:00
Jim
08c5e42649 Update docs to indicate that componentDDidUpdate is fired after changes are flushed to the DOM. Fixes #2796 2015-01-02 14:02:44 -08:00
Steve Baker
3287ea52fe Wrap setInnerHTML in Windows 8 apps 2015-01-02 20:28:58 +01:00
Cheng Lou
d0f2e7db5f [Docs] Tip on integration with other libraries
Chose this title because it's more eye-catchy than "third-party integration".
2015-01-01 16:09:45 -05:00
ShihChi Huang
f214776a97 use bundle-collapser to reduce browserified file size 2014-12-30 23:16:04 -08:00
Rick Beerendonk
717b6d6249 Update ref-09-glossary.md
Minor grammatical fix.
2014-12-30 23:42:38 -05:00
Mihai Parparita
c0e33e8e76 SyntheticEvent.timeStamp is a number, not a Date
Also makes the a few other attribute types use lowercase (primitive) naming, to be consistent.
2014-12-30 12:06:49 -08:00
Paul O’Shannessy
ebf4cb4fab Merge pull request #2785 from c-das/patch-1
Update 02-displaying-data.md
2014-12-30 06:45:18 -08:00
Chitharanjan Das
b25e2e70d8 Update 02-displaying-data.md
Just a couple of minor grammatical fixes.
2014-12-30 10:49:44 +00:00
Sebastian Markbåge
82a30268a3 Merge pull request #2767 from sebmarkbage/moderntypevalidation
Add late class validation warnings for statics
2014-12-29 12:45:49 -05:00
Sebastian Markbage
82d15c8fd5 Add late class validation warnings for statics
ES6 classes won't have an early validation step. Therefore I added some
extra validation later on in the process. These would've normally have
been caught by createClass in classic React.
2014-12-29 12:43:40 -05:00
Sebastian Markbåge
9cd290a8c8 Merge pull request #2783 from dylanharrington/master
Fix typo in warning for invalid reused markup
2014-12-29 12:14:22 -05:00
Sebastian Markbåge
bd5a91a55c Merge pull request #2768 from sebmarkbage/duplicatetests
Removed some duplicate tests
2014-12-29 09:10:26 -08:00
Dylan Harrington
159ba54b8c Fix typo in warning message for invalid reused markup 2014-12-29 01:55:16 -08:00
Sebastian Markbåge
11f83c1fa0 Merge pull request #2769 from sebmarkbage/breakonwarning
Throw a caught error in the default warning module
2014-12-25 14:47:34 -08:00
Paul O’Shannessy
b98facd76e Merge pull request #2773 from vanesyan/patch-1
Update ref-01-top-level-api.md
2014-12-25 10:42:47 -08:00
Roman Vanesyan
172dec8351 Update ref-01-top-level-api.md
React isn't framework, it's library for UI!?
2014-12-24 14:39:37 +05:00
Paul O’Shannessy
6ca8bf82f5 Merge pull request #2772 from zpao/fixjsdoc
Fixup jsdoc for findDOMNode
2014-12-23 15:58:59 -08:00
Paul O’Shannessy
20c43d4ec8 Fixup jsdoc for findDOMNode 2014-12-23 15:56:05 -08:00
Paul O’Shannessy
41b919bb81 Merge pull request #2771 from zpao/temp-fix-empty-component
Temporarily fix EmptyComponents
2014-12-23 15:43:00 -08:00
Paul O’Shannessy
b2bf83ec85 Temporarily fix EmptyComponents
This a workaround for the problem described in #2770. It should be
temporary because this is really just working around the real problem.
2014-12-23 15:33:53 -08:00
Sebastian Markbage
f1bab136d0 Throw a caught error in the default warning module
This throws an error that is immediately caught. This allows you to use the
debugger's "break on caught exception" feature to break on warnings.

This should help with tracking down these warnings using the stack.

However, it could also add more noise to other debugging pattern.
2014-12-23 14:21:04 -08:00
Sebastian Markbage
8864692237 Removed some duplicate tests
These tests are duplicates of the same test in the same file. Copy/paste
fail.
2014-12-23 13:59:11 -08:00
Paul O’Shannessy
3fec78638d v0.13.0-alpha.1
Bumping version numbers so we can push to npm.
2014-12-23 12:04:23 -08:00
Paul O’Shannessy
343cda72d9 Merge pull request #2760 from alextsg/patch-3
Update 14-communicate-between-components.md for grammatical changes
2014-12-22 13:56:44 -08:00
Paul O’Shannessy
fe1edb60eb Merge pull request #2759 from alextsg/patch-2
Update 05-maximum-number-of-jsx-root-nodes.md for capitalization
2014-12-22 13:56:10 -08:00
Paul O’Shannessy
f0f431e428 Check for lineNumber support before using it 2014-12-22 13:43:59 -08:00
Jim
e0725341cf Merge pull request #2646 from jsfb/getDOMNode-becomes-findDOMNode
Added findDOMNode, as we move toward deprecating getDOMNode
2014-12-22 13:05:49 -08:00
Alexander Tseung
92c37ffb3d Update 14-communicate-between-components.md 2014-12-21 00:14:34 -08:00
Alexander Tseung
3fd6ac56c1 Update 05-maximum-number-of-jsx-root-nodes.md 2014-12-20 23:59:34 -08:00
Paul O’Shannessy
f7166d0c97 Merge pull request #2754 from songawee/fix_version_typo
Fix version typo in grunt task
2014-12-20 15:00:37 -08:00
Dennis Johnson
5216460246 Fix version typo in grunt task 2014-12-20 12:29:06 -07:00
Paul O’Shannessy
7ed36c30b1 Merge pull request #2752 from peterblazejewicz/fix/blog-typo
Fix conference year typo in blog post content
2014-12-19 14:30:06 -08:00
Peter Blazejewicz
ef4e75b031 Fix conference year typo in blog post content 2014-12-19 23:06:24 +01:00
Paul O’Shannessy
b7734a7000 Diversity Scholarship blog post 2014-12-19 13:22:23 -08:00
Sebastian Markbåge
6c6ffdb064 Merge pull request #2748 from sebmarkbage/modern
Separate createElement and JSX tests
2014-12-18 18:16:06 -08:00
Sebastian Markbage
cea2c38733 Separate createElement and JSX tests
This essentially copies all classic element creation tests to the modern
JSX tests. The classic tests doesn't use JSX and modern tests do.

The idea is that the JSX tests can start dropping dynamic checks once
we have Flow support for those features. JSX won't be necessary for
dropping dynamic checks. Plain object will also work. Flow will also not
be necessary for JSX. However, the tests should test for the suggested
combination (JSX + Flow).

This also moves some misplaced tests to ReactDOM and Validator.

Note that the modern tests uses ES6 classes. I will add separate tests for
those. However, these are not guaranteed to have .displayName so all our
error messages should check .name if available instead. This should be
better abstracted but I just adhoc fix this for now.
2014-12-18 16:13:29 -08:00
Sebastian Markbåge
60b2241ad4 Merge pull request #2745 from sebmarkbage/types
Add placeholders for static prop type tests
2014-12-18 15:13:36 -08:00
Jim
a463191bb2 Find cases where shouldUpdateReactComponent is determined by the owner. 2014-12-18 14:24:09 -08:00
Paul O’Shannessy
c63de4b79b Merge pull request #2586 from RileyTomasek/master
Fix typo in comment of jquery-bootstrap example
2014-12-18 14:15:30 -08:00
Jim
b46a6ce4bb Added findDOMNode, as we move toward deprecating getDOMNode 2014-12-18 13:55:44 -08:00
Sebastian Markbage
e31f23fc2a Add placeholders for static prop type tests
This is where tests of static prop types should go when we have the
infrastructure set up to handle it.
2014-12-18 13:52:56 -08:00
Sebastian Markbåge
435aac26af Merge pull request #2744 from sebmarkbage/types
Renamed classic/propTypes to classic/types
2014-12-18 13:42:45 -08:00
Sebastian Markbage
019028bec4 Renamed classic/propTypes to classic/types
I want to create a parallel folder for static type checking in the
"modern" folder so lets use the generic "types" name.
2014-12-18 13:40:32 -08:00
Paul O’Shannessy
d488f534ae 0.12.2 starter kit
(cherry picked from commit 6c5cb72cdc)
2014-12-18 12:47:33 -08:00
Paul O’Shannessy
378112f380 v0.12.2 blog post
(cherry picked from commit 2f6a95d5a2)
2014-12-18 12:47:32 -08:00
Paul O’Shannessy
2eb6cf6dd0 Readme + Changelog for 0.12.2
(cherry picked from commit 7468f092ae)
2014-12-18 12:47:32 -08:00
Paul O’Shannessy
3c2fc6440e update docs for 0.12.2 changes
(cherry picked from commit e6e60c4fa8)
2014-12-18 12:47:32 -08:00
Sebastian Markbåge
702eef0bf0 Merge pull request #2740 from facebook/revert-2613-monitor-cloneWithProps
Revert "Monitoring code use of cloneWithProps"
2014-12-18 12:13:34 -08:00
Sebastian Markbåge
7354a699ff Revert "Monitoring code use of cloneWithProps" 2014-12-18 12:13:09 -08:00
Riley Tomasek
84a93fbacf Improve comment in example code
This should make it more clear that even though `$` is used in 4 methods, only 2 of them are crucial for integrating the modal into the components lifecycle methods and the other 2 are just helpers.
2014-12-18 10:05:25 -05:00
minwe
309507955b add Event System doc Chinese translation 2014-12-18 13:10:02 +08:00
minwe
60ffe1e22e add Forms doc Chinese translation 2014-12-18 12:27:28 +08:00
Paul O’Shannessy
11785db573 Merge pull request #2727 from zpao/update-npm-deps
Update NPM dependencies
2014-12-17 16:56:14 -08:00
Paul O’Shannessy
c17ea85483 Merge pull request #2732 from zpao/travis-container
Use containers on TravisCI
2014-12-17 16:54:12 -08:00
Paul O’Shannessy
2620161d93 Merge pull request #2733 from morenoh149/patch-1
Added note for proper example display
2014-12-17 16:17:50 -08:00
Harry Moreno
9adb4447cd Added note for proper example display
jsfiddles weren't showing up for me. Upon further investigation I found that changing to http fixes the embedding.
2014-12-17 12:52:49 -08:00
Paul O’Shannessy
626023fc52 Merge pull request #2726 from zpao/createElement-undefined-null
Protect better against createElement(null/undefined)
2014-12-17 10:46:49 -08:00
Paul O’Shannessy
1bd8990fb2 Use containers on TravisCI
This *should* enabled the caching of node_modules for faster builds. We
may need to tweak this later to make sure node_modules gets updated

See http://blog.travis-ci.com/2014-12-17-faster-builds-with-container-based-infrastructure/
2014-12-17 10:44:07 -08:00
Paul O’Shannessy
50a0d69961 Protect better against createElement(null/undefined)
This adds a warning to React.createElement in __DEV__ about using null
or undefined. This is technically valid since element creation can be
considered safe and usable in multiple rendering environments. But
rendering in a DOM environment with an element with null/undefined type
is not safe.
2014-12-17 10:38:02 -08:00
Paul O’Shannessy
401d4dd108 Update NPM dependencies
This was mostly to update Jest, but the others were the safe ones from
`npm outdated --depth=0`
2014-12-16 14:17:10 -08:00
Paul O’Shannessy
5f4d759a2b Merge pull request #2718 from alextsg/patch-1
Update tutorial.md for grammatical changes
2014-12-16 09:48:23 -08:00
Paul O’Shannessy
558afae61a Changelog, Readme updates for v0.12.1
(cherry picked from commit a067fc0fee)
2014-12-16 09:44:00 -08:00
jeffmo
849e79fef4 Include 0.12.1 starter kit
(cherry picked from commit e9dde65341)
2014-12-16 09:44:00 -08:00
Alexander Tseung
a53270267f Update tutorial.md for grammatical changes
Update tutorial.md to improve grammatical parallelism in features list. Also added periods to follow first item's syntax.

BEFORE: "Live updates: as other users comment we'll pop them into the comment view in real time"
AFTER: "Live updates: other users' comments are popped into the comment view in real time."

BEFORE: "Markdown formatting: users can use Markdown to format their text"
AFTER: "Markdown formatting: users can use Markdown to format their text."
2014-12-15 23:43:26 -08:00
Paul O’Shannessy
f13b4641bb Merge pull request #2716 from RichardLitt/patch-2
Delete extraneous period
2014-12-15 13:16:38 -08:00
Richard Littauer
4f7b37f73a Delete extraneous period 2014-12-15 13:14:00 -08:00
Paul O’Shannessy
6abb1c9e84 Merge pull request #2710 from zpao/lint-fix-again
Fix lint
2014-12-14 22:12:43 -08:00
Aaron Franks
a5ae126630 Docs: ReactComponent -> ReactClass in a few places 2014-12-14 17:03:02 -08:00
Paul O’Shannessy
63d8e0c144 Fix lint 2014-12-14 15:22:24 -08:00
Paul O’Shannessy
0b0fa760cc Merge pull request #2647 from zpao/text-component-expect
Add toBeTextComponentWithValue to reactComponentExpect
2014-12-14 14:33:37 -08:00
Paul O’Shannessy
42ae61d065 Merge pull request #2655 from zpao/rm-deprecated
Remove deprecated methods since 0.12 shipped
2014-12-14 14:33:16 -08:00
Paul O’Shannessy
c46dadea55 Remove deprecated methods since 0.12 shipped 2014-12-14 14:19:44 -08:00
Paul O’Shannessy
c9fb5b258e Add toBeTextComponentWithValue to reactComponentExpect
This was previously possible by looking at renderedChildren and props
but this feels better.
2014-12-14 14:12:29 -08:00
Paul O’Shannessy
ca5d93ca0a Merge pull request #2708 from zpao/strip-types
Enable strip-types transform for internal code
2014-12-14 13:08:34 -08:00
Paul O’Shannessy
a818097a60 Merge pull request #2705 from Swader/patch-1
Update 02-displaying-data.md
2014-12-14 13:00:51 -08:00
Paul O’Shannessy
9016665c0e Enable strip-types transform for internal code
Flow is coming so we need to be ready.
2014-12-14 12:51:39 -08:00
Cam Song
09e0dee307 Sync up previous Chinese documents and several minor updates on formats. 2014-12-14 15:30:10 +08:00
Cam Song
db569f0c0a Add Chinese translation of interactivity-and-dynamic-uis 2014-12-14 15:30:00 +08:00
Bruno Škvorc
e507dc08d5 Update 02-displaying-data.md
Typo fix
2014-12-14 08:03:35 +01:00
Cam Song
f84ede6d34 Add Chinese translation of jsx-gotchas 2014-12-14 04:28:57 +08:00
Sebastian Markbåge
6bb77b5d4d Merge pull request #2700 from sebmarkbage/classic
Move ReactClass, ReactElement and ReactPropTypes into "classic"
2014-12-12 19:53:28 -08:00
Sebastian Markbage
801e953334 Move ReactClass, ReactElement and ReactPropTypes into "traditional"
This moves ReactClass, ReactElement and ReactPropTypes into a legacy folder
but since it's not quite legacy yet, I call it "classic".

These are "classic" because they are decoupled and can be replaced by
ES6 classes, JSX and Flow respectively.

This also extracts unit tests from ReactCompositeComponent, which was
terribly overloaded, into the new corresponding test suites.

There is one weird case for ReactContextValidator. This actually happens in
core, and technically belongs to ReactCompositeComponent. I'm not sure
we will be able to statically validate contexts so this might be a case
for dynamic checks even in the future. Leaving the unit tests in classic
until we can figure out what to do with them.
2014-12-12 17:54:35 -08:00
Paul O’Shannessy
d1ab4cda4b Merge pull request #2694 from camsong/master
Add Chinese translation of js-spread
2014-12-12 09:47:07 -08:00
Cam Song
9c7dc5f3b8 Add Chinese translation of js-spread 2014-12-12 09:33:01 +08:00
Paul O’Shannessy
80ed4d870a Merge pull request #2690 from salier/before-input
Combine BeforeInput and Composition event plugins
2014-12-11 17:08:26 -08:00
Jim
df81c9916b Merge pull request #2695 from jsfb/fix-scry2
Fixed ReactTestUtils scry for TextComponents.  Fix
2014-12-11 16:54:55 -08:00
Jim
74f5b21758 Fixed ReactTestUtils scry for TextComponents. Fixes issue #2654. 2014-12-11 13:12:35 -08:00
Paul O’Shannessy
91eb2e2f99 Merge pull request #2689 from camsong/master
Add Chinese translation of jsx-in-depth
2014-12-10 15:12:55 -08:00
Isaac Salier-Hellendag
9ad0e1d846 Update BeforeInputEventPlugin.js 2014-12-10 11:36:39 -05:00
Isaac Salier-Hellendag
ddaf215b03 Combine BeforeInput and Composition event plugins
In order to improve support for Chinese and Japanese IME input in
Internet Explorer, use a fallback composition state to determine
inserted text. IE composition events are mostly okay, except for
certain punctuation characters that are ignored. Using the fallback, we
can detect these characters.

The fallback is also useful for emitting `beforeInput` events, so it
makes sense to simply combine these plugins.

This change also incorporates a recent change to the Google Input Tools
browser extension that exposes a `data` field via the `detail` object
on the custom composition events it emits.
2014-12-10 11:32:53 -05:00
Cam Song
8621b4d338 Add Chinese translation of jsx-in-depth 2014-12-11 00:19:15 +08:00
Paul O’Shannessy
ed1803dc16 Merge pull request #2679 from tschaub/patch-1
Add missing verb in docs
2014-12-09 14:04:57 -08:00
Tim Schaub
877d00d9ba Add missing verb
This adds a missing verb in JSX-in-depth doc.
2014-12-08 15:08:57 -08:00
Paul O’Shannessy
ba95ce7b6f Merge pull request #2677 from zpao/lint-internal
Fix new lint errors
2014-12-08 12:22:06 -08:00
Paul O’Shannessy
739baa9092 Fix new lint errors
We'll get to lint parity soon and then not need to do this.
2014-12-08 12:18:41 -08:00
Aaron Franks
93ce334368 Add top-level API docs for React.createFactory. 2014-12-08 07:54:13 -08:00
Aaron Franks
09cfe453b8 Add type signature info to top-level API docs. 2014-12-07 23:17:27 -08:00
Ben Alpert
b97bb21ea2 Merge pull request #2672 from cookfront/master
The same problem in issue #2648
2014-12-06 23:50:43 -08:00
cookfront
7fad8fddf1 The same problem in issue #2648 2014-12-07 15:42:51 +08:00
Cheng Lou
cfe97641ce Merge pull request #2671 from benkeen/patch-1
Update 10.6-update.md
2014-12-06 20:12:21 -05:00
Benjamin Keen
2ee870e253 Update 10.6-update.md
Spelling fix.
2014-12-06 15:49:22 -08:00
Jason Webster
6846cce840 Add additional supported methods to event documentation
`isPropagationStopped` and `isDefaultPrevented` methods do in fact exist on `SyntheticEvent`
2014-12-05 01:19:08 -08:00
Paul O’Shannessy
5c1589b81e Merge pull request #2658 from ianobermiller/margin-attrs
Support marginHeight and marginWidth attributes
2014-12-04 19:02:34 -08:00
Paul O’Shannessy
dd844bffc0 Merge pull request #2489 from cody/form
Add Attributes formAction, formEncType, formMethod and formTarget
2014-12-04 19:01:32 -08:00
Ian Obermiller
9d7467e225 Don't need MUST_USE_ATTRIBUTE for margin(Width|Height) 2014-12-04 11:02:35 -08:00
Ian Obermiller
96bd155cbd Support marginHeight and marginWidth attributes
marginHeight and marginWidth are used on iframes to set the default body margin inside the iframe.
2014-12-04 07:35:17 -08:00
Isaac Salier-Hellendag
0e1185cdbf Merge pull request #2653 from salier/ie-selection
Use getSelection in IE where available
2014-12-03 14:19:49 -08:00
Isaac Salier-Hellendag
6b46e80bb9 Use getSelection in IE where available
IE9+ has support for window.getSelection, but we’re still using
document.selection for IE9/10. Only use the old IE selection API if the
modern one is unavailable.
2014-12-03 14:03:26 -08:00
Paul O’Shannessy
3144485cb9 Merge pull request #2635 from zpao/docs/props-state-clarification
[docs] Clarify when state may duplicate props
2014-12-03 11:24:21 -08:00
Paul O’Shannessy
b3cd299ed7 Merge pull request #2639 from zpao/own-jsfiddle
Own our fiddles so we can update them more easily
2014-12-03 11:24:08 -08:00
Paul O’Shannessy
b1971a7e27 Merge pull request #2649 from cookfront/master
In `Transferring Props` guide, `Manual Transfer` section will lead an er...
2014-12-03 11:13:40 -08:00
Paul O’Shannessy
a66430aec3 Merge pull request #2651 from arnihermann/use-charat-not-string-index-markup-diff
Use String.charAt to lookup string characters by index
2014-12-03 10:57:30 -08:00
Árni Hermann Reynisson
fdffec73c3 Use String.charAt for character by index lookup
Using object property accessor for string character lookup breaks in
non-modern browsers.
2014-12-03 14:49:55 +00:00
张敏
218a9ae74d In Transferring Props guide, Manual Transfer section will lead an error
```c
var FancyCheckbox = React.createClass({
  render: function() {
    var fancyClass = this.props.checked ? 'FancyChecked' : 'FancyUnchecked';
    return (
      <div className={fancyClass} onClick={this.props.onClick}>
        {this.props.children}
      </div>
    );
  }
});
React.render(
  <FancyCheckbox checked={true} onClick={console.log}>
    Hello world!
  </FancyCheckbox>,
  document.body
);
```

When click `Hello world!` will lead a `Uncaught TypeError: Illegal invocation` error
2014-12-03 17:28:55 +08:00
Paul O’Shannessy
bd6b10887a Remove unused require from ReactDOM-test
This happened internally in a codemod
2014-12-02 14:39:19 -08:00
Paul O’Shannessy
1bcf6ad77b Merge pull request #2615 from af/createElement-docs
Add top-level API docs section for React.createElement.
2014-12-02 11:19:26 -08:00
Paul O’Shannessy
9021423be9 Merge pull request #2636 from zpao/docs/spread-assign-update
[docs] Remove generic spread, Object.assign  mentions
2014-12-02 11:10:33 -08:00
Paul O’Shannessy
45bddda0f9 Merge pull request #2622 from rafd/patch-1
add note re: handling events in capture phase
2014-12-02 11:10:20 -08:00
Paul O’Shannessy
a76ffd56b7 Merge pull request #2623 from jbhatab/patch-1
Screencast interfacing react + backbone
2014-12-02 10:54:05 -08:00
Blaine Hatab
e1be9c0ad8 Screencast interfacing react + backbone 2014-12-02 10:49:16 -06:00
Paul O’Shannessy
2c2cac00f9 Own our fiddles so we can update them more easily 2014-12-01 19:33:43 -08:00
Paul O’Shannessy
e347e2975f Merge pull request #2616 from christianalfoni/patch-3
Adding link to wiki
2014-12-01 16:03:16 -08:00
Paul O’Shannessy
fc91d2fd72 [docs] Remove generic spread, Object.assign mentions 2014-12-01 13:54:26 -08:00
Paul O’Shannessy
0a3a85bf52 [docs] Clarify when state may duplicate props 2014-12-01 13:46:59 -08:00
Rafal Dittwald
b3438c5f4b Update ref-05-events.md
use backticks and change example into its own sentence
2014-12-01 15:36:01 -05:00
Paul O’Shannessy
4cc2993a01 Merge pull request #2633 from koba04/fix-addons-document
Fix addons documentation of development only part
2014-12-01 12:13:30 -08:00
Jim
aef7c4d1a1 Added checks for incorrect usage of innerHTML. Fixes #1370 2014-12-01 11:10:52 -08:00
Toru Kobayashi
a9115134b5 Fix addons documentation of development only part 2014-12-01 23:17:53 +09:00
Christopher Chedeau
f5a9ea8e03 Merge pull request #2629 from arnihermann/diff-msg-on-checksum-fail
Give context aware message if markup reuse fails
2014-12-01 10:16:40 +00:00
Árni Hermann Reynisson
a352b94f57 Give context aware message if markup reuse fails
The context is an extra message with comparison of where server and
client markup started to differ.
2014-12-01 10:15:07 +00:00
Paul O’Shannessy
5daffbb2c3 Merge pull request #2630 from shamrin/patch-1
fix typo in addons.update() $splice command help
2014-11-30 10:48:24 -08:00
Alexey Shamrin
92862ed601 fix typo in addons.update() $splice command help 2014-11-30 20:20:34 +03:00
Rafal Dittwald
4bc7c46c62 add note re: handling events in capture phase 2014-11-28 15:38:15 -05:00
Christian Alfoni
f09a39d963 Adding link to wiki
Based on conversation in https://github.com/facebook/react/pull/2501. A good place to guide people further in finding the complete set of tools needed to build an application.
2014-11-27 08:48:16 +01:00
Aaron Franks
5e7e07b6d8 Add top-level API docs section for React.createElement. 2014-11-26 23:18:10 -08:00
Jim
5bd0b249b7 Merge pull request #2613 from jsfb/monitor-cloneWithProps
Monitoring code use of cloneWithProps
2014-11-26 16:37:00 -08:00
Jim
d42b285b0c Monitoring code use of cloneWithProps 2014-11-26 16:29:09 -08:00
Paul O’Shannessy
bb97482729 Merge pull request #2610 from zpao/update-commonjs-example
Update commonjs example for 0.12
2014-11-26 13:08:24 -08:00
Paul O’Shannessy
e2dcc4a863 Update commonjs example for 0.12 2014-11-26 13:08:08 -08:00
Paul O’Shannessy
45a19a290c Merge pull request #2553 from mhuggins/headers-attribute
Permit th `headers` attribute
2014-11-26 11:15:21 -08:00
Paul O’Shannessy
c48b877253 Merge pull request #2596 from sebmarkbage/rce
reactComponentExpect expects itself
2014-11-26 11:10:00 -08:00
Paul O’Shannessy
84e35615d2 Merge pull request #2600 from zpao/npm-test
Use jest for `npm test`
2014-11-26 11:09:39 -08:00
Jim
aee73cc463 Merge pull request #2602 from jsfb/context-tripple-equals
Warn if context values differ, related to issue #2
2014-11-25 16:52:09 -08:00
Jim
90d75ab099 Warn if context values differ, related to issue #2112 2014-11-25 16:44:09 -08:00
Paul O’Shannessy
b2ace55d9d Merge pull request #2603 from facebook/revert-2601-rm-fbtransform-syntax
Revert "Remove fbtransform/syntax.js"
2014-11-25 16:43:46 -08:00
Paul O’Shannessy
f7f3df3acc Revert "Remove fbtransform/syntax.js" 2014-11-25 16:42:20 -08:00
Paul O’Shannessy
ce699e4a32 Merge pull request #2601 from zpao/rm-fbtransform-syntax
Remove fbtransform/syntax.js
2014-11-25 15:42:13 -08:00
Jim
3a8fb5fc1e Merge pull request #2597 from jsfb/render-into-document
Replaced document.createElement with ReactTestUtil
2014-11-25 15:35:26 -08:00
Paul O’Shannessy
2a540b3fb7 Remove fbtransform/syntax.js
This was a file we probably never should have synced out in the first
place. We don't use it and it provides the same basic functionality that
bin/jsx provides.
2014-11-25 15:34:28 -08:00
Paul O’Shannessy
fd3f8e70e2 Merge pull request #2566 from zpao/style-fixup
Fix lint warnings, style fixups
2014-11-25 15:11:27 -08:00
Paul O’Shannessy
3ce88d7c17 Use jest for npm test
I've given in and this is easier than `npm run jest`. `grunt test` still
exists and is used by Travis so this has no CI implications.
2014-11-25 15:07:46 -08:00
Paul O’Shannessy
b7b74b7efe Fix lint warnings, style fixups
Followup work for recent PRs
2014-11-25 15:06:30 -08:00
Jim
89fafad255 Replaced document.createElement with ReactTestUtils.renderIntoDocument where container was not subsequently utilized.
Fixes #1250
2014-11-25 12:06:22 -08:00
Steven Luscher
e18d87b53b Merge pull request #2594 from steveluscher/community-round-up-24
Wrote Community Roundup #24
2014-11-25 10:24:47 -08:00
Sebastian Markbage
a530f1c379 reactComponentExpect expects itself
This was a bug when reactComponentExpectInternal was separated from
the normal reactComponentExpect flow.
2014-11-24 18:48:41 -08:00
Steven Luscher
0f488bfe71 Community #24: New Carousel link, spelled react-prism correctly, and removed the whale-speak. 2014-11-24 18:24:52 -08:00
Steven Luscher
c94a48be4f Wrote Community Roundup #24 2014-11-24 18:12:59 -08:00
Sebastian Markbåge
47e18c3ce6 Merge pull request #2593 from sebmarkbage/mountImage
Add additional field for ART reconciler
2014-11-24 17:08:13 -08:00
Sebastian Markbage
61349eb5a6 Add additional field for ART reconciler
ART, just like MultiChild adds an expando property to manage it's diffing
state. This is ugly and bad. We should be moving this state outside the
component for use by the diffing algorithm. This state is not needed by
components nested in composites, and varies by diffing algorithm.

It sucks that I have to add it to every component just to support ART,
but that's the quickest solution, other than disabling preventExtensions.

At least now we know that it sucks.
2014-11-24 17:02:11 -08:00
Jim
e7f4badf4a Merge pull request #2579 from jsfb/context-to-warning-module
Use warning module for context warning instead of invoking console.warn ...
2014-11-24 14:42:23 -08:00
Jim
9f7901fe1d Use warning module for context warning instead of invoking console.warn and monitorCodeUse directly. Depends on https://phabricator.fb.com/D1695279 2014-11-24 13:24:56 -08:00
Christopher Chedeau
f8aee772ce Mention that talks will be recorded 2014-11-24 11:28:42 +00:00
Christopher Chedeau
c32cf03d0b better wording thanks to @jwalke 2014-11-24 10:33:23 +00:00
Christopher Chedeau
fb2be69e9c react.js conf updates 2014-11-24 09:26:00 +00:00
Ben Alpert
582bc932e5 Merge pull request #2583 from spicyj/style-example
Add example for how to use `style` properly
2014-11-21 14:27:32 -08:00
Ben Alpert
1c5443175c Add example for how to use style properly
Test Plan: jest
2014-11-21 12:10:59 -08:00
Ben Alpert
c6ed9df7f3 Merge pull request #2582 from spicyj/rendercomponent
Finish renaming renderComponent -> render
2014-11-21 11:54:36 -08:00
Ben Alpert
23effb7034 Merge pull request #2581 from spicyj/rm-elt-docs
Update variable name and doc type to be accurate
2014-11-21 11:54:26 -08:00
Riley Tomasek
08b6b28902 Fix typo in comment of jquery-bootstrap example 2014-11-21 12:05:39 -05:00
Ben Alpert
d4e32a7b2c Finish renaming renderComponent -> render
Test Plan: jest
2014-11-20 23:07:58 -08:00
Ben Alpert
c4b9b938cf Update variable name and doc type to be accurate
Test Plan: Crossed fingers.
2014-11-20 23:03:03 -08:00
Sebastian Markbåge
68ba3b6d18 Merge pull request #2567 from sebmarkbage/childrenreconciler
Separate Child Reconciliation Step from Diffing
2014-11-20 11:48:54 -08:00
Sebastian Markbage
26ea341870 Separate Child Reconciliation Step from Diffing
This separates the reconciliation step of children into a separate module.
This is the first step towards prerendering.

The stateful instances are reconciled and put into a "rendered children"
set. Updates creates a new of these sets. These two sets are then diffed
to create insert/move/remove operations on the set.

The next step is to move the ReactChildReconciler step to before the
native DOM component. That way it's possible to rely on child
reconciliation without relying on diffing.
2014-11-20 11:45:02 -08:00
Jim
6ec952977e Merge pull request #2565 from jsfb/fixwhitespace
Removed context paremeter to renderToString/renderToStaticMarkup.
2014-11-19 15:49:33 -08:00
Jim
7768d91363 Removed context paremeter to renderToString/renderToStaticMarkup. 2014-11-19 15:16:23 -08:00
Timothy Yung
006bc28633 Merge pull request #2571 from yungsters/cleanup
Replace `mountDepth` with `isTopLevel`
2014-11-19 13:43:50 -08:00
yungsters
fc7cf2ff63 Replace mountDepth with isTopLevel
Summary:
After #2570, `mountDepth` is only used to enforce that `setProps` and `replaceProps` is only invoked on the top-level component. This replaces `mountDepth` with a simpler `isTopLevel` boolean set by `ReactMount` which reduces the surface area of the internal API and removes the need to thread `mountDepth` throughout React core.

Reviewers: @sebmarkbage @zpao

Test Plan:
Ran unit tests successfully:

```
npm run jest
```
2014-11-19 13:13:08 -08:00
Timothy Yung
70b1426ef0 Merge pull request #2570 from yungsters/updates
Update Dirty Components in Mount Ordering
2014-11-19 13:12:43 -08:00
yungsters
c7fd626b1f Summary:
Currently, `ReactUpdates` updates dirty components in increasing order of mount depth. However, mount depth is only relative to the component passed into `React.render`. This breaks down for components that invoke `React.render` as an implementation detail because the child components will be updated before the parent component.

This fixes the problem by using the order in which components are mounted (instead of their depth). The mount order transcends component trees (rooted at `React.render` calls).

Reviewers: @sebmarkbage @zpao

Test Plan:
Ran unit tests successfully:

```
npm run jest
```
2014-11-19 12:51:55 -08:00
Paul O’Shannessy
3a0f30480d Merge pull request #2544 from mjul/patch-1
Update 10.4-test-utils.md
2014-11-19 07:16:07 -08:00
Paul O’Shannessy
a07ab60ec0 Merge pull request #2554 from samccone/patch-1
Update tutorial language to be more explicit.
2014-11-19 06:15:35 -08:00
Cheng Lou
93bbb3ea5b Merge pull request #2555 from mfunkie/patch-1
Animation documentation for ReactTransitionGroup
2014-11-18 22:33:48 -05:00
Sebastian Markbåge
b0f6f5449c Merge pull request #2552 from sebmarkbage/cleanupinternals
Remove some unnecessary code in ReactComponents
2014-11-18 13:51:39 -08:00
Sebastian Markbage
13ed0317fa Remove some invariants and deadcode
These are not necessary if we enable type checks. Static or dynamic.

They're distracting my greppability.

Also, some dead code in shallow rendering.
2014-11-18 13:04:56 -08:00
Timothy Yung
df87ea1fa6 Merge pull request #2465 from yungsters/perf
Preserve Implicit Method Names
2014-11-18 12:51:08 -08:00
yungsters
bda199de04 Preserve Implicit Method Names
Summary:
Changes the way we instrument methods for `ReactPerf` so that developer tools can assign implicit method names to measured functions.

Reviewers: @zpao @sebmarkbage
2014-11-18 12:48:58 -08:00
Mark Funk
5b2ffde48d Animation documentation for ReactTransitionGroup
Update to the animation documentation for ReactTransitionGroup to clear the air on where one can use it.

If someone tries to use it off of React.addons.ReactTransitionGroup, which is undefined, instead of its real location, React.addons.TransitionGroup, they get a vague error about being unable to set defaultProps of undefined in the React createElement body.
2014-11-18 13:49:23 -05:00
Timothy Yung
ef35585468 Merge pull request #2464 from yungsters/immutable
Stop Mutating Merged Lifecycle Results
2014-11-18 10:02:07 -08:00
yungsters
8e15046283 Stop Mutating Merged Lifecycle Results
Summary:
Currently, `ReactClass` mutates values returned by `getDefaultProps`, `getInitialState`, and `getChildContext`. This is bad because the objects may, for example, be cached and re-used across instances of a React component.

This changes `ReactClass` to instead create a new object. In return for allocating a new object, I've replaced `mapObject` with a `for ... in` so that we are no longer allocating an unused object.

Fair trade, IMO.

Test Plan:
Ran unit tests successfully:

```
npm run jest
```

Conflicts:
	src/core/ReactCompositeComponent.js

Conflicts:
	src/class/ReactClass.js
2014-11-18 10:00:22 -08:00
Sam Saccone
8e47082fb6 Update tutorial language to be more explicit.
The word "Friends" does establish a relationship however it does not fit in the vernacular of react. 
This change makes the phrase more explicit and more familiar.
2014-11-18 12:36:20 -05:00
Matt Huggins
9a472ca8f1 Permit th attribute 2014-11-18 07:52:25 -07:00
Sebastian Markbåge
e3e0bf5de2 Merge pull request #2550 from sebmarkbage/cleanupinternals
Move ComponentEnvironment out of ReactComponent
2014-11-17 17:41:32 -08:00
Jim
ef3b348bef Merge pull request #2508 from jsfb/monitor-with-context
Start monitoring uses of withContext, related to issue #2112
2014-11-17 17:23:39 -08:00
Sebastian Markbage
5951a131db Move ComponentEnvironment out of ReactComponent
We currently have three DOM specific hooks that get injected. I move those
out to ReactComponentEnvironment. The idea is to eventually remove this
injection as the reconciler gets refactored.

There is also a BackendIDOperation which is specific to the DOM component
itself so I move this injection to be more specific to the DOMComponent.

E.g. it makes sense for it to be injectable for cross-worker DOM operations
but it doesn't make sense for ART components.
2014-11-17 17:21:41 -08:00
Jim
46bff98a3f Fixed 'imports' to resolve merge conflict 2014-11-17 17:14:00 -08:00
Jim
89aaf73ae8 Merge pull request #2509 from jsfb/use-parent-context
Initial implementation of issue #2112
2014-11-17 17:08:18 -08:00
Jim
081feeb2dd Added warning if owner-based and parent-based contexts differ. 2014-11-17 17:02:20 -08:00
Alexander Shtuchkin
c779ad4da3 Fix ReactTransitionGroup behavior when removing several children at once
If several children complete leaving before rendering TransitionGroup,
only the last one was removed. This could easily happen if
callback in componentWillLeave is called synchronously and several items
are removed from array. The other case is when ReactCSSTransitionGroup
has transitionLeave={false} and array is also cleaned up.

The bug was happening because this.state.children was used as a base for
children removal and it wasn't updated until the render, so only the last
removal was actually happening.

Fix involves keeping the updated children state between invocations of
_handleDoneLeaving. After updating this.state and rendering,
updatedState is cleaned up and ready for subsequent array modifications.

Test case included.
2014-11-17 15:15:54 -08:00
Sebastian Markbåge
fba8be3b98 Merge pull request #2546 from sebmarkbage/cleanupinternals
Move more stuff out of ReactComponent
2014-11-17 14:47:34 -08:00
Sebastian Markbage
6dddd60e33 Unused variables 2014-11-17 13:31:19 -08:00
Sebastian Markbage
fb17e8ca56 Ensure that all internal instances have consistent properties
Use preventExtensions so that we can't add expando properties to internal
instances. This ensures that the hidden class is kept more consistent.
2014-11-17 12:54:21 -08:00
Sebastian Markbage
bc4dd411b0 Move _pendingX into ReactCompositeComponent
Since setProps can no longer be called on anything but composites, we can
move this complexity into ReactCompositeComponent.
2014-11-17 12:54:21 -08:00
Sebastian Markbage
974a4c84ce Move mountComponentIntoNode and setProps out of ReactComponent
This is part of moving more logic out of the base classes.

setProps, replaceProps etc. are not accessible from anything other than
ReactClass so we can safely move it to ReactCompositeComponent.

mountComponentIntoNode is tightly coupled to ReactMount. It's part of the
outer abstraction, the mount point, not the individual component.
2014-11-17 12:54:21 -08:00
Scott Feeney
d75512f211 Merge pull request #2497 from graue/2393-v1
Basic shallow rendering support (#2393)
2014-11-17 11:07:05 -08:00
Scott Feeney
bfadafe5d0 Shallow rendering support (#2393)
Now handles updating. Haven't looked at refs yet.
2014-11-17 10:47:18 -08:00
Martin Jul
50db9feb28 Update 10.4-test-utils.md
This adds minimal valid event data to the Simulate.change example for a text input field.
2014-11-17 13:14:11 +01:00
Sebastian Markbåge
e4218cb7dc Merge pull request #2539 from sebmarkbage/cleanupinternals
Clean up a bunch of internal methods and fields that are now unnecessary
2014-11-16 21:13:07 -08:00
Sebastian Markbage
63644d5e71 Add test for warning in ReactElementValidator
I previously had a mistake here, so I'm adding a unit test to ensure that I
don't make the same mistake again.
2014-11-16 21:07:31 -08:00
Sebastian Markbage
dac59d1032 Drop the _owner and _lifeCycle field on internal instances
The _owner field is unnecessary since it's reachable from _currentElement.

The _lifeCycle field is unnecessary because an internal component should
not even need to exist at all if it's unmounted. It should be dereferenced
internally, and never exposed externally.

The only case where it's important is for batching updates where we
currently avoid calling performUpdateIfNecessary if it's mounted. However,
this function is already only executed "if necessary" so we just make sure
that it's not necessary after unmount by resetting all the pending fields.
2014-11-16 21:05:12 -08:00
Sebastian Markbage
03ae0a906b Drop ReactOwner.Mixin
This is not used anywhere else. To avoid overabstraction we should just
inline this.
2014-11-16 21:04:07 -08:00
Sebastian Markbage
519ee322ca Drop this.props 2014-11-16 21:04:04 -08:00
Sebastian Markbage
8181272fe8 Drop inaccessible methods
These are no longer accessible and the isOwnedBy check is only used in
a method that is not accessible.
2014-11-16 21:02:40 -08:00
Ben Alpert
a194e51af0 Move logic for null to instantiateReactComponent
This cleans up the code a bit and also brings us closer to allowing any ReactNode to be rendered at the top level.

Test Plan: jest
2014-11-16 17:41:54 -08:00
Ben Alpert
c96ea9abf2 Remove transferPropsTo
I'd like to outlaw prop mutation altogether, and now seems like a fine time to remove transferPropsTo.

Test Plan: jest
2014-11-16 17:41:07 -08:00
Ben Alpert
f391b7b3ca Don't mutate .props.style in ReactDOMComponent
We currently make a copy of .style because we support mutating the style object in place. Instead of storing it back on props, store it separately on the component instance so that we don't mutate props anywhere. This is gross but should all be cleaned up after #2008 is resolved.

Test Plan: jest
2014-11-16 17:39:00 -08:00
Ben Alpert
505bc7595b Fix up variable names and types to be correct
Test Plan: jest
2014-11-16 17:37:40 -08:00
Sebastian Markbåge
3aa56039c6 Merge pull request #2537 from sebmarkbage/hidedomcomponentinternals
Wrap every DOM node in a Composite Component
2014-11-16 15:35:04 -08:00
Ben Alpert
e619d25d03 Inject browser mixin before full-page components
createFullPageComponent doesn't reference ReactBrowserComponentMixin directly so the mixin should get injected before the components are created. Previously, this test failed because getDOMNode wasn't present on the component instance.

Test Plan: jest
2014-11-16 12:59:44 -08:00
Sebastian Markbage
9c3e2d833d Wrap every DOM node in a Composite Component
...unless they already have a wrapper. Also, add tagName to every wrapper.

This ensures that refs are consistent. They always look like composite
components. This effectively hides the internal implementation details of
real DOM components since you can no longer get a ref to one.

In the future we might want to drop this wrapper and have refs refer
directly to the DOM node.

I currently use a hacky way of auto-wrapping inside of ReactNativeComponent
so that any given string can be wrapped. Better suggestions are welcome.
2014-11-16 10:32:46 -08:00
Christopher Chedeau
e8e79472aa Merge pull request #2527 from gabelevi/master
Update stripTypes transform to use fixed up jstransform transform
2014-11-15 16:57:25 -08:00
Ben Alpert
795290d1b0 Fix problems with empty component ID registration
Fixes #2493, also closes #2353 as it incorporates a variant of that fix.

- Instead of having getEmptyComponent return `<noscript />` directly, wrap it in a class that we can easily identify later as being an empty component
- Cache the empty component element instead of recreating one each time
- Avoid touching the nullComponentIdsRegistry dictionary at all when not dealing with empty components
- Move empty-component tests to a separate file

Test Plan: jest
2014-11-15 12:35:11 -08:00
Ben Alpert
230115da92 Make ReactTextComponent properly injectable
ReactTextComponent's implementation is DOM-specific; instead of flattenChildren creating the ReactTextComponent instances, ReactNativeComponent now takes care of having ReactTextComponent injected and creating the component instance. I also renamed ReactTextComponent to ReactDOMTextComponent and moved it to browser/ui/ where it belongs. ReactDOMTextComponent no longer inherits directly from ReactComponent and instead implements construct and {mount,receive,unmount}Component directly.

This diff removes `ReactTestUtils.isTextComponent` which should have previously never returned true when using public APIs.

Test Plan: jest, use ballmer-peak example.
2014-11-15 12:30:42 -08:00
Sebastian Markbåge
9b1c3226d0 Merge pull request #2385 from shripadk/bool-fix
Fix: Always return boolean from isNullComponentID
2014-11-15 11:43:27 -08:00
Gabe Levi
0d308add09 Update stripTypes transform to use fixed up jstransform transform 2014-11-14 18:25:11 -08:00
Ben Alpert
903db8bd14 Stop treating key={null} as an unspecified key
This reverts commit dd92786fb0, which was intended to be temporary for the 0.12 release.

Fixes #2394.
2014-11-14 16:52:43 -08:00
Ben Alpert
22da7b6fa5 Warn when casing CSS vendor prefixes incorrectly
Fixes #2487.

Test Plan: jest
2014-11-14 16:51:55 -08:00
Cheng Lou
0db323e42a Merge pull request #2514 from jvalente/patch-1
Update ref-09-glossary.md
2014-11-13 13:45:35 -05:00
Lee Byron
81d4d7bf24 Merge pull request #2512 from leebyron/transition-appear
Adding "appear" phase to ReactTransitionGroup and ReactCSSTransitionGroup
2014-11-13 13:44:56 -05:00
João Valente
485d84fb9b Update ref-09-glossary.md 2014-11-13 12:06:51 +00:00
Lee Byron
8760a70e73 Adding "appear" phase to ReactTransitionGroup and ReactCSSTransitionGroup.
"appear" differs from "enter" in that all children of a transition group at mount time will "appear" but will not "enter". All children later added to an existing transition group will "enter" but not "appear".

This extra transition phase allows for animation-on-mount effects.

A mirroring "appear" prop has been added to ReactCSSTransitionGroup, however for reverse-compatibility (and because "appear" is less common) it defaults to false.

Thanks to @afa for his work investigating the possible ways to implement this.
2014-11-12 21:30:56 -05:00
Fabio M. Costa
f6dd6ef772 Removing unecessary resize listener
monitorScrollValue is only called with `ViewportMetrics.refreshScrollValues` (https://github.com/facebook/react/blob/master/src/browser/ReactBrowserEventEmitter.js#L333-L334) and the window scroll properties (scrollTop and scrollLeft) don't change on resize (from my testings), so there is no need to listen for window resizes.
I also tried to see why the resize listener was added from the history but it was introduced on the initial commits.
I created a simple page that shows that http://jsbin.com/nuhice, open the console.
2014-11-12 00:08:30 -08:00
Paul O’Shannessy
06bf89db8e Merge pull request #2498 from ikr/patch-1
There's no isComponentOfType() anymore
2014-11-11 13:25:33 -08:00
Ivan Krechetov
13311639cc There's no isComponentOfType() anymore 2014-11-11 09:25:33 +01:00
Stefan Dombrowski
1bb29cab7c Add Attributes formAction, formEncType, formMethod and formTarget
This resolves #2425.
2014-11-11 06:37:26 +01:00
Ben Alpert
7a162ce731 Merge pull request #2482 from BinaryMuse/bkt/fix-stroke-opacity
Add strokeOpacity to unitless CSS properties
2014-11-07 22:26:03 -08:00
Brandon Tilley
96126e9ff4 Add strokeOpacity to unitless CSS properties 2014-11-07 21:20:01 -08:00
Paul O’Shannessy
78ec2501cf Merge pull request #2481 from mjul/fix-typos
Fix some minor typos in doc comments / code comments.
2014-11-07 16:58:49 -08:00
Paul O’Shannessy
b243f1eec6 Merge pull request #2480 from spicyj/text-stability
Test that text spans aren't remounted needlessly
2014-11-07 16:56:58 -08:00
Paul O’Shannessy
14d0a22ae8 Merge pull request #2479 from spicyj/nitfix
Fix odd formatting in ReactDOMComponent-test
2014-11-07 16:55:06 -08:00
Martin Jul
042c6c794c Fix some minor typos in doc comments / code comments. 2014-11-07 18:07:07 +01:00
Ben Alpert
ba418c6014 Test that text spans aren't remounted needlessly
While working on #2382, I accidentally broke this behavior (causing text components to get unmounted and remounted for any update) but we didn't have any unit test for it. Now we do.

Test Plan: jest TextComponent
2014-11-06 23:19:48 -08:00
Ben Alpert
a1dcdf1a64 Fix odd formatting in ReactDOMComponent-test
Test Plan: Crossed fingers.
2014-11-06 23:10:17 -08:00
Sebastian Markbåge
c10a39e82b Merge pull request #2445 from sebmarkbage/classes
Separate React Composite and Class
2014-11-06 19:53:10 -08:00
Sebastian Markbage
27c482a2b8 Separate React Composite and Class
ReactClass is now composed by ReactCompositeComponent rather than
inherit from it.

The state transition functions currently use ReactInstanceMap to map an
instance back to an internal representation.

I updated some tests to use public APIs. Other unit tests still reach into
internals but now we can find them using ReactInstanceMap.

I will do more cleanup in follow ups. The purpose of this diff is to
preserve semantics and most of the existing code.

This effectively enables support for ES6 classes. All you would need to
expose is ReactClassMixin.
2014-11-06 19:49:33 -08:00
Ben Alpert
bd02e17fec Merge pull request #2476 from jsfb/patch-1
Using semicolon instead of "and" conjunction
2014-11-06 15:15:39 -08:00
Jim
dbe16a357b Using semicolon instead of "and" conjunction
The use of the conjunction "and" leads to an improper assertion about what should/shouldn't be done.  Using a semicolon resolves this by indicating the contrasting alternative.
2014-11-06 14:50:35 -08:00
Paul O’Shannessy
cbada1e55a Merge pull request #2473 from zertosh/docs-ssr-at-sc
Add React at SoundCloud talk
2014-11-06 14:05:10 -08:00
Paul O’Shannessy
df24852ca1 Merge pull request #2475 from jsfb/master
Use adjective "too" instead of "to"
2014-11-06 14:04:33 -08:00
jsfb
7f37074c33 Use adjective "too" instead of "to"
The author clearly intended to use the adjective "too" to mean "excessively" instead of the preposition "to".
2014-11-06 13:42:19 -08:00
Paul O’Shannessy
d12ae9d5bb Merge pull request #2241 from syranide/selectvalue
ReactDOMSelect makeover, fix edge-case inconsistencies and remove state
2014-11-06 12:40:15 -08:00
Andres Suarez
d5810e46f9 Add SSR at SoundCloud talk 2014-11-06 10:54:05 -05:00
Ben Alpert
9edc6260a7 Initial implementation of new-style refs
cf. #1373

This implementation can be used in any situation that refs can currently be used (and can also be used without an owner, which is a plus).
2014-11-05 19:28:12 -08:00
Pedro Nauck
1adbc22fde bugfix: remove conflict comment 2014-11-06 01:23:51 -02:00
Paul O’Shannessy
dca7ffbe21 Merge pull request #2446 from enaqx/master
Add 'use strict' to statisfy linter rules
2014-11-05 16:25:38 -08:00
Paul O’Shannessy
3e60195bd4 Merge pull request #2408 from Peeja/patch-1
TodoMVC live demos have moved.
2014-11-05 13:49:23 -08:00
Paul O’Shannessy
462f8ea9f6 Merge pull request #2452 from Shahor/master
Trailing commas break old IE versions
2014-11-05 11:00:12 -08:00
Paul O’Shannessy
a3509e5b42 Fixing some newline-preserving issues
Done internally as part of
f9836a3912
2014-11-05 10:36:22 -08:00
Pedro Nauck
a7f157ebb1 update namespaced component to adapt with the v0.12 2014-11-05 12:32:16 -02:00
Pedro Nauck
b5bcaba77f Merge branch 'master' into docs-namespace-in-jsx
* master: (113 commits)
  Remove esprima-fb and use Syntax from jstransform
  Update React.renderToString argument type in docs
  [traverseAllChildren] fix out-of-scope var use.
  Use double quote for transformed `displayName` and `data-*`
  Remove unrelated comment
  Fix typo in If/Else JSX doc.
  Cleanup a couple unused variables
  Use dump cache and remove factory from ReactElement-test
  Update deprecated propTypes
  Bring in jsfiddle integration script, add harmony
  Extending period in which click events are ignored
  React.renderComponent --> React.render
  Followup fix for React.PropTypes.node
  Add comma for readability in tutorial
  Drop internal uses of .type on the class
  Drop Legacy Factories Around Classes
  Drop ReactDOM from internal DOM extensions
  Added comma to increase readability.
  Add 0.12 starter kit
  Change the date and the link url to match the proper roundup
  ...

Conflicts:
	docs/docs/02.1-jsx-in-depth.md
2014-11-05 12:30:37 -02:00
Paul O’Shannessy
1fd187b994 Merge pull request #2224 from zertosh/remove-esprima-fb-dep
Remove esprima-fb and use Syntax from jstransform
2014-11-04 14:38:09 -08:00
Paul O’Shannessy
4ba53e1839 Merge pull request #1708 from chenglou/displayName
Use double quote for transformed `displayName`
2014-11-04 14:36:19 -08:00
Andres Suarez
bf0a857a92 Remove esprima-fb and use Syntax from jstransform 2014-11-04 17:10:12 -05:00
Paul O’Shannessy
984055c2f5 Merge pull request #2463 from fson/render-to-string-docs
Update React.renderToString argument type in docs
2014-11-04 09:37:12 -08:00
Ville Immonen
9c3357eef5 Update React.renderToString argument type in docs
renderToString and renderToStaticMarkup now take a ReactElement.
Update the documentation to reflect this recent change.
2014-11-04 17:02:00 +02:00
Lee Byron
d4ac1229a6 Merge pull request #2458 from leebyron/fix-iterable
[traverseAllChildren] fix out-of-scope var use.
2014-11-03 21:25:01 -05:00
Lee Byron
a3608d27ab [traverseAllChildren] fix out-of-scope var use.
Dear ES6 gods, bring us `let` soon.

This fixes an issue where non-keyed iterables are used as children and the value of `i` would be undefined because its used out of scope. This adds a separately scoped iteration index value and appropriately increments it as iteration continues. Doi.

While I'm in there, make the usage of falsey `nameSoFar` more obvious and more consistent with the existing usage on L115

Test plan: first wrote a test covering this previously untested path. Saw an identical issue as was experienced in development environment. Then ensured test passed after this diff.
2014-11-03 21:19:28 -05:00
Andreas Svensson
2601b6a0b0 ReactDOMSelect makeover, fix edge-case inconsistencies and remove state 2014-11-03 23:19:01 +01:00
Alexandre Gaudencio
6379342b71 Trailing commas break old IE versions 2014-11-03 02:54:23 +01:00
Nick Raienko
bea9fbbf62 Add 'use strict' to statisfy linter rules 2014-11-01 07:05:46 +02:00
Cheng Lou
eddbb0cfef Use double quote for transformed displayName and data-*
JSX currently transforms everything to double quote except these two. This way, it's at least consistent and will satisfy half of the people who do put a strict quotation linting on their project.

Test: `jest`, check the double quoted transformed `data-bla="something"`.
2014-10-31 15:49:24 -04:00
Sebastian Markbåge
cb50a8698b Remove unrelated comment
This is no longer unwrapping a legacy factory (which are gone).
2014-10-31 12:39:38 -07:00
Paul O’Shannessy
1666661a06 Merge pull request #2433 from zpao/fiddle-integration
Bring in jsfiddle integration script, add harmony
2014-10-31 11:22:57 -07:00
Paul O’Shannessy
1abe716358 Merge pull request #2443 from kruppel/kurt/minor-tip-typo
Fix typo in If/Else JSX doc.
2014-10-31 10:11:32 -07:00
Kurt Ruppel
4b3b32e418 Fix typo in If/Else JSX doc. 2014-10-31 09:52:44 -07:00
Sebastian Markbåge
881c9b5be8 Merge pull request #2435 from sebmarkbage/fixretest
Use dump cache and remove factory from ReactElement-test
2014-10-30 12:06:21 -07:00
Paul O’Shannessy
d8ed3e5cf9 Merge pull request #2437 from zpao/lint-cleanup
Cleanup a couple unused variables
2014-10-30 12:05:38 -07:00
Paul O’Shannessy
295c1e3652 Cleanup a couple unused variables 2014-10-30 11:38:53 -07:00
Paul O’Shannessy
bf99ab1c89 Merge pull request #2434 from Shraymonks/propTypes-docs
Update deprecated propTypes
2014-10-30 09:43:02 -07:00
Sebastian Markbage
7f7b7f386a Use dump cache and remove factory from ReactElement-test
We need to use dump cache because we don't enable it by default internally.

While I'm at it, I might as well kill the ComponentFactory variable which
is now just an alias.
2014-10-30 02:50:28 -07:00
Raymond Ha
92d171a4fc Update deprecated propTypes 2014-10-29 21:00:32 -07:00
Paul O’Shannessy
0f5368341f Bring in jsfiddle integration script, add harmony 2014-10-29 19:35:27 -07:00
Paul O’Shannessy
7071d1c316 Merge pull request #2419 from johnheroy/patch-1
Add comma for readability in tutorial.md
2014-10-29 18:03:48 -07:00
Paul O’Shannessy
eb7f806566 Merge pull request #2431 from wassil/master
Extending period in which click events are ignored
2014-10-29 18:02:44 -07:00
Juraj Dudak
c563e19739 Extending period in which click events are ignored 2014-10-29 14:06:37 -07:00
Paul O’Shannessy
b2b8e5c08a Merge pull request #2428 from cody/fixes
React.renderComponent --> React.render
2014-10-29 11:44:35 -07:00
Stefan Dombrowski
93ac4d09a1 React.renderComponent --> React.render
Also fixed a spelling mistake.
2014-10-29 19:05:16 +01:00
Paul O’Shannessy
ce1b394529 Followup fix for React.PropTypes.node
This should have gone in as a part of #2343
2014-10-28 22:49:25 -07:00
Sebastian Markbåge
a54ed49eb0 Merge pull request #2375 from sebmarkbage/droplegacyfactories
Drop Legacy Factories
2014-10-28 18:00:32 -07:00
John Heroy
129d66a62e Add comma for readability in tutorial 2014-10-28 15:22:40 -07:00
Sebastian Markbage
9b36b04d75 Drop internal uses of .type on the class 2014-10-28 15:08:52 -07:00
Sebastian Markbage
199a7d6903 Drop Legacy Factories Around Classes
Classes are now pure classes without a legacy factory around them.

Since classes will become just any function that returns a valid instance,
let's drop isValidClass.

There's some hacks in here for auto-mocking frameworks (jest) that mock the
prototype of these classes. These hacks allow these classes to be mounted.
2014-10-28 15:08:52 -07:00
Sebastian Markbage
531c2bc4c9 Drop ReactDOM from internal DOM extensions
These used to be exposed as strings on the legacy factories but are now
gone.
2014-10-28 15:08:52 -07:00
Paul O’Shannessy
581085ea1b Merge pull request #2416 from zachasme/update-jstransform
Update jstransform version to 7.0
2014-10-28 15:01:57 -07:00
Paul O’Shannessy
22ffb57a93 Merge pull request #2415 from zpao/sync-internal
Sync internal
2014-10-28 14:30:06 -07:00
Cheng Lou
86336997cd Merge pull request #2418 from spencer48/patch-1
(docs) Added commas to increase readability.
2014-10-28 17:26:18 -04:00
Spencer Handley
a55a3f77a1 Added comma to increase readability.
When thumbing through the docs, I noticed a few missing commas. I inserted two commas and did not alter any source code.
2014-10-28 13:56:14 -07:00
Paul O’Shannessy
17b190bee2 Add 0.12 starter kit 2014-10-28 11:48:53 -07:00
Christopher Chedeau
26c8a70c1d Change the date and the link url to match the proper roundup 2014-10-28 11:36:12 -07:00
Paul O’Shannessy
9e895bc360 Correct changes from 0.12-stable merge 2014-10-28 11:20:33 -07:00
Paul O’Shannessy
8b041eaa5a Merge branch '0.12-stable' 2014-10-28 11:18:02 -07:00
Paul O’Shannessy
f2947a0ca1 Merge pull request #2399 from zpao/0.12-docs
Docs updates for 0.12
2014-10-28 11:17:25 -07:00
Paul O’Shannessy
fa2597a3b3 0.12 blog post 2014-10-28 11:16:29 -07:00
Paul O’Shannessy
8ef1f96850 0.12 CHANGELOG 2014-10-28 11:16:28 -07:00
Paul O’Shannessy
3eb8222c22 Update cdnjs link, include jsdelivr in readme 2014-10-28 11:06:32 -07:00
Paul O’Shannessy
fcd4be3933 Update version references in the readme 2014-10-28 11:06:32 -07:00
Paul O’Shannessy
0b8454724e Update Authors & Acknowledgements for 0.12 2014-10-28 11:06:32 -07:00
Christopher Chedeau
081115609c React.js Conf blog post
Closes #2412
2014-10-28 11:06:31 -07:00
Cheng Lou
539db8e9c8 Merge pull request #2414 from benleiken/patch-1
Moved key requirement note into 'getting started'
2014-10-28 11:06:31 -07:00
Paul O’Shannessy
4d47ff36b2 Merge pull request #2413 from LeonFedotov/patch-1
Changing api documentation for jsx transformer
2014-10-28 11:06:31 -07:00
Sebastian Markbage
98bf80254f Update Docs Navigation 2014-10-28 11:06:31 -07:00
Sebastian Markbage
1cb3f25e78 More Descriptor -> Element renames 2014-10-28 11:06:31 -07:00
Sebastian Markbage
b7a548c4bf Replace transferPropsTo with transferring props patterns 2014-10-28 11:06:30 -07:00
Sebastian Markbage
9b1ee4de46 Updated Docs for new JSX Changes
Moved non-JSX explanation to Displaying Data.
Overhauled JSX in Depth.
Added JSX Spread Section.
2014-10-28 11:06:30 -07:00
Paul O’Shannessy
0dd942b121 Update Animation docs for createElement 2014-10-28 11:06:30 -07:00
Paul O’Shannessy
eb2827ec6a Update React.DOM -> React.createElement through docs 2014-10-28 11:06:30 -07:00
Paul O’Shannessy
0344aaf18d Use --harmomy in docs examples for cleaner code 2014-10-28 11:06:30 -07:00
Zacharias
c260c45db3 Update jstransform version to ^7.0.0 2014-10-28 13:48:48 +01:00
Tienchai Wirojsaksaree
ff12423d63 Fixing touch/mouse issues with TapEventPlugin
On ios device, browser simulates mouse events, but does that with
a delay, because of double tap gesture. The problem is that
TapEventPlugins listens to both types of events, so it fires twice

Everytime there is a touch event, we should ignore mouse events that
follow it.  This way, we still respond to both mouse and touch events,
just ignore the device generated ones.
2014-10-27 17:02:03 -07:00
Paul O’Shannessy
1c241b3ebc Ensure PropTypes test works when warning module is replaced
For example, warning might be replaced with a module that throws errors,
as is the case internally when running tests. Previously we were
whitelisting this test to provide time to update callsites. Now we
aren't and it fails.
2014-10-27 16:58:54 -07:00
Paul O’Shannessy
85930e63db Merge pull request #2413 from LeonFedotov/patch-1
Changing api documentation for jsx transformer
2014-10-27 16:32:07 -07:00
Cheng Lou
18066a301e Merge pull request #2414 from benleiken/patch-1
Moved key requirement note into 'getting started'
2014-10-27 18:47:24 -04:00
Benjamin Leiken
bb0c7b4ca9 Moved key requirement note into 'getting started'
It's an important note and it was buried too far down the page. Now it's more prominent and harder for people to miss (like I did).
2014-10-27 10:22:57 -07:00
Leon Fedotov
a29d496443 Changing api documentation for jsx transformer
Hi in chrome debugger, the files that use sourcemaps from the transformer get "null" as the filename during debug, https://github.com/facebook/react/blob/master/main.js#L15 "sourceFilename" is used instead of "filename" to specify the filename in the sourcemap.
2014-10-27 19:18:22 +02:00
Christopher Chedeau
64a5355444 React.js Conf blog post
Closes #2412
2014-10-27 10:12:09 -07:00
Paul O’Shannessy
d63aa0f113 Move Object.assign file to align with internal 2014-10-26 17:14:00 -07:00
Paul O’Shannessy
076a8285f7 Merge pull request #2409 from enaqx/master
Remove obsolete jshint options
2014-10-26 11:12:20 -07:00
Nick Raienko
eb3337b018 Remove obsolete jshint options 2014-10-26 12:18:24 +02:00
Peter Jaros
411a6a1f0c TodoMVC live demos have moved. 2014-10-24 09:57:27 -04:00
Paul O’Shannessy
d36d26a574 [docs] Glossary
Pulled in https://gist.github.com/sebmarkbage/fcb1b6ab493b0c77d589
mostly verbatim
2014-10-23 20:51:11 -07:00
Paul O’Shannessy
4e5f5df4f6 Remove @jsx from examples 2014-10-23 20:51:11 -07:00
Paul O’Shannessy
4cfd8c6204 Update server servering example
It's referencing packages that aren't published yet but it *probably*
works...
2014-10-23 20:51:11 -07:00
Paul O’Shannessy
f53854bd93 React.renderComponent -> React.render
This covers most everything. The perf suite still needs work for the
Element updates. And the server rendering example needs to be done
wholesale.
2014-10-23 20:51:11 -07:00
Paul O’Shannessy
a90b4c9b3e Update properties/elements 2014-10-23 20:51:11 -07:00
Sebastian Markbåge
ae8771fe2e Merge pull request #2084 from kimagure/unmount-comp-error
Error when unmountComponentAtNode receives non-node
2014-10-23 12:53:40 -07:00
Sebastian Markbåge
29bcda463e Merge pull request #2387 from fabiomcosta/avoid_double_scrollread
avoid reading the scroll position twice
2014-10-23 12:51:23 -07:00
Sebastian Markbåge
b7cd3e7d1d Merge pull request #2396 from sebmarkbage/classmodule
Move Class Creation Concerns into a ReactClass Module
2014-10-23 12:50:17 -07:00
Sebastian Markbage
7ce8c844bd Hide ReactElement constructor
This prevents feature tests like:

var ReactElement = React.createElement(...).constructor;

if (element.constructor === ReactElement)

This is intentional so that we have the option to make these plain objects.
E.g. for direct inlining or replacing them with value types.
2014-10-23 12:08:14 -07:00
Sebastian Markbåge
4aee2a9c28 Merge pull request #2405 from sebmarkbage/hideelementconstructor
Hide ReactElement constructor
2014-10-23 12:06:16 -07:00
Paul O’Shannessy
8de03c47dd Merge pull request #2397 from mjul/fix-gruntfile
Added missing semicolon after statement.
2014-10-23 12:01:55 -07:00
Sebastian Markbage
20af6b0a14 Hide ReactElement constructor
This prevents feature tests like:

var ReactElement = React.createElement(...).constructor;

if (element.constructor === ReactElement)

This is intentional so that we have the option to make these plain objects.
E.g. for direct inlining or replacing them with value types.
2014-10-23 10:53:57 -07:00
Martin Jul
994fc7d8a7 Merge remote-tracking branch 'upstream/master' into fix-gruntfile 2014-10-23 09:55:43 +02:00
Martin Jul
c9fb57feb3 Added missing semicolons identified by using grunt jshint:project. 2014-10-23 09:54:13 +02:00
Ben Alpert
32630cd8cf Fix typo in 0.12 RC blog post 2014-10-23 00:45:33 -07:00
Sebastian Markbage
d9fe40e147 Move Class Creation Concerns to ReactClass
This moves logic responsible for class creation and mixins into
the ReactClass module. This currently creates a class that extends
the ReactCompositeBase but in the future, this will be decoupled as
ReactCompositeComponent will compose these classes.

This is just a cut/paste.
2014-10-22 21:25:20 -07:00
Sebastian Markbage
c7bb936566 Introduce React Class as an alias for Composite Component
This is in preparation for the separation of Composite Component internals
from the Class abstraction.
2014-10-22 18:35:10 -07:00
Lee Byron
d545238fd9 Merge pull request #2376 from leebyron/iterable
Allow iterables in traverseAllChildren
2014-10-22 18:18:08 -07:00
Ben Alpert
de1dacdb28 Refactor composite component update flow
Fixes #1392.

Previously, ReactComponent.updateComponent set the new props and owner and updated the component's refs. Because it did the actual props assignment, it had to be called by ReactCompositeComponent between componentWillMount and componentDidMount, meaning that it was skipped if shouldComponentUpdate returned false. Now, updateComponent takes the old and new descriptors and only updates refs, allowing a subclass to call updateComponent at a convenient time (specifically, it can be before `this._descriptor` is updated if the subclass also overrides performUpdateIfNecessary).

The new update cycle for composites is:

- receiveComponent is called which stores `this._pendingDescriptor` and calls performUpdateIfNecessary directly or a state update is enqueued, in which case ReactUpdates will call performUpdateIfNecessary
- performUpdateIfNecessary ensures that an update is still pending (which might no longer be the case if an update is queued for a subcomponent that was updated through a parent's reconciliation) and calls updateComponent with the old and new descriptors
- updateComponent calls super to update refs, then calls componentWillReceiveProps (if applicable) and shouldComponentUpdate -- if shouldComponentUpdate returns false, `this._descriptor`, `this.props`, and `this.state` are updated and the update is skipped; else, _performComponentUpdate is called
- _performComponentUpdate calls componentWillUpdate and _updateRenderedComponent, and enqueues the componentDidUpdate call (in that order)
- _updateRenderedComponent calls render and updates the rendered component appropriately

For DOM components (essentially unchanged):

- receiveComponent is called which does a short-circuit check for descriptor equality and delegates to super (which stores `this._pendingDescriptor` and calls performUpdateIfNecessary)
- performUpdateIfNecessary (not overridden) sets new values for `this.props`, etc. and calls updateComponent
- updateComponent does the DOM property and children updates (some synchronously, some queued for the transaction close)

For text and ART components (unchanged):

- receiveComponent updates the DOM or ART directly based on the new props
- updateComponent is never called

Notable changes:

- When shouldComponentUpdate returns false, refs are still updated
- ReactDefaultPerf now includes lifecycle methods in component timings
- updateComponent's signature changed (technically this is part of the public API, though we've never documented it)

Test Plan: jest
2014-10-22 17:59:58 -07:00
Ben Alpert
9c2125599c Add \n after <textarea> to fix missing linebreaks
Same for <pre> and <listing>. Browsers are crazy.

Test Plan: jest, verify in Chrome that starting textareas with a value starting with two newlines renders both newlines instead of one newline, as it did before.
2014-10-22 17:24:24 -07:00
Martin Jul
70fdd5a287 Added missing semicolon after statement. 2014-10-22 23:46:54 +02:00
Paul O’Shannessy
b78fe39b60 Bump version to 0.13.0-alpha 2014-10-22 14:19:54 -07:00
Paul O’Shannessy
5ffcec7552 Update travis-ci badge for 0.12-stable branch 2014-10-22 14:17:11 -07:00
Ben Alpert
5e2d926d65 Merge pull request #2372 from spicyj/docs012-1
Update docs to align with 0.12 better
2014-10-22 14:02:35 -07:00
Ben Alpert
52494f9d72 Update docs to align with 0.12 better
- Rename React.renderComponent -> React.render
- Remove most references to transferPropsTo
2014-10-22 14:01:54 -07:00
Paul O’Shannessy
85a98d4c8e Merge pull request #2322 from zpao/update-licenses-docs-examples
Update docs/examples with licenses
2014-10-22 13:13:56 -07:00
Paul O’Shannessy
7dc0e3d746 Update licenses for docs and examples
Docs are now CC licensed
Examples are under a separate license
2014-10-22 12:35:08 -07:00
Lee Byron
c07ea0ba34 Allow iterables in traverseAllChildren
This lets you use any kind of iterable as a container of react child elements. It also preserves keys when possible if the iterable is keyed.

 * Use an ES6 Map or Set to hold children.
 * Use an Immutable-js collection to hold children.
 * Use a function* which yields children.

Concretely, this removes the necessary conversion to JS objects if you're mapping over Immutable-js collections to get children, i.e.:

```
<div>
  {myImmutable.map(val => <span>{val}</span>).toJS()
</div>
```

Now we can remove the `toJS()` and the intermediate allocation along with it.

This also cleans up the traverseAllChildrenImpl method.
2014-10-21 15:18:53 -07:00
Ben Alpert
631b6a097c Merge pull request #2388 from spicyj/null-key
Support but warn on key={null}
2014-10-21 14:20:16 -07:00
Paul O’Shannessy
ac3e9b55e0 Merge pull request #2370 from chenglou/rm-school
[Docs] Remove most of @jsx
2014-10-21 14:11:22 -07:00
Ben Alpert
dd92786fb0 Support but warn on key={null}
Fixes #2386.

Test Plan: jest
2014-10-20 17:19:48 -07:00
Sebastian Markbåge
2bdad81955 Merge pull request #2384 from sebmarkbage/deprecateisvalidclass
Deprecate isValidClass
2014-10-20 17:17:56 -07:00
Fabio M. Costa
dafaf1a42e avoid reading the scroll position twice 2014-10-20 13:30:02 -07:00
Shripad K
edab4814da Fix: Always return boolean from isNullComponentID 2014-10-21 00:43:04 +05:30
Cheng Lou
1b3b432d64 [Docs] Remove most of @jsx
I kept some places intact (search for @jsx) because they require other bigger changes:

- ref-01-top-level-api.md
- grunt/tasks/npm.js
- old blog posts (don't change those)
- examples/ folder, as they have their own package.json that rely on old dependencies (node-jsx, reactify) that haven't upgraded to 0.12
2014-10-20 14:44:07 -04:00
Paul O’Shannessy
be468c2c22 Merge pull request #2373 from genbit/docs-animation-props
Update 09.1-animation.md
2014-10-20 11:01:36 -07:00
Paul O’Shannessy
a94bfd7888 Merge pull request #2381 from shripadk/jsdoc-fix
Fix JSDoc tag in ReactElement.js
2014-10-20 10:56:46 -07:00
Sebastian Markbage
ef971014bc Deprecate isValidClass
Fixes #2374
2014-10-19 23:55:57 -07:00
Shripad K
621bb09cd7 Fix JSDoc tag in ReactElement.js 2014-10-19 21:01:45 +05:30
Sergey Generalov
3031c6591e Update 09.1-animation.md
Add note about ReactTransitionGroup, that any additional, user-defined, properties will be become properties of the rendered component.
And example how to render a `<ul>` with css class.
2014-10-17 20:18:45 -07:00
Ben Alpert
daf4182707 Merge pull request #2368 from spicyj/use-the-string
Fix warning message for using React.DOM.* as type
2014-10-17 12:01:17 -07:00
Christopher Chedeau
dec41bbbca Merge pull request #2356 from vjeux/roundup_23
Community round-up #23
2014-10-17 07:58:40 -07:00
Christopher Chedeau
6470920125 Community round-up #23 2014-10-17 07:56:28 -07:00
Ben Alpert
810582d114 Fix warning message for using React.DOM.* as type
Previously, this said 'Use the string "function() { [native code] }" instead.'.
2014-10-16 18:22:37 -07:00
Paul O’Shannessy
56e84d8cf3 Merge pull request #2364 from zpao/0.12rc-blog-post
0.12 rc1 release materials
2014-10-16 15:34:11 -07:00
Paul O’Shannessy
aca264e399 0.12 rc1 release materials
* blog post
* starter kit
2014-10-16 15:31:52 -07:00
Paul O’Shannessy
2b4e35870b v0.12.0-rc1 2014-10-16 14:56:50 -07:00
Sebastian Markbåge
22903a57e8 Merge pull request #2363 from sebmarkbage/assign
Use hasOwnProperty checks in Object.assign
2014-10-16 11:52:43 -07:00
Sebastian Markbage
25d63b43ef Use hasOwnProperty checks in Object.assign
Because IE8 polyfills add enumerable properties, this doesn't play nicely.
So for IE8 compatibility we add this check. Slower though. :(
2014-10-16 11:49:50 -07:00
Sebastian Markbåge
828efb798a Merge pull request #2350 from sebmarkbage/assign
Hide Object.assign polyfill behind a module
2014-10-16 09:29:01 -07:00
Sebastian Markbage
8210beeef4 Hide Object.assign polyfill behind a module
Because the JS community's polyfilling infrastructure sucks and we'll
have to fix it for them before we require this.

JSX spread uses React.__spread
(which might get special behavior for key/ref, not sure yet)

This never uses the native implementation and throws for prototype chains.
Once the native implementations are faster, we'll start using them.
2014-10-16 09:21:10 -07:00
Beau Smith
df36c258b3 Highlighted changed lines in examples 2014-10-15 23:01:05 -07:00
Paul O’Shannessy
5263f61c87 Merge pull request #2357 from jimjea/patch-1
Minor grammar change to Thinking in React
2014-10-15 17:01:57 -07:00
Jimmy Jea
43dbd29bb1 minor change to post
Hello,

I was just reading through your post and noticed a minor change. The sentence originally read, "It's scaled very well for us...". I thought it was a little unclear since it's can mean "it has" or "it is", which can make this sentence take on a whole different meaning.
2014-10-15 16:36:30 -07:00
Paul O’Shannessy
4d06df3153 Merge pull request #2359 from zpao/fix-blog-post
[docs] Move React Elements post to right place, fix typo
2014-10-15 16:22:36 -07:00
Paul O’Shannessy
dcbc64ac76 [docs] Move React Elements post to right place, fix typo
The URL already made its way around so we can't just break it. We might
want to just live with it instead of even doing this redirect.

2b225446c0 (commitcomment-8176218)
2014-10-15 16:10:03 -07:00
Paul O’Shannessy
e7f509d3a3 0.11.2 release materials
TODO: starter kit for cherry-pick to master
(cherry picked from commit 732ffad313)
2014-10-15 15:55:12 -07:00
Paul O’Shannessy
bc672c8bc5 Merge pull request #2344 from ThomasCrvsr/master
Use React.createFactory in examples/basic/
2014-10-15 10:48:33 -07:00
Ben Alpert
b8229cc761 Fix typo in blog post 2014-10-15 10:09:23 -07:00
ThomasCrvsr
e3734e2b43 #2315 : Use of React.createFactory in example basic/ 2014-10-15 09:20:25 +02:00
Paul O’Shannessy
efc7829e91 Merge pull request #2330 from alexeyraspopov/patch-1
use function composition instead of mutable state
2014-10-14 23:48:55 -07:00
Paul O’Shannessy
7853affd4f Merge pull request #2343 from zpao/proptypes-deprecation
Update PropTypes for ReactElement & ReactNode
2014-10-14 23:23:57 -07:00
Paul O’Shannessy
58165dfbcd Merge pull request #2349 from zpao/update-deps
Update npm dependencies, fix browserify task
2014-10-14 23:21:01 -07:00
Paul O’Shannessy
d03d49101b browserify update 2014-10-14 22:40:28 -07:00
Paul O’Shannessy
770b579aa2 Update PropTypes for ReactElement & ReactNode 2014-10-14 21:35:48 -07:00
Paul O’Shannessy
67307ce850 Update dependencies, removed unused ones
Also picked up a bit of JSON reformatting, presumably from npm >= 2

Test plan: build, run tests
2014-10-14 16:18:20 -07:00
Paul O’Shannessy
2b225446c0 React Elements blog post 2014-10-14 10:59:15 -07:00
Paul O’Shannessy
27cbd71394 Merge pull request #2317 from zpao/npm-ship-merge
Ship merge, mergeInto, copyProperties to npm
2014-10-14 10:21:51 -07:00
ThomasCrvsr
4f1f8c0605 Use react.createElement in example in basic/ 2014-10-14 10:18:00 +02:00
Paul O’Shannessy
b227837b0c Ship merge to npm
People may have a bad time if they're depending on these but we can
delay that a little bit. Unless they're using directly and not
polyfilling Object.assign.
2014-10-13 14:07:39 -07:00
Paul O’Shannessy
4dcc1161fa Update @emails in react-displayName-test 2014-10-13 12:56:02 -07:00
Sebastian Markbåge
3991d4de6b Merge pull request #2337 from sebmarkbage/devtoolshook
Inject the runtime to a global instead of exposing internals
2014-10-13 12:30:15 -07:00
Sebastian Markbage
ce19af9d30 Inject the runtime to a global instead of exposing internals
See 673de20a4a
2014-10-13 11:59:23 -07:00
Alexey Raspopov
1db3ed0d6d fix: var name 2014-10-12 16:06:53 +03:00
Alexey Raspopov
cc0e7d2a79 ballmer-peak: use composition instead of mutable state 2014-10-12 16:05:58 +03:00
Paul O’Shannessy
5d3b12bb3b Merge pull request #2312 from zpao/license-update
Update Licenses
2014-10-10 16:58:45 -07:00
Paul O’Shannessy
dcf415c2b9 BSD + PATENTS 2014-10-10 13:34:07 -07:00
Paul O’Shannessy
3bbed150ab Merge pull request #2139 from syranide/acceptcharset
Add form "acceptCharset" to HTMLDOMPropertyConfig
2014-10-10 12:40:13 -07:00
Sebastian Markbåge
eef9995093 Merge pull request #2313 from sebmarkbage/sanitizetags
Sanitize the string tag passed to DOM components
2014-10-10 12:33:45 -07:00
Paul O’Shannessy
31faa58c27 Merge pull request #2320 from zpao/jsxtransformer-no-docblock
JSXTransformer: don't look for docblock
2014-10-10 11:46:26 -07:00
Paul O’Shannessy
cf5fea4616 JSXTransformer: don't look for docblock 2014-10-10 11:45:52 -07:00
Paul O’Shannessy
0dccf64c67 Sync upstream modules 2014-10-10 10:40:18 -07:00
Paul O’Shannessy
5d127eaa49 Merge pull request #2316 from zpao/devtoolsmarker
Look for devtools global hook
2014-10-09 17:00:06 -07:00
Paul O’Shannessy
540731b7a8 Merge pull request #2002 from zpao/rename-renderComponent
React.renderComponent -> React.render
2014-10-09 16:41:37 -07:00
Paul O’Shannessy
1c86f5836a Codemod deprecated API usage away 2014-10-09 16:41:03 -07:00
Paul O’Shannessy
9b1fa914fa React.renderComponent -> React.render
Also rename all the associated render methods and adds deprecation
notices.
2014-10-09 16:41:03 -07:00
Sebastian Markbage
a4e923b7fc Sanitize the string tag passed to DOM components
Because we're using innerHTML to generate DOM Elements, we need to make
sure that the tag is sane and doesn't try to do injection.

This wouldn't be an issue if we used document.createElement instead.
2014-10-09 13:55:29 -07:00
Paul O’Shannessy
436c6c2db7 Merge pull request #2310 from tmcw/list-require-attribute
Require list property to be accessed as an attribute
2014-10-09 11:29:59 -07:00
Paul O’Shannessy
6ddf8de5ae Look for devtools global hook
It doesn't exist yet, but it could.

This also ensures we actually do our polyfill checks in *all* browsers,
not just Chrome.
2014-10-09 11:24:48 -07:00
Sebastian Markbåge
36b091bc44 Merge pull request #2308 from sebmarkbage/dropdocblock
Drop the @jsx docblock from unit tests
2014-10-08 15:24:18 -07:00
Tom MacWright
688f64c5c8 Require list property to be accessed as an attribute 2014-10-08 17:49:05 -04:00
Andreas Svensson
70a7506bb9 Add form "acceptCharset" to HTMLDOMPropertyConfig 2014-10-08 22:45:33 +02:00
Paul O’Shannessy
18209a1112 Merge pull request #2304 from zpao/rm-server-rendering-deprecation-notice
Update ReactServerRendering for the modern world
2014-10-08 13:09:01 -07:00
Paul O’Shannessy
8faca765e1 Update ReactServerRendering for the modern world
* ReactComponents aren't really the thing we need, ReactElements are
* Remove the deprecation notice that we've had in there for a long time

Test Plan: build, jest
2014-10-08 12:52:59 -07:00
Paul O’Shannessy
fe32477d97 Merge pull request #2306 from zpao/cleanup-textcomponent-dep
Remove ReactBrowserComponentMixin dependency from ReactTextComponent
2014-10-08 12:48:23 -07:00
Sebastian Markbage
348af57842 Drop the @jsx docblock from unit tests
This is no longer necessary in our transforms.
2014-10-08 12:46:45 -07:00
Sebastian Markbåge
85597bf3aa Merge pull request #2303 from sebmarkbage/dropmerge
Use Object.assign instead of merge, mergeInto, mixInto and copyPropertie...
2014-10-08 12:10:08 -07:00
Sebastian Markbage
096360db03 Use Object.assign instead of merge, mergeInto, mixInto and copyProperties
This makes it easier to contribute without having to learn a bunch of
slightly different helpers and remember their slightly different
signatures and semantics.

We'll probably start using ES7 spread properties instead of merge in the
future when at least one more transpiler supports it.
2014-10-08 11:32:40 -07:00
Paul O’Shannessy
f2f4006ff6 Remove ReactBrowserComponent dependency from ReactTextComponent
It's no longer used as of #1598, which just missed the require.

Test Plan: build, jest
2014-10-08 11:29:45 -07:00
Paul O’Shannessy
c0c90c0050 Merge pull request #2305 from sebmarkbage/missingrename
Rename ReactDescriptor followup
2014-10-08 10:54:57 -07:00
Sebastian Markbage
5541842284 Renamed ReactDescriptor-test
I forgot to rename the test.
2014-10-07 23:44:02 -07:00
Pedro Nauck
8a4b2763dc change note comment about namespaced components 2014-10-08 01:41:48 -03:00
Justin Woo
9c8ddb3316 Error when unmountComponentAtNode receives non-node 2014-10-07 21:12:56 -04:00
Paul O’Shannessy
9ef2b4e5d9 Merge pull request #2252 from syranide/htmlmanifest
Add manifest to HTMLDOMPropertyConfig
2014-10-07 15:29:57 -07:00
Paul O’Shannessy
33d2b5e8ff Merge pull request #2238 from syranide/noclassid
Remove superfluous classID from DOMAttributeNames
2014-10-07 15:26:19 -07:00
Paul O’Shannessy
8883d0f818 Merge pull request #2276 from spicyj/asap
Rename ReactUpdates.setImmediate to 'asap'
2014-10-07 14:27:00 -07:00
Sebastian Markbåge
f48954d8a3 Merge pull request #2300 from sebmarkbage/descriptorstoelements
Renamed Descriptor -> Element
2014-10-07 13:44:44 -07:00
Sebastian Markbage
8f1657bba6 Renamed Descriptor -> Element
We've decided on a new naming convention for ReactDescriptor. It's now
called ReactElement, which is a subset of the ReactNode union type.
2014-10-07 13:41:51 -07:00
Sebastian Markbage
7f9b1d18d1 Start warning when React.DOM.x is passed into JSX
React.DOM is becoming helper factories to generate ReactElements. They're not
classes. It will be ok to call them directly as functions, but not to use them
where a class is expected.
2014-10-07 10:49:18 -07:00
Sebastian Markbage
15a0c8920e Don't use React.DOM
I grepped for uses of React.DOM. This is going to be a set of helper functions
to generate ReactElements without JSX.

They're not classes so they cannot be used where a React class is expected.

Since we always use JSX, we should have no internal use for these helpers.
We can use strings instead.
2014-10-07 10:49:18 -07:00
Sebastian Markbage
b2dbccf9a2 Rename lower case variables in JSX to upper case
We're trying to move to a convention where lower-case variables on JSX are always HTML/SVG tags rather than variables in scope. See:

http://fb.me/react-jsx-lower-case

Therefore, this diff renames existing uses to upper case variables.

This throws an error on all these files, so I manually go rename all the variables. I then run lint to ensure that the rename doesn't leave any undeclared variables.
2014-10-07 10:48:57 -07:00
Sebastian Markbage
c4658c1728 Update React JSX Transforms
* Extract JSXDOM into separate transform
* Rename lower case variables in JSX to upper case
* Drop React.DOM docblock, use string tags instead
2014-10-07 10:48:57 -07:00
Pedro Nauck
fd9ddab532 change the global variable to a new sample component 2014-10-07 13:06:16 -03:00
Pedro Nauck
748a4ef1b2 add a section at 'jsx-in-depth' talking about namespaced components 2014-10-07 03:09:24 -03:00
Sebastian Markbåge
1a1104f56f Merge pull request #2287 from sebmarkbage/stringelements2
Use strings as the type for DOM elements
2014-10-03 10:49:31 -07:00
Sebastian Markbage
3aaccd2dc9 Use strings as the type for DOM elements
This makes ReactDOM a simple helper for creating ReactElements with the string tag as the type. The actual class is internal and created by instantiateReactComponent. Configurable using injection.

There's not a separate class for each tag. There's just a generic ReactDOMComponent which could take any tag name.

Invididual tags can be wrapped. When wrapping happens you can return the same tag again. If the wrapper returns the same string, then we fall back to the generic component. This avoids recursion in a single level wrapper.
2014-10-02 23:05:11 -07:00
Ben Alpert
a8fff93971 Rename ReactUpdates.setImmediate to 'asap'
Per https://github.com/facebook/react/pull/1554#issuecomment-57243842.

Test Plan: jest
2014-09-29 17:37:13 -07:00
Paul O’Shannessy
35764c5ffb [docs] Use subitem in new nav generation
(cherry picked from commit 995d0e588b)
2014-09-29 13:48:25 -07:00
Paul O’Shannessy
57de1b07d0 Merge pull request #2254 from jgable/spellingFix
Spelling fix for "Testing Flux Applications"
2014-09-26 23:11:42 -07:00
Paul O’Shannessy
3888b97433 Merge pull request #2219 from pablolmiranda/master
Creates a getMeasurementsSummaryMap in ReactDefaultPerf
2014-09-26 17:56:07 -07:00
Paul O’Shannessy
a37dcbb8e0 Merge pull request #2208 from wincent/typo-fix-03
Fix a comment typo
2014-09-26 17:55:10 -07:00
Paul O’Shannessy
0383534094 Merge pull request #2202 from syranide/noscroll
Remove non-attribute scrollLeft and scrollTop from HTMLDOMPropertyConfig
2014-09-26 17:54:49 -07:00
Paul O’Shannessy
778ca2f862 Merge pull request #1598 from syranide/nogettext
Un-mixin ReactBrowserComponentMixin from ReactTextComponent
2014-09-26 17:54:32 -07:00
Paul O’Shannessy
c14b3a1b13 Merge pull request #1520 from syranide/ediblechildren
Warn against contentEditable with children props
2014-09-26 17:54:24 -07:00
Jacob Gable
0b3c0ebced Spelling fix
- Puting -> Putting
2014-09-26 12:42:58 -05:00
Andreas Svensson
3de80ec4ba Add manifest to HTMLDOMPropertyConfig 2014-09-26 16:45:33 +02:00
fisherwebdev
65c1834059 Merge branch 'zpao-rm-flux-docs' 2014-09-26 07:05:02 -07:00
fisherwebdev
f45d753486 Merge pull request #2236 from zpao/rm-flux-docs 2014-09-26 07:03:37 -07:00
Paul O’Shannessy
6c19040d24 Point to Flux site for Flux docs
This doesn't actually remove the pages, just the main content. Sidebar
items now link offsite. The pages doesn't automatically redirect, but we
could do that if we really wanted.

Fixes #2229
2014-09-25 12:34:22 -07:00
Bill Fisher
ef327fcb23 Merge pull request #2240 from christianalfoni/patch-1
Update flux-todo-list.md
2014-09-25 08:33:02 -07:00
Bill Fisher
2f30b2648c Merge pull request #2237 from markhovskiy/patch-1
fix typos in "Testing Flux Applications"
2014-09-25 08:29:13 -07:00
Christian Alfoni
1b6a3d5215 Update flux-todo-list.md
You have to instantiate a Dispatcher to use it, not just grab the prototype or it will fail when trying to grab instance properties like: this.$Dispatcher._callbacks.
2014-09-25 11:54:52 +02:00
Andreas Svensson
cac45631c3 Remove superfluous classID from DOMAttributeNames 2014-09-25 10:46:29 +02:00
Oleksii Markhovskyi
5493b63b44 fix typos 2014-09-25 09:54:35 +02:00
Paul O’Shannessy
4f27dc30ad Merge pull request #2228 from XuefengWu/patch-1
add tip for the important jsx convention
2014-09-24 15:35:36 -07:00
Bill Fisher
6f54ed71da Merge pull request #2234 from fisherwebdev/master
[blog] testing flux applications
2014-09-24 13:08:45 -07:00
fisherwebdev
9952a54026 [blog] testing flux applications 2014-09-24 12:35:39 -07:00
Pablo Lacerda de Miranda
792b84c94b fixes ReactDefaultPerf.getMeasurementsSummaryMap format style 2014-09-23 18:50:18 -07:00
XuefengWu
b9f32a8295 Update getting-started.md
fix grammar
2014-09-24 08:26:10 +08:00
Paul O’Shannessy
67eeed601b Merge pull request #2212 from Oleg24/patch-1
Improved readability by removing semicolon
2014-09-23 17:06:53 -07:00
Oleg
86287bffd4 Add space after ellipses 2014-09-23 17:01:23 -07:00
Paul O’Shannessy
7339f8b7b8 Merge pull request #2149 from imcotton/jsx-reduce-warning
Reduce unnecessary warning while including JSX transformer in browser
2014-09-23 13:34:10 -07:00
XuefengWu
f04d648888 Update getting-started.md
merge the warn and explain for the @jsx
2014-09-23 15:22:11 +08:00
Isaac Salier-Hellendag
e7299f6039 Prefer window.getSelection for IE
IE9+ supports `window.getSelection()` but `SelectEventPlugin` gives precedence to `document.selection` instead. `document.selection` is still available in later versions of IE, but the modern Selection object is preferable. Swap the two.
2014-09-22 16:56:22 -07:00
Paul O’Shannessy
176d47319a Merge pull request #2225 from jesseskinner/patch-1
Fix inconsistency in mockComponent argument name
2014-09-22 14:42:38 -07:00
Paul O’Shannessy
9919734df3 Merge pull request #2180 from zpao/fix-2179
Reword Component API intro
2014-09-22 14:41:18 -07:00
Paul O’Shannessy
eafe786aef Reword Component API intro
Fixes #2179
2014-09-22 14:40:22 -07:00
Paul O’Shannessy
bf0fe94561 Merge pull request #2209 from glenjamin/patch-2
[docs] Clarify wording on sub-tree reconciliation
2014-09-22 14:32:18 -07:00
Paul O’Shannessy
8cd460ce24 Move examples from the website to the wiki. 2014-09-22 14:29:39 -07:00
Andreas Svensson
14ba6ee788 Un-mixin ReactBrowserComponentMixin from ReactTextComponent 2014-09-22 23:28:26 +02:00
Paul O’Shannessy
7cf350a5a1 Merge pull request #2223 from cody/stripTypes
Add stripTypes option to npm docs
2014-09-22 13:38:37 -07:00
Paul O’Shannessy
97a41db82c Merge pull request #2218 from fisherwebdev/master
Acknowledge ProjectMoon for allowing us to use the flux name on npm
2014-09-22 13:09:06 -07:00
XuefengWu
0ae09f4c70 add tip for the important jsx convention
I missed the convention and wast hours to figure out what's wrong. 
Add this tip in the document for who would miss the importance comment.
2014-09-22 20:10:34 +08:00
fisherwebdev
0e4e7ea7e1 Acknowledge ProjectMoon for allowing us to use the flux name on npm 2014-09-21 21:10:39 -07:00
Jesse Skinner
3109082144 Fix inconsistency in mockComponent argument name
The second argument of mockComponent was listed as tagName, but referred to in the description as mockTagName. I changed the first one to mockTagName to be consistent.
2014-09-21 23:00:25 -04:00
Stefan Dombrowski
7597cfc5fb Add stripTypes option to npm docs 2014-09-21 19:22:22 +02:00
Pablo Lacerda de Miranda
486c69b6de extracts getMeasurementsSummaryMap from ReactDefaultPerf.printWasted 2014-09-19 16:03:41 -07:00
Oleg
d06018cbac Improved readability by removing semicolon
The first sentence had an unnecessary semicolon which made the whole thing difficult to read.  The new syntax is not only easier to read but also more exciting.
2014-09-18 21:34:47 -07:00
Paul O’Shannessy
9d7e3a7471 Merge pull request #2211 from jacobgreenleaf/master
Fix typo in documentation in Flux Todo List
2014-09-18 18:33:04 -07:00
Jacob Greenleaf
8882f19187 Fix typo in documentation in Flux Todo List 2014-09-18 18:30:57 -07:00
Glen Mailer
cf512bf60d [docs] Clarify wording on sub-tree reconciliation
The previous wording could be interpreted to mean sub-trees moving from
within one sibling to within another, rather than the shuffling of siblings on
a single level as intended
2014-09-18 22:48:35 +01:00
Greg Hurrell
94eac0b8fa Fix a comment typo 2014-09-18 09:47:23 -07:00
Andreas Svensson
802ad0bc00 Remove non-attribute scrollLeft and scrollTop from HTMLDOMPropertyConfig 2014-09-17 14:40:37 +02:00
Paul O’Shannessy
21f601964f Merge pull request #1301 from markijbema/patch-1
Only stop if the transition on this element ended
2014-09-12 17:00:05 -07:00
Christopher Chedeau
aa25eb8e40 Update 2014-09-12-community-round-up-22.md 2014-09-12 11:34:29 -07:00
Christopher Chedeau
05cec04367 Merge pull request #2186 from vjeux/roundup_22
Community roundup #22
2014-09-12 11:06:25 -07:00
Christopher Chedeau
d53a365e77 Community roundup #22 2014-09-12 10:35:30 -07:00
Paul O’Shannessy
af485d928f Merge pull request #2181 from zpao/move-onscroll-detection
Move onscroll detection
2014-09-11 15:59:11 -07:00
Paul O’Shannessy
584e6bd648 Ignore .module-cache from jest [skip ci]
I hit a case where running jest was including files from the module
cache. I don't think that should have happened, but this works.
2014-09-11 15:28:20 -07:00
Paul O’Shannessy
def41dfd8f Move onscroll warning test
This moves it to the appropriate place to accomodate the move of the check.
2014-09-11 15:15:19 -07:00
Paul O’Shannessy
a10436d4ab Merge pull request #2097 from fitzgen/explain-where-to-provide-key
Explain where to provide the key for dynamic children.
2014-09-11 14:14:55 -07:00
Paul O’Shannessy
6daf6d31f3 Merge pull request #2178 from benfoxall/patch-1
Docs grammar tweak
2014-09-11 10:36:32 -07:00
Ben Foxall
fe08888fbb Less -> Fewer
bugs and bytes are countable, so should be fewer
2014-09-11 14:33:16 +01:00
Nick Fitzgerald
18874a6054 Explain where to provide the key for dynamic children. 2014-09-10 14:53:41 -07:00
Andrew Rasmussen
7ae8909504 Move IE8 onscroll check
Rather than checking if document.onscroll exists in EventPluginHub
(which is agnostic of the DOM) do it in ReactDOMComponent
2014-09-10 13:33:23 -07:00
Paul O’Shannessy
76d64812e1 Merge pull request #2170 from undernewmanagement/patch-1
Added extra explanation for require() statements
2014-09-10 13:21:47 -07:00
Sheraz
9e6c442df0 Updated small change with zuggestions from @zpao 2014-09-10 12:29:54 +02:00
Paul O’Shannessy
53be3905f8 Merge pull request #2167 from mhintz/patch-1
Update ref-03-component-specs.md
2014-09-09 16:00:39 -07:00
Paul O’Shannessy
99191046f9 Merge pull request #2113 from BinaryMuse/fix_numeric_properties
Fix DOMProperty bitmask checking
2014-09-09 15:26:38 -07:00
Paul O’Shannessy
0d66ea301e Merge pull request #2165 from DJCordhose/patch-1
Update 09.5-clone-with-props.md
2014-09-09 09:41:51 -07:00
Mark Anderson
e8e50986c5 Added extra explanation for require() statements 2014-09-09 14:39:07 +02:00
Mark Hintz
95def7f829 Update ref-03-component-specs.md
Edit the description of componentDidMount() to make clear that the function is called only once during the lifecycle of the component, after only the initial render() call. The description is now similar to that for componentWillMount(). The existing wording does not make it clear that the function is called only after the initial render. (Granted, it is possible to infer this from descriptions of the component lifecycle found elsewhere in the documentation, but I think explicit is better than implicit in this case).
2014-09-09 11:50:13 +02:00
Oliver Zeigermann
8601a3c27d Update 09.5-clone-with-props.md 2014-09-09 10:52:26 +02:00
Paul O’Shannessy
5d88ebbecb Merge pull request #2144 from zertosh/master
Comment typo
2014-09-08 19:37:00 -07:00
Paul O’Shannessy
79ca0c7fd2 Merge pull request #1848 from fgnass/master
add picture element and related attributes
2014-09-08 16:23:39 -07:00
Paul O’Shannessy
f3c64704ad Merge pull request #1988 from syranide/tacfix
Don't wrap values with ReactTextComponent in traverseAllChildren (cloneWithProps)
2014-09-08 15:36:26 -07:00
Paul O’Shannessy
61c42ccdee Update Bootstrap example to 3.2.0 2014-09-08 14:32:19 -07:00
Isaac Salier-Hellendag
8c9a24983e Remove calls to Range.detach
This method is a no-op, as demonstrated by console warnings in Chrome and https://developer.mozilla.org/en-US/docs/Web/API/range.detach.

Remove callsites.

Fixes #2142
2014-09-08 14:30:53 -07:00
Andreas Svensson
45f8837e35 Don't wrap values with ReactTextComponent in traverseAllChildren 2014-09-08 22:35:25 +02:00
Paul O’Shannessy
adb62c76e5 Merge pull request #2158 from Daniel15/htmltojsx-move
Move htmltojsx.js to React-Magic project.
2014-09-07 18:52:37 -07:00
Daniel Lo Nigro
6ceb47e8bf console.warn when html-jsx-lib.js is loaded 2014-09-07 15:20:42 -07:00
Paul O’Shannessy
4398879c2e Merge pull request #2155 from rickbeerendonk/patch-1
Update video.md with Forward JS 2014 talk
2014-09-07 14:31:03 -07:00
Cheng Lou
90d1aeb1c3 Merge pull request #2156 from simonwelsh/patch-1
Correct highlighted block
2014-09-07 14:51:27 -04:00
Daniel Lo Nigro
1d1b6ed07a Move htmltojsx.js to React-Magic project.
The HTMLtoJSX file is really a part of the React-Magic project, and should belong there rather than here:
 - It doesn't really follow the release cycle of React at all
 - It is totally standalone with no dependency on React
 - The only usage of this script is in React-Magic and on the HTML to JSX page on the React website (http://facebook.github.io/react/html-jsx.html)

I've hotlinked it from the Github site for that project since this was the easiest way to pull it in.

Due to the fact that Github Pages lacks redirects (among other basic web hosting functionality), I've replaced the `html-jsx-lib.js` file with a comment explaining where the file has moved to, just in case anyone was hotlinking it from the React site.
2014-09-06 22:51:52 -07:00
Simon Welsh
611abfbcb7 Correct highlighted block 2014-09-06 20:46:19 +10:00
Rick Beerendonk
34b4ed7316 Update video.md with Forward JS 2014 talk
Added "React and Flux: Building Applications with a Unidirectional Data Flow" by Bill Fisher and Jing Chen.
2014-09-06 11:33:36 +02:00
Paul O’Shannessy
ea76f9bf63 Merge pull request #2116 from spicyj/nl-jsx-spread
Add newline before JSX spread when appropriate
2014-09-05 14:34:54 -07:00
Paul O’Shannessy
6c8c70eea4 Merge pull request #2152 from RReverser/fix-pr-check
Fix check for commit ranges in racing PRs.
2014-09-05 14:13:33 -07:00
Paul O’Shannessy
0ad43aff5e Merge pull request #2153 from jeffmo/jsx_strip_types
Add --strip-types flag to bin/jsx
2014-09-05 14:10:37 -07:00
jeffmo
808730df59 Add support for a --strip-types flag to bin/jsx 2014-09-05 16:28:46 -04:00
jeffmo
bcc291b591 Bump esprima + jstransform versions 2014-09-05 15:42:07 -04:00
Paul O’Shannessy
ce014a00a5 Merge pull request #2148 from nordstrom-innovation/docfix
corrected highlighted/updated line in tutorial example
2014-09-05 10:59:24 -07:00
Ingvar Stepanyan
3b2cd51fa5 Fix check for commit ranges in racing PRs.
See #1768 / #2000 for original issue.
See https://github.com/travis-ci/travis-ci/issues/1719#issuecomment-51705110 for problem description and origin of this fix.
This is still a temporary fix until travis-ci/travis-core#383 is merged.
2014-09-05 15:45:21 +03:00
Paul O’Shannessy
b36c9f6638 Merge pull request #2147 from naman34/patch-2
added the missing **
2014-09-04 16:26:35 -07:00
Cotton Hou
6294d7aacc Reduce unnecessary warning while including JSX transformer in browser 2014-09-05 07:15:39 +08:00
jon madison
3e59977046 corrected highlighted/updated line in tutorial example 2014-09-04 16:07:34 -07:00
Nick Merwin
610b75a5b6 Update Like button example verbiage
Changes text "You unlike this" to "You liked this". Makes a bit more grammatical sense.

Closes #2146.
2014-09-04 15:21:27 -07:00
Naman Goel
815f267700 added the missing **
Missed it the last time. Apologies.
2014-09-05 03:21:30 +05:30
Andres Suarez
4c2f124aa8 Comment typo 2014-09-04 12:00:43 -04:00
Andreas Svensson
05fa75d395 IE8 does not have a setter for property "enctype" 2014-09-04 12:11:01 +02:00
Paul O’Shannessy
00fe66ddec Merge pull request #2106 from subtleGradient/subtleGradient/improve-ReactPerf-debugging
Improve debugging for methods using ReactPerf
2014-09-03 17:46:49 -07:00
Paul O’Shannessy
c707c2568e JSX spec blog post 2014-09-03 15:37:08 -07:00
Paul O’Shannessy
1854e8a912 Merge pull request #2033 from pekim/master
Add support for <dialog> tag.
2014-09-03 14:47:41 -07:00
Paul O’Shannessy
9a89edbb22 Fix broken link in animation docs
Missed in #2068
2014-09-03 11:59:14 -07:00
Paul O’Shannessy
073e1186d7 Merge pull request #2120 from zpao/svg-logo
[docs] SVG logo
2014-09-02 14:05:05 -07:00
Paul O’Shannessy
c406534c26 Merge pull request #2124 from Daniel15/htmltojsx-fixes
Small tweaks to HTML to JSX page
2014-09-02 14:03:21 -07:00
Paul O’Shannessy
f678591ad6 Merge pull request #2101 from jeffchan/patch-1
Fix typo in ReactDefaultPerfAnalysis comment
2014-09-02 11:57:45 -07:00
Brandon Tilley
0e28f5e6d7 Fix DOMProperty bitmask checking 2014-09-02 06:53:58 -07:00
Daniel Lo Nigro
e11b4078bc Small tweaks to HTML to JSX page:
- Remove "Compiled JS" tab since it doesn't make sense
 - Relabelled editor to "Live HTML Editor" rather than "Live JSX Editor"
2014-08-31 21:48:10 -07:00
Mike D Pilsbury
ffa0447177 Add support for <dialog> tag's open attribute. 2014-08-31 12:43:32 +01:00
Paul O’Shannessy
820210fd9e Merge pull request #2091 from julen/docs/LinkedState
Docs: renamed input's state to `inputValue`
2014-08-30 17:25:49 -07:00
Paul O’Shannessy
9f802e7703 Merge pull request #2075 from IvanVergiliev/patch-1
Add 2048-react to open-source demos
2014-08-30 17:24:11 -07:00
Paul O’Shannessy
11a96fd8ce Merge pull request #2119 from naman34/patch-1
added production example
2014-08-30 16:08:58 -07:00
Paul O’Shannessy
9a1236790b SVG logo
I traced the current logo in Illustrator to get a good version. And with
SVG we don't need any 2x magic because it's already vector. I should
probably care about IE8, but I don't.
2014-08-30 16:03:49 -07:00
Naman Goel
3c74626a70 added production example
Addition note: Scribbler.co uses an infinite.js/UITableView like rendering pattern with animations which is only possible because of React.
2014-08-31 03:26:08 +05:30
Paul O’Shannessy
59324ab6d5 Merge pull request #2117 from spicyj/jest-vendor
Include vendor/ when running jest tests
2014-08-30 12:55:20 -07:00
Paul O’Shannessy
87cbde0a40 Merge pull request #2118 from spicyj/es7-spread
Enable ES7 spread transform when using --harmony
2014-08-30 12:54:58 -07:00
Ben Alpert
9f4ae415e2 Enable ES7 spread transform when using --harmony
Test Plan: `echo "var o = {...x};" | bin/jsx --harmony` outputs `var o = Object.assign({},x);`.
2014-08-30 01:10:21 -07:00
Ben Alpert
1ba022b1ea Include vendor/ when running jest tests
Now the two transform tests get run alongside the React core tests.

Test Plan: jest
2014-08-30 01:08:57 -07:00
Ben Alpert
cc9735f889 Add newline before JSX spread when appropriate
Previously, we were losing the newline before a JSX spread attribute which would cause the lines to not match up; this fixes the problem.
2014-08-30 01:04:19 -07:00
Sebastian Markbage
4af98990db Bumping version to help filtering. 2014-08-29 14:35:22 -07:00
Sebastian Markbage
63046277e4 Bumping version to help filtering. 2014-08-29 14:35:12 -07:00
Sebastian Markbage
bad1b7c41a Start warning for JSX on plain functions
Let's also bump the version number for the log so that we can start filtering
out the other logs.
2014-08-29 14:35:07 -07:00
Sebastian Markbage
3c6c437d07 Don't transfer props to mocked empty component
We currently automatically render empty components in place of mocks. However,
we were accidentally transferring the props from the mocked descriptor to the
empty component placeholder. Even children.

This change just cleans that up and should only affect unit tests.
2014-08-29 14:35:01 -07:00
Sebastian Markbage
f5a0d667a5 Add version to legacy factory monitoring 2014-08-29 14:34:58 -07:00
Miorel Palii
335e91df71 Fix console warning in LegacyImmutableObject
It does check `hasOwnProperty`, but *after* accessing the field and therefore triggering enumerable getters in modified prototypes.
2014-08-29 14:32:50 -07:00
Ben Alpert
944f49c264 Merge pull request #2080 from fisherwebdev/master
[docs] Update Flux TodoMVC Tutorial
2014-08-28 12:11:28 -07:00
Thomas Aylott
755cc9671f Combine displayName using underscore 2014-08-28 14:58:59 -04:00
Thomas Aylott
a6116b31e5 Improve debugging for methods using ReactPerf 2014-08-28 13:49:51 -04:00
Jeff Chan
ef9c9c81d0 Fix typo 2014-08-27 21:17:10 -07:00
Cheng Lou
74ff6fb6b8 Merge pull request #2039 from crm416/return-false
Deprecate 'return false' in event handlers
2014-08-27 13:33:40 -07:00
Cheng Lou
95de877dce Merge pull request #2036 from crm416/static-functions
Throw an error when functions on `statics` clash due to duplicate keys
2014-08-27 11:36:53 -07:00
Julen Ruiz Aizpuru
ca66baee83 Docs: renamed input's state to message
Readers might feel confused with the actual input's `value` attribute.
2014-08-27 13:02:00 +02:00
Ben Alpert
f7c7676a98 Merge pull request #2083 from chenglou/docs-retina-icon
[Docs] Make retina react logo work
2014-08-24 23:19:41 -07:00
Cheng Lou
2920473ea1 [Docs] Make retina react logo work
Bourbon now takes *_2x instead of *@2x.
2014-08-23 18:09:20 -07:00
Charles Marsh
eb36b57079 Use warning module 2014-08-23 09:46:32 +08:00
Cheng Lou
174e67564c Merge pull request #2078 from michaelrp/patch-1
Including missing validation check
2014-08-22 11:36:47 -07:00
fisherwebdev
9fe36e591b [docs] remove redundant paragraph 2014-08-22 09:50:05 -07:00
fisherwebdev
149cadd664 [docs] fix nits 2014-08-22 09:46:34 -07:00
Michael Randers-Pehrson
c999785fa0 Adding e.preventDefault() to handleSubmit,
Also added plain `return`, updated text.
2014-08-22 08:27:23 -04:00
fisherwebdev
bc4d935cb0 [docs] Update Flux TodoMVC Tutorial 2014-08-22 02:21:04 -07:00
Charles Marsh
979a93a70a Removed monitorCodeUse call 2014-08-22 13:09:38 +08:00
Michael Randers-Pehrson
6c926094c3 Including missing validation check
The validation check was removed from the update to the CommentForm handleSubmit function.
2014-08-21 23:00:05 -04:00
Felix Gnass
942d358ace use attribute for media, srcSet and sizes 2014-08-22 00:37:32 +02:00
Charles Marsh
f01246d6bb Indentation for eventHandlerName 2014-08-21 09:13:35 +08:00
Cheng Lou
72e690ecfb Merge pull request #2037 from crm416/duplicate-key
More informative error message for mergeObjectsWithNoDuplicateKeys
2014-08-20 17:27:07 -07:00
Cheng Lou
b8ab95aaa7 Merge pull request #2054 from chenglou/accum
[RFC] Use `accumulateInto` to save even more allocation
2014-08-20 13:36:45 -07:00
Cheng Lou
48e901f8ae [RFC] Use accumulateInto to save even more allocation
Trying to make the event a bit more performant for events.

Feel free to reject this because the API inevitably isn't great. It's good for perf though, and since we're only using `accumulate` in very restrained places, I think we're fine.

`accumulateInto` is `accumulate` that mutates more and allocates less. I kept `accumulate` in case we want that in the future.
2014-08-20 13:10:50 -07:00
Paul O’Shannessy
ef47bb753c Merge pull request #2076 from whatasunnyday/master
Add example to if else in JSX.
2014-08-20 12:45:04 -07:00
Sunny Juneja
b9cf0d2bdd Add example to if else in JSX. 2014-08-20 12:29:21 -07:00
Paul O’Shannessy
4d9a2c4a29 Make npm run-script jest available
This is slightly shorter than typing `./node_modules/.bin/jest`.
2014-08-20 11:48:01 -07:00
Paul O’Shannessy
417678310c Update Object.assign polyfill
The spec changed to allow null & undefined sources without throwing.
Now our code depends on this new behavior. The only browser that
implements Object.assign has also updated its native implementation to
this behavior (Firefox Nightly).
2014-08-20 11:44:24 -07:00
IvanVergiliev
f627ddfb74 Add 2048-react to open-source demos
Nothing too complicated, but I think it could be a fun beginner demo.
2014-08-20 15:17:27 +03:00
Paul O’Shannessy
2058ad99be Sync out latest JSX transforms
The biggest change: instead of calling functions directly, we now use
React.createElement to wrap.

The other big change: this removes the need for the @jsx pragma.
Instead we'll parse everything, assume React is in scope,
and only look for the actual XJS parts in the AST (as opposed to only
runing the transform when @jsx was specified in the docblock).

Note: this is actually a series of commits internally and should have
been syned out in pieces over the past several weeks.
2014-08-20 00:27:38 -07:00
Sebastian Markbage
aae31ae24c ReactMount calls a legacy factory use createDescriptor instead
This fixes some log spew since this pattern is deprecated. This doesn't use
the validator in the descriptor creation so there's no prop type checks here.
I guess that's fine because we still have the second prop type checks.

We need to use ReactLegacyDescriptor because the constructor here will be a
legacy factory that we need to unwrap.

constructAndRenderComponent should be deprecated.
2014-08-20 00:15:43 -07:00
Sebastian Markbage
5c51f2fe46 Check if a function has a prototype first
Because somehow someone used a prototype less function with JSX.
2014-08-20 00:15:32 -07:00
Sebastian Markbage
68b7b82145 Start warning when calling a legacy factory
Let's start warning when a legacy factory is called as a plain function call.
2014-08-20 00:15:11 -07:00
Sebastian Markbage
989e6b618e Drop usage of plain functions to create descriptors
Replace plain function calls to legacy factories with createFactory or
createElement. For ReactDOMComponents the type should be replaced with
strings.

Because we don't have easy access to ReactLegacyDescriptor from within
React, we need to use the .type property to extract the real class.
This will go away later and is covered by unit tests.
2014-08-20 00:14:59 -07:00
Sebastian Markbage
c901b1005e Make createDescriptor return a descriptor for components
This moves all logic around legacy descriptors to ReactLegacyDescriptor. This
is responsible for the layer that knows that createClass exports a legacy
factory. When passed one of these classes, it unwraps it to be a real class.

If it is passed a non legacy factory, it is assumed to be a non-react component
that needs to be invoked as a plain function.

The semantic change is that a descriptor is now always returned if passed a
legacy factory. Even if that factory is a mock. A mock would previously return
undefined.

For mocks, I treat the factory as the authoritative function. I call it to extract
the instance or fill it with an empty component placeholder.

Additionally, I make the classes take props as the first argument to the
constructor. This is what the new class system will do.

We currently need to set up some internals by calling the internal construct
method. Instead of doing that automatically in the constructor, I now move that
to a second pass so that mocks can get the plain props.

This means that we can assert that a mock has been called once it's mounted
with it's final props. Instead of the descriptor factory being called.
2014-08-20 00:14:32 -07:00
Paul O’Shannessy
182379305a Update vendored modules 2014-08-20 00:14:28 -07:00
Cheng Lou
25c9d6d578 Merge pull request #2068 from ChrisSki/patch-1
Update 09.1-animation.md
2014-08-19 18:10:31 -07:00
Chris Sciolla
99ed64387d Update 09.1-animation.md 2014-08-19 20:59:13 -04:00
Charles Marsh
0ecc7e5a7f Look on __reactBoundContext for displayName 2014-08-20 08:44:33 +08:00
Chris Sciolla
65e1938708 Update 09.1-animation.md
The reason I chose to submit this is because it was initially unclear from the docs that the transition group needed to already be mounted in order for it to work properly.
2014-08-19 15:11:07 -04:00
Charles Marsh
cf45a40bb8 More info in monitorCodeUse call 2014-08-18 22:57:02 -04:00
Josh Duck
5b4e2be867 Iterate over expectedFeatures correctly
This fails if Array.prototype is extended.
2014-08-18 18:18:05 -07:00
Paul O’Shannessy
326be2faa6 Merge pull request #2053 from zpao/jsx-transformer-optional-sourcemaps
Don't force sourcemaps on for JSXTransformer APIs
2014-08-18 18:10:57 -07:00
Paul O’Shannessy
ea17506f6a Merge pull request #2062 from dmitriiabramov/patch-1
remove doubled whitespace chars in jsDoc
2014-08-18 16:54:06 -07:00
Paul O’Shannessy
32d3f79dc5 Upgrade Commoner
It no longer parses @providesModule directives by default.

Fixes #1145
2014-08-18 15:12:39 -07:00
Dmitrii Abramov
d50278997c remove doubled whitespace chars in jsDoc 2014-08-18 14:26:26 -07:00
Cheng Lou
a43d8c588b Fix bad merge from 04c9820694
Didn't sync out correctly.
2014-08-18 10:37:18 -07:00
Cheng Lou
196030aeb5 Merge pull request #2058 from chantastic/patch-2
docs(flux-todo-list): fix TodoStore syntax
2014-08-17 19:52:54 -07:00
Michael Chan
aaeb107e00 docs(flux-todo-list): fix TodoStore syntax
Add missing semicolon behind `TodoStore#addChangeListener'
2014-08-17 19:37:10 -07:00
Lee Byron
04c9820694 Merge pull request #1601 from gaearon/apply-component-and-mixin-spec-deterministically
Apply component and mixins specs deterministically
2014-08-15 18:08:03 -07:00
Paul O’Shannessy
d9a053d287 Don't force sourcemaps on for JSXTransformer APIs
In case somebody doesn't want sourcemaps (eg, react-rails) or r.js
2014-08-15 17:51:41 -07:00
Charles Marsh
429650a750 Test for both true and false 2014-08-15 19:47:36 -04:00
Charles Marsh
c5be746fda Fixed style and comment nits 2014-08-15 11:52:22 -04:00
Paul O’Shannessy
d970dc45d9 Merge pull request #1826 from syranide/jsxasync
JSXTransformer respects async attribute
2014-08-14 15:13:04 -07:00
Paul O’Shannessy
f479cffdbb Merge pull request #2042 from zpao/update-recast
Update recast to 0.6, update constants.js
2014-08-14 13:59:45 -07:00
Paul O’Shannessy
d7f21d760b Update recast to 0.6, update constants.js
I dropped the part of constants.js that we weren't using (namely the
part where we insert constants) but left it open to do that. It should
be trivial, we just aren't using it.

Fixes #1824
2014-08-14 11:14:20 -07:00
Charles Marsh
a195d3ea1f Re-add with warning and monitorCodeUse 2014-08-14 10:43:00 -04:00
Andreas Svensson
079400c2a6 JSXTransformer respects async attribute
Conflicts:
	vendor/browser-transforms.js
2014-08-14 10:00:27 +02:00
Charles Marsh
45f8b52135 Deprecate 'return false' in event handlers 2014-08-13 22:37:41 -04:00
Ben Alpert
5ca9e193ee Merge pull request #2038 from zpao/update-testutil-docs
TestUtils docs: isComponentOfType -> isDescriptorOfType
2014-08-13 19:29:16 -07:00
Paul O’Shannessy
aa959dcb97 TestUtils docs: isComponentOfType -> isDescriptorOfType
Fixes #1946
2014-08-13 19:23:47 -07:00
Charles Marsh
a70db003db Throw if a reserved property is defined in 'statics' 2014-08-13 21:34:49 -04:00
Paul O’Shannessy
5df9b90c3d Merge pull request #1832 from rayqian/master
Add chinese translation for 02-displaying-data.md
2014-08-13 17:38:44 -07:00
Paul O’Shannessy
d6f5ff0288 Merge pull request #1867 from WickyNilliams/patch-1
Add note about key prop being excluded by cloneWithProps
2014-08-13 17:36:48 -07:00
Paul O’Shannessy
f30e5b5a72 Merge pull request #2007 from janhancic/better-docs-for-select-multiple
Add a 'note' about passing arrays into the `value` attribute
2014-08-13 17:27:26 -07:00
Paul O’Shannessy
91cdd5af24 Merge pull request #2010 from nw/patch-1
Update ref-01-top-level-api.md
2014-08-13 17:26:51 -07:00
Ben Alpert
f982387c6e [docs] Move "| React" to end of OG title
For consistency!
2014-08-13 16:30:43 -07:00
Paul O’Shannessy
6d740448e2 [docs] Move "| React" to end of page title
Looks better in search results
2014-08-13 16:28:50 -07:00
Paul O’Shannessy
eb3ea3f2df Move batchedUpdated to React.addons
This is a followup to #1060, where I did not read closely enough before
merging.
2014-08-13 15:40:40 -07:00
Paul O’Shannessy
938bcbecd5 Merge pull request #1060 from spicyj/gh-906
Add React.batchedUpdates to public API
2014-08-13 15:37:43 -07:00
Paul O’Shannessy
ec6653aa56 Merge pull request #1952 from slorber/master
Update 09.2-form-input-binding-sugar.md -> document checkedLink
2014-08-13 15:32:27 -07:00
Charles Marsh
87607045e4 Abbreviated error message 2014-08-13 18:25:53 -04:00
Paul O’Shannessy
16dfaca66a Merge pull request #2035 from zpao/jekyll-update
[Docs] Update Jekyll + more
2014-08-13 15:23:37 -07:00
Charles Marsh
dcdc35fab6 More informative error message for mergeObjectsWithNoDuplicateKeys 2014-08-13 16:59:40 -04:00
Charles Marsh
71e49adf35 Throw an error when functions on statics clash due to duplicate keys 2014-08-13 16:33:57 -04:00
Karpich Dmitry
a185f09943 Add classid property for <object/> tag
This properties needed to work with ActiveX objects in IE, created by
<object/> tag.

Closes #1526
2014-08-13 13:28:19 -07:00
Paul O’Shannessy
fdf97f42f7 Update README to use bundle exec *
Also, referenced rake release task
2014-08-13 12:38:09 -07:00
Paul O’Shannessy
2cbf609856 Autogenerate acknowledgements 2014-08-13 12:38:09 -07:00
Paul O’Shannessy
51df0efe34 Use jekyll-redirect-from instead of our other redirect method 2014-08-13 12:38:09 -07:00
Paul O’Shannessy
4c7cd13ab3 Set default layout for docs 2014-08-13 11:40:14 -07:00
Paul O’Shannessy
03df215bd2 Default to layout: post for posts
Just a little less boilerplate. This also removes a bit of trailing
whitespace because it shouldn't have been there.
2014-08-13 11:37:19 -07:00
Paul O’Shannessy
b58b9d0b79 Update Bourbon files (4.0.2) 2014-08-13 11:20:00 -07:00
Paul O’Shannessy
8dbdd53e46 Reorder _config for sanity 2014-08-13 11:14:24 -07:00
Paul O’Shannessy
77fa3f35b5 Minimal updates for Jekyll 2.0 2014-08-13 11:10:40 -07:00
Paul O’Shannessy
ed27c89748 Merge pull request #2026 from spicyj/likely-a-bug-in-the-framework
Improve Danger error message to not blame React
2014-08-12 13:23:29 -07:00
Mike D Pilsbury
f035949e73 Add support for <dialog> tag.
fixes #2017
2014-08-12 19:58:10 +01:00
Ben Alpert
26aff787e7 Merge pull request #2028 from andrezsanchez/patch-1
Fix typo
2014-08-11 20:09:28 -07:00
Andre Z Sanchez
6f49827c12 Fix typo 2014-08-11 22:57:33 -04:00
Ben Alpert
e2ac2f326c Improve Danger error message to not blame React 2014-08-11 15:18:07 -07:00
Nathan White
c141a8581f changed type info. added descriptor to descriptions 2014-08-11 15:44:21 -06:00
Ben Alpert
13e60298e1 Merge pull request #2025 from zpao/rm-flux-todomvc
Remove TodoMVC flux example
2014-08-11 13:37:23 -07:00
Paul O’Shannessy
1033c4805f Remove TodoMVC flux example
It lives at https://github.com/facebook/flux/tree/master/examples/flux-todomvc now.
2014-08-11 13:02:12 -07:00
Ben Alpert
f7af58fa0c <noscript /> -> null in todomvc-flux Footer 2014-08-11 12:26:10 -07:00
Paul O’Shannessy
986f5a1a07 Merge pull request #1662 from gaearon/warn-when-using-hyphenated-style-names
Warn when using hyphenated style property names

Closes #1662

Conflicts:
	src/browser/ui/dom/CSSPropertyOperations.js
2014-08-11 10:18:08 -07:00
Paul O’Shannessy
0e5316f12f Merge pull request #2021 from adammark/patch-1
Close <section> tag in sample markup
2014-08-11 10:07:36 -07:00
Adam Mark
8642262aad Copy edit (fix grammar) 2014-08-11 12:19:08 -04:00
Adam Mark
77d7b4928e Close <section> tag in sample markup 2014-08-11 12:13:04 -04:00
Cheng Lou
82da739d9e Merge pull request #2018 from samselikoff/patch-2
Clarify section introducing callbacks
2014-08-10 13:59:20 -07:00
Sam Selikoff
90888debd0 Clarify section introducing callbacks 2014-08-10 16:47:06 -04:00
Cheng Lou
68930ad4a6 Merge pull request #2016 from samselikoff/patch-1
Clarify section introducing `props`
2014-08-09 17:54:15 -07:00
Sam Selikoff
255f238cee Clarify section introducing props 2014-08-09 19:24:40 -04:00
Paul O’Shannessy
c506b44173 Merge pull request #2000 from RReverser/stop-travis-on-docs
Cancelling Travis build on commits with docs updates only.
2014-08-08 13:25:23 -07:00
Nathan White
c53fb8f405 Update ref-01-top-level-api.md
Added docs for `React.isValidClass` and `React.isValidComponent`. 

Still missing top level api:

* `constructAndRenderComponent`
* `constructAndRenderComponentById`
* `withContext`
2014-08-07 12:09:45 -06:00
Jan Hancic
1db8756b8f Remove quotes around the value attribute 2014-08-07 09:22:46 +01:00
Jan Hancic
b25e4368bb Add ={true} so it's aligned with recommended practises 2014-08-07 08:10:55 +01:00
Josh Duck
f71455fb31 Fire onBeforeUpdate for space on Android
We deliberately skip the event, but Android Chrome
doesn't fire the keypress, so this is wrong.
2014-08-06 16:41:56 -07:00
Sebastian Markbage
036d751397 Add createElement alias for createDescriptor 2014-08-06 16:41:47 -07:00
Jan Hancic
b016400bb1 Add a 'note' about passing arrays into the value attribute
This is for #1700
2014-08-06 23:45:37 +01:00
Cheng Lou
aaa8a5ff50 Merge pull request #1990 from syranide/rmctest
Simplified and improved test-cases for ReactMultiChildText-test
2014-08-06 11:20:59 -07:00
Cheng Lou
12ab5e8345 Merge pull request #1974 from jstoja/jquery-tutorial
jQuery note in tutorial
2014-08-05 22:10:58 -07:00
Andreas Svensson
41d5cee44e Simplified and improved test-cases for ReactMultiChildText-test 2014-08-05 23:40:11 +02:00
Ingvar Stepanyan
233af7e2df Cancelling Travis build on commits with docs updates only.
Currently recognized patterns:

* any Markdown files (*.md)
* any files in docs or examples directories.

Closes facebook/react#1768.
2014-08-06 00:39:55 +03:00
Ben Alpert
e39a28c175 [docs] Add parens to defeat ASI in example
Fixes #1996.
2014-08-04 21:48:24 -07:00
Cheng Lou
2d250d44a5 Merge pull request #1993 from spicyj/devtools-warning-2
Slightly more considerate devtools warning
2014-08-04 14:25:16 -07:00
Ben Alpert
3045291417 Slightly more considerate devtools warning
See #953.
2014-08-04 11:16:51 -07:00
Ben Alpert
e2dad02ef2 Wording tweaks to reconciliation docs 2014-08-04 08:36:49 -07:00
Ben Alpert
716742dcd7 Merge pull request #1972 from cutbko/patch-1
Update ref-08-reconciliation.md
2014-08-04 08:35:22 -07:00
Julien Bordellier
46c0bbfb11 Using the markdown's quote syntax and explaining why use include jQuery 2014-08-04 10:42:55 +02:00
Christopher Chedeau
226f45b24d typo "refere" -> "reference" 2014-08-03 18:53:18 +02:00
Christopher Chedeau
5805ab17ed Merge pull request #1976 from vjeux/community_21
Community Roundup #21
2014-08-03 18:22:57 +02:00
Christopher Chedeau
ffef61e407 english + casing + 02 -> 03 2014-08-03 18:20:54 +02:00
Ben Alpert
320d72c735 Merge pull request #1985 from jimobrien/master
Fix typo in test utils documentation
2014-08-03 00:41:49 -07:00
Jim OBrien
0e7526e401 typo 2014-08-02 22:04:37 -07:00
Christopher Chedeau
cd25fe1ef3 Community Roundup #21 2014-08-02 14:44:57 +02:00
Julien Bordellier
5eca8d604f Adding a note just below the jQuery inclusion in the tutorial to inform that jQuery is not mandatory.
It's linked with #603
2014-08-02 11:32:31 +02:00
cutbko
d0494ac85c Update ref-08-reconciliation.md 2014-08-02 02:59:16 +03:00
Paul O’Shannessy
5d288deba5 Merge pull request #1956 from syranide/ffenter
Improve normalization of charCode, fix FF not reporting Enter
2014-07-31 15:11:09 -07:00
Andreas Svensson
b83076468d Improve normalization of charCode, fix FF not reporting Enter 2014-07-31 22:00:23 +02:00
Paul O’Shannessy
ab2406ffec Merge pull request #1885 from syranide/testinnerhtml
Use faster cached regexps for tests in setInnerHTML
2014-07-31 11:44:21 -07:00
Ben Alpert
3acb5f84b3 Merge pull request #1960 from julen/docs/setState
Docs: added note about setState() side-effects
2014-07-31 00:33:53 -07:00
Julen Ruiz Aizpuru
1219663e9a Docs: added note about setState() side-effects 2014-07-31 09:31:01 +02:00
Paul O’Shannessy
db6e07e87d Merge pull request #1827 from syranide/jsxstrict
JSXTransformer, stricter parsing of script type
2014-07-30 21:39:37 -07:00
Paul O’Shannessy
62a336f9ab Update CONTRIBUTING.md 2014-07-30 13:09:23 -07:00
Vjeux
aed0931f9a update background color for image 2014-07-30 21:09:17 +02:00
Vjeux
76c3d7c647 fix spurious ) 2014-07-30 21:09:17 +02:00
Vjeux
9f5403b18c Include image 2014-07-30 19:31:16 +02:00
Vjeux
10bcfdf1f7 Flux blog post about dispatcher 2014-07-30 19:12:21 +02:00
Paul O’Shannessy
61c8b2a6e8 Merge pull request #1961 from knuton/patch-1
Fix typo
2014-07-30 10:04:24 -07:00
Johannes Emerich
52143700e8 Fix typo 2014-07-30 15:38:19 +02:00
Sébastien Lorber
d0d15a3a3c Update 09.2-form-input-binding-sugar.md -> better checkedLink documentation 2014-07-30 11:17:38 +02:00
Paul O’Shannessy
590e5057bc Merge pull request #1759 from spicyj/gh-1698
Use setImmediate to defer value restoration
2014-07-29 20:15:59 -07:00
Paul O’Shannessy
0a1c5dad67 Merge pull request #1758 from spicyj/setimmediate
Add ReactUpdates.setImmediate for async callbacks
2014-07-29 20:15:31 -07:00
Paul O’Shannessy
45c719942e Merge pull request #1854 from syranide/floatfix
cssFloat is only accessible as styleFloat on IE8
2014-07-29 13:00:20 -07:00
Sébastien Lorber
b9a0c27914 Update 09.2-form-input-binding-sugar.md
Add better explanation for 2-way data binding to checkboxes using `checkedLink`. As mentionned here: https://github.com/facebook/react/issues/1930
2014-07-29 16:14:27 +02:00
Andreas Svensson
ffafae5cfe cssFloat is only accessible as styleFloat on IE8 2014-07-29 10:15:01 +02:00
Paul O’Shannessy
90df0ea8bd Merge pull request #1951 from JedWatson/patch-1
Adding "Tutorial" label to Flux Todo List nav item
2014-07-28 21:57:16 -07:00
Jed Watson
bfd0a53d3e Updating "Tutorial" label as per suggestion 2014-07-29 12:20:15 +10:00
Jed Watson
2e6ff6449b Adding "Tutorial" label to Flux Todo List nav item 2014-07-29 10:54:22 +10:00
Christopher Chedeau
2822d63df2 Rename "Ice Lab studio" to "Icelab" 2014-07-28 11:48:25 +02:00
Christopher Chedeau
ba76ba8d4b Merge pull request #1944 from shaneosullivan/patch-3
Fix small language nits
2014-07-28 11:46:55 +02:00
Ben Alpert
8cb2812cff Merge pull request #1941 from divad12/animating-one-or-zero-items-docs
Clarify animating one or zero items in animation docs
2014-07-27 16:05:24 -07:00
Shane O'Sullivan
460ca72abb Update 2014-07-28-community-roundup-20.md 2014-07-27 14:16:59 -07:00
Shane O'Sullivan
b606dac461 Fix small language nits 2014-07-27 13:44:47 -07:00
Ben Alpert
673e228af9 Merge pull request #1943 from shaneosullivan/patch-1
Fix typo for 'fundations'
2014-07-27 13:30:12 -07:00
Shane O'Sullivan
0c4b2728c8 Fix typo for 'fundations' 2014-07-27 13:29:12 -07:00
Ben Alpert
e30b60cc58 Wording tweaks to community roundup 2014-07-27 13:06:20 -07:00
Christopher Chedeau
88d0c81680 Merge pull request #1942 from LoukaN/roundup_20
Community Round-up #20
2014-07-27 14:19:55 +02:00
Vjeux
75ee7d05bb Community Round-up #20 2014-07-27 13:55:20 +02:00
David Hu
721f397303 Clarify animating one or zero items in docs
When I first read these docs, it was not immediately clear to me that I could
use `React.addons.CSSTransitionGroup` to animate a single item coming into view,
or an item replacing an item already there. This was partly due to the example
which rendered a list of items.

This PR adds a blurb about being able to use
`React.addons.CSSTransitionGroup` with one or zero items, provides a code
example, and adds a note blockquote that a `key` attribute must always be
provided on each child of `React.addons.CSSTransitionGroup`. The latter point
was not immediately obvious from the original `TodoList` code example, since it
renders a list which would normally require `key` attributes anyway.

Test Plan:
- Refreshed `http://localhost:4000/react/docs/animation.html`, saw that the
  docs additions rendered correctly.
- Example code not tested (it was extracted from working code).
2014-07-27 00:26:17 -07:00
Sebastian Markbage
c6b2687bbd Partially revert React.createDescriptor
We still have some issues to work out when the type argument is a mock.
2014-07-25 16:48:10 -07:00
Paul O’Shannessy
d526456951 Delete ImmutableObject-test.js
Our syncing doesn't update these tests so just remove them.
2014-07-25 16:47:48 -07:00
Cheng Lou
aed2d86e7b Merge pull request #1929 from zertosh/master
ReactTransitionChildMapping comment typo
2014-07-25 16:38:55 -07:00
Paul O’Shannessy
631705f31d v0.11.1 release materials, update to 0.11.0 release materials
* 0.11.1 blog post, changelog
* Update to 0.11.0 post, changelog
* Update version in site, add starter kit
2014-07-25 12:59:56 -07:00
andres suarez
1961fecf2d ReactTransitionChildMapping comment typo 2014-07-25 09:03:51 -04:00
Cheng Lou
af21aeb59f Merge pull request #1924 from spicyj/autobind-bind
Use .bind when autobinding
2014-07-25 01:34:15 -07:00
Paul O’Shannessy
eb8f766005 [docs] increase base font-weight
Closes #1926
2014-07-24 21:01:20 -07:00
Cheng Lou
7f584f3a49 Merge pull request #1511 from syranide/strsidefx
HAS_SIDE_EFFECTS should compare by type-casting
2014-07-24 13:38:01 -07:00
Paul O’Shannessy
f76d4dd48f Merge pull request #1770 from eins78/master
Also list <form> in error message as possible culprit
2014-07-24 12:53:19 -07:00
Ben Alpert
f1508c4937 Use .bind when autobinding
This eliminates all of the `boundMethod` frames from call stacks when debugging and as far as I know should behave the same otherwise.

Test Plan: jest
2014-07-24 12:11:19 -07:00
Andreas Svensson
3b94abcb3b HAS_SIDE_EFFECTS properties must compare as property type 2014-07-24 11:53:02 +02:00
Paul O’Shannessy
efdc5da097 Merge pull request #1903 from syranide/ie8nmlb
Remove empty TextNode left behind by IE8 setInnerHTML workaround
2014-07-23 18:40:35 -07:00
Cheng Lou
b0945b16cc Merge pull request #1560 from spicyj/simplify-lifecycle
Simplify composite lifecycle state
2014-07-23 18:02:39 -07:00
Andreas Svensson
8a135c0e75 Remove empty TextNode left behind by IE8 setInnerHTML workaround 2014-07-23 21:52:56 +02:00
Paul O’Shannessy
13e2c38a01 Merge pull request #1865 from syranide/modistatefalse
getModifierState should always return a boolean
2014-07-23 10:12:49 -07:00
Andreas Svensson
030071dd8b getModifierState should always return a boolean 2014-07-23 10:01:22 -07:00
Cheng Lou
79076fad9c Merge pull request #1774 from syranide/ie8focusthrow
Fix IE8 potentially throwing during restoreSelection
2014-07-22 16:29:07 -07:00
Paul O’Shannessy
6d02e04672 Merge pull request #1879 from syranide/modistatewrong
getModifierState incorrectly exposed as SyntheticMouseEvent.getEventModifierState
2014-07-22 15:50:15 -07:00
Paul O’Shannessy
2ba254af70 Merge pull request #1909 from zpao/move-react-source
Move react-source gem out of project root
2014-07-22 15:34:50 -07:00
Paul O’Shannessy
520c4f96d4 Move react-source gem out of project root
Now it requires a build step. At least the confusing lib directory is
gone though.
2014-07-21 22:56:32 -07:00
Ben Alpert
354fb44299 Use setImmediate to defer value restoration
Depends on #1758.

Fixes #1698.

Previously, controlled components would update too soon when using something like ReactLayeredComponentMixin (i.e., before the layer's updates could propagate from the parent), causing the cursor to jump even when always updating the new model value to match the DOM state. With this change, we defer the update until after all nested updates have had a chance to finish, which prevents the cursor from misbehaving.

Also cleaned up the logic around updating a bit -- the .value and .checked updates in ReactDOMInput weren't being relied on at all so I removed them and opted for a simple forceUpdate instead. I also got rid of _isChanging which hasn't been necessary since the introduction of update batching.

Test Plan: Tested the example in http://jsfiddle.net/Bobris/ZZtXn/2/ and verified that the cursor didn't jump. Changed the code to filter out numbers and verified that the field prevents typing numbers (attempting to do so still causes the cursor to jump to the end). Also verified that controlled and uncontrolled radio buttons, textareas, and select boxes work.
2014-07-21 22:42:18 -07:00
Ben Alpert
12b532c253 Add ReactUpdates.setImmediate for async callbacks
Callbacks passed to this setImmediate function are called at the end of the current update cycle, which is guaranteed to be asynchronous but in the same event loop (with the default batching strategy).

This is useful for new-style refs (#1373, #1554) and for fixing #1698.

Test Plan: jest
2014-07-21 22:41:00 -07:00
Paul O’Shannessy
520d73d73c Merge pull request #1908 from spicyj/simpler-server-willmount
Simpler way to prevent flushing updates on server
2014-07-21 21:42:07 -07:00
Ben Alpert
6259d88f03 Simpler way to prevent flushing updates on server
Test Plan: Only failing tests in jest are immutable tests that were already failing.
2014-07-21 17:25:52 -07:00
Paul O’Shannessy
04e341936c Include Object.assign polyfill
This isn't a good final solution but it makes React actually usable on
its own.

This also makes tests runnable, though only via jest
(./node_modules/.bin/jest)
2014-07-21 16:18:12 -07:00
Paul O’Shannessy
4bb7b70b28 Merge pull request #1892 from thauburger/patch-1
Remove _addPromise from Dispatcher code example
2014-07-21 15:55:41 -07:00
Cheng Lou
af72d9f37f Merge pull request #1891 from robarnold/patch-1
Fix small issue in ReactContext comment
2014-07-21 14:47:07 -07:00
WickyNilliams
ee325eb5d5 follow docs convention for notes 2014-07-21 17:11:40 +01:00
Cheng Lou
d210269985 Merge pull request #1882 from glenjamin/patch-1
Note how to access Perf in docs
2014-07-20 11:45:24 -07:00
Ben Alpert
76d2ebdf74 Merge pull request #1893 from chenglou/docs-bar
[Docs] Add recent addons to addons.html; tweak wording
2014-07-20 01:16:52 -07:00
Cheng Lou
d95a4ef983 [Docs] Add recent addons to addons.html; tweak wording
Add PureRenderMixin and Perf to this page. Also, I think it's better if the link titles reflect the name used by these addons.
2014-07-20 00:59:19 -07:00
Tom Hauburger
c94bb20cb8 Remove _addPromise from Dispatcher code example
`_addPromise` is not used in the provided Dispatcher example, nor does it exist in Dispatcher.js found here: https://github.com/facebook/react/blob/master/examples/todomvc-flux/js/dispatcher/Dispatcher.js
2014-07-19 19:52:33 -07:00
robarnold
83e5e9bedf Fix small issue in ReactContext comment
Noticed this the other day and meant to fix it.
2014-07-19 19:09:35 -07:00
Andreas Svensson
0efe8ca362 JSXTransformer, stricter parsing of script type 2014-07-20 01:20:30 +02:00
Ben Alpert
93712246c8 Reword sentence in reconciliation docs 2014-07-19 14:44:16 -07:00
Andreas Svensson
6950a8418c Use faster cached regexps for tests in setInnerHTML 2014-07-19 21:00:35 +02:00
Glen Mailer
83fd5583bf Note how to access Perf in docs 2014-07-19 16:14:27 +01:00
Andreas Svensson
6f0db65777 getModifierState incorrectly exposed as SyntheticMouseEvent.getEventModifierState 2014-07-19 10:44:11 +02:00
Sebastian Markbage
c419cce5c9 Move defaultProps resolution to the descriptor factory
Moves the defaultProps resolution to the descriptor factory.
2014-07-18 22:01:36 -07:00
Sebastian Markbage
3a7dbe6b73 Deprecate transferPropsTo 2014-07-18 22:01:36 -07:00
Paul O'Shannessy
de711efcc9 When proxying statics functions, copy properties
Port of 076047012a which went in
externally before ReactLegacyDescriptor happened, so it needed to be
ported.
2014-07-18 22:01:36 -07:00
Ben Newman
23c5332208 Fix ReactTestUtils.mockComponent so that mockTagName is not ignored.
The `mockTagName` parameter was always optional, and so probably was not
used very often. If you tried to use it, it would be shadowed by the
`var mockTagName` declaration in the `render` method, so only
`module.mockTagName` or `"div"` were ever possible values.
2014-07-18 22:01:36 -07:00
Ben Newman
2347abf75c Don't call window.getSelection when it isn't defined.
Sadly, jsdom does not support `window.getSelection` yet, but
`ExecutionEnvironment.canUseDOM` is `true` in a jsdom environment.
2014-07-18 22:01:36 -07:00
Sebastian Markbage
3818656f70 Use Object.assign in merge/mergeInto
Relax the argument type checks. Currently we throw for non-objects and terminals
but Object.assign does a coercion to Object instead. It also allows merging
Arrays as if they are objects.

This also relaxes the check for dependents such as ImmutableObject. This sucks
but it will allow us to use a fast code path to native Object.assign.

We always have the option of adding warnings to Object.assign or static type
checks.

I'm keeping the null check. Object.assign throws for null checks.

We'll also start returning the result of coercions just like Object.assign.
2014-07-18 22:01:36 -07:00
Sebastian Markbage
225d76f772 Drop transferPropsTo usage in React core
These were completely unnecessary uses of transferPropsTo.
2014-07-18 22:01:36 -07:00
Ben Newman
66cdba3dfb Avoid leading spaces when first argument to joinClasses is falsy.
This detail is going to become more important once the idiom
`className={joinClasses(this.props.className, newClass)}` becomes more
common, as it will when we move away from `this.transferPropsTo`.
2014-07-18 22:01:36 -07:00
Sebastian Markbage
5aab0bddaa Move key/ref off props and prepare for new descriptor factories
Breaking changes

- key/ref are no longer accessible on props but they are accessible on the
  descriptors. This means that parents/owners can access it but not the
  component itself.

- Descriptor factories are now plain functions and you can't rely on the
  prototype or constructors of descriptors to identify the component type.

Existing descriptor factories are now wrapped in a legacy factory. Currently it
does nothing but it will give us a hook to track callers to factories that are
not using JSX but just invoking the function directly. It also proxies static
methods/properties to the underlying class. The newer factories don't have this
feature.

ReactTextComponent has it's own little factory because it's props is not an
object. This is a detail and will go away once ReactTextComponent no longer
needs descriptors.
2014-07-18 22:01:36 -07:00
Paul O’Shannessy
06e6313a72 Merge pull request #1876 from petehunt/fix-jsxt2
Fix JSXTransformer
2014-07-18 20:07:49 -07:00
petehunt
e8efa2a1e9 Fix browser-tranforms 2014-07-18 19:02:31 -07:00
Paul O’Shannessy
9929f6de1e Merge pull request #1870 from spicyj/gh-1866
Don't initialize reconcile transaction on server
2014-07-18 16:40:03 -07:00
Paul O’Shannessy
8439deadd0 Merge pull request #1869 from syranide/modistatecase
getModifierState is case sensitive
2014-07-18 16:13:34 -07:00
Ben Alpert
54d91c293d Don't initialize reconcile transaction on server
...when calling setState from within a componentWillMount. Fixes #1866.

Test Plan: jest
2014-07-18 11:03:34 -07:00
Paul O’Shannessy
f367785a78 Merge pull request #1837 from garrensmith/update-todo-example
Update Todo MVC example
2014-07-18 10:56:21 -07:00
Andreas Svensson
495d866a66 getModifierState is case sensitive 2014-07-18 18:24:11 +02:00
Nick Williams
48006b0e63 Add note about key prop being excluded by cloneWithProps
Whilst this is intentional behaviour (see #1274), it is not documented anywhere, so it is worth mentioning.

It would also be nice if React issued a warning to console if a cloned component loses its key (as this will silently break reconciliation?)
2014-07-18 16:14:55 +01:00
Garren Smith
0c4be5a8f9 Update Todo MVC example
A small patch for the Todo MVC example to use React 0.11.0.
This then allows the `MainSection` to return `null` instead of
previous `<noscript/>`.
2014-07-18 10:51:43 +02:00
James Seppi
6d1ede34df fix typo
Closes #1859.
2014-07-17 15:58:33 -07:00
Ben Alpert
9698b54dfe Merge pull request #1860 from KyleAMathews/patch-3
Not a candidate anymore
2014-07-17 15:22:04 -07:00
Ben Alpert
384e8fe195 Fix appearance of video thumbnail 2014-07-17 15:19:58 -07:00
Kyle Mathews
bd5e8aa076 Update 2014-07-17-react-v0.11.md 2014-07-17 15:18:41 -07:00
Ben Alpert
d39b8078a3 Merge pull request #1835 from amm385/patch-1
Update videos.md
2014-07-17 15:15:11 -07:00
Paul O’Shannessy
5bfee601ce Bump version for 0.12.0-alpha
[skip ci]
2014-07-17 14:22:50 -07:00
Paul O’Shannessy
8814ee2065 Release materials for 0.11 2014-07-17 14:18:28 -07:00
Felix Gnass
5f56f4ac36 add picture to xjs.knownTags 2014-07-16 19:57:19 +02:00
Felix Gnass
33bd509737 add picture element and related attributes 2014-07-16 13:19:55 +02:00
Areeb Malik
28ed79c2ce Update videos.md
reordering to spot #4
2014-07-14 17:31:56 -07:00
Areeb Malik
afe30ad8ee Update videos.md
Adding video for my recent talk in London about using React in large scale applications
2014-07-14 17:16:44 -07:00
Andreas Svensson
f8ccc2186f Fix IE8 potentially throwing during restoreSelection 2014-07-14 21:07:56 +02:00
Ray
bea24ca944 fix some translation bug 2014-07-14 20:25:07 +08:00
Ray
8758addb41 add translation for 02-displaying-data.md and change next link in 01-why-react.zh-CN.md 2014-07-14 20:13:33 +08:00
Max F. Albrecht
bcea3bee45 Also list <form> in error message as possible culprit 2014-07-08 14:08:17 +02:00
Ben Alpert
cb20dec85f Simplify composite lifecycle state
We now forbid calling setState or forceUpdate if any component's render function is higher in the stack, not just the component you're trying to update. (We do this already now for React.renderComponent and React.unmountComponentAtNode.)

This also has the advantage that we can now remove CompositeLifeCycle.RECEIVING_STATE, making _compositeLifeCycleState easier to reason about (not to mention that RECEIVING_STATE was a confusing name) and making it possible to remove a try/finally from the render path which might help with perf.
2014-06-28 01:04:04 -07:00
Dan Abramov
e625b8b234 Warn when using hyphenated style property names 2014-06-24 13:05:52 +04:00
Dan Abramov
367c88e399 Apply component and mixins specs deterministically
Fixes #1589.
2014-05-26 02:56:28 +04:00
Mark IJbema
59616672d7 Make sure it works when we have no css transitions 2014-05-18 11:31:24 +02:00
Mark IJbema
cd7b8aa0b1 Added event parameter 2014-05-18 11:29:29 +02:00
Andreas Svensson
3bec9f070f Guard against contentEditable with children props 2014-05-15 11:08:25 +02:00
Ben Alpert
7fb7e95108 Add React.batchedUpdates to public API
Fixes #906.
2014-04-16 15:59:54 -07:00
Mark IJbema
89a2157914 Only stop if the transition on this element ended
This way it doesn't end when some random element elsewhere on the page has an ending transition.

It must be noted that this is not a complete fix. If you have multiple transitions on the element, it still ends when the first ends.

I ran into this not working (the transition ends almost immediately, because some unrelated transition ends). This fixes it for me, but I was wondering whether this cornercase was considered, and whether the other cornercase (multiple transitions) was considered.

I think it's very hard to get this correct, and think it might be better to make the timeout explicit, or at least allow to set it explicit, and fall back to this behaviour. But I'm really interested in feedback on this one.
2014-03-25 15:02:12 +01:00
1307 changed files with 159122 additions and 49095 deletions

27
.babelrc Normal file
View File

@@ -0,0 +1,27 @@
{
"presets": ["react"],
"ignore": ["third_party"],
"plugins": [
"syntax-trailing-function-commas",
"babel-plugin-transform-object-rest-spread",
"transform-es2015-template-literals",
"transform-es2015-literals",
"transform-es2015-arrow-functions",
"transform-es2015-block-scoped-functions",
["transform-es2015-classes", { "loose": true }],
"transform-es2015-object-super",
"transform-es2015-shorthand-properties",
"transform-es2015-computed-properties",
"transform-es2015-for-of",
"check-es2015-constants",
["transform-es2015-spread", { "loose": true }],
"transform-es2015-parameters",
["transform-es2015-destructuring", { "loose": true }],
"transform-es2015-block-scoping",
"transform-es2015-modules-commonjs",
"transform-es3-member-expression-literals",
"transform-es3-property-literals",
"./scripts/babel/transform-object-assign-require",
"transform-react-jsx-source"
]
}

View File

@@ -6,6 +6,7 @@ charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
max_line_length = 80
trim_trailing_whitespace = true

17
.eslintignore Normal file
View File

@@ -0,0 +1,17 @@
# We can probably lint these later but not important at this point
src/renderers/art
src/shared/vendor
# But not in docs/_js/examples/*
docs/_js/*.js
docs/js/
docs/_site/
# gems
docs/vendor/bundle/
# This should be more like examples/**/thirdparty/** but
# we should fix https://github.com/facebook/esprima/pull/85 first
examples/
# Ignore built files.
build/
coverage/
scripts/bench/bench-*.js
vendor/*

74
.eslintrc.js Normal file
View File

@@ -0,0 +1,74 @@
const OFF = 0;
const WARNING = 1;
const ERROR = 2;
module.exports = {
parser: 'babel-eslint',
extends: './node_modules/fbjs-scripts/eslint/.eslintrc.js',
plugins: [
'react',
'react-internal',
],
ecmaFeatures: {
modules: false
},
// We're stricter than the default config, mostly. We'll override a few rules
// and then enable some React specific ones.
rules: {
'accessor-pairs': OFF,
'brace-style': [ERROR, '1tbs'],
'comma-dangle': [ERROR, 'always-multiline'],
'consistent-return': ERROR,
'dot-location': [ERROR, 'property'],
'dot-notation': ERROR,
'eol-last': ERROR,
'eqeqeq': [ERROR, 'allow-null'],
'indent': [ERROR, 2, {SwitchCase: 1}],
'jsx-quotes': [ERROR, 'prefer-double'],
'no-bitwise': OFF,
'no-inner-declarations': [ERROR, 'functions'],
'no-multi-spaces': ERROR,
'no-restricted-syntax': [ERROR, 'WithStatement'],
'no-shadow': ERROR,
'no-unused-expressions': ERROR,
'no-unused-vars': [ERROR, {args: 'none'}],
'quotes': [ERROR, 'single', 'avoid-escape'],
'space-after-keywords': ERROR,
'space-before-blocks': ERROR,
'space-before-function-paren': [ERROR, {anonymous: 'never', named: 'never'}],
'space-before-keywords': ERROR,
'strict': [ERROR, 'global'],
// React & JSX
// Our transforms set this automatically
'react/display-name': OFF,
'react/jsx-boolean-value': [ERROR, 'always'],
'react/jsx-no-undef': ERROR,
// We don't care to do this
'react/jsx-sort-prop-types': OFF,
'react/jsx-sort-props': OFF,
'react/jsx-uses-react': ERROR,
'react/jsx-uses-vars': ERROR,
// It's easier to test some things this way
'react/no-did-mount-set-state': OFF,
'react/no-did-update-set-state': OFF,
// We define multiple components in test files
'react/no-multi-comp': OFF,
'react/no-unknown-property': OFF,
// This isn't useful in our test code
'react/prop-types': OFF,
'react/react-in-jsx-scope': ERROR,
'react/self-closing-comp': ERROR,
// We don't care to do this
'react/sort-comp': OFF,
'react/wrap-multilines': [ERROR, {declaration: false, assignment: false}],
// CUSTOM RULES
// the second argument of warning/invariant should be a literal string
'react-internal/warning-and-invariant-args': ERROR,
}
};

37
.flowconfig Normal file
View File

@@ -0,0 +1,37 @@
[ignore]
.*/examples/.*
.*/build/.*
.*/node_modules/y18n/.*
.*/__mocks__/.*
.*/__tests__/.*
# Ignore Docs
.*/docs/.*
[include]
[libs]
./node_modules/fbjs/flow/lib
./flow
[options]
module.system=haste
esproposal.class_static_fields=enable
esproposal.class_instance_fields=enable
experimental.strict_type_args=true
munge_underscores=false
suppress_type=$FlowIssue
suppress_type=$FlowFixMe
suppress_type=$FixMe
suppress_comment=\\(.\\|\n\\)*\\$FlowFixMe\\($\\|[^(]\\|(\\(>=0\\.\\(2[0-4]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*\\)?)\\)
suppress_comment=\\(.\\|\n\\)*\\$FlowIssue\\((\\(>=0\\.\\(2[0-4]\\|1[0-9]\\|[0-9]\\).[0-9]\\)? *\\(site=[a-z,_]*\\)?)\\)? #[0-9]+
suppress_comment=\\(.\\|\n\\)*\\$FlowFixedInNextDeploy
[version]
^0.27.0

9
.gitignore vendored
View File

@@ -7,15 +7,22 @@ static
_SpecRunner.html
__benchmarks__
build/
coverage/
.module-cache
*.gem
docs/.bundle
docs/code
docs/_site
docs/.sass-cache
docs/css/react.css
docs/js/*
docs/downloads
docs/vendor/bundle
examples/shared/*.js
test/the-files-to-test.generated.js
*.log*
chrome-user-data
*.sublime-project
*.sublime-workspace
.idea
*.iml
.vscode

View File

@@ -1,21 +0,0 @@
{
"node": true,
"boss": true,
"curly": true,
"devel": true,
"eqnull": true,
"expr": true,
"funcscope": true,
"globalstrict": true,
"loopfunc": true,
"newcap": false,
"noempty": true,
"nonstandard": true,
"onecase": true,
"sub": true,
"regexdash": true,
"trailing": true,
"undef": true,
"unused": "vars"
}

100
.mailmap
View File

@@ -1,44 +1,119 @@
Adam Timberlake <adam.timberlake@gmail.com>
Alex Mykyta <dancingwithcows@gmail.com>
Alex Pien <alexpien@gmail.com>
Alex Pien <alexpien@gmail.com> <pien@pien-mbp.dhcp.thefacebook.com>
Alex Pien <alexpien@gmail.com> <pien@pien-mbp.local>
Andreas Savvides <asavvides@twitter.com> <AnSavvides@users.noreply.github.com>
Andreas Savvides <asavvides@twitter.com> <andreas@nibbli.com>
Andreas Svensson <andreas@syranide.com>
Andres Suarez <zertosh@gmail.com>
Andrew Kulakov <avk@8xx8.ru>
Andrew Sokolov <asokolov@atlassian.com>
Anto Aravinth <anto.aravinth.cse@gmail.com>
Baraa Hamodi <bhamodi@uwaterloo.ca> <baraa@optimizely.com>
Ben Alpert <ben@benalpert.com> <balpert@fb.com>
Ben Alpert <ben@benalpert.com> <spicyjalapeno@gmail.com>
Ben Halpern <bendhalpern@gmail.com>
Ben Newman <bn@cs.stanford.edu> <benjamn@fb.com>
Benjamin Woodruff <github@benjam.info> <bgw@fb.com>
Bill Fisher <fisherwebdev@gmail.com>
Blaine Kasten <blainekasten@gmail.com>
Brandon Tilley <brandon@brandontilley.com>
Changsoon Bok <winmain@gmail.com>
Cheng Lou <chenglou92@gmail.com> <chenglou@fb.com>
Christian Oliff <christianoliff@yahoo.com>
Christoph Pojer <christoph.pojer@gmail.com>
Christoph Pojer <christoph.pojer@gmail.com> <cpojer@fb.com>
Connor McSheffrey <c@conr.me> <connor.mcsheffrey@gmail.com>
Conor Hastings <hastings.conorm@gmail.com> <conor@socialtables.com>
Dan Schafer <dschafer@fb.com>
Daniel Gasienica <daniel@gasienica.ch> <daniel@fiftythree.com>
Daniel Gasienica <daniel@gasienica.ch> <dgasienica@zynga.com>
Daniel Hejl <daniel.hejl@hotmail.com>
Daniel Lo Nigro <daniel@dan.cx> <danlo@fb.com>
Dave Galbraith <dave@jut.io>
Dennis Johnson <songawee@gmail.com>
Dmitry Blues <dmitri.blyus@gmail.com>
Dongsheng Liu <bellanchor@gmail.com>
Erik Harper <eharper@mixpo.com>
Evan Coonrod <evan@paloalto.com>
Fabio M. Costa <fabiomcosta@gmail.com> <fabs@fb.com>
Felix Kling <felix.kling@gmx.net> <fkling@fb.com>
François-Xavier Bois <fxbois@gmail.com>
Fyodor Ivanishchev <cbrwizard@gmail.com>
Gabe Levi <gabelevi@gmail.com> <glevi@fb.com>
Geert Pasteels <geert.pasteels@gmail.com>
George A Sisco III <george.sisco@gmail.com>
Georgii Dolzhykov <thorn.mailbox@gmail.com>
Harry Hull <harry.hull1@gmail.com>
Hendrik Swanepoel <hendrik.swanepoel@gmail.com>
Hyeock Kwon <doublus@gmail.com>
Ian Obermiller <ian@obermillers.com> <iano@fb.com>
Ilia Pavlenkov <dortonway@gmail.com>
Ilyá Belsky <gelias.gbelsky@gmail.com>
Ingvar Stepanyan <me@rreverser.com> <rreverser@ubuntu.rreverser.a4.internal.cloudapp.net>
Irae Carvalho <irae@irae.pro.br>
Ivan Vergiliev <ivan.vergiliev@gmail.com>
JJ Weber <jj.weber@gmail.com>
Jae Hun Ro <jhr24@duke.edu>
Jaime Mingo <j.mingov@3boll.com>
James Brantly <james@jbrantly.com>
Jan Hancic <jan.hancic@gmail.com> <jan.hancic@caplin.com>
Jan Kassens <jan@kassens.net> <jkassens@fb.com>
Jason Bonta <jbonta@gmail.com> <jasonbonta@fb.com>
Jason Quense <monastic.panic@gmail.com>
Jason Trill <jason@jasontrill.com>
Jeff Chan <jefftchan@gmail.com> <jeff@quizlet.com>
Jeff Morrison <jeff@anafx.com> <Jeff@anafx.com>
Jeff Morrison <jeff@anafx.com> <jeffmo@fb.com>
Jeff Morrison <jeff@anafx.com> <lbljeffmo@gmail.com>
Jeffrey Lin <lin.jeffrey@gmail.com> <jeffreylin@fb.com>
Jim Sproch <jsproch@fb.com>
Jim Sproch <jsproch@fb.com> <jsfb@github>
Jim Sproch <jsproch@fb.com> <none@no-reply.com>
Jinwoo Oh <arkist@gmail.com>
Jinxiu Lee <lee.jinxiu@gmail.com>
Jiyeon Seo <zzzeons@gmail.com>
Jon Chester <jonchester@fb.com>
Jon Madison <jon@tfftech.com>
Jonathan Hsu <jhiswin@gmail.com>
Jonathan Persson <persson.jonathan@gmail.com> <jonathan.persson@creuna.se>
Jordan Walke <jordojw@gmail.com>
Jordan Walke <jordojw@gmail.com> <jordanjcw@fb.com>
Joseph Savona <joesavona@fb.com> <josephsavona@users.noreply.github.com>
Josh Duck <josh@fb.com> <github@joshduck.com>
Juan Serrano <germ13@users.noreply.github.com>
Jun Wu <quark@lihdd.net>
Justin Robison <jrobison151@gmail.com>
Keito Uchiyama <projects@keito.me> <keito@fb.com>
Kevin Coughlin <kevintcoughlin@gmail.com> <kevincoughlin@tumblr.com>
Krystian Karczewski <karcz.k@gmail.com>
Kunal Mehta <k.mehta@berkeley.edu> <kunalm@fb.com>
Laurence Rowe <l@lrowe.co.uk> <laurence@lrowe.co.uk>
Marcin K. <katzoo@github.mail>
Mark Anderson <undernewmanagement@users.noreply.github.com>
Mark Funk <mfunk86@gmail.com> <mark@boomtownroi.com>
Martin Andert <mandert@gmail.com>
Mathieu M-Gosselin <mathieumg@gmail.com> <mathieumg@atx33.com>
Matsunoki <himkt@klis.tsukuba.ac.jp>
Matt Brookes <matt@brookes.net>
Matt Dunn-Rankin <mdunnrankin@gmail.com> <matchu1993@gmail.com>
Matt Zabriskie <mzabriskie@gmail.com>
Matthew Johnston <matthewjohnston4@outlook.com> <matthewjohnston4@users.noreply.github.com>
Matthew Looi <looi.matthew@gmail.com>
Mattijs Kneppers <mattijs@arttech.nl>
Max Heiber <max.heiber@gmail.com>
Max Stoiber <contact@mstoiber.com>
Michal Srb <xixixao@seznam.cz> xixixao <xixixao@seznam.cz>
Michelle Todd <himichelletodd@gmail.com> <michelle@khanacademy.org>
Mihai Parparita <mihai.parparita@gmail.com> <mihai@persistent.info>
Minwe LUO <minwe@yunshipei.com>
Murray M. Moss <murray@mmoss.name> <MMoss@cainc.com>
Murray M. Moss <murray@mmoss.name> <mmoss@users.noreply.github.com>
Neri Marschik <marschik_neri@cyberagent.co.jp>
Nick Gavalas <njg57@cornell.edu>
Nick Thompson <ncthom91@gmail.com> <nickt@instagram.com>
Patrick Stapleton <github@gdi2290.com>
Paul OShannessy <paul@oshannessy.com> <poshannessy@fb.com>
Paul Shen <paul@mnml0.com> <paulshen@fb.com>
Pete Hunt <floydophone@gmail.com>
@@ -48,15 +123,40 @@ Pete Hunt <floydophone@gmail.com> <phunt@instagram.com>
Petri Lievonen <plievone@cc.hut.fi>
Petri Lievonen <plievone@cc.hut.fi> <petri.lievonen@tkk.fi>
Pieter Vanderwerff <me@pieter.io> <pieter@heyday.co.nz>
Pouja Nikray <poujanik@gmail.com>
Rainer Oviir <roviir@gmail.com> <raineroviir@rainers-MacBook-Pro.local>
Ray <ray@tomo.im>
Richard Feldman <richard.t.feldman@gmail.com> <richard@noredink.com>
Richard Livesey <Livesey7@hotmail.co.uk>
Rob Arnold <robarnold@cs.cmu.edu>
Robert Binna <rbinna@gmail.com> <speedskater@users.noreply.github.com>
Robin Frischmann <robin@rofrischmann.de>
Sander Spies <sandermail@gmail.com>
Scott Feeney <scott@oceanbase.org> <smf@fb.com>
Sebastian Markbåge <sebastian@calyptus.eu> <sema@fb.com>
Sergey Rubanov <chi187@gmail.com>
Shogun Sea <shogunsea08@gmail.com> <xxin@groupon.com>
Soichiro Kawamura <mail@w-st.com>
Sota Ohara <ohrst.18@gmail.com>
Steven Luscher <react@steveluscher.com> <github@steveluscher.com>
Steven Luscher <react@steveluscher.com> <steveluscher@fb.com>
Steven Luscher <react@steveluscher.com> <steveluscher@instagram.com>
Steven Luscher <react@steveluscher.com> <steveluscher@users.noreply.github.com>
Stoyan Stefanov <ssttoo@ymail.com>
Tengfei Guo <terryr3rd@yeah.net> <tfguo369@gmail.com>
Thomas Aylott <oblivious@subtlegradient.com> <aylott@fb.com>
Timothy Yung <yungsters@gmail.com> <yungsters@fb.com>
Tomoya Suzuki <tmysz.dev@gmail.com>
Vasiliy Loginevskiy <Yeti.or@gmail.com>
Vasiliy Loginevskiy <Yeti.or@gmail.com> <yeti-or@yandex-team.ru>
Vjeux <vjeuxx@gmail.com>
Vjeux <vjeuxx@gmail.com> <vjeux@fb.com>
Volkan Unsal <spocksplanet@gmail.com>
Wander Wang <wander.wang@ismole.com>
Xavier Morel <xmo-odoo@users.noreply.github.com>
YouBao Nong <noyobo@gmail.com> <nongyoubao@alibaba-inc.com>
Yutaka Nakajima <nakazye@gmail.com>
Zach Bruggeman <mail@bruggie.com> <zbruggeman@me.com>
iawia002 <z2d@jifangcheng.com> <850127508@qq.com>
元彦 <yuanyan@users.noreply.github.com>
张敏 <cookfront@gmail.com>

View File

@@ -1,55 +1,106 @@
---
language: node_js
node_js:
- '0.10'
- 4
sudo: false
cache:
directories:
- docs/vendor/bundle
- node_modules
before_install:
- |
if [ "$TEST_TYPE" != build_website ] && \
! git diff --name-only $TRAVIS_COMMIT_RANGE | grep -qvE '(\.md$)|(^(docs|examples))/'
then
echo "Only docs were updated, stopping build process."
exit
fi
npm install -g npm@latest-2
npm --version
script:
- |
grunt $TEST_TYPE
after_script:
- |
if [ "$TEST_TYPE" = test ] && [ "$SERVER" ]; then
grunt build
curl \
-F "react=@build/react.js" \
-F "react.min=@build/react.min.js" \
-F "transformer=@build/JSXTransformer.js" \
-F "react-with-addons=@build/react-with-addons.js" \
-F "react-with-addons.min=@build/react-with-addons.min.js" \
-F "npm-react=@build/react.tgz" \
-F "npm-react-tools=@build/react-tools.tgz" \
-F "commit=$TRAVIS_COMMIT" \
-F "date=`git log --format='%ct' -1`" \
-F "pull_request=$TRAVIS_PULL_REQUEST" \
-F "token=$SECRET_TOKEN" \
-F "branch=$TRAVIS_BRANCH" \
$SERVER
if [ "$TEST_TYPE" = build_website ]; then
if [ "$TRAVIS_BRANCH" = "$REACT_WEBSITE_BRANCH" ] && [ "$TRAVIS_PULL_REQUEST" = false ]; then
set -e
GH_PAGES_DIR="$TRAVIS_BUILD_DIR"/../react-gh-pages
echo "machine github.com login reactjs-bot password $GITHUB_TOKEN" >~/.netrc
git config --global user.name "Travis CI"
git config --global user.email "travis@reactjs.org"
git clone --branch gh-pages --depth=50 \
https://reactjs-bot@github.com/facebook/react.git \
$GH_PAGES_DIR
pushd docs
bundle install --jobs=3 --retry=3 --path=vendor/bundle
bundle exec rake release
cd $GH_PAGES_DIR
git status
if ! git diff-index --quiet HEAD --; then
git add -A .
git commit -m "Rebuild website"
git push origin gh-pages
fi
popd
fi
elif [ "$TEST_TYPE" = build ]; then
if [ "$SERVER" ]; then
set -e
./node_modules/.bin/grunt build
curl \
-F "react=@build/react.js" \
-F "react.min=@build/react.min.js" \
-F "react-with-addons=@build/react-with-addons.js" \
-F "react-with-addons.min=@build/react-with-addons.min.js" \
-F "react-dom=@build/react-dom.js" \
-F "react-dom.min=@build/react-dom.min.js" \
-F "react-dom-server=@build/react-dom-server.js" \
-F "react-dom-server.min=@build/react-dom-server.min.js" \
-F "npm-react=@build/packages/react.tgz" \
-F "npm-react-dom=@build/packages/react-dom.tgz" \
-F "npm-react-native=@build/packages/react-native-renderer.tgz" \
-F "commit=$TRAVIS_COMMIT" \
-F "date=`git log --format='%ct' -1`" \
-F "pull_request=$TRAVIS_PULL_REQUEST" \
-F "token=$SECRET_TOKEN" \
-F "branch=$TRAVIS_BRANCH" \
$SERVER
fi
elif [ "$TEST_TYPE" = test ]; then
set -e
# Disabling coverage because it's broken:
# https://travis-ci.org/facebook/react/jobs/128163922
if false; then
./node_modules/.bin/grunt jest:coverage
cat ./coverage/lcov.info | ./node_modules/.bin/coveralls
else
./node_modules/.bin/grunt jest:normal
fi
echo 'Testing in server-render (HTML generation) mode...'
printf '\nmodule.exports.useCreateElement = false;\n' \
>> src/renderers/dom/shared/ReactDOMFeatureFlags.js
./node_modules/.bin/grunt jest:normal
git checkout -- src/renderers/dom/shared/ReactDOMFeatureFlags.js
./node_modules/.bin/gulp react:extract-errors
else
./node_modules/.bin/grunt $TEST_TYPE
fi
env:
matrix:
- TEST_TYPE=build
- TEST_TYPE=test
- TEST_TYPE=lint
- TEST_TYPE=test:webdriver:saucelabs:modern
- TEST_TYPE=flow
- TEST_TYPE=build_website
global:
# SERVER
- secure: qPvsJ46XzGrdIuPA70b55xQNGF8jcK7N1LN5CCQYYocXLa+fBrl+fTE77QvehOPhqwJXcj6kOxI+sY0KrVwV7gmq2XY2HZGWUSCxTN0SZlNIzqPA80Y7G/yOjA4PUt8LKgP+8tptyhTAY56qf+hgW8BoLiKOdztYF2p+3zXOLuA=
# SECRET_TOKEN
- secure: dkpPW+VnoqC/okhRdV90m36NcyBFhcwEKL3bNFExAwi0dXnFao8RoFlvnwiPlA23h2faROkMIetXlti6Aju08BgUFV+f9aL6vLyU7gUent4Nd3413zf2fwDtXIWIETg6uLnOpSykGKgCAT/hY3Q2oPLqOoY0OxfgnbqwxkxljrE=
matrix:
fast_finish: true
allow_failures:
- env: TEST_TYPE=lint
- env: TEST_TYPE=test:coverage
- env: TEST_TYPE=perf:full
- env: TEST_TYPE=test:webdriver:saucelabs:modern
- env: TEST_TYPE=test:webdriver:saucelabs BROWSER_NAME=ie11
- env: TEST_TYPE=test:webdriver:saucelabs BROWSER_NAME=ie10
- env: TEST_TYPE=test:webdriver:saucelabs BROWSER_NAME=ie9
- env: TEST_TYPE=test:webdriver:saucelabs BROWSER_NAME=ie8
- env: TEST_TYPE=test:webdriver:saucelabs:ios
- env: TEST_TYPE=test:webdriver:saucelabs BROWSER_NAME=safari
# GITHUB_TOKEN
- secure: EHCyCSKMwKlLHNtcj9nmkRzmiiPE3aDGlPcnEyrDJeRI0SeN/iCXHXfFivR0vFq3vr+9naMBczAR2AEidtps5KbJrKqdZnjPFRbmfVtzWr/LlvVCub3u13Pub6TdKIVBTny1PuZ5X8GvdxMNVig89jGjvzhhWuQRaz3VhJnTra4=
# COVERALLS_TOKEN
- secure: h/cUq+TrUMZOQmkFD7CvuwX0uAwmjIfKZ4qSUzY+QzUtDzOzA0L/XF84xTBq1Q5YYsEiaoF6GxxGCdrLQiBA/ZTd+88UHgeZPMRvi0xG9Q+PeePVOsZMTxy4/WWFgOfSQCk49Mj9zizGgO78i6vxq+SDXMtFHnZ+TpPJIEW6/m0=
notifications:
irc:
use_notice: true

522
AUTHORS
View File

@@ -1,178 +1,696 @@
839 <8398a7@gmail.com>
Aaron Franks <aaron.franks@gmail.com>
Aaron Gelter <aaron.gelter@harman.com>
Adam Bloomston <adam@glitterfram.es>
Adam Krebs <amk528@cs.nyu.edu>
Adam Mark <adammark75@gmail.com>
Adam Solove <asolove@gmail.com>
Adam Timberlake <adam.timberlake@gmail.com>
Adam Zapletal <adamzap@gmail.com>
Ahmad Wali Sidiqi <wali-s@users.noreply.github.com>
Alan Plum <me@pluma.io>
Alan Souza <alansouzati@gmail.com>
Alan deLevie <adelevie@gmail.com>
Alastair Hole <afhole@gmail.com>
Alex <ultrafez@users.noreply.github.com>
Alex Boatwright <drdelambre@gmail.com>
Alex Boyd <alex@opengroove.org>
Alex Dajani <xelad1@gmail.com>
Alex Lopatin <alex@alexlopatin.com>
Alex Mykyta <dancingwithcows@gmail.com>
Alex Pien <alexpien@gmail.com>
Alex Smith <iqwz@ya.ru>
Alex Zelenskiy <azelenskiy@fb.com>
Alexander Shtuchkin <ashtuchkin@gmail.com>
Alexander Solovyov <alexander@solovyov.net>
Alexander Tseung <alextsg@gmail.com>
Alexandre Gaudencio <shahor@shahor.fr>
Alexey Raspopov <avenger7x13@gmail.com>
Alexey Shamrin <shamrin@gmail.com>
Ali Ukani <ali.ukani@gmail.com>
Andre Z Sanchez <andrezacsanchez@gmail.com>
Andreas Savvides <asavvides@twitter.com>
Andreas Svensson <andreas@syranide.com>
Andres Kalle <mjomble@gmail.com>
Andres Suarez <zertosh@gmail.com>
Andrew Clark <acdlite@me.com>
Andrew Cobby <cobbweb@users.noreply.github.com>
Andrew Davey <andrew@equin.co.uk>
Andrew Henderson <andrew.m.henderson@gmail.com>
Andrew Kulakov <avk@8xx8.ru>
Andrew Rasmussen <andras@fb.com>
Andrew Sokolov <asokolov@atlassian.com>
Andrew Zich <azich@fb.com>
Andrey Popp <8mayday@gmail.com>
Anthony van der Hoorn <anthony.vanderhoorn@gmail.com>
Anto Aravinth <anto.aravinth.cse@gmail.com>
Antonio Ruberto <anto.ruberto@gmail.com>
Antti Ahti <antti.ahti@gmail.com>
Anuj Tomar <ankuto@gmail.com>
AoDev <AoDev@users.noreply.github.com>
April Arcus <april.arcus@gmail.com>
Areeb Malik <areeb.malik91@gmail.com>
Aria Buckles <aria@khanacademy.org>
Aria Stewart <aredridel@dinhe.net>
Arian Faurtosh <arian@icloud.com>
Artem Nezvigin <artem@artnez.com>
Austin Wright <aaa@bzfx.net>
Ayman Osman <aymano.osman@gmail.com>
Ben Alpert <spicyjalapeno@gmail.com>
Baraa Hamodi <bhamodi@uwaterloo.ca>
Bartosz Kaszubowski <gosimek@gmail.com>
Basarat Ali Syed <basaratali@gmail.com>
Battaile Fauber <battaile@gmail.com>
Beau Smith <beau@beausmith.com>
Ben Alpert <ben@benalpert.com>
Ben Anderson <banderson@constantcontact.com>
Ben Brooks <ben@benbrooks.net>
Ben Foxall <benfoxall@gmail.com>
Ben Halpern <bendhalpern@gmail.com>
Ben Jaffe <jaffe.ben@gmail.com>
Ben Moss <ben@mossity.com>
Ben Newman <bn@cs.stanford.edu>
Ben Ripkens <bripkens.dev@gmail.com>
Benjamin Keen <ben.keen@gmail.com>
Benjamin Leiken <benleiken@gmail.com>
Benjamin Woodruff <github@benjam.info>
Benjy Cui <benjytrys@gmail.com>
Bill Blanchard <bill@plumbdev.com>
Bill Fisher <fisherwebdev@gmail.com>
Blaine Hatab <jbhatab@gmail.com>
Blaine Kasten <blainekasten@gmail.com>
Bob Eagan <bob@synapsestudios.com>
Bob Ralian <bob.ralian@gmail.com>
Bob Renwick <bob.renwick@gmail.com>
Bobby <puppybytes@gmail.com>
Bojan Mihelac <bmihelac@mihelac.org>
Bradley Spaulding <brad.spaulding@gmail.com>
Brandon Bloom <brandon@brandonbloom.name>
Brandon Tilley <brandon@brandontilley.com>
Brenard Cubacub <bcbcb@users.noreply.github.com>
Brian Cooke <bri@bricooke.com>
Brian Holt <btholt@gmail.com>
Brian Hsu <brianhsu@Brians-MacBook-Pro.local>
Brian Kim <briankimpossible@gmail.com>
Brian Kung <brian@callmekung.com>
Brian Reavis <brian@thirdroute.com>
Brian Rue <brian@rollbar.com>
Bruno Škvorc <bruno@skvorc.me>
Cam Song <neosoyn@gmail.com>
Cam Spiers <camspiers@gmail.com>
Cameron Chamberlain <git@camjc.com>
Cameron Matheson <cameron@instructure.com>
Carter Chung <carterchung@users.noreply.github.com>
Cassus Adam Banko <banko.adam@gmail.com>
Cat Chen <catchen@fb.com>
Cedric Sohrauer <cedric.sohrauer@infopark.de>
Cesar William Alvarenga <cesarwbr@gmail.com>
Changsoon Bok <winmain@gmail.com>
Charles Marsh <charlie@khanacademy.org>
Chase Adams <realchaseadams@gmail.com>
Cheng Lou <chenglou92@gmail.com>
Chitharanjan Das <das.chitharanjan@gmail.com>
Chris Bolin <bolin.chris@gmail.com>
Chris Grovers <chrisgrovers@users.noreply.github.com>
Chris Ha <chriskevinha@gmail.com>
Chris Rebert <github@rebertia.com>
Chris Sciolla <csciolla1@gmail.com>
Christian Alfoni <christianalfoni@gmail.com>
Christian Oliff <christianoliff@yahoo.com>
Christian Roman <chroman16@gmail.com>
Christoffer Sawicki <christoffer.sawicki@gmail.com>
Christoph Pojer <christoph.pojer@gmail.com>
Christopher Monsanto <chris@monsan.to>
Clay Allsopp <clay.allsopp@gmail.com>
Connor McSheffrey <c@conr.me>
Conor Hastings <hastings.conorm@gmail.com>
Cory House <housecor@gmail.com>
Cotton Hou <himcotton@gmail.com>
Craig Akimoto <strawbrary@users.noreply.github.com>
Cristovao Verstraeten <cristovao@apleasantview.com>
Damien Pellier <dpellier@leadformance.com>
Dan Abramov <dan.abramov@gmail.com>
Dan Fox <iamdanfox@gmail.com>
Dan Schafer <dschafer@fb.com>
Daniel Carlsson <daniel.carlsson.1987@gmail.com>
Daniel Cousens <dcousens@users.noreply.github.com>
Daniel Friesen <daniel@nadir-seen-fire.com>
Daniel Gasienica <daniel@gasienica.ch>
Daniel Hejl <daniel.hejl@hotmail.com>
Daniel Hejl <hejldaniel@gmail.com>
Daniel Lo Nigro <daniel@dan.cx>
Daniel Mané <danmane@gmail.com>
Daniel Miladinov <dmiladinov@wingspan.com>
Daniel Rodgers-Pryor <djrodgerspryor@gmail.com>
Daniel Schonfeld <daniel@schonfeld.org>
Danny Ben-David <dannybd@fb.com>
Darcy <smadad@me.com>
Daryl Lau <daryl@weak.io>
Darío Javier Cravero <dario@uxtemple.com>
Dave Galbraith <dave@jut.io>
David Baker <djbaker2@gmail.com>
David Ed Mellum <david@edmellum.com>
David Goldberg <gberg1@users.noreply.github.com>
David Granado <davidjgranado@gmail.com>
David Greenspan <dgreenspan@alum.mit.edu>
David Hellsing <david@aino.se>
David Hu <davidhu91@gmail.com>
David Khourshid <davidkpiano@gmail.com>
David Mininger <dmininger@gmail.com>
David Neubauer <davidneub@gmail.com>
David Percy <davetp425@gmail.com>
Dean Shi <dnshi@users.noreply.github.com>
Denis Sokolov <denis@sokolov.cc>
Deniss Jacenko <deniss.jacenko+github@gmail.com>
Dennis Johnson <djohnson@rallydev.com>
Devon Blandin <dblandin@gmail.com>
Devon Harvey <devonharvey@gmail.com>
Dmitrii Abramov <dmitrii@rheia.us>
Dmitriy Rozhkov <dmitriy.rozhkov@xing.com>
Dmitry Blues <dmitri.blyus@gmail.com>
Dmitry Mazuro <dmitry.mazuro@icloud.com>
Domenico Matteo <matteo.domenico@gmail.com>
Don Abrams <donabrams@gmail.com>
Dongsheng Liu <bellanchor@gmail.com>
Dustan Kasten <dustan.kasten@gmail.com>
Dustin Getz <dgetz@wingspan.com>
Dylan Harrington <dylanharrington@gmail.com>
Eduardo Garcia <emumaniacx@gmail.com>
Edvin Erikson <edvin@rocketblast.com>
Elaine Fang <elainefang@Elaines-MacBook-Pro.local>
Enguerran <engcolson@gmail.com>
Eric Clemmons <eric@smarterspam.com>
Eric Eastwood <contact@ericeastwood.com>
Eric Florenzano <floguy@gmail.com>
Eric O'Connell <eric.oconnell@idealist.org>
Eric Schoffstall <contra@wearefractal.com>
Erik Harper <eharper@mixpo.com>
Espen Hovlandsdal <rexxars@gmail.com>
Evan Coonrod <evan@paloalto.com>
Evan Vosberg <evanvosberg@urban.to>
Fabio M. Costa <fabiomcosta@gmail.com>
Federico Rampazzo <frampone@gmail.com>
Felipe Oliveira Carvalho <felipekde@gmail.com>
Felix Gnass <fgnass@gmail.com>
Felix Kling <felix.kling@gmx.net>
Fernando Correia <fernando@servicero.com>
Frankie Bagnardi <f.bagnardi@gmail.com>
François-Xavier Bois <fxbois@gmail.com>
Fred Zhao <fredz@fb.com>
Freddy Rangel <frederick.rangel@gmail.com>
Fyodor Ivanishchev <cbrwizard@gmail.com>
G Scott Olson <gscottolson@gmail.com>
G. Kay Lee <balancetraveller+github@gmail.com>
Gabe Levi <gabelevi@gmail.com>
Gajus Kuizinas <g.kuizinas@anuary.com>
Gareth Nicholson <gareth.nic@gmail.com>
Garren Smith <garren.smith@gmail.com>
Gavin McQuistin <gavin@kickfiredesign.com>
Geert Pasteels <geert.pasteels@gmail.com>
Geert-Jan Brits <gbrits@gmail.com>
George A Sisco III <george.sisco@gmail.com>
Georgii Dolzhykov <thorn.mailbox@gmail.com>
Gilbert <gilbertbgarza@gmail.com>
Glen Mailer <glenjamin@gmail.com>
Grant Timmerman <granttimmerman@gmail.com>
Greg Hurrell <glh@fb.com>
Greg Perkins <gregrperkins@fb.com>
Greg Roodt <groodt@gmail.com>
Gregory <g.marcilhacy@gmail.com>
Guangqiang Dong <gqdong@fb.com>
Guido Bouman <m@guido.vc>
Harry Hull <harry.hull1@gmail.com>
Harry Marr <harry.marr@gmail.com>
Harry Moreno <morenoh149@gmail.com>
Harshad Sabne <harshadsabne@users.noreply.github.com>
Hekar Khani <hekark@gmail.com>
Hendrik Swanepoel <hendrik.swanepoel@gmail.com>
Henrik Nyh <henrik@nyh.se>
Henry Wong <henryw4k@gmail.com>
Henry Zhu <hi@henryzoo.com>
Hideo Matsumoto <hideo-m@pekeq.com>
Hou Chia <kchia87@gmail.com>
Huang-Wei Chang <chang.huangwei.01@gmail.com>
Hugo Agbonon <hugo@agbonon.fr>
Hugo Jobling <me@thisishugo.com>
Ian Obermiller <iano@fb.com>
Hyeock Kwon <doublus@gmail.com>
Héliton Nordt <hnordt@hnordt.com>
Ian Obermiller <ian@obermillers.com>
Ignacio Carbajo <icarbajop@gmail.com>
Igor Scekic <igorscekic2@gmail.com>
Ilia Pavlenkov <dortonway@gmail.com>
Ilya Shuklin <ilya.shuklin@gmail.com>
Ilyá Belsky <gelias.gbelsky@gmail.com>
Ingvar Stepanyan <me@rreverser.com>
Irae Carvalho <irae@irae.pro.br>
Isaac Salier-Hellendag <isaac@fb.com>
Iurii Kucherov <yuyokk@gmail.com>
Ivan Kozik <ivan@ludios.org>
Ivan Krechetov <ikr@ikr.su>
Ivan Vergiliev <ivan.vergiliev@gmail.com>
J. Andrew Brassington <jabbrass@zoho.com>
J. Renée Beach <splendidnoise@gmail.com>
JD Isaacks <jd@jisaacks.com>
JJ Weber <jj.weber@gmail.com>
JW <JW00000@gmail.com>
Jack Zhang <jzhang31191@gmail.com>
Jackie Wung <jacquelinewung@gmail.com>
Jacob Gable <jacob.gable@gmail.com>
Jacob Greenleaf <jake@imgur.com>
Jae Hun Ro <jhr24@duke.edu>
Jaeho Lee <me@jaeholee.org>
Jaime Mingo <j.mingov@3boll.com>
Jake Worth <jakeworth82@gmail.com>
Jakub Malinowski <jakubmal@gmail.com>
James <james@mystrata.com>
James Brantly <james@jbrantly.com>
James Burnett <jtburnett@tribune.com>
James Friend <james@jsdf.co>
James Ide <ide@fb.com>
James Long <longster@gmail.com>
James Pearce <jpearce@fb.com>
James Seppi <james.seppi@gmail.com>
James South <james_south@hotmail.com>
James Wen <jrw2175@columbia.edu>
Jamie Wong <jamie.lf.wong@gmail.com>
Jamis Charles <jacharles@paypal.com>
Jamison Dance <jergason@gmail.com>
Jan Hancic <jan.hancic@gmail.com>
Jan Kassens <jan@kassens.net>
Jan Raasch <jan@janraasch.com>
Jared Forsyth <jared@jaredforsyth.com>
Jason <usaman2010us@gmail.com>
Jason Bonta <jbonta@gmail.com>
Jason Ly <jason.ly@gmail.com>
Jason Miller <aidenn0@geocities.com>
Jason Quense <monastic.panic@gmail.com>
Jason Trill <jason@jasontrill.com>
Jason Webster <jason@metalabdesign.com>
Jay Jaeho Lee <jay@spoqa.com>
Jean Lauliac <lauliacj@gmail.com>
Jed Watson <jed.watson@me.com>
Jeff Barczewski <jeff.barczewski@gmail.com>
Jeff Carpenter <gcarpenterv@gmail.com>
Jeff Chan <jefftchan@gmail.com>
Jeff Hicken <jhicken@gmail.com>
Jeff Kolesky <github@kolesky.com>
Jeff Morrison <jeff@anafx.com>
Jeff Welch <whatthejeff@gmail.com>
Jeffrey Lin <lin.jeffrey@gmail.com>
Jeremy Fairbank <elpapapollo@gmail.com>
Jesse Skinner <jesse@thefutureoftheweb.com>
Jignesh Kakadiya <jigneshhk1992@gmail.com>
Jim OBrien <jimobrien930@gmail.com>
Jim Sproch <jsproch@fb.com>
Jimmy Jea <jimjea@gmail.com>
Jing Chen <jingc@fb.com>
Jinwoo Oh <arkist@gmail.com>
Jinxiu Lee <lee.jinxiu@gmail.com>
Jiyeon Seo <zzzeons@gmail.com>
Jody McIntyre <scjody@modernduck.com>
Joe Critchley <joecritch@gmail.com>
Joe Stein <joeaarons@gmail.com>
Joel Auterson <joel.auterson@googlemail.com>
Johannes Baiter <johannes.baiter@gmail.com>
Johannes Emerich <johannes@emerich.de>
Johannes Lumpe <johannes@johanneslumpe.de>
John Heroy <johnheroy@users.noreply.github.com>
John Ryan <tjfryan@fb.com>
John Watson <jwatson@fb.com>
John-David Dalton <john.david.dalton@gmail.com>
Jon Beebe <jon.beebe@daveramsey.com>
Jon Chester <jonchester@fb.com>
Jon Hester <jon.d.hester@gmail.com>
Jon Madison <jon@tfftech.com>
Jon Scott Clark <jonscottclark@gmail.com>
Jon Tewksbury <jontewks@gmail.com>
Jonas Enlund <jonas.enlund@gmail.com>
Jonas Gebhardt <jonas@instagram.com>
Jonathan Hsu <jhiswin@gmail.com>
Jonathan Persson <persson.jonathan@gmail.com>
Jordan Harband <ljharb@gmail.com>
Jordan Walke <jordojw@gmail.com>
Jorrit Schippers <jorrit@ncode.nl>
Joseph Nudell <joenudell@gmail.com>
Joseph Savona <joesavona@fb.com>
Josh Bassett <josh.bassett@gmail.com>
Josh Duck <josh@fb.com>
Josh Perez <josh.perez@airbnb.com>
Josh Yudaken <yud@instagram.com>
Joshua Evans <joshua.evans@quantified.co>
Joshua Go <joshuago@gmail.com>
Joshua Goldberg <jsgoldberg90@gmail.com>
Joshua Ma <me@joshma.com>
João Valente <filipevalente@gmail.com>
Juan Serrano <germ13@users.noreply.github.com>
Julen Ruiz Aizpuru <julenx@gmail.com>
Julian Viereck <julian.viereck@gmail.com>
Julien Bordellier <git@julienbordellier.com>
Julio Lopez <ljuliom@gmail.com>
Jun Wu <quark@lihdd.net>
Juraj Dudak <jdudak@fb.com>
Justas Brazauskas <brazauskasjustas@gmail.com>
Justin Jaffray <justinjaffray@khanacademy.org>
Justin Robison <jrobison151@gmail.com>
Justin Woo <moomoowoo@gmail.com>
Kale <krydrogen@gmail.com>
Kamron Batman <kamronbatman@users.noreply.github.com>
Karl Mikkelsen <karl@kingkarl.com>
Karpich Dmitry <karpich@gollard.ru>
Keito Uchiyama <projects@keito.me>
Ken Powers <ken@kenpowers.net>
Kent C. Dodds <kent@doddsfamily.us>
Kevin Cheng <09chengk@gmail.com>
Kevin Coughlin <kevintcoughlin@gmail.com>
Kevin Huang <huang.kev@gmail.com>
Kevin Lau <thekevlau@gmail.com>
Kevin Old <kevin@kevinold.com>
Kevin Robinson <krobinson@twitter.com>
Kewei Jiang <jkewei328@hotmail.com>
Kier Borromeo <seraphipod@gmail.com>
KimCoding <jeokrang@hanmail.net>
Kirk Steven Hansen <hanski07@kirk-hansens-macbook.local>
Kit Randel <kit@nocturne.net.nz>
Kohei TAKATA <kt.koheitakata@gmail.com>
Koo Youngmin <youngmin@youngminz.kr>
Krystian Karczewski <karcz.k@gmail.com>
Kunal Mehta <k.mehta@berkeley.edu>
Kurt Ruppel <me@kurtruppel.com>
Kyle Kelley <rgbkrk@gmail.com>
Kyle Mathews <mathews.kyle@gmail.com>
Laurence Rowe <l@lrowe.co.uk>
Laurent Etiemble <laurent.etiemble@monobjc.net>
Lee Byron <lee@leebyron.com>
Lee Jaeyoung <jaeyoung@monodiary.net>
Lei <tendant@gmail.com>
Leland Richardson <leland.m.richardson@gmail.com>
Leon Fedotov <LeonFedotov@users.noreply.github.com>
Leon Yip <lyip1992@users.noreply.github.com>
Leonardo YongUk Kim <dalinaum@gmail.com>
Levi Buzolic <levibuzolic@gmail.com>
Levi McCallum <levi@levimccallum.com>
Lily <qvang.j@gmail.com>
Logan Allen <loganfynne@gmail.com>
Lovisa Svallingson <lovisasvallingson@gmail.com>
Ludovico Fischer <livrerie@gmail.com>
Luigy Leon <luichi.19@gmail.com>
Luke Horvat <lukehorvat@gmail.com>
MIKAMI Yoshiyuki <yoshuki@saikyoline.jp>
Maher Beg <maherbeg@gmail.com>
Manas <prometheansacrifice@gmail.com>
Marcin K. <katzoo@github.mail>
Marcin Kwiatkowski <marcin.kwiatkowski@hotmail.com>
Marcin Szczepanski <marcins@gmail.com>
Mariano Desanze <protronm@gmail.com>
Marjan <marjan.georgiev@gmail.com>
Mark Anderson <undernewmanagement@users.noreply.github.com>
Mark Funk <mfunk86@gmail.com>
Mark Hintz <markohintz@gmail.com>
Mark IJbema <markijbema@gmail.com>
Mark Murphy <murphy.mark@live.ca>
Mark Richardson <echo@fb.com>
Mark Rushakoff <mark@influxdb.com>
Mark Sun <sunmark14@gmail.com>
Marlon Landaverde <milanlandaverde@gmail.com>
Marshall Roch <mroch@fb.com>
Martin Andert <mandert@gmail.com>
Martin Hujer <mhujer@gmail.com>
Martin Jul <martin@mjul.com>
Martin Konicek <mkonicek@fb.com>
Martin Mihaylov <martomi@users.noreply.github.com>
Masaki KOBAYASHI <makky.4d6b.3f5@gmail.com>
Mathieu M-Gosselin <mathieumg@gmail.com>
Mathieu Savy <savy.mathieu@gmail.com>
Matias Singers <mail@matiassingers.com>
Matsunoki <himkt@klis.tsukuba.ac.jp>
Matt Brookes <matt@brookes.net>
Matt Dunn-Rankin <mdunnrankin@gmail.com>
Matt Harrison <mt.harrison86@gmail.com>
Matt Huggins <matt.huggins@gmail.com>
Matt Stow <matt.stow@foxsports.com.au>
Matt Zabriskie <mzabriskie@gmail.com>
Matthew Dapena-Tretter <m@tthewwithanm.com>
Matthew Herbst <mherbst@chegg.com>
Matthew Hodgson <matthew@matrix.org>
Matthew Johnston <matthewjohnston4@outlook.com>
Matthew King <mking@users.noreply.github.com>
Matthew Looi <looi.matthew@gmail.com>
Matthew Miner <matthew@matthewminer.com>
Matthias Le Brun <mlbli@me.com>
Matti Nelimarkka <matti.nelimarkka@hiit.fi>
Mattijs Kneppers <mattijs@arttech.nl>
Max F. Albrecht <1@178.is>
Max Heiber <max.heiber@gmail.com>
Max Stoiber <contact@mstoiber.com>
Maxi Ferreira <charca@gmail.com>
Maxim Abramchuk <MaximAbramchuck@gmail.com>
Merrick Christensen <merrick.christensen@gmail.com>
Mert Kahyaoğlu <mertkahyaoglu93@gmail.com>
Michael Chan <mijoch@gmail.com>
Michael McDermott <michael@mgmcdermott.com>
Michael Randers-Pehrson <michael.rp@gmail.com>
Michael Ridgway <mridgway@yahoo-inc.com>
Michael Warner <MichaelJWarner@hotmail.com>
Michael Wiencek <mwtuea@gmail.com>
Michael Ziwisky <mikezx@gmail.com>
Michal Srb <xixixao@seznam.cz>
Michelle Todd <himichelletodd@gmail.com>
Mihai Parparita <mihai.parparita@gmail.com>
Mike D Pilsbury <mike.pilsbury@gmail.com>
Mike Groseclose <mike.groseclose@gmail.com>
Mike Nordick <mnordick>
Mikolaj Dadela <mikolaj.dadela@hgv-online.de>
Miles Johnson <mileswjohnson@gmail.com>
Minwe LUO <minwe@yunshipei.com>
Miorel Palii <miorel@fb.com>
Morhaus <alexandre.kirszenberg@gmail.com>
Moshe Kolodny <kolodny.github@gmail.com>
Mouad Debbar <mdebbar@fb.com>
Murad <rogozhnikoff@users.noreply.github.com>
Murray M. Moss <murray@mmoss.name>
Nadeesha Cabral <nadeesha.cabral@gmail.com>
Naman Goel <naman34@gmail.com>
Nate Hunzaker <nate.hunzaker@gmail.com>
Nate Lee <nathaniel.jy.lee88@gmail.com>
Nathan Smith <NogsMPLS@users.noreply.github.com>
Nathan White <nw@nwhite.net>
Nee <944316342@qq.com>
Neri Marschik <marschik_neri@cyberagent.co.jp>
Nguyen Truong Duy <truongduy134@yahoo.com>
Nicholas Bergson-Shilcock <me@nicholasbs.net>
Nicholas Clawson <nickclaw@users.noreply.github.com>
Nick Balestra <nickbalestra@users.noreply.github.com>
Nick Fitzgerald <fitzgen@gmail.com>
Nick Gavalas <njg57@cornell.edu>
Nick Merwin <nick@lemurheavy.com>
Nick Presta <nick@nickpresta.ca>
Nick Raienko <enaqxx@gmail.com>
Nick Thompson <ncthom91@gmail.com>
Nick Williams <WickyNilliams@users.noreply.github.com>
Niklas Boström <nbostrom@gmail.com>
Ning Xia <ning-github@users.noreply.github.com>
Niole Nelson <niolenelson@gmail.com>
Oiva Eskola <oiva.eskola@gmail.com>
Oleg <o.yanchinskiy@gmail.com>
Oleksii Markhovskyi <olexiy.markhovsky@gmail.com>
Oliver Zeigermann <oliver.zeigermann@gmail.com>
Olivier Tassinari <Olivier.tassinari@gmail.com>
Owen Coutts <owenc@fb.com>
Pablo Lacerda de Miranda <pablolm@yahoo-inc.com>
Paolo Moretti <moretti@users.noreply.github.com>
Pascal Hartig <passy@twitter.com>
Patrick <info@telepark.de>
Patrick Laughlin <patrick@laughl.info>
Patrick Stapleton <github@gdi2290.com>
Paul Benigeri <me@benigeri.com>
Paul Harper <benekastah@gmail.com>
Paul OShannessy <paul@oshannessy.com>
Paul Seiffert <paul.seiffert@gmail.com>
Paul Shen <paul@mnml0.com>
Pedro Nauck <pedronauck@gmail.com>
Pete Hunt <floydophone@gmail.com>
Peter Blazejewicz <peter.blazejewicz@gmail.com>
Peter Cottle <pcottle@fb.com>
Peter Jaros <peter.a.jaros@gmail.com>
Peter Newnham <peter.newnham@appsbroker.com>
Petri Lehtinen <petri@digip.org>
Petri Lievonen <plievone@cc.hut.fi>
Pieter Vanderwerff <me@pieter.io>
Pouja Nikray <poujanik@gmail.com>
Prathamesh Sonpatki <csonpatki@gmail.com>
Prayag Verma <prayag.verma@gmail.com>
Preston Parry <ClimbsRocks@users.noreply.github.com>
Rafael <rafael.garcia@clever.com>
Rafal Dittwald <rafal.dittwald@gmail.com>
Rainer Oviir <roviir@gmail.com>
Rajat Sehgal <rajatsehgal1988@gmail.com>
Rajiv Tirumalareddy <rajivtreddy@gmail.com>
Ram Kaniyur <quadrupleslap@users.noreply.github.com>
Randall Randall <randall@randallsquared.com>
Ray <ray@tomo.im>
Raymond Ha <raymond@shraymonks.com>
Reed Loden <reed@reedloden.com>
Remko Tronçon <git@el-tramo.be>
Richard D. Worth <rdworth@gmail.com>
Richard Feldman <richard.t.feldman@gmail.com>
Richard Kho <hello@richardkho.com>
Richard Littauer <richard.littauer@gmail.com>
Richard Livesey <Livesey7@hotmail.co.uk>
Richard Wood <rwoodnz@gmail.com>
Rick Beerendonk <rick@beerendonk.com>
Rick Ford <rickfordrick@gmail.com>
Riley Tomasek <riley.tomasek@gmail.com>
Rob Arnold <robarnold@cs.cmu.edu>
Robert Binna <rbinna@gmail.com>
Robert Knight <robert.knight@mendeley.com>
Robert Sedovsek <robert.sedovsek@gmail.com>
Robin Berjon <robin@berjon.com>
Robin Frischmann <robin@rofrischmann.de>
Roman Pominov <rpominov+github@gmail.com>
Roman Vanesyan <roman.vanesyan@gmail.com>
Russ <russwirtz@gmail.com>
Ryan Seddon <seddon.ryan@gmail.com>
Sahat Yalkabov <sakhat@gmail.com>
Saif Hakim <saif@benchling.com>
Saiichi Hashimoto <saiichihashimoto@gmail.com>
Sam Beveridge <sbeveridge@saltstack.com>
Sam Saccone <samccone@gmail.com>
Sam Selikoff <sam.selikoff@gmail.com>
Samy Al Zahrani <samy@sadeem.net>
Sander Spies <sandermail@gmail.com>
Scott Burch <scott@bulldoginfo.com>
Scott Feeney <scott@oceanbase.org>
Sean Kinsey <oyvind@fb.com>
Sebastian Markbåge <sebastian@calyptus.eu>
Sebastian McKenzie <sebmck@gmail.com>
Seoh Char <devthewild@gmail.com>
Sercan Eraslan <sercan.eraslan@sahibinden.com>
Serg <undrdog@yandex.ru>
Sergey Generalov <sergey@genbit.ru>
Sergey Rubanov <chi187@gmail.com>
Seyi Adebajo <hello@seyinanigans.com>
Shane O'Sullivan <shaneosullivan1@gmail.com>
Shaun Trennery <shaun.trennery@gmail.com>
ShihChi Huang <hhuang@netflix.com>
Shim Won <marocchino@gmail.com>
Shinnosuke Watanabe <snnskwtnb@gmail.com>
Shogun Sea <shogunsea08@gmail.com>
Shota Kubota <kubosho@users.noreply.github.com>
Shripad K <assortmentofsorts@gmail.com>
Sibi <psibi2000@gmail.com>
Simen Bekkhus <sbekkhus91@gmail.com>
Simon Højberg <r.hackr@gmail.com>
Simon Welsh <simon@simon.geek.nz>
Simone Vittori <hello@simonewebdesign.it>
Soichiro Kawamura <mail@w-st.com>
Sophia Westwood <sophia@quip.com>
Sota Ohara <ohrst.18@gmail.com>
Spencer Handley <spencerhandley@gmail.com>
Stefan Dombrowski <sdo451@gmail.com>
Stephen Murphy <smurphy3@apple.com>
Sterling Cobb <sterlingcobb@gmail.com>
Steve Baker <_steve_@outlook.com>
Steven Luscher <react@steveluscher.com>
Steven Vachon <contact@svachon.com>
Stoyan Stefanov <ssttoo@ymail.com>
Sundeep Malladi <sundeep.malladi@gmail.com>
Sunny Juneja <me@sunnyjuneja.com>
Sven Helmberger <fforw@gmx.de>
Sverre Johansen <sverre.johansen@gmail.com>
Sébastien Lorber <lorber.sebastien@gmail.com>
Sławomir Laskowski <laskowski.box@gmail.com>
Taeho Kim <dittos@gmail.com>
Tay Yang Shun <tay.yang.shun@gmail.com>
Ted Kim <ted@vcnc.co.kr>
Tengfei Guo <terryr3rd@yeah.net>
Teodor Szente <teodor98sz@gmail.com>
Thomas Aylott <oblivious@subtlegradient.com>
Thomas Boyt <thomas.boyt@venmo.com>
Thomas Broadley <buriedunderbooks@hotmail.com>
Thomas Reggi <socialtr@gmail.com>
Thomas Röggla <t.roggla@cwi.nl>
Thomas Shaddox <thomas@heyzap.com>
Thomas Shafer <thomasjshafer@gmail.com>
ThomasCrvsr <crevoisier.thomas@gmail.com>
Tienchai Wirojsaksaree <tienchai@fb.com>
Tim Routowicz <troutowicz@gmail.com>
Tim Schaub <tschaub@users.noreply.github.com>
Timothy Yung <yungsters@gmail.com>
Timur Carpeev <timuric@users.noreply.github.com>
Tobias Reiss <tag+github@basecode.de>
Tom Duncalf <tom@tomduncalf.com>
Tom Haggie <thaggie@gmail.com>
Tom Hauburger <thauburger@gmail.com>
Tom MacWright <tom@macwright.org>
Tom Occhino <tomocchino@gmail.com>
Tomasz Kołodziejski <tkolodziejski@gmail.com>
Tomoya Suzuki <tmysz.dev@gmail.com>
Tony Spiro <tspiro@tonyspiro.com>
Toru Kobayashi <koba0004@gmail.com>
Trinh Hoang Nhu <trinhhoangnhu@gmail.com>
Tsung Hung <thung@me.com>
Tyler Brock <tyler.brock@gmail.com>
Ustin Zarubin <ustin.zarubin@campusbellhops.com>
Vadim Chernysh <chernysh.vadim@gmail.com>
Varun Rau <varunrau@gmail.com>
Vasiliy Loginevskiy <Yeti.or@gmail.com>
Victor Alvarez <v.alvarez312@gmail.com>
Victor Homyakov <vkhomyackov@gmail.com>
Victor Koenders <victor.koenders@gmail.com>
Ville Immonen <ville.immonen@iki.fi>
Vincent Riemer <vincentriemer@gmail.com>
Vincent Siao <vincent@asana.com>
Vipul A M <vipulnsward@gmail.com>
Vitaly Kramskikh <vkramskikh@gmail.com>
Vitor Balocco <vitorbal@gmail.com>
Vjeux <vjeuxx@gmail.com>
Volkan Unsal <spocksplanet@gmail.com>
Wander Wang <wander.wang@ismole.com>
Wayne Larsen <wayne@larsen.st>
WickyNilliams <WickyNilliams@MBA>
Wincent Colaiuta <win@wincent.com>
Wout Mertens <Wout.Mertens@gmail.com>
Xavier Morel <xmo-odoo@users.noreply.github.com>
XuefengWu <benewu@gmail.com>
Yakov Dalinchuk <murashki@users.noreply.github.com>
Yasar icli <hello@yasaricli.com>
YouBao Nong <noyobo@gmail.com>
Yuichi Hagio <yhagio87@gmail.com>
Yuriy Dybskiy <yuriy@dybskiy.com>
Yutaka Nakajima <nakazye@gmail.com>
Yuval Dekel <thedekel@fb.com>
Zach Bruggeman <mail@bruggie.com>
Zach Ramaekers <zramaekers@gmail.com>
Zacharias <zachasme@users.noreply.github.com>
Zeke Sikelianos <zeke@sikelianos.com>
Zhangjd <zhang.jd@qq.com>
adraeth <jerzy.mirecki@gmail.com>
arush <arush@ilovebrands.net>
brafdlog <brafdlog@gmail.com>
chen <kikyous@163.com>
clariroid <clarinette.uranus@gmail.com>
claudiopro <claudio.procida@gmail.com>
cutbko <kutsenko.eugene@hotmail.com>
davidxi <davidgraycn@gmail.com>
dongmeng.ldm <dongmeng.ldm@alibaba-inc.com>
iamchenxin <iamchenxin@gmail.com>
iamdoron <doronpagot@gmail.com>
iawia002 <z2d@jifangcheng.com>
imagentleman <imagentlemail@gmail.com>
koh-taka <koh-taka@users.noreply.github.com>
kohashi85 <hako584@gmail.com>
laiso <laiso@lai.so>
leeyoungalias <leeyoungalias@qq.com>
li.li <li.li@ele.me>
maxprafferty <maxprafferty@gmail.com>
rgarifullin <ringarifullin@gmail.com>
songawee <dennis@songawee.com>
sugarshin <shinsugar@gmail.com>
wali-s <ahmad3y2k@hotmail.com>
yiminghe <yiminghe@gmail.com>
youmoo <youmoolee@gmail.com>
zhangjg <jinguozhang@qq.com>
zwhitchcox <zwhitchcox@gmail.com>
Árni Hermann Reynisson <arnihr@gmail.com>
元彦 <yuanyan@users.noreply.github.com>
凌恒 <jiakun.dujk@alibaba-inc.com>
张敏 <cookfront@gmail.com>

View File

@@ -1,10 +1,706 @@
## 15.2.1 (July 8, 2016)
### React
- Fix errant warning related to `shouldHaveDebugID`. ([@gaearon](https://github.com/gaearon) in [#7193](https://github.com/facebook/react/pull/7193))
- Better removal of dev-only code, leading to a small reduction in the minified production bundle size. ([@gaearon](https://github.com/gaearon) in [#7188](https://github.com/facebook/react/pull/7188), [#7189](https://github.com/facebook/react/pull/7189))
### React DOM
- Add stack trace to unknown property warning. ([@jimfb](https://github.com/jimfb) in [#7040](https://github.com/facebook/react/pull/7040))
- Fix webcomponents example. ([@jalexanderfox](https://github.com/jalexanderfox) in [#7057](https://github.com/facebook/react/pull/7057))
- Fix `unstable_renderSubtreeIntoContainer` so that context properly updates when linked to state. ([@gaearon](https://github.com/gaearon) in [#7125](https://github.com/facebook/react/pull/7125))
- Improve invariant wording for void elements. ([@starkch](https://github.com/starkch) in [#7066](https://github.com/facebook/react/pull/7066))
- Ensure no errors are thrown due to event handlers in server rendering. ([@rricard](https://github.com/rricard) in [#7127](https://github.com/facebook/react/pull/7127))
- Fix regression resulting in `value`-less submit and reset inputs removing the browser-default text. ([@zpao](https://github.com/zpao) in [#7197](https://github.com/facebook/react/pull/7197))
- Fix regression resulting in empty `name` attribute being added to inputs when not provided. ([@okonet](https://github.com/okonet) in [#7199](https://github.com/facebook/react/pull/7199))
### React Perf Add-on
- Make `ReactPerf.start()` work properly during lifecycle methods. ([@gaearon](https://github.com/gaearon) in [#7208](https://github.com/facebook/react/pull/7208)).
### React CSSTransitionGroup Add-on
- Fix issue resulting in spurious unknown property warnings. ([@batusai513](https://github.com/batusai513) in [#7165](https://github.com/facebook/react/pull/7165))
### React Native Renderer
- Improve error handling in cross-platform touch event handling. ([@yungsters](https://github.com/yungsters) in [#7143](https://github.com/facebook/react/pull/7143))
## 15.2.0 (July 1, 2016)
### React
- Add error codes to production invariants, with links to the view the full error text. ([@keyanzhang](https://github.com/keyanzhang) in [#6948](https://github.com/facebook/react/pull/6948))
- Include component stack information in PropType validation warnings. ([@troydemonbreun](https://github.com/troydemonbreun) in [#6398](https://github.com/facebook/react/pull/6398), [@spicyj](https://github.com/spicyj) in [#6771](https://github.com/facebook/react/pull/6771))
- Include component stack information in key warnings. ([@keyanzhang](https://github.com/keyanzhang) in [#6799](https://github.com/facebook/react/pull/6799))
- Stop validating props at mount time, only validate at element creation. ([@keyanzhang](https://github.com/keyanzhang) in [#6824](https://github.com/facebook/react/pull/6824))
- New invariant providing actionable error in missing instance case. ([@yungsters](https://github.com/yungsters) in [#6990](https://github.com/facebook/react/pull/6990))
- Add `React.PropTypes.symbol` to support ES2015 Symbols as props. ([@puradox](https://github.com/puradox) in [#6377](https://github.com/facebook/react/pull/6377))
- Fix incorrect coercion of ref or key that are undefined in development ([@gaearon](https://github.com/gaearon) in [#6880](https://github.com/facebook/react/pull/6880))
- Fix a false positive when passing other elements props to cloneElement ([@ericmatthys](https://github.com/ericmatthys) in [#6268](https://github.com/facebook/react/pull/6268))
- Warn if you attempt to define `childContextTypes` on a functional component ([@Aweary](https://github.com/Aweary) in [#6933](https://github.com/facebook/react/pull/6933))
### React DOM
- Add warning for unknown properties on DOM elements. ([@jimfb](https://github.com/jimfb) in [#6800](https://github.com/facebook/react/pull/6800), [@gm758](https://github.com/gm758) in [#7152](https://github.com/facebook/react/pull/7152))
- Properly remove attributes from custom elements. ([@grassator](https://github.com/grassator) in [#6748](https://github.com/facebook/react/pull/6748))
- Fix invalid unicode escape in attribute name regular expression. ([@nbjahan](https://github.com/nbjahan) in [#6772](https://github.com/facebook/react/pull/6772))
- Add `onLoad` handling to `<link>` element. ([@roderickhsiao](https://github.com/roderickhsiao) in [#6815](https://github.com/facebook/react/pull/6815))
- Add `onError` handling to `<source>` element. ([@wadahiro](https://github.com/wadahiro) in [#6941](https://github.com/facebook/react/pull/6941))
- Handle `value` and `defaultValue` more accurately in the DOM. ([@jimfb](https://github.com/jimfb) in [#6406](https://github.com/facebook/react/pull/6406))
- Fix events issue in environments with mutated `Object.prototype`. ([@Weizenlol](https://github.com/Weizenlol) in [#6886](https://github.com/facebook/react/pull/6886))
- Fix issue where `is="null"` ended up in the DOM in Firefox. ([@darobin](https://github.com/darobin) in [#6896](https://github.com/facebook/react/pull/6896))
- Improved performance of text escaping by using [escape-html](https://github.com/component/escape-html). ([@aickin](https://github.com/aickin) in [#6862](https://github.com/facebook/react/pull/6862))
- Fix issue with `dangerouslySetInnerHTML` and SVG in Internet Explorer. ([@joshhunt](https://github.com/joshhunt) in [#6982](https://github.com/facebook/react/pull/6982))
- Fix issue with `<textarea>` placeholders. ([@jimfb](https://github.com/jimfb) in [#7002](https://github.com/facebook/react/pull/7002))
- Fix controlled vs uncontrolled detection of `<input type="radio"/>`. ([@jimfb](https://github.com/jimfb) in [#7003](https://github.com/facebook/react/pull/7003))
- Improve performance of updating text content. ([@trueadm](https://github.com/trueadm) in [#7005](https://github.com/facebook/react/pull/7005))
- Ensure controlled `<select>` components behave the same on initial render as they do on updates. ([@yiminghe](https://github.com/yiminghe) in [#5362](https://github.com/facebook/react/pull/5362))
### React Perf Add-on
- Add `isRunning()` API. ([@nfcampos](https://github.com/nfcampos) in [#6763](https://github.com/facebook/react/pull/6763))
- Improve accuracy of lifecycle hook timing. ([@gaearon](https://github.com/gaearon) in [#6858](https://github.com/facebook/react/pull/6858))
- Fix internal errors when using ReactPerf with portal components. ([@gaearon](https://github.com/gaearon) in [#6860](https://github.com/facebook/react/pull/6860))
- Fix performance regression. ([@spicyj](https://github.com/spicyj) in [#6770](https://github.com/facebook/react/pull/6770))
- Add warning that ReactPerf is not enabled in production. ([@sashashakun](https://github.com/sashashakun) in [#6884](https://github.com/facebook/react/pull/6884))
### React CSSTransitionGroup Add-on
- Fix timing issue with `null` node. ([@keyanzhang](https://github.com/keyanzhang) in [#6958](https://github.com/facebook/react/pull/6958))
### React Native Renderer
- Dependencies on React Native modules use CommonJS requires instead of providesModule. ([@davidaurelio](https://github.com/davidaurelio) in [#6715](https://github.com/facebook/react/pull/6715))
## 15.1.0 (May 20, 2016)
### React
- Ensure we're using the latest `object-assign`, which has protection against a non-spec-compliant native `Object.assign`. ([@zpao](https://github.com/zpao) in [#6681](https://github.com/facebook/react/pull/6681))
- Add a new warning to communicate that `props` objects passed to `createElement` must be plain objects. ([@richardscarrott](https://github.com/richardscarrott) in [#6134](https://github.com/facebook/react/pull/6134))
- Fix a batching bug resulting in some lifecycle methods incorrectly being called multiple times. ([@spicyj](https://github.com/spicyj) in [#6650](https://github.com/facebook/react/pull/6650))
### React DOM
- Fix regression in custom elements support. ([@jscissr](https://github.com/jscissr) in [#6570](https://github.com/facebook/react/pull/6570))
- Stop incorrectly warning about using `onScroll` event handler with server rendering. ([@Aweary](https://github.com/Aweary) in [#6678](https://github.com/facebook/react/pull/6678))
- Fix grammar in the controlled input warning. ([@jakeboone02](https://github.com/jakeboone02) in [#6657](https://github.com/facebook/react/pull/6657))
- Fix issue preventing `<object>` nodes from being able to read `<param>` nodes in IE. ([@syranide](https://github.com/syranide) in [#6691](https://github.com/facebook/react/pull/6691))
- Fix issue resulting in crash when using experimental error boundaries with server rendering. ([@jimfb](https://github.com/jimfb) in [#6694](https://github.com/facebook/react/pull/6694))
- Add additional information to the controlled input warning. ([@borisyankov](https://github.com/borisyankov) in [#6341](https://github.com/facebook/react/pull/6341))
### React Perf Add-on
- Completely rewritten to collect data more accurately and to be easier to maintain. ([@gaearon](https://github.com/gaearon) in [#6647](https://github.com/facebook/react/pull/6647), [#6046](https://github.com/facebook/react/pull/6046))
### React Native Renderer
- Remove some special cases for platform specific branching. ([@sebmarkbage](https://github.com/sebmarkbage) in [#6660](https://github.com/facebook/react/pull/6660))
- Remove use of `merge` utility. ([@sebmarkbage](https://github.com/sebmarkbage) in [#6634](https://github.com/facebook/react/pull/6634))
- Renamed some modules to better indicate usage ([@javache](https://github.com/javache) in [#6643](https://github.com/facebook/react/pull/6643))
## 15.0.2 (April 29, 2016)
### React
- Removed extraneous files from npm package. ([@gaearon](https://github.com/gaearon) in [#6388](https://github.com/facebook/react/pull/6388))
- Ensure `componentWillUnmount` is only called once. ([@jimfb](https://github.com/jimfb) in [#6613](https://github.com/facebook/react/pull/6613))
### ReactDOM
- Fixed bug resulting in disabled buttons responding to mouse events in IE. ([@nhunzaker](https://github.com/nhunzaker) in [#6215](https://github.com/facebook/react/pull/6215))
- Ensure `<option>`s are correctly selected when inside `<optgroup>`. ([@trevorsmith](https://github.com/trevorsmith) in [#6442](https://github.com/facebook/react/pull/6442))
- Restore support for rendering into a shadow root. ([@Wildhoney](https://github.com/Wildhoney) in [#6462](https://github.com/facebook/react/pull/6462))
- Ensure nested `<body>` elements are caught when warning for invalid markup. ([@keyanzhang](https://github.com/keyanzhang) in [#6469](https://github.com/facebook/react/pull/6469))
- Improve warning when encountering multiple elements with the same key. ([@hkal](https://github.com/hkal) in [#6500](https://github.com/facebook/react/pull/6500))
### React TestUtils Add-on
- Ensure that functional components do not have an owner. ([@gaearon](https://github.com/gaearon) in [#6362](https://github.com/facebook/react/pull/6362))
- Handle invalid arguments to `scryRenderedDOMComponentsWithClass` better. ([@ipeters90](https://github.com/ipeters90) in [#6529](https://github.com/facebook/react/pull/6529))
### React Perf Add-on
- Ignore DOM operations that occur outside the batch operation. ([@gaearon](https://github.com/gaearon) in [#6516](https://github.com/facebook/react/pull/6516))
### React Native Renderer
- These files are now shipped inside the React npm package. They have no impact on React core or ReactDOM.
## 15.0.1 (April 8, 2016)
### React
- Restore `React.__spread` API to unbreak code compiled with some tools making use of this undocumented API. It is now officially deprecated. ([@zpao](https://github.com/zpao) in [#6444](https://github.com/facebook/react/pull/6444))
### ReactDOM
- Fixed issue resulting in loss of cursor position in controlled inputs. ([@spicyj](https://github.com/spicyj) in [#6449](https://github.com/facebook/react/pull/6449))
## 15.0.0 (April 7, 2016)
### Major changes
- **Initial render now uses `document.createElement` instead of generating HTML.** Previously we would generate a large string of HTML and then set `node.innerHTML`. At the time, this was decided to be faster than using `document.createElement` for the majority of cases and browsers that we supported. Browsers have continued to improve and so overwhelmingly this is no longer true. By using `createElement` we can make other parts of React faster. ([@spicyj](https://github.com/spicyj) in [#5205](https://github.com/facebook/react/pull/5205))
- **`data-reactid` is no longer on every node.** As a result of using `document.createElement`, we can prime the node cache as we create DOM nodes, allowing us to skip a potential lookup (which used the `data-reactid` attribute). Root nodes will have a `data-reactroot` attribute and server generated markup will still contain `data-reactid`. ([@spicyj](https://github.com/spicyj) in [#5205](https://github.com/facebook/react/pull/5205))
- **No more extra `<span>`s.** ReactDOM will now render plain text nodes interspersed with comment nodes that are used for demarcation. This gives us the same ability to update individual pieces of text, without creating extra nested nodes. If you were targeting these `<span>`s in your CSS, you will need to adjust accordingly. You can always render them explicitly in your components. ([@mwiencek](https://github.com/mwiencek) in [#5753](https://github.com/facebook/react/pull/5753))
- **Rendering `null` now uses comment nodes.** Previously `null` would render to `<noscript>` elements. We now use comment nodes. This may cause issues if making use of `:nth-child` CSS selectors. While we consider this rendering behavior an implementation detail of React, it's worth noting the potential problem. ()[@spicyj](https://github.com/spicyj) in [#5451](https://github.com/facebook/react/pull/5451))
- **Functional components can now return `null`.** We added support for [defining stateless components as functions](/react/blog/2015/09/10/react-v0.14-rc1.html#stateless-function-components) in React 0.14. However, React 0.14 still allowed you to define a class component without extending `React.Component` or using `React.createClass()`, so [we couldnt reliably tell if your component is a function or a class](https://github.com/facebook/react/issues/5355), and did not allow returning `null` from it. This issue is solved in React 15, and you can now return `null` from any component, whether it is a class or a function. ([@jimfb](https://github.com/jimfb) in [#5884](https://github.com/facebook/react/pull/5884))
- **Improved SVG support.** All SVG tags are now fully supported. (Uncommon SVG tags are not present on the `React.DOM` element helper, but JSX and `React.createElement` work on all tag names.) All SVG attributes that are implemented by the browsers should be supported too. If you find any attributes that we have missed, please [let us know in this issue](https://github.com/facebook/react/issues/1657). ([@zpao](https://github.com/zpao) in [#6243](https://github.com/facebook/react/pull/6243))
### Breaking changes
- **No more extra `<span>`s.**
- **`React.cloneElement()` now resolves `defaultProps`.** We fixed a bug in `React.cloneElement()` that some components may rely on. If some of the `props` received by `cloneElement()` are `undefined`, it used to return an element with `undefined` values for those props. Were changing it to be consistent with `createElement()`. Now any `undefined` props passed to `cloneElement()` are resolved to the corresponding components `defaultProps`. ([@truongduy134](https://github.com/truongduy134) in [#5997](https://github.com/facebook/react/pull/5997))
- **`ReactPerf.getLastMeasurements()` is opaque.** This change wont affect applications but may break some third-party tools. We are [revamping `ReactPerf` implementation](https://github.com/facebook/react/pull/6046) and plan to release it during the 15.x cycle. The internal performance measurement format is subject to change so, for the time being, we consider the return value of `ReactPerf.getLastMeasurements()` an opaque data structure that should not be relied upon. ([@gaearon](https://github.com/gaearon) in [#6286](https://github.com/facebook/react/pull/6286))
#### Removed deprecations
These deprecations were introduced nine months ago in v0.14 with a warning and are removed:
- Deprecated APIs are removed from the `React` top-level export: `findDOMNode`, `render`, `renderToString`, `renderToStaticMarkup`, and `unmountComponentAtNode`. As a reminder, they are now available on `ReactDOM` and `ReactDOMServer`. ([@jimfb](https://github.com/jimfb) in [#5832](https://github.com/facebook/react/pull/5832))
- Deprecated addons are removed: `batchedUpdates` and `cloneWithProps`. ([@jimfb](https://github.com/jimfb) in [#5859](https://github.com/facebook/react/pull/5859), [@zpao](https://github.com/zpao) in [#6016](https://github.com/facebook/react/pull/6016))
- Deprecated component instance methods are removed: `setProps`, `replaceProps`, and `getDOMNode`. ([@jimfb](https://github.com/jimfb) in [#5570](https://github.com/facebook/react/pull/5570))
- Deprecated CommonJS `react/addons` entry point is removed. As a reminder, you should use separate `react-addons-*` packages instead. This only applies if you use the CommonJS builds. ([@gaearon](https://github.com/gaearon) in [#6285](https://github.com/facebook/react/pull/6285))
- Passing `children` to void elements like `<input>` was deprecated, and now throws an error. ([@jonhester](https://github.com/jonhester) in [#3372](https://github.com/facebook/react/pull/3372))
- React-specific properties on DOM `refs` (e.g. `this.refs.div.props`) were deprecated, and are removed now. ([@jimfb](https://github.com/jimfb) in [#5495](https://github.com/facebook/react/pull/5495))
### New deprecations, introduced with a warning
Each of these changes will continue to work as before with a new warning until the release of React 16 so you can upgrade your code gradually.
- `LinkedStateMixin` and `valueLink` are now deprecated due to very low popularity. If you need this, you can use a wrapper component that implements the same behavior: [react-linked-input](https://www.npmjs.com/package/react-linked-input). ([@jimfb](https://github.com/jimfb) in [#6127](https://github.com/facebook/react/pull/6127))
- Future versions of React will treat `<input value={null}>` as a request to clear the input. However, React 0.14 has been ignoring `value={null}`. React 15 warns you on a `null` input value and offers you to clarify your intention. To fix the warning, you may explicitly pass an empty string to clear a controlled input, or pass `undefined` to make the input uncontrolled. ([@antoaravinth](https://github.com/antoaravinth) in [#5048](https://github.com/facebook/react/pull/5048))
- `ReactPerf.printDOM()` was renamed to `ReactPerf.printOperations()`, and `ReactPerf.getMeasurementsSummaryMap()` was renamed to `ReactPerf.getWasted()`. ([@gaearon](https://github.com/gaearon) in [#6287](https://github.com/facebook/react/pull/6287))
### New helpful warnings
- If you use a minified copy of the _development_ build, React DOM kindly encourages you to use the faster production build instead. ([@spicyj](https://github.com/spicyj) in [#5083](https://github.com/facebook/react/pull/5083))
- React DOM: When specifying a unit-less CSS value as a string, a future version will not add `px` automatically. This version now warns in this case (ex: writing `style={{'{{'}}width: '300'}}`. Unitless *number* values like `width: 300` are unchanged. ([@pluma](https://github.com/pluma) in [#5140](https://github.com/facebook/react/pull/5140))
- Synthetic Events will now warn when setting and accessing properties (which will not get cleared appropriately), as well as warn on access after an event has been returned to the pool. ([@kentcdodds](https://github.com/kentcdodds) in [#5940](https://github.com/facebook/react/pull/5940) and [@koba04](https://github.com/koba04) in [#5947](https://github.com/facebook/react/pull/5947))
- Elements will now warn when attempting to read `ref` and `key` from the props. ([@prometheansacrifice](https://github.com/prometheansacrifice) in [#5744](https://github.com/facebook/react/pull/5744))
- React will now warn if you pass a different `props` object to `super()` in the constructor. ([@prometheansacrifice](https://github.com/prometheansacrifice) in [#5346](https://github.com/facebook/react/pull/5346))
- React will now warn if you call `setState()` inside `getChildContext()`. ([@raineroviir](https://github.com/raineroviir) in [#6121](https://github.com/facebook/react/pull/6121))
- React DOM now attempts to warn for mistyped event handlers on DOM elements, such as `onclick` which should be `onClick`. ([@ali](https://github.com/ali) in [#5361](https://github.com/facebook/react/pull/5361))
- React DOM now warns about `NaN` values in `style`. ([@jontewks](https://github.com/jontewks) in [#5811](https://github.com/facebook/react/pull/5811))
- React DOM now warns if you specify both `value` and `defaultValue` for an input. ([@mgmcdermott](https://github.com/mgmcdermott) in [#5823](https://github.com/facebook/react/pull/5823))
- React DOM now warns if an input switches between being controlled and uncontrolled. ([@TheBlasfem](https://github.com/TheBlasfem) in [#5864](https://github.com/facebook/react/pull/5864))
- React DOM now warns if you specify `onFocusIn` or `onFocusOut` handlers as they are unnecessary in React. ([@jontewks](https://github.com/jontewks) in [#6296](https://github.com/facebook/react/pull/6296))
- React now prints a descriptive error message when you pass an invalid callback as the last argument to `ReactDOM.render()`, `this.setState()`, or `this.forceUpdate()`. ([@conorhastings](https://github.com/conorhastings) in [#5193](https://github.com/facebook/react/pull/5193) and [@gaearon](https://github.com/gaearon) in [#6310](https://github.com/facebook/react/pull/6310))
- Add-Ons: `TestUtils.Simulate()` now prints a helpful message if you attempt to use it with shallow rendering. ([@conorhastings](https://github.com/conorhastings) in [#5358](https://github.com/facebook/react/pull/5358))
- PropTypes: `arrayOf()` and `objectOf()` provide better error messages for invalid arguments. ([@chicoxyzzy](https://github.com/chicoxyzzy) in [#5390](https://github.com/facebook/react/pull/5390))
### Notable bug fixes
- Fixed multiple small memory leaks. ([@spicyj](https://github.com/spicyj) in [#4983](https://github.com/facebook/react/pull/4983) and [@victor-homyakov](https://github.com/victor-homyakov) in [#6309](https://github.com/facebook/react/pull/6309))
- Input events are handled more reliably in IE 10 and IE 11; spurious events no longer fire when using a placeholder. ([@jquense](https://github.com/jquense) in [#4051](https://github.com/facebook/react/pull/4051))
- The `componentWillReceiveProps()` lifecycle method is now consistently called when `context` changes. ([@milesj](https://github.com/milesj) in [#5787](https://github.com/facebook/react/pull/5787))
- `React.cloneElement()` doesnt append slash to an existing `key` when used inside `React.Children.map()`. ([@ianobermiller](https://github.com/ianobermiller) in [#5892](https://github.com/facebook/react/pull/5892))
- React DOM now supports the `cite` and `profile` HTML attributes. ([@AprilArcus](https://github.com/AprilArcus) in [#6094](https://github.com/facebook/react/pull/6094) and [@saiichihashimoto](https://github.com/saiichihashimoto) in [#6032](https://github.com/facebook/react/pull/6032))
- React DOM now supports `cssFloat`, `gridRow` and `gridColumn` CSS properties. ([@stevenvachon](https://github.com/stevenvachon) in [#6133](https://github.com/facebook/react/pull/6133) and [@mnordick](https://github.com/mnordick) in [#4779](https://github.com/facebook/react/pull/4779))
- React DOM now correctly handles `borderImageOutset`, `borderImageWidth`, `borderImageSlice`, `floodOpacity`, `strokeDasharray`, and `strokeMiterlimit` as unitless CSS properties. ([@rofrischmann](https://github.com/rofrischmann) in [#6210](https://github.com/facebook/react/pull/6210) and [#6270](https://github.com/facebook/react/pull/6270))
- React DOM now supports the `onAnimationStart`, `onAnimationEnd`, `onAnimationIteration`, `onTransitionEnd`, and `onInvalid` events. Support for `onLoad` has been added to `object` elements. ([@tomduncalf](https://github.com/tomduncalf) in [#5187](https://github.com/facebook/react/pull/5187), [@milesj](https://github.com/milesj) in [#6005](https://github.com/facebook/react/pull/6005), and [@ara4n](https://github.com/ara4n) in [#5781](https://github.com/facebook/react/pull/5781))
- React DOM now defaults to using DOM attributes instead of properties, which fixes a few edge case bugs. Additionally the nullification of values (ex: `href={null}`) now results in the forceful removal, no longer trying to set to the default value used by browsers in the absence of a value. ([@syranide](https://github.com/syranide) in [#1510](https://github.com/facebook/react/pull/1510))
- React DOM does not mistakingly coerce `children` to strings for Web Components. ([@jimfb](https://github.com/jimfb) in [#5093](https://github.com/facebook/react/pull/5093))
- React DOM now correctly normalizes SVG `<use>` events. ([@edmellum](https://github.com/edmellum) in [#5720](https://github.com/facebook/react/pull/5720))
- React DOM does not throw if a `<select>` is unmounted while its `onChange` handler is executing. ([@sambev](https://github.com/sambev) in [#6028](https://github.com/facebook/react/pull/6028))
- React DOM does not throw in Windows 8 apps. ([@Andrew8xx8](https://github.com/Andrew8xx8) in [#6063](https://github.com/facebook/react/pull/6063))
- React DOM does not throw when asynchronously unmounting a child with a `ref`. ([@yiminghe](https://github.com/yiminghe) in [#6095](https://github.com/facebook/react/pull/6095))
- React DOM no longer forces synchronous layout because of scroll position tracking. ([@syranide](https://github.com/syranide) in [#2271](https://github.com/facebook/react/pull/2271))
- `Object.is` is used in a number of places to compare values, which leads to fewer false positives, especially involving `NaN`. In particular, this affects the `shallowCompare` add-on. ([@chicoxyzzy](https://github.com/chicoxyzzy) in [#6132](https://github.com/facebook/react/pull/6132))
- Add-Ons: ReactPerf no longer instruments adding or removing an event listener because they dont really touch the DOM due to event delegation. ([@antoaravinth](https://github.com/antoaravinth) in [#5209](https://github.com/facebook/react/pull/5209))
### Other improvements
- React now uses `loose-envify` instead of `envify` so it installs fewer transitive dependencies. ([@qerub](https://github.com/qerub) in [#6303](https://github.com/facebook/react/pull/6303))
- Shallow renderer now exposes `getMountedInstance()`. ([@glenjamin](https://github.com/glenjamin) in [#4918](https://github.com/facebook/react/pull/4918))
- Shallow renderer now returns the rendered output from `render()`. ([@simonewebdesign](https://github.com/simonewebdesign) in [#5411](https://github.com/facebook/react/pull/5411))
- React no longer depends on ES5 *shams* for `Object.create` and `Object.freeze` in older environments. It still, however, requires ES5 *shims* in those environments. ([@dgreensp](https://github.com/dgreensp) in [#4959](https://github.com/facebook/react/pull/4959))
- React DOM now allows `data-` attributes with names that start with numbers. ([@nLight](https://github.com/nLight) in [#5216](https://github.com/facebook/react/pull/5216))
- React DOM adds a new `suppressContentEditableWarning` prop for components like [Draft.js](https://facebook.github.io/draft-js/) that intentionally manage `contentEditable` children with React. ([@mxstbr](https://github.com/mxstbr) in [#6112](https://github.com/facebook/react/pull/6112))
- React improves the performance for `createClass()` on complex specs. ([@spicyj](https://github.com/spicyj) in [#5550](https://github.com/facebook/react/pull/5550))
## 0.14.8 (March 29, 2016)
### React
- Fixed memory leak when rendering on the server
## 0.14.7 (January 28, 2016)
### React
- Fixed bug with `<option>` tags when using `dangerouslySetInnerHTML`
- Fixed memory leak in synthetic event system
### React TestUtils Add-on
- Fixed bug with calling `setState` in `componentWillMount` when using shallow rendering
## 0.14.6 (January 6, 2016)
### React
- Updated `fbjs` dependency to pick up change affecting handling of undefined document.
## 0.14.5 (December 29, 2015)
### React
- More minor internal changes for better compatibility with React Native
## 0.14.4 (December 29, 2015)
### React
- Minor internal changes for better compatibility with React Native
### React DOM
- The `autoCapitalize` and `autoCorrect` props are now set as attributes in the DOM instead of properties to improve cross-browser compatibility
- Fixed bug with controlled `<select>` elements not handling updates properly
### React Perf Add-on
- Some DOM operation names have been updated for clarity in the output of `.printDOM()`
## 0.14.3 (November 18, 2015)
### React DOM
- Added support for `nonce` attribute for `<script>` and `<style>` elements
- Added support for `reversed` attribute for `<ol>` elements
### React TestUtils Add-on
- Fixed bug with shallow rendering and function refs
### React CSSTransitionGroup Add-on
- Fixed bug resulting in timeouts firing incorrectly when mounting and unmounting rapidly
### React on Bower
- Added `react-dom-server.js` to expose `renderToString` and `renderToStaticMarkup` for usage in the browser
## 0.14.2 (November 2, 2015)
### React DOM
- Fixed bug with development build preventing events from firing in some versions of Internet Explorer & Edge
- Fixed bug with development build when using es5-sham in older versions of Internet Explorer
- Added support for `integrity` attribute
- Fixed bug resulting in `children` prop being coerced to a string for custom elements, which was not the desired behavior
- Moved `react` from `dependencies` to `peerDependencies` to match expectations and align with `react-addons-*` packages
## 0.14.1 (October 28, 2015)
### React DOM
- Fixed bug where events wouldn't fire in old browsers when using React in development mode
- Fixed bug preventing use of `dangerouslySetInnerHTML` with Closure Compiler Advanced mode
- Added support for `srcLang`, `default`, and `kind` attributes for `<track>` elements
- Added support for `color` attribute
- Ensured legacy `.props` access on DOM nodes is updated on re-renders
### React TestUtils Add-on
- Fixed `scryRenderedDOMComponentsWithClass` so it works with SVG
### React CSSTransitionGroup Add-on
- Fix bug preventing `0` to be used as a timeout value
### React on Bower
- Added `react-dom.js` to `main` to improve compatibility with tooling
## 0.14.0 (October 7, 2015)
### Major changes
- Split the main `react` package into two: `react` and `react-dom`. This paves the way to writing components that can be shared between the web version of React and React Native. This means you will need to include both files and some functions have been moved from `React` to `ReactDOM`.
- Addons have been moved to separate packages (`react-addons-clone-with-props`, `react-addons-create-fragment`, `react-addons-css-transition-group`, `react-addons-linked-state-mixin`, `react-addons-perf`, `react-addons-pure-render-mixin`, `react-addons-shallow-compare`, `react-addons-test-utils`, `react-addons-transition-group`, `react-addons-update`, `ReactDOM.unstable_batchedUpdates`).
- Stateless functional components - React components were previously created using React.createClass or using ES6 classes. This release adds a [new syntax](https://facebook.github.io/react/docs/reusable-components.html#stateless-functions) where a user defines a single [stateless render function](https://facebook.github.io/react/docs/reusable-components.html#stateless-functions) (with one parameter: `props`) which returns a JSX element, and this function may be used as a component.
- Refs to DOM components as the DOM node itself. Previously the only useful thing you can do with a DOM component is call `getDOMNode()` to get the underlying DOM node. Starting with this release, a ref to a DOM component _is_ the actual DOM node. **Note that refs to custom (user-defined) components work exactly as before; only the built-in DOM components are affected by this change.**
### Breaking changes
- `React.initializeTouchEvents` is no longer necessary and has been removed completely. Touch events now work automatically.
- Add-Ons: Due to the DOM node refs change mentioned above, `TestUtils.findAllInRenderedTree` and related helpers are no longer able to take a DOM component, only a custom component.
- The `props` object is now frozen, so mutating props after creating a component element is no longer supported. In most cases, [`React.cloneElement`](https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement) should be used instead. This change makes your components easier to reason about and enables the compiler optimizations mentioned above.
- Plain objects are no longer supported as React children; arrays should be used instead. You can use the [`createFragment`](https://facebook.github.io/react/docs/create-fragment.html) helper to migrate, which now returns an array.
- Add-Ons: `classSet` has been removed. Use [classnames](https://github.com/JedWatson/classnames) instead.
- Web components (custom elements) now use native property names. Eg: `class` instead of `className`.
### Deprecations
- `this.getDOMNode()` is now deprecated and `ReactDOM.findDOMNode(this)` can be used instead. Note that in the common case, `findDOMNode` is now unnecessary since a ref to the DOM component is now the actual DOM node.
- `setProps` and `replaceProps` are now deprecated. Instead, call ReactDOM.render again at the top level with the new props.
- ES6 component classes must now extend `React.Component` in order to enable stateless function components. The [ES3 module pattern](https://facebook.github.io/react/blog/2015/01/27/react-v0.13.0-beta-1.html#other-languages) will continue to work.
- Reusing and mutating a `style` object between renders has been deprecated. This mirrors our change to freeze the `props` object.
- Add-Ons: `cloneWithProps` is now deprecated. Use [`React.cloneElement`](https://facebook.github.io/react/docs/top-level-api.html#react.cloneelement) instead (unlike `cloneWithProps`, `cloneElement` does not merge `className` or `style` automatically; you can merge them manually if needed).
- Add-Ons: To improve reliability, `CSSTransitionGroup` will no longer listen to transition events. Instead, you should specify transition durations manually using props such as `transitionEnterTimeout={500}`.
### Notable enhancements
- Added `React.Children.toArray` which takes a nested children object and returns a flat array with keys assigned to each child. This helper makes it easier to manipulate collections of children in your `render` methods, especially if you want to reorder or slice `this.props.children` before passing it down. In addition, `React.Children.map` now returns plain arrays too.
- React uses `console.error` instead of `console.warn` for warnings so that browsers show a full stack trace in the console. (Our warnings appear when you use patterns that will break in future releases and for code that is likely to behave unexpectedly, so we do consider our warnings to be “must-fix” errors.)
- Previously, including untrusted objects as React children [could result in an XSS security vulnerability](http://danlec.com/blog/xss-via-a-spoofed-react-element). This problem should be avoided by properly validating input at the application layer and by never passing untrusted objects around your application code. As an additional layer of protection, [React now tags elements](https://github.com/facebook/react/pull/4832) with a specific [ES2015 (ES6) `Symbol`](http://www.2ality.com/2014/12/es6-symbols.html) in browsers that support it, in order to ensure that React never considers untrusted JSON to be a valid element. If this extra security protection is important to you, you should add a `Symbol` polyfill for older browsers, such as the one included by [Babels polyfill](http://babeljs.io/docs/usage/polyfill/).
- When possible, React DOM now generates XHTML-compatible markup.
- React DOM now supports these standard HTML attributes: `capture`, `challenge`, `inputMode`, `is`, `keyParams`, `keyType`, `minLength`, `summary`, `wrap`. It also now supports these non-standard attributes: `autoSave`, `results`, `security`.
- React DOM now supports these SVG attributes, which render into namespaced attributes: `xlinkActuate`, `xlinkArcrole`, `xlinkHref`, `xlinkRole`, `xlinkShow`, `xlinkTitle`, `xlinkType`, `xmlBase`, `xmlLang`, `xmlSpace`.
- The `image` SVG tag is now supported by React DOM.
- In React DOM, arbitrary attributes are supported on custom elements (those with a hyphen in the tag name or an `is="..."` attribute).
- React DOM now supports these media events on `audio` and `video` tags: `onAbort`, `onCanPlay`, `onCanPlayThrough`, `onDurationChange`, `onEmptied`, `onEncrypted`, `onEnded`, `onError`, `onLoadedData`, `onLoadedMetadata`, `onLoadStart`, `onPause`, `onPlay`, `onPlaying`, `onProgress`, `onRateChange`, `onSeeked`, `onSeeking`, `onStalled`, `onSuspend`, `onTimeUpdate`, `onVolumeChange`, `onWaiting`.
- Many small performance improvements have been made.
- Many warnings show more context than before.
- Add-Ons: A [`shallowCompare`](https://github.com/facebook/react/pull/3355) add-on has been added as a migration path for `PureRenderMixin` in ES6 classes.
- Add-Ons: `CSSTransitionGroup` can now use [custom class names](https://github.com/facebook/react/blob/48942b85/docs/docs/10.1-animation.md#custom-classes) instead of appending `-enter-active` or similar to the transition name.
### New helpful warnings
- React DOM now warns you when nesting HTML elements invalidly, which helps you avoid surprising errors during updates.
- Passing `document.body` directly as the container to `ReactDOM.render` now gives a warning as doing so can cause problems with browser extensions that modify the DOM.
- Using multiple instances of React together is not supported, so we now warn when we detect this case to help you avoid running into the resulting problems.
### Notable bug fixes
- Click events are handled by React DOM more reliably in mobile browsers, particularly in Mobile Safari.
- SVG elements are created with the correct namespace in more cases.
- React DOM now renders `<option>` elements with multiple text children properly and renders `<select>` elements on the server with the correct option selected.
- When two separate copies of React add nodes to the same document (including when a browser extension uses React), React DOM tries harder not to throw exceptions during event handling.
- Using non-lowercase HTML tag names in React DOM (e.g., `React.createElement('DIV')`) no longer causes problems, though we continue to recommend lowercase for consistency with the JSX tag name convention (lowercase names refer to built-in components, capitalized names refer to custom components).
- React DOM understands that these CSS properties are unitless and does not append “px” to their values: `animationIterationCount`, `boxOrdinalGroup`, `flexOrder`, `tabSize`, `stopOpacity`.
- Add-Ons: When using the test utils, `Simulate.mouseEnter` and `Simulate.mouseLeave` now work.
- Add-Ons: ReactTransitionGroup now correctly handles multiple nodes being removed simultaneously.
### React Tools / Babel
#### Breaking Changes
- The `react-tools` package and `JSXTransformer.js` browser file [have been deprecated](https://facebook.github.io/react/blog/2015/06/12/deprecating-jstransform-and-react-tools.html). You can continue using version `0.13.3` of both, but we no longer support them and recommend migrating to [Babel](http://babeljs.io/), which has built-in support for React and JSX.
#### New Features
- Babel 5.8.24 introduces **Inlining React elements:** The `optimisation.react.inlineElements` transform converts JSX elements to object literals like `{type: 'div', props: ...}` instead of calls to `React.createElement`. This should only be enabled in production, since it disables some development warnings/checks.
- Babel 5.8.24 introduces **Constant hoisting for React elements:** The `optimisation.react.constantElements` transform hoists element creation to the top level for subtrees that are fully static, which reduces calls to `React.createElement` and the resulting allocations. More importantly, it tells React that the subtree hasnt changed so React can completely skip it when reconciling. This should only be enabled in production, since it disables some development warnings/checks.
## 0.13.3 (May 8, 2015)
### React Core
#### New Features
* Added `clipPath` element and attribute for SVG
* Improved warnings for deprecated methods in plain JS classes
#### Bug Fixes
* Loosened `dangerouslySetInnerHTML` restrictions so `{__html: undefined}` will no longer throw
* Fixed extraneous context warning with non-pure `getChildContext`
* Ensure `replaceState(obj)` retains prototype of `obj`
### React with Add-ons
### Bug Fixes
* Test Utils: Ensure that shallow rendering works when components define `contextTypes`
## 0.13.2 (April 18, 2015)
### React Core
#### New Features
* Added `strokeDashoffset`, `flexPositive`, `flexNegative` to the list of unitless CSS properties
* Added support for more DOM properties:
* `scoped` - for `<style>` elements
* `high`, `low`, `optimum` - for `<meter>` elements
* `unselectable` - IE-specific property to prevent user selection
#### Bug Fixes
* Fixed a case where re-rendering after rendering null didn't properly pass context
* Fixed a case where re-rendering after rendering with `style={null}` didn't properly update `style`
* Update `uglify` dependency to prevent a bug in IE8
* Improved warnings
### React with Add-Ons
#### Bug Fixes
* Immutabilty Helpers: Ensure it supports `hasOwnProperty` as an object key
### React Tools
* Improve documentation for new options
## 0.13.1 (March 16, 2015)
### React Core
#### Bug Fixes
* Don't throw when rendering empty `<select>` elements
* Ensure updating `style` works when transitioning from `null`
### React with Add-Ons
#### Bug Fixes
* TestUtils: Don't warn about `getDOMNode` for ES6 classes
* TestUtils: Ensure wrapped full page components (`<html>`, `<head>`, `<body>`) are treated as DOM components
* Perf: Stop double-counting DOM components
### React Tools
#### Bug Fixes
* Fix option parsing for `--non-strict-es6module`
## 0.13.0 (March 10, 2015)
### React Core
#### Breaking Changes
* Deprecated patterns that warned in 0.12 no longer work: most prominently, calling component classes without using JSX or React.createElement and using non-component functions with JSX or createElement
* Mutating `props` after an element is created is deprecated and will cause warnings in development mode; future versions of React will incorporate performance optimizations assuming that props aren't mutated
* Static methods (defined in `statics`) are no longer autobound to the component class
* `ref` resolution order has changed slightly such that a ref to a component is available immediately after its `componentDidMount` method is called; this change should be observable only if your component calls a parent component's callback within your `componentDidMount`, which is an anti-pattern and should be avoided regardless
* Calls to `setState` in life-cycle methods are now always batched and therefore asynchronous. Previously the first call on the first mount was synchronous.
* `setState` and `forceUpdate` on an unmounted component now warns instead of throwing. That avoids a possible race condition with Promises.
* Access to most internal properties has been completely removed, including `this._pendingState` and `this._rootNodeID`.
#### New Features
* Support for using ES6 classes to build React components; see the [v0.13.0 beta 1 notes](https://facebook.github.io/react/blog/2015/01/27/react-v0.13.0-beta-1.html) for details.
* Added new top-level API `React.findDOMNode(component)`, which should be used in place of `component.getDOMNode()`. The base class for ES6-based components will not have `getDOMNode`. This change will enable some more patterns moving forward.
* Added a new top-level API `React.cloneElement(el, props)` for making copies of React elements see the [v0.13 RC2 notes](https://facebook.github.io/react/blog/2015/03/03/react-v0.13-rc2.html#react.cloneelement) for more details.
* New `ref` style, allowing a callback to be used in place of a name: `<Photo ref={(c) => this._photo = c} />` allows you to reference the component with `this._photo` (as opposed to `ref="photo"` which gives `this.refs.photo`).
* `this.setState()` can now take a function as the first argument for transactional state updates, such as `this.setState((state, props) => ({count: state.count + 1}));` this means that you no longer need to use `this._pendingState`, which is now gone.
* Support for iterators and immutable-js sequences as children.
#### Deprecations
* `ComponentClass.type` is deprecated. Just use `ComponentClass` (usually as `element.type === ComponentClass`).
* Some methods that are available on `createClass`-based components are removed or deprecated from ES6 classes (`getDOMNode`, `replaceState`, `isMounted`, `setProps`, `replaceProps`).
### React with Add-Ons
#### New Features
* [`React.addons.createFragment` was added](https://facebook.github.io/react/docs/create-fragment.html) for adding keys to entire sets of children.
#### Deprecations
* `React.addons.classSet` is now deprecated. This functionality can be replaced with several freely available modules. [classnames](https://www.npmjs.com/package/classnames) is one such module.
* Calls to `React.addons.cloneWithProps` can be migrated to use `React.cloneElement` instead make sure to merge `style` and `className` manually if desired.
### React Tools
#### Breaking Changes
* When transforming ES6 syntax, `class` methods are no longer enumerable by default, which requires `Object.defineProperty`; if you support browsers such as IE8, you can pass `--target es3` to mirror the old behavior
#### New Features
* `--target` option is available on the jsx command, allowing users to specify and ECMAScript version to target.
* `es5` is the default.
* `es3` restores the previous default behavior. An additional transform is added here to ensure the use of reserved words as properties is safe (eg `this.static` will become `this['static']` for IE8 compatibility).
* The transform for the call spread operator has also been enabled.
### JSXTransformer
#### Breaking Changes
* The return value of `transform` now contains `sourceMap` as a JS object already, not an instance of `SourceMapGenerator`.
### JSX
#### Breaking Changes
* A change was made to how some JSX was parsed, specifically around the use of `>` or `}` when inside an element. Previously it would be treated as a string but now it will be treated as a parse error. The [`jsx_orphaned_brackets_transformer`](https://www.npmjs.com/package/jsx_orphaned_brackets_transformer) package on npm can be used to find and fix potential issues in your JSX code.
## 0.12.2 (December 18, 2014)
### React Core
* Added support for more HTML attributes: `formAction`, `formEncType`, `formMethod`, `formTarget`, `marginHeight`, `marginWidth`
* Added `strokeOpacity` to the list of unitless CSS properties
* Removed trailing commas (allows npm module to be bundled and used in IE8)
* Fixed bug resulting in error when passing `undefined` to `React.createElement` - now there is a useful warning
### React Tools
* JSX-related transforms now always use double quotes for props and `displayName`
## 0.12.1 (November 18, 2014)
### React Tools
* Types transform updated with latest support
* jstransform version updated with improved ES6 transforms
* Explicit Esprima dependency removed in favor of using Esprima information exported by jstransform
## 0.12.0 (October 28, 2014)
### React Core
#### Breaking Changes
* `key` and `ref` moved off props object, now accessible on the element directly
* React is now BSD licensed with accompanying Patents grant
* Default prop resolution has moved to Element creation time instead of mount time, making them effectively static
* `React.__internals` is removed - it was exposed for DevTools which no longer needs access
* Composite Component functions can no longer be called directly - they must be wrapped with `React.createFactory` first. This is handled for you when using JSX.
#### New Features
* Spread operator (`{...}`) introduced to deprecate `this.transferPropsTo`
* Added support for more HTML attributes: `acceptCharset`, `classID`, `manifest`
#### Deprecations
* `React.renderComponent` --> `React.render`
* `React.renderComponentToString` --> `React.renderToString`
* `React.renderComponentToStaticMarkup` --> `React.renderToStaticMarkup`
* `React.isValidComponent` --> `React.isValidElement`
* `React.PropTypes.component` --> `React.PropTypes.element`
* `React.PropTypes.renderable` --> `React.PropTypes.node`
* **DEPRECATED** `React.isValidClass`
* **DEPRECATED** `instance.transferPropsTo`
* **DEPRECATED** Returning `false` from event handlers to preventDefault
* **DEPRECATED** Convenience Constructor usage as function, instead wrap with `React.createFactory`
* **DEPRECATED** use of `key={null}` to assign implicit keys
#### Bug Fixes
* Better handling of events and updates in nested results, fixing value restoration in "layered" controlled components
* Correctly treat `event.getModifierState` as case sensitive
* Improved normalization of `event.charCode`
* Better error stacks when involving autobound methods
* Removed DevTools message when the DevTools are installed
* Correctly detect required language features across browsers
* Fixed support for some HTML attributes:
* `list` updates correctly now
* `scrollLeft`, `scrollTop` removed, these should not be specified as props
* Improved error messages
### React With Addons
#### New Features
* `React.addons.batchedUpdates` added to API for hooking into update cycle
#### Breaking Changes
* `React.addons.update` uses `assign` instead of `copyProperties` which does `hasOwnProperty` checks. Properties on prototypes will no longer be updated correctly.
#### Bug Fixes
* Fixed some issues with CSS Transitions
### JSX
#### Breaking Changes
* Enforced convention: lower case tag names are always treated as HTML tags, upper case tag names are always treated as composite components
* JSX no longer transforms to simple function calls
#### New Features
* `@jsx React.DOM` no longer required
* spread (`{...}`) operator introduced to allow easier use of props
#### Bug Fixes
* JSXTransformer: Make sourcemaps an option when using APIs directly (eg, for react-rails)
## 0.11.2 (September 16, 2014)
### React Core
#### New Features
* Added support for `<dialog>` element and associated `open` attribute
* Added support for `<picture>` element and associated `media` and `sizes` attributes
* Added `React.createElement` API in preparation for React v0.12
* `React.createDescriptor` has been deprecated as a result
### JSX
* `<picture>` is now parsed into `React.DOM.picture`
### React Tools
* Update `esprima` and `jstransform` for correctness fixes
* The `jsx` executable now exposes a `--strip-types` flag which can be used to remove TypeScript-like type annotations
* This option is also exposed to `require('react-tools').transform` as `stripTypes`
## 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 `<Components.Checkbox />`
* JSXTransformer
* Enable the same `harmony` features available in the command line with `<script type="text/jsx;harmony=true">`
* Scripts are downloaded in parallel for more speed. They are still executed in order (as you would expect with normal script tags)
* Fixed a bug preventing sourcemaps from working in Firefox
### React Tools Module
* Improved readme with usage and API information
* Improved ES6 transforms available with `--harmony` option
* Added `--source-map-inline` option to the `jsx` executable
* New `transformWithDetails` API which gives access to the raw sourcemap data
## 0.10.0 (March 21, 2014)
### React Core
#### New Features
* Added warnings to help migrate towards descriptors
* Made it possible to server render without React-related markup (`data-reactid`, `data-react-checksum`). This DOM will not be mountable by React. [Read the docs for `React.renderComponentToStaticMarkup`](http://facebook.github.io/react/docs/top-level-api.html#react.rendercomponenttostaticmarkup)
* Made it possible to server render without React-related markup (`data-reactid`, `data-react-checksum`). This DOM will not be mountable by React. [Read the docs for `React.renderComponentToStaticMarkup`](https://facebook.github.io/react/docs/top-level-api.html#react.rendercomponenttostaticmarkup)
* Added support for more attributes:
* `srcSet` for `<img>` to specify images at different pixel ratios
* `textAnchor` for SVG
@@ -16,7 +712,7 @@
### Addons
* `update` function to deal with immutable data. [Read the docs](http://facebook.github.io/react/docs/update.html)
* `update` function to deal with immutable data. [Read the docs](https://facebook.github.io/react/docs/update.html)
### react-tools
* Added an option argument to `transform` function. The only option supported is `harmony`, which behaves the same as `jsx --harmony` on the command line. This uses the ES6 transforms from [jstransform](https://github.com/facebook/jstransform).
@@ -178,7 +874,7 @@
### React with Addons (New!)
* Introduced a separate build with several "addons" which we think can help improve the React experience. We plan to deprecate this in the long-term, instead shipping each as standalone pieces. [Read more in the docs](http://facebook.github.io/react/docs/addons.html).
* Introduced a separate build with several "addons" which we think can help improve the React experience. We plan to deprecate this in the long-term, instead shipping each as standalone pieces. [Read more in the docs](https://facebook.github.io/react/docs/addons.html).
### JSX
@@ -211,10 +907,10 @@
* Switch from using `id` attribute to `data-reactid` to track DOM nodes. This allows you to integrate with other JS and CSS libraries more easily.
* Support for more DOM elements and attributes (e.g., `<canvas>`)
* Improved server-side rendering APIs. `React.renderComponentToString(<component>, callback)` allows you to use React on the server and generate markup which can be sent down to the browser.
* `prop` improvements: validation and default values. [Read our blog post for details...](http://facebook.github.io/react/blog/2013/07/11/react-v0-4-prop-validation-and-default-values.html)
* Support for the `key` prop, which allows for finer control over reconciliation. [Read the docs for details...](http://facebook.github.io/react/docs/multiple-components.html)
* Removed `React.autoBind`. [Read our blog post for details...](http://facebook.github.io/react/blog/2013/07/02/react-v0-4-autobind-by-default.html)
* Improvements to forms. We've written wrappers around `<input>`, `<textarea>`, `<option>`, and `<select>` in order to standardize many inconsistencies in browser implementations. This includes support for `defaultValue`, and improved implementation of the `onChange` event, and circuit completion. [Read the docs for details...](http://facebook.github.io/react/docs/forms.html)
* `prop` improvements: validation and default values. [Read our blog post for details...](https://facebook.github.io/react/blog/2013/07/11/react-v0-4-prop-validation-and-default-values.html)
* Support for the `key` prop, which allows for finer control over reconciliation. [Read the docs for details...](https://facebook.github.io/react/docs/multiple-components.html)
* Removed `React.autoBind`. [Read our blog post for details...](https://facebook.github.io/react/blog/2013/07/02/react-v0-4-autobind-by-default.html)
* Improvements to forms. We've written wrappers around `<input>`, `<textarea>`, `<option>`, and `<select>` in order to standardize many inconsistencies in browser implementations. This includes support for `defaultValue`, and improved implementation of the `onChange` event, and circuit completion. [Read the docs for details...](https://facebook.github.io/react/docs/forms.html)
* We've implemented an improved synthetic event system that conforms to the W3C spec.
* Updates to your component are batched now, which may result in a significantly faster re-render of components. `this.setState` now takes an optional callback as it's second parameter. If you were using `onClick={this.setState.bind(this, state)}` previously, you'll want to make sure you add a third parameter so that the event is not treated as the callback.
@@ -246,14 +942,14 @@
* Upgrade Commoner so `require` statements are no longer relativized when passing through the transformer. This was a feature needed when building React, but doesn't translate well for other consumers of `bin/jsx`.
* Upgraded our dependencies on Commoner and Recast so they use a different directory for their cache.
* Freeze our esprima dependency.
* Freeze our Esprima dependency.
## 0.3.2 (May 31, 2013)
### JSX
* Improved compatability with other coding styles (specifically, multiple assignments with a single `var`).
* Improved compatibility with other coding styles (specifically, multiple assignments with a single `var`).
### react-tools

View File

@@ -1,6 +1,10 @@
# Contributing to React
React is one of Facebook's first open source projects that is both under very active development and is also being used to ship code to everybody on facebook.com. We're still working out the kinks to make contributing to this project as easy and transparent as possible, but we're not quite there yet. Hopefully this document makes the process for contributing clear and preempts some questions you may have.
React is one of Facebook's first open source projects that is both under very active development and is also being used to ship code to everybody on [facebook.com](https://www.facebook.com). We're still working out the kinks to make contributing to this project as easy and transparent as possible, but we're not quite there yet. Hopefully this document makes the process for contributing clear and answers some questions that you may have.
## [Code of Conduct](https://code.facebook.com/codeofconduct)
Facebook has adopted a Code of Conduct that we expect project participants to adhere to. Please read [the full text](https://code.facebook.com/codeofconduct) so that you can understand what actions will and will not be tolerated.
## Our Development Process
@@ -10,8 +14,24 @@ Some of the core team will be working directly on GitHub. These changes will be
We will do our best to keep `master` in good shape, with tests passing at all times. But in order to move fast, we will make API changes that your application might not be compatible with. We will do our best to communicate these changes and always version appropriately so you can lock into a specific version if need be.
### Test Suite
Use `grunt test` to run the full test suite with PhantomJS.
This command is just a facade to [Jest](https://facebook.github.io/jest/). You may optionally run `npm install -g jest-cli` and use Jest commands directly to have more control over how tests are executed.
For example, `jest --watch` lets you automatically run the test suite on every file change.
You can also run a subset of tests by passing a prefix to `jest`. For instance, `jest ReactDOMSVG` will only run tests in the files that start with `ReactDOMSVG`, such as `ReactDOMSVG-test.js`.
When you know which tests you want to run, you can achieve a fast feedback loop by using these two features together. For example, `jest ReactDOMSVG --watch` will re-run only the matching tests on every change.
Just make sure to run the whole test suite before submitting a pull request!
### Pull Requests
**Working on your first Pull Request?** You can learn how from this *free* series [How to Contribute to an Open Source Project on GitHub](https://egghead.io/series/how-to-contribute-to-an-open-source-project-on-github)
The core team will be monitoring for pull requests. When we get one, we'll run some Facebook-specific integration tests on it first. From here, we'll need to get another person to sign off on the changes and then merge the pull request. For API changes we may need to fix internal uses, which could cause some delay. We'll do our best to provide updates and feedback throughout the process.
*Before* submitting a pull request, please make sure the following is done…
@@ -23,11 +43,11 @@ The core team will be monitoring for pull requests. When we get one, we'll run s
5. Make sure your code lints (`grunt lint`) - we've done our best to make sure these rules match our internal linting guidelines.
6. If you haven't already, complete the CLA.
### Contributor License Agreement ("CLA")
### Contributor License Agreement (CLA)
In order to accept your pull request, we need you to submit a CLA. You only need to do this once, so if you've done this for another Facebook open source project, you're good to go. If you are submitting a pull request for the first time, just let us know that you have completed the CLA and we can cross-check with your GitHub username.
Complete your CLA here: <https://code.facebook.com/cla>
[Complete your CLA here.](https://code.facebook.com/cla)
## Bugs
@@ -41,24 +61,40 @@ The best way to get your bug fixed is to provide a reduced test case. jsFiddle,
### Security Bugs
Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe disclosure of security bugs. With that in mind, please do not file public issues and go through the process outlined on that page.
Facebook has a [bounty program](https://www.facebook.com/whitehat/) for the safe disclosure of security bugs. With that in mind, please do not file public issues; go through the process outlined on that page.
## How to Get in Touch
* IRC - [#reactjs on freenode](http://webchat.freenode.net/?channels=reactjs)
* Mailing list - [reactjs on Google Groups](http://groups.google.com/group/reactjs)
* IRC - [#reactjs on freenode](https://webchat.freenode.net/?channels=reactjs)
* Discussion forum - [discuss.reactjs.org](https://discuss.reactjs.org/)
## Coding Style
## Meeting Notes
* Use semicolons;
* Commas last,
React team meets once a week to discuss the development of React, future plans, and priorities.
You can find the meeting notes in a [dedicated repository](https://github.com/reactjs/core-notes/).
## Style Guide
Our linter will catch most styling issues that may exist in your code.
You can check the status of your code styling by simply running: `grunt lint`
However, there are still some styles that the linter cannot pick up. If you are unsure about something, looking at [Airbnb's Style Guide](https://github.com/airbnb/javascript) will guide you in the right direction.
### Code Conventions
* Use semicolons `;`
* Commas last `,`
* 2 spaces for indentation (no tabs)
* Prefer `'` over `"`
* `"use strict";`
* `'use strict';`
* 80 character line length
* "Attractive"
* Write "attractive" code
* Do not use the optional parameters of `setTimeout` and `setInterval`
### Documentation
* Do not wrap lines at 80 characters
## License
By contributing to React, you agree that your contributions will be licensed under the [Apache License Version 2.0 (APLv2)](LICENSE).
By contributing to React, you agree that your contributions will be licensed under its BSD license.

View File

@@ -1,233 +1,156 @@
'use strict';
var exec = require('child_process').exec;
var jsxTask = require('./grunt/tasks/jsx');
var browserifyTask = require('./grunt/tasks/browserify');
var populistTask = require('./grunt/tasks/populist');
var webdriverPhantomJSTask = require('./grunt/tasks/webdriver-phantomjs');
var webdriverJasmineTasks = require('./grunt/tasks/webdriver-jasmine');
var sauceTunnelTask = require('./grunt/tasks/sauce-tunnel');
var npmTask = require('./grunt/tasks/npm');
var releaseTasks = require('./grunt/tasks/release');
var npmReactTasks = require('./grunt/tasks/npm-react');
var npmReactToolsTasks = require('./grunt/tasks/npm-react-tools');
var versionCheckTask = require('./grunt/tasks/version-check');
var path = require('path');
var GULP_EXE = 'gulp';
if (process.platform === 'win32') {
GULP_EXE += '.cmd';
}
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
copy: require('./grunt/config/copy'),
jsx: require('./grunt/config/jsx'),
browserify: require('./grunt/config/browserify'),
populist: require('./grunt/config/populist')(grunt),
connect: require('./grunt/config/server')(grunt),
"webdriver-jasmine": require('./grunt/config/webdriver-jasmine'),
"webdriver-perf": require('./grunt/config/webdriver-perf'),
npm: require('./grunt/config/npm'),
clean: ['./build', './*.gem', './docs/_site', './examples/shared/*.js', '.module-cache'],
jshint: require('./grunt/config/jshint'),
compare_size: require('./grunt/config/compare_size')
clean: [
'./build',
'./*.gem',
'./docs/_site',
'./examples/shared/*.js',
'.module-cache',
],
'compare_size': require('./grunt/config/compare_size'),
});
grunt.config.set('compress', require('./grunt/config/compress'));
function spawnGulp(args, opts, done) {
grunt.util.spawn({
// This could be more flexible (require.resolve & lookup bin in package)
// but if it breaks we'll fix it then.
cmd: path.join('node_modules', '.bin', GULP_EXE),
args: args,
opts: Object.assign({stdio: 'inherit'}, opts),
}, function(err, result, code) {
if (err) {
grunt.fail.fatal('Something went wrong running gulp: ', result);
}
done(code === 0);
});
}
Object.keys(grunt.file.readJSON('package.json').devDependencies)
.filter(function(npmTaskName) { return npmTaskName.indexOf('grunt-') === 0; })
.filter(function(npmTaskName) { return npmTaskName != 'grunt-cli'; })
.forEach(function(npmTaskName) { grunt.loadNpmTasks(npmTaskName); });
.filter(function(npmTaskName) {
return npmTaskName.indexOf('grunt-') === 0;
})
.filter(function(npmTaskName) {
return npmTaskName !== 'grunt-cli';
})
.forEach(function(npmTaskName) {
grunt.loadNpmTasks(npmTaskName);
});
// Alias 'jshint' to 'lint' to better match the workflow we know
grunt.registerTask('lint', ['jshint']);
grunt.registerTask('eslint', function() {
// Use gulp here.
spawnGulp(['eslint'], null, this.async());
});
grunt.registerTask('download-previous-version', require('./grunt/tasks/download-previous-version.js'));
grunt.registerTask('lint', ['eslint']);
grunt.registerTask('flow', function() {
// Use gulp here.
spawnGulp(['flow'], null, this.async());
});
grunt.registerTask('delete-build-modules', function() {
if (grunt.file.exists('build/modules')) {
grunt.file.delete('build/modules');
}
// Use gulp here.
spawnGulp(['react:clean'], null, this.async());
});
// Register jsx:normal and :release tasks.
grunt.registerMultiTask('jsx', jsxTask);
// Our own browserify-based tasks to build a single JS file build.
grunt.registerMultiTask('browserify', require('./grunt/tasks/browserify'));
// Our own browserify-based tasks to build a single JS file build
grunt.registerMultiTask('browserify', browserifyTask);
grunt.registerMultiTask('populist', populistTask);
grunt.registerTask('sauce-tunnel', sauceTunnelTask);
grunt.registerMultiTask('webdriver-jasmine', webdriverJasmineTasks);
grunt.registerMultiTask('webdriver-perf', require('./grunt/tasks/webdriver-perf'));
grunt.registerMultiTask('npm', npmTask);
grunt.registerMultiTask('npm', require('./grunt/tasks/npm'));
var npmReactTasks = require('./grunt/tasks/npm-react');
grunt.registerTask('npm-react:release', npmReactTasks.buildRelease);
grunt.registerTask('npm-react:pack', npmReactTasks.packRelease);
grunt.registerTask('npm-react-tools:release', npmReactToolsTasks.buildRelease);
grunt.registerTask('npm-react-tools:pack', npmReactToolsTasks.packRelease);
grunt.registerTask('version-check', versionCheckTask);
var npmReactDOMTasks = require('./grunt/tasks/npm-react-dom');
grunt.registerTask('npm-react-dom:release', npmReactDOMTasks.buildRelease);
grunt.registerTask('npm-react-dom:pack', npmReactDOMTasks.packRelease);
grunt.registerTask('build:basic', ['jsx:normal', 'version-check', 'browserify:basic']);
grunt.registerTask('build:addons', ['jsx:normal', 'browserify:addons']);
grunt.registerTask('build:transformer', ['jsx:normal', 'browserify:transformer']);
grunt.registerTask('build:min', ['jsx:normal', 'version-check', 'browserify:min']);
grunt.registerTask('build:addons-min', ['jsx:normal', 'browserify:addonsMin']);
grunt.registerTask('build:withCodeCoverageLogging', [
'jsx:normal',
var npmReactNativeTasks = require('./grunt/tasks/npm-react-native');
grunt.registerTask('npm-react-native:release', npmReactNativeTasks.buildRelease);
grunt.registerTask('npm-react-native:pack', npmReactNativeTasks.packRelease);
var npmReactAddonsTasks = require('./grunt/tasks/npm-react-addons');
grunt.registerTask('npm-react-addons:release', npmReactAddonsTasks.buildReleases);
grunt.registerTask('npm-react-addons:pack', npmReactAddonsTasks.packReleases);
grunt.registerTask('version-check', function() {
// Use gulp here.
spawnGulp(['version-check'], null, this.async());
});
grunt.registerTask('build:basic', [
'build-modules',
'version-check',
'browserify:withCodeCoverageLogging'
]);
grunt.registerTask('build:perf', [
'jsx:normal',
'version-check',
'browserify:transformer',
'browserify:basic',
'browserify:min',
'download-previous-version'
]);
grunt.registerTask('build:test', [
'delete-build-modules',
'jsx:test',
grunt.registerTask('build:addons', [
'build-modules',
'browserify:addons',
]);
grunt.registerTask('build:min', [
'build-modules',
'version-check',
'populist:test'
'browserify:min',
]);
grunt.registerTask('build:npm-react', ['version-check', 'jsx:normal', 'npm-react:release']);
grunt.registerTask('webdriver-phantomjs', webdriverPhantomJSTask);
grunt.registerTask('coverage:parse', require('./grunt/tasks/coverage-parse'));
grunt.registerTask('test:webdriver:phantomjs', [
'connect',
'webdriver-phantomjs',
'webdriver-jasmine:local'
grunt.registerTask('build:addons-min', [
'build-modules',
'browserify:addonsMin',
]);
grunt.registerTask('perf:webdriver:phantomjs', [
'connect',
'webdriver-phantomjs',
'webdriver-perf:local'
grunt.registerTask('build:npm-react', [
'version-check',
'build-modules',
'npm-react:release',
]);
grunt.registerTask('build:react-dom', require('./grunt/tasks/react-dom'));
grunt.registerTask('test:full', [
'build:test',
'build:basic',
var jestTasks = require('./grunt/tasks/jest');
grunt.registerTask('jest:normal', jestTasks.normal);
grunt.registerTask('jest:coverage', jestTasks.coverage);
'connect',
'webdriver-phantomjs',
'webdriver-jasmine:local',
'sauce-tunnel',
'webdriver-jasmine:saucelabs_android',
'webdriver-jasmine:saucelabs_firefox',
'webdriver-jasmine:saucelabs_chrome'
]);
grunt.registerTask('perf:full', [
'build:perf',
'connect',
'webdriver-phantomjs',
'webdriver-perf:local',
'sauce-tunnel',
'webdriver-perf:saucelabs_firefox',
'webdriver-perf:saucelabs_chrome',
'webdriver-perf:saucelabs_ie11',
'webdriver-perf:saucelabs_ie8',
]);
grunt.registerTask('test:webdriver:saucelabs', [
'build:test',
'build:basic',
'connect',
'sauce-tunnel',
'webdriver-jasmine:saucelabs_' + (process.env.BROWSER_NAME || 'ie8')
]);
grunt.registerTask('test:webdriver:saucelabs:modern', [
'build:test',
'build:basic',
'connect',
'sauce-tunnel',
'webdriver-jasmine:saucelabs_android',
'webdriver-jasmine:saucelabs_firefox',
'webdriver-jasmine:saucelabs_chrome',
'webdriver-jasmine:saucelabs_ie11'
]);
grunt.registerTask('test:webdriver:saucelabs:ie', [
'build:test',
'build:basic',
'connect',
'sauce-tunnel',
'webdriver-jasmine:saucelabs_ie8',
'webdriver-jasmine:saucelabs_ie9',
'webdriver-jasmine:saucelabs_ie10',
'webdriver-jasmine:saucelabs_ie11'
]);
grunt.registerTask('test:webdriver:saucelabs:ios', [
'build:test',
'build:basic',
'connect',
'sauce-tunnel',
'webdriver-jasmine:saucelabs_ios6_1',
'webdriver-jasmine:saucelabs_ios5_1',
'webdriver-jasmine:saucelabs_ios4'
]);
grunt.registerTask('test:coverage', [
'build:test',
'build:withCodeCoverageLogging',
'test:webdriver:phantomjs',
'coverage:parse'
]);
grunt.registerTask('fasttest', function() {
if (grunt.option('debug')) {
grunt.task.run('build:test', 'connect:server:keepalive');
} else {
grunt.task.run('build:test', 'test:webdriver:phantomjs');
}
});
grunt.registerTask('test', function() {
if (grunt.option('debug')) {
grunt.task.run('build:test', 'build:basic', 'connect:server:keepalive');
} else {
grunt.task.run('build:test', 'build:basic', 'test:webdriver:phantomjs');
}
});
grunt.registerTask('perf', ['build:perf', 'perf:webdriver:phantomjs']);
grunt.registerTask('test', ['jest:normal']);
grunt.registerTask('npm:test', ['build', 'npm:pack']);
// Optimized build task that does all of our builds. The subtasks will be run
// in order so we can take advantage of that and only run jsx:normal once.
// in order so we can take advantage of that and only run build-modules once.
grunt.registerTask('build', [
'delete-build-modules',
'jsx:normal',
'build-modules',
'version-check',
'browserify:basic',
'browserify:transformer',
'browserify:addons',
'browserify:min',
'browserify:addonsMin',
'build:react-dom',
'npm-react:release',
'npm-react:pack',
'npm-react-tools:release',
'npm-react-tools:pack',
'copy:react_docs',
'compare_size'
'npm-react-dom:release',
'npm-react-dom:pack',
'npm-react-native:release',
'npm-react-native:pack',
'npm-react-addons:release',
'npm-react-addons:pack',
'compare_size',
]);
// Automate the release!
var releaseTasks = require('./grunt/tasks/release');
grunt.registerTask('release:setup', releaseTasks.setup);
grunt.registerTask('release:bower', releaseTasks.bower);
grunt.registerTask('release:docs', releaseTasks.docs);
@@ -238,22 +161,17 @@ module.exports = function(grunt) {
'release:setup',
'clean',
'build',
'gem:only',
'release:bower',
'release:starter',
'compress',
'release:docs',
'release:msg'
'release:msg',
]);
// `gem` task to build the react-source gem
grunt.registerTask('gem', ['build', 'gem:only']);
grunt.registerTask('gem:only', function() {
var done = this.async();
exec('gem build react-source.gemspec', done);
grunt.registerTask('build-modules', function() {
spawnGulp(['react:modules'], null, this.async());
});
// The default task - build - to keep setup easy
// The default task - build - to keep setup easy.
grunt.registerTask('default', ['build']);
};

218
LICENSE
View File

@@ -1,201 +1,31 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
BSD License
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
For React software
1. Definitions.
Copyright (c) 2013-present, Facebook, Inc.
All rights reserved.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
* Neither the name Facebook nor the names of its contributors may be used to
endorse or promote products derived from this software without specific
prior written permission.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
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 SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

393
LICENSE-docs Normal file
View File

@@ -0,0 +1,393 @@
Attribution 4.0 International
=======================================================================
Creative Commons Corporation ("Creative Commons") is not a law firm and
does not provide legal services or legal advice. Distribution of
Creative Commons public licenses does not create a lawyer-client or
other relationship. Creative Commons makes its licenses and related
information available on an "as-is" basis. Creative Commons gives no
warranties regarding its licenses, any material licensed under their
terms and conditions, or any related information. Creative Commons
disclaims all liability for damages resulting from their use to the
fullest extent possible.
Using Creative Commons Public Licenses
Creative Commons public licenses provide a standard set of terms and
conditions that creators and other rights holders may use to share
original works of authorship and other material subject to copyright
and certain other rights specified in the public license below. The
following considerations are for informational purposes only, are not
exhaustive, and do not form part of our licenses.
Considerations for licensors: Our public licenses are
intended for use by those authorized to give the public
permission to use material in ways otherwise restricted by
copyright and certain other rights. Our licenses are
irrevocable. Licensors should read and understand the terms
and conditions of the license they choose before applying it.
Licensors should also secure all rights necessary before
applying our licenses so that the public can reuse the
material as expected. Licensors should clearly mark any
material not subject to the license. This includes other CC-
licensed material, or material used under an exception or
limitation to copyright. More considerations for licensors:
wiki.creativecommons.org/Considerations_for_licensors
Considerations for the public: By using one of our public
licenses, a licensor grants the public permission to use the
licensed material under specified terms and conditions. If
the licensor's permission is not necessary for any reason--for
example, because of any applicable exception or limitation to
copyright--then that use is not regulated by the license. Our
licenses grant only permissions under copyright and certain
other rights that a licensor has authority to grant. Use of
the licensed material may still be restricted for other
reasons, including because others have copyright or other
rights in the material. A licensor may make special requests,
such as asking that all changes be marked or described.
Although not required by our licenses, you are encouraged to
respect those requests where reasonable. More_considerations
for the public:
wiki.creativecommons.org/Considerations_for_licensees
=======================================================================
Creative Commons Attribution 4.0 International Public License
By exercising the Licensed Rights (defined below), You accept and agree
to be bound by the terms and conditions of this Creative Commons
Attribution 4.0 International Public License ("Public License"). To the
extent this Public License may be interpreted as a contract, You are
granted the Licensed Rights in consideration of Your acceptance of
these terms and conditions, and the Licensor grants You such rights in
consideration of benefits the Licensor receives from making the
Licensed Material available under these terms and conditions.
Section 1 -- Definitions.
a. Adapted Material means material subject to Copyright and Similar
Rights that is derived from or based upon the Licensed Material
and in which the Licensed Material is translated, altered,
arranged, transformed, or otherwise modified in a manner requiring
permission under the Copyright and Similar Rights held by the
Licensor. For purposes of this Public License, where the Licensed
Material is a musical work, performance, or sound recording,
Adapted Material is always produced where the Licensed Material is
synched in timed relation with a moving image.
b. Adapter's License means the license You apply to Your Copyright
and Similar Rights in Your contributions to Adapted Material in
accordance with the terms and conditions of this Public License.
c. Copyright and Similar Rights means copyright and/or similar rights
closely related to copyright including, without limitation,
performance, broadcast, sound recording, and Sui Generis Database
Rights, without regard to how the rights are labeled or
categorized. For purposes of this Public License, the rights
specified in Section 2(b)(1)-(2) are not Copyright and Similar
Rights.
d. Effective Technological Measures means those measures that, in the
absence of proper authority, may not be circumvented under laws
fulfilling obligations under Article 11 of the WIPO Copyright
Treaty adopted on December 20, 1996, and/or similar international
agreements.
e. Exceptions and Limitations means fair use, fair dealing, and/or
any other exception or limitation to Copyright and Similar Rights
that applies to Your use of the Licensed Material.
f. Licensed Material means the artistic or literary work, database,
or other material to which the Licensor applied this Public
License.
g. Licensed Rights means the rights granted to You subject to the
terms and conditions of this Public License, which are limited to
all Copyright and Similar Rights that apply to Your use of the
Licensed Material and that the Licensor has authority to license.
h. Licensor means the individual(s) or entity(ies) granting rights
under this Public License.
i. Share means to provide material to the public by any means or
process that requires permission under the Licensed Rights, such
as reproduction, public display, public performance, distribution,
dissemination, communication, or importation, and to make material
available to the public including in ways that members of the
public may access the material from a place and at a time
individually chosen by them.
j. Sui Generis Database Rights means rights other than copyright
resulting from Directive 96/9/EC of the European Parliament and of
the Council of 11 March 1996 on the legal protection of databases,
as amended and/or succeeded, as well as other essentially
equivalent rights anywhere in the world.
k. You means the individual or entity exercising the Licensed Rights
under this Public License. Your has a corresponding meaning.
Section 2 -- Scope.
a. License grant.
1. Subject to the terms and conditions of this Public License,
the Licensor hereby grants You a worldwide, royalty-free,
non-sublicensable, non-exclusive, irrevocable license to
exercise the Licensed Rights in the Licensed Material to:
a. reproduce and Share the Licensed Material, in whole or
in part; and
b. produce, reproduce, and Share Adapted Material.
2. Exceptions and Limitations. For the avoidance of doubt, where
Exceptions and Limitations apply to Your use, this Public
License does not apply, and You do not need to comply with
its terms and conditions.
3. Term. The term of this Public License is specified in Section
6(a).
4. Media and formats; technical modifications allowed. The
Licensor authorizes You to exercise the Licensed Rights in
all media and formats whether now known or hereafter created,
and to make technical modifications necessary to do so. The
Licensor waives and/or agrees not to assert any right or
authority to forbid You from making technical modifications
necessary to exercise the Licensed Rights, including
technical modifications necessary to circumvent Effective
Technological Measures. For purposes of this Public License,
simply making modifications authorized by this Section 2(a)
(4) never produces Adapted Material.
5. Downstream recipients.
a. Offer from the Licensor -- Licensed Material. Every
recipient of the Licensed Material automatically
receives an offer from the Licensor to exercise the
Licensed Rights under the terms and conditions of this
Public License.
b. No downstream restrictions. You may not offer or impose
any additional or different terms or conditions on, or
apply any Effective Technological Measures to, the
Licensed Material if doing so restricts exercise of the
Licensed Rights by any recipient of the Licensed
Material.
6. No endorsement. Nothing in this Public License constitutes or
may be construed as permission to assert or imply that You
are, or that Your use of the Licensed Material is, connected
with, or sponsored, endorsed, or granted official status by,
the Licensor or others designated to receive attribution as
provided in Section 3(a)(1)(A)(i).
b. Other rights.
1. Moral rights, such as the right of integrity, are not
licensed under this Public License, nor are publicity,
privacy, and/or other similar personality rights; however, to
the extent possible, the Licensor waives and/or agrees not to
assert any such rights held by the Licensor to the limited
extent necessary to allow You to exercise the Licensed
Rights, but not otherwise.
2. Patent and trademark rights are not licensed under this
Public License.
3. To the extent possible, the Licensor waives any right to
collect royalties from You for the exercise of the Licensed
Rights, whether directly or through a collecting society
under any voluntary or waivable statutory or compulsory
licensing scheme. In all other cases the Licensor expressly
reserves any right to collect such royalties.
Section 3 -- License Conditions.
Your exercise of the Licensed Rights is expressly made subject to the
following conditions.
a. Attribution.
1. If You Share the Licensed Material (including in modified
form), You must:
a. retain the following if it is supplied by the Licensor
with the Licensed Material:
i. identification of the creator(s) of the Licensed
Material and any others designated to receive
attribution, in any reasonable manner requested by
the Licensor (including by pseudonym if
designated);
ii. a copyright notice;
iii. a notice that refers to this Public License;
iv. a notice that refers to the disclaimer of
warranties;
v. a URI or hyperlink to the Licensed Material to the
extent reasonably practicable;
b. indicate if You modified the Licensed Material and
retain an indication of any previous modifications; and
c. indicate the Licensed Material is licensed under this
Public License, and include the text of, or the URI or
hyperlink to, this Public License.
2. You may satisfy the conditions in Section 3(a)(1) in any
reasonable manner based on the medium, means, and context in
which You Share the Licensed Material. For example, it may be
reasonable to satisfy the conditions by providing a URI or
hyperlink to a resource that includes the required
information.
3. If requested by the Licensor, You must remove any of the
information required by Section 3(a)(1)(A) to the extent
reasonably practicable.
4. If You Share Adapted Material You produce, the Adapter's
License You apply must not prevent recipients of the Adapted
Material from complying with this Public License.
Section 4 -- Sui Generis Database Rights.
Where the Licensed Rights include Sui Generis Database Rights that
apply to Your use of the Licensed Material:
a. for the avoidance of doubt, Section 2(a)(1) grants You the right
to extract, reuse, reproduce, and Share all or a substantial
portion of the contents of the database;
b. if You include all or a substantial portion of the database
contents in a database in which You have Sui Generis Database
Rights, then the database in which You have Sui Generis Database
Rights (but not its individual contents) is Adapted Material; and
c. You must comply with the conditions in Section 3(a) if You Share
all or a substantial portion of the contents of the database.
For the avoidance of doubt, this Section 4 supplements and does not
replace Your obligations under this Public License where the Licensed
Rights include other Copyright and Similar Rights.
Section 5 -- Disclaimer of Warranties and Limitation of Liability.
a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE
EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS
AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF
ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS,
IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION,
WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS,
ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT
KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT
ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU.
b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE
TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION,
NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT,
INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES,
COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR
USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR
DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR
IN PART, THIS LIMITATION MAY NOT APPLY TO YOU.
c. The disclaimer of warranties and limitation of liability provided
above shall be interpreted in a manner that, to the extent
possible, most closely approximates an absolute disclaimer and
waiver of all liability.
Section 6 -- Term and Termination.
a. This Public License applies for the term of the Copyright and
Similar Rights licensed here. However, if You fail to comply with
this Public License, then Your rights under this Public License
terminate automatically.
b. Where Your right to use the Licensed Material has terminated under
Section 6(a), it reinstates:
1. automatically as of the date the violation is cured, provided
it is cured within 30 days of Your discovery of the
violation; or
2. upon express reinstatement by the Licensor.
For the avoidance of doubt, this Section 6(b) does not affect any
right the Licensor may have to seek remedies for Your violations
of this Public License.
c. For the avoidance of doubt, the Licensor may also offer the
Licensed Material under separate terms or conditions or stop
distributing the Licensed Material at any time; however, doing so
will not terminate this Public License.
d. Sections 1, 5, 6, 7, and 8 survive termination of this Public
License.
Section 7 -- Other Terms and Conditions.
a. The Licensor shall not be bound by any additional or different
terms or conditions communicated by You unless expressly agreed.
b. Any arrangements, understandings, or agreements regarding the
Licensed Material not stated herein are separate from and
independent of the terms and conditions of this Public License.
Section 8 -- Interpretation.
a. For the avoidance of doubt, this Public License does not, and
shall not be interpreted to, reduce, limit, restrict, or impose
conditions on any use of the Licensed Material that could lawfully
be made without permission under this Public License.
b. To the extent possible, if any provision of this Public License is
deemed unenforceable, it shall be automatically reformed to the
minimum extent necessary to make it enforceable. If the provision
cannot be reformed, it shall be severed from this Public License
without affecting the enforceability of the remaining terms and
conditions.
c. No term or condition of this Public License will be waived and no
failure to comply consented to unless expressly agreed to by the
Licensor.
d. Nothing in this Public License constitutes or may be interpreted
as a limitation upon, or waiver of, any privileges and immunities
that apply to the Licensor or You, including from the legal
processes of any jurisdiction or authority.
=======================================================================
Creative Commons is not a party to its public licenses.
Notwithstanding, Creative Commons may elect to apply one of its public
licenses to material it publishes and in those instances will be
considered the "Licensor." Except for the limited purpose of indicating
that material is shared under a Creative Commons public license or as
otherwise permitted by the Creative Commons policies published at
creativecommons.org/policies, Creative Commons does not authorize the
use of the trademark "Creative Commons" or any other trademark or logo
of Creative Commons without its prior written consent including,
without limitation, in connection with any unauthorized modifications
to any of its public licenses or any other arrangements,
understandings, or agreements concerning use of licensed material. For
the avoidance of doubt, this paragraph does not form part of the public
licenses.
Creative Commons may be contacted at creativecommons.org.

9
LICENSE-examples Normal file
View File

@@ -0,0 +1,9 @@
The examples provided by Facebook are for non-commercial testing and evaluation
purposes only. Facebook reserves all rights not expressly granted.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
FACEBOOK BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

33
PATENTS Normal file
View File

@@ -0,0 +1,33 @@
Additional Grant of Patent Rights Version 2
"Software" means the React software distributed by Facebook, Inc.
Facebook, Inc. ("Facebook") hereby grants to each recipient of the Software
("you") a perpetual, worldwide, royalty-free, non-exclusive, irrevocable
(subject to the termination provision below) license under any Necessary
Claims, to make, have made, use, sell, offer to sell, import, and otherwise
transfer the Software. For avoidance of doubt, no license is granted under
Facebook's rights in any patent claims that are infringed by (i) modifications
to the Software made by you or any third party or (ii) the Software in
combination with any software or other technology.
The license granted hereunder will terminate, automatically and without notice,
if you (or any of your subsidiaries, corporate affiliates or agents) initiate
directly or indirectly, or take a direct financial interest in, any Patent
Assertion: (i) against Facebook or any of its subsidiaries or corporate
affiliates, (ii) against any party if such Patent Assertion arises in whole or
in part from any software, technology, product or service of Facebook or any of
its subsidiaries or corporate affiliates, or (iii) against any party relating
to the Software. Notwithstanding the foregoing, if Facebook or any of its
subsidiaries or corporate affiliates files a lawsuit alleging patent
infringement against you in the first instance, and you respond by filing a
patent infringement counterclaim in that lawsuit against that party that is
unrelated to the Software, the license granted hereunder will not terminate
under section (i) of this paragraph due to such counterclaim.
A "Necessary Claim" is a claim of a patent owned by Facebook that is
necessarily infringed by the Software standing alone.
A "Patent Assertion" is any lawsuit or other action alleging direct, indirect,
or contributory infringement or inducement to infringe any patent, including a
cross-claim or counterclaim.

View File

@@ -1,26 +1,25 @@
# [React](http://facebook.github.io/react) [![Build Status](https://travis-ci.org/facebook/react.svg?branch=master)](https://travis-ci.org/facebook/react)
# [React](https://facebook.github.io/react/) [![Build Status](https://img.shields.io/travis/facebook/react/master.svg?style=flat)](https://travis-ci.org/facebook/react) [![Coverage Status](https://img.shields.io/coveralls/facebook/react/master.svg?style=flat)](https://coveralls.io/github/facebook/react?branch=master) [![npm version](https://img.shields.io/npm/v/react.svg?style=flat)](https://www.npmjs.com/package/react) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md#pull-requests)
React is a JavaScript library for building user interfaces.
* **Just the UI:** Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
* **Virtual DOM:** React uses a *virtual DOM* diff implementation for ultra-high performance. It can also render on the server using Node.js — no heavy browser DOM required.
* **Data flow:** React implements one-way reactive data flow which reduces boilerplate and is easier to reason about than traditional data binding.
* **Declarative:** React makes it painless to create interactive UIs. Design simple views for each state in your application, and React will efficiently update and render just the right components when your data changes. Declarative views make your code more predictable, simpler to understand, and easier to debug.
* **Component-Based:** Build encapsulated components that manage their own state, then compose them to make complex UIs. Since component logic is written in JavaScript instead of templates, you can easily pass rich data through your app and keep state out of the DOM.
* **Learn Once, Write Anywhere:** We don't make assumptions about the rest of your technology stack, so you can develop new features in React without rewriting existing code. React can also render on the server using Node and power mobile apps using [React Native](https://facebook.github.io/react-native/).
[Learn how to use React in your own project.](http://facebook.github.io/react/docs/getting-started.html)
[Learn how to use React in your own project](https://facebook.github.io/react/docs/getting-started.html).
## Examples
We have several examples [on the website](http://facebook.github.io/react/). Here is the first one to get you started:
We have several examples [on the website](https://facebook.github.io/react/). Here is the first one to get you started:
```js
/** @jsx React.DOM */
var HelloMessage = React.createClass({
render: function() {
return <div>Hello {this.props.name}</div>;
}
});
React.renderComponent(
ReactDOM.render(
<HelloMessage name="John" />,
document.getElementById('container')
);
@@ -28,20 +27,20 @@ React.renderComponent(
This example will render "Hello John" into a container on the page.
You'll notice that we used an HTML-like syntax; [we call it JSX](http://facebook.github.io/react/docs/jsx-in-depth.html). JSX is not required to use React, but it makes code more readable, and writing it feels like writing HTML. A simple transform is included with React that allows converting JSX into native JavaScript for browsers to digest.
You'll notice that we used an HTML-like syntax; [we call it JSX](https://facebook.github.io/react/docs/jsx-in-depth.html). JSX is not required to use React, but it makes code more readable, and writing it feels like writing HTML. A simple transform is included with React that allows converting JSX into native JavaScript for browsers to digest.
## Installation
The fastest way to get started is to serve JavaScript from the CDN (also available on [CDNJS](http://cdnjs.com/#react)):
The fastest way to get started is to serve JavaScript from the CDN (also available on [cdnjs](https://cdnjs.com/libraries/react) and [jsdelivr](https://www.jsdelivr.com/projects/react)):
```html
<!-- The core React library -->
<script src="http://fb.me/react-0.10.0.js"></script>
<!-- In-browser JSX transformer, remove when pre-compiling JSX. -->
<script src="http://fb.me/JSXTransformer-0.10.0.js"></script>
<script src="https://fb.me/react-15.2.1.js"></script>
<!-- The ReactDOM Library -->
<script src="https://fb.me/react-dom-15.2.1.js"></script>
```
We've also built a [starter kit](http://facebook.github.io/react/downloads/react-0.10.0.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.
We've also built a [starter kit](https://facebook.github.io/react/downloads/react-15.2.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:
@@ -49,6 +48,12 @@ If you'd like to use [bower](http://bower.io), it's as easy as:
bower install --save react
```
And it's just as easy with [npm](http://npmjs.com):
```sh
npm i --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.
@@ -59,7 +64,8 @@ The process to build `react.js` is built entirely on top of node.js, using many
#### Prerequisites
* You have `node` installed at v0.10.0+ (it might work at lower versions, we just haven't tested).
* You have `node` installed at v4.0.0+ and `npm` at v2.0.0+.
* You have `gcc` installed or are comfortable installing a compiler if needed. Some of our `npm` dependencies may require a compliation step. On OS X, the Xcode Command Line Tools will cover this. On Ubuntu, `apt-get install build-essential` will install the required packages. Similar commands should work on other Linux distros. Windows will require some additional steps, see the [`node-gyp` installation instructions](https://github.com/nodejs/node-gyp#installation) for details.
* You are familiar with `npm` and know whether or not you need to use `sudo` when installing packages globally.
* You are familiar with `git`.
@@ -83,16 +89,27 @@ We use grunt to automate many tasks. Run `grunt -h` to see a mostly complete lis
```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
# Lint the code with ESLint
grunt lint
# Wipe out build directory
grunt clean
```
### Good First Bug
To help you get your feet wet and get you familiar with our contribution process, we have a list of [good first bugs](https://github.com/facebook/react/labels/good%20first%20bug) that contain bugs which are fairly easy to fix. This is a great place to get started.
### License
React is [BSD licensed](./LICENSE). We also provide an additional [patent grant](./PATENTS).
React documentation is [Creative Commons licensed](./LICENSE-docs).
Examples provided in this repository and in the documentation are [separately licensed](./LICENSE-examples).
### 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).
## Troubleshooting
See the [Troubleshooting Guide](https://github.com/facebook/react/wiki/Troubleshooting)

24
bin/jsx
View File

@@ -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);
});

View File

@@ -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;
});

View File

@@ -3,19 +3,17 @@ source 'https://rubygems.org'
gem 'rake'
# jekyll, which builds it all
gem 'jekyll', '~>1.3.0'
# 2.0 includes sass processing
gem 'jekyll', '~>2.0'
# Auto redirect pages
gem 'jekyll-redirect-from'
# JSON
gem 'json'
# SASS for CSS
gem 'sass'
# For `rake watch`
gem 'rb-fsevent'
# Redcarpet for Markdown
gem 'redcarpet'
# For markdown header cleanup
gem 'sanitize'
gem 'sanitize', '~>2.0'

View File

@@ -1,61 +1,85 @@
GEM
remote: https://rubygems.org/
specs:
classifier (1.3.3)
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)
commander (4.1.5)
highline (~> 1.6.11)
execjs (2.2.1)
fast-stemmer (1.0.2)
ffi (1.9.3)
highline (1.6.20)
jekyll (1.3.0)
jekyll (2.2.0)
classifier (~> 1.3)
colorator (~> 0.1)
commander (~> 4.1.3)
liquid (~> 2.5.2)
listen (~> 1.3)
maruku (~> 0.6.0)
pygments.rb (~> 0.5.0)
redcarpet (~> 2.3.0)
safe_yaml (~> 0.9.7)
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)
liquid (2.5.4)
listen (1.3.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)
rb-kqueue (>= 0.2)
maruku (0.6.1)
syntax (>= 1.0.0)
mini_portile (0.5.2)
nokogiri (1.6.0)
mini_portile (~> 0.5.0)
posix-spawn (0.3.6)
pygments.rb (0.5.4)
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.1.0)
rb-fsevent (0.9.3)
rb-inotify (0.9.2)
rake (10.3.2)
rb-fsevent (0.9.4)
rb-inotify (0.9.5)
ffi (>= 0.5.0)
rb-kqueue (0.2.0)
ffi (>= 0.5.0)
redcarpet (2.3.0)
safe_yaml (0.9.7)
redcarpet (3.1.2)
safe_yaml (1.0.4)
sanitize (2.0.6)
nokogiri (>= 1.4.4)
sass (3.2.12)
syntax (1.0.0)
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 (~> 1.3.0)
jekyll (~> 2.0)
jekyll-redirect-from
json
rake
rb-fsevent
redcarpet
sanitize
sass
sanitize (~> 2.0)
BUNDLED WITH
1.10.1

View File

@@ -21,7 +21,7 @@ Once you have RubyGems and installed Bundler (via `gem install bundler`), use it
```sh
$ cd react/docs
$ bundle install # Might need sudo.
$ npm install # Might need sudo.
$ npm install
```
### Instructions
@@ -32,8 +32,8 @@ Use Jekyll to serve the website locally (by default, at `http://localhost:4000`)
```sh
$ cd react/docs
$ rake
$ jekyll serve -w
$ bundle exec rake
$ bundle exec jekyll serve -w
$ open http://localhost:4000/react/
```
@@ -43,20 +43,25 @@ If you want to modify the CSS or JS, use [Rake](http://rake.rubyforge.org/) to c
```sh
$ cd react/docs
$ rake watch # Automatically compiles as needed.
# rake Manually compile CSS and JS.
# rake css Manually compile CSS, only.
# rake js Manually compile JS, only.
$ 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.
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.

View File

@@ -1,21 +1,24 @@
require('rubygems')
require('json')
require('yaml')
require('open-uri')
desc "generate css from sass"
task :css do
system "sass --style=compressed _css/react.scss css/react.css"
desc "download babel-browser"
task :fetch_remotes do
IO.copy_stream(
open('https://cdnjs.cloudflare.com/ajax/libs/babel-core/5.8.34/browser.min.js'),
'js/babel-browser.min.js'
)
end
desc "generate js from jsx"
task :js do
system "../bin/jsx _js js"
system "../node_modules/.bin/babel _js --out-dir=js"
end
desc "watch css & js"
desc "watch js"
task :watch do
Process.spawn "sass --style=compressed --watch _css/react.scss:css/react.css"
Process.spawn "../bin/jsx --watch _js js"
Process.spawn "../node_modules/.bin/babel _js --out-dir=js --watch"
Process.waitall
end
@@ -29,9 +32,45 @@ task :update_version do
end
end
desc "update SRI hashes"
task :update_hashes do
map = {
'react.js' => 'dev',
'react.min.js' => 'prod',
'react-with-addons.js' => 'addons_dev',
'react-with-addons.min.js' => 'addons_prod',
'react-dom.js' => 'dom_dev',
'react-dom.min.js' => 'dom_prod',
'react-dom-server.js' => 'dom_server_dev',
'react-dom-server.min.js' => 'dom_server_prod'
}
site_config = YAML.load_file('_config.yml')
map.each do |file, key|
site_config['react_hashes'][key] = `openssl dgst -sha384 -binary ../../react-bower/#{file} | openssl base64 -A`
end
File.open('_config.yml', 'w+') { |f| f.write(site_config.to_yaml) }
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 "copy error codes to docs"
task :copy_error_codes do
codes_json = File.read('../scripts/error-codes/codes.json')
codes_js = "var errorMap = #{codes_json.chomp};\n"
File.write('js/errorMap.js', codes_js)
end
desc "build into ../../react-gh-pages"
task :release => [:update_version, :default] do
task :release => [:update_version, :js, :fetch_remotes, :copy_error_codes] do
system "jekyll build -d ../../react-gh-pages"
end
task :default => [:css, :js]
task :default => [:js]

View File

@@ -1,21 +1,48 @@
---
baseurl: /react
url: http://facebook.github.io
permalink: /blog/:year/:month/:day/:title.html
name: React
description: A JavaScript library for building user interfaces
url: https://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
- vendor/bundle
markdown: redcarpet
redcarpet:
extensions:
- fenced_code_blocks
pygments: true
name: React
markdown: redcarpet
react_version: 0.10.0
description: A JavaScript library for building user interfaces
relative_permalinks: true
paginate: 5
paginate_path: /blog/page:num/
timezone: America/Los_Angeles
- footnotes
sass:
style: :compressed
sass_dir: _css
gems:
- jekyll-redirect-from
react_version: 15.1.0
react_hashes:
dev: vck4RVcD/d8oCyYODNkyY5bF8we4hBqLNCQzIsK1n4eN+WTWkSMaXH8Bl0ByIaMd
prod: SA/uTNKFAqs8tVn1gROCqtn9Y/waa33EiLYKD7iALN+MDxP1DWBEWPCPmSkYzdsa
addons_dev: Bhsz0xzA1wDnGOSV7KbIL0pKaNOZ5KdPxqVOZTwVyU5NfUGDgN56LTVPVrGi3cMy
addons_prod: Gi+revrP36Zmqp/aqipOToEggqK5NWoKz1B1SUgiA1/OwV+pR8FqnU/VdfzizfUf
dom_dev: 0D/X+kBzzy9hGstygpjpkksS9+WWyG0B/ZfKROdwJ4h6BbJLCnL8lodLYYXxEunS
dom_prod: eZbWlQZOpUJXnnogcw4IRZvbGDRjAOpZvOEe932rEg0fhFmXXnaN9bLP/x1RbB6D
dom_server_dev: oo6/aLeY4xKtb+MetozfT9WlfPcJq6wnqeIT6suwaeA/qPaSG7B1wWvM8WLATV7Z
dom_server_prod: m3fk/O7t/S25hafVhhsrQ7YwjLJdqNNZwgYsAXft24YSrPXysowaoqpQokZO1lsI

View File

@@ -37,7 +37,7 @@ html * {
border-bottom: 1px dotted #cb4b16;
}
.cm-s-solarized-light span.cm-keyword {
color: #268bd2;
color: #859900;
}
.cm-s-solarized-light span.cm-atom {
color: #2aa198;
@@ -61,7 +61,7 @@ html * {
color: #93a1a1;
}
.cm-s-solarized-light span.cm-property {
color: #637c84;
color: #657b83;
}
.cm-s-solarized-light span.cm-operator {
color: #657b83;
@@ -74,14 +74,13 @@ html * {
border-bottom: 1px dotted #cb4b16;
}
.cm-s-solarized-light span.cm-bracket {
color: #cb4b16;
color: #268bd2;
}
.cm-s-solarized-light span.cm-tag {
color: #657b83;
color: #268bd2;
}
.cm-s-solarized-light span.cm-attribute {
color: #586e75;
font-weight: bold;
}
.cm-s-solarized-light span.cm-meta {
color: #268bd2;
@@ -166,7 +165,6 @@ html * {
}
.cm-s-solarized-dark span.cm-attribute {
color: #93a1a1;
font-weight: bold;
}
.cm-s-solarized-dark span.cm-meta {
color: #268bd2;

View File

@@ -6,7 +6,6 @@ $textColorLight: lighten($textColor, 20%);
html {
font-family: $helvetica;
font-family: proxima-nova, $helvetica;
font-weight: 300;
color: $textColor;
line-height: 1.28;
}
@@ -69,7 +68,7 @@ h3 {
}
h4 {
font-size: 17px;
font-size: 16px;
}
h5 {
@@ -132,5 +131,3 @@ a {
.center {
text-align: center;
}

View File

@@ -2,12 +2,7 @@
// These mixins/functions are deprecated
// They will be removed in the next MAJOR version release
//************************************************************************//
@mixin box-shadow ($shadows...) {
@include prefixer(box-shadow, $shadows, spec);
@warn "box-shadow is deprecated and will be removed in the next major version release";
}
@mixin background-size ($lengths...) {
@include prefixer(background-size, $lengths, spec);
@warn "background-size is deprecated and 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";
}

View File

@@ -1,22 +1,36 @@
// Settings
@import "settings/prefixer";
@import "settings/px-to-em";
@import "settings/asset-pipeline";
// Custom Helpers
@import "helpers/deprecated-webkit-gradient";
@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/compact";
@import "functions/assign";
@import "functions/color-lightness";
@import "functions/flex-grid";
@import "functions/golden-ratio";
@import "functions/grid-width";
@import "functions/linear-gradient";
@import "functions/modular-scale";
@import "functions/px-to-em";
@import "functions/radial-gradient";
@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";
@@ -27,12 +41,15 @@
@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/inline-block";
@import "css3/keyframes";
@import "css3/linear-gradient";
@import "css3/perspective";
@@ -45,6 +62,8 @@
// 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";
@@ -54,6 +73,7 @@
@import "addons/size";
@import "addons/timing-functions";
@import "addons/triangle";
@import "addons/word-wrap";
// Soon to be deprecated Mixins
@import "bourbon-deprecated-upcoming";

View File

@@ -1,38 +1,51 @@
@mixin button ($style: simple, $base-color: #4294f0) {
@mixin button ($style: simple, $base-color: #4294f0, $text-size: inherit, $padding: 7px 18px) {
@if type-of($style) == color {
@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);
}
// Grayscale button
@if $base-color == grayscale($base-color) {
@if $style == simple {
@include simple($base-color, $grayscale: true);
@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;
}
@else if $style == shiny {
@include shiny($base-color, $grayscale: true);
}
@else if $style == pill {
@include pill($base-color, $grayscale: true);
}
@include buttonstyle($style, $base-color, $text-size, $padding);
}
// Colored button
@else {
@if $style == simple {
@include simple($base-color);
@if type-of($style) == number {
$padding: $base-color;
$text-size: $style;
$base-color: #4294f0;
$style: simple;
@if $padding == #4294f0 {
$padding: 7px 18px;
}
@else if $style == shiny {
@include shiny($base-color);
}
@else if $style == pill {
@include pill($base-color);
}
@include buttonstyle($style, $base-color, $text-size, $padding);
}
&:disabled {
@@ -42,16 +55,55 @@
}
// 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) {
@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 lightness($base-color) > 70% {
@if is-light($base-color) {
$color: hsl(0, 0, 20%);
$text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
}
@@ -68,10 +120,10 @@
box-shadow: inset 0 1px 0 0 $inset-shadow;
color: $color;
display: inline-block;
font-size: 11px;
font-size: $textsize;
font-weight: bold;
@include linear-gradient ($base-color, $stop-gradient);
padding: 7px 18px;
padding: $padding;
text-decoration: none;
text-shadow: 0 1px 0 $text-shadow;
background-clip: padding-box;
@@ -92,7 +144,8 @@
@include linear-gradient ($base-color-hover, $stop-gradient-hover);
}
&:active:not(:disabled) {
&: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%);
@@ -102,14 +155,14 @@
}
border: 1px solid $border-active;
box-shadow: inset 0 0 8px 4px $inset-shadow-active, inset 0 0 8px 4px $inset-shadow-active, 0 1px 1px 0 #eee;
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) {
@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);
@@ -119,7 +172,7 @@
$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 lightness($base-color) > 70% {
@if is-light($base-color) {
$color: hsl(0, 0, 20%);
$text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
}
@@ -140,10 +193,10 @@
box-shadow: inset 0 1px 0 0 $inset-shadow;
color: $color;
display: inline-block;
font-size: 14px;
font-size: $textsize;
font-weight: bold;
@include linear-gradient(top, $base-color 0%, $second-stop 50%, $third-stop 50%, $fourth-stop 100%);
padding: 8px 20px;
padding: $padding;
text-align: center;
text-decoration: none;
text-shadow: 0 -1px 1px $text-shadow;
@@ -168,21 +221,22 @@
$fourth-stop-hover 100%);
}
&:active:not(:disabled) {
&: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, 0 1px 0 #fff;
box-shadow: inset 0 0 20px 0 $inset-shadow-active;
}
}
// Pill Button
//************************************************************************//
@mixin pill($base-color, $grayscale: false) {
@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%);
@@ -191,7 +245,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 lightness($base-color) > 70% {
@if is-light($base-color) {
$color: hsl(0, 0, 20%);
$text-shadow: adjust-color($base-color, $saturation: 10%, $lightness: 4%);
}
@@ -208,14 +262,14 @@
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, 0 1px 2px 0 #b3b3b3;
box-shadow: inset 0 1px 0 0 $inset-shadow;
color: $color;
display: inline-block;
font-size: 11px;
font-size: $textsize;
font-weight: normal;
line-height: 1;
@include linear-gradient ($base-color, $stop-gradient);
padding: 5px 16px;
padding: $padding;
text-align: center;
text-decoration: none;
text-shadow: 0 -1px 1px $text-shadow;
@@ -249,7 +303,8 @@
background-clip: padding-box;
}
&:active:not(:disabled) {
&: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%);
@@ -267,7 +322,53 @@
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, 0 1px 0 0 #fff;
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;
}
}

View File

@@ -1,4 +1,4 @@
// Micro clearfix provides an easy way to contain floats without adding additional markup
// Modern micro clearfix provides an easy way to contain floats without adding additional markup.
//
// Example usage:
//
@@ -12,18 +12,12 @@
// }
@mixin clearfix {
*zoom: 1;
&:before,
&:after {
content: " ";
display: table;
}
&:after {
clear: both;
content:"";
display:table;
clear:both;
}
}
// Acknowledgements
// Micro clearfix: [Nicolas Gallagher](http://nicolasgallagher.com/micro-clearfix-hack/)
// Beat *that* clearfix: [Thierry Koblentz](http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php)

View File

@@ -0,0 +1,111 @@
// 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...);
}

View File

@@ -0,0 +1,7 @@
@mixin ellipsis($width: 100%) {
display: inline-block;
max-width: $width;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}

View File

@@ -1,5 +1,5 @@
$georgia: Georgia, Cambria, "Times New Roman", Times, serif;
$helvetica: "Helvetica Neue", Helvetica, Arial, sans-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;

View File

@@ -1,5 +1,10 @@
@mixin hide-text {
color: transparent;
font: 0/0 a;
text-shadow: none;
overflow: hidden;
&:before {
content: "";
display: block;
width: 0;
height: 100%;
}
}

View File

@@ -20,29 +20,19 @@ $inputs-list: 'input[type="email"]',
'input[type="time"]',
'input[type="week"]';
$unquoted-inputs-list: ();
@each $input-type in $inputs-list {
$unquoted-inputs-list: append($unquoted-inputs-list, unquote($input-type), comma);
}
$all-text-inputs: $unquoted-inputs-list;
// Bare inputs
//************************************************************************//
$all-text-inputs: assign-inputs($inputs-list);
// Hover Pseudo-class
//************************************************************************//
$all-text-inputs-hover: ();
@each $input-type in $unquoted-inputs-list {
$input-type-hover: $input-type + ":hover";
$all-text-inputs-hover: append($all-text-inputs-hover, $input-type-hover, comma);
}
$all-text-inputs-hover: assign-inputs($inputs-list, hover);
// Focus Pseudo-class
//************************************************************************//
$all-text-inputs-focus: ();
@each $input-type in $unquoted-inputs-list {
$input-type-focus: $input-type + ":focus";
$all-text-inputs-focus: append($all-text-inputs-focus, $input-type-focus, comma);
}
$all-text-inputs-focus: assign-inputs($inputs-list, focus);
// You must use interpolation on the variable:
// #{$all-text-inputs}
@@ -54,3 +44,43 @@ $all-text-inputs-focus: ();
// #{$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;
// }

View File

@@ -1,10 +1,12 @@
@mixin position ($position: relative, $coordinates: 0 0 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);
@@ -12,31 +14,19 @@
position: $position;
@if $top == auto {
top: $top;
}
@else if not(unitless($top)) {
@if ($top and $top == auto) or (type-of($top) == number) {
top: $top;
}
@if $right == auto {
right: $right;
}
@else if not(unitless($right)) {
@if ($right and $right == auto) or (type-of($right) == number) {
right: $right;
}
@if $bottom == auto {
bottom: $bottom;
}
@else if not(unitless($bottom)) {
@if ($bottom and $bottom == auto) or (type-of($bottom) == number) {
bottom: $bottom;
}
@if $left == auto {
left: $left;
}
@else if not(unitless($left)) {
@if ($left and $left == auto) or (type-of($left) == number) {
left: $left;
}
}

View File

@@ -1,11 +1,7 @@
//************************************************************************//
// Example: @include prefixer(border-radius, $radii, webkit ms spec);
//************************************************************************//
$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
// Variables located in /settings/_prefixer.scss
@mixin prefixer ($property, $value, $prefixes) {
@each $prefix in $prefixes {
@@ -41,9 +37,9 @@ $prefix-for-spec: true !default; // required for keyframe mixin
}
@mixin disable-prefix-for-all() {
$prefix-for-webkit: false;
$prefix-for-mozilla: false;
$prefix-for-microsoft: false;
$prefix-for-opera: false;
$prefix-for-spec: false;
$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;
}

View File

@@ -1,28 +1,27 @@
@mixin retina-image($filename, $background-size, $extension: png, $retina-filename: null, $asset-pipeline: false) {
@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);
background-image: image-url("#{$filename}.#{$extension}");
}
@else {
background-image: url($filename + "." + $extension);
background-image: url("#{$filename}.#{$extension}");
}
@include hidpi {
@if $asset-pipeline {
@if $retina-filename {
background-image: image_url($retina-filename + "." + $extension);
background-image: image-url("#{$retina-filename}.#{$extension}");
}
@else {
background-image: image_url($filename + "@2x" + "." + $extension);
background-image: image-url("#{$filename}#{$retina-suffix}.#{$extension}");
}
}
@else {
@if $retina-filename {
background-image: url($retina-filename + "." + $extension);
background-image: url("#{$retina-filename}.#{$extension}");
}
@else {
background-image: url($filename + "@2x" + "." + $extension);
background-image: url("#{$filename}#{$retina-suffix}.#{$extension}");
}
}

View File

@@ -1,44 +1,16 @@
@mixin size($size) {
@if length($size) == 1 {
@if $size == auto {
width: $size;
height: $size;
}
$height: nth($size, 1);
$width: $height;
@else if unitless($size) {
width: $size + px;
height: $size + px;
}
@else if not(unitless($size)) {
width: $size;
height: $size;
}
@if length($size) > 1 {
$height: nth($size, 2);
}
// Width x Height
@if length($size) == 2 {
$width: nth($size, 1);
$height: nth($size, 2);
@if $height == auto or (type-of($height) == number and not unitless($height)) {
height: $height;
}
@if $width == auto {
width: $width;
}
@else if not(unitless($width)) {
width: $width;
}
@else if unitless($width) {
width: $width + px;
}
@if $height == auto {
height: $height;
}
@else if not(unitless($height)) {
height: $height;
}
@else if unitless($height) {
height: $height + px;
}
@if $width == auto or (type-of($width) == number and not unitless($width)) {
width: $width;
}
}

View File

@@ -1,5 +1,5 @@
// 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/demos/effect/easing.html
// 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);

View File

@@ -2,44 +2,82 @@
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) {
border-color: transparent;
border-style: solid;
border-width: $size / 2;
$width: $width / 2;
$height: if(length($size) > 1, $height, $height/2);
@if $direction == up {
border-bottom-color: $color;
border-left: $width solid $background-color;
border-right: $width solid $background-color;
border-bottom: $height solid $foreground-color;
} @else if $direction == right {
border-left-color: $color;
border-top: $width solid $background-color;
border-bottom: $width solid $background-color;
border-left: $height solid $foreground-color;
} @else if $direction == down {
border-top-color: $color;
border-left: $width solid $background-color;
border-right: $width solid $background-color;
border-top: $height solid $foreground-color;
} @else if $direction == left {
border-right-color: $color;
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: $size solid $color;
border-top: $height solid $foreground-color;
@if $direction == up-right {
border-left: $size solid transparent;
border-left: $width solid $background-color;
} @else if $direction == up-left {
border-right: $size solid transparent;
border-right: $width solid $background-color;
}
}
@else if ($direction == down-right) or ($direction == down-left) {
border-bottom: $size solid $color;
border-bottom: $height solid $foreground-color;
@if $direction == down-right {
border-left: $size solid transparent;
border-left: $width solid $background-color;
} @else if $direction == down-left {
border-right: $size solid transparent;
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;
}
}

View File

@@ -0,0 +1,8 @@
@mixin word-wrap($wrap: break-word) {
word-wrap: $wrap;
@if $wrap == break-word {
overflow-wrap: break-word;
word-break: break-all;
}
}

View File

@@ -4,45 +4,39 @@
//************************************************************************//
@mixin background-image($images...) {
background-image: _add-prefix($images, webkit);
background-image: _add-prefix($images);
}
$webkit-images: ();
$spec-images: ();
@function _add-prefix($images, $vendor: false) {
$images-prefixed: ();
$gradient-positions: false;
@for $i from 1 through length($images) {
$type: type-of(nth($images, $i)); // Get type of variable - List or String
@each $image in $images {
$webkit-image: ();
$spec-image: ();
// If variable is a list - Gradient
@if $type == list {
$gradient-type: nth(nth($images, $i), 1); // linear or radial
$gradient-pos: null;
$gradient-args: null;
@if (type-of($image) == string) {
$url-str: str-slice($image, 0, 3);
$gradient-type: str-slice($image, 0, 6);
@if ($gradient-type == linear) or ($gradient-type == radial) {
$gradient-pos: nth(nth($images, $i), 2); // Get gradient position
$gradient-args: nth(nth($images, $i), 3); // Get actual gradient (red, blue)
}
@else {
$gradient-args: nth(nth($images, $i), 2); // Get actual gradient (red, blue)
@if $url-str == "url" {
$webkit-image: $image;
$spec-image: $image;
}
$gradient-positions: _gradient-positions-parser($gradient-type, $gradient-pos);
$gradient: _render-gradients($gradient-positions, $gradient-args, $gradient-type, $vendor);
$images-prefixed: append($images-prefixed, $gradient, comma);
}
// If variable is a string - Image
@else if $type == string {
$images-prefixed: join($images-prefixed, nth($images, $i), comma);
@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);
}
@return $images-prefixed;
}
//Examples:
//@include background-image(linear-gradient(top, orange, red));
//@include background-image(radial-gradient(50% 50%, cover circle, orange, red));
//@include background-image(url("/images/a.png"), linear-gradient(orange, red));
//@include background-image(url("image.png"), linear-gradient(orange, red), url("image.png"));
//@include background-image(linear-gradient(hsla(0, 100%, 100%, 0.25) 0%, hsla(0, 100%, 100%, 0.08) 50%, transparent 50%), linear-gradient(orange, red));
background-image: $webkit-images;
background-image: $spec-images;
}

View File

@@ -3,101 +3,53 @@
// notation.
//************************************************************************//
@mixin background(
$background-1 , $background-2: false,
$background-3: false, $background-4: false,
$background-5: false, $background-6: false,
$background-7: false, $background-8: false,
$background-9: false, $background-10: false,
$fallback: false
) {
$backgrounds: compact($background-1, $background-2,
$background-3, $background-4,
$background-5, $background-6,
$background-7, $background-8,
$background-9, $background-10);
@mixin background($backgrounds...) {
$webkit-backgrounds: ();
$spec-backgrounds: ();
$fallback-color: false;
@if (type-of($fallback) == color) or ($fallback == "transparent") {
$fallback-color: $fallback;
}
@else {
$fallback-color: _extract-background-color($backgrounds);
}
@each $background in $backgrounds {
$webkit-background: ();
$spec-background: ();
$background-type: type-of($background);
@if $fallback-color {
background-color: $fallback-color;
}
background: _background-add-prefix($backgrounds, webkit);
background: _background-add-prefix($backgrounds);
}
@if $background-type == string or list {
$background-str: if($background-type == list, nth($background, 1), $background);
@function _extract-background-color($backgrounds) {
$final-bg-layer: nth($backgrounds, length($backgrounds));
@if type-of($final-bg-layer) == list {
@for $i from 1 through length($final-bg-layer) {
$value: nth($final-bg-layer, $i);
@if type-of($value) == color {
@return $value;
$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;
}
}
}
@return false;
}
@function _background-add-prefix($backgrounds, $vendor: false) {
$backgrounds-prefixed: ();
@for $i from 1 through length($backgrounds) {
$shorthand: nth($backgrounds, $i); // Get member for current index
$type: type-of($shorthand); // Get type of variable - List (gradient) or String (image)
// If shorthand is a list (gradient)
@if $type == list {
$first-member: nth($shorthand, 1); // Get first member of shorthand
// Linear Gradient
@if index(linear radial, nth($first-member, 1)) {
$gradient-type: nth($first-member, 1); // linear || radial
$gradient-args: false;
$gradient-positions: false;
$shorthand-start: false;
@if type-of($first-member) == list { // Linear gradient plus additional shorthand values - lg(red,orange)repeat,...
$gradient-positions: nth($first-member, 2);
$gradient-args: nth($first-member, 3);
$shorthand-start: 2;
}
@else { // Linear gradient only - lg(red,orange),...
$gradient-positions: nth($shorthand, 2);
$gradient-args: nth($shorthand, 3); // Get gradient (red, blue)
}
$gradient-positions: _gradient-positions-parser($gradient-type, $gradient-positions);
$gradient: _render-gradients($gradient-positions, $gradient-args, $gradient-type, $vendor);
// Append any additional shorthand args to gradient
@if $shorthand-start {
@for $j from $shorthand-start through length($shorthand) {
$gradient: join($gradient, nth($shorthand, $j), space);
}
}
$backgrounds-prefixed: append($backgrounds-prefixed, $gradient, comma);
@else if $gradient-type == "linear" {
$gradients: _linear-gradient-parser("#{$background}");
$webkit-background: map-get($gradients, webkit-image);
$spec-background: map-get($gradients, spec-image);
}
// Image with additional properties
@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 {
$backgrounds-prefixed: append($backgrounds-prefixed, $shorthand, comma);
$webkit-background: $background;
$spec-background: $background;
}
}
// If shorthand is a simple string (color or image)
@else if $type == string {
$backgrounds-prefixed: join($backgrounds-prefixed, $shorthand, comma);
}
}
@return $backgrounds-prefixed;
}
//Examples:
//@include background(linear-gradient(top, orange, red));
//@include background(radial-gradient(circle at 40% 40%, orange, red));
//@include background(url("/images/a.png") no-repeat, linear-gradient(orange, red));
//@include background(url("image.png") center center, linear-gradient(orange, red), url("image.png"));
@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;
}

View File

@@ -1,48 +1,53 @@
@mixin border-image($images) {
-webkit-border-image: _border-add-prefix($images, webkit);
-moz-border-image: _border-add-prefix($images, moz);
-o-border-image: _border-add-prefix($images, o);
border-image: _border-add-prefix($images);
}
@mixin border-image($borders...) {
$webkit-borders: ();
$spec-borders: ();
@function _border-add-prefix($images, $vendor: false) {
$border-image: null;
$images-type: type-of(nth($images, 1));
$first-var: nth(nth($images, 1), 1); // Get type of Gradient (Linear || radial)
@each $border in $borders {
$webkit-border: ();
$spec-border: ();
$border-type: type-of($border);
// If input is a gradient
@if $images-type == string {
@if ($first-var == "linear") or ($first-var == "radial") {
$gradient-type: nth($images, 1); // Get type of gradient (linear || radial)
$gradient-pos: nth($images, 2); // Get gradient position
$gradient-args: nth($images, 3); // Get actual gradient (red, blue)
$gradient-positions: _gradient-positions-parser($gradient-type, $gradient-pos);
$border-image: _render-gradients($gradient-positions, $gradient-args, $gradient-type, $vendor);
}
// If input is a URL
@else {
$border-image: $images;
}
}
// If input is gradient or url + additional args
@else if $images-type == list {
$type: type-of(nth($images, 1)); // Get type of variable - List or String
@if $border-type == string or list {
$border-str: if($border-type == list, nth($border, 1), $border);
// If variable is a list - Gradient
@if $type == list {
$gradient: nth($images, 1);
$gradient-type: nth($gradient, 1); // Get type of gradient (linear || radial)
$gradient-pos: nth($gradient, 2); // Get gradient position
$gradient-args: nth($gradient, 3); // Get actual gradient (red, blue)
$gradient-positions: _gradient-positions-parser($gradient-type, $gradient-pos);
$border-image: _render-gradients($gradient-positions, $gradient-args, $gradient-type, $vendor);
$url-str: str-slice($border-str, 0, 3);
$gradient-type: str-slice($border-str, 0, 6);
@for $i from 2 through length($images) {
$border-image: append($border-image, nth($images, $i));
@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);
}
@return $border-image;
-webkit-border-image: $webkit-borders;
border-image: $spec-borders;
border-style: solid;
}
//Examples:
@@ -52,4 +57,3 @@
// @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));

4
docs/_css/bourbon/css3/_calc.scss vendored Normal file
View File

@@ -0,0 +1,4 @@
@mixin calc($property, $value) {
#{$property}: -webkit-calc(#{$value});
#{$property}: calc(#{$value});
}

View File

@@ -15,7 +15,7 @@
@mixin column-fill($arg: auto) {
// auto || length
@include prefixer(columns-fill, $arg, webkit moz spec);
@include prefixer(column-fill, $arg, webkit moz spec);
}
@mixin column-rule($arg) {

5
docs/_css/bourbon/css3/_filter.scss vendored Normal file
View File

@@ -0,0 +1,5 @@
@mixin filter($function: none) {
// <filter-function> [<filter-function]* | none
@include prefixer(filter, $function, webkit spec);
}

View File

@@ -11,6 +11,7 @@
@mixin display-box {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox; // IE 10
display: box;
}
@@ -22,16 +23,19 @@
@mixin box-pack($pack: start) {
// start|end|center|justify
@include prefixer(box-pack, $pack, webkit moz spec);
-ms-flex-pack: $pack; // IE 10
}
@mixin box-align($align: stretch) {
// start|end|center|baseline|stretch
@include prefixer(box-align, $align, webkit moz spec);
-ms-flex-align: $align; // IE 10
}
@mixin box-direction($direction: normal) {
// normal|reverse|inherit
@include prefixer(box-direction, $direction, webkit moz spec);
-ms-flex-direction: $direction; // IE 10
}
@mixin box-lines($lines: single) {
@@ -41,12 +45,277 @@
@mixin box-ordinal-group($int: 1) {
@include prefixer(box-ordinal-group, $int, webkit moz spec);
-ms-flex-order: $int; // IE 10
}
@mixin box-flex($value: 0.0) {
@include prefixer(box-flex, $value, webkit moz spec);
-ms-flex: $value; // IE 10
}
@mixin box-flex-group($int: 1) {
@include prefixer(box-flex-group, $int, webkit moz spec);
}
// CSS3 Flexible Box Model and property defaults
// Unified attributes for 2009, 2011, and 2012 flavours.
// 2009 - display (box | inline-box)
// 2011 - display (flexbox | inline-flexbox)
// 2012 - display (flex | inline-flex)
@mixin display($value) {
// flex | inline-flex
@if $value == "flex" {
// 2009
display: -webkit-box;
display: -moz-box;
display: box;
// 2012
display: -webkit-flex;
display: -moz-flex;
display: -ms-flexbox; // 2011 (IE 10)
display: flex;
}
@elseif $value == "inline-flex" {
display: -webkit-inline-box;
display: -moz-inline-box;
display: inline-box;
display: -webkit-inline-flex;
display: -moz-inline-flex;
display: -ms-inline-flexbox;
display: inline-flex;
}
@else {
display: $value;
}
}
// 2009 - box-flex (integer)
// 2011 - flex (decimal | width decimal)
// 2012 - flex (integer integer width)
@mixin flex($value) {
// Grab flex-grow for older browsers.
$flex-grow: nth($value, 1);
// 2009
@include prefixer(box-flex, $flex-grow, webkit moz spec);
// 2011 (IE 10), 2012
@include prefixer(flex, $value, webkit moz ms spec);
}
// 2009 - box-orient ( horizontal | vertical | inline-axis | block-axis)
// - box-direction (normal | reverse)
// 2011 - flex-direction (row | row-reverse | column | column-reverse)
// 2012 - flex-direction (row | row-reverse | column | column-reverse)
@mixin flex-direction($value: row) {
// Alt values.
$value-2009: $value;
$value-2011: $value;
$direction: "normal";
@if $value == row {
$value-2009: horizontal;
}
@elseif $value == "row-reverse" {
$value-2009: horizontal;
$direction: reverse;
}
@elseif $value == column {
$value-2009: vertical;
}
@elseif $value == "column-reverse" {
$value-2009: vertical;
$direction: reverse;
}
// 2009
@include prefixer(box-orient, $value-2009, webkit moz spec);
@if $direction == "reverse" {
@include prefixer(box-direction, $direction, webkit moz spec);
}
// 2012
@include prefixer(flex-direction, $value, webkit moz spec);
// 2011 (IE 10)
-ms-flex-direction: $value;
}
// 2009 - box-lines (single | multiple)
// 2011 - flex-wrap (nowrap | wrap | wrap-reverse)
// 2012 - flex-wrap (nowrap | wrap | wrap-reverse)
@mixin flex-wrap($value: nowrap) {
// Alt values.
$alt-value: $value;
@if $value == nowrap {
$alt-value: single;
}
@elseif $value == wrap {
$alt-value: multiple;
}
@elseif $value == "wrap-reverse" {
$alt-value: multiple;
}
@include prefixer(box-lines, $alt-value, webkit moz spec);
@include prefixer(flex-wrap, $value, webkit moz ms spec);
}
// 2009 - TODO: parse values into flex-direction/flex-wrap
// 2011 - TODO: parse values into flex-direction/flex-wrap
// 2012 - flex-flow (flex-direction || flex-wrap)
@mixin flex-flow($value) {
@include prefixer(flex-flow, $value, webkit moz spec);
}
// 2009 - box-ordinal-group (integer)
// 2011 - flex-order (integer)
// 2012 - order (integer)
@mixin order($int: 0) {
// 2009
@include prefixer(box-ordinal-group, $int, webkit moz spec);
// 2012
@include prefixer(order, $int, webkit moz spec);
// 2011 (IE 10)
-ms-flex-order: $int;
}
// 2012 - flex-grow (number)
@mixin flex-grow($number: 0) {
@include prefixer(flex-grow, $number, webkit moz spec);
-ms-flex-positive: $number;
}
// 2012 - flex-shrink (number)
@mixin flex-shrink($number: 1) {
@include prefixer(flex-shrink, $number, webkit moz spec);
-ms-flex-negative: $number;
}
// 2012 - flex-basis (number)
@mixin flex-basis($width: auto) {
@include prefixer(flex-basis, $width, webkit moz spec);
-ms-flex-preferred-size: $width;
}
// 2009 - box-pack (start | end | center | justify)
// 2011 - flex-pack (start | end | center | justify)
// 2012 - justify-content (flex-start | flex-end | center | space-between | space-around)
@mixin justify-content ($value: flex-start) {
// Alt values.
$alt-value: $value;
@if $value == "flex-start" {
$alt-value: start;
}
@elseif $value == "flex-end" {
$alt-value: end;
}
@elseif $value == "space-between" {
$alt-value: justify;
}
@elseif $value == "space-around" {
$alt-value: center;
}
// 2009
@include prefixer(box-pack, $alt-value, webkit moz spec);
// 2012
@include prefixer(justify-content, $value, webkit moz ms o spec);
// 2011 (IE 10)
-ms-flex-pack: $alt-value;
}
// 2009 - box-align (start | end | center | baseline | stretch)
// 2011 - flex-align (start | end | center | baseline | stretch)
// 2012 - align-items (flex-start | flex-end | center | baseline | stretch)
@mixin align-items($value: stretch) {
$alt-value: $value;
@if $value == "flex-start" {
$alt-value: start;
}
@elseif $value == "flex-end" {
$alt-value: end;
}
// 2009
@include prefixer(box-align, $alt-value, webkit moz spec);
// 2012
@include prefixer(align-items, $value, webkit moz ms o spec);
// 2011 (IE 10)
-ms-flex-align: $alt-value;
}
// 2011 - flex-item-align (auto | start | end | center | baseline | stretch)
// 2012 - align-self (auto | flex-start | flex-end | center | baseline | stretch)
@mixin align-self($value: auto) {
$value-2011: $value;
@if $value == "flex-start" {
$value-2011: start;
}
@elseif $value == "flex-end" {
$value-2011: end;
}
// 2012
@include prefixer(align-self, $value, webkit moz spec);
// 2011 (IE 10)
-ms-flex-item-align: $value-2011;
}
// 2011 - flex-line-pack (start | end | center | justify | distribute | stretch)
// 2012 - align-content (flex-start | flex-end | center | space-between | space-around | stretch)
@mixin align-content($value: stretch) {
$value-2011: $value;
@if $value == "flex-start" {
$value-2011: start;
}
@elseif $value == "flex-end" {
$value-2011: end;
}
@elseif $value == "space-between" {
$value-2011: justify;
}
@elseif $value == "space-around" {
$value-2011: distribute;
}
// 2012
@include prefixer(align-content, $value, webkit moz spec);
// 2011 (IE 10)
-ms-flex-line-pack: $value-2011;
}

View File

@@ -1,6 +1,6 @@
// Order of the includes matters, and it is: normal, bold, italic, bold+italic.
@mixin font-face($font-family, $file-path, $weight: normal, $style: normal, $asset-pipeline: false ) {
@mixin font-face($font-family, $file-path, $weight: normal, $style: normal, $asset-pipeline: $asset-pipeline) {
@font-face {
font-family: $font-family;
font-weight: $weight;

View File

@@ -0,0 +1,10 @@
// Font feature settings mixin and property default.
// Examples: @include font-feature-settings("liga");
// @include font-feature-settings("lnum" false);
// @include font-feature-settings("pnum" 1, "kern" 0);
// @include font-feature-settings("ss01", "ss02");
@mixin font-feature-settings($settings...) {
@if length($settings) == 0 { $settings: none; }
@include prefixer(font-feature-settings, $settings, webkit moz ms spec);
}

4
docs/_css/bourbon/css3/_hyphens.scss vendored Normal file
View File

@@ -0,0 +1,4 @@
@mixin hyphens($hyphenation: none) {
// none | manual | auto
@include prefixer(hyphens, $hyphenation, webkit moz ms spec);
}

View File

@@ -1,10 +1,11 @@
@mixin image-rendering ($mode:optimizeQuality) {
@mixin image-rendering ($mode:auto) {
@if ($mode == optimize-contrast) {
@if ($mode == crisp-edges) {
-ms-interpolation-mode: nearest-neighbor; // IE8+
image-rendering: -moz-crisp-edges;
image-rendering: -o-crisp-edges;
image-rendering: -webkit-optimize-contrast;
image-rendering: optimize-contrast;
image-rendering: crisp-edges;
}
@else {

View File

@@ -1,8 +0,0 @@
// Legacy support for inline-block in IE7 (maybe IE6)
@mixin inline-block {
display: inline-block;
vertical-align: baseline;
zoom: 1;
*display: inline;
*vertical-align: auto;
}

View File

@@ -8,36 +8,28 @@
@if $original-prefix-for-webkit {
@include disable-prefix-for-all();
$prefix-for-webkit: true;
$prefix-for-webkit: true !global;
@-webkit-keyframes #{$name} {
@content;
}
}
@if $original-prefix-for-mozilla {
@include disable-prefix-for-all();
$prefix-for-mozilla: true;
$prefix-for-mozilla: true !global;
@-moz-keyframes #{$name} {
@content;
}
}
@if $original-prefix-for-opera {
@include disable-prefix-for-all();
$prefix-for-opera: true;
@-o-keyframes #{$name} {
@content;
}
}
$prefix-for-webkit: $original-prefix-for-webkit !global;
$prefix-for-mozilla: $original-prefix-for-mozilla !global;
$prefix-for-microsoft: $original-prefix-for-microsoft !global;
$prefix-for-opera: $original-prefix-for-opera !global;
$prefix-for-spec: $original-prefix-for-spec !global;
@if $original-prefix-for-spec {
@include disable-prefix-for-all();
$prefix-for-spec: true;
@keyframes #{$name} {
@content;
}
}
$prefix-for-webkit: $original-prefix-for-webkit;
$prefix-for-mozilla: $original-prefix-for-mozilla;
$prefix-for-microsoft: $original-prefix-for-microsoft;
$prefix-for-opera: $original-prefix-for-opera;
$prefix-for-spec: $original-prefix-for-spec;
}

View File

@@ -1,11 +1,9 @@
@mixin linear-gradient($pos, $G1, $G2: false,
$G3: false, $G4: false,
$G5: false, $G6: false,
$G7: false, $G8: false,
$G9: false, $G10: false,
$deprecated-pos1: left top,
$deprecated-pos2: left bottom,
$fallback: false) {
@mixin linear-gradient($pos, $G1, $G2: null,
$G3: null, $G4: null,
$G5: null, $G6: null,
$G7: null, $G8: null,
$G9: null, $G10: null,
$fallback: null) {
// Detect what type of value exists in $pos
$pos-type: type-of(nth($pos, 1));
$pos-spec: null;
@@ -24,7 +22,7 @@
$pos-spec: nth($positions, 2);
}
$full: compact($G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10);
$full: $G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10;
// Set $G1 as the default fallback color
$fallback-color: nth($G1, 1);
@@ -35,7 +33,6 @@
}
background-color: $fallback-color;
background-image: _deprecated-webkit-gradient(linear, $deprecated-pos1, $deprecated-pos2, $full); // Safari <= 5.0
background-image: -webkit-linear-gradient($pos-degree $full); // Safari 5.1+, Chrome
background-image: unquote("linear-gradient(#{$pos-spec}#{$full})");
}

View File

@@ -1,29 +1,8 @@
$placeholders: '-webkit-input-placeholder',
'-moz-placeholder',
'-ms-input-placeholder';
@mixin placeholder {
$placeholders: ":-webkit-input" ":-moz" "-moz" "-ms-input";
@each $placeholder in $placeholders {
@if $placeholder == "-webkit-input-placeholder" {
&::#{$placeholder} {
@content;
}
}
@else if $placeholder == "-moz-placeholder" {
// FF 18-
&:#{$placeholder} {
@content;
}
// FF 19+
&::#{$placeholder} {
@content;
}
}
@else {
&:#{$placeholder} {
@content;
}
&:#{$placeholder}-placeholder {
@content;
}
}
}

View File

@@ -1,16 +1,12 @@
// Requires Sass 3.1+
@mixin radial-gradient($G1, $G2,
$G3: false, $G4: false,
$G5: false, $G6: false,
$G7: false, $G8: false,
$G9: false, $G10: false,
$G3: null, $G4: null,
$G5: null, $G6: null,
$G7: null, $G8: null,
$G9: null, $G10: null,
$pos: null,
$shape-size: null,
$deprecated-pos1: center center,
$deprecated-pos2: center center,
$deprecated-radius1: 0,
$deprecated-radius2: 460,
$fallback: false) {
$fallback: null) {
$data: _radial-arg-parser($G1, $G2, $pos, $shape-size);
$G1: nth($data, 1);
@@ -18,7 +14,7 @@
$pos: nth($data, 3);
$shape-size: nth($data, 4);
$full: compact($G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10);
$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);
@@ -38,7 +34,6 @@
$shape-size-spec: if(($shape-size-spec != ' ') and ($pos == null), '#{$shape-size-spec}, ', '#{$shape-size-spec} ');
background-color: $fallback-color;
background-image: _deprecated-webkit-gradient(radial, $deprecated-pos1, $deprecated-pos2, $full, $deprecated-radius1, $deprecated-radius2); // Safari <= 5.0 && IOS 4
background-image: -webkit-radial-gradient(unquote(#{$pos}#{$shape-size}#{$full}));
background-image: unquote("radial-gradient(#{$shape-size-spec}#{$pos-spec}#{$full})");
}

View File

@@ -1,16 +1,59 @@
// Shorthand mixin. Supports multiple parentheses-deliminated values for each variable.
// Example: @include transition (all, 2.0s, ease-in-out);
// @include transition ((opacity, width), (1.0s, 2.0s), ease-in, (0, 2s));
// @include transition ($property:(opacity, width), $delay: (1.5s, 2.5s));
// 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...) {
@if length($properties) >= 1 {
@include prefixer(transition, $properties, webkit moz spec);
// 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 {
$properties: all 0.15s ease-out 0;
@include prefixer(transition, $properties, webkit moz spec);
@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);
}
}
}

View File

@@ -0,0 +1,11 @@
@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;
}

View File

@@ -0,0 +1,13 @@
// 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;
}

View File

@@ -1,11 +0,0 @@
// Remove `false` values from a list
@function compact($vars...) {
$list: ();
@each $var in $vars {
@if $var {
$list: append($list, $var, comma);
}
}
@return $list;
}

View File

@@ -0,0 +1,3 @@
@function golden-ratio($value, $increment) {
@return modular-scale($value, $increment, $golden)
}

View File

@@ -1,13 +0,0 @@
@function linear-gradient($pos, $gradients...) {
$type: linear;
$pos-type: type-of(nth($pos, 1));
// if $pos doesn't exist, fix $gradient
@if ($pos-type == color) or (nth($pos, 1) == "transparent") {
$gradients: zip($pos $gradients);
$pos: false;
}
$type-gradient: $type, $pos, $gradients;
@return $type-gradient;
}

View File

@@ -1,40 +1,66 @@
// 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 {
$value: ($value * $ratio);
@if $double-stranded and ($v1 * $ratio) > $v2 {
$value: $v2;
$v2: ($v2 * $ratio);
} @else {
$v1: ($v1 * $ratio);
$value: $v1;
}
}
}
@if $increment < 0 {
$increment: abs($increment);
@for $i from 1 through $increment {
$value: ($value / $ratio);
// 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;
}
// div {
// Increment Up GR with positive value
// font-size: modular-scale(14px, 1, 1.618); // returns: 22.652px
//
// Increment Down GR with negative value
// font-size: modular-scale(14px, -1, 1.618); // returns: 8.653px
//
// Can be used with ceil(round up) or floor(round down)
// font-size: floor( modular-scale(14px, 1, 1.618) ); // returns: 22px
// font-size: ceil( modular-scale(14px, 1, 1.618) ); // returns: 23px
// }
//
// modularscale.com
@function golden-ratio($value, $increment) {
@return modular-scale($value, $increment, 1.618)
}
// div {
// font-size: golden-ratio(14px, 1); // returns: 22.652px
// }
//
// goldenratiocalculator.com

View File

@@ -2,7 +2,12 @@
// 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: 16) {
@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;
}

View File

@@ -0,0 +1,15 @@
// Convert pixels to rems
// eg. for a relational value of 12px write rem(12)
// Assumes $em-base is the font-size of <html>
@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;
}

View File

@@ -1,23 +0,0 @@
// This function is required and used by the background-image mixin.
@function radial-gradient($G1, $G2,
$G3: false, $G4: false,
$G5: false, $G6: false,
$G7: false, $G8: false,
$G9: false, $G10: false,
$pos: null,
$shape-size: 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);
$type: radial;
$gradient: compact($G1, $G2, $G3, $G4, $G5, $G6, $G7, $G8, $G9, $G10);
$type-gradient: $type, $shape-size $pos, $gradient;
@return $type-gradient;
}

View File

@@ -0,0 +1,5 @@
// Srtips the units from a value. e.g. 12px -> 12
@function strip-units($val) {
@return ($val / ($val * 0 + 1));
}

View File

@@ -0,0 +1,17 @@
// 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;
}
}

View File

@@ -0,0 +1,15 @@
//************************************************************************//
// 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);
}

View File

@@ -1,39 +0,0 @@
// Render Deprecated Webkit Gradient - Linear || Radial
//************************************************************************//
@function _deprecated-webkit-gradient($type,
$deprecated-pos1, $deprecated-pos2,
$full,
$deprecated-radius1: false, $deprecated-radius2: false) {
$gradient-list: ();
$gradient: false;
$full-length: length($full);
$percentage: false;
$gradient-type: $type;
@for $i from 1 through $full-length {
$gradient: nth($full, $i);
@if length($gradient) == 2 {
$color-stop: color-stop(nth($gradient, 2), nth($gradient, 1));
$gradient-list: join($gradient-list, $color-stop, comma);
}
@else if $gradient != null {
@if $i == $full-length {
$percentage: 100%;
}
@else {
$percentage: ($i - 1) * (100 / ($full-length - 1)) + "%";
}
$color-stop: color-stop(unquote($percentage), $gradient);
$gradient-list: join($gradient-list, $color-stop, comma);
}
}
@if $type == radial {
$gradient: -webkit-gradient(radial, $deprecated-pos1, $deprecated-radius1, $deprecated-pos2, $deprecated-radius2, $gradient-list);
}
@else if $type == linear {
$gradient: -webkit-gradient(linear, $deprecated-pos1, $deprecated-pos2, $gradient-list);
}
@return $gradient;
}

View File

@@ -0,0 +1,8 @@
//************************************************************************//
// 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);
}

View File

@@ -0,0 +1,25 @@
// 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
);
}
}

View File

@@ -0,0 +1,41 @@
@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;
}

View File

@@ -0,0 +1,31 @@
// 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
);
}
}

View File

@@ -22,7 +22,7 @@
$pos: $pos nth($value, $i);
}
}
$G1: false;
$G1: null;
}
// If not spec calculate correct values
@@ -38,7 +38,7 @@
$pos: $value;
@if $pos == $G1 {
$G1: false;
$G1: null;
}
}
@@ -55,11 +55,11 @@
$shape-size: $value;
@if $value == $G1 {
$G1: false;
$G1: null;
}
@else if $value == $G2 {
$G2: false;
$G2: null;
}
}
}

View File

@@ -0,0 +1,50 @@
@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;
}

View File

@@ -0,0 +1,50 @@
//************************************************************************//
// 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);
}

View File

@@ -0,0 +1 @@
$asset-pipeline: false !default;

View File

@@ -0,0 +1,6 @@
// 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

View File

@@ -0,0 +1 @@
$em-base: 16px !default;

View File

@@ -0,0 +1,697 @@
---
- - '839'
- Aaron Franks
- Aaron Gelter
- Adam Bloomston
- Adam Krebs
- Adam Mark
- Adam Solove
- Adam Timberlake
- Adam Zapletal
- Ahmad Wali Sidiqi
- Alan Plum
- Alan Souza
- Alan deLevie
- Alastair Hole
- Alex
- Alex Boatwright
- Alex Boyd
- Alex Dajani
- Alex Lopatin
- Alex Mykyta
- Alex Pien
- Alex Smith
- Alex Zelenskiy
- Alexander Shtuchkin
- Alexander Solovyov
- Alexander Tseung
- Alexandre Gaudencio
- Alexey Raspopov
- Alexey Shamrin
- Ali Ukani
- Andre Z Sanchez
- Andreas Savvides
- Andreas Svensson
- Andres Kalle
- Andres Suarez
- Andrew Clark
- Andrew Cobby
- Andrew Davey
- Andrew Henderson
- Andrew Kulakov
- Andrew Rasmussen
- Andrew Sokolov
- Andrew Zich
- Andrey Popp
- Anthony van der Hoorn
- Anto Aravinth
- Antonio Ruberto
- Antti Ahti
- Anuj Tomar
- AoDev
- April Arcus
- Areeb Malik
- Aria Buckles
- Aria Stewart
- Arian Faurtosh
- Artem Nezvigin
- Austin Wright
- Ayman Osman
- Baraa Hamodi
- Bartosz Kaszubowski
- Basarat Ali Syed
- Battaile Fauber
- Beau Smith
- Ben Alpert
- Ben Anderson
- Ben Brooks
- Ben Foxall
- Ben Halpern
- Ben Jaffe
- Ben Moss
- Ben Newman
- Ben Ripkens
- Benjamin Keen
- Benjamin Leiken
- Benjamin Woodruff
- Benjy Cui
- Bill Blanchard
- Bill Fisher
- Blaine Hatab
- Blaine Kasten
- Bob Eagan
- Bob Ralian
- Bob Renwick
- Bobby
- Bojan Mihelac
- Bradley Spaulding
- Brandon Bloom
- Brandon Tilley
- Brenard Cubacub
- Brian Cooke
- Brian Holt
- Brian Hsu
- Brian Kim
- Brian Kung
- Brian Reavis
- Brian Rue
- Bruno Škvorc
- Cam Song
- Cam Spiers
- Cameron Chamberlain
- Cameron Matheson
- Carter Chung
- Cassus Adam Banko
- Cat Chen
- Cedric Sohrauer
- Cesar William Alvarenga
- Changsoon Bok
- Charles Marsh
- Chase Adams
- Cheng Lou
- Chitharanjan Das
- Chris Bolin
- Chris Grovers
- Chris Ha
- Chris Rebert
- Chris Sciolla
- Christian Alfoni
- Christian Oliff
- Christian Roman
- Christoffer Sawicki
- Christoph Pojer
- Christopher Monsanto
- Clay Allsopp
- Connor McSheffrey
- Conor Hastings
- Cory House
- Cotton Hou
- Craig Akimoto
- Cristovao Verstraeten
- Damien Pellier
- Dan Abramov
- Dan Fox
- Dan Schafer
- Daniel Carlsson
- Daniel Cousens
- Daniel Friesen
- Daniel Gasienica
- Daniel Hejl
- Daniel Hejl
- Daniel Lo Nigro
- Daniel Mané
- Daniel Miladinov
- Daniel Rodgers-Pryor
- Daniel Schonfeld
- Danny Ben-David
- Darcy
- Daryl Lau
- Darío Javier Cravero
- Dave Galbraith
- David Baker
- David Ed Mellum
- David Goldberg
- David Granado
- David Greenspan
- David Hellsing
- David Hu
- David Khourshid
- David Mininger
- David Neubauer
- David Percy
- Dean Shi
- Denis Sokolov
- Deniss Jacenko
- Dennis Johnson
- Devon Blandin
- Devon Harvey
- Dmitrii Abramov
- Dmitriy Rozhkov
- Dmitry Blues
- Dmitry Mazuro
- Domenico Matteo
- Don Abrams
- Dongsheng Liu
- Dustan Kasten
- Dustin Getz
- Dylan Harrington
- Eduardo Garcia
- Edvin Erikson
- Elaine Fang
- Enguerran
- Eric Clemmons
- Eric Eastwood
- Eric Florenzano
- Eric O'Connell
- Eric Schoffstall
- Erik Harper
- Espen Hovlandsdal
- Evan Coonrod
- Evan Vosberg
- Fabio M. Costa
- Federico Rampazzo
- Felipe Oliveira Carvalho
- Felix Gnass
- Felix Kling
- Fernando Correia
- Frankie Bagnardi
- François-Xavier Bois
- Fred Zhao
- Freddy Rangel
- Fyodor Ivanishchev
- G Scott Olson
- G. Kay Lee
- Gabe Levi
- Gajus Kuizinas
- Gareth Nicholson
- Garren Smith
- Gavin McQuistin
- Geert Pasteels
- Geert-Jan Brits
- George A Sisco III
- Georgii Dolzhykov
- Gilbert
- Glen Mailer
- Grant Timmerman
- Greg Hurrell
- Greg Perkins
- Greg Roodt
- Gregory
- Guangqiang Dong
- Guido Bouman
- Harry Hull
- Harry Marr
- Harry Moreno
- Harshad Sabne
- Hekar Khani
- Hendrik Swanepoel
- Henrik Nyh
- Henry Wong
- Henry Zhu
- Hideo Matsumoto
- Hou Chia
- Huang-Wei Chang
- - Hugo Agbonon
- Hugo Jobling
- Hyeock Kwon
- Héliton Nordt
- Ian Obermiller
- Ignacio Carbajo
- Igor Scekic
- Ilia Pavlenkov
- Ilya Shuklin
- Ilyá Belsky
- Ingvar Stepanyan
- Irae Carvalho
- Isaac Salier-Hellendag
- Iurii Kucherov
- Ivan Kozik
- Ivan Krechetov
- Ivan Vergiliev
- J. Andrew Brassington
- J. Renée Beach
- JD Isaacks
- JJ Weber
- JW
- Jack Zhang
- Jackie Wung
- Jacob Gable
- Jacob Greenleaf
- Jae Hun Ro
- Jaeho Lee
- Jaime Mingo
- Jake Worth
- Jakub Malinowski
- James
- James Brantly
- James Burnett
- James Friend
- James Ide
- James Long
- James Pearce
- James Seppi
- James South
- James Wen
- Jamie Wong
- Jamis Charles
- Jamison Dance
- Jan Hancic
- Jan Kassens
- Jan Raasch
- Jared Forsyth
- Jason
- Jason Bonta
- Jason Ly
- Jason Miller
- Jason Quense
- Jason Trill
- Jason Webster
- Jay Jaeho Lee
- Jean Lauliac
- Jed Watson
- Jeff Barczewski
- Jeff Carpenter
- Jeff Chan
- Jeff Hicken
- Jeff Kolesky
- Jeff Morrison
- Jeff Welch
- Jeffrey Lin
- Jeremy Fairbank
- Jesse Skinner
- Jignesh Kakadiya
- Jim OBrien
- Jim Sproch
- Jimmy Jea
- Jing Chen
- Jinwoo Oh
- Jinxiu Lee
- Jiyeon Seo
- Jody McIntyre
- Joe Critchley
- Joe Stein
- Joel Auterson
- Johannes Baiter
- Johannes Emerich
- Johannes Lumpe
- John Heroy
- John Ryan
- John Watson
- John-David Dalton
- Jon Beebe
- Jon Chester
- Jon Hester
- Jon Madison
- Jon Scott Clark
- Jon Tewksbury
- Jonas Enlund
- Jonas Gebhardt
- Jonathan Hsu
- Jonathan Persson
- Jordan Harband
- Jordan Walke
- Jorrit Schippers
- Joseph Nudell
- Joseph Savona
- Josh Bassett
- Josh Duck
- Josh Perez
- Josh Yudaken
- Joshua Evans
- Joshua Go
- Joshua Goldberg
- Joshua Ma
- João Valente
- Juan Serrano
- Julen Ruiz Aizpuru
- Julian Viereck
- Julien Bordellier
- Julio Lopez
- Jun Wu
- Juraj Dudak
- Justas Brazauskas
- Justin Jaffray
- Justin Robison
- Justin Woo
- Kale
- Kamron Batman
- Karl Mikkelsen
- Karpich Dmitry
- Keito Uchiyama
- Ken Powers
- Kent C. Dodds
- Kevin Cheng
- Kevin Coughlin
- Kevin Huang
- Kevin Lau
- Kevin Old
- Kevin Robinson
- Kewei Jiang
- Kier Borromeo
- KimCoding
- Kirk Steven Hansen
- Kit Randel
- Kohei TAKATA
- Koo Youngmin
- Krystian Karczewski
- Kunal Mehta
- Kurt Ruppel
- Kyle Kelley
- Kyle Mathews
- Laurence Rowe
- Laurent Etiemble
- Lee Byron
- Lee Jaeyoung
- Lei
- Leland Richardson
- Leon Fedotov
- Leon Yip
- Leonardo YongUk Kim
- Levi Buzolic
- Levi McCallum
- Lily
- Logan Allen
- Lovisa Svallingson
- Ludovico Fischer
- Luigy Leon
- Luke Horvat
- MIKAMI Yoshiyuki
- Maher Beg
- Manas
- Marcin K.
- Marcin Kwiatkowski
- Marcin Szczepanski
- Mariano Desanze
- Marjan
- Mark Anderson
- Mark Funk
- Mark Hintz
- Mark IJbema
- Mark Murphy
- Mark Richardson
- Mark Rushakoff
- Mark Sun
- Marlon Landaverde
- Marshall Roch
- Martin Andert
- Martin Hujer
- Martin Jul
- Martin Konicek
- Martin Mihaylov
- Masaki KOBAYASHI
- Mathieu M-Gosselin
- Mathieu Savy
- Matias Singers
- Matsunoki
- Matt Brookes
- Matt Dunn-Rankin
- Matt Harrison
- Matt Huggins
- Matt Stow
- Matt Zabriskie
- Matthew Dapena-Tretter
- Matthew Herbst
- Matthew Hodgson
- Matthew Johnston
- Matthew King
- Matthew Looi
- Matthew Miner
- Matthias Le Brun
- Matti Nelimarkka
- Mattijs Kneppers
- Max F. Albrecht
- Max Heiber
- Max Stoiber
- Maxi Ferreira
- Maxim Abramchuk
- Merrick Christensen
- Mert Kahyaoğlu
- Michael Chan
- Michael McDermott
- Michael Randers-Pehrson
- Michael Ridgway
- Michael Warner
- Michael Wiencek
- Michael Ziwisky
- Michal Srb
- Michelle Todd
- Mihai Parparita
- Mike D Pilsbury
- Mike Groseclose
- Mike Nordick
- Mikolaj Dadela
- Miles Johnson
- Minwe LUO
- Miorel Palii
- - Morhaus
- Moshe Kolodny
- Mouad Debbar
- Murad
- Murray M. Moss
- Nadeesha Cabral
- Naman Goel
- Nate Hunzaker
- Nate Lee
- Nathan Smith
- Nathan White
- Nee
- Neri Marschik
- Nguyen Truong Duy
- Nicholas Bergson-Shilcock
- Nicholas Clawson
- Nick Balestra
- Nick Fitzgerald
- Nick Gavalas
- Nick Merwin
- Nick Presta
- Nick Raienko
- Nick Thompson
- Nick Williams
- Niklas Boström
- Ning Xia
- Niole Nelson
- Oiva Eskola
- Oleg
- Oleksii Markhovskyi
- Oliver Zeigermann
- Olivier Tassinari
- Owen Coutts
- Pablo Lacerda de Miranda
- Paolo Moretti
- Pascal Hartig
- Patrick
- Patrick Laughlin
- Patrick Stapleton
- Paul Benigeri
- Paul Harper
- Paul OShannessy
- Paul Seiffert
- Paul Shen
- Pedro Nauck
- Pete Hunt
- Peter Blazejewicz
- Peter Cottle
- Peter Jaros
- Peter Newnham
- Petri Lehtinen
- Petri Lievonen
- Pieter Vanderwerff
- Pouja Nikray
- Prathamesh Sonpatki
- Prayag Verma
- Preston Parry
- Rafael
- Rafal Dittwald
- Rainer Oviir
- Rajat Sehgal
- Rajiv Tirumalareddy
- Ram Kaniyur
- Randall Randall
- Ray
- Raymond Ha
- Reed Loden
- Remko Tronçon
- Richard D. Worth
- Richard Feldman
- Richard Kho
- Richard Littauer
- Richard Livesey
- Richard Wood
- Rick Beerendonk
- Rick Ford
- Riley Tomasek
- Rob Arnold
- Robert Binna
- Robert Knight
- Robert Sedovsek
- Robin Berjon
- Robin Frischmann
- Roman Pominov
- Roman Vanesyan
- Russ
- Ryan Seddon
- Sahat Yalkabov
- Saif Hakim
- Saiichi Hashimoto
- Sam Beveridge
- Sam Saccone
- Sam Selikoff
- Samy Al Zahrani
- Sander Spies
- Scott Burch
- Scott Feeney
- Sean Kinsey
- Sebastian Markbåge
- Sebastian McKenzie
- Seoh Char
- Sercan Eraslan
- Serg
- Sergey Generalov
- Sergey Rubanov
- Seyi Adebajo
- Shane O'Sullivan
- Shaun Trennery
- ShihChi Huang
- Shim Won
- Shinnosuke Watanabe
- Shogun Sea
- Shota Kubota
- Shripad K
- Sibi
- Simen Bekkhus
- Simon Højberg
- Simon Welsh
- Simone Vittori
- Soichiro Kawamura
- Sophia Westwood
- Sota Ohara
- Spencer Handley
- Stefan Dombrowski
- Stephen Murphy
- Sterling Cobb
- Steve Baker
- Steven Luscher
- Steven Vachon
- Stoyan Stefanov
- Sundeep Malladi
- Sunny Juneja
- Sven Helmberger
- Sverre Johansen
- Sébastien Lorber
- Sławomir Laskowski
- Taeho Kim
- Tay Yang Shun
- Ted Kim
- Tengfei Guo
- Teodor Szente
- Thomas Aylott
- Thomas Boyt
- Thomas Broadley
- Thomas Reggi
- Thomas Röggla
- Thomas Shaddox
- Thomas Shafer
- ThomasCrvsr
- Tienchai Wirojsaksaree
- Tim Routowicz
- Tim Schaub
- Timothy Yung
- Timur Carpeev
- Tobias Reiss
- Tom Duncalf
- Tom Haggie
- Tom Hauburger
- Tom MacWright
- Tom Occhino
- Tomasz Kołodziejski
- Tomoya Suzuki
- Tony Spiro
- Toru Kobayashi
- Trinh Hoang Nhu
- Tsung Hung
- Tyler Brock
- Ustin Zarubin
- Vadim Chernysh
- Varun Rau
- Vasiliy Loginevskiy
- Victor Alvarez
- Victor Homyakov
- Victor Koenders
- Ville Immonen
- Vincent Riemer
- Vincent Siao
- Vipul A M
- Vitaly Kramskikh
- Vitor Balocco
- Vjeux
- Volkan Unsal
- Wander Wang
- Wayne Larsen
- WickyNilliams
- Wincent Colaiuta
- Wout Mertens
- Xavier Morel
- XuefengWu
- Yakov Dalinchuk
- Yasar icli
- YouBao Nong
- Yuichi Hagio
- Yuriy Dybskiy
- Yutaka Nakajima
- Yuval Dekel
- Zach Bruggeman
- Zach Ramaekers
- Zacharias
- Zeke Sikelianos
- Zhangjd
- adraeth
- arush
- brafdlog
- chen
- clariroid
- claudiopro
- cutbko
- davidxi
- dongmeng.ldm
- iamchenxin
- iamdoron
- iawia002
- imagentleman
- koh-taka
- kohashi85
- laiso
- leeyoungalias
- li.li
- maxprafferty
- rgarifullin
- songawee
- sugarshin
- wali-s
- yiminghe
- youmoo
- zhangjg
- zwhitchcox
- "Árni Hermann Reynisson"
- "元彦"
- "凌恒"
- "张敏"

66
docs/_data/authors.yml Normal file
View File

@@ -0,0 +1,66 @@
# Map of short name to more information. `name` will be used but if you don't
# want to use your real name, just use whatever. If url is included, your name
# will be a link to the provided url.
benigeri:
name: Paul Benigeri
url: https://github.com/benigeri
chenglou:
name: Cheng Lou
url: https://twitter.com/_chenglou
Daniel15:
name: Daniel Lo Nigro
url: http://dan.cx/
fisherwebdev:
name: Bill Fisher
url: https://twitter.com/fisherwebdev
gaearon:
name: Dan Abramov
url: https://twitter.com/dan_abramov
jaredly:
name: Jared Forsyth
url: https://twitter.com/jaredforsyth
jgebhardt:
name: Jonas Gebhardt
url: https://twitter.com/jonasgebhardt
jimfb:
name: Jim Sproch
url: http://www.jimsproch.com
jingc:
name: Jing Chen
url: https://twitter.com/jingc
josephsavona:
name: Joseph Savona
url: https://twitter.com/en_JS
kmeht:
name: Kunal Mehta
url: https://github.com/kmeht
LoukaN:
name: Lou Husson
url: https://twitter.com/loukan42
matthewjohnston4:
name: Matthew Johnston
url: https://github.com/matthewathome
petehunt:
name: Pete Hunt
url: https://twitter.com/floydophone
schrockn:
name: Nick Schrock
url: https://twitter.com/schrockn
sebmarkbage:
name: Sebastian Markbåge
url: https://twitter.com/sebmarkbage
spicyj:
name: Ben Alpert
url: http://benalpert.com
steveluscher:
name: Steven Luscher
url: https://twitter.com/steveluscher
vjeux:
name: Vjeux
url: https://twitter.com/vjeux
wincent:
name: Greg Hurrell
url: https://twitter.com/wincent
zpao:
name: Paul OShannessy
url: https://twitter.com/zpao

View File

@@ -8,12 +8,16 @@
title: Thinking in React
- title: Community Resources
items:
- id: conferences
title: Conferences
- id: videos
title: Videos
- id: complementary-tools
title: Complementary Tools
href: https://github.com/facebook/react/wiki/Complementary-Tools
- id: examples
title: Examples
href: https://github.com/facebook/react/wiki/Examples
- title: Guides
items:
- id: why-react
@@ -23,6 +27,8 @@
subitems:
- id: jsx-in-depth
title: JSX in Depth
- id: jsx-spread
title: JSX Spread Attributes
- id: jsx-gotchas
title: JSX Gotchas
- id: interactivity-and-dynamic-uis
@@ -31,15 +37,24 @@
title: Multiple Components
- id: reusable-components
title: Reusable Components
- id: transferring-props
title: Transferring Props
- id: forms
title: Forms
- id: working-with-the-browser
title: Working With the Browser
subitems:
- id: more-about-refs
title: More About Refs
title: Refs to Components
- id: tooling-integration
title: Tooling Integration
subitems:
- id: language-tooling
title: Language Tooling
- id: package-management
title: Package Management
- id: environments
title: Server-side Environments
- id: addons
title: Add-Ons
subitems:
@@ -47,18 +62,24 @@
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
title: Cloning Elements
- id: create-fragment
title: Keyed Fragments
- id: update
title: Immutability Helpers
- id: pure-render-mixin
title: PureRenderMixin
- id: perf
title: Performance Tools
- id: shallow-compare
title: Shallow Compare
- id: advanced-performance
title: Advanced Performance
- id: context
title: Context
- title: Reference
items:
- id: top-level-api
@@ -77,9 +98,7 @@
title: Special Non-DOM Attributes
- id: reconciliation
title: Reconciliation
- title: Flux
items:
- id: flux-overview
title: Flux Overview
- id: flux-todo-list
title: Flux Todo List
- id: webcomponents
title: Web Components
- id: glossary
title: React (Virtual) DOM Terminology

View File

@@ -30,7 +30,9 @@
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
- id: use-react-with-other-libraries
title: Use React with Other Libraries
- id: dangerously-set-inner-html
title: Dangerously Set innerHTML

View File

@@ -1,10 +1,32 @@
<h1><a href="/react{{ page.url }}">{{ page.title }}</a></h1>
<p class="meta">{{ page.date | date_to_string }} by {{ page.author }}</p>
{% assign page = include.page %}
<div id="post">
{% if content != '' %}
{{ page.excerpt }}
<h1>
{% if include.isPermalink %}
{{ page.title }}
{% else %}
{{ page.content }}
<a href="/react{{ page.url }}">{{ page.title }}</a>
{% endif %}
</h1>
<p class="meta">
{{ page.date | date: "%B %e, %Y" }}
by
{% for author in page.authors %}
{% if author.url %}
<a href="{{author.url}}">{{ author.name }}</a>
{% else %}
{{ author.name }}
{% endif %}
{% if forloop.last == false %} and {% endif %}
{% endfor %}
</p>
<hr>
<div class="post">
{{ include.content }}
</div>
{% if include.isPermalink %}
<div class="fb-like" data-send="true" data-width="650" data-show-faces="false"></div>
{% endif %}

View File

@@ -6,16 +6,12 @@
<ul>
{% for item in section.items %}
<li>
<a href="/react/docs/{{ item.id }}.html"{% if page.id == item.id %} class="active"{% endif %}>
{{ item.title }}
</a>
{{ item | sidebar_item_link}}
{% if item.subitems %}
<ul>
{% for subitem in item.subitems %}
<li>
<a href="/react/docs/{{ subitem.id }}.html"{% if page.id == subitem.id %} class="active"{% endif %}>
{{ subitem.title }}
</a>
{{ subitem | sidebar_item_link}}
</li>
{% endfor %}
</ul>

View File

@@ -0,0 +1,111 @@
/**
* Copyright (c) 2013-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
/* global React ReactDOM errorMap:true */
'use strict';
function replaceArgs(msg, argList) {
let argIdx = 0;
return msg.replace(/%s/g, function() {
const arg = argList[argIdx++];
return arg === undefined ? '[missing argument]' : arg;
});
}
function urlify(str) {
const urlRegex = /(https:\/\/fb\.me\/[a-z\-]+)/g;
const segments = str.split(urlRegex);
for (let i = 0; i < segments.length; i++) {
if (i % 2 === 1) {
segments[i] = (<a key={i} target="_blank" href={segments[i]}>{segments[i]}</a>);
}
}
return segments;
}
// ?invariant=123&args[]=foo&args[]=bar
function parseQueryString() {
const rawQueryString = window.location.search.substring(1);
if (!rawQueryString) {
return null;
}
let code = '';
let args = [];
const queries = rawQueryString.split('&');
for (let i = 0; i < queries.length; i++) {
const query = decodeURIComponent(queries[i]);
if (query.indexOf('invariant=') === 0) {
code = query.slice(10);
} else if (query.indexOf('args[]=') === 0) {
args.push(query.slice(7));
}
}
return [code, args];
}
function ErrorResult(props) {
const code = props.code;
const errorMsg = props.msg;
if (!code) {
return (
<p>When you encounter an error, you'll receive a link to this page for that specific error and we'll show you the full error text.</p>
);
}
return (
<div>
<p>The full text of the error you just encountered is:</p>
<code>{urlify(errorMsg)}</code>
</div>
);
}
class ErrorDecoder extends React.Component {
constructor(...args) {
super(...args);
this.state = {
code: null,
errorMsg: '',
};
}
componentWillMount() {
const parseResult = parseQueryString();
if (parseResult != null) {
const [code, args] = parseResult;
if (errorMap[code]) {
this.setState({
code: code,
errorMsg: replaceArgs(errorMap[code], args),
});
}
}
}
render() {
return (
<ErrorResult
code={this.state.code}
msg={this.state.errorMsg}
/>
);
}
}
ReactDOM.render(
<ErrorDecoder />,
document.querySelector('.error-decoder-container')
);

View File

@@ -0,0 +1,7 @@
---
rules:
block-scoped-var: 0
no-undef: 0
strict: 0
react/react-in-jsx-scope: 0
react/jsx-no-undef: 0

View File

@@ -1,19 +1,14 @@
/**
* @jsx React.DOM
*/
var HELLO_COMPONENT = `
var HelloMessage = React.createClass({
render: function() {
return <div>Hello {this.props.name}</div>;
}
});
var HELLO_COMPONENT = "\
/** @jsx React.DOM */\n\
var HelloMessage = React.createClass({\n\
render: function() {\n\
return <div>Hello {this.props.name}</div>;\n\
}\n\
});\n\
\n\
React.renderComponent(<HelloMessage name=\"John\" />, mountNode);\
";
ReactDOM.render(<HelloMessage name="John" />, mountNode);
`;
React.renderComponent(
ReactDOM.render(
<ReactPlayground codeText={HELLO_COMPONENT} />,
document.getElementById('helloExample')
);

View File

@@ -1,43 +1,37 @@
/**
* @jsx React.DOM
*/
var MARKDOWN_COMPONENT = `
var MarkdownEditor = React.createClass({
getInitialState: function() {
return {value: 'Type some *markdown* here!'};
},
handleChange: function() {
this.setState({value: this.refs.textarea.value});
},
rawMarkup: function() {
var md = new Remarkable();
return { __html: md.render(this.state.value) };
},
render: function() {
return (
<div className="MarkdownEditor">
<h3>Input</h3>
<textarea
onChange={this.handleChange}
ref="textarea"
defaultValue={this.state.value} />
<h3>Output</h3>
<div
className="content"
dangerouslySetInnerHTML={this.rawMarkup()}
/>
</div>
);
}
});
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\
<div className=\"MarkdownEditor\">\n\
<h3>Input</h3>\n\
<textarea\n\
onChange={this.handleChange}\n\
ref=\"textarea\"\n\
defaultValue={this.state.value} />\n\
<h3>Output</h3>\n\
<div\n\
className=\"content\"\n\
dangerouslySetInnerHTML={{\n\
__html: converter.makeHtml(this.state.value)\n\
}}\n\
/>\n\
</div>\n\
);\n\
}\n\
});\n\
\n\
React.renderComponent(<MarkdownEditor />, mountNode);\
";
ReactDOM.render(<MarkdownEditor />, mountNode);
`;
React.renderComponent(
ReactDOM.render(
<ReactPlayground codeText={MARKDOWN_COMPONENT} />,
document.getElementById('markdownExample')
);

View File

@@ -1,33 +1,28 @@
/**
* @jsx React.DOM
*/
var TIMER_COMPONENT = `
var Timer = React.createClass({
getInitialState: function() {
return {secondsElapsed: 0};
},
tick: function() {
this.setState({secondsElapsed: this.state.secondsElapsed + 1});
},
componentDidMount: function() {
this.interval = setInterval(this.tick, 1000);
},
componentWillUnmount: function() {
clearInterval(this.interval);
},
render: function() {
return (
<div>Seconds Elapsed: {this.state.secondsElapsed}</div>
);
}
});
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\
<div>Seconds Elapsed: {this.state.secondsElapsed}</div>\n\
);\n\
}\n\
});\n\
\n\
React.renderComponent(<Timer />, mountNode);\
";
ReactDOM.render(<Timer />, mountNode);
`;
React.renderComponent(
ReactDOM.render(
<ReactPlayground codeText={TIMER_COMPONENT} />,
document.getElementById('timerExample')
);

View File

@@ -1,47 +1,43 @@
/**
* @jsx React.DOM
*/
var TODO_COMPONENT = `
var TodoList = React.createClass({
render: function() {
var createItem = function(item) {
return <li key={item.id}>{item.text}</li>;
};
return <ul>{this.props.items.map(createItem)}</ul>;
}
});
var TodoApp = React.createClass({
getInitialState: function() {
return {items: [], text: ''};
},
onChange: function(e) {
this.setState({text: e.target.value});
},
handleSubmit: function(e) {
e.preventDefault();
var nextItems = this.state.items.concat([{text: this.state.text, id: Date.now()}]);
var nextText = '';
this.setState({items: nextItems, text: nextText});
},
render: function() {
return (
<div>
<h3>TODO</h3>
<TodoList items={this.state.items} />
<form onSubmit={this.handleSubmit}>
<input onChange={this.onChange} value={this.state.text} />
<button>{'Add #' + (this.state.items.length + 1)}</button>
</form>
</div>
);
}
});
var TODO_COMPONENT = "\
/** @jsx React.DOM */\n\
var TodoList = React.createClass({\n\
render: function() {\n\
var createItem = function(itemText) {\n\
return <li>{itemText}</li>;\n\
};\n\
return <ul>{this.props.items.map(createItem)}</ul>;\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\
<div>\n\
<h3>TODO</h3>\n\
<TodoList items={this.state.items} />\n\
<form onSubmit={this.handleSubmit}>\n\
<input onChange={this.onChange} value={this.state.text} />\n\
<button>{'Add #' + (this.state.items.length + 1)}</button>\n\
</form>\n\
</div>\n\
);\n\
}\n\
});\n\
React.renderComponent(<TodoApp />, mountNode);\
";
ReactDOM.render(<TodoApp />, mountNode);
`;
React.renderComponent(
ReactDOM.render(
<ReactPlayground codeText={TODO_COMPONENT} />,
document.getElementById('todoExample')
);

View File

@@ -1,482 +1,7 @@
/**
* 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(/<script(.*?)<\/script>/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 += '</' + node.tagName.toLowerCase() + '>';
} 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('"', '&quot;') + '"';
}
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));
// Ideally it would be nice to just redirect, but Github Pages is very basic and
// lacks that functionality.
console.warn(
'html-jsx-lib.js has moved to http://reactjs.github.io/react-magic/' +
'htmltojsx.min.js. If using React-Magic, you are no longer required to ' +
'link to this file. Please delete its <script> tag.'
);

View File

@@ -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 = "\
<!-- Hello world -->\n\
<div class=\"awesome\" style=\"border: 1px solid red\">\n\
<label for=\"name\">Enter your name: </label>\n\
<input type=\"text\" id=\"name\" />\n\
</div>\n\
<p>Enter your HTML here</p>\
";
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 (
<div>
<div id="options">
<label>
<input
type="checkbox"
checked={this.state.createClass}
onChange={this.onCreateClassChange} />
Create class
</label>
<label style={{display: this.state.createClass ? '' : 'none'}}>
·
Class name:
<input
type="text"
value={this.state.outputClassName}
onChange={this.onReactClassNameChange} />
</label>
</div>
<ReactPlayground
codeText={HELLO_COMPONENT}
renderCode={true}
transformer={this.convertToJSX}
/>
</div>
);
}
});
React.renderComponent(<HTMLtoJSXComponent />, document.getElementById('jsxCompiler'));
}());

View File

@@ -0,0 +1,11 @@
(function() {
var tag = document.querySelector(
'script[type="application/javascript;version=1.7"]'
);
if (!tag || tag.textContent.indexOf('window.onload=function(){') !== -1) {
alert('Bad JSFiddle configuration, please fork the original React JSFiddle');
}
tag.setAttribute('type', 'text/jsx;harmony=true');
tag.textContent = tag.textContent.replace(/^\/\/<!\[CDATA\[/, '');
})();

View File

@@ -1,50 +0,0 @@
/**
* @jsx React.DOM
*/
var HELLO_COMPONENT = "\
/** @jsx React.DOM */\n\
var HelloMessage = React.createClass({\n\
render: function() {\n\
return <div>Hello {this.props.name}</div>;\n\
}\n\
});\n\
\n\
React.renderComponent(<HelloMessage name=\"John\" />, 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 (
<div>
<ReactPlayground
codeText={HELLO_COMPONENT}
renderCode={true}
transformer={transformer.bind(null, this.state.harmony)}
showCompiledJSTab={false}
/>
<label className="compiler-option">
<input
type="checkbox"
onChange={this.handleHarmonyChange}
checked={this.state.harmony} />{' '}
Enable ES6 transforms (<code>--harmony</code>)
</label>
</div>
);
},
});
React.renderComponent(
<CompilerPlayground />,
document.getElementById('jsxCompiler')
);

View File

@@ -1,8 +1,3 @@
/**
* @jsx React.DOM
*/
var IS_MOBILE = (
navigator.userAgent.match(/Android/i)
|| navigator.userAgent.match(/webOS/i)
@@ -14,17 +9,26 @@ var IS_MOBILE = (
);
var CodeMirrorEditor = React.createClass({
propTypes: {
lineNumbers: React.PropTypes.bool,
onChange: React.PropTypes.func,
},
getDefaultProps: function() {
return {
lineNumbers: false,
};
},
componentDidMount: function() {
if (IS_MOBILE) return;
this.editor = CodeMirror.fromTextArea(this.refs.editor.getDOMNode(), {
mode: 'javascript',
lineNumbers: false,
this.editor = CodeMirror.fromTextArea(ReactDOM.findDOMNode(this.refs.editor), {
mode: 'jsx',
lineNumbers: this.props.lineNumbers,
lineWrapping: true,
smartIndent: false, // javascript mode does bad things with jsx indents
matchBrackets: true,
theme: 'solarized-light',
readOnly: this.props.readOnly
readOnly: this.props.readOnly,
});
this.editor.on('change', this.handleChange);
},
@@ -56,7 +60,7 @@ var CodeMirrorEditor = React.createClass({
{editor}
</div>
);
}
},
});
var selfCleaningTimeout = {
@@ -67,7 +71,7 @@ var selfCleaningTimeout = {
setTimeout: function() {
clearTimeout(this.timeoutID);
this.timeoutID = setTimeout.apply(null, arguments);
}
},
};
var ReactPlayground = React.createClass({
@@ -79,14 +83,19 @@ var ReactPlayground = React.createClass({
codeText: React.PropTypes.string.isRequired,
transformer: React.PropTypes.func,
renderCode: React.PropTypes.bool,
showCompiledJSTab: React.PropTypes.bool,
showLineNumbers: React.PropTypes.bool,
editorTabTitle: React.PropTypes.string,
},
getDefaultProps: function() {
return {
transformer: function(code) {
return JSXTransformer.transform(code).code;
return babel.transform(code).code;
},
showCompiledJSTab: true
editorTabTitle: 'Live JSX Editor',
showCompiledJSTab: true,
showLineNumbers: false,
};
},
@@ -124,6 +133,7 @@ var ReactPlayground = React.createClass({
onChange={this.handleCodeChange}
codeText={compiledCode}
readOnly={true}
lineNumbers={this.props.showLineNumbers}
/>;
var JSXContent =
@@ -132,6 +142,7 @@ var ReactPlayground = React.createClass({
onChange={this.handleCodeChange}
className="playgroundStage"
codeText={this.state.code}
lineNumbers={this.props.showLineNumbers}
/>;
var JSXTabClassName =
@@ -150,7 +161,7 @@ var ReactPlayground = React.createClass({
<div
className={JSXTabClassName}
onClick={this.handleCodeModeSwitch.bind(this, this.MODES.JSX)}>
Live JSX Editor
{this.props.editorTabTitle}
</div>
return (
@@ -183,16 +194,16 @@ var ReactPlayground = React.createClass({
},
executeCode: function() {
var mountNode = this.refs.mount.getDOMNode();
var mountNode = ReactDOM.findDOMNode(this.refs.mount);
try {
React.unmountComponentAtNode(mountNode);
ReactDOM.unmountComponentAtNode(mountNode);
} catch (e) { }
try {
var compiledCode = this.compileCode();
if (this.props.renderCode) {
React.renderComponent(
ReactDOM.render(
<CodeMirrorEditor codeText={compiledCode} readOnly={true} />,
mountNode
);
@@ -201,11 +212,11 @@ var ReactPlayground = React.createClass({
}
} catch (err) {
this.setTimeout(function() {
React.renderComponent(
ReactDOM.render(
<div className="playgroundError">{err.toString()}</div>,
mountNode
);
}, 500);
}
}
},
});

Some files were not shown because too many files have changed in this diff Show More