mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
96 lines
3.2 KiB
JavaScript
96 lines
3.2 KiB
JavaScript
/**
|
|
* Copyright 2013 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.
|
|
*
|
|
* @providesModule React
|
|
*/
|
|
|
|
"use strict";
|
|
|
|
var DOMPropertyOperations = require('DOMPropertyOperations');
|
|
var EventPluginUtils = require('EventPluginUtils');
|
|
var ReactChildren = require('ReactChildren');
|
|
var ReactComponent = require('ReactComponent');
|
|
var ReactCompositeComponent = require('ReactCompositeComponent');
|
|
var ReactContext = require('ReactContext');
|
|
var ReactCurrentOwner = require('ReactCurrentOwner');
|
|
var ReactDOM = require('ReactDOM');
|
|
var ReactDOMComponent = require('ReactDOMComponent');
|
|
var ReactDefaultInjection = require('ReactDefaultInjection');
|
|
var ReactInstanceHandles = require('ReactInstanceHandles');
|
|
var ReactMount = require('ReactMount');
|
|
var ReactMultiChild = require('ReactMultiChild');
|
|
var ReactPerf = require('ReactPerf');
|
|
var ReactPropTypes = require('ReactPropTypes');
|
|
var ReactServerRendering = require('ReactServerRendering');
|
|
var ReactTextComponent = require('ReactTextComponent');
|
|
|
|
var onlyChild = require('onlyChild');
|
|
|
|
ReactDefaultInjection.inject();
|
|
|
|
var React = {
|
|
Children: {
|
|
map: ReactChildren.map,
|
|
forEach: ReactChildren.forEach,
|
|
only: onlyChild
|
|
},
|
|
DOM: ReactDOM,
|
|
PropTypes: ReactPropTypes,
|
|
initializeTouchEvents: function(shouldUseTouch) {
|
|
EventPluginUtils.useTouchEvents = shouldUseTouch;
|
|
},
|
|
createClass: ReactCompositeComponent.createClass,
|
|
constructAndRenderComponent: ReactMount.constructAndRenderComponent,
|
|
constructAndRenderComponentByID: ReactMount.constructAndRenderComponentByID,
|
|
renderComponent: ReactPerf.measure(
|
|
'React',
|
|
'renderComponent',
|
|
ReactMount.renderComponent
|
|
),
|
|
renderComponentToString: ReactServerRendering.renderComponentToString,
|
|
unmountComponentAtNode: ReactMount.unmountComponentAtNode,
|
|
isValidClass: ReactCompositeComponent.isValidClass,
|
|
isValidComponent: ReactComponent.isValidComponent,
|
|
withContext: ReactContext.withContext,
|
|
__internals: {
|
|
Component: ReactComponent,
|
|
CurrentOwner: ReactCurrentOwner,
|
|
DOMComponent: ReactDOMComponent,
|
|
DOMPropertyOperations: DOMPropertyOperations,
|
|
InstanceHandles: ReactInstanceHandles,
|
|
Mount: ReactMount,
|
|
MultiChild: ReactMultiChild,
|
|
TextComponent: ReactTextComponent
|
|
}
|
|
};
|
|
|
|
if (__DEV__) {
|
|
var ExecutionEnvironment = require('ExecutionEnvironment');
|
|
if (ExecutionEnvironment.canUseDOM &&
|
|
window.top === window.self &&
|
|
navigator.userAgent.indexOf('Chrome') > -1) {
|
|
console.debug(
|
|
'Download the React DevTools for a better development experience: ' +
|
|
'http://fb.me/react-devtools'
|
|
);
|
|
}
|
|
}
|
|
|
|
// Version exists only in the open-source version of React, not in Facebook's
|
|
// internal version.
|
|
React.version = '0.9.0-alpha';
|
|
|
|
module.exports = React;
|