isomorfeus-react 16.13.10 → 16.13.11
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.
- checksums.yaml +4 -4
- data/README.md +2 -10
- data/lib/isomorfeus-react-native.rb +5 -0
- data/lib/isomorfeus-react-paper.rb +4 -0
- data/lib/isomorfeus-react.rb +6 -4
- data/lib/isomorfeus/props/validator.rb +2 -2
- data/lib/isomorfeus/{react_config.rb → react/config.rb} +0 -0
- data/lib/isomorfeus/react/memcached_component_cache.rb +19 -0
- data/lib/isomorfeus/react/redis_component_cache.rb +19 -0
- data/lib/isomorfeus/{thread_local_component_cache.rb → react/thread_local_component_cache.rb} +0 -0
- data/lib/isomorfeus_react/lucid_app/mixin.rb +1 -0
- data/lib/isomorfeus_react/lucid_app/native_component_constructor.rb +0 -1
- data/lib/isomorfeus_react/lucid_component/api.rb +0 -27
- data/lib/isomorfeus_react/lucid_component/mixin.rb +1 -0
- data/lib/isomorfeus_react/lucid_component/styles_api.rb +34 -0
- data/lib/isomorfeus_react/lucid_func/mixin.rb +1 -0
- data/lib/isomorfeus_react/react/function_component/api.rb +7 -6
- data/lib/isomorfeus_react_material/lucid_material/app/mixin.rb +1 -0
- data/lib/isomorfeus_react_material/lucid_material/app/native_component_constructor.rb +0 -1
- data/lib/isomorfeus_react_material/lucid_material/component/mixin.rb +1 -0
- data/lib/isomorfeus_react_material/lucid_material/func/mixin.rb +1 -0
- data/lib/isomorfeus_react_paper/lucid_paper/app/base.rb +9 -0
- data/lib/isomorfeus_react_paper/lucid_paper/app/mixin.rb +19 -0
- data/lib/isomorfeus_react_paper/lucid_paper/app/native_component_constructor.rb +32 -0
- data/lib/isomorfeus_react_paper/lucid_paper/component/base.rb +9 -0
- data/lib/isomorfeus_react_paper/lucid_paper/component/mixin.rb +18 -0
- data/lib/isomorfeus_react_paper/lucid_paper/component/native_component_constructor.rb +25 -0
- data/lib/isomorfeus_react_paper/lucid_paper/func/base.rb +9 -0
- data/lib/isomorfeus_react_paper/lucid_paper/func/mixin.rb +14 -0
- data/lib/isomorfeus_react_paper/lucid_paper/func/native_component_constructor.rb +71 -0
- data/lib/react.rb +6 -5
- data/lib/react/component/api.rb +5 -4
- data/lib/react/version.rb +1 -1
- data/lib/react_native/component/elements.rb +203 -0
- data/lib/react_native/lucid_app/react_native_component_constructor.rb +51 -0
- data/lib/react_native/lucid_component/react_native_component_constructor.rb +37 -0
- data/lib/react_native/lucid_func/react_native_component_constructor.rb +82 -0
- data/lib/react_native/react.rb +120 -0
- metadata +69 -22
@@ -0,0 +1,82 @@
|
|
1
|
+
module LucidFunc
|
2
|
+
module ReactNativeComponentConstructor
|
3
|
+
def self.extended(base)
|
4
|
+
component_name = base.to_s
|
5
|
+
%x{
|
6
|
+
base.store_updates = true;
|
7
|
+
base.equality_checker = null;
|
8
|
+
base.instance_init = function(initial) {
|
9
|
+
let ruby_state = { instance: #{base.new(`{}`)} };
|
10
|
+
ruby_state.instance.__ruby_instance = ruby_state.instance;
|
11
|
+
ruby_state.instance.data_access = function() { return this.props.store; }
|
12
|
+
ruby_state.instance.data_access.bind(ruby_state.instance);
|
13
|
+
return ruby_state;
|
14
|
+
}
|
15
|
+
base.instance_reducer = function(state, action) { return state; }
|
16
|
+
base.react_component = Opal.global.React.memo(function(props) {
|
17
|
+
const og = Opal.global;
|
18
|
+
const oper = Opal.React;
|
19
|
+
oper.render_buffer.push([]);
|
20
|
+
// console.log("function pushed", oper.render_buffer, oper.render_buffer.toString());
|
21
|
+
// Lucid functionality
|
22
|
+
let classes = null;
|
23
|
+
let store;
|
24
|
+
if (base.store_updates) { store = og.React.useContext(og.LucidApplicationContext); }
|
25
|
+
let theme = og.ReactJSS.useTheme();
|
26
|
+
if (base.jss_styles) {
|
27
|
+
if (!base.use_styles || (Opal.Isomorfeus.development === true)) {
|
28
|
+
let styles;
|
29
|
+
if (typeof base.jss_styles === 'function') { styles = base.jss_styles(theme); }
|
30
|
+
else { styles = base.jss_styles; }
|
31
|
+
base.use_styles = og.ReactJSS.createUseStyles(styles);
|
32
|
+
}
|
33
|
+
classes = base.use_styles();
|
34
|
+
}
|
35
|
+
// prepare Ruby instance
|
36
|
+
const [__ruby_state, __ruby_dispatch] = og.React.useReducer(base.instance_reducer, null, base.instance_init);
|
37
|
+
const __ruby_instance = __ruby_state.instance;
|
38
|
+
__ruby_instance.props = Object.assign({}, props);
|
39
|
+
__ruby_instance.props.store = store;
|
40
|
+
__ruby_instance.props.theme = theme;
|
41
|
+
__ruby_instance.props.classes = classes;
|
42
|
+
oper.active_components.push(__ruby_instance);
|
43
|
+
oper.active_redux_components.push(__ruby_instance);
|
44
|
+
let block_result = #{`__ruby_instance`.instance_exec(&`base.render_block`)};
|
45
|
+
if (block_result && block_result !== nil) { oper.render_block_result(block_result); }
|
46
|
+
oper.active_redux_components.pop();
|
47
|
+
oper.active_components.pop();
|
48
|
+
// console.log("function popping", oper.render_buffer, oper.render_buffer.toString());
|
49
|
+
let result = oper.render_buffer.pop();
|
50
|
+
if (result.length === 1) { return result[0]; }
|
51
|
+
return result;
|
52
|
+
}, base.equality_checker);
|
53
|
+
base.react_component.displayName = #{component_name};
|
54
|
+
}
|
55
|
+
|
56
|
+
base_module = base.to_s.deconstantize
|
57
|
+
if base_module != ''
|
58
|
+
base_module.constantize.define_singleton_method(base.to_s.demodulize) do |*args, &block|
|
59
|
+
`Opal.React.internal_prepare_args_and_render(#{base}.react_component, args, block)`
|
60
|
+
end
|
61
|
+
else
|
62
|
+
Object.define_method(base.to_s) do |*args, &block|
|
63
|
+
`Opal.React.internal_prepare_args_and_render(#{base}.react_component, args, block)`
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
def props_are_equal?(&block)
|
68
|
+
%x{
|
69
|
+
base.equality_checker = function (prev_props, next_props) {
|
70
|
+
var prev_ruby_props = Opal.React.Component.Props.$new({props: prev_props});
|
71
|
+
var next_ruby_props = Opal.React.Component.Props.$new({props: next_props});
|
72
|
+
return #{block.call(`prev_ruby_props`, `next_ruby_props`)};
|
73
|
+
}
|
74
|
+
}
|
75
|
+
end
|
76
|
+
|
77
|
+
def render(&block)
|
78
|
+
`base.render_block = #{block}`
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
@@ -0,0 +1,120 @@
|
|
1
|
+
module React
|
2
|
+
%x{
|
3
|
+
self.prop_dictionary = {
|
4
|
+
on_click: 'onPress',
|
5
|
+
onClick: 'onPress',
|
6
|
+
on_touch: 'onPress',
|
7
|
+
onTouch: 'onPress',
|
8
|
+
on_change: 'onChangeText',
|
9
|
+
onChange: 'onChangeText',
|
10
|
+
on_blur: 'onSubmitText',
|
11
|
+
onBlur: 'onSubmitText',
|
12
|
+
};
|
13
|
+
|
14
|
+
self.to_native_react_props = function(ruby_style_props) {
|
15
|
+
let result = {};
|
16
|
+
let keys = ruby_style_props.$$keys;
|
17
|
+
let keys_length = keys.length;
|
18
|
+
let key = '';
|
19
|
+
for (let i = 0; i < keys_length; i++) {
|
20
|
+
key = keys[i];
|
21
|
+
let value = ruby_style_props.$$smap[key];
|
22
|
+
if (key[0] === 'o' && key[1] === 'n' && key[2] === '_') {
|
23
|
+
let type = typeof value;
|
24
|
+
if (type === "function") {
|
25
|
+
let active_c = self.active_component();
|
26
|
+
result[self.lower_camelize(key)] = function(event, info) {
|
27
|
+
let ruby_event = self.native_to_ruby_event(event);
|
28
|
+
#{`active_c.__ruby_instance`.instance_exec(`ruby_event`, `info`, &`value`)};
|
29
|
+
}
|
30
|
+
} else if (type === "object" && typeof value.$call === "function" ) {
|
31
|
+
if (!value.react_event_handler_function) {
|
32
|
+
value.react_event_handler_function = function(event, info) {
|
33
|
+
let ruby_event = self.native_to_ruby_event(event);
|
34
|
+
value.$call(ruby_event, info)
|
35
|
+
};
|
36
|
+
}
|
37
|
+
result[self.lower_camelize(key)] = value.react_event_handler_function;
|
38
|
+
} else if (type === "string" ) {
|
39
|
+
let active_component = self.active_component();
|
40
|
+
let method_ref;
|
41
|
+
let method_name = '$' + value;
|
42
|
+
if (typeof active_component[method_name] === "function") {
|
43
|
+
// got a ruby instance
|
44
|
+
if (active_component.native && active_component.native.method_refs && active_component.native.method_refs[value]) { method_ref = active_component.native.method_refs[value]; } // ruby instance with native
|
45
|
+
else if (active_component.method_refs && active_component.method_refs[value]) { method_ref = active_component.method_refs[value]; } // ruby function component
|
46
|
+
else { method_ref = active_component.$method_ref(value); } // create the ref
|
47
|
+
} else if (typeof active_component.__ruby_instance[method_name] === "function") {
|
48
|
+
// got a native instance
|
49
|
+
if (active_component.method_refs && active_component.method_refs[value]) { method_ref = active_component.method_refs[value]; }
|
50
|
+
else { method_ref = active_component.__ruby_instance.$method_ref(value); } // create ref for native
|
51
|
+
}
|
52
|
+
if (method_ref) {
|
53
|
+
if (!method_ref.react_event_handler_function) {
|
54
|
+
method_ref.react_event_handler_function = function(event, info) {
|
55
|
+
let ruby_event = self.native_to_ruby_event(event);
|
56
|
+
method_ref.$call(ruby_event, info)
|
57
|
+
};
|
58
|
+
}
|
59
|
+
result[self.lower_camelize(key)] = method_ref.react_event_handler_function;
|
60
|
+
} else {
|
61
|
+
let component_name;
|
62
|
+
if (active_component.__ruby_instance) { component_name = active_component.__ruby_instance.$to_s(); }
|
63
|
+
else { component_name = active_component.$to_s(); }
|
64
|
+
#{Isomorfeus.raise_error(message: "Is #{`value`} a valid method of #{`component_name`}? If so then please use: #{`key`}: method_ref(:#{`value`}) within component: #{`component_name`}")}
|
65
|
+
}
|
66
|
+
} else {
|
67
|
+
let active_component = self.active_component();
|
68
|
+
let component_name;
|
69
|
+
if (active_component.__ruby_instance) { component_name = active_component.__ruby_instance.$to_s(); }
|
70
|
+
else { component_name = active_component.$to_s(); }
|
71
|
+
#{Isomorfeus.raise_error(message: "Received invalid value for #{`key`} with #{`value`} within component: #{`component_name`}")}
|
72
|
+
console.error( + key + " event handler:", value, " within component:", self.active_component());
|
73
|
+
}
|
74
|
+
} else if (key[0] === 'a' && key.startsWith("aria_")) {
|
75
|
+
result[key.replace("_", "-")] = value;
|
76
|
+
} else if (key === "style" || key === "theme") {
|
77
|
+
if (typeof value.$to_n === "function") { value = value.$to_n() }
|
78
|
+
result[key] = value;
|
79
|
+
} else {
|
80
|
+
result[self.lower_camelize(key)] = value;
|
81
|
+
}
|
82
|
+
}
|
83
|
+
return result;
|
84
|
+
};
|
85
|
+
|
86
|
+
self.render_block_result = function(block_result, component) {
|
87
|
+
if (block_result.constructor === String || block_result.constructor === Number) {
|
88
|
+
if (component && component === Opal.global.Text) {
|
89
|
+
self.render_buffer[self.render_buffer.length - 1].push(block_result);
|
90
|
+
} else {
|
91
|
+
self.render_buffer[self.render_buffer.length - 1].push(Opal.global.React.createElement(Opal.global.Text, {}, block_result));
|
92
|
+
}
|
93
|
+
}
|
94
|
+
};
|
95
|
+
|
96
|
+
self.internal_render = function(component, props, string_child, block) {
|
97
|
+
const operabu = self.render_buffer;
|
98
|
+
let native_props;
|
99
|
+
if (props && props !== nil) { native_props = self.to_native_react_props(props); }
|
100
|
+
if (string_child) {
|
101
|
+
if (component && component === Opal.global.Text) {
|
102
|
+
operabu[operabu.length - 1].push(Opal.global.React.createElement(component, native_props, string_child));
|
103
|
+
} else {
|
104
|
+
let child = [Opal.global.React.createElement(Opal.global.Text, {}, string_child)];
|
105
|
+
operabu[operabu.length - 1].push(Opal.global.React.createElement(component, native_props, child));
|
106
|
+
}
|
107
|
+
} else if (block && block !== nil) {
|
108
|
+
operabu.push([]);
|
109
|
+
// console.log("internal_render pushed", Opal.React.render_buffer, Opal.React.render_buffer.toString());
|
110
|
+
let block_result = block.$call();
|
111
|
+
if (block_result && block_result !== nil) { Opal.React.render_block_result(block_result, component); }
|
112
|
+
// console.log("internal_render popping", Opal.React.render_buffer, Opal.React.render_buffer.toString());
|
113
|
+
let children = operabu.pop();
|
114
|
+
operabu[operabu.length - 1].push(Opal.global.React.createElement.apply(this, [component, native_props].concat(children)));
|
115
|
+
} else {
|
116
|
+
operabu[operabu.length - 1].push(Opal.global.React.createElement(component, native_props));
|
117
|
+
}
|
118
|
+
};
|
119
|
+
}
|
120
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: isomorfeus-react
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 16.13.
|
4
|
+
version: 16.13.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jan Biedermann
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -16,28 +16,28 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.1.
|
19
|
+
version: 1.1.8
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.1.
|
26
|
+
version: 1.1.8
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: oj
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 3.
|
33
|
+
version: 3.11.0
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 3.
|
40
|
+
version: 3.11.0
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: opal
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,70 +86,98 @@ dependencies:
|
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.
|
89
|
+
version: 0.10.1
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
94
|
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.
|
96
|
+
version: 0.10.1
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: isomorfeus-redux
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
|
-
version: 4.
|
103
|
+
version: 4.1.1
|
104
104
|
type: :runtime
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
108
|
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
|
-
version: 4.
|
110
|
+
version: 4.1.1
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: isomorfeus-speednode
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0.
|
117
|
+
version: 0.3.1
|
118
118
|
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
122
|
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
|
-
version: 0.
|
124
|
+
version: 0.3.1
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: dalli
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 2.7.0
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 2.7.0
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: redis
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 4.2.0
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ">="
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 4.2.0
|
125
153
|
- !ruby/object:Gem::Dependency
|
126
154
|
name: zeitwerk
|
127
155
|
requirement: !ruby/object:Gem::Requirement
|
128
156
|
requirements:
|
129
157
|
- - "~>"
|
130
158
|
- !ruby/object:Gem::Version
|
131
|
-
version: 2.
|
159
|
+
version: 2.4.2
|
132
160
|
type: :runtime
|
133
161
|
prerelease: false
|
134
162
|
version_requirements: !ruby/object:Gem::Requirement
|
135
163
|
requirements:
|
136
164
|
- - "~>"
|
137
165
|
- !ruby/object:Gem::Version
|
138
|
-
version: 2.
|
166
|
+
version: 2.4.2
|
139
167
|
- !ruby/object:Gem::Dependency
|
140
168
|
name: isomorfeus-puppetmaster
|
141
169
|
requirement: !ruby/object:Gem::Requirement
|
142
170
|
requirements:
|
143
171
|
- - "~>"
|
144
172
|
- !ruby/object:Gem::Version
|
145
|
-
version: 0.
|
173
|
+
version: 0.4.0
|
146
174
|
type: :development
|
147
175
|
prerelease: false
|
148
176
|
version_requirements: !ruby/object:Gem::Requirement
|
149
177
|
requirements:
|
150
178
|
- - "~>"
|
151
179
|
- !ruby/object:Gem::Version
|
152
|
-
version: 0.
|
180
|
+
version: 0.4.0
|
153
181
|
- !ruby/object:Gem::Dependency
|
154
182
|
name: rake
|
155
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -195,12 +223,16 @@ files:
|
|
195
223
|
- lib/browser/file_list.rb
|
196
224
|
- lib/browser/iterable.rb
|
197
225
|
- lib/isomorfeus-react-material-ui.rb
|
226
|
+
- lib/isomorfeus-react-native.rb
|
227
|
+
- lib/isomorfeus-react-paper.rb
|
198
228
|
- lib/isomorfeus-react.rb
|
199
229
|
- lib/isomorfeus/props/validate_hash_proxy.rb
|
200
230
|
- lib/isomorfeus/props/validator.rb
|
201
|
-
- lib/isomorfeus/
|
231
|
+
- lib/isomorfeus/react/config.rb
|
232
|
+
- lib/isomorfeus/react/memcached_component_cache.rb
|
233
|
+
- lib/isomorfeus/react/redis_component_cache.rb
|
234
|
+
- lib/isomorfeus/react/thread_local_component_cache.rb
|
202
235
|
- lib/isomorfeus/react_view_helper.rb
|
203
|
-
- lib/isomorfeus/thread_local_component_cache.rb
|
204
236
|
- lib/isomorfeus/top_level.rb
|
205
237
|
- lib/isomorfeus/top_level_ssr.rb
|
206
238
|
- lib/isomorfeus_react/lucid_app/api.rb
|
@@ -217,6 +249,7 @@ files:
|
|
217
249
|
- lib/isomorfeus_react/lucid_component/mixin.rb
|
218
250
|
- lib/isomorfeus_react/lucid_component/native_component_constructor.rb
|
219
251
|
- lib/isomorfeus_react/lucid_component/native_lucid_component_constructor.rb
|
252
|
+
- lib/isomorfeus_react/lucid_component/styles_api.rb
|
220
253
|
- lib/isomorfeus_react/lucid_func/base.rb
|
221
254
|
- lib/isomorfeus_react/lucid_func/initializer.rb
|
222
255
|
- lib/isomorfeus_react/lucid_func/mixin.rb
|
@@ -238,6 +271,15 @@ files:
|
|
238
271
|
- lib/isomorfeus_react_material/lucid_material/func/base.rb
|
239
272
|
- lib/isomorfeus_react_material/lucid_material/func/mixin.rb
|
240
273
|
- lib/isomorfeus_react_material/lucid_material/func/native_component_constructor.rb
|
274
|
+
- lib/isomorfeus_react_paper/lucid_paper/app/base.rb
|
275
|
+
- lib/isomorfeus_react_paper/lucid_paper/app/mixin.rb
|
276
|
+
- lib/isomorfeus_react_paper/lucid_paper/app/native_component_constructor.rb
|
277
|
+
- lib/isomorfeus_react_paper/lucid_paper/component/base.rb
|
278
|
+
- lib/isomorfeus_react_paper/lucid_paper/component/mixin.rb
|
279
|
+
- lib/isomorfeus_react_paper/lucid_paper/component/native_component_constructor.rb
|
280
|
+
- lib/isomorfeus_react_paper/lucid_paper/func/base.rb
|
281
|
+
- lib/isomorfeus_react_paper/lucid_paper/func/mixin.rb
|
282
|
+
- lib/isomorfeus_react_paper/lucid_paper/func/native_component_constructor.rb
|
241
283
|
- lib/lucid_app/context.rb
|
242
284
|
- lib/lucid_prop_declaration/mixin.rb
|
243
285
|
- lib/react.rb
|
@@ -264,12 +306,17 @@ files:
|
|
264
306
|
- lib/react/version.rb
|
265
307
|
- lib/react_dom.rb
|
266
308
|
- lib/react_dom_server.rb
|
309
|
+
- lib/react_native/component/elements.rb
|
310
|
+
- lib/react_native/lucid_app/react_native_component_constructor.rb
|
311
|
+
- lib/react_native/lucid_component/react_native_component_constructor.rb
|
312
|
+
- lib/react_native/lucid_func/react_native_component_constructor.rb
|
313
|
+
- lib/react_native/react.rb
|
267
314
|
homepage: http://isomorfeus.com
|
268
315
|
licenses:
|
269
316
|
- MIT
|
270
317
|
metadata:
|
271
318
|
github_repo: ssh://github.com/isomorfeus/gems
|
272
|
-
post_install_message:
|
319
|
+
post_install_message:
|
273
320
|
rdoc_options: []
|
274
321
|
require_paths:
|
275
322
|
- lib
|
@@ -284,8 +331,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
284
331
|
- !ruby/object:Gem::Version
|
285
332
|
version: '0'
|
286
333
|
requirements: []
|
287
|
-
rubygems_version: 3.
|
288
|
-
signing_key:
|
334
|
+
rubygems_version: 3.2.15
|
335
|
+
signing_key:
|
289
336
|
specification_version: 4
|
290
337
|
summary: React for Opal Ruby.
|
291
338
|
test_files: []
|