isomorfeus-react 16.9.24 → 16.10.0

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 (84) hide show
  1. checksums.yaml +4 -4
  2. metadata +3 -85
  3. data/README.md +0 -64
  4. data/lib/browser/delegate_native.rb +0 -70
  5. data/lib/browser/element.rb +0 -176
  6. data/lib/browser/element/canvas.rb +0 -17
  7. data/lib/browser/element/media.rb +0 -78
  8. data/lib/browser/event.rb +0 -92
  9. data/lib/browser/event_target.rb +0 -39
  10. data/lib/browser/file_list.rb +0 -125
  11. data/lib/browser/iterable.rb +0 -15
  12. data/lib/isomorfeus-react-material-ui.rb +0 -10
  13. data/lib/isomorfeus-react.rb +0 -145
  14. data/lib/isomorfeus/config.rb +0 -130
  15. data/lib/isomorfeus/props/validate_hash_proxy.rb +0 -178
  16. data/lib/isomorfeus/props/validator.rb +0 -131
  17. data/lib/isomorfeus/react_view_helper.rb +0 -130
  18. data/lib/isomorfeus/top_level.rb +0 -86
  19. data/lib/isomorfeus/top_level_ssr.rb +0 -28
  20. data/lib/lucid_app/api.rb +0 -30
  21. data/lib/lucid_app/base.rb +0 -7
  22. data/lib/lucid_app/context.rb +0 -7
  23. data/lib/lucid_app/mixin.rb +0 -20
  24. data/lib/lucid_app/native_component_constructor.rb +0 -105
  25. data/lib/lucid_component/app_store_defaults.rb +0 -36
  26. data/lib/lucid_component/app_store_proxy.rb +0 -38
  27. data/lib/lucid_component/base.rb +0 -7
  28. data/lib/lucid_component/class_store_proxy.rb +0 -41
  29. data/lib/lucid_component/component_class_store_defaults.rb +0 -38
  30. data/lib/lucid_component/component_instance_store_defaults.rb +0 -35
  31. data/lib/lucid_component/event_handler.rb +0 -17
  32. data/lib/lucid_component/initializer.rb +0 -12
  33. data/lib/lucid_component/instance_store_proxy.rb +0 -45
  34. data/lib/lucid_component/mixin.rb +0 -18
  35. data/lib/lucid_component/native_component_constructor.rb +0 -116
  36. data/lib/lucid_component/reducers.rb +0 -48
  37. data/lib/lucid_component/store_api.rb +0 -38
  38. data/lib/lucid_component/styles_support.rb +0 -37
  39. data/lib/lucid_material/app/base.rb +0 -9
  40. data/lib/lucid_material/app/mixin.rb +0 -22
  41. data/lib/lucid_material/app/native_component_constructor.rb +0 -107
  42. data/lib/lucid_material/component/base.rb +0 -9
  43. data/lib/lucid_material/component/mixin.rb +0 -20
  44. data/lib/lucid_material/component/native_component_constructor.rb +0 -118
  45. data/lib/lucid_prop_declaration/mixin.rb +0 -91
  46. data/lib/react.rb +0 -195
  47. data/lib/react/active_support_support.rb +0 -13
  48. data/lib/react/children.rb +0 -35
  49. data/lib/react/component/api.rb +0 -80
  50. data/lib/react/component/base.rb +0 -9
  51. data/lib/react/component/callbacks.rb +0 -106
  52. data/lib/react/component/elements.rb +0 -60
  53. data/lib/react/component/event_handler.rb +0 -19
  54. data/lib/react/component/features.rb +0 -47
  55. data/lib/react/component/history.rb +0 -36
  56. data/lib/react/component/initializer.rb +0 -11
  57. data/lib/react/component/location.rb +0 -15
  58. data/lib/react/component/match.rb +0 -31
  59. data/lib/react/component/mixin.rb +0 -19
  60. data/lib/react/component/native_component_constructor.rb +0 -93
  61. data/lib/react/component/props.rb +0 -59
  62. data/lib/react/component/resolution.rb +0 -70
  63. data/lib/react/component/should_component_update.rb +0 -14
  64. data/lib/react/component/state.rb +0 -52
  65. data/lib/react/component/styles.rb +0 -27
  66. data/lib/react/component/unsafe_api.rb +0 -33
  67. data/lib/react/context_wrapper.rb +0 -46
  68. data/lib/react/function_component/api.rb +0 -63
  69. data/lib/react/function_component/base.rb +0 -9
  70. data/lib/react/function_component/creator.rb +0 -32
  71. data/lib/react/function_component/event_handler.rb +0 -13
  72. data/lib/react/function_component/mixin.rb +0 -14
  73. data/lib/react/function_component/resolution.rb +0 -62
  74. data/lib/react/memo_component/base.rb +0 -9
  75. data/lib/react/memo_component/creator.rb +0 -32
  76. data/lib/react/memo_component/mixin.rb +0 -14
  77. data/lib/react/native_constant_wrapper.rb +0 -26
  78. data/lib/react/pure_component/base.rb +0 -9
  79. data/lib/react/pure_component/mixin.rb +0 -18
  80. data/lib/react/ref.rb +0 -13
  81. data/lib/react/synthetic_event.rb +0 -53
  82. data/lib/react/version.rb +0 -3
  83. data/lib/react_dom.rb +0 -47
  84. data/lib/react_dom_server.rb +0 -19
