react 15.0.0-rc.1 → 15.0.2-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/dist/react-with-addons.js +1446 -1195
  2. package/dist/react-with-addons.min.js +6 -6
  3. package/dist/react.js +1330 -1109
  4. package/dist/react.min.js +6 -6
  5. package/lib/CSSProperty.js +6 -0
  6. package/lib/CSSPropertyOperations.js +31 -15
  7. package/lib/CallbackQueue.js +3 -2
  8. package/lib/DOMChildrenOperations.js +0 -3
  9. package/lib/DOMLazyTree.js +11 -2
  10. package/lib/DOMPropertyOperations.js +0 -46
  11. package/lib/EventPluginUtils.js +2 -2
  12. package/lib/FallbackCompositionState.js +3 -2
  13. package/lib/HTMLDOMPropertyConfig.js +111 -111
  14. package/lib/IOSDefaultEventPluginOrder.js +16 -0
  15. package/lib/IOSNativeBridgeEventPlugin.js +57 -0
  16. package/lib/NativeMethodsMixin.js +165 -0
  17. package/lib/OrderedMap.js +3 -2
  18. package/lib/PanResponder.js +362 -0
  19. package/lib/React.js +68 -9
  20. package/lib/ReactBrowserEventEmitter.js +3 -2
  21. package/lib/ReactCSSTransitionGroup.js +3 -3
  22. package/lib/ReactClass.js +7 -6
  23. package/lib/ReactComponent.js +2 -2
  24. package/lib/ReactCompositeComponent.js +5 -4
  25. package/lib/ReactDOMComponent.js +14 -15
  26. package/lib/ReactDOMDebugTool.js +0 -8
  27. package/lib/ReactDOMEmptyComponent.js +3 -3
  28. package/lib/ReactDOMInput.js +5 -4
  29. package/lib/ReactDOMOption.js +13 -2
  30. package/lib/ReactDOMSelect.js +3 -2
  31. package/lib/ReactDOMTextComponent.js +3 -2
  32. package/lib/ReactDOMTextarea.js +3 -2
  33. package/lib/ReactDebugInstanceMap.js +102 -0
  34. package/lib/ReactDefaultBatchingStrategy.js +3 -2
  35. package/lib/ReactDefaultPerf.js +46 -7
  36. package/lib/ReactDefaultPerfAnalysis.js +7 -7
  37. package/lib/ReactElement.js +5 -4
  38. package/lib/ReactEventListener.js +3 -2
  39. package/lib/ReactMarkupChecksum.js +7 -2
  40. package/lib/ReactMount.js +1 -0
  41. package/lib/ReactNative.js +71 -0
  42. package/lib/ReactNativeAttributePayload.js +397 -0
  43. package/lib/ReactNativeBaseComponent.js +196 -0
  44. package/lib/ReactNativeComponent.js +3 -2
  45. package/lib/ReactNativeComponentEnvironment.js +38 -0
  46. package/lib/ReactNativeComponentTree.js +66 -0
  47. package/lib/ReactNativeContainerInfo.js +21 -0
  48. package/lib/ReactNativeDOMIDOperations.js +83 -0
  49. package/lib/ReactNativeDefaultInjection.js +99 -0
  50. package/lib/ReactNativeEventEmitter.js +180 -0
  51. package/lib/ReactNativeGlobalInteractionHandler.js +33 -0
  52. package/lib/ReactNativeGlobalResponderHandler.js +25 -0
  53. package/lib/ReactNativeMount.js +190 -0
  54. package/lib/ReactNativePropRegistry.js +52 -0
  55. package/lib/ReactNativeReconcileTransaction.js +100 -0
  56. package/lib/ReactNativeTagHandles.js +54 -0
  57. package/lib/ReactNativeTextComponent.js +70 -0
  58. package/lib/ReactNativeTreeTraversal.js +127 -0
  59. package/lib/ReactOwner.js +4 -3
  60. package/lib/ReactPropTransferer.js +4 -3
  61. package/lib/ReactReconcileTransaction.js +3 -3
  62. package/lib/ReactServerRenderingTransaction.js +3 -3
  63. package/lib/ReactSimpleEmptyComponent.js +3 -3
  64. package/lib/ReactTestUtils.js +14 -4
  65. package/lib/ReactTransitionGroup.js +3 -2
  66. package/lib/ReactUMDEntry.js +26 -0
  67. package/lib/ReactUpdateQueue.js +20 -3
  68. package/lib/ReactUpdates.js +3 -2
  69. package/lib/ReactVersion.js +1 -1
  70. package/lib/ReactWithAddons.js +0 -7
  71. package/lib/ReactWithAddonsUMDEntry.js +26 -0
  72. package/lib/ResponderSyntheticEvent.js +1 -1
  73. package/lib/SVGDOMPropertyConfig.js +266 -52
  74. package/lib/SyntheticEvent.js +5 -4
  75. package/lib/TouchHistoryMath.js +99 -0
  76. package/lib/createReactNativeComponentClass.js +42 -0
  77. package/lib/deprecated.js +3 -2
  78. package/lib/findNodeHandle.js +89 -0
  79. package/lib/instantiateReactComponent.js +3 -2
  80. package/lib/reactComponentExpect.js +3 -2
  81. package/lib/setInnerHTML.js +1 -0
  82. package/lib/update.js +4 -3
  83. package/lib/validateDOMNesting.js +3 -2
  84. package/package.json +5 -4
  85. package/addons.js +0 -15
  86. package/lib/Object.assign.js +0 -47
  87. package/lib/React.native.js +0 -5
  88. package/lib/ReactDOM.native.js +0 -12
  89. package/lib/ReactDOMSVGDeprecatedAttributeDevtool.js +0 -61
  90. package/lib/ReactIsomorphic.js +0 -74
