@tarojs/plugin-platform-harmony-ets 4.0.0-beta.11 → 4.0.0-beta.110
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/dist/apis/base/system.ts +73 -20
- package/dist/apis/canvas/index.ts +10 -1
- package/dist/apis/device/clipboard.ts +16 -8
- package/dist/apis/framework/index.ts +1 -5
- package/dist/apis/index.ts +25 -17
- package/dist/apis/media/image/index.ts +1 -1
- package/dist/apis/storage/index.ts +135 -131
- package/dist/apis/ui/animation/animation.ts +71 -29
- package/dist/apis/ui/background.ts +2 -1
- package/dist/apis/ui/interaction/index.ts +42 -59
- package/dist/apis/ui/navigation-bar/index.ts +1 -1
- package/dist/apis/ui/pull-down-refresh.ts +9 -3
- package/dist/apis/ui/scroll/index.ts +5 -5
- package/dist/apis/ui/tab-bar.ts +3 -3
- package/dist/apis/utils/index.ts +2 -1
- package/dist/apis/wxml/IntersectionObserver.ts +18 -10
- package/dist/apis/wxml/selectorQuery.ts +26 -13
- package/dist/components-harmony-ets/button.ets +35 -8
- package/dist/components-harmony-ets/canvas.ets +51 -0
- package/dist/components-harmony-ets/checkbox.ets +70 -60
- package/dist/components-harmony-ets/form.ets +35 -16
- package/dist/components-harmony-ets/icon.ets +16 -8
- package/dist/components-harmony-ets/image.ets +22 -6
- package/dist/components-harmony-ets/index.ets +92 -0
- package/dist/components-harmony-ets/innerHtml.ets +6 -5
- package/dist/components-harmony-ets/input.ets +62 -40
- package/dist/components-harmony-ets/label.ets +44 -21
- package/dist/components-harmony-ets/listView.ets +31 -0
- package/dist/components-harmony-ets/movableArea.ets +112 -53
- package/dist/components-harmony-ets/movableView.ets +75 -48
- package/dist/components-harmony-ets/navigationBar.ets +65 -0
- package/dist/components-harmony-ets/pageMeta.ets +94 -0
- package/dist/components-harmony-ets/picker.ets +41 -38
- package/dist/components-harmony-ets/progress.ets +31 -24
- package/dist/components-harmony-ets/pseudo.ets +80 -0
- package/dist/components-harmony-ets/radio.ets +76 -66
- package/dist/components-harmony-ets/richText.ets +4 -25
- package/dist/components-harmony-ets/scrollList.ets +103 -0
- package/dist/components-harmony-ets/scrollView.ets +47 -47
- package/dist/components-harmony-ets/slider.ets +18 -14
- package/dist/components-harmony-ets/stickySection.ets +42 -0
- package/dist/components-harmony-ets/style.ets +386 -130
- package/dist/components-harmony-ets/swiper.ets +41 -4
- package/dist/components-harmony-ets/switch.ets +35 -31
- package/dist/components-harmony-ets/{index.ts → tag.ts} +6 -0
- package/dist/components-harmony-ets/text.ets +102 -46
- package/dist/components-harmony-ets/textArea.ets +49 -34
- package/dist/components-harmony-ets/utils/AttributeManager.ets +2 -2
- package/dist/components-harmony-ets/utils/DynamicCenter.ts +2 -2
- package/dist/components-harmony-ets/utils/flexManager.ets +49 -19
- package/dist/components-harmony-ets/utils/helper.ets +20 -8
- package/dist/components-harmony-ets/utils/htmlParser/HarmonyHTMLParser.ts +1 -2
- package/dist/components-harmony-ets/utils/htmlParser/index.ts +1 -1
- package/dist/components-harmony-ets/utils/index.ts +54 -50
- package/dist/components-harmony-ets/utils/styles.ets +170 -93
- package/dist/components-harmony-ets/video.ets +27 -19
- package/dist/components-harmony-ets/view.ets +47 -40
- package/dist/components-harmony-ets/webView.ets +6 -5
- package/dist/index.d.ts +152 -0
- package/dist/index.js +69 -43
- package/dist/index.js.map +1 -1
- package/dist/runtime-ets/bom/document.ts +6 -4
- package/dist/runtime-ets/bom/getComputedStyle.ts +2 -2
- package/dist/runtime-ets/bom/window.ts +7 -0
- package/dist/runtime-ets/current.ts +5 -1
- package/dist/runtime-ets/dom/bind.ts +28 -12
- package/dist/runtime-ets/dom/class-list.ts +2 -2
- package/dist/runtime-ets/dom/cssNesting.ts +419 -0
- package/dist/runtime-ets/dom/cssStyleDeclaration.ts +28 -42
- package/dist/runtime-ets/dom/document.ts +8 -11
- package/dist/runtime-ets/dom/element/canvas.ts +136 -0
- package/dist/runtime-ets/dom/element/element.ts +376 -56
- package/dist/runtime-ets/dom/element/form.ts +20 -22
- package/dist/runtime-ets/dom/element/index.ts +22 -2
- package/dist/runtime-ets/dom/element/movableArea.ts +0 -1
- package/dist/runtime-ets/dom/element/movableView.ts +234 -2
- package/dist/runtime-ets/dom/element/normal.ts +27 -6
- package/dist/runtime-ets/dom/element/progress.ts +0 -2
- package/dist/runtime-ets/dom/element/text.ts +0 -8
- package/dist/runtime-ets/dom/element/video.ts +4 -4
- package/dist/runtime-ets/dom/element/webView.ts +4 -5
- package/dist/runtime-ets/dom/event.ts +3 -5
- package/dist/runtime-ets/dom/eventTarget.ts +2 -3
- package/dist/runtime-ets/dom/node.ts +51 -19
- package/dist/runtime-ets/dom/stylesheet/covertWeb2Hm.ts +418 -237
- package/dist/runtime-ets/dom/stylesheet/index.ts +29 -311
- package/dist/runtime-ets/dom/stylesheet/type.ts +51 -9
- package/dist/runtime-ets/dom/stylesheet/util.ts +33 -27
- package/dist/runtime-ets/index.ts +2 -1
- package/dist/runtime-ets/interface/event.ts +1 -1
- package/dist/runtime-ets/utils/index.ts +74 -13
- package/dist/runtime-ets/utils/info.ts +2 -2
- package/dist/runtime-framework/react/app.ts +15 -10
- package/dist/runtime-framework/react/hooks.ts +0 -1
- package/dist/runtime-framework/react/index.ts +0 -2
- package/dist/runtime-framework/react/native-page.ts +185 -78
- package/dist/runtime-framework/react/page.ts +4 -9
- package/dist/runtime-framework/react/utils/index.ts +3 -3
- package/dist/runtime-framework/solid/app.ts +30 -46
- package/dist/runtime-framework/solid/connect.ts +21 -3
- package/dist/runtime-framework/solid/hooks.ts +16 -11
- package/dist/runtime-framework/solid/index.ts +6 -2
- package/dist/runtime-framework/solid/page.ts +85 -31
- package/dist/runtime-framework/solid/reconciler/props.ts +70 -25
- package/dist/runtime-framework/solid/reconciler/render.ts +16 -6
- package/dist/runtime-framework/solid/reconciler/use.ts +0 -1
- package/dist/runtime-framework/solid/utils/index.ts +3 -5
- package/dist/runtime-utils.d.ts +827 -0
- package/dist/runtime-utils.js +425 -253
- package/dist/runtime-utils.js.map +1 -1
- package/dist/runtime.d.ts +1 -0
- package/dist/runtime.js +425 -253
- package/dist/runtime.js.map +1 -1
- package/index.js +3 -1
- package/package.json +14 -15
- package/static/media/cancel.svg +1 -1
- package/static/media/circle.svg +1 -1
- package/static/media/clear.svg +1 -1
- package/static/media/download.svg +1 -1
- package/static/media/info.svg +1 -1
- package/static/media/info_circle.svg +1 -1
- package/static/media/search.svg +1 -1
- package/static/media/success.svg +1 -1
- package/static/media/success_no_circle.svg +1 -1
- package/static/media/warn.svg +1 -1
- package/types/harmony.d.ts +4 -0
- package/types/index.d.ts +4 -0
- package/types/runtime.d.ts +1 -1
- /package/dist/runtime-framework/solid/{contant.ts → constant.ts} +0 -0
|
@@ -43,6 +43,8 @@ class TaroEventTarget extends Events {
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
public dispatchEvent (event: TaroEvent) {
|
|
46
|
+
// @ts-ignore
|
|
47
|
+
event.currentTarget = this
|
|
46
48
|
const cancelable = event.cancelable
|
|
47
49
|
const listeners = this.__listeners[event.type]
|
|
48
50
|
|
|
@@ -68,12 +70,10 @@ class TaroEventTarget extends Events {
|
|
|
68
70
|
}
|
|
69
71
|
}
|
|
70
72
|
|
|
71
|
-
|
|
72
73
|
if (event._stop) {
|
|
73
74
|
this._stopPropagation(event)
|
|
74
75
|
}
|
|
75
76
|
|
|
76
|
-
|
|
77
77
|
return listeners != null
|
|
78
78
|
}
|
|
79
79
|
|
|
@@ -95,5 +95,4 @@ class TaroEventTarget extends Events {
|
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
97
|
|
|
98
|
-
|
|
99
98
|
export { TaroEventTarget }
|
|
@@ -21,8 +21,8 @@ export enum NodeType {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
let _id = 0
|
|
24
|
-
function genId ():
|
|
25
|
-
return
|
|
24
|
+
function genId (): number {
|
|
25
|
+
return ++_id
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
export class TaroNode extends TaroDataSourceElement {
|
|
@@ -30,8 +30,9 @@ export class TaroNode extends TaroDataSourceElement {
|
|
|
30
30
|
public readonly nodeType: NodeType
|
|
31
31
|
public childNodes: TaroNode[] = []
|
|
32
32
|
public parentNode: TaroNode | null = null
|
|
33
|
-
public _nid:
|
|
33
|
+
public _nid: number = genId()
|
|
34
34
|
public _doc: TaroDocument | null = null
|
|
35
|
+
public _instance?: TaroAny
|
|
35
36
|
|
|
36
37
|
private _textContent = ''
|
|
37
38
|
|
|
@@ -43,6 +44,9 @@ export class TaroNode extends TaroDataSourceElement {
|
|
|
43
44
|
// 是否为半编译模板下拥有自主更新权的节点
|
|
44
45
|
public _isDynamicNode = false
|
|
45
46
|
|
|
47
|
+
// 以下属性为原生混写组件才有意义的属性
|
|
48
|
+
public _nativeUpdateTrigger = 0
|
|
49
|
+
|
|
46
50
|
constructor(nodeName: string, nodeType = NodeType.ELEMENT_NODE) {
|
|
47
51
|
super()
|
|
48
52
|
|
|
@@ -59,8 +63,16 @@ export class TaroNode extends TaroDataSourceElement {
|
|
|
59
63
|
return this.childNodes[index] as TaroElement
|
|
60
64
|
}
|
|
61
65
|
|
|
62
|
-
public
|
|
63
|
-
return this.
|
|
66
|
+
public getStrNid() {
|
|
67
|
+
return `n_${this._nid}`;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
public getNumNid(id) {
|
|
71
|
+
return +id.slice(2);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
public findIndex (refChild?: TaroNode): number {
|
|
75
|
+
return this.childNodes.findIndex(node => node._nid === refChild?._nid)
|
|
64
76
|
}
|
|
65
77
|
|
|
66
78
|
public updateTextNode () {
|
|
@@ -77,17 +89,20 @@ export class TaroNode extends TaroDataSourceElement {
|
|
|
77
89
|
|
|
78
90
|
// 更新对应的 ArkUI 组件
|
|
79
91
|
public updateComponent () {
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
// 半编译模式下走 @State 的更新模式
|
|
83
|
-
if (this._isDynamicNode) {
|
|
92
|
+
// 非半编译模式或者半编译模式下拥有自主更新权力的节点走 @State 的更新模式
|
|
93
|
+
if (this._isDynamicNode || (!this._isCompileMode && this._instance)) {
|
|
84
94
|
this._updateTrigger++
|
|
85
95
|
} else {
|
|
86
|
-
this.parentNode
|
|
96
|
+
this.parentNode?.updateComponent()
|
|
87
97
|
}
|
|
88
98
|
}
|
|
89
99
|
|
|
90
|
-
|
|
100
|
+
// 提供唯一标识,方便与小程序一致,能根据uid获取到对应的节点
|
|
101
|
+
public get uid (): string {
|
|
102
|
+
return this._nid
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
public get firstChild (): TaroNode | null {
|
|
91
106
|
return this.childNodes[0] || null
|
|
92
107
|
}
|
|
93
108
|
|
|
@@ -128,11 +143,15 @@ export class TaroNode extends TaroDataSourceElement {
|
|
|
128
143
|
public set textContent (value: string) {
|
|
129
144
|
if (this.nodeType === NodeType.TEXT_NODE) {
|
|
130
145
|
this._textContent = value
|
|
131
|
-
this.
|
|
146
|
+
if (!this._instance) {
|
|
147
|
+
this.updateComponent()
|
|
148
|
+
}
|
|
132
149
|
} else if (this.nodeType === NodeType.ELEMENT_NODE) {
|
|
133
150
|
const node = new TaroTextNode(value)
|
|
134
151
|
node._doc = this.ownerDocument
|
|
135
|
-
|
|
152
|
+
node.parentNode = this
|
|
153
|
+
this.childNodes.length = 0
|
|
154
|
+
this.childNodes.push(node)
|
|
136
155
|
}
|
|
137
156
|
}
|
|
138
157
|
|
|
@@ -150,7 +169,6 @@ export class TaroNode extends TaroDataSourceElement {
|
|
|
150
169
|
public set nodeValue (value: string | null) {
|
|
151
170
|
if (this.nodeType === NodeType.TEXT_NODE && value) {
|
|
152
171
|
this.textContent = value
|
|
153
|
-
this.parentNode?.updateComponent()
|
|
154
172
|
}
|
|
155
173
|
}
|
|
156
174
|
|
|
@@ -163,28 +181,37 @@ export class TaroNode extends TaroDataSourceElement {
|
|
|
163
181
|
}
|
|
164
182
|
|
|
165
183
|
// TODO cloneNode()、contains()
|
|
166
|
-
|
|
167
|
-
public appendChild (child: TaroNode): TaroNode {
|
|
184
|
+
public connectParentNode (child: TaroNode) {
|
|
168
185
|
child.parentNode?.removeChild(child)
|
|
169
186
|
child.parentNode = this
|
|
187
|
+
}
|
|
170
188
|
|
|
189
|
+
public appendChild (child: TaroNode): TaroNode {
|
|
190
|
+
this.connectParentNode(child)
|
|
171
191
|
this.childNodes.push(child)
|
|
172
192
|
this.notifyDataAdd(this.childNodes.length - 1)
|
|
173
193
|
|
|
194
|
+
// @ts-ignore
|
|
195
|
+
child.toggleLayer?.(true)
|
|
196
|
+
|
|
174
197
|
checkIsCompileModeAndInstallAfterDOMAction(child, this)
|
|
175
198
|
return child
|
|
176
199
|
}
|
|
177
200
|
|
|
178
|
-
public insertBefore (newNode: TaroNode, referenceNode
|
|
201
|
+
public insertBefore (newNode: TaroNode, referenceNode?: TaroNode): TaroNode {
|
|
179
202
|
newNode.parentNode?.removeChild(newNode)
|
|
180
203
|
|
|
181
|
-
if (referenceNode
|
|
204
|
+
if (!referenceNode) {
|
|
182
205
|
this.appendChild(newNode)
|
|
183
206
|
} else {
|
|
184
207
|
const idxOfRef = this.findIndex(referenceNode)
|
|
185
208
|
this.childNodes.splice(idxOfRef, 0, newNode)
|
|
209
|
+
this.connectParentNode(newNode)
|
|
186
210
|
// TODO: 优化
|
|
187
211
|
this.notifyDataReload()
|
|
212
|
+
|
|
213
|
+
// @ts-ignore
|
|
214
|
+
newNode.toggleLayer?.(true)
|
|
188
215
|
}
|
|
189
216
|
|
|
190
217
|
checkIsCompileModeAndInstallAfterDOMAction(newNode, this)
|
|
@@ -203,6 +230,7 @@ export class TaroNode extends TaroDataSourceElement {
|
|
|
203
230
|
oldChild.dispose()
|
|
204
231
|
this.notifyDataChange(idxOfRef)
|
|
205
232
|
|
|
233
|
+
checkIsCompileModeAndUninstallAfterDOMAction(oldChild)
|
|
206
234
|
checkIsCompileModeAndInstallAfterDOMAction(newChild, this)
|
|
207
235
|
|
|
208
236
|
return oldChild
|
|
@@ -224,6 +252,10 @@ export class TaroNode extends TaroDataSourceElement {
|
|
|
224
252
|
}
|
|
225
253
|
|
|
226
254
|
public dispose () {
|
|
255
|
+
// 渲染,层级大于0的节点需要让其回到正常层级,然后删掉
|
|
256
|
+
// @ts-ignore
|
|
257
|
+
this.toggleLayer?.(false)
|
|
258
|
+
|
|
227
259
|
this.parentNode = null
|
|
228
260
|
this.childNodes = []
|
|
229
261
|
}
|
|
@@ -253,7 +285,7 @@ function checkIsCompileModeAndInstallAfterDOMAction (node: TaroNode, parentNode:
|
|
|
253
285
|
}
|
|
254
286
|
|
|
255
287
|
function checkIsCompileModeAndUninstallAfterDOMAction (node: TaroNode) {
|
|
256
|
-
if (!node._isCompileMode || !
|
|
288
|
+
if (!node._isCompileMode || !node?._instance) return
|
|
257
289
|
|
|
258
290
|
node._instance.dynamicCenter?.uninstall?.(node)
|
|
259
291
|
}
|