@@ -1,35 +0,0 @@
1
- module React
2
- module Children
3
- class << self
4
- def count(children)
5
- `Opal.global.React.Children.count(children)`
6
- end
7
-
8
- def for_each(children, &block)
9
- %x{
10
- var fun = function(child) {
11
- #{block.call(child)};
12
- }
13
- Opal.global.React.Children.forEach(children, fun);
14
- }
15
- end
16
-
17
- def map(children, &block)
18
- %x{
19
- var fun = function(child) {
20
- return #{block.call(child)};
21
- }
22
- return Opal.global.React.Children.map(children, fun);
23
- }
24
- end
25
-
26
- def only(children)
27
- `Opal.global.React.Children.only(children)`
28
- end
29
-
30
- def to_array(children)
31
- `Opal.global.React.Children.toArray(children)`
32
- end
33
- end
34
- end
35
- end
@@ -1,80 +0,0 @@
1
- module React
2
- module Component
3
- module API
4
- def self.included(base)
5
- base.instance_exec do
6
- base_module = base.to_s.deconstantize
7
- if base_module != ''
8
- base_module.constantize.define_singleton_method(base.to_s.demodulize) do |*args, &block|
9
- `Opal.React.internal_prepare_args_and_render(#{base}.react_component, args, block)`
10
- end
11
- else
12
- Object.define_method(base.to_s) do |*args, &block|
13
- `Opal.React.internal_prepare_args_and_render(#{base}.react_component, args, block)`
14
- end
15
- end
16
-
17
- attr_accessor :props
18
- attr_accessor :state
19
-
20
- def ref(ref_name, &block)
21
- defined_refs.JS[ref_name] = block_given? ? block : `null`
22
- end
23
-
24
- def defined_refs
25
- @defined_ref ||= `{}`
26
- end
27
-
28
- def default_state_defined
29
- @default_state_defined
30
- end
31
-
32
- def state
33
- return @default_state if @default_state
34
- @default_state_defined = true
35
- %x{
36
- var native_state = {state: {}};
37
- native_state.setState = function(new_state, callback) {
38
- for (var key in new_state) {
39
- this.state[key] = new_state[key];
40
- }
41
- if (callback) { callback.call(); }
42
- }
43
- }
44
- @default_state = React::Component::State.new(`native_state`)
45
- end
46
-
47
- def render(&block)
48
- `base.render_block = block`
49
- end
50
- end
51
- end
52
-
53
- def display_name
54
- @native.JS[:displayName]
55
- end
56
-
57
- def force_update(&block)
58
- if block_given?
59
- # this maybe needs instance_exec too
60
- @native.JS.forceUpdate(`function() { block.$call(); }`)
61
- else
62
- @native.JS.forceUpdate
63
- end
64
- end
65
-
66
- def ref(name)
67
- `#@native[name]`
68
- end
69
-
70
- def ruby_ref(name)
71
- return `#@native[name]` if `(typeof #@native[name] === 'function')`
72
- React::Ref::new(`#@native[name]`)
73
- end
74
-
75
- def set_state(updater, &callback)
76
- @state.set_state(updater, &callback)
77
- end
78
- end
79
- end
80
- end
@@ -1,9 +0,0 @@
1
- module React
2
- module Component
3
- class Base
4
- def self.inherited(base)
5
- base.include(::React::Component::Mixin)
6
- end
7
- end
8
- end
9
- end
@@ -1,106 +0,0 @@
1
- module React
2
- module Component
3
- module Callbacks
4
- def self.included(base)
5
- base.instance_exec do
6
- def component_did_catch(&block)
7
- # TODO convert error and info
8
- %x{
9
- var fun = function(error, info) {
10
- Opal.React.active_redux_components.push(this.__ruby_instance);
11
- #{`this.__ruby_instance`.instance_exec(`error`, `info`, &block)};
12
- Opal.React.active_redux_components.pop();
13
- }
14
- if (self.lucid_react_component) { self.lucid_react_component.prototype.componentDidCatch = fun; }
15
- else { self.react_component.prototype.componentDidCatch = fun; }
16
- }
17
- end
18
-
19
- def component_did_mount(&block)
20
- %x{
21
- var fun = function() {
22
- Opal.React.active_redux_components.push(this.__ruby_instance);
23
- #{`this.__ruby_instance`.instance_exec(&block)};
24
- Opal.React.active_redux_components.pop();
25
- }
26
- if (self.lucid_react_component) { self.lucid_react_component.prototype.componentDidMount = fun; }
27
- else { self.react_component.prototype.componentDidMount = fun; }
28
- }
29
- end
30
-
31
- def component_did_update(&block)
32
- %x{
33
- var fun = function(prev_props, prev_state, snapshot) {
34
- Opal.React.active_redux_components.push(this.__ruby_instance);
35
- #{`this.__ruby_instance`.instance_exec(`Opal.React.Component.Props.$new({props: prev_props})`,
36
- `Opal.React.Component.State.$new({state: prev_state})`,
37
- `snapshot`, &block)};
38
- Opal.React.active_redux_components.pop();
39
- }
40
- if (self.lucid_react_component) { self.lucid_react_component.prototype.componentDidUpdate = fun; }
41
- else { self.react_component.prototype.componentDidUpdate = fun; }
42
- }
43
- end
44
-
45
- def component_will_unmount(&block)
46
- %x{
47
- var fun = function() {
48
- if (typeof this.unsubscriber === "function") { this.unsubscriber(); };
49
- Opal.React.active_redux_components.push(this.__ruby_instance);
50
- #{`this.__ruby_instance`.instance_exec(&block)};
51
- Opal.React.active_redux_components.pop();
52
- }
53
- if (self.lucid_react_component) { self.lucid_react_component.prototype.componentWillUnmount = fun; }
54
- else { self.react_component.prototype.componentWillUnmount = fun; }
55
- }
56
- end
57
-
58
- def get_derived_state_from_error(&block)
59
- # TODO convert error
60
- %x{
61
- var fun = function(error) {
62
- var result = #{`this.__ruby_instance`.instance_exec(`error`, &block)};
63
- if (typeof result.$to_n === 'function') { result = result.$to_n() }
64
- if (result === Opal.nil) { return null; }
65
- return result;
66
- }
67
- if (self.lucid_react_component) { self.lucid_react_component.prototype.getDerivedStateFromError = fun; }
68
- else { self.react_component.prototype.getDerivedStateFromError = fun; }
69
- }
70
- end
71
-
72
- def get_derived_state_from_props(&block)
73
- %x{
74
- var fun = function(props, state) {
75
- Opal.React.active_redux_components.push(this.__ruby_instance);
76
- var result = #{`this.__ruby_instance`.instance_exec(`Opal.React.Component.Props.$new({props: props})`,
77
- `Opal.React.Component.State.$new({state: state})`, &block)};
78
- Opal.React.active_redux_components.pop();
79
- if (typeof result.$to_n === 'function') { result = result.$to_n() }
80
- if (result === Opal.nil) { return null; }
81
- return result;
82
- }
83
- if (self.lucid_react_component) { self.lucid_react_component.prototype.getDerivedStateFromProps = fun; }
84
- else { self.react_component.prototype.getDerivedStateFromProps = fun; }
85
- }
86
- end
87
-
88
- def get_snapshot_before_update(&block)
89
- %x{
90
- var fun = function(prev_props, prev_state) {
91
-
92
- var result = #{`this.__ruby_instance`.instance_exec(`Opal.React.Component.Props.$new({props: prev_props})`,
93
- `Opal.React.Component.State.$new({state: prev_state})`, &block)};
94
- Opal.React.active_redux_components.pop();
95
- if (result === Opal.nil) { return null; }
96
- return result;
97
- }
98
- if (self.lucid_react_component) { self.lucid_react_component.prototype.getSnapshotBeforeUpdate = fun; }
99
- else { self.react_component.prototype.getSnapshotBeforeUpdate = fun; }
100
- }
101
- end
102
- end
103
- end
104
- end
105
- end
106
- end
@@ -1,60 +0,0 @@
1
- module React
2
- module Component
3
- module Elements
4
- # https://www.w3.org/TR/html52/fullindex.html#index-elements
5
- # https://www.w3.org/TR/SVG11/eltindex.html
6
- SUPPORTED_HTML_AND_SVG_ELEMENTS = %w[
7
- a abbr address area article aside audio
8
- b base bdi bdo blockquote body br button
9
- canvas caption cite code col colgroup
10
- data datalist dd del details dfn dialog div dl dt
11
- em embed
12
- fieldset figcaption figure footer form
13
- h1 h2 h3 h4 h5 h6 head header hr html
14
- i iframe img input ins
15
- kbd
16
- label legend li link
17
- main map mark meta meter
18
- nav noscript
19
- object ol optgroup option output
20
- p param picture pre progress
21
- q
22
- rp rt rtc ruby
23
- s samp script section select small source span strong style sub summary sup
24
- table tbody td template textarea tfoot th thead time title tr track
25
- u ul
26
- var video
27
- wbr
28
- altGlyph altGlyphDef altGlyphItem animate animateColor animateMotion animateTransform
29
- circle clipPath color-profile cursor
30
- defs desc
31
- ellipse
32
- feBlend feColorMatrix feComponentTransfer feComposite feConvolveMatrix feDiffuseLighting
33
- feDisplacementMap feDistantLight feFlood feFuncA feFuncB feFuncG feFuncR feGaussianBlur
34
- feImage feMerge feMergeNode feMorphology feOffset fePointLight feSpecularLighting
35
- feSpotLight feTile feTurbulence
36
- filter font font-face font-face-format font-face-name font-face-src font-face-uri foreignObject
37
- g glyph glyphRef
38
- hkern
39
- image
40
- line linearGradient
41
- marker mask metadata missing-glyph mpath
42
- path pattern polygon polyline
43
- radialGradient rect
44
- script set stop style svg switch symbol
45
- text textPath tref tspan
46
- use
47
- view vkern
48
- ]
49
-
50
- SUPPORTED_HTML_AND_SVG_ELEMENTS.each do |element|
51
- define_method(element) do |*args, &block|
52
- `Opal.React.internal_prepare_args_and_render(element, args, block)`
53
- end
54
- define_method(`element.toUpperCase()`) do |*args, &block|
55
- `Opal.React.internal_prepare_args_and_render(element, args, block)`
56
- end
57
- end
58
- end
59
- end
60
- end
@@ -1,19 +0,0 @@
1
- module React
2
- module Component
3
- module EventHandler
4
- def event_handlers
5
- @event_handlers ||= []
6
- end
7
-
8
- def event_handler(name, &block)
9
- event_handlers << name
10
- %x{
11
- self.react_component.prototype[name] = function(event, info) {
12
- #{ruby_event = ::React::SyntheticEvent.new(`event`)};
13
- #{`this.__ruby_instance`.instance_exec(ruby_event, `info`, &block)};
14
- }
15
- }
16
- end
17
- end
18
- end
19
- end
@@ -1,47 +0,0 @@
1
- module React
2
- module Component
3
- module Features
4
- def Fragment(*args, &block)
5
- `Opal.React.internal_prepare_args_and_render(Opal.global.React.Fragment, args, block)`
6
- end
7
-
8
- def Portal(element_or_query, &block)
9
- if `(typeof element_or_query === 'string')` || (`(typeof element_or_query.$class === 'function')` && element_or_query.class == String)
10
- element = `document.body.querySelector(element_or_query)`
11
- elsif `(typeof element_or_query.$is_a === 'function')` && element_or_query.is_a?(Browser::Element)
12
- element = element_or_query.to_n
13
- else
14
- element = element_or_query
15
- end
16
- %x{
17
- Opal.React.render_buffer.push([]);
18
- if (block !== nil) {
19
- let block_result = block.$call()
20
- let last_buffer_length = Opal.React.render_buffer[Opal.React.render_buffer.length - 1].length;
21
- let last_buffer_element = Opal.React.render_buffer[Opal.React.render_buffer.length - 1][last_buffer_length - 1];
22
- if (block_result && block_result !== last_buffer_element && (block_result !== nil && (typeof block_result === "string" || typeof block_result.$$typeof === "symbol" ||
23
- (typeof block_result.constructor !== "undefined" && block_result.constructor === Array && block_result[0] && typeof block_result[0].$$typeof === "symbol")
24
- ))) {
25
- Opal.React.render_buffer[Opal.React.render_buffer.length - 1].push(block_result);
26
- }
27
- }
28
- var react_element = Opal.global.React.createPortal(Opal.React.render_buffer.pop(), element);
29
- Opal.React.render_buffer[Opal.React.render_buffer.length - 1].push(react_element);
30
- return react_element;
31
- }
32
- end
33
-
34
- def Profiler(*args, &block)
35
- `Opal.React.internal_prepare_args_and_render(Opal.global.React.Profiler, args, block)`
36
- end
37
-
38
- def StrictMode(*args, &block)
39
- `Opal.React.internal_prepare_args_and_render(Opal.global.React.StrictMode, args, block)`
40
- end
41
-
42
- def Suspense(*args, &block)
43
- `Opal.React.internal_prepare_args_and_render(Opal.global.React.Suspense, args, block)`
44
- end
45
- end
46
- end
47
- end
@@ -1,36 +0,0 @@
1
- module React
2
- module Component
3
- class History
4
- include ::Native::Wrapper
5
-
6
- alias_native :block, :block
7
- alias_native :create_href, :createHref
8
- alias_native :go, :go
9
- alias_native :go_back, :goBack
10
- alias_native :go_forward, :goForward
11
- alias_native :listen, :listen
12
- alias_native :push, :push
13
- alias_native :replace, :replace
14
-
15
- alias _react_component_hitory_original_method_missing method_missing
16
-
17
- def method_missing(prop, *args, &block)
18
- @native.JS[:params].JS[prop]
19
- end
20
-
21
- def location
22
- return @location if @location
23
- return nil unless @native.JS[:props].JS[:location]
24
- if @native.JS[:props].JS[:location].JS[:pathname]
25
- @location = React::Component::Location.new(@native.JS[:props].JS[:location])
26
- else
27
- @native.JS[:props].JS[:location]
28
- end
29
- end
30
-
31
- def to_n
32
- @native
33
- end
34
- end
35
- end
36
- end
@@ -1,11 +0,0 @@
1
- module React
2
- module Component
3
- module Initializer
4
- def initialize(native_component)
5
- @native = native_component
6
- @props = `Opal.React.Component.Props.$new(#@native)`
7
- @state = `Opal.React.Component.State.$new(#@native)`
8
- end
9
- end
10
- end
11
- end
@@ -1,15 +0,0 @@
1
- module React
2
- module Component
3
- class Location
4
- include ::Native::Wrapper
5
-
6
- def method_missing(prop, *args, &block)
7
- @native.JS[:params].JS[prop]
8
- end
9
-
10
- def to_n
11
- @native
12
- end
13
- end
14
- end
15
- end
@@ -1,31 +0,0 @@
1
- module React
2
- module Component
3
- class Match
4
- include ::Native::Wrapper
5
-
6
- def method_missing(prop, *args, &block)
7
- @native.JS[:params].JS[prop]
8
- end
9
-
10
- def is_exact
11
- @native.JS[:isExact]
12
- end
13
-
14
- def params
15
- self
16
- end
17
-
18
- def path
19
- @native.JS[:path]
20
- end
21
-
22
- def url
23
- @native.JS[:url]
24
- end
25
-
26
- def to_n
27
- @native
28
- end
29
- end
30
- end
31
- end