@@ -11,15 +11,15 @@
11
11
 
12
12
  'use strict';
13
13
 
14
- var ReactReconciler = require('./ReactReconciler');
14
+ var _assign = require('object-assign');
15
15
 
16
- var assign = require('./Object.assign');
16
+ var ReactReconciler = require('./ReactReconciler');
17
17
 
18
18
  var ReactSimpleEmptyComponent = function (placeholderElement, instantiate) {
19
19
  this._currentElement = null;
20
20
  this._renderedComponent = instantiate(placeholderElement);
21
21
  };
22
- assign(ReactSimpleEmptyComponent.prototype, {
22
+ _assign(ReactSimpleEmptyComponent.prototype, {
23
23
  mountComponent: function (transaction, nativeParent, nativeContainerInfo, context) {
24
24
  return ReactReconciler.mountComponent(this._renderedComponent, transaction, nativeParent, nativeContainerInfo, context);
25
25
  },
@@ -11,11 +11,14 @@
11
11
 
12
12
  'use strict';
13
13
 
14
+ var _assign = require('object-assign');
15
+
14
16
  var EventConstants = require('./EventConstants');
15
17
  var EventPluginHub = require('./EventPluginHub');
16
18
  var EventPluginRegistry = require('./EventPluginRegistry');
17
19
  var EventPropagators = require('./EventPropagators');
18
20
  var React = require('./React');
21
+ var ReactDefaultInjection = require('./ReactDefaultInjection');
19
22
  var ReactDOM = require('./ReactDOM');
20
23
  var ReactDOMComponentTree = require('./ReactDOMComponentTree');
21
24
  var ReactElement = require('./ReactElement');
@@ -25,7 +28,6 @@ var ReactInstanceMap = require('./ReactInstanceMap');
25
28
  var ReactUpdates = require('./ReactUpdates');
26
29
  var SyntheticEvent = require('./SyntheticEvent');
27
30
 
28
- var assign = require('./Object.assign');
29
31
  var emptyObject = require('fbjs/lib/emptyObject');
30
32
  var findDOMNode = require('./findDOMNode');
31
33
  var invariant = require('fbjs/lib/invariant');
@@ -331,7 +333,7 @@ NoopInternalComponent.prototype = {
331
333
  var ShallowComponentWrapper = function (element) {
332
334
  this.construct(element);
333
335
  };
334
- assign(ShallowComponentWrapper.prototype, ReactCompositeComponent.Mixin, {
336
+ _assign(ShallowComponentWrapper.prototype, ReactCompositeComponent.Mixin, {
335
337
  _instantiateReactComponent: function (element) {
336
338
  return new NoopInternalComponent(element);
337
339
  },
@@ -340,6 +342,11 @@ assign(ShallowComponentWrapper.prototype, ReactCompositeComponent.Mixin, {
340
342
  });
341
343
 
342
344
  ReactShallowRenderer.prototype.render = function (element, context) {
345
+ // Ensure we've done the default injections. This might not be true in the
346
+ // case of a simple test that only requires React and the TestUtils in
347
+ // conjunction with an inline-requires transform.
348
+ ReactDefaultInjection.inject();
349
+
343
350
  !ReactElement.isValidElement(element) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactShallowRenderer render(): Invalid component element.%s', typeof element === 'function' ? ' Instead of passing a component class, make sure to instantiate ' + 'it by passing it to React.createElement.' : '') : invariant(false) : void 0;
344
351
  !(typeof element.type !== 'string') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactShallowRenderer render(): Shallow rendering works only with custom ' + 'components, not primitives (%s). Instead of calling `.render(el)` and ' + 'inspecting the rendered output, look at `el.props` directly instead.', element.type) : invariant(false) : void 0;
345
352
 
@@ -402,7 +409,10 @@ function makeSimulator(eventType) {
402
409
  // We don't use SyntheticEvent.getPooled in order to not have to worry about
403
410
  // properly destroying any properties assigned from `eventData` upon release
404
411
  var event = new SyntheticEvent(dispatchConfig, ReactDOMComponentTree.getInstanceFromNode(node), fakeNativeEvent, node);
405
- assign(event, eventData);
412
+ // Since we aren't using pooling, always persist the event. This will make
413
+ // sure it's marked and won't warn when setting additional properties.
414
+ event.persist();
415
+ _assign(event, eventData);
406
416
 
407
417
  if (dispatchConfig.phasedRegistrationNames) {
408
418
  EventPropagators.accumulateTwoPhaseDispatches(event);
@@ -463,7 +473,7 @@ buildSimulators();
463
473
  function makeNativeSimulator(eventType) {
464
474
  return function (domComponentOrNode, nativeEventData) {
465
475
  var fakeNativeEvent = new Event(eventType);
466
- assign(fakeNativeEvent, nativeEventData);
476
+ _assign(fakeNativeEvent, nativeEventData);
467
477
  if (ReactTestUtils.isDOMComponent(domComponentOrNode)) {
468
478
  ReactTestUtils.simulateNativeEventOnDOMComponent(eventType, domComponentOrNode, fakeNativeEvent);
469
479
  } else if (domComponentOrNode.tagName) {
@@ -11,10 +11,11 @@
11
11
 
12
12
  'use strict';
13
13
 
14
+ var _assign = require('object-assign');
15
+
14
16
  var React = require('./React');
15
17
  var ReactTransitionChildMapping = require('./ReactTransitionChildMapping');
16
18
 
17
- var assign = require('./Object.assign');
18
19
  var emptyFunction = require('fbjs/lib/emptyFunction');
19
20
 
20
21
  var ReactTransitionGroup = React.createClass({
@@ -176,7 +177,7 @@ var ReactTransitionGroup = React.createClass({
176
177
  this.performEnter(key);
177
178
  } else {
178
179
  this.setState(function (state) {
179
- var newChildren = assign({}, state.children);
180
+ var newChildren = _assign({}, state.children);
180
181
  delete newChildren[key];
181
182
  return { children: newChildren };
182
183
  });
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright 2013-present, Facebook, Inc.
3
+ * All rights reserved.
4
+ *
5
+ * This source code is licensed under the BSD-style license found in the
6
+ * LICENSE file in the root directory of this source tree. An additional grant
7
+ * of patent rights can be found in the PATENTS file in the same directory.
8
+ *
9
+ * @providesModule ReactUMDEntry
10
+ */
11
+
12
+ 'use strict';
13
+
14
+ var _assign = require('object-assign');
15
+
16
+ var ReactDOM = require('./ReactDOM');
17
+ var ReactDOMServer = require('./ReactDOMServer');
18
+ var React = require('./React');
19
+
20
+ // `version` will be added here by ReactIsomorphic.
21
+ var ReactUMDEntry = _assign({
22
+ __SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: ReactDOM,
23
+ __SECRET_DOM_SERVER_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: ReactDOMServer
24
+ }, React);
25
+
26
+ module.exports = ReactUMDEntry;
@@ -22,6 +22,19 @@ function enqueueUpdate(internalInstance) {
22
22
  ReactUpdates.enqueueUpdate(internalInstance);
23
23
  }
24
24
 
25
+ function formatUnexpectedArgument(arg) {
26
+ var type = typeof arg;
27
+ if (type !== 'object') {
28
+ return type;
29
+ }
30
+ var displayName = arg.constructor && arg.constructor.name || type;
31
+ var keys = Object.keys(arg);
32
+ if (keys.length > 0 && keys.length < 20) {
33
+ return displayName + ' (keys: ' + keys.join(', ') + ')';
34
+ }
35
+ return displayName;
36
+ }
37
+
25
38
  function getInternalInstanceReadyForUpdate(publicInstance, callerName) {
26
39
  var internalInstance = ReactInstanceMap.get(publicInstance);
27
40
  if (!internalInstance) {
@@ -79,10 +92,11 @@ var ReactUpdateQueue = {
79
92
  *
80
93
  * @param {ReactClass} publicInstance The instance to use as `this` context.
81
94
  * @param {?function} callback Called after state is updated.
95
+ * @param {string} callerName Name of the calling function in the public API.
82
96
  * @internal
83
97
  */
84
- enqueueCallback: function (publicInstance, callback) {
85
- !(typeof callback === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'enqueueCallback(...): You called `setProps`, `replaceProps`, ' + '`setState`, `replaceState`, or `forceUpdate` with a callback of type ' + '%s. A function is expected', typeof callback === 'object' && Object.keys(callback).length && Object.keys(callback).length < 20 ? typeof callback + ' (keys: ' + Object.keys(callback) + ')' : typeof callback) : invariant(false) : void 0;
98
+ enqueueCallback: function (publicInstance, callback, callerName) {
99
+ ReactUpdateQueue.validateCallback(callback, callerName);
86
100
  var internalInstance = getInternalInstanceReadyForUpdate(publicInstance);
87
101
 
88
102
  // Previously we would throw an error if we didn't have an internal
@@ -107,7 +121,6 @@ var ReactUpdateQueue = {
107
121
  },
108
122
 
109
123
  enqueueCallbackInternal: function (internalInstance, callback) {
110
- !(typeof callback === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'enqueueCallback(...): You called `setProps`, `replaceProps`, ' + '`setState`, `replaceState`, or `forceUpdate` with a callback of type ' + '%s. A function is expected', typeof callback === 'object' && Object.keys(callback).length && Object.keys(callback).length < 20 ? typeof callback + ' (keys: ' + Object.keys(callback) + ')' : typeof callback) : invariant(false) : void 0;
111
124
  if (internalInstance._pendingCallbacks) {
112
125
  internalInstance._pendingCallbacks.push(callback);
113
126
  } else {
@@ -191,6 +204,10 @@ var ReactUpdateQueue = {
191
204
  enqueueElementInternal: function (internalInstance, newElement) {
192
205
  internalInstance._pendingElement = newElement;
193
206
  enqueueUpdate(internalInstance);
207
+ },
208
+
209
+ validateCallback: function (callback, callerName) {
210
+ !(!callback || typeof callback === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s(...): Expected the last optional `callback` argument to be a ' + 'function. Instead received: %s.', callerName, formatUnexpectedArgument(callback)) : invariant(false) : void 0;
194
211
  }
195
212
 
196
213
  };
@@ -11,6 +11,8 @@
11
11
 
12
12
  'use strict';
13
13
 
14
+ var _assign = require('object-assign');
15
+
14
16
  var CallbackQueue = require('./CallbackQueue');
15
17
  var PooledClass = require('./PooledClass');
16
18
  var ReactFeatureFlags = require('./ReactFeatureFlags');
@@ -18,7 +20,6 @@ var ReactPerf = require('./ReactPerf');
18
20
  var ReactReconciler = require('./ReactReconciler');
19
21
  var Transaction = require('./Transaction');
20
22
 
21
- var assign = require('./Object.assign');
22
23
  var invariant = require('fbjs/lib/invariant');
23
24
 
24
25
  var dirtyComponents = [];
@@ -69,7 +70,7 @@ function ReactUpdatesFlushTransaction() {
69
70
  /* useCreateElement */true);
70
71
  }
71
72
 
72
- assign(ReactUpdatesFlushTransaction.prototype, Transaction.Mixin, {
73
+ _assign(ReactUpdatesFlushTransaction.prototype, Transaction.Mixin, {
73
74
  getTransactionWrappers: function () {
74
75
  return TRANSACTION_WRAPPERS;
75
76
  },
@@ -11,4 +11,4 @@
11
11
 
12
12
  'use strict';
13
13
 
14
- module.exports = '15.0.0-rc.1';
14
+ module.exports = '15.0.2-alpha.1';
@@ -9,13 +9,6 @@
9
9
  * @providesModule ReactWithAddons
10
10
  */
11
11
 
12
- /**
13
- * This module exists purely in the open source project, and is meant as a way
14
- * to create a separate standalone build of React. This build has "addons", or
15
- * functionality we've built and think might be useful but doesn't have a good
16
- * place to live inside React core.
17
- */
18
-
19
12
  'use strict';
20
13
 
21
14
  var LinkedStateMixin = require('./LinkedStateMixin');
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Copyright 2013-present, Facebook, Inc.
3
+ * All rights reserved.
4
+ *
5
+ * This source code is licensed under the BSD-style license found in the
6
+ * LICENSE file in the root directory of this source tree. An additional grant
7
+ * of patent rights can be found in the PATENTS file in the same directory.
8
+ *
9
+ * @providesModule ReactWithAddonsUMDEntry
10
+ */
11
+
12
+ 'use strict';
13
+
14
+ var _assign = require('object-assign');
15
+
16
+ var ReactDOM = require('./ReactDOM');
17
+ var ReactDOMServer = require('./ReactDOMServer');
18
+ var ReactWithAddons = require('./ReactWithAddons');
19
+
20
+ // `version` will be added here by ReactIsomorphic.
21
+ var ReactWithAddonsUMDEntry = _assign({
22
+ __SECRET_DOM_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: ReactDOM,
23
+ __SECRET_DOM_SERVER_DO_NOT_USE_OR_YOU_WILL_BE_FIRED: ReactDOMServer
24
+ }, ReactWithAddons);
25
+
26
+ module.exports = ReactWithAddonsUMDEntry;
@@ -31,7 +31,7 @@ var ResponderEventInterface = {
31
31
  * @extends {SyntheticEvent}
32
32
  */
33
33
  function ResponderSyntheticEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) {
34
- SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
34
+ return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget);
35
35
  }
36
36
 
37
37
  SyntheticEvent.augmentClass(ResponderSyntheticEvent, ResponderEventInterface);
@@ -16,33 +16,265 @@ var NS = {
16
16
  xml: 'http://www.w3.org/XML/1998/namespace'
17
17
  };
18
18
 
19
+ // We use attributes for everything SVG so let's avoid some duplication and run
20
+ // code instead.
21
+ // The following are all specified in the HTML config already so we exclude here.
22
+ // - class (as className)
23
+ // - color
24
+ // - height
25
+ // - id
26
+ // - lang
27
+ // - max
28
+ // - media
29
+ // - method
30
+ // - min
31
+ // - name
32
+ // - style
33
+ // - target
34
+ // - type
35
+ // - width
36
+ var ATTRS = {
37
+ accentHeight: 'accent-height',
38
+ accumulate: 0,
39
+ additive: 0,
40
+ alignmentBaseline: 'alignment-baseline',
41
+ allowReorder: 'allowReorder',
42
+ alphabetic: 0,
43
+ amplitude: 0,
44
+ arabicForm: 'arabic-form',
45
+ ascent: 0,
46
+ attributeName: 'attributeName',
47
+ attributeType: 'attributeType',
48
+ autoReverse: 'autoReverse',
49
+ azimuth: 0,
50
+ baseFrequency: 'baseFrequency',
51
+ baseProfile: 'baseProfile',
52
+ baselineShift: 'baseline-shift',
53
+ bbox: 0,
54
+ begin: 0,
55
+ bias: 0,
56
+ by: 0,
57
+ calcMode: 'calcMode',
58
+ capHeight: 'cap-height',
59
+ clip: 0,
60
+ clipPath: 'clip-path',
61
+ clipRule: 'clip-rule',
62
+ clipPathUnits: 'clipPathUnits',
63
+ colorInterpolation: 'color-interpolation',
64
+ colorInterpolationFilters: 'color-interpolation-filters',
65
+ colorProfile: 'color-profile',
66
+ colorRendering: 'color-rendering',
67
+ contentScriptType: 'contentScriptType',
68
+ contentStyleType: 'contentStyleType',
69
+ cursor: 0,
70
+ cx: 0,
71
+ cy: 0,
72
+ d: 0,
73
+ decelerate: 0,
74
+ descent: 0,
75
+ diffuseConstant: 'diffuseConstant',
76
+ direction: 0,
77
+ display: 0,
78
+ divisor: 0,
79
+ dominantBaseline: 'dominant-baseline',
80
+ dur: 0,
81
+ dx: 0,
82
+ dy: 0,
83
+ edgeMode: 'edgeMode',
84
+ elevation: 0,
85
+ enableBackground: 'enable-background',
86
+ end: 0,
87
+ exponent: 0,
88
+ externalResourcesRequired: 'externalResourcesRequired',
89
+ fill: 0,
90
+ fillOpacity: 'fill-opacity',
91
+ fillRule: 'fill-rule',
92
+ filter: 0,
93
+ filterRes: 'filterRes',
94
+ filterUnits: 'filterUnits',
95
+ floodColor: 'flood-color',
96
+ floodOpacity: 'flood-opacity',
97
+ focusable: 0,
98
+ fontFamily: 'font-family',
99
+ fontSize: 'font-size',
100
+ fontSizeAdjust: 'font-size-adjust',
101
+ fontStretch: 'font-stretch',
102
+ fontStyle: 'font-style',
103
+ fontVariant: 'font-variant',
104
+ fontWeight: 'font-weight',
105
+ format: 0,
106
+ from: 0,
107
+ fx: 0,
108
+ fy: 0,
109
+ g1: 0,
110
+ g2: 0,
111
+ glyphName: 'glyph-name',
112
+ glyphOrientationHorizontal: 'glyph-orientation-horizontal',
113
+ glyphOrientationVertical: 'glyph-orientation-vertical',
114
+ glyphRef: 'glyphRef',
115
+ gradientTransform: 'gradientTransform',
116
+ gradientUnits: 'gradientUnits',
117
+ hanging: 0,
118
+ horizAdvX: 'horiz-adv-x',
119
+ horizOriginX: 'horiz-origin-x',
120
+ ideographic: 0,
121
+ imageRendering: 'image-rendering',
122
+ 'in': 0,
123
+ in2: 0,
124
+ intercept: 0,
125
+ k: 0,
126
+ k1: 0,
127
+ k2: 0,
128
+ k3: 0,
129
+ k4: 0,
130
+ kernelMatrix: 'kernelMatrix',
131
+ kernelUnitLength: 'kernelUnitLength',
132
+ kerning: 0,
133
+ keyPoints: 'keyPoints',
134
+ keySplines: 'keySplines',
135
+ keyTimes: 'keyTimes',
136
+ lengthAdjust: 'lengthAdjust',
137
+ letterSpacing: 'letter-spacing',
138
+ lightingColor: 'lighting-color',
139
+ limitingConeAngle: 'limitingConeAngle',
140
+ local: 0,
141
+ markerEnd: 'marker-end',
142
+ markerMid: 'marker-mid',
143
+ markerStart: 'marker-start',
144
+ markerHeight: 'markerHeight',
145
+ markerUnits: 'markerUnits',
146
+ markerWidth: 'markerWidth',
147
+ mask: 0,
148
+ maskContentUnits: 'maskContentUnits',
149
+ maskUnits: 'maskUnits',
150
+ mathematical: 0,
151
+ mode: 0,
152
+ numOctaves: 'numOctaves',
153
+ offset: 0,
154
+ opacity: 0,
155
+ operator: 0,
156
+ order: 0,
157
+ orient: 0,
158
+ orientation: 0,
159
+ origin: 0,
160
+ overflow: 0,
161
+ overlinePosition: 'overline-position',
162
+ overlineThickness: 'overline-thickness',
163
+ paintOrder: 'paint-order',
164
+ panose1: 'panose-1',
165
+ pathLength: 'pathLength',
166
+ patternContentUnits: 'patternContentUnits',
167
+ patternTransform: 'patternTransform',
168
+ patternUnits: 'patternUnits',
169
+ pointerEvents: 'pointer-events',
170
+ points: 0,
171
+ pointsAtX: 'pointsAtX',
172
+ pointsAtY: 'pointsAtY',
173
+ pointsAtZ: 'pointsAtZ',
174
+ preserveAlpha: 'preserveAlpha',
175
+ preserveAspectRatio: 'preserveAspectRatio',
176
+ primitiveUnits: 'primitiveUnits',
177
+ r: 0,
178
+ radius: 0,
179
+ refX: 'refX',
180
+ refY: 'refY',
181
+ renderingIntent: 'rendering-intent',
182
+ repeatCount: 'repeatCount',
183
+ repeatDur: 'repeatDur',
184
+ requiredExtensions: 'requiredExtensions',
185
+ requiredFeatures: 'requiredFeatures',
186
+ restart: 0,
187
+ result: 0,
188
+ rotate: 0,
189
+ rx: 0,
190
+ ry: 0,
191
+ scale: 0,
192
+ seed: 0,
193
+ shapeRendering: 'shape-rendering',
194
+ slope: 0,
195
+ spacing: 0,
196
+ specularConstant: 'specularConstant',
197
+ specularExponent: 'specularExponent',
198
+ speed: 0,
199
+ spreadMethod: 'spreadMethod',
200
+ startOffset: 'startOffset',
201
+ stdDeviation: 'stdDeviation',
202
+ stemh: 0,
203
+ stemv: 0,
204
+ stitchTiles: 'stitchTiles',
205
+ stopColor: 'stop-color',
206
+ stopOpacity: 'stop-opacity',
207
+ strikethroughPosition: 'strikethrough-position',
208
+ strikethroughThickness: 'strikethrough-thickness',
209
+ string: 0,
210
+ stroke: 0,
211
+ strokeDasharray: 'stroke-dasharray',
212
+ strokeDashoffset: 'stroke-dashoffset',
213
+ strokeLinecap: 'stroke-linecap',
214
+ strokeLinejoin: 'stroke-linejoin',
215
+ strokeMiterlimit: 'stroke-miterlimit',
216
+ strokeOpacity: 'stroke-opacity',
217
+ strokeWidth: 'stroke-width',
218
+ surfaceScale: 'surfaceScale',
219
+ systemLanguage: 'systemLanguage',
220
+ tableValues: 'tableValues',
221
+ targetX: 'targetX',
222
+ targetY: 'targetY',
223
+ textAnchor: 'text-anchor',
224
+ textDecoration: 'text-decoration',
225
+ textRendering: 'text-rendering',
226
+ textLength: 'textLength',
227
+ to: 0,
228
+ transform: 0,
229
+ u1: 0,
230
+ u2: 0,
231
+ underlinePosition: 'underline-position',
232
+ underlineThickness: 'underline-thickness',
233
+ unicode: 0,
234
+ unicodeBidi: 'unicode-bidi',
235
+ unicodeRange: 'unicode-range',
236
+ unitsPerEm: 'units-per-em',
237
+ vAlphabetic: 'v-alphabetic',
238
+ vHanging: 'v-hanging',
239
+ vIdeographic: 'v-ideographic',
240
+ vMathematical: 'v-mathematical',
241
+ values: 0,
242
+ vectorEffect: 'vector-effect',
243
+ version: 0,
244
+ vertAdvY: 'vert-adv-y',
245
+ vertOriginX: 'vert-origin-x',
246
+ vertOriginY: 'vert-origin-y',
247
+ viewBox: 'viewBox',
248
+ viewTarget: 'viewTarget',
249
+ visibility: 0,
250
+ widths: 0,
251
+ wordSpacing: 'word-spacing',
252
+ writingMode: 'writing-mode',
253
+ x: 0,
254
+ xHeight: 'x-height',
255
+ x1: 0,
256
+ x2: 0,
257
+ xChannelSelector: 'xChannelSelector',
258
+ xlinkActuate: 'xlink:actuate',
259
+ xlinkArcrole: 'xlink:arcrole',
260
+ xlinkHref: 'xlink:href',
261
+ xlinkRole: 'xlink:role',
262
+ xlinkShow: 'xlink:show',
263
+ xlinkTitle: 'xlink:title',
264
+ xlinkType: 'xlink:type',
265
+ xmlBase: 'xml:base',
266
+ xmlLang: 'xml:lang',
267
+ xmlSpace: 'xml:space',
268
+ y: 0,
269
+ y1: 0,
270
+ y2: 0,
271
+ yChannelSelector: 'yChannelSelector',
272
+ z: 0,
273
+ zoomAndPan: 'zoomAndPan'
274
+ };
275
+
19
276
  var SVGDOMPropertyConfig = {
20
- Properties: {
21
- clipPath: null,
22
- fillOpacity: null,
23
- fontFamily: null,
24
- fontSize: null,
25
- markerEnd: null,
26
- markerMid: null,
27
- markerStart: null,
28
- stopColor: null,
29
- stopOpacity: null,
30
- strokeDasharray: null,
31
- strokeLinecap: null,
32
- strokeOpacity: null,
33
- strokeWidth: null,
34
- textAnchor: null,
35
- xlinkActuate: null,
36
- xlinkArcrole: null,
37
- xlinkHref: null,
38
- xlinkRole: null,
39
- xlinkShow: null,
40
- xlinkTitle: null,
41
- xlinkType: null,
42
- xmlBase: null,
43
- xmlLang: null,
44
- xmlSpace: null
45
- },
277
+ Properties: {},
46
278
  DOMAttributeNamespaces: {
47
279
  xlinkActuate: NS.xlink,
48
280
  xlinkArcrole: NS.xlink,
@@ -55,32 +287,14 @@ var SVGDOMPropertyConfig = {
55
287
  xmlLang: NS.xml,
56
288
  xmlSpace: NS.xml
57
289
  },
58
- DOMAttributeNames: {
59
- clipPath: 'clip-path',
60
- fillOpacity: 'fill-opacity',
61
- fontFamily: 'font-family',
62
- fontSize: 'font-size',
63
- markerEnd: 'marker-end',
64
- markerMid: 'marker-mid',
65
- markerStart: 'marker-start',
66
- stopColor: 'stop-color',
67
- stopOpacity: 'stop-opacity',
68
- strokeDasharray: 'stroke-dasharray',
69
- strokeLinecap: 'stroke-linecap',
70
- strokeOpacity: 'stroke-opacity',
71
- strokeWidth: 'stroke-width',
72
- textAnchor: 'text-anchor',
73
- xlinkActuate: 'xlink:actuate',
74
- xlinkArcrole: 'xlink:arcrole',
75
- xlinkHref: 'xlink:href',
76
- xlinkRole: 'xlink:role',
77
- xlinkShow: 'xlink:show',
78
- xlinkTitle: 'xlink:title',
79
- xlinkType: 'xlink:type',
80
- xmlBase: 'xml:base',
81
- xmlLang: 'xml:lang',
82
- xmlSpace: 'xml:space'
83
- }
290
+ DOMAttributeNames: {}
84
291
  };
85
292
 
293
+ Object.keys(ATTRS).map(function (key) {
294
+ SVGDOMPropertyConfig.Properties[key] = 0;
295
+ if (ATTRS[key]) {
296
+ SVGDOMPropertyConfig.DOMAttributeNames[key] = ATTRS[key];
297
+ }
298
+ });
299
+
86
300
  module.exports = SVGDOMPropertyConfig;