@tarojs/react 3.6.0-beta.0 → 3.6.0-beta.2
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.
- package/README.md +281 -0
- package/dist/index.js +146 -88
- package/dist/index.js.map +1 -1
- package/dist/react.esm.js +144 -67
- package/dist/react.esm.js.map +1 -1
- package/package.json +3 -4
package/README.md
CHANGED
|
@@ -1,3 +1,284 @@
|
|
|
1
1
|
# @tarojs/react
|
|
2
2
|
|
|
3
3
|
基于 `react-reconciler` 的小程序专用 React 渲染器,连接 `@tarojs/runtime 的 DOM 实例,相当于小程序版的 `react-dom`,暴露的 API 也和 `react-dom` 保持一致。
|
|
4
|
+
|
|
5
|
+
## HostConfig for Taro
|
|
6
|
+
|
|
7
|
+
Taro 对 HostConfig 进行了针对性的改造,以适应小程序环境。现对各字段进行阐述,具体实现以文件 `./src/reconciler.ts` 为准。
|
|
8
|
+
|
|
9
|
+
字段的含义描述来源于 [react-reconciler](https://www.npmjs.com/package/react-reconciler/v/0.27.0)
|
|
10
|
+
|
|
11
|
+
### getPublicInstance(instance)
|
|
12
|
+
|
|
13
|
+
> Determines what object gets exposed as a ref. If you don't want to do anything here, return instance.
|
|
14
|
+
|
|
15
|
+
Taro: 默认返回 instance 即可
|
|
16
|
+
|
|
17
|
+
### getRootHostContext(rootContainer)
|
|
18
|
+
|
|
19
|
+
> This method lets you return the initial host context from the root of the tree. If you don't intend to use host context, you can return null.
|
|
20
|
+
|
|
21
|
+
Taro: 默认返回 {}
|
|
22
|
+
|
|
23
|
+
### getChildHostContext(parentHostContext, type, rootContainer)
|
|
24
|
+
|
|
25
|
+
> Host context lets you track some information about where you are in the tree so that it's available inside createInstance as the hostContext parameter.
|
|
26
|
+
|
|
27
|
+
Taro: 默认返回 {}
|
|
28
|
+
|
|
29
|
+
### resetAfterCommit(containerInfo)
|
|
30
|
+
|
|
31
|
+
> This method is called right after React has performed the tree mutations. You can leave it empty.
|
|
32
|
+
|
|
33
|
+
Taro: 该方法置空
|
|
34
|
+
|
|
35
|
+
### prepareForCommit(containerInfo)
|
|
36
|
+
|
|
37
|
+
> This method lets you store some information before React starts making changes to the tree on the screen.
|
|
38
|
+
|
|
39
|
+
Taro: 返回 null 即可.
|
|
40
|
+
|
|
41
|
+
### createInstance(type, props, rootContainer, hostContext, internalHandle)
|
|
42
|
+
|
|
43
|
+
> This method should return a newly created node. For example, the DOM renderer would call document.createElement(type) here and then set the properties from props.
|
|
44
|
+
|
|
45
|
+
Taro: 在 ReactDOM 中会调用 document.createElement 来生成 dom,而在小程序环境中 Taro 中模拟了 document,直接返回 `document.createElement(type)` 即可
|
|
46
|
+
|
|
47
|
+
> 也因为 Taro 没有使用其他入参,因此方法 getRootHostContext / getChildHostContext 默认返回 {} 即可
|
|
48
|
+
|
|
49
|
+
### appendInitialChild(parentInstance, child)
|
|
50
|
+
|
|
51
|
+
> This method should mutate the parentInstance and add the child to its list of children. For example, in the DOM this would translate to a parentInstance.appendChild(child) call.
|
|
52
|
+
|
|
53
|
+
Taro: 直接 parentInstance.appendChild(child) 即可
|
|
54
|
+
|
|
55
|
+
### finalizeInitialChildren(instance, type, props, rootContainer, hostContext)
|
|
56
|
+
|
|
57
|
+
> In this method, you can perform some final mutations on the instance. There is a second purpose to this method. It lets you specify whether there is some work that needs to happen when the node is connected to the tree on the screen. If you return true, the instance will receive a commitMount call later. See its documentation below.
|
|
58
|
+
|
|
59
|
+
finalizeInitialChildren 在组件挂载到页面中前调用,更新时不会调用.
|
|
60
|
+
|
|
61
|
+
Taro: 遍历 props,更新到 instance 中即可,同时返回false,即不需要调用 `commitMount` 方法
|
|
62
|
+
|
|
63
|
+
#### prepareUpdate(instance, type, oldProps, newProps, rootContainer, hostContext)
|
|
64
|
+
|
|
65
|
+
> React calls this method so that you can compare the previous and the next props, and decide whether you need to update the underlying instance or not. If you need to update it, you can return an arbitrary object representing the changes that need to happen. Then in commitUpdate you would need to apply those changes to the instance.
|
|
66
|
+
|
|
67
|
+
prepareUpdate 的返回结果是 `commitUpdate` 的第二个入参。prepareUpdate 主要作用是render阶段计算出dom的哪些属性需要更新,这样在 commitUpdate 方法在commit阶段中可以快速更新dom,提高性能.
|
|
68
|
+
|
|
69
|
+
Taro: 对比 oldProps、newProps 计算出差异点,返回 `[prop1, value1, prop2, value2, ...]` .
|
|
70
|
+
|
|
71
|
+
### shouldSetTextContent(type, props)
|
|
72
|
+
|
|
73
|
+
> Some target platforms support setting an instance's text content without manually creating a text node.
|
|
74
|
+
|
|
75
|
+
Taro: taro 模拟的 text 支持直接赋值 textContent (`packages/taro-runtime/src/dom/text.ts`),该方法返回 false 即可.
|
|
76
|
+
|
|
77
|
+
> 因返回false,因此 resetTextContent 不会被调用
|
|
78
|
+
|
|
79
|
+
### createTextInstance(text, rootContainer, hostContext, internalHandle)
|
|
80
|
+
|
|
81
|
+
> Same as createInstance, but for text nodes. If your renderer doesn't support text nodes, you can throw here.
|
|
82
|
+
|
|
83
|
+
Taro: 模拟的 document 支持创建 text 节点, 返回 `document.createTextNode(text)` 即可.
|
|
84
|
+
|
|
85
|
+
### scheduleTimeout(fn, delay)
|
|
86
|
+
|
|
87
|
+
> You can proxy this to setTimeout or its equivalent in your environment.
|
|
88
|
+
|
|
89
|
+
Taro: setTimeout
|
|
90
|
+
|
|
91
|
+
### cancelTimeout(id)
|
|
92
|
+
|
|
93
|
+
> You can proxy this to clearTimeout or its equivalent in your environment.
|
|
94
|
+
|
|
95
|
+
Taro: clearTimeout
|
|
96
|
+
|
|
97
|
+
### noTimeout
|
|
98
|
+
|
|
99
|
+
> This is a property (not a function) that should be set to something that can never be a valid timeout ID. For example, you can set it to -1.
|
|
100
|
+
|
|
101
|
+
Taro: -1
|
|
102
|
+
|
|
103
|
+
### isPrimaryRenderer
|
|
104
|
+
|
|
105
|
+
> This is a property (not a function) that should be set to true if your renderer is the main one on the page.
|
|
106
|
+
|
|
107
|
+
Taro: true
|
|
108
|
+
|
|
109
|
+
### warnsIfNotActing
|
|
110
|
+
|
|
111
|
+
> Only used in development mode.
|
|
112
|
+
|
|
113
|
+
Taro: true
|
|
114
|
+
|
|
115
|
+
### supportsMutation
|
|
116
|
+
|
|
117
|
+
> If your target platform is similar to the DOM and has methods similar to appendChild, removeChild, and so on, you'll want to use the mutation mode.
|
|
118
|
+
|
|
119
|
+
Taro: true
|
|
120
|
+
|
|
121
|
+
### supportsPersistence
|
|
122
|
+
|
|
123
|
+
> If your target platform has immutable trees, you'll want the persistent mode instead.
|
|
124
|
+
|
|
125
|
+
Taro: false
|
|
126
|
+
|
|
127
|
+
### supportsHydration
|
|
128
|
+
|
|
129
|
+
> is support hydration
|
|
130
|
+
|
|
131
|
+
Taro: false
|
|
132
|
+
|
|
133
|
+
### getInstanceFromNode(hostRoot)
|
|
134
|
+
|
|
135
|
+
> 自定义获取 instance 的逻辑
|
|
136
|
+
|
|
137
|
+
Taro: 返回 null,React 内部会继续调用 `findFiberRoot` 方法获取.
|
|
138
|
+
|
|
139
|
+
### beforeActiveInstanceBlur
|
|
140
|
+
|
|
141
|
+
> flag enableCreateEventHandleAPI is false, never call it
|
|
142
|
+
|
|
143
|
+
Taro: 置空
|
|
144
|
+
|
|
145
|
+
### afterActiveInstanceBlur
|
|
146
|
+
|
|
147
|
+
> flag enableCreateEventHandleAPI is false, never call it
|
|
148
|
+
|
|
149
|
+
Taro: 置空
|
|
150
|
+
|
|
151
|
+
### preparePortalMount(containerInfo)
|
|
152
|
+
|
|
153
|
+
> This method is called for a container that's used as a portal target. Usually you can leave it empty.
|
|
154
|
+
|
|
155
|
+
Taro: 暂不支持 portal,置空即可
|
|
156
|
+
|
|
157
|
+
### prepareScopeUpdate
|
|
158
|
+
|
|
159
|
+
> flag enableScopeAPI is false, never call it
|
|
160
|
+
|
|
161
|
+
Taro: 置空
|
|
162
|
+
|
|
163
|
+
### getInstanceFromScope
|
|
164
|
+
|
|
165
|
+
> flag enableScopeAPI is false, never call it
|
|
166
|
+
|
|
167
|
+
Taro: 返回 null 即可
|
|
168
|
+
|
|
169
|
+
### getCurrentEventPriority
|
|
170
|
+
|
|
171
|
+
> The constant you return depends on which event, if any, is being handled right now.
|
|
172
|
+
|
|
173
|
+
Taro: 默认为点击事件,返回 `DefaultEventPriority` 即可
|
|
174
|
+
|
|
175
|
+
### detachDeletedInstance
|
|
176
|
+
|
|
177
|
+
> 当 fiber 被标记为 Deletion 时,dom被卸载后,从dom节点上删除 react 初始化的内容,如 __reactProps$xxxx 等. 详见[React源码](https://github.com/facebook/react/blob/973b90bdf6f4a1d9b3864d93985d4a204f233855/packages/react-dom-bindings/src/client/ReactDOMComponentTree.js#L54)
|
|
178
|
+
|
|
179
|
+
Taro: 因taro无法获取到 $xxxx 随机数,因此暂无法实现善后工作,该方法置空. 但可以根据字段是否 `__react` 开头来实现。
|
|
180
|
+
|
|
181
|
+
### supportsMicrotasks
|
|
182
|
+
|
|
183
|
+
> 是否支持微任务
|
|
184
|
+
|
|
185
|
+
Taro: true
|
|
186
|
+
|
|
187
|
+
### scheduleMicrotask
|
|
188
|
+
|
|
189
|
+
> 微任务方法 polyfill
|
|
190
|
+
|
|
191
|
+
Taro: 使用 promise.then 模拟实现,或直接使用 setTimeout
|
|
192
|
+
|
|
193
|
+
**以下字段因 `supportsMutation=true` 而需要被实现**
|
|
194
|
+
### appendChild(parentInstance, child)
|
|
195
|
+
|
|
196
|
+
> This method should mutate the parentInstance and add the child to its list of children.
|
|
197
|
+
|
|
198
|
+
Taro: 调用 `parentInstance.appendChild(child)` 即可
|
|
199
|
+
|
|
200
|
+
### appendChildToContainer(container, child)
|
|
201
|
+
|
|
202
|
+
> Same as appendChild, but for when a node is attached to the root container.
|
|
203
|
+
|
|
204
|
+
Taro: 调用 `parentInstance.appendChild(child)` 即可
|
|
205
|
+
|
|
206
|
+
### commitTextUpdate(textInstance, prevText, nextText)
|
|
207
|
+
|
|
208
|
+
> This method should mutate the textInstance and update its text content to nextText.
|
|
209
|
+
|
|
210
|
+
Taro: 赋值 `textInstance.nodeValue` 即可
|
|
211
|
+
|
|
212
|
+
### commitMount(instance, type, props, internalHandle)
|
|
213
|
+
|
|
214
|
+
> This method is only called if you returned true from finalizeInitialChildren for this instance.
|
|
215
|
+
|
|
216
|
+
Taro: 因 `finalizeInitialChildren` 返回 false,该方法置空
|
|
217
|
+
|
|
218
|
+
### commitUpdate(instance, updatePayload, type, prevProps, nextProps, internalHandle)
|
|
219
|
+
|
|
220
|
+
> This method should mutate the instance according to the set of changes in updatePayload.
|
|
221
|
+
|
|
222
|
+
Taro: 根据 updatePayload,将属性更新到 instance 中,此时 updatePayload 是一个类似 `[prop1, value1, prop2, value2, ...]` 的数组
|
|
223
|
+
|
|
224
|
+
> 如果 updatePayload 为 null,该方法在 React 内部不会被调用
|
|
225
|
+
|
|
226
|
+
### insertBefore(parentInstance, child, beforeChild)
|
|
227
|
+
|
|
228
|
+
> This method should mutate the parentInstance and place the child before beforeChild in the list of its children.
|
|
229
|
+
|
|
230
|
+
Taro: 调用 `parentInstance.insertBefore(child)` 即可
|
|
231
|
+
|
|
232
|
+
### insertInContainerBefore(container, child, beforeChild)
|
|
233
|
+
|
|
234
|
+
> Same as insertBefore, but for when a node is attached to the root container.
|
|
235
|
+
|
|
236
|
+
Taro: 调用 `container.insertBefore(child)` 即可
|
|
237
|
+
|
|
238
|
+
### removeChild(parentInstance, child)
|
|
239
|
+
|
|
240
|
+
> This method should mutate the parentInstance to remove the child from the list of its children.
|
|
241
|
+
|
|
242
|
+
Taro: 调用 `parentInstance.removeChild(child)` 即可
|
|
243
|
+
|
|
244
|
+
### removeChildFromContainer(container, child)
|
|
245
|
+
|
|
246
|
+
> Same as removeChild, but for when a node is detached from the root container.
|
|
247
|
+
|
|
248
|
+
Taro: 调用 `container.removeChild(child)` 即可
|
|
249
|
+
|
|
250
|
+
### resetTextContent(instance)
|
|
251
|
+
|
|
252
|
+
> If you never return true from shouldSetTextContent, you can leave it empty.
|
|
253
|
+
|
|
254
|
+
Taro: 该方法置空
|
|
255
|
+
|
|
256
|
+
### hideInstance(instance)
|
|
257
|
+
|
|
258
|
+
> This method should make the instance invisible without removing it from the tree.
|
|
259
|
+
|
|
260
|
+
Taro: `display` 样式置为 `none` 即可
|
|
261
|
+
|
|
262
|
+
### hideTextInstance(textInstance)
|
|
263
|
+
|
|
264
|
+
> Same as hideInstance, but for nodes created by createTextInstance.
|
|
265
|
+
|
|
266
|
+
Taro: `textInstance.nodeValue = ''` 即可
|
|
267
|
+
|
|
268
|
+
### unhideInstance(instance, props)
|
|
269
|
+
|
|
270
|
+
> This method should make the instance visible, undoing what hideInstance did.
|
|
271
|
+
|
|
272
|
+
Taro: `display` 样式重置即可
|
|
273
|
+
|
|
274
|
+
### unhideTextInstance(textInstance, text)
|
|
275
|
+
|
|
276
|
+
> Same as unhideInstance, but for nodes created by createTextInstance.
|
|
277
|
+
|
|
278
|
+
Taro: `textInstance.nodeValue = text` 即可
|
|
279
|
+
|
|
280
|
+
### clearContainer(container)
|
|
281
|
+
|
|
282
|
+
> This method should mutate the container root node and remove all children from it.
|
|
283
|
+
|
|
284
|
+
Taro: 将 `container` 所有孩子节点 `nodeValue` 置空即可
|
package/dist/index.js
CHANGED
|
@@ -5,48 +5,45 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
5
5
|
var shared = require('@tarojs/shared');
|
|
6
6
|
var runtime = require('@tarojs/runtime');
|
|
7
7
|
var Reconciler = require('react-reconciler');
|
|
8
|
-
var
|
|
8
|
+
var constants = require('react-reconciler/constants');
|
|
9
9
|
|
|
10
10
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
11
|
|
|
12
|
-
function _interopNamespace(e) {
|
|
13
|
-
if (e && e.__esModule) return e;
|
|
14
|
-
var n = Object.create(null);
|
|
15
|
-
if (e) {
|
|
16
|
-
Object.keys(e).forEach(function (k) {
|
|
17
|
-
if (k !== 'default') {
|
|
18
|
-
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
19
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
20
|
-
enumerable: true,
|
|
21
|
-
get: function () { return e[k]; }
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
n["default"] = e;
|
|
27
|
-
return Object.freeze(n);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
12
|
var Reconciler__default = /*#__PURE__*/_interopDefaultLegacy(Reconciler);
|
|
31
|
-
var scheduler__namespace = /*#__PURE__*/_interopNamespace(scheduler);
|
|
32
13
|
|
|
33
14
|
function isEventName(s) {
|
|
34
15
|
return s[0] === 'o' && s[1] === 'n';
|
|
35
16
|
}
|
|
36
17
|
var IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;
|
|
37
18
|
function updateProps(dom, oldProps, newProps) {
|
|
19
|
+
var updatePayload = getUpdatePayload(dom, oldProps, newProps);
|
|
20
|
+
if (updatePayload) {
|
|
21
|
+
updatePropsByPayload(dom, oldProps, updatePayload);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function updatePropsByPayload(dom, oldProps, updatePayload) {
|
|
25
|
+
for (var i = 0; i < updatePayload.length; i += 2) { // key, value 成对出现
|
|
26
|
+
var key = updatePayload[i];
|
|
27
|
+
var newProp = updatePayload[i + 1];
|
|
28
|
+
var oldProp = oldProps[key];
|
|
29
|
+
setProperty(dom, key, newProp, oldProp);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
function getUpdatePayload(dom, oldProps, newProps) {
|
|
38
33
|
var i;
|
|
34
|
+
var updatePayload = null;
|
|
39
35
|
for (i in oldProps) {
|
|
40
36
|
if (!(i in newProps)) {
|
|
41
|
-
|
|
37
|
+
(updatePayload = updatePayload || []).push(i, null);
|
|
42
38
|
}
|
|
43
39
|
}
|
|
44
40
|
var isFormElement = dom instanceof runtime.FormElement;
|
|
45
41
|
for (i in newProps) {
|
|
46
42
|
if (oldProps[i] !== newProps[i] || (isFormElement && i === 'value')) {
|
|
47
|
-
|
|
43
|
+
(updatePayload = updatePayload || []).push(i, newProps[i]);
|
|
48
44
|
}
|
|
49
45
|
}
|
|
46
|
+
return updatePayload;
|
|
50
47
|
}
|
|
51
48
|
// function eventProxy (e: CommonEvent) {
|
|
52
49
|
// const el = document.getElementById(e.currentTarget.id)
|
|
@@ -144,47 +141,92 @@ function setProperty(dom, name, value, oldValue) {
|
|
|
144
141
|
}
|
|
145
142
|
|
|
146
143
|
/* eslint-disable @typescript-eslint/indent */
|
|
147
|
-
var now = scheduler__namespace.unstable_now;
|
|
148
|
-
function returnFalse() {
|
|
149
|
-
return false;
|
|
150
|
-
}
|
|
151
144
|
var hostConfig = {
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
return runtime.document.createTextNode(text);
|
|
157
|
-
},
|
|
145
|
+
// below keys order by {React ReactFiberHostConfig.custom.js}, convenient for comparing each other.
|
|
146
|
+
// -------------------
|
|
147
|
+
// required by @types/react-reconciler
|
|
148
|
+
// -------------------
|
|
158
149
|
getPublicInstance: function getPublicInstance(inst) {
|
|
159
150
|
return inst;
|
|
160
151
|
},
|
|
161
152
|
getRootHostContext: function getRootHostContext() {
|
|
162
153
|
return {};
|
|
163
154
|
},
|
|
164
|
-
getChildHostContext: function getChildHostContext() {
|
|
165
|
-
return
|
|
155
|
+
getChildHostContext: function getChildHostContext(parentHostContext) {
|
|
156
|
+
return parentHostContext;
|
|
166
157
|
},
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
return
|
|
158
|
+
prepareForCommit: function prepareForCommit() {
|
|
159
|
+
|
|
160
|
+
return null;
|
|
170
161
|
},
|
|
171
|
-
|
|
172
|
-
|
|
162
|
+
resetAfterCommit: shared.noop,
|
|
163
|
+
createInstance: function createInstance(type) {
|
|
164
|
+
return runtime.document.createElement(type);
|
|
173
165
|
},
|
|
174
|
-
|
|
166
|
+
appendInitialChild: function appendInitialChild(parent, child) {
|
|
175
167
|
parent.appendChild(child);
|
|
176
168
|
},
|
|
177
|
-
|
|
169
|
+
finalizeInitialChildren: function finalizeInitialChildren(dom, _, props) {
|
|
170
|
+
updateProps(dom, {}, props); // 提前执行更新属性操作,Taro 在 Page 初始化后会立即从 dom 读取必要信息
|
|
171
|
+
return false;
|
|
172
|
+
},
|
|
173
|
+
prepareUpdate: function prepareUpdate(instance, _, oldProps, newProps) {
|
|
174
|
+
return getUpdatePayload(instance, oldProps, newProps);
|
|
175
|
+
},
|
|
176
|
+
shouldSetTextContent: function shouldSetTextContent() {
|
|
177
|
+
return false;
|
|
178
|
+
},
|
|
179
|
+
createTextInstance: function createTextInstance(text) {
|
|
180
|
+
return runtime.document.createTextNode(text);
|
|
181
|
+
},
|
|
182
|
+
scheduleTimeout: setTimeout,
|
|
183
|
+
cancelTimeout: clearTimeout,
|
|
184
|
+
noTimeout: -1,
|
|
185
|
+
isPrimaryRenderer: true,
|
|
186
|
+
warnsIfNotActing: true,
|
|
187
|
+
supportsMutation: true,
|
|
188
|
+
supportsPersistence: false,
|
|
189
|
+
supportsHydration: false,
|
|
190
|
+
getInstanceFromNode: function () { return null; },
|
|
191
|
+
beforeActiveInstanceBlur: shared.noop,
|
|
192
|
+
afterActiveInstanceBlur: shared.noop,
|
|
193
|
+
preparePortalMount: shared.noop,
|
|
194
|
+
prepareScopeUpdate: shared.noop,
|
|
195
|
+
getInstanceFromScope: function () { return null; },
|
|
196
|
+
getCurrentEventPriority: function getCurrentEventPriority() {
|
|
197
|
+
return constants.DefaultEventPriority;
|
|
198
|
+
},
|
|
199
|
+
detachDeletedInstance: shared.noop,
|
|
200
|
+
// -------------------
|
|
201
|
+
// Microtasks
|
|
202
|
+
// (optional)
|
|
203
|
+
// -------------------
|
|
204
|
+
supportsMicrotasks: true,
|
|
205
|
+
scheduleMicrotask: shared.isUndefined(Promise)
|
|
206
|
+
? setTimeout
|
|
207
|
+
: function (callback) { return Promise.resolve(null)
|
|
208
|
+
.then(callback)
|
|
209
|
+
.catch(function (error) {
|
|
210
|
+
setTimeout(function () {
|
|
211
|
+
throw error;
|
|
212
|
+
});
|
|
213
|
+
}); },
|
|
214
|
+
// -------------------
|
|
215
|
+
// Mutation
|
|
216
|
+
// (required if supportsMutation is true)
|
|
217
|
+
// -------------------
|
|
218
|
+
appendChild: function appendChild(parent, child) {
|
|
178
219
|
parent.appendChild(child);
|
|
179
220
|
},
|
|
180
221
|
appendChildToContainer: function appendChildToContainer(parent, child) {
|
|
181
222
|
parent.appendChild(child);
|
|
182
223
|
},
|
|
183
|
-
|
|
184
|
-
|
|
224
|
+
commitTextUpdate: function commitTextUpdate(textInst, _, newText) {
|
|
225
|
+
textInst.nodeValue = newText;
|
|
185
226
|
},
|
|
186
|
-
|
|
187
|
-
|
|
227
|
+
commitMount: shared.noop,
|
|
228
|
+
commitUpdate: function commitUpdate(dom, updatePayload, _, oldProps) {
|
|
229
|
+
updatePropsByPayload(dom, oldProps, updatePayload);
|
|
188
230
|
},
|
|
189
231
|
insertBefore: function insertBefore(parent, child, refChild) {
|
|
190
232
|
parent.insertBefore(child, refChild);
|
|
@@ -192,23 +234,20 @@ var hostConfig = {
|
|
|
192
234
|
insertInContainerBefore: function insertInContainerBefore(parent, child, refChild) {
|
|
193
235
|
parent.insertBefore(child, refChild);
|
|
194
236
|
},
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
},
|
|
198
|
-
finalizeInitialChildren: function finalizeInitialChildren(dom, _, props) {
|
|
199
|
-
updateProps(dom, {}, props);
|
|
200
|
-
return false;
|
|
201
|
-
},
|
|
202
|
-
prepareUpdate: function prepareUpdate() {
|
|
203
|
-
return shared.EMPTY_ARR;
|
|
237
|
+
removeChild: function removeChild(parent, child) {
|
|
238
|
+
parent.removeChild(child);
|
|
204
239
|
},
|
|
205
|
-
|
|
206
|
-
|
|
240
|
+
removeChildFromContainer: function removeChildFromContainer(parent, child) {
|
|
241
|
+
parent.removeChild(child);
|
|
207
242
|
},
|
|
243
|
+
resetTextContent: shared.noop,
|
|
208
244
|
hideInstance: function hideInstance(instance) {
|
|
209
245
|
var style = instance.style;
|
|
210
246
|
style.setProperty('display', 'none');
|
|
211
247
|
},
|
|
248
|
+
hideTextInstance: function hideTextInstance(textInstance) {
|
|
249
|
+
textInstance.nodeValue = '';
|
|
250
|
+
},
|
|
212
251
|
unhideInstance: function unhideInstance(instance, props) {
|
|
213
252
|
var styleProp = props.style;
|
|
214
253
|
var display = (styleProp === null || styleProp === void 0 ? void 0 : styleProp.hasOwnProperty('display')) ? styleProp.display : null;
|
|
@@ -216,55 +255,71 @@ var hostConfig = {
|
|
|
216
255
|
// eslint-disable-next-line dot-notation
|
|
217
256
|
instance.style['display'] = display;
|
|
218
257
|
},
|
|
258
|
+
unhideTextInstance: function unhideTextInstance(textInstance, text) {
|
|
259
|
+
textInstance.nodeValue = text;
|
|
260
|
+
},
|
|
219
261
|
clearContainer: function clearContainer(element) {
|
|
220
262
|
if (element.childNodes.length > 0) {
|
|
221
263
|
element.textContent = '';
|
|
222
264
|
}
|
|
223
265
|
},
|
|
224
|
-
queueMicrotask: !shared.isUndefined(Promise)
|
|
225
|
-
? function (callback) { return Promise.resolve(null)
|
|
226
|
-
.then(callback)
|
|
227
|
-
.catch(function (error) {
|
|
228
|
-
setTimeout(function () {
|
|
229
|
-
throw error;
|
|
230
|
-
});
|
|
231
|
-
}); }
|
|
232
|
-
: setTimeout,
|
|
233
|
-
shouldSetTextContent: returnFalse,
|
|
234
|
-
prepareForCommit: function prepareForCommit() {
|
|
235
|
-
return null; },
|
|
236
|
-
resetAfterCommit: shared.noop,
|
|
237
|
-
commitMount: shared.noop,
|
|
238
|
-
now: now,
|
|
239
|
-
cancelTimeout: clearTimeout,
|
|
240
|
-
scheduleTimeout: setTimeout,
|
|
241
|
-
preparePortalMount: shared.noop,
|
|
242
|
-
noTimeout: -1,
|
|
243
|
-
supportsMutation: true,
|
|
244
|
-
supportsPersistence: false,
|
|
245
|
-
isPrimaryRenderer: true,
|
|
246
|
-
supportsHydration: false
|
|
247
266
|
};
|
|
248
267
|
var TaroReconciler = Reconciler__default["default"](hostConfig);
|
|
249
268
|
if (process.env.NODE_ENV !== 'production') {
|
|
250
269
|
var foundDevTools = TaroReconciler.injectIntoDevTools({
|
|
251
270
|
bundleType: 1,
|
|
252
271
|
version: '18.0.0',
|
|
253
|
-
rendererPackageName: 'taro-react'
|
|
272
|
+
rendererPackageName: 'taro-react',
|
|
254
273
|
});
|
|
255
274
|
if (!foundDevTools) {
|
|
256
275
|
// eslint-disable-next-line no-console
|
|
257
|
-
console.info('%cDownload the React DevTools ' +
|
|
276
|
+
console.info('%cDownload the React DevTools ' +
|
|
277
|
+
'for a better development experience: ' +
|
|
278
|
+
'https://reactjs.org/link/react-devtools', 'font-weight:bold');
|
|
258
279
|
}
|
|
259
280
|
}
|
|
260
281
|
|
|
261
282
|
var ContainerMap = new WeakMap();
|
|
262
|
-
var Root = function Root(renderer, domContainer,
|
|
263
|
-
if ( isConcurrentRoot === void 0 ) isConcurrentRoot = false;
|
|
264
|
-
|
|
283
|
+
var Root = function Root(renderer, domContainer, options) {
|
|
265
284
|
this.renderer = renderer;
|
|
266
|
-
|
|
267
|
-
|
|
285
|
+
this.initInternalRoot(renderer, domContainer, options);
|
|
286
|
+
};
|
|
287
|
+
Root.prototype.initInternalRoot = function initInternalRoot (renderer, domContainer, options) {
|
|
288
|
+
// Since react-reconciler v0.27, createContainer need more parameters
|
|
289
|
+
// @see:https://github.com/facebook/react/blob/0b974418c9a56f6c560298560265dcf4b65784bc/packages/react-reconciler/src/ReactFiberReconciler.js#L248
|
|
290
|
+
var containerInfo = domContainer;
|
|
291
|
+
if (options) {
|
|
292
|
+
var tag = 1; // ConcurrentRoot
|
|
293
|
+
var concurrentUpdatesByDefaultOverride = false;
|
|
294
|
+
var isStrictMode = false;
|
|
295
|
+
var identifierPrefix = '';
|
|
296
|
+
var onRecoverableError = function (error) { return console.error(error); };
|
|
297
|
+
var transitionCallbacks = null;
|
|
298
|
+
if (options.unstable_strictMode === true) {
|
|
299
|
+
isStrictMode = true;
|
|
300
|
+
}
|
|
301
|
+
if (options.identifierPrefix !== undefined) {
|
|
302
|
+
identifierPrefix = options.identifierPrefix;
|
|
303
|
+
}
|
|
304
|
+
if (options.onRecoverableError !== undefined) {
|
|
305
|
+
onRecoverableError = options.onRecoverableError;
|
|
306
|
+
}
|
|
307
|
+
if (options.unstable_transitionCallbacks !== undefined) {
|
|
308
|
+
transitionCallbacks = options.unstable_transitionCallbacks;
|
|
309
|
+
}
|
|
310
|
+
this.internalRoot = renderer.createContainer(containerInfo, tag, null, // hydrationCallbacks
|
|
311
|
+
isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks);
|
|
312
|
+
}
|
|
313
|
+
else {
|
|
314
|
+
var tag$1 = 0; // LegacyRoot
|
|
315
|
+
this.internalRoot = renderer.createContainer(containerInfo, tag$1, null, // hydrationCallbacks
|
|
316
|
+
false, // isStrictMode
|
|
317
|
+
false, // concurrentUpdatesByDefaultOverride,
|
|
318
|
+
'', // identifierPrefix
|
|
319
|
+
function () { }, // onRecoverableError, this isn't reachable because onRecoverableError isn't called in the legacy API.
|
|
320
|
+
null // transitionCallbacks
|
|
321
|
+
);
|
|
322
|
+
}
|
|
268
323
|
};
|
|
269
324
|
Root.prototype.render = function render (children, cb) {
|
|
270
325
|
var ref = this;
|
|
@@ -285,12 +340,15 @@ function render(element, domContainer, cb) {
|
|
|
285
340
|
ContainerMap.set(domContainer, root);
|
|
286
341
|
return root.render(element, cb);
|
|
287
342
|
}
|
|
288
|
-
function createRoot(domContainer) {
|
|
343
|
+
function createRoot(domContainer, options) {
|
|
344
|
+
if ( options === void 0 ) options = {};
|
|
345
|
+
|
|
289
346
|
var oldRoot = ContainerMap.get(domContainer);
|
|
290
347
|
if (oldRoot != null) {
|
|
291
348
|
return oldRoot;
|
|
292
349
|
}
|
|
293
|
-
|
|
350
|
+
// options should be an object
|
|
351
|
+
var root = new Root(TaroReconciler, domContainer, options);
|
|
294
352
|
ContainerMap.set(domContainer, root);
|
|
295
353
|
return root;
|
|
296
354
|
}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../src/props.ts","../src/reconciler.ts","../src/render.ts","../src/index.ts"],"sourcesContent":["import { FormElement, Style, TaroElement } from '@tarojs/runtime'\nimport { capitalize, internalComponents, isFunction, isNumber, isObject, isString, toCamelCase } from '@tarojs/shared'\n\nexport type Props = Record<string, unknown>\n\nfunction isEventName (s: string) {\n return s[0] === 'o' && s[1] === 'n'\n}\n\nconst IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i\n\nexport function updateProps (dom: TaroElement, oldProps: Props, newProps: Props) {\n let i: string\n\n for (i in oldProps) {\n if (!(i in newProps)) {\n setProperty(dom, i, null, oldProps[i])\n }\n }\n const isFormElement = dom instanceof FormElement\n for (i in newProps) {\n if (oldProps[i] !== newProps[i] || (isFormElement && i === 'value')) {\n setProperty(dom, i, newProps[i], oldProps[i])\n }\n }\n}\n\n// function eventProxy (e: CommonEvent) {\n// const el = document.getElementById(e.currentTarget.id)\n// const handlers = el!.__handlers[e.type]\n// handlers[0](e)\n// }\n\nfunction setEvent (dom: TaroElement, name: string, value: unknown, oldValue?: unknown) {\n const isCapture = name.endsWith('Capture')\n let eventName = name.toLowerCase().slice(2)\n if (isCapture) {\n eventName = eventName.slice(0, -7)\n }\n\n const compName = capitalize(toCamelCase(dom.tagName.toLowerCase()))\n\n if (eventName === 'click' && compName in internalComponents) {\n eventName = 'tap'\n }\n\n if (isFunction(value)) {\n if (oldValue) {\n dom.removeEventListener(eventName, oldValue as any, false)\n dom.addEventListener(eventName, value, { isCapture, sideEffect: false })\n } else {\n dom.addEventListener(eventName, value, isCapture)\n }\n } else {\n dom.removeEventListener(eventName, oldValue as any)\n }\n}\n\nfunction setStyle (style: Style, key: string, value: string | number) {\n if (key[0] === '-') {\n style.setProperty(key, value.toString())\n // css variables need not further judgment\n return\n }\n\n style[key] =\n isNumber(value) && IS_NON_DIMENSIONAL.test(key) === false\n ? value + 'px'\n : value == null\n ? ''\n : value\n}\n\ntype StyleValue = Record<string, string | number>\ninterface DangerouslySetInnerHTML {\n __html?: string\n}\n\nfunction setProperty (dom: TaroElement, name: string, value: unknown, oldValue?: unknown) {\n name = name === 'className' ? 'class' : name\n\n if (\n name === 'key' ||\n name === 'children' ||\n name === 'ref'\n ) {\n // skip\n } else if (name === 'style') {\n const style = dom.style\n if (isString(value)) {\n style.cssText = value\n } else {\n if (isString(oldValue)) {\n style.cssText = ''\n oldValue = null\n }\n\n if (isObject<StyleValue>(oldValue)) {\n for (const i in oldValue) {\n if (!(value && i in (value as StyleValue))) {\n setStyle(style, i, '')\n }\n }\n }\n\n if (isObject<StyleValue>(value)) {\n for (const i in value) {\n if (!oldValue || value[i] !== (oldValue as StyleValue)[i]) {\n setStyle(style, i, value[i])\n }\n }\n }\n }\n } else if (isEventName(name)) {\n setEvent(dom, name, value, oldValue)\n } else if (name === 'dangerouslySetInnerHTML') {\n const newHtml = (value as DangerouslySetInnerHTML)?.__html ?? ''\n const oldHtml = (oldValue as DangerouslySetInnerHTML)?.__html ?? ''\n if (newHtml || oldHtml) {\n if (oldHtml !== newHtml) {\n dom.innerHTML = newHtml\n }\n }\n } else if (!isFunction(value)) {\n if (value == null) {\n dom.removeAttribute(name)\n } else {\n dom.setAttribute(name, value as string)\n }\n }\n}\n","/* eslint-disable @typescript-eslint/indent */\nimport { document, TaroElement, TaroText } from '@tarojs/runtime'\nimport { EMPTY_ARR, isBoolean, isUndefined, noop } from '@tarojs/shared'\nimport Reconciler, { HostConfig } from 'react-reconciler'\nimport * as scheduler from 'scheduler'\n\nimport { Props, updateProps } from './props'\n\nconst {\n unstable_now: now\n} = scheduler\n\nfunction returnFalse () {\n return false\n}\n\nconst hostConfig: HostConfig<\n string, // Type\n Props, // Props\n TaroElement, // Container\n TaroElement, // Instance\n TaroText, // TextInstance\n TaroElement, // SuspenseInstance\n TaroElement, // HydratableInstance\n TaroElement, // PublicInstance\n Record<string, any>, // HostContext\n string[], // UpdatePayload\n unknown, // ChildSet\n unknown, // TimeoutHandle\n unknown // NoTimeout\n> & {\n hideInstance (instance: TaroElement): void\n unhideInstance (instance: TaroElement, props): void\n getCurrentEventPriority(): number\n detachDeletedInstance(): void\n} = {\n createInstance (type) {\n return document.createElement(type)\n },\n\n createTextInstance (text) {\n return document.createTextNode(text)\n },\n\n getPublicInstance (inst: TaroElement) {\n return inst\n },\n\n getRootHostContext () {\n return {}\n },\n\n getChildHostContext () {\n return {}\n },\n\n getCurrentEventPriority () {\n // 因 @types/react-reconciler 未更新,ts会报错,这里直接返回16\n return 16 // import { DefaultEventPriority } from 'react-reconciler/constants'\n },\n\n detachDeletedInstance () {\n // noop\n },\n\n appendChild (parent, child) {\n parent.appendChild(child)\n },\n\n appendInitialChild (parent, child) {\n parent.appendChild(child)\n },\n\n appendChildToContainer (parent, child) {\n parent.appendChild(child)\n },\n\n removeChild (parent, child) {\n parent.removeChild(child)\n },\n\n removeChildFromContainer (parent, child) {\n parent.removeChild(child)\n },\n\n insertBefore (parent, child, refChild) {\n parent.insertBefore(child, refChild)\n },\n\n insertInContainerBefore (parent, child, refChild) {\n parent.insertBefore(child, refChild)\n },\n\n commitTextUpdate (textInst, _, newText) {\n textInst.nodeValue = newText\n },\n\n finalizeInitialChildren (dom, _, props) {\n updateProps(dom, {}, props)\n return false\n },\n\n prepareUpdate () {\n return EMPTY_ARR\n },\n\n commitUpdate (dom, _payload, _type, oldProps, newProps) {\n updateProps(dom, oldProps, newProps)\n },\n\n hideInstance (instance) {\n const style = instance.style\n style.setProperty('display', 'none')\n },\n\n unhideInstance (instance, props) {\n const styleProp = props.style\n let display = styleProp?.hasOwnProperty('display') ? styleProp.display : null\n display = display == null || isBoolean(display) || display === '' ? '' : ('' + display).trim()\n // eslint-disable-next-line dot-notation\n instance.style['display'] = display\n },\n\n clearContainer (element) {\n if (element.childNodes.length > 0) {\n element.textContent = ''\n }\n },\n\n queueMicrotask: !isUndefined(Promise)\n ? callback =>\n Promise.resolve(null)\n .then(callback)\n .catch(function (error) {\n setTimeout(() => {\n throw error\n })\n })\n : setTimeout,\n\n shouldSetTextContent: returnFalse,\n prepareForCommit (..._: any[]) { return null },\n resetAfterCommit: noop,\n commitMount: noop,\n now,\n cancelTimeout: clearTimeout,\n scheduleTimeout: setTimeout,\n preparePortalMount: noop,\n noTimeout: -1,\n supportsMutation: true,\n supportsPersistence: false,\n isPrimaryRenderer: true,\n supportsHydration: false\n}\n\nconst TaroReconciler = Reconciler(hostConfig)\n\nif (process.env.NODE_ENV !== 'production') {\n const foundDevTools = TaroReconciler.injectIntoDevTools({\n bundleType: 1,\n version: '18.0.0',\n rendererPackageName: 'taro-react'\n })\n if (!foundDevTools) {\n // eslint-disable-next-line no-console\n console.info('%cDownload the React DevTools ' + 'for a better development experience: ' + 'https://reactjs.org/link/react-devtools', 'font-weight:bold')\n }\n}\n\nexport {\n TaroReconciler\n}\n","import { TaroElement } from '@tarojs/runtime'\nimport { ReactNode } from 'react'\nimport { OpaqueRoot } from 'react-reconciler'\n\nimport { TaroReconciler } from './reconciler'\n\nexport const ContainerMap: WeakMap<TaroElement, Root> = new WeakMap()\n\ntype Renderer = typeof TaroReconciler\n\nexport type Callback = () => void | null | undefined\n\nclass Root {\n private renderer: Renderer\n private internalRoot: OpaqueRoot\n\n public constructor (renderer: Renderer, domContainer: TaroElement, isConcurrentRoot = false) {\n this.renderer = renderer\n /** ConcurrentRoot & LegacyRoot: react-reconciler/src/ReactRootTags.js */\n this.internalRoot = renderer.createContainer(domContainer, isConcurrentRoot ? 1 : 0, false, null)\n }\n\n public render (children: ReactNode, cb: Callback) {\n const { renderer, internalRoot } = this\n renderer.updateContainer(children, internalRoot, null, cb)\n return renderer.getPublicRootInstance(internalRoot)\n }\n\n public unmount (cb: Callback) {\n this.renderer.updateContainer(null, this.internalRoot, null, cb)\n }\n}\n\nexport function render (element: ReactNode, domContainer: TaroElement, cb: Callback) {\n const oldRoot = ContainerMap.get(domContainer)\n if (oldRoot != null) {\n return oldRoot.render(element, cb)\n }\n\n const root = new Root(TaroReconciler, domContainer)\n ContainerMap.set(domContainer, root)\n return root.render(element, cb)\n}\n\nexport function createRoot (domContainer: TaroElement) {\n const oldRoot = ContainerMap.get(domContainer)\n if (oldRoot != null) {\n return oldRoot\n }\n const root = new Root(TaroReconciler, domContainer, true)\n ContainerMap.set(domContainer, root)\n return root\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { TaroElement } from '@tarojs/runtime'\nimport { ensure, isFunction } from '@tarojs/shared'\nimport { ReactNode } from 'react'\n\nimport { TaroReconciler } from './reconciler'\nimport { ContainerMap, createRoot, render } from './render'\n\nconst unstable_batchedUpdates = TaroReconciler.batchedUpdates\n\nfunction unmountComponentAtNode (dom: TaroElement) {\n ensure(dom && [1, 8, 9, 11].includes(dom.nodeType), 'unmountComponentAtNode(...): Target container is not a DOM element.')\n\n const root = ContainerMap.get(dom)\n\n if (!root) return false\n\n unstable_batchedUpdates(() => {\n root.unmount(() => {\n ContainerMap.delete(dom)\n })\n }, null)\n\n return true\n}\n\nfunction findDOMNode (comp?: TaroElement | ReactNode) {\n if (comp == null) {\n return null\n }\n\n const nodeType = (comp as TaroElement).nodeType\n if (nodeType === 1 || nodeType === 3) {\n return comp\n }\n\n return TaroReconciler.findHostInstance(comp as Record<string, any>)\n}\n\nconst portalType = isFunction(Symbol) && Symbol.for\n ? Symbol.for('react.portal')\n : 0xeaca\n\nfunction createPortal (\n children: ReactNode,\n containerInfo: TaroElement,\n key?: string\n) {\n return {\n $$typeof: portalType,\n key: key == null ? null : String(key),\n children,\n containerInfo,\n implementation: null\n }\n}\n\nexport {\n createPortal,\n createRoot,\n findDOMNode,\n render,\n unmountComponentAtNode,\n unstable_batchedUpdates\n}\n\nexport default {\n render,\n createRoot,\n unstable_batchedUpdates,\n unmountComponentAtNode,\n findDOMNode,\n createPortal\n}\n"],"names":["const","let","FormElement","capitalize","toCamelCase","internalComponents","isFunction","isNumber","isString","isObject","i","scheduler","document","EMPTY_ARR","isBoolean","isUndefined","noop","Reconciler","ensure"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../src/props.ts","../src/reconciler.ts","../src/render.ts","../src/index.ts"],"sourcesContent":["import { FormElement, Style, TaroElement } from '@tarojs/runtime'\nimport { capitalize, internalComponents, isFunction, isNumber, isObject, isString, toCamelCase } from '@tarojs/shared'\n\nexport type Props = Record<string, unknown>\n\nfunction isEventName (s: string) {\n return s[0] === 'o' && s[1] === 'n'\n}\n\nconst IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i\n\nexport function updateProps (dom: TaroElement, oldProps: Props, newProps: Props) {\n const updatePayload = getUpdatePayload(dom, oldProps, newProps)\n if(updatePayload){\n updatePropsByPayload(dom, oldProps, updatePayload)\n }\n}\n\nexport function updatePropsByPayload (dom: TaroElement, oldProps: Props, updatePayload: any[]){\n for(let i = 0; i < updatePayload.length; i += 2){ // key, value 成对出现\n const key = updatePayload[i]; const newProp = updatePayload[i+1]; const oldProp = oldProps[key]\n setProperty(dom, key, newProp, oldProp)\n }\n}\n\nexport function getUpdatePayload (dom: TaroElement, oldProps: Props, newProps: Props){\n let i: string\n let updatePayload: any[] | null = null\n\n for (i in oldProps) {\n if (!(i in newProps)) {\n (updatePayload = updatePayload || []).push(i, null)\n }\n }\n const isFormElement = dom instanceof FormElement\n for (i in newProps) {\n if (oldProps[i] !== newProps[i] || (isFormElement && i === 'value')) {\n (updatePayload = updatePayload || []).push(i, newProps[i])\n }\n }\n\n return updatePayload\n}\n\n// function eventProxy (e: CommonEvent) {\n// const el = document.getElementById(e.currentTarget.id)\n// const handlers = el!.__handlers[e.type]\n// handlers[0](e)\n// }\n\nfunction setEvent (dom: TaroElement, name: string, value: unknown, oldValue?: unknown) {\n const isCapture = name.endsWith('Capture')\n let eventName = name.toLowerCase().slice(2)\n if (isCapture) {\n eventName = eventName.slice(0, -7)\n }\n\n const compName = capitalize(toCamelCase(dom.tagName.toLowerCase()))\n\n if (eventName === 'click' && compName in internalComponents) {\n eventName = 'tap'\n }\n\n if (isFunction(value)) {\n if (oldValue) {\n dom.removeEventListener(eventName, oldValue as any, false)\n dom.addEventListener(eventName, value, { isCapture, sideEffect: false })\n } else {\n dom.addEventListener(eventName, value, isCapture)\n }\n } else {\n dom.removeEventListener(eventName, oldValue as any)\n }\n}\n\nfunction setStyle (style: Style, key: string, value: string | number) {\n if (key[0] === '-') {\n style.setProperty(key, value.toString())\n // css variables need not further judgment\n return\n }\n\n style[key] =\n isNumber(value) && IS_NON_DIMENSIONAL.test(key) === false\n ? value + 'px'\n : value == null\n ? ''\n : value\n}\n\ntype StyleValue = Record<string, string | number>\ninterface DangerouslySetInnerHTML {\n __html?: string\n}\n\nfunction setProperty (dom: TaroElement, name: string, value: unknown, oldValue?: unknown) {\n name = name === 'className' ? 'class' : name\n\n if (\n name === 'key' ||\n name === 'children' ||\n name === 'ref'\n ) {\n // skip\n } else if (name === 'style') {\n const style = dom.style\n if (isString(value)) {\n style.cssText = value\n } else {\n if (isString(oldValue)) {\n style.cssText = ''\n oldValue = null\n }\n\n if (isObject<StyleValue>(oldValue)) {\n for (const i in oldValue) {\n if (!(value && i in (value as StyleValue))) {\n setStyle(style, i, '')\n }\n }\n }\n\n if (isObject<StyleValue>(value)) {\n for (const i in value) {\n if (!oldValue || value[i] !== (oldValue as StyleValue)[i]) {\n setStyle(style, i, value[i])\n }\n }\n }\n }\n } else if (isEventName(name)) {\n setEvent(dom, name, value, oldValue)\n } else if (name === 'dangerouslySetInnerHTML') {\n const newHtml = (value as DangerouslySetInnerHTML)?.__html ?? ''\n const oldHtml = (oldValue as DangerouslySetInnerHTML)?.__html ?? ''\n if (newHtml || oldHtml) {\n if (oldHtml !== newHtml) {\n dom.innerHTML = newHtml\n }\n }\n } else if (!isFunction(value)) {\n if (value == null) {\n dom.removeAttribute(name)\n } else {\n dom.setAttribute(name, value as string)\n }\n }\n}\n","/* eslint-disable @typescript-eslint/indent */\nimport { document, TaroElement, TaroText } from '@tarojs/runtime'\nimport { isBoolean, isUndefined, noop } from '@tarojs/shared'\nimport Reconciler, { HostConfig } from 'react-reconciler'\nimport { DefaultEventPriority } from 'react-reconciler/constants'\n\nimport { getUpdatePayload, Props, updateProps, updatePropsByPayload } from './props'\n\nconst hostConfig: HostConfig<\n string, // Type\n Props, // Props\n TaroElement, // Container\n TaroElement, // Instance\n TaroText, // TextInstance\n TaroElement, // SuspenseInstance\n TaroElement, // HydratableInstance\n TaroElement, // PublicInstance\n Record<string, any>, // HostContext\n string[], // UpdatePayload\n unknown, // ChildSet\n unknown, // TimeoutHandle\n unknown // NoTimeout\n> & {\n supportsMicrotasks: boolean // 待官方类型文件修复后删除\n} = {\n // below keys order by {React ReactFiberHostConfig.custom.js}, convenient for comparing each other.\n\n // -------------------\n // required by @types/react-reconciler\n // -------------------\n getPublicInstance (inst: TaroElement) {\n return inst\n },\n getRootHostContext () {\n return {}\n },\n getChildHostContext (parentHostContext) {\n return parentHostContext\n },\n prepareForCommit (..._: any[]) {\n return null\n },\n resetAfterCommit: noop,\n createInstance (type) {\n return document.createElement(type)\n },\n appendInitialChild (parent, child) {\n parent.appendChild(child)\n },\n finalizeInitialChildren (dom, _, props: any) {\n updateProps(dom, {}, props) // 提前执行更新属性操作,Taro 在 Page 初始化后会立即从 dom 读取必要信息\n return false\n },\n prepareUpdate (instance, _, oldProps, newProps) {\n return getUpdatePayload(instance, oldProps, newProps)\n },\n shouldSetTextContent () {\n return false\n },\n createTextInstance (text) {\n return document.createTextNode(text)\n },\n scheduleTimeout: setTimeout,\n cancelTimeout: clearTimeout,\n noTimeout: -1,\n isPrimaryRenderer: true,\n warnsIfNotActing: true,\n supportsMutation: true,\n supportsPersistence: false,\n supportsHydration: false,\n getInstanceFromNode: () => null,\n beforeActiveInstanceBlur: noop,\n afterActiveInstanceBlur: noop,\n preparePortalMount: noop,\n prepareScopeUpdate: noop,\n getInstanceFromScope: () => null,\n getCurrentEventPriority () {\n return DefaultEventPriority\n },\n detachDeletedInstance: noop,\n\n // -------------------\n // Microtasks\n // (optional)\n // -------------------\n supportsMicrotasks: true,\n scheduleMicrotask: isUndefined(Promise)\n ? setTimeout\n : (callback) =>\n Promise.resolve(null)\n .then(callback)\n .catch(function (error) {\n setTimeout(() => {\n throw error\n })\n }),\n\n // -------------------\n // Mutation\n // (required if supportsMutation is true)\n // -------------------\n appendChild (parent, child) {\n parent.appendChild(child)\n },\n appendChildToContainer (parent, child) {\n parent.appendChild(child)\n },\n commitTextUpdate (textInst, _, newText) {\n textInst.nodeValue = newText\n },\n commitMount: noop,\n commitUpdate (dom, updatePayload, _, oldProps) {\n updatePropsByPayload(dom, oldProps, updatePayload)\n },\n insertBefore (parent, child, refChild) {\n parent.insertBefore(child, refChild)\n },\n insertInContainerBefore (parent, child, refChild) {\n parent.insertBefore(child, refChild)\n },\n removeChild (parent, child) {\n parent.removeChild(child)\n },\n removeChildFromContainer (parent, child) {\n parent.removeChild(child)\n },\n resetTextContent: noop,\n hideInstance (instance) {\n const style = instance.style\n style.setProperty('display', 'none')\n },\n hideTextInstance (textInstance) {\n textInstance.nodeValue = ''\n },\n unhideInstance (instance, props) {\n const styleProp = props.style as {display?: any}\n let display = styleProp?.hasOwnProperty('display') ? styleProp.display : null\n display = display == null || isBoolean(display) || display === '' ? '' : ('' + display).trim()\n // eslint-disable-next-line dot-notation\n instance.style['display'] = display\n },\n unhideTextInstance (textInstance, text) {\n textInstance.nodeValue = text\n },\n clearContainer (element) {\n if (element.childNodes.length > 0) {\n element.textContent = ''\n }\n },\n}\n\nconst TaroReconciler = Reconciler(hostConfig)\n\nif (process.env.NODE_ENV !== 'production') {\n const foundDevTools = TaroReconciler.injectIntoDevTools({\n bundleType: 1,\n version: '18.0.0',\n rendererPackageName: 'taro-react',\n })\n if (!foundDevTools) {\n // eslint-disable-next-line no-console\n console.info(\n '%cDownload the React DevTools ' +\n 'for a better development experience: ' +\n 'https://reactjs.org/link/react-devtools',\n 'font-weight:bold'\n )\n }\n}\n\nexport { TaroReconciler }\n","import { TaroElement } from '@tarojs/runtime'\nimport { ReactNode } from 'react'\nimport { OpaqueRoot } from 'react-reconciler'\n\nimport { TaroReconciler } from './reconciler'\n\nexport const ContainerMap: WeakMap<TaroElement, Root> = new WeakMap()\n\ntype Renderer = typeof TaroReconciler\n\ntype CreateRootOptions = {\n unstable_strictMode?: boolean\n unstable_concurrentUpdatesByDefault?: boolean\n unstable_transitionCallbacks?: any\n identifierPrefix?: string\n onRecoverableError?: (error: any) => void\n}\n\nexport type Callback = () => void | null | undefined\n\nclass Root {\n private renderer: Renderer\n private internalRoot: OpaqueRoot\n\n public constructor (renderer: Renderer, domContainer: TaroElement, options?: CreateRootOptions) {\n this.renderer = renderer\n this.initInternalRoot(renderer, domContainer, options)\n }\n\n private initInternalRoot (renderer: Renderer, domContainer: TaroElement, options?: CreateRootOptions) {\n // Since react-reconciler v0.27, createContainer need more parameters\n // @see:https://github.com/facebook/react/blob/0b974418c9a56f6c560298560265dcf4b65784bc/packages/react-reconciler/src/ReactFiberReconciler.js#L248\n const containerInfo = domContainer\n if (options) {\n const tag = 1 // ConcurrentRoot\n const concurrentUpdatesByDefaultOverride = false\n let isStrictMode = false\n let identifierPrefix = ''\n let onRecoverableError = (error: any) => console.error(error)\n let transitionCallbacks = null\n if (options.unstable_strictMode === true) {\n isStrictMode = true\n }\n if (options.identifierPrefix !== undefined) {\n identifierPrefix = options.identifierPrefix\n }\n if (options.onRecoverableError !== undefined) {\n onRecoverableError = options.onRecoverableError\n }\n if (options.unstable_transitionCallbacks !== undefined) {\n transitionCallbacks = options.unstable_transitionCallbacks\n }\n\n this.internalRoot = renderer.createContainer(\n containerInfo,\n tag,\n null, // hydrationCallbacks\n isStrictMode,\n concurrentUpdatesByDefaultOverride,\n identifierPrefix,\n onRecoverableError,\n transitionCallbacks\n )\n } else {\n const tag = 0 // LegacyRoot\n this.internalRoot = renderer.createContainer(\n containerInfo,\n tag,\n null, // hydrationCallbacks\n false, // isStrictMode\n false, // concurrentUpdatesByDefaultOverride,\n '', // identifierPrefix\n () => {}, // onRecoverableError, this isn't reachable because onRecoverableError isn't called in the legacy API.\n null // transitionCallbacks\n )\n }\n }\n\n public render (children: ReactNode, cb: Callback) {\n const { renderer, internalRoot } = this\n renderer.updateContainer(children, internalRoot, null, cb)\n return renderer.getPublicRootInstance(internalRoot)\n }\n\n public unmount (cb: Callback) {\n this.renderer.updateContainer(null, this.internalRoot, null, cb)\n }\n}\n\nexport function render (element: ReactNode, domContainer: TaroElement, cb: Callback) {\n const oldRoot = ContainerMap.get(domContainer)\n if (oldRoot != null) {\n return oldRoot.render(element, cb)\n }\n\n const root = new Root(TaroReconciler, domContainer)\n ContainerMap.set(domContainer, root)\n return root.render(element, cb)\n}\n\nexport function createRoot (domContainer: TaroElement, options: CreateRootOptions = {}) {\n const oldRoot = ContainerMap.get(domContainer)\n if (oldRoot != null) {\n return oldRoot\n }\n // options should be an object\n const root = new Root(TaroReconciler, domContainer, options)\n ContainerMap.set(domContainer, root)\n return root\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { TaroElement } from '@tarojs/runtime'\nimport { ensure, isFunction } from '@tarojs/shared'\nimport { ReactNode } from 'react'\n\nimport { TaroReconciler } from './reconciler'\nimport { ContainerMap, createRoot, render } from './render'\n\nconst unstable_batchedUpdates = TaroReconciler.batchedUpdates\n\nfunction unmountComponentAtNode (dom: TaroElement) {\n ensure(dom && [1, 8, 9, 11].includes(dom.nodeType), 'unmountComponentAtNode(...): Target container is not a DOM element.')\n\n const root = ContainerMap.get(dom)\n\n if (!root) return false\n\n unstable_batchedUpdates(() => {\n root.unmount(() => {\n ContainerMap.delete(dom)\n })\n }, null)\n\n return true\n}\n\nfunction findDOMNode (comp?: TaroElement | ReactNode) {\n if (comp == null) {\n return null\n }\n\n const nodeType = (comp as TaroElement).nodeType\n if (nodeType === 1 || nodeType === 3) {\n return comp\n }\n\n return TaroReconciler.findHostInstance(comp as Record<string, any>)\n}\n\nconst portalType = isFunction(Symbol) && Symbol.for\n ? Symbol.for('react.portal')\n : 0xeaca\n\nfunction createPortal (\n children: ReactNode,\n containerInfo: TaroElement,\n key?: string\n) {\n return {\n $$typeof: portalType,\n key: key == null ? null : String(key),\n children,\n containerInfo,\n implementation: null\n }\n}\n\nexport {\n createPortal,\n createRoot,\n findDOMNode,\n render,\n unmountComponentAtNode,\n unstable_batchedUpdates\n}\n\nexport default {\n render,\n createRoot,\n unstable_batchedUpdates,\n unmountComponentAtNode,\n findDOMNode,\n createPortal\n}\n"],"names":["const","let","FormElement","capitalize","toCamelCase","internalComponents","isFunction","isNumber","isString","isObject","i","noop","document","DefaultEventPriority","isUndefined","isBoolean","Reconciler","tag","ensure"],"mappings":"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"}
|
package/dist/react.esm.js
CHANGED
|
@@ -1,25 +1,41 @@
|
|
|
1
|
-
import { isString, isObject, isFunction, capitalize, toCamelCase, internalComponents, isNumber,
|
|
1
|
+
import { isString, isObject, isFunction, capitalize, toCamelCase, internalComponents, isNumber, noop, isUndefined, isBoolean, ensure } from '@tarojs/shared';
|
|
2
2
|
import { FormElement, document } from '@tarojs/runtime';
|
|
3
3
|
import Reconciler from 'react-reconciler';
|
|
4
|
-
import
|
|
4
|
+
import { DefaultEventPriority } from 'react-reconciler/constants';
|
|
5
5
|
|
|
6
6
|
function isEventName(s) {
|
|
7
7
|
return s[0] === 'o' && s[1] === 'n';
|
|
8
8
|
}
|
|
9
9
|
const IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;
|
|
10
10
|
function updateProps(dom, oldProps, newProps) {
|
|
11
|
+
const updatePayload = getUpdatePayload(dom, oldProps, newProps);
|
|
12
|
+
if (updatePayload) {
|
|
13
|
+
updatePropsByPayload(dom, oldProps, updatePayload);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
function updatePropsByPayload(dom, oldProps, updatePayload) {
|
|
17
|
+
for (let i = 0; i < updatePayload.length; i += 2) { // key, value 成对出现
|
|
18
|
+
const key = updatePayload[i];
|
|
19
|
+
const newProp = updatePayload[i + 1];
|
|
20
|
+
const oldProp = oldProps[key];
|
|
21
|
+
setProperty(dom, key, newProp, oldProp);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function getUpdatePayload(dom, oldProps, newProps) {
|
|
11
25
|
let i;
|
|
26
|
+
let updatePayload = null;
|
|
12
27
|
for (i in oldProps) {
|
|
13
28
|
if (!(i in newProps)) {
|
|
14
|
-
|
|
29
|
+
(updatePayload = updatePayload || []).push(i, null);
|
|
15
30
|
}
|
|
16
31
|
}
|
|
17
32
|
const isFormElement = dom instanceof FormElement;
|
|
18
33
|
for (i in newProps) {
|
|
19
34
|
if (oldProps[i] !== newProps[i] || (isFormElement && i === 'value')) {
|
|
20
|
-
|
|
35
|
+
(updatePayload = updatePayload || []).push(i, newProps[i]);
|
|
21
36
|
}
|
|
22
37
|
}
|
|
38
|
+
return updatePayload;
|
|
23
39
|
}
|
|
24
40
|
// function eventProxy (e: CommonEvent) {
|
|
25
41
|
// const el = document.getElementById(e.currentTarget.id)
|
|
@@ -117,47 +133,91 @@ function setProperty(dom, name, value, oldValue) {
|
|
|
117
133
|
}
|
|
118
134
|
|
|
119
135
|
/* eslint-disable @typescript-eslint/indent */
|
|
120
|
-
const { unstable_now: now } = scheduler;
|
|
121
|
-
function returnFalse() {
|
|
122
|
-
return false;
|
|
123
|
-
}
|
|
124
136
|
const hostConfig = {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return document.createTextNode(text);
|
|
130
|
-
},
|
|
137
|
+
// below keys order by {React ReactFiberHostConfig.custom.js}, convenient for comparing each other.
|
|
138
|
+
// -------------------
|
|
139
|
+
// required by @types/react-reconciler
|
|
140
|
+
// -------------------
|
|
131
141
|
getPublicInstance(inst) {
|
|
132
142
|
return inst;
|
|
133
143
|
},
|
|
134
144
|
getRootHostContext() {
|
|
135
145
|
return {};
|
|
136
146
|
},
|
|
137
|
-
getChildHostContext() {
|
|
138
|
-
return
|
|
147
|
+
getChildHostContext(parentHostContext) {
|
|
148
|
+
return parentHostContext;
|
|
139
149
|
},
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
return 16; // import { DefaultEventPriority } from 'react-reconciler/constants'
|
|
150
|
+
prepareForCommit(..._) {
|
|
151
|
+
return null;
|
|
143
152
|
},
|
|
144
|
-
|
|
145
|
-
|
|
153
|
+
resetAfterCommit: noop,
|
|
154
|
+
createInstance(type) {
|
|
155
|
+
return document.createElement(type);
|
|
146
156
|
},
|
|
147
|
-
|
|
157
|
+
appendInitialChild(parent, child) {
|
|
148
158
|
parent.appendChild(child);
|
|
149
159
|
},
|
|
150
|
-
|
|
160
|
+
finalizeInitialChildren(dom, _, props) {
|
|
161
|
+
updateProps(dom, {}, props); // 提前执行更新属性操作,Taro 在 Page 初始化后会立即从 dom 读取必要信息
|
|
162
|
+
return false;
|
|
163
|
+
},
|
|
164
|
+
prepareUpdate(instance, _, oldProps, newProps) {
|
|
165
|
+
return getUpdatePayload(instance, oldProps, newProps);
|
|
166
|
+
},
|
|
167
|
+
shouldSetTextContent() {
|
|
168
|
+
return false;
|
|
169
|
+
},
|
|
170
|
+
createTextInstance(text) {
|
|
171
|
+
return document.createTextNode(text);
|
|
172
|
+
},
|
|
173
|
+
scheduleTimeout: setTimeout,
|
|
174
|
+
cancelTimeout: clearTimeout,
|
|
175
|
+
noTimeout: -1,
|
|
176
|
+
isPrimaryRenderer: true,
|
|
177
|
+
warnsIfNotActing: true,
|
|
178
|
+
supportsMutation: true,
|
|
179
|
+
supportsPersistence: false,
|
|
180
|
+
supportsHydration: false,
|
|
181
|
+
getInstanceFromNode: () => null,
|
|
182
|
+
beforeActiveInstanceBlur: noop,
|
|
183
|
+
afterActiveInstanceBlur: noop,
|
|
184
|
+
preparePortalMount: noop,
|
|
185
|
+
prepareScopeUpdate: noop,
|
|
186
|
+
getInstanceFromScope: () => null,
|
|
187
|
+
getCurrentEventPriority() {
|
|
188
|
+
return DefaultEventPriority;
|
|
189
|
+
},
|
|
190
|
+
detachDeletedInstance: noop,
|
|
191
|
+
// -------------------
|
|
192
|
+
// Microtasks
|
|
193
|
+
// (optional)
|
|
194
|
+
// -------------------
|
|
195
|
+
supportsMicrotasks: true,
|
|
196
|
+
scheduleMicrotask: isUndefined(Promise)
|
|
197
|
+
? setTimeout
|
|
198
|
+
: (callback) => Promise.resolve(null)
|
|
199
|
+
.then(callback)
|
|
200
|
+
.catch(function (error) {
|
|
201
|
+
setTimeout(() => {
|
|
202
|
+
throw error;
|
|
203
|
+
});
|
|
204
|
+
}),
|
|
205
|
+
// -------------------
|
|
206
|
+
// Mutation
|
|
207
|
+
// (required if supportsMutation is true)
|
|
208
|
+
// -------------------
|
|
209
|
+
appendChild(parent, child) {
|
|
151
210
|
parent.appendChild(child);
|
|
152
211
|
},
|
|
153
212
|
appendChildToContainer(parent, child) {
|
|
154
213
|
parent.appendChild(child);
|
|
155
214
|
},
|
|
156
|
-
|
|
157
|
-
|
|
215
|
+
commitTextUpdate(textInst, _, newText) {
|
|
216
|
+
textInst.nodeValue = newText;
|
|
158
217
|
},
|
|
159
|
-
|
|
160
|
-
|
|
218
|
+
commitMount: noop,
|
|
219
|
+
commitUpdate(dom, updatePayload, _, oldProps) {
|
|
220
|
+
updatePropsByPayload(dom, oldProps, updatePayload);
|
|
161
221
|
},
|
|
162
222
|
insertBefore(parent, child, refChild) {
|
|
163
223
|
parent.insertBefore(child, refChild);
|
|
@@ -165,23 +225,20 @@ const hostConfig = {
|
|
|
165
225
|
insertInContainerBefore(parent, child, refChild) {
|
|
166
226
|
parent.insertBefore(child, refChild);
|
|
167
227
|
},
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
},
|
|
171
|
-
finalizeInitialChildren(dom, _, props) {
|
|
172
|
-
updateProps(dom, {}, props);
|
|
173
|
-
return false;
|
|
174
|
-
},
|
|
175
|
-
prepareUpdate() {
|
|
176
|
-
return EMPTY_ARR;
|
|
228
|
+
removeChild(parent, child) {
|
|
229
|
+
parent.removeChild(child);
|
|
177
230
|
},
|
|
178
|
-
|
|
179
|
-
|
|
231
|
+
removeChildFromContainer(parent, child) {
|
|
232
|
+
parent.removeChild(child);
|
|
180
233
|
},
|
|
234
|
+
resetTextContent: noop,
|
|
181
235
|
hideInstance(instance) {
|
|
182
236
|
const style = instance.style;
|
|
183
237
|
style.setProperty('display', 'none');
|
|
184
238
|
},
|
|
239
|
+
hideTextInstance(textInstance) {
|
|
240
|
+
textInstance.nodeValue = '';
|
|
241
|
+
},
|
|
185
242
|
unhideInstance(instance, props) {
|
|
186
243
|
const styleProp = props.style;
|
|
187
244
|
let display = (styleProp === null || styleProp === void 0 ? void 0 : styleProp.hasOwnProperty('display')) ? styleProp.display : null;
|
|
@@ -189,53 +246,72 @@ const hostConfig = {
|
|
|
189
246
|
// eslint-disable-next-line dot-notation
|
|
190
247
|
instance.style['display'] = display;
|
|
191
248
|
},
|
|
249
|
+
unhideTextInstance(textInstance, text) {
|
|
250
|
+
textInstance.nodeValue = text;
|
|
251
|
+
},
|
|
192
252
|
clearContainer(element) {
|
|
193
253
|
if (element.childNodes.length > 0) {
|
|
194
254
|
element.textContent = '';
|
|
195
255
|
}
|
|
196
256
|
},
|
|
197
|
-
queueMicrotask: !isUndefined(Promise)
|
|
198
|
-
? callback => Promise.resolve(null)
|
|
199
|
-
.then(callback)
|
|
200
|
-
.catch(function (error) {
|
|
201
|
-
setTimeout(() => {
|
|
202
|
-
throw error;
|
|
203
|
-
});
|
|
204
|
-
})
|
|
205
|
-
: setTimeout,
|
|
206
|
-
shouldSetTextContent: returnFalse,
|
|
207
|
-
prepareForCommit(..._) { return null; },
|
|
208
|
-
resetAfterCommit: noop,
|
|
209
|
-
commitMount: noop,
|
|
210
|
-
now,
|
|
211
|
-
cancelTimeout: clearTimeout,
|
|
212
|
-
scheduleTimeout: setTimeout,
|
|
213
|
-
preparePortalMount: noop,
|
|
214
|
-
noTimeout: -1,
|
|
215
|
-
supportsMutation: true,
|
|
216
|
-
supportsPersistence: false,
|
|
217
|
-
isPrimaryRenderer: true,
|
|
218
|
-
supportsHydration: false
|
|
219
257
|
};
|
|
220
258
|
const TaroReconciler = Reconciler(hostConfig);
|
|
221
259
|
if (process.env.NODE_ENV !== 'production') {
|
|
222
260
|
const foundDevTools = TaroReconciler.injectIntoDevTools({
|
|
223
261
|
bundleType: 1,
|
|
224
262
|
version: '18.0.0',
|
|
225
|
-
rendererPackageName: 'taro-react'
|
|
263
|
+
rendererPackageName: 'taro-react',
|
|
226
264
|
});
|
|
227
265
|
if (!foundDevTools) {
|
|
228
266
|
// eslint-disable-next-line no-console
|
|
229
|
-
console.info('%cDownload the React DevTools ' +
|
|
267
|
+
console.info('%cDownload the React DevTools ' +
|
|
268
|
+
'for a better development experience: ' +
|
|
269
|
+
'https://reactjs.org/link/react-devtools', 'font-weight:bold');
|
|
230
270
|
}
|
|
231
271
|
}
|
|
232
272
|
|
|
233
273
|
const ContainerMap = new WeakMap();
|
|
234
274
|
class Root {
|
|
235
|
-
constructor(renderer, domContainer,
|
|
275
|
+
constructor(renderer, domContainer, options) {
|
|
236
276
|
this.renderer = renderer;
|
|
237
|
-
|
|
238
|
-
|
|
277
|
+
this.initInternalRoot(renderer, domContainer, options);
|
|
278
|
+
}
|
|
279
|
+
initInternalRoot(renderer, domContainer, options) {
|
|
280
|
+
// Since react-reconciler v0.27, createContainer need more parameters
|
|
281
|
+
// @see:https://github.com/facebook/react/blob/0b974418c9a56f6c560298560265dcf4b65784bc/packages/react-reconciler/src/ReactFiberReconciler.js#L248
|
|
282
|
+
const containerInfo = domContainer;
|
|
283
|
+
if (options) {
|
|
284
|
+
const tag = 1; // ConcurrentRoot
|
|
285
|
+
const concurrentUpdatesByDefaultOverride = false;
|
|
286
|
+
let isStrictMode = false;
|
|
287
|
+
let identifierPrefix = '';
|
|
288
|
+
let onRecoverableError = (error) => console.error(error);
|
|
289
|
+
let transitionCallbacks = null;
|
|
290
|
+
if (options.unstable_strictMode === true) {
|
|
291
|
+
isStrictMode = true;
|
|
292
|
+
}
|
|
293
|
+
if (options.identifierPrefix !== undefined) {
|
|
294
|
+
identifierPrefix = options.identifierPrefix;
|
|
295
|
+
}
|
|
296
|
+
if (options.onRecoverableError !== undefined) {
|
|
297
|
+
onRecoverableError = options.onRecoverableError;
|
|
298
|
+
}
|
|
299
|
+
if (options.unstable_transitionCallbacks !== undefined) {
|
|
300
|
+
transitionCallbacks = options.unstable_transitionCallbacks;
|
|
301
|
+
}
|
|
302
|
+
this.internalRoot = renderer.createContainer(containerInfo, tag, null, // hydrationCallbacks
|
|
303
|
+
isStrictMode, concurrentUpdatesByDefaultOverride, identifierPrefix, onRecoverableError, transitionCallbacks);
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
const tag = 0; // LegacyRoot
|
|
307
|
+
this.internalRoot = renderer.createContainer(containerInfo, tag, null, // hydrationCallbacks
|
|
308
|
+
false, // isStrictMode
|
|
309
|
+
false, // concurrentUpdatesByDefaultOverride,
|
|
310
|
+
'', // identifierPrefix
|
|
311
|
+
() => { }, // onRecoverableError, this isn't reachable because onRecoverableError isn't called in the legacy API.
|
|
312
|
+
null // transitionCallbacks
|
|
313
|
+
);
|
|
314
|
+
}
|
|
239
315
|
}
|
|
240
316
|
render(children, cb) {
|
|
241
317
|
const { renderer, internalRoot } = this;
|
|
@@ -255,12 +331,13 @@ function render(element, domContainer, cb) {
|
|
|
255
331
|
ContainerMap.set(domContainer, root);
|
|
256
332
|
return root.render(element, cb);
|
|
257
333
|
}
|
|
258
|
-
function createRoot(domContainer) {
|
|
334
|
+
function createRoot(domContainer, options = {}) {
|
|
259
335
|
const oldRoot = ContainerMap.get(domContainer);
|
|
260
336
|
if (oldRoot != null) {
|
|
261
337
|
return oldRoot;
|
|
262
338
|
}
|
|
263
|
-
|
|
339
|
+
// options should be an object
|
|
340
|
+
const root = new Root(TaroReconciler, domContainer, options);
|
|
264
341
|
ContainerMap.set(domContainer, root);
|
|
265
342
|
return root;
|
|
266
343
|
}
|
package/dist/react.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.esm.js","sources":["../src/props.ts","../src/reconciler.ts","../src/render.ts","../src/index.ts"],"sourcesContent":["import { FormElement, Style, TaroElement } from '@tarojs/runtime'\nimport { capitalize, internalComponents, isFunction, isNumber, isObject, isString, toCamelCase } from '@tarojs/shared'\n\nexport type Props = Record<string, unknown>\n\nfunction isEventName (s: string) {\n return s[0] === 'o' && s[1] === 'n'\n}\n\nconst IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i\n\nexport function updateProps (dom: TaroElement, oldProps: Props, newProps: Props) {\n let i: string\n\n for (i in oldProps) {\n if (!(i in newProps)) {\n setProperty(dom, i, null, oldProps[i])\n }\n }\n const isFormElement = dom instanceof FormElement\n for (i in newProps) {\n if (oldProps[i] !== newProps[i] || (isFormElement && i === 'value')) {\n setProperty(dom, i, newProps[i], oldProps[i])\n }\n }\n}\n\n// function eventProxy (e: CommonEvent) {\n// const el = document.getElementById(e.currentTarget.id)\n// const handlers = el!.__handlers[e.type]\n// handlers[0](e)\n// }\n\nfunction setEvent (dom: TaroElement, name: string, value: unknown, oldValue?: unknown) {\n const isCapture = name.endsWith('Capture')\n let eventName = name.toLowerCase().slice(2)\n if (isCapture) {\n eventName = eventName.slice(0, -7)\n }\n\n const compName = capitalize(toCamelCase(dom.tagName.toLowerCase()))\n\n if (eventName === 'click' && compName in internalComponents) {\n eventName = 'tap'\n }\n\n if (isFunction(value)) {\n if (oldValue) {\n dom.removeEventListener(eventName, oldValue as any, false)\n dom.addEventListener(eventName, value, { isCapture, sideEffect: false })\n } else {\n dom.addEventListener(eventName, value, isCapture)\n }\n } else {\n dom.removeEventListener(eventName, oldValue as any)\n }\n}\n\nfunction setStyle (style: Style, key: string, value: string | number) {\n if (key[0] === '-') {\n style.setProperty(key, value.toString())\n // css variables need not further judgment\n return\n }\n\n style[key] =\n isNumber(value) && IS_NON_DIMENSIONAL.test(key) === false\n ? value + 'px'\n : value == null\n ? ''\n : value\n}\n\ntype StyleValue = Record<string, string | number>\ninterface DangerouslySetInnerHTML {\n __html?: string\n}\n\nfunction setProperty (dom: TaroElement, name: string, value: unknown, oldValue?: unknown) {\n name = name === 'className' ? 'class' : name\n\n if (\n name === 'key' ||\n name === 'children' ||\n name === 'ref'\n ) {\n // skip\n } else if (name === 'style') {\n const style = dom.style\n if (isString(value)) {\n style.cssText = value\n } else {\n if (isString(oldValue)) {\n style.cssText = ''\n oldValue = null\n }\n\n if (isObject<StyleValue>(oldValue)) {\n for (const i in oldValue) {\n if (!(value && i in (value as StyleValue))) {\n setStyle(style, i, '')\n }\n }\n }\n\n if (isObject<StyleValue>(value)) {\n for (const i in value) {\n if (!oldValue || value[i] !== (oldValue as StyleValue)[i]) {\n setStyle(style, i, value[i])\n }\n }\n }\n }\n } else if (isEventName(name)) {\n setEvent(dom, name, value, oldValue)\n } else if (name === 'dangerouslySetInnerHTML') {\n const newHtml = (value as DangerouslySetInnerHTML)?.__html ?? ''\n const oldHtml = (oldValue as DangerouslySetInnerHTML)?.__html ?? ''\n if (newHtml || oldHtml) {\n if (oldHtml !== newHtml) {\n dom.innerHTML = newHtml\n }\n }\n } else if (!isFunction(value)) {\n if (value == null) {\n dom.removeAttribute(name)\n } else {\n dom.setAttribute(name, value as string)\n }\n }\n}\n","/* eslint-disable @typescript-eslint/indent */\nimport { document, TaroElement, TaroText } from '@tarojs/runtime'\nimport { EMPTY_ARR, isBoolean, isUndefined, noop } from '@tarojs/shared'\nimport Reconciler, { HostConfig } from 'react-reconciler'\nimport * as scheduler from 'scheduler'\n\nimport { Props, updateProps } from './props'\n\nconst {\n unstable_now: now\n} = scheduler\n\nfunction returnFalse () {\n return false\n}\n\nconst hostConfig: HostConfig<\n string, // Type\n Props, // Props\n TaroElement, // Container\n TaroElement, // Instance\n TaroText, // TextInstance\n TaroElement, // SuspenseInstance\n TaroElement, // HydratableInstance\n TaroElement, // PublicInstance\n Record<string, any>, // HostContext\n string[], // UpdatePayload\n unknown, // ChildSet\n unknown, // TimeoutHandle\n unknown // NoTimeout\n> & {\n hideInstance (instance: TaroElement): void\n unhideInstance (instance: TaroElement, props): void\n getCurrentEventPriority(): number\n detachDeletedInstance(): void\n} = {\n createInstance (type) {\n return document.createElement(type)\n },\n\n createTextInstance (text) {\n return document.createTextNode(text)\n },\n\n getPublicInstance (inst: TaroElement) {\n return inst\n },\n\n getRootHostContext () {\n return {}\n },\n\n getChildHostContext () {\n return {}\n },\n\n getCurrentEventPriority () {\n // 因 @types/react-reconciler 未更新,ts会报错,这里直接返回16\n return 16 // import { DefaultEventPriority } from 'react-reconciler/constants'\n },\n\n detachDeletedInstance () {\n // noop\n },\n\n appendChild (parent, child) {\n parent.appendChild(child)\n },\n\n appendInitialChild (parent, child) {\n parent.appendChild(child)\n },\n\n appendChildToContainer (parent, child) {\n parent.appendChild(child)\n },\n\n removeChild (parent, child) {\n parent.removeChild(child)\n },\n\n removeChildFromContainer (parent, child) {\n parent.removeChild(child)\n },\n\n insertBefore (parent, child, refChild) {\n parent.insertBefore(child, refChild)\n },\n\n insertInContainerBefore (parent, child, refChild) {\n parent.insertBefore(child, refChild)\n },\n\n commitTextUpdate (textInst, _, newText) {\n textInst.nodeValue = newText\n },\n\n finalizeInitialChildren (dom, _, props) {\n updateProps(dom, {}, props)\n return false\n },\n\n prepareUpdate () {\n return EMPTY_ARR\n },\n\n commitUpdate (dom, _payload, _type, oldProps, newProps) {\n updateProps(dom, oldProps, newProps)\n },\n\n hideInstance (instance) {\n const style = instance.style\n style.setProperty('display', 'none')\n },\n\n unhideInstance (instance, props) {\n const styleProp = props.style\n let display = styleProp?.hasOwnProperty('display') ? styleProp.display : null\n display = display == null || isBoolean(display) || display === '' ? '' : ('' + display).trim()\n // eslint-disable-next-line dot-notation\n instance.style['display'] = display\n },\n\n clearContainer (element) {\n if (element.childNodes.length > 0) {\n element.textContent = ''\n }\n },\n\n queueMicrotask: !isUndefined(Promise)\n ? callback =>\n Promise.resolve(null)\n .then(callback)\n .catch(function (error) {\n setTimeout(() => {\n throw error\n })\n })\n : setTimeout,\n\n shouldSetTextContent: returnFalse,\n prepareForCommit (..._: any[]) { return null },\n resetAfterCommit: noop,\n commitMount: noop,\n now,\n cancelTimeout: clearTimeout,\n scheduleTimeout: setTimeout,\n preparePortalMount: noop,\n noTimeout: -1,\n supportsMutation: true,\n supportsPersistence: false,\n isPrimaryRenderer: true,\n supportsHydration: false\n}\n\nconst TaroReconciler = Reconciler(hostConfig)\n\nif (process.env.NODE_ENV !== 'production') {\n const foundDevTools = TaroReconciler.injectIntoDevTools({\n bundleType: 1,\n version: '18.0.0',\n rendererPackageName: 'taro-react'\n })\n if (!foundDevTools) {\n // eslint-disable-next-line no-console\n console.info('%cDownload the React DevTools ' + 'for a better development experience: ' + 'https://reactjs.org/link/react-devtools', 'font-weight:bold')\n }\n}\n\nexport {\n TaroReconciler\n}\n","import { TaroElement } from '@tarojs/runtime'\nimport { ReactNode } from 'react'\nimport { OpaqueRoot } from 'react-reconciler'\n\nimport { TaroReconciler } from './reconciler'\n\nexport const ContainerMap: WeakMap<TaroElement, Root> = new WeakMap()\n\ntype Renderer = typeof TaroReconciler\n\nexport type Callback = () => void | null | undefined\n\nclass Root {\n private renderer: Renderer\n private internalRoot: OpaqueRoot\n\n public constructor (renderer: Renderer, domContainer: TaroElement, isConcurrentRoot = false) {\n this.renderer = renderer\n /** ConcurrentRoot & LegacyRoot: react-reconciler/src/ReactRootTags.js */\n this.internalRoot = renderer.createContainer(domContainer, isConcurrentRoot ? 1 : 0, false, null)\n }\n\n public render (children: ReactNode, cb: Callback) {\n const { renderer, internalRoot } = this\n renderer.updateContainer(children, internalRoot, null, cb)\n return renderer.getPublicRootInstance(internalRoot)\n }\n\n public unmount (cb: Callback) {\n this.renderer.updateContainer(null, this.internalRoot, null, cb)\n }\n}\n\nexport function render (element: ReactNode, domContainer: TaroElement, cb: Callback) {\n const oldRoot = ContainerMap.get(domContainer)\n if (oldRoot != null) {\n return oldRoot.render(element, cb)\n }\n\n const root = new Root(TaroReconciler, domContainer)\n ContainerMap.set(domContainer, root)\n return root.render(element, cb)\n}\n\nexport function createRoot (domContainer: TaroElement) {\n const oldRoot = ContainerMap.get(domContainer)\n if (oldRoot != null) {\n return oldRoot\n }\n const root = new Root(TaroReconciler, domContainer, true)\n ContainerMap.set(domContainer, root)\n return root\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { TaroElement } from '@tarojs/runtime'\nimport { ensure, isFunction } from '@tarojs/shared'\nimport { ReactNode } from 'react'\n\nimport { TaroReconciler } from './reconciler'\nimport { ContainerMap, createRoot, render } from './render'\n\nconst unstable_batchedUpdates = TaroReconciler.batchedUpdates\n\nfunction unmountComponentAtNode (dom: TaroElement) {\n ensure(dom && [1, 8, 9, 11].includes(dom.nodeType), 'unmountComponentAtNode(...): Target container is not a DOM element.')\n\n const root = ContainerMap.get(dom)\n\n if (!root) return false\n\n unstable_batchedUpdates(() => {\n root.unmount(() => {\n ContainerMap.delete(dom)\n })\n }, null)\n\n return true\n}\n\nfunction findDOMNode (comp?: TaroElement | ReactNode) {\n if (comp == null) {\n return null\n }\n\n const nodeType = (comp as TaroElement).nodeType\n if (nodeType === 1 || nodeType === 3) {\n return comp\n }\n\n return TaroReconciler.findHostInstance(comp as Record<string, any>)\n}\n\nconst portalType = isFunction(Symbol) && Symbol.for\n ? Symbol.for('react.portal')\n : 0xeaca\n\nfunction createPortal (\n children: ReactNode,\n containerInfo: TaroElement,\n key?: string\n) {\n return {\n $$typeof: portalType,\n key: key == null ? null : String(key),\n children,\n containerInfo,\n implementation: null\n }\n}\n\nexport {\n createPortal,\n createRoot,\n findDOMNode,\n render,\n unmountComponentAtNode,\n unstable_batchedUpdates\n}\n\nexport default {\n render,\n createRoot,\n unstable_batchedUpdates,\n unmountComponentAtNode,\n findDOMNode,\n createPortal\n}\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"react.esm.js","sources":["../src/props.ts","../src/reconciler.ts","../src/render.ts","../src/index.ts"],"sourcesContent":["import { FormElement, Style, TaroElement } from '@tarojs/runtime'\nimport { capitalize, internalComponents, isFunction, isNumber, isObject, isString, toCamelCase } from '@tarojs/shared'\n\nexport type Props = Record<string, unknown>\n\nfunction isEventName (s: string) {\n return s[0] === 'o' && s[1] === 'n'\n}\n\nconst IS_NON_DIMENSIONAL = /acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i\n\nexport function updateProps (dom: TaroElement, oldProps: Props, newProps: Props) {\n const updatePayload = getUpdatePayload(dom, oldProps, newProps)\n if(updatePayload){\n updatePropsByPayload(dom, oldProps, updatePayload)\n }\n}\n\nexport function updatePropsByPayload (dom: TaroElement, oldProps: Props, updatePayload: any[]){\n for(let i = 0; i < updatePayload.length; i += 2){ // key, value 成对出现\n const key = updatePayload[i]; const newProp = updatePayload[i+1]; const oldProp = oldProps[key]\n setProperty(dom, key, newProp, oldProp)\n }\n}\n\nexport function getUpdatePayload (dom: TaroElement, oldProps: Props, newProps: Props){\n let i: string\n let updatePayload: any[] | null = null\n\n for (i in oldProps) {\n if (!(i in newProps)) {\n (updatePayload = updatePayload || []).push(i, null)\n }\n }\n const isFormElement = dom instanceof FormElement\n for (i in newProps) {\n if (oldProps[i] !== newProps[i] || (isFormElement && i === 'value')) {\n (updatePayload = updatePayload || []).push(i, newProps[i])\n }\n }\n\n return updatePayload\n}\n\n// function eventProxy (e: CommonEvent) {\n// const el = document.getElementById(e.currentTarget.id)\n// const handlers = el!.__handlers[e.type]\n// handlers[0](e)\n// }\n\nfunction setEvent (dom: TaroElement, name: string, value: unknown, oldValue?: unknown) {\n const isCapture = name.endsWith('Capture')\n let eventName = name.toLowerCase().slice(2)\n if (isCapture) {\n eventName = eventName.slice(0, -7)\n }\n\n const compName = capitalize(toCamelCase(dom.tagName.toLowerCase()))\n\n if (eventName === 'click' && compName in internalComponents) {\n eventName = 'tap'\n }\n\n if (isFunction(value)) {\n if (oldValue) {\n dom.removeEventListener(eventName, oldValue as any, false)\n dom.addEventListener(eventName, value, { isCapture, sideEffect: false })\n } else {\n dom.addEventListener(eventName, value, isCapture)\n }\n } else {\n dom.removeEventListener(eventName, oldValue as any)\n }\n}\n\nfunction setStyle (style: Style, key: string, value: string | number) {\n if (key[0] === '-') {\n style.setProperty(key, value.toString())\n // css variables need not further judgment\n return\n }\n\n style[key] =\n isNumber(value) && IS_NON_DIMENSIONAL.test(key) === false\n ? value + 'px'\n : value == null\n ? ''\n : value\n}\n\ntype StyleValue = Record<string, string | number>\ninterface DangerouslySetInnerHTML {\n __html?: string\n}\n\nfunction setProperty (dom: TaroElement, name: string, value: unknown, oldValue?: unknown) {\n name = name === 'className' ? 'class' : name\n\n if (\n name === 'key' ||\n name === 'children' ||\n name === 'ref'\n ) {\n // skip\n } else if (name === 'style') {\n const style = dom.style\n if (isString(value)) {\n style.cssText = value\n } else {\n if (isString(oldValue)) {\n style.cssText = ''\n oldValue = null\n }\n\n if (isObject<StyleValue>(oldValue)) {\n for (const i in oldValue) {\n if (!(value && i in (value as StyleValue))) {\n setStyle(style, i, '')\n }\n }\n }\n\n if (isObject<StyleValue>(value)) {\n for (const i in value) {\n if (!oldValue || value[i] !== (oldValue as StyleValue)[i]) {\n setStyle(style, i, value[i])\n }\n }\n }\n }\n } else if (isEventName(name)) {\n setEvent(dom, name, value, oldValue)\n } else if (name === 'dangerouslySetInnerHTML') {\n const newHtml = (value as DangerouslySetInnerHTML)?.__html ?? ''\n const oldHtml = (oldValue as DangerouslySetInnerHTML)?.__html ?? ''\n if (newHtml || oldHtml) {\n if (oldHtml !== newHtml) {\n dom.innerHTML = newHtml\n }\n }\n } else if (!isFunction(value)) {\n if (value == null) {\n dom.removeAttribute(name)\n } else {\n dom.setAttribute(name, value as string)\n }\n }\n}\n","/* eslint-disable @typescript-eslint/indent */\nimport { document, TaroElement, TaroText } from '@tarojs/runtime'\nimport { isBoolean, isUndefined, noop } from '@tarojs/shared'\nimport Reconciler, { HostConfig } from 'react-reconciler'\nimport { DefaultEventPriority } from 'react-reconciler/constants'\n\nimport { getUpdatePayload, Props, updateProps, updatePropsByPayload } from './props'\n\nconst hostConfig: HostConfig<\n string, // Type\n Props, // Props\n TaroElement, // Container\n TaroElement, // Instance\n TaroText, // TextInstance\n TaroElement, // SuspenseInstance\n TaroElement, // HydratableInstance\n TaroElement, // PublicInstance\n Record<string, any>, // HostContext\n string[], // UpdatePayload\n unknown, // ChildSet\n unknown, // TimeoutHandle\n unknown // NoTimeout\n> & {\n supportsMicrotasks: boolean // 待官方类型文件修复后删除\n} = {\n // below keys order by {React ReactFiberHostConfig.custom.js}, convenient for comparing each other.\n\n // -------------------\n // required by @types/react-reconciler\n // -------------------\n getPublicInstance (inst: TaroElement) {\n return inst\n },\n getRootHostContext () {\n return {}\n },\n getChildHostContext (parentHostContext) {\n return parentHostContext\n },\n prepareForCommit (..._: any[]) {\n return null\n },\n resetAfterCommit: noop,\n createInstance (type) {\n return document.createElement(type)\n },\n appendInitialChild (parent, child) {\n parent.appendChild(child)\n },\n finalizeInitialChildren (dom, _, props: any) {\n updateProps(dom, {}, props) // 提前执行更新属性操作,Taro 在 Page 初始化后会立即从 dom 读取必要信息\n return false\n },\n prepareUpdate (instance, _, oldProps, newProps) {\n return getUpdatePayload(instance, oldProps, newProps)\n },\n shouldSetTextContent () {\n return false\n },\n createTextInstance (text) {\n return document.createTextNode(text)\n },\n scheduleTimeout: setTimeout,\n cancelTimeout: clearTimeout,\n noTimeout: -1,\n isPrimaryRenderer: true,\n warnsIfNotActing: true,\n supportsMutation: true,\n supportsPersistence: false,\n supportsHydration: false,\n getInstanceFromNode: () => null,\n beforeActiveInstanceBlur: noop,\n afterActiveInstanceBlur: noop,\n preparePortalMount: noop,\n prepareScopeUpdate: noop,\n getInstanceFromScope: () => null,\n getCurrentEventPriority () {\n return DefaultEventPriority\n },\n detachDeletedInstance: noop,\n\n // -------------------\n // Microtasks\n // (optional)\n // -------------------\n supportsMicrotasks: true,\n scheduleMicrotask: isUndefined(Promise)\n ? setTimeout\n : (callback) =>\n Promise.resolve(null)\n .then(callback)\n .catch(function (error) {\n setTimeout(() => {\n throw error\n })\n }),\n\n // -------------------\n // Mutation\n // (required if supportsMutation is true)\n // -------------------\n appendChild (parent, child) {\n parent.appendChild(child)\n },\n appendChildToContainer (parent, child) {\n parent.appendChild(child)\n },\n commitTextUpdate (textInst, _, newText) {\n textInst.nodeValue = newText\n },\n commitMount: noop,\n commitUpdate (dom, updatePayload, _, oldProps) {\n updatePropsByPayload(dom, oldProps, updatePayload)\n },\n insertBefore (parent, child, refChild) {\n parent.insertBefore(child, refChild)\n },\n insertInContainerBefore (parent, child, refChild) {\n parent.insertBefore(child, refChild)\n },\n removeChild (parent, child) {\n parent.removeChild(child)\n },\n removeChildFromContainer (parent, child) {\n parent.removeChild(child)\n },\n resetTextContent: noop,\n hideInstance (instance) {\n const style = instance.style\n style.setProperty('display', 'none')\n },\n hideTextInstance (textInstance) {\n textInstance.nodeValue = ''\n },\n unhideInstance (instance, props) {\n const styleProp = props.style as {display?: any}\n let display = styleProp?.hasOwnProperty('display') ? styleProp.display : null\n display = display == null || isBoolean(display) || display === '' ? '' : ('' + display).trim()\n // eslint-disable-next-line dot-notation\n instance.style['display'] = display\n },\n unhideTextInstance (textInstance, text) {\n textInstance.nodeValue = text\n },\n clearContainer (element) {\n if (element.childNodes.length > 0) {\n element.textContent = ''\n }\n },\n}\n\nconst TaroReconciler = Reconciler(hostConfig)\n\nif (process.env.NODE_ENV !== 'production') {\n const foundDevTools = TaroReconciler.injectIntoDevTools({\n bundleType: 1,\n version: '18.0.0',\n rendererPackageName: 'taro-react',\n })\n if (!foundDevTools) {\n // eslint-disable-next-line no-console\n console.info(\n '%cDownload the React DevTools ' +\n 'for a better development experience: ' +\n 'https://reactjs.org/link/react-devtools',\n 'font-weight:bold'\n )\n }\n}\n\nexport { TaroReconciler }\n","import { TaroElement } from '@tarojs/runtime'\nimport { ReactNode } from 'react'\nimport { OpaqueRoot } from 'react-reconciler'\n\nimport { TaroReconciler } from './reconciler'\n\nexport const ContainerMap: WeakMap<TaroElement, Root> = new WeakMap()\n\ntype Renderer = typeof TaroReconciler\n\ntype CreateRootOptions = {\n unstable_strictMode?: boolean\n unstable_concurrentUpdatesByDefault?: boolean\n unstable_transitionCallbacks?: any\n identifierPrefix?: string\n onRecoverableError?: (error: any) => void\n}\n\nexport type Callback = () => void | null | undefined\n\nclass Root {\n private renderer: Renderer\n private internalRoot: OpaqueRoot\n\n public constructor (renderer: Renderer, domContainer: TaroElement, options?: CreateRootOptions) {\n this.renderer = renderer\n this.initInternalRoot(renderer, domContainer, options)\n }\n\n private initInternalRoot (renderer: Renderer, domContainer: TaroElement, options?: CreateRootOptions) {\n // Since react-reconciler v0.27, createContainer need more parameters\n // @see:https://github.com/facebook/react/blob/0b974418c9a56f6c560298560265dcf4b65784bc/packages/react-reconciler/src/ReactFiberReconciler.js#L248\n const containerInfo = domContainer\n if (options) {\n const tag = 1 // ConcurrentRoot\n const concurrentUpdatesByDefaultOverride = false\n let isStrictMode = false\n let identifierPrefix = ''\n let onRecoverableError = (error: any) => console.error(error)\n let transitionCallbacks = null\n if (options.unstable_strictMode === true) {\n isStrictMode = true\n }\n if (options.identifierPrefix !== undefined) {\n identifierPrefix = options.identifierPrefix\n }\n if (options.onRecoverableError !== undefined) {\n onRecoverableError = options.onRecoverableError\n }\n if (options.unstable_transitionCallbacks !== undefined) {\n transitionCallbacks = options.unstable_transitionCallbacks\n }\n\n this.internalRoot = renderer.createContainer(\n containerInfo,\n tag,\n null, // hydrationCallbacks\n isStrictMode,\n concurrentUpdatesByDefaultOverride,\n identifierPrefix,\n onRecoverableError,\n transitionCallbacks\n )\n } else {\n const tag = 0 // LegacyRoot\n this.internalRoot = renderer.createContainer(\n containerInfo,\n tag,\n null, // hydrationCallbacks\n false, // isStrictMode\n false, // concurrentUpdatesByDefaultOverride,\n '', // identifierPrefix\n () => {}, // onRecoverableError, this isn't reachable because onRecoverableError isn't called in the legacy API.\n null // transitionCallbacks\n )\n }\n }\n\n public render (children: ReactNode, cb: Callback) {\n const { renderer, internalRoot } = this\n renderer.updateContainer(children, internalRoot, null, cb)\n return renderer.getPublicRootInstance(internalRoot)\n }\n\n public unmount (cb: Callback) {\n this.renderer.updateContainer(null, this.internalRoot, null, cb)\n }\n}\n\nexport function render (element: ReactNode, domContainer: TaroElement, cb: Callback) {\n const oldRoot = ContainerMap.get(domContainer)\n if (oldRoot != null) {\n return oldRoot.render(element, cb)\n }\n\n const root = new Root(TaroReconciler, domContainer)\n ContainerMap.set(domContainer, root)\n return root.render(element, cb)\n}\n\nexport function createRoot (domContainer: TaroElement, options: CreateRootOptions = {}) {\n const oldRoot = ContainerMap.get(domContainer)\n if (oldRoot != null) {\n return oldRoot\n }\n // options should be an object\n const root = new Root(TaroReconciler, domContainer, options)\n ContainerMap.set(domContainer, root)\n return root\n}\n","/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { TaroElement } from '@tarojs/runtime'\nimport { ensure, isFunction } from '@tarojs/shared'\nimport { ReactNode } from 'react'\n\nimport { TaroReconciler } from './reconciler'\nimport { ContainerMap, createRoot, render } from './render'\n\nconst unstable_batchedUpdates = TaroReconciler.batchedUpdates\n\nfunction unmountComponentAtNode (dom: TaroElement) {\n ensure(dom && [1, 8, 9, 11].includes(dom.nodeType), 'unmountComponentAtNode(...): Target container is not a DOM element.')\n\n const root = ContainerMap.get(dom)\n\n if (!root) return false\n\n unstable_batchedUpdates(() => {\n root.unmount(() => {\n ContainerMap.delete(dom)\n })\n }, null)\n\n return true\n}\n\nfunction findDOMNode (comp?: TaroElement | ReactNode) {\n if (comp == null) {\n return null\n }\n\n const nodeType = (comp as TaroElement).nodeType\n if (nodeType === 1 || nodeType === 3) {\n return comp\n }\n\n return TaroReconciler.findHostInstance(comp as Record<string, any>)\n}\n\nconst portalType = isFunction(Symbol) && Symbol.for\n ? Symbol.for('react.portal')\n : 0xeaca\n\nfunction createPortal (\n children: ReactNode,\n containerInfo: TaroElement,\n key?: string\n) {\n return {\n $$typeof: portalType,\n key: key == null ? null : String(key),\n children,\n containerInfo,\n implementation: null\n }\n}\n\nexport {\n createPortal,\n createRoot,\n findDOMNode,\n render,\n unmountComponentAtNode,\n unstable_batchedUpdates\n}\n\nexport default {\n render,\n createRoot,\n unstable_batchedUpdates,\n unmountComponentAtNode,\n findDOMNode,\n createPortal\n}\n"],"names":[],"mappings":";;;;;AAKA,SAAS,WAAW,CAAE,CAAS,EAAA;AAC7B,IAAA,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA;AACrC,CAAC;AAED,MAAM,kBAAkB,GAAG,mEAAmE,CAAA;SAE9E,WAAW,CAAE,GAAgB,EAAE,QAAe,EAAE,QAAe,EAAA;IAC7E,MAAM,aAAa,GAAG,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;AAC/D,IAAA,IAAG,aAAa,EAAC;AACf,QAAA,oBAAoB,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAA;AACnD,KAAA;AACH,CAAC;SAEe,oBAAoB,CAAE,GAAgB,EAAE,QAAe,EAAE,aAAoB,EAAA;AAC3F,IAAA,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAC;AAC9C,QAAA,MAAM,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAAC,MAAM,OAAO,GAAG,aAAa,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC;AAAC,QAAA,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;QAC/F,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAA;AACxC,KAAA;AACH,CAAC;SAEe,gBAAgB,CAAE,GAAgB,EAAE,QAAe,EAAE,QAAe,EAAA;AAClF,IAAA,IAAI,CAAS,CAAA;IACb,IAAI,aAAa,GAAiB,IAAI,CAAA;IAEtC,KAAK,CAAC,IAAI,QAAQ,EAAE;AAClB,QAAA,IAAI,EAAE,CAAC,IAAI,QAAQ,CAAC,EAAE;AACpB,YAAA,CAAC,aAAa,GAAG,aAAa,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AACpD,SAAA;AACF,KAAA;AACD,IAAA,MAAM,aAAa,GAAG,GAAG,YAAY,WAAW,CAAA;IAChD,KAAK,CAAC,IAAI,QAAQ,EAAE;AAClB,QAAA,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,aAAa,IAAI,CAAC,KAAK,OAAO,CAAC,EAAE;AACnE,YAAA,CAAC,aAAa,GAAG,aAAa,IAAI,EAAE,EAAE,IAAI,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;AAC3D,SAAA;AACF,KAAA;AAED,IAAA,OAAO,aAAa,CAAA;AACtB,CAAC;AAED;AACA;AACA;AACA;AACA;AAEA,SAAS,QAAQ,CAAE,GAAgB,EAAE,IAAY,EAAE,KAAc,EAAE,QAAkB,EAAA;IACnF,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC1C,IAAI,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;AAC3C,IAAA,IAAI,SAAS,EAAE;QACb,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACnC,KAAA;AAED,IAAA,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;AAEnE,IAAA,IAAI,SAAS,KAAK,OAAO,IAAI,QAAQ,IAAI,kBAAkB,EAAE;QAC3D,SAAS,GAAG,KAAK,CAAA;AAClB,KAAA;AAED,IAAA,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;AACrB,QAAA,IAAI,QAAQ,EAAE;YACZ,GAAG,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAe,EAAE,KAAK,CAAC,CAAA;AAC1D,YAAA,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;AACzE,SAAA;AAAM,aAAA;YACL,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,CAAC,CAAA;AAClD,SAAA;AACF,KAAA;AAAM,SAAA;AACL,QAAA,GAAG,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAe,CAAC,CAAA;AACpD,KAAA;AACH,CAAC;AAED,SAAS,QAAQ,CAAE,KAAY,EAAE,GAAW,EAAE,KAAsB,EAAA;AAClE,IAAA,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;QAClB,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAA;;QAExC,OAAM;AACP,KAAA;IAED,KAAK,CAAC,GAAG,CAAC;QACR,QAAQ,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK;cACrD,KAAK,GAAG,IAAI;cACZ,KAAK,IAAI,IAAI;AACb,kBAAE,EAAE;kBACF,KAAK,CAAA;AACf,CAAC;AAOD,SAAS,WAAW,CAAE,GAAgB,EAAE,IAAY,EAAE,KAAc,EAAE,QAAkB,EAAA;;AACtF,IAAA,IAAI,GAAG,IAAI,KAAK,WAAW,GAAG,OAAO,GAAG,IAAI,CAAA;IAE5C,IACE,IAAI,KAAK,KAAK;AACd,QAAA,IAAI,KAAK,UAAU;QACnB,IAAI,KAAK,KAAK,EACd,CAED;SAAM,IAAI,IAAI,KAAK,OAAO,EAAE;AAC3B,QAAA,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAA;AACvB,QAAA,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AACnB,YAAA,KAAK,CAAC,OAAO,GAAG,KAAK,CAAA;AACtB,SAAA;AAAM,aAAA;AACL,YAAA,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE;AACtB,gBAAA,KAAK,CAAC,OAAO,GAAG,EAAE,CAAA;gBAClB,QAAQ,GAAG,IAAI,CAAA;AAChB,aAAA;AAED,YAAA,IAAI,QAAQ,CAAa,QAAQ,CAAC,EAAE;AAClC,gBAAA,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;oBACxB,IAAI,EAAE,KAAK,IAAI,CAAC,IAAK,KAAoB,CAAC,EAAE;AAC1C,wBAAA,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;AACvB,qBAAA;AACF,iBAAA;AACF,aAAA;AAED,YAAA,IAAI,QAAQ,CAAa,KAAK,CAAC,EAAE;AAC/B,gBAAA,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;AACrB,oBAAA,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAM,QAAuB,CAAC,CAAC,CAAC,EAAE;wBACzD,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AAC7B,qBAAA;AACF,iBAAA;AACF,aAAA;AACF,SAAA;AACF,KAAA;AAAM,SAAA,IAAI,WAAW,CAAC,IAAI,CAAC,EAAE;QAC5B,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAA;AACrC,KAAA;SAAM,IAAI,IAAI,KAAK,yBAAyB,EAAE;AAC7C,QAAA,MAAM,OAAO,GAAG,CAAC,EAAA,GAAA,KAAiC,KAAjC,IAAA,IAAA,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAA8B,MAAM,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAA;AAChE,QAAA,MAAM,OAAO,GAAG,CAAC,EAAA,GAAA,QAAoC,KAApC,IAAA,IAAA,QAAQ,KAAR,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,QAAQ,CAA8B,MAAM,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,EAAE,CAAA;QACnE,IAAI,OAAO,IAAI,OAAO,EAAE;YACtB,IAAI,OAAO,KAAK,OAAO,EAAE;AACvB,gBAAA,GAAG,CAAC,SAAS,GAAG,OAAO,CAAA;AACxB,aAAA;AACF,SAAA;AACF,KAAA;AAAM,SAAA,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;QAC7B,IAAI,KAAK,IAAI,IAAI,EAAE;AACjB,YAAA,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;AAC1B,SAAA;AAAM,aAAA;AACL,YAAA,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE,KAAe,CAAC,CAAA;AACxC,SAAA;AACF,KAAA;AACH;;ACnJA;AAQA,MAAM,UAAU,GAgBZ;;;;;AAMF,IAAA,iBAAiB,CAAE,IAAiB,EAAA;AAClC,QAAA,OAAO,IAAI,CAAA;KACZ;IACD,kBAAkB,GAAA;AAChB,QAAA,OAAO,EAAE,CAAA;KACV;AACD,IAAA,mBAAmB,CAAE,iBAAiB,EAAA;AACpC,QAAA,OAAO,iBAAiB,CAAA;KACzB;IACD,gBAAgB,CAAE,GAAG,CAAQ,EAAA;AAC3B,QAAA,OAAO,IAAI,CAAA;KACZ;AACD,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,cAAc,CAAE,IAAI,EAAA;AAClB,QAAA,OAAO,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;KACpC;IACD,kBAAkB,CAAE,MAAM,EAAE,KAAK,EAAA;AAC/B,QAAA,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;KAC1B;AACD,IAAA,uBAAuB,CAAE,GAAG,EAAE,CAAC,EAAE,KAAU,EAAA;QACzC,WAAW,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;AAC3B,QAAA,OAAO,KAAK,CAAA;KACb;AACD,IAAA,aAAa,CAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAA;QAC5C,OAAO,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;KACtD;IACD,oBAAoB,GAAA;AAClB,QAAA,OAAO,KAAK,CAAA;KACb;AACD,IAAA,kBAAkB,CAAE,IAAI,EAAA;AACtB,QAAA,OAAO,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;KACrC;AACD,IAAA,eAAe,EAAE,UAAU;AAC3B,IAAA,aAAa,EAAE,YAAY;IAC3B,SAAS,EAAE,CAAC,CAAC;AACb,IAAA,iBAAiB,EAAE,IAAI;AACvB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,mBAAmB,EAAE,KAAK;AAC1B,IAAA,iBAAiB,EAAE,KAAK;AACxB,IAAA,mBAAmB,EAAE,MAAM,IAAI;AAC/B,IAAA,wBAAwB,EAAE,IAAI;AAC9B,IAAA,uBAAuB,EAAE,IAAI;AAC7B,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,oBAAoB,EAAE,MAAM,IAAI;IAChC,uBAAuB,GAAA;AACrB,QAAA,OAAO,oBAAoB,CAAA;KAC5B;AACD,IAAA,qBAAqB,EAAE,IAAI;;;;;AAM3B,IAAA,kBAAkB,EAAE,IAAI;AACxB,IAAA,iBAAiB,EAAE,WAAW,CAAC,OAAO,CAAC;AACrC,UAAE,UAAU;UACV,CAAC,QAAQ,KACP,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;aAClB,IAAI,CAAC,QAAQ,CAAC;aACd,KAAK,CAAC,UAAU,KAAK,EAAA;YACpB,UAAU,CAAC,MAAK;AACd,gBAAA,MAAM,KAAK,CAAA;AACb,aAAC,CAAC,CAAA;AACJ,SAAC,CAAC;;;;;IAMV,WAAW,CAAE,MAAM,EAAE,KAAK,EAAA;AACxB,QAAA,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;KAC1B;IACD,sBAAsB,CAAE,MAAM,EAAE,KAAK,EAAA;AACnC,QAAA,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;KAC1B;AACD,IAAA,gBAAgB,CAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAA;AACpC,QAAA,QAAQ,CAAC,SAAS,GAAG,OAAO,CAAA;KAC7B;AACD,IAAA,WAAW,EAAE,IAAI;AACjB,IAAA,YAAY,CAAE,GAAG,EAAE,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAA;AAC3C,QAAA,oBAAoB,CAAC,GAAG,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAA;KACnD;AACD,IAAA,YAAY,CAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAA;AACnC,QAAA,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;KACrC;AACD,IAAA,uBAAuB,CAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAA;AAC9C,QAAA,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;KACrC;IACD,WAAW,CAAE,MAAM,EAAE,KAAK,EAAA;AACxB,QAAA,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;KAC1B;IACD,wBAAwB,CAAE,MAAM,EAAE,KAAK,EAAA;AACrC,QAAA,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;KAC1B;AACD,IAAA,gBAAgB,EAAE,IAAI;AACtB,IAAA,YAAY,CAAE,QAAQ,EAAA;AACpB,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;AAC5B,QAAA,KAAK,CAAC,WAAW,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;KACrC;AACD,IAAA,gBAAgB,CAAE,YAAY,EAAA;AAC5B,QAAA,YAAY,CAAC,SAAS,GAAG,EAAE,CAAA;KAC5B;IACD,cAAc,CAAE,QAAQ,EAAE,KAAK,EAAA;AAC7B,QAAA,MAAM,SAAS,GAAG,KAAK,CAAC,KAAwB,CAAA;QAChD,IAAI,OAAO,GAAG,CAAA,SAAS,aAAT,SAAS,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAT,SAAS,CAAE,cAAc,CAAC,SAAS,CAAC,IAAG,SAAS,CAAC,OAAO,GAAG,IAAI,CAAA;AAC7E,QAAA,OAAO,GAAG,OAAO,IAAI,IAAI,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,CAAA;;AAE9F,QAAA,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,OAAO,CAAA;KACpC;IACD,kBAAkB,CAAE,YAAY,EAAE,IAAI,EAAA;AACpC,QAAA,YAAY,CAAC,SAAS,GAAG,IAAI,CAAA;KAC9B;AACD,IAAA,cAAc,CAAE,OAAO,EAAA;AACrB,QAAA,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;AACjC,YAAA,OAAO,CAAC,WAAW,GAAG,EAAE,CAAA;AACzB,SAAA;KACF;CACF,CAAA;AAED,MAAM,cAAc,GAAG,UAAU,CAAC,UAAU,CAAC,CAAA;AAE7C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;AACzC,IAAA,MAAM,aAAa,GAAG,cAAc,CAAC,kBAAkB,CAAC;AACtD,QAAA,UAAU,EAAE,CAAC;AACb,QAAA,OAAO,EAAE,QAAQ;AACjB,QAAA,mBAAmB,EAAE,YAAY;AAClC,KAAA,CAAC,CAAA;IACF,IAAI,CAAC,aAAa,EAAE;;QAElB,OAAO,CAAC,IAAI,CACV,gCAAgC;YAC9B,uCAAuC;YACvC,yCAAyC,EAC3C,kBAAkB,CACnB,CAAA;AACF,KAAA;AACF;;AClKM,MAAM,YAAY,GAA+B,IAAI,OAAO,EAAE,CAAA;AAcrE,MAAM,IAAI,CAAA;AAIR,IAAA,WAAA,CAAoB,QAAkB,EAAE,YAAyB,EAAE,OAA2B,EAAA;AAC5F,QAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;KACvD;AAEO,IAAA,gBAAgB,CAAE,QAAkB,EAAE,YAAyB,EAAE,OAA2B,EAAA;;;QAGlG,MAAM,aAAa,GAAG,YAAY,CAAA;AAClC,QAAA,IAAI,OAAO,EAAE;AACX,YAAA,MAAM,GAAG,GAAG,CAAC,CAAA;YACb,MAAM,kCAAkC,GAAG,KAAK,CAAA;YAChD,IAAI,YAAY,GAAG,KAAK,CAAA;YACxB,IAAI,gBAAgB,GAAG,EAAE,CAAA;AACzB,YAAA,IAAI,kBAAkB,GAAG,CAAC,KAAU,KAAK,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;YAC7D,IAAI,mBAAmB,GAAG,IAAI,CAAA;AAC9B,YAAA,IAAI,OAAO,CAAC,mBAAmB,KAAK,IAAI,EAAE;gBACxC,YAAY,GAAG,IAAI,CAAA;AACpB,aAAA;AACD,YAAA,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE;AAC1C,gBAAA,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAA;AAC5C,aAAA;AACD,YAAA,IAAI,OAAO,CAAC,kBAAkB,KAAK,SAAS,EAAE;AAC5C,gBAAA,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAA;AAChD,aAAA;AACD,YAAA,IAAI,OAAO,CAAC,4BAA4B,KAAK,SAAS,EAAE;AACtD,gBAAA,mBAAmB,GAAG,OAAO,CAAC,4BAA4B,CAAA;AAC3D,aAAA;AAED,YAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,eAAe,CAC1C,aAAa,EACb,GAAG,EACH,IAAI;YACJ,YAAY,EACZ,kCAAkC,EAClC,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,CACpB,CAAA;AACF,SAAA;AAAM,aAAA;AACL,YAAA,MAAM,GAAG,GAAG,CAAC,CAAA;AACb,YAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,eAAe,CAC1C,aAAa,EACb,GAAG,EACH,IAAI;AACJ,YAAA,KAAK;AACL,YAAA,KAAK;AACL,YAAA,EAAE;AACF,YAAA,MAAK,GAAG;AACR,YAAA,IAAI;aACL,CAAA;AACF,SAAA;KACF;IAEM,MAAM,CAAE,QAAmB,EAAE,EAAY,EAAA;AAC9C,QAAA,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAA;QACvC,QAAQ,CAAC,eAAe,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;AAC1D,QAAA,OAAO,QAAQ,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAA;KACpD;AAEM,IAAA,OAAO,CAAE,EAAY,EAAA;AAC1B,QAAA,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;KACjE;AACF,CAAA;SAEe,MAAM,CAAE,OAAkB,EAAE,YAAyB,EAAE,EAAY,EAAA;IACjF,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAC9C,IAAI,OAAO,IAAI,IAAI,EAAE;QACnB,OAAO,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;AACnC,KAAA;IAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAA;AACnD,IAAA,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IACpC,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,CAAA;AACjC,CAAC;SAEe,UAAU,CAAE,YAAyB,EAAE,UAA6B,EAAE,EAAA;IACpF,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;IAC9C,IAAI,OAAO,IAAI,IAAI,EAAE;AACnB,QAAA,OAAO,OAAO,CAAA;AACf,KAAA;;IAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;AAC5D,IAAA,YAAY,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;AACpC,IAAA,OAAO,IAAI,CAAA;AACb;;ACrGA,MAAM,uBAAuB,GAAG,cAAc,CAAC,eAAc;AAE7D,SAAS,sBAAsB,CAAE,GAAgB,EAAA;IAC/C,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,qEAAqE,CAAC,CAAA;IAE1H,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;AAElC,IAAA,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,KAAK,CAAA;IAEvB,uBAAuB,CAAC,MAAK;AAC3B,QAAA,IAAI,CAAC,OAAO,CAAC,MAAK;AAChB,YAAA,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;AAC1B,SAAC,CAAC,CAAA;KACH,EAAE,IAAI,CAAC,CAAA;AAER,IAAA,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,WAAW,CAAE,IAA8B,EAAA;IAClD,IAAI,IAAI,IAAI,IAAI,EAAE;AAChB,QAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AAED,IAAA,MAAM,QAAQ,GAAI,IAAoB,CAAC,QAAQ,CAAA;AAC/C,IAAA,IAAI,QAAQ,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,EAAE;AACpC,QAAA,OAAO,IAAI,CAAA;AACZ,KAAA;AAED,IAAA,OAAO,cAAc,CAAC,gBAAgB,CAAC,IAA2B,CAAC,CAAA;AACrE,CAAC;AAED,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,GAAG;AACjD,MAAE,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;MAC1B,MAAM,CAAA;AAEV,SAAS,YAAY,CACnB,QAAmB,EACnB,aAA0B,EAC1B,GAAY,EAAA;IAEZ,OAAO;AACL,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,GAAG,EAAE,GAAG,IAAI,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC;QACrC,QAAQ;QACR,aAAa;AACb,QAAA,cAAc,EAAE,IAAI;KACrB,CAAA;AACH,CAAC;AAWD,YAAe;IACb,MAAM;IACN,UAAU;IACV,uBAAuB;IACvB,sBAAsB;IACtB,WAAW;IACX,YAAY;CACb;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tarojs/react",
|
|
3
|
-
"version": "3.6.0-beta.
|
|
3
|
+
"version": "3.6.0-beta.2",
|
|
4
4
|
"description": "like react-dom, but for mini apps.",
|
|
5
5
|
"author": "yuche <i@yuche.me>",
|
|
6
6
|
"homepage": "https://github.com/nervjs/taro/tree/master/packages/taro-react#readme",
|
|
@@ -19,9 +19,8 @@
|
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
21
|
"react-reconciler": "0.27.0",
|
|
22
|
-
"
|
|
23
|
-
"@tarojs/
|
|
24
|
-
"@tarojs/shared": "3.6.0-beta.0"
|
|
22
|
+
"@tarojs/runtime": "3.6.0-beta.2",
|
|
23
|
+
"@tarojs/shared": "3.6.0-beta.2"
|
|
25
24
|
},
|
|
26
25
|
"devDependencies": {
|
|
27
26
|
"react": "^18.2.0"
|