@tarojs/plugin-platform-harmony-ets 4.0.0-beta.7 → 4.0.0-beta.70

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/apis/base/system.ts +73 -20
  2. package/dist/apis/canvas/index.ts +10 -1
  3. package/dist/apis/device/clipboard.ts +9 -1
  4. package/dist/apis/framework/index.ts +1 -5
  5. package/dist/apis/index.ts +27 -17
  6. package/dist/apis/network/request.ts +5 -5
  7. package/dist/apis/route/index.ts +15 -0
  8. package/dist/apis/storage/index.ts +146 -78
  9. package/dist/apis/ui/animation/animation.ts +71 -29
  10. package/dist/apis/ui/background.ts +2 -1
  11. package/dist/apis/ui/interaction/index.ts +42 -59
  12. package/dist/apis/ui/navigation-bar/index.ts +1 -1
  13. package/dist/apis/ui/scroll/index.ts +1 -1
  14. package/dist/apis/utils/index.ts +1 -1
  15. package/dist/apis/wxml/IntersectionObserver.ts +18 -10
  16. package/dist/apis/wxml/index.ts +2 -0
  17. package/dist/apis/wxml/selectorQuery.ts +24 -11
  18. package/dist/components-harmony-ets/button.ets +48 -34
  19. package/dist/components-harmony-ets/canvas.ets +51 -0
  20. package/dist/components-harmony-ets/checkbox.ets +69 -61
  21. package/dist/components-harmony-ets/form.ets +51 -29
  22. package/dist/components-harmony-ets/icon.ets +31 -19
  23. package/dist/components-harmony-ets/image.ets +34 -14
  24. package/dist/components-harmony-ets/index.ets +92 -0
  25. package/dist/components-harmony-ets/innerHtml.ets +11 -6
  26. package/dist/components-harmony-ets/input.ets +45 -41
  27. package/dist/components-harmony-ets/label.ets +69 -42
  28. package/dist/components-harmony-ets/listView.ets +26 -0
  29. package/dist/components-harmony-ets/movableArea.ets +126 -0
  30. package/dist/components-harmony-ets/movableView.ets +77 -0
  31. package/dist/components-harmony-ets/navigationBar.ets +65 -0
  32. package/dist/components-harmony-ets/pageMeta.ets +94 -0
  33. package/dist/components-harmony-ets/picker.ets +42 -38
  34. package/dist/components-harmony-ets/progress.ets +52 -0
  35. package/dist/components-harmony-ets/pseudo.ets +80 -0
  36. package/dist/components-harmony-ets/radio.ets +71 -64
  37. package/dist/components-harmony-ets/richText.ets +14 -30
  38. package/dist/components-harmony-ets/scrollList.ets +94 -0
  39. package/dist/components-harmony-ets/scrollView.ets +61 -57
  40. package/dist/components-harmony-ets/slider.ets +15 -14
  41. package/dist/components-harmony-ets/stickySection.ets +42 -0
  42. package/dist/components-harmony-ets/style.ets +372 -130
  43. package/dist/components-harmony-ets/swiper.ets +61 -20
  44. package/dist/components-harmony-ets/switch.ets +30 -28
  45. package/dist/components-harmony-ets/{index.ts → tag.ts} +6 -0
  46. package/dist/components-harmony-ets/text.ets +135 -49
  47. package/dist/components-harmony-ets/textArea.ets +47 -35
  48. package/dist/components-harmony-ets/utils/AttributeManager.ets +1 -1
  49. package/dist/components-harmony-ets/utils/DynamicCenter.ts +1 -1
  50. package/dist/components-harmony-ets/utils/flexManager.ets +47 -19
  51. package/dist/components-harmony-ets/utils/helper.ets +18 -5
  52. package/dist/components-harmony-ets/utils/htmlParser/HarmonyHTMLParser.ts +1 -2
  53. package/dist/components-harmony-ets/utils/htmlParser/index.ts +1 -1
  54. package/dist/components-harmony-ets/utils/index.ts +54 -50
  55. package/dist/components-harmony-ets/utils/styles.ets +170 -93
  56. package/dist/components-harmony-ets/video.ets +34 -21
  57. package/dist/components-harmony-ets/view.ets +63 -52
  58. package/dist/components-harmony-ets/webView.ets +40 -34
  59. package/dist/index.d.ts +152 -0
  60. package/dist/index.js +85 -42
  61. package/dist/index.js.map +1 -1
  62. package/dist/runtime-ets/bom/document.ts +6 -4
  63. package/dist/runtime-ets/bom/getComputedStyle.ts +2 -2
  64. package/dist/runtime-ets/bom/window.ts +7 -0
  65. package/dist/runtime-ets/current.ts +3 -0
  66. package/dist/runtime-ets/dom/bind.ts +28 -12
  67. package/dist/runtime-ets/dom/class-list.ts +2 -2
  68. package/dist/runtime-ets/dom/cssNesting.ts +409 -0
  69. package/dist/runtime-ets/dom/cssStyleDeclaration.ts +28 -42
  70. package/dist/runtime-ets/dom/document.ts +22 -8
  71. package/dist/runtime-ets/dom/element/canvas.ts +136 -0
  72. package/dist/runtime-ets/dom/element/element.ts +334 -58
  73. package/dist/runtime-ets/dom/element/form.ts +23 -26
  74. package/dist/runtime-ets/dom/element/index.ts +25 -2
  75. package/dist/runtime-ets/dom/element/movableArea.ts +11 -0
  76. package/dist/runtime-ets/dom/element/movableView.ts +209 -0
  77. package/dist/runtime-ets/dom/element/normal.ts +35 -8
  78. package/dist/runtime-ets/dom/element/progress.ts +11 -0
  79. package/dist/runtime-ets/dom/element/scrollView.ts +1 -0
  80. package/dist/runtime-ets/dom/element/text.ts +1 -8
  81. package/dist/runtime-ets/dom/element/video.ts +5 -4
  82. package/dist/runtime-ets/dom/element/webView.ts +12 -5
  83. package/dist/runtime-ets/dom/event.ts +2 -4
  84. package/dist/runtime-ets/dom/eventTarget.ts +2 -3
  85. package/dist/runtime-ets/dom/node.ts +49 -28
  86. package/dist/runtime-ets/dom/stylesheet/covertWeb2Hm.ts +416 -235
  87. package/dist/runtime-ets/dom/stylesheet/index.ts +29 -311
  88. package/dist/runtime-ets/dom/stylesheet/type.ts +49 -9
  89. package/dist/runtime-ets/dom/stylesheet/util.ts +33 -27
  90. package/dist/runtime-ets/index.ts +2 -1
  91. package/dist/runtime-ets/interface/event.ts +1 -1
  92. package/dist/runtime-ets/utils/index.ts +69 -13
  93. package/dist/runtime-ets/utils/info.ts +2 -2
  94. package/dist/runtime-framework/react/app.ts +7 -2
  95. package/dist/runtime-framework/react/hooks.ts +0 -1
  96. package/dist/runtime-framework/react/index.ts +0 -2
  97. package/dist/runtime-framework/react/native-page.ts +32 -14
  98. package/dist/runtime-framework/react/page.ts +3 -8
  99. package/dist/runtime-framework/solid/app.ts +25 -45
  100. package/dist/runtime-framework/solid/connect.ts +21 -3
  101. package/dist/runtime-framework/solid/hooks.ts +16 -11
  102. package/dist/runtime-framework/solid/index.ts +6 -2
  103. package/dist/runtime-framework/solid/page.ts +84 -30
  104. package/dist/runtime-framework/solid/reconciler/props.ts +70 -25
  105. package/dist/runtime-framework/solid/reconciler/render.ts +16 -6
  106. package/dist/runtime-framework/solid/reconciler/use.ts +0 -1
  107. package/dist/runtime-framework/solid/utils/index.ts +0 -2
  108. package/dist/runtime-utils.d.ts +827 -0
  109. package/dist/runtime-utils.js +425 -200
  110. package/dist/runtime-utils.js.map +1 -1
  111. package/dist/runtime.d.ts +1 -0
  112. package/dist/runtime.js +425 -200
  113. package/dist/runtime.js.map +1 -1
  114. package/index.js +3 -1
  115. package/package.json +13 -13
  116. package/static/media/cancel.svg +1 -1
  117. package/static/media/circle.svg +1 -1
  118. package/static/media/clear.svg +1 -1
  119. package/static/media/download.svg +1 -1
  120. package/static/media/info.svg +1 -1
  121. package/static/media/info_circle.svg +1 -1
  122. package/static/media/search.svg +1 -1
  123. package/static/media/success.svg +1 -1
  124. package/static/media/success_no_circle.svg +1 -1
  125. package/static/media/warn.svg +1 -1
  126. package/types/harmony.d.ts +4 -0
  127. package/types/index.d.ts +4 -0
  128. /package/dist/runtime-framework/solid/{contant.ts → constant.ts} +0 -0
@@ -1,12 +1,12 @@
1
1
  import { eventHandler, getComponentEventCallback, AREA_CHANGE_EVENT_NAME, VISIBLE_CHANGE_EVENT_NAME, createTaroEvent } from '@tarojs/runtime'
2
2
 
3
3
  import commonStyleModify from './style'
4
- import { createLazyChildren } from './render'
5
- import { FlexManager } from './utils/FlexManager'
4
+ import PseduoChildren from './pseudo'
5
+ import { FlexManager } from './utils/flexManager'
6
6
  import { TOUCH_EVENT_MAP } from './utils/constant/event'
7
- import { getNodeThresholds, getNormalAttributes, shouldBindEvent } from './utils/helper'
7
+ import { getNodeThresholds, getStyleAttr, shouldBindEvent } from './utils/helper'
8
8
 
9
- import type { TaroAny, TaroStyleType, TaroScrollViewElement, TaroEvent } from '@tarojs/runtime'
9
+ import type { TaroAny, TaroScrollViewElement, TaroEvent } from '@tarojs/runtime'
10
10
 
11
11
  interface ScrollViewAttrs {
12
12
  scrollBar: BarState
@@ -49,79 +49,83 @@ function handleScrollEvent (node: TaroScrollViewElement, eventName = 'scroll', x
49
49
  deltaY: vp2px(yOffset),
50
50
  scrollLeft: vp2px(currentXOffset),
51
51
  scrollTop: vp2px(currentYOffset),
52
- scrollWidth: vp2px(Number(node._scroll?.width)),
53
- scrollHeight: vp2px(Number(node._scroll?.height)),
52
+ scrollWidth: vp2px(Number(node._nodeInfo?._scroll?.width)),
53
+ scrollHeight: vp2px(Number(node._nodeInfo?._scroll?.height)),
54
54
  }
55
55
  const event: TaroEvent = createTaroEvent(eventName, { detail: value }, node)
56
56
 
57
57
  eventHandler(event, eventName, node)
58
58
  }
59
59
 
60
- @Extend(Row)
61
- function rowAttrs (style: TaroStyleType) {
62
- .constraintSize({
63
- minWidth: style.minWidth || style.width,
64
- maxWidth: style.maxWidth,
65
- minHeight: style.minHeight,
66
- maxHeight: style.maxHeight
67
- })
68
- }
60
+ @Component
61
+ export default struct TaroScrollView {
62
+ @Builder customBuilder() {}
63
+ @BuilderParam createLazyChildren: (node: TaroScrollViewElement) => void = this.customBuilder
64
+ @ObjectLink node: TaroScrollViewElement
65
+ @State overwriteStyle: Record<string, TaroAny> = {}
69
66
 
70
- @Extend(Column)
71
- function columnAttrs (style: TaroStyleType) {
72
- .constraintSize({
73
- minWidth: style.minWidth,
74
- maxWidth: style.maxWidth,
75
- minHeight: style.minHeight || style.height,
76
- maxHeight: style.maxHeight
77
- })
78
- }
67
+ aboutToAppear(): void {
68
+ if (this.node) {
69
+ this.node._instance = this
70
+ }
71
+ }
79
72
 
80
- @Builder
81
- export default function TaroScrollView (node: TaroScrollViewElement) {
82
- Scroll(node.scroller) {
83
- if (node._attrs.scrollX) {
73
+ isScrollX() {
74
+ return this.node._attrs.scrollX || getStyleAttr(this.node, 'overflow') === 'scroll' && getStyleAttr(this.node, 'flexDirection') === FlexDirection.Row
75
+ }
76
+
77
+ build () {
78
+ Scroll(this.node.scroller) {
79
+ if (this.isScrollX()) {
84
80
  Row() {
85
- createLazyChildren(node)
81
+ if (this.node._pseudo_before || this.node._pseudo_after) {
82
+ PseduoChildren({ node: this.node, createLazyChildren: this.createLazyChildren })
83
+ } else {
84
+ this.createLazyChildren(this.node)
85
+ }
86
86
  }
87
- .attributeModifier(commonStyleModify.setNode(node))
88
- .rowAttrs(getNormalAttributes(node))
87
+ .alignItems(FlexManager.alignItems<VerticalAlign>(this.node))
88
+ .justifyContent(FlexManager.justifyContent(this.node))
89
+ .height(getStyleAttr(this.node, 'height'))
89
90
  .width(null)
90
91
  .onAreaChange(shouldBindEvent((_: Area, areaResult: Area) => {
91
- node._scroll = areaResult
92
- }, node, ['scroll', 'scrollstart', 'scrollend']))
93
- .alignItems(FlexManager.flexOptions(node).alignItems as VerticalAlign)
94
- .justifyContent(FlexManager.flexOptions(node).justifyContent)
92
+ this.node._nodeInfo._scroll = areaResult
93
+ }, this.node, ['scroll', 'scrollstart', 'scrollend']))
95
94
  .flexGrow(0).flexShrink(0)
96
95
  } else {
97
96
  Column() {
98
- createLazyChildren(node)
97
+ if (this.node._pseudo_before || this.node._pseudo_after) {
98
+ PseduoChildren({ node: this.node, createLazyChildren: this.createLazyChildren })
99
+ } else {
100
+ this.createLazyChildren(this.node)
101
+ }
99
102
  }
100
- .attributeModifier(commonStyleModify.setNode(node))
101
- .columnAttrs(getNormalAttributes(node))
103
+ .alignItems(FlexManager.alignItems<HorizontalAlign>(this.node))
104
+ .justifyContent(FlexManager.justifyContent(this.node))
105
+ .width(getStyleAttr(this.node, 'width'))
102
106
  .height(null)
103
- .alignItems(HorizontalAlign.Start)
104
107
  .onAreaChange(shouldBindEvent((_: Area, areaResult: Area) => {
105
- node._scroll = areaResult
106
- }, node, ['scroll', 'scrollstart', 'scrollend']))
107
- .alignItems(FlexManager.flexOptions(node).alignItems as HorizontalAlign)
108
- .justifyContent(FlexManager.flexOptions(node).justifyContent)
108
+ this.node._nodeInfo._scroll = areaResult
109
+ }, this.node, ['scroll', 'scrollstart', 'scrollend']))
109
110
  .flexGrow(0).flexShrink(0)
110
111
  }
111
112
  }
112
- .width(getNormalAttributes(node).width)
113
- .height(getNormalAttributes(node).height)
114
- .flexGrow(getNormalAttributes(node).flexGrow)
115
- .flexShrink(getNormalAttributes(node).flexShrink)
116
- .scrollable(getScrollable(node))
117
- .scrollBar(getAttributes(node).scrollBar)
118
- .onClick(shouldBindEvent((e: ClickEvent) => eventHandler(e, 'click', node), node, ['click']))
119
- .onTouch(shouldBindEvent((e: TouchEvent) => eventHandler(e, TOUCH_EVENT_MAP.get(e.type), node), node, TOUCH_EVENT_MAP.values()))
120
- .onAreaChange(getComponentEventCallback(node, AREA_CHANGE_EVENT_NAME, (res: TaroAny) => {
121
- node._nodeInfo.areaInfo = res[1]
113
+ .attributeModifier(commonStyleModify.setNode(this.node).setAnimationStyle(this.overwriteStyle))
114
+ .width(this.isScrollX() ? getStyleAttr(this.node, 'width') : undefined)
115
+ .height(!this.isScrollX() ? getStyleAttr(this.node, 'height') : undefined)
116
+ .align(Alignment.TopStart)
117
+ .clip(true)
118
+ .scrollable(getScrollable(this.node))
119
+ .scrollBar(getAttributes(this.node).scrollBar)
120
+ .onClick(shouldBindEvent((e: ClickEvent) => eventHandler(e, 'click', this.node), this.node, ['click']))
121
+ .onTouch(shouldBindEvent((e: TouchEvent) => eventHandler(e, TOUCH_EVENT_MAP.get(e.type), this.node), this.node, TOUCH_EVENT_MAP.values()))
122
+ .onAreaChange(getComponentEventCallback(this.node, AREA_CHANGE_EVENT_NAME, (res: TaroAny) => {
123
+ this.node._nodeInfo.areaInfo = res[1]
122
124
  }))
123
- .onScroll(shouldBindEvent(() => { handleScrollEvent(node, 'scroll') }, node, ['scroll']))
124
- .onScrollStart(shouldBindEvent(() => { handleScrollEvent(node, 'scrollstart') }, node, ['scrollstart']))
125
- .onScrollStop(shouldBindEvent(() => { handleScrollEvent(node, 'scrollend') }, node, ['scrollend']))
126
- .onVisibleAreaChange(getNodeThresholds(node) || [0.0, 1.0], getComponentEventCallback(node, VISIBLE_CHANGE_EVENT_NAME))
125
+ .onDidScroll(shouldBindEvent((xOffset: number, yOffset: number) => { handleScrollEvent(this.node, 'scroll', xOffset, yOffset) }, this.node, ['scroll']))
126
+ .onScrollStart(shouldBindEvent(() => { handleScrollEvent(this.node, 'scrollstart') }, this.node, ['scrollstart']))
127
+ .onScrollStop(shouldBindEvent(() => { handleScrollEvent(this.node, 'scrollend') }, this.node, ['scrollend']))
128
+ .onVisibleAreaChange(getNodeThresholds(this.node) || [0.0, 1.0], getComponentEventCallback(this.node, VISIBLE_CHANGE_EVENT_NAME))
129
+ .onReachEnd(shouldBindEvent(() => { handleScrollEvent(this.node, 'scrolltolower') }, this.node, ['scrolltolower']))
130
+ }
127
131
  }
@@ -37,9 +37,12 @@ function themeStyles(isDisabled: boolean) {
37
37
 
38
38
  @Component
39
39
  export default struct TaroSlider {
40
- node: TaroSliderElement | null = null
40
+ @Builder customBuilder() {}
41
+ @BuilderParam createLazyChildren: (node: TaroSliderElement) => void = this.customBuilder
42
+ @ObjectLink node: TaroSliderElement
41
43
 
42
44
  @State value: number = 0
45
+ @State overwriteStyle: Record<string, TaroAny> = {}
43
46
 
44
47
  aboutToAppear () {
45
48
  if (this.node) {
@@ -62,7 +65,7 @@ export default struct TaroSlider {
62
65
  style: SliderStyle.OutSet,
63
66
  direction: Axis.Horizontal
64
67
  })
65
- .attributeModifier(commonStyleModify.setNode(node))
68
+ .attributeModifier(commonStyleModify.setNode(node).setAnimationStyle(this.overwriteStyle))
66
69
  .attrs(getAttributes(node))
67
70
  .width(!!node._attrs.showValue ? '90%' : '100%')
68
71
  .themeStyles(!!node._attrs.disabled)
@@ -74,7 +77,7 @@ export default struct TaroSlider {
74
77
  } else {
75
78
  this.value = value
76
79
  this.node?.updateFormWidgetValue(value)
77
-
80
+
78
81
  if (mode === SliderChangeMode.End) {
79
82
  const event: TaroEvent = createTaroEvent('change', { detail: { value: this.value } }, node)
80
83
  eventHandler(event, 'change', node)
@@ -94,18 +97,16 @@ export default struct TaroSlider {
94
97
  }
95
98
 
96
99
  build() {
97
- if (this.node) {
98
- if (!!this.node._attrs.showValue) {
99
- Row() {
100
- this.createSlider(this.node)
101
- Text(Number(this.value).toFixed(0))
102
- .width('10%')
103
- .textAlign(TextAlign.Center)
104
- .opacity(!!this.node._attrs.disabled ? 0.4 : 1)
105
- }
106
- } else {
100
+ if (!!this.node._attrs.showValue) {
101
+ Row() {
107
102
  this.createSlider(this.node)
103
+ Text(Number(this.value).toFixed(0))
104
+ .width('10%')
105
+ .textAlign(TextAlign.Center)
106
+ .opacity(!!this.node._attrs.disabled ? 0.4 : 1)
108
107
  }
108
+ } else {
109
+ this.createSlider(this.node)
109
110
  }
110
111
  }
111
- }
112
+ }
@@ -0,0 +1,42 @@
1
+ import commonStyleModify from './style'
2
+
3
+ import type { TaroViewElement, TaroElement, TaroAny } from '@tarojs/runtime'
4
+
5
+ @Component
6
+ export default struct TaroStickySection {
7
+ @Builder customBuilder() {}
8
+ @BuilderParam createLazyChildren: (node: TaroViewElement) => void = this.customBuilder
9
+ @ObjectLink node: TaroViewElement
10
+ @State overwriteStyle: Record<string, TaroAny> = {}
11
+
12
+ aboutToAppear(): void {
13
+ if (this.node) {
14
+ this.node._instance = this
15
+ }
16
+ }
17
+
18
+ @Builder
19
+ itemHead(header: TaroViewElement) {
20
+ Stack() {
21
+ LazyForEach(header, (item: TaroElement) => {
22
+ if (item.tagName === 'STICKY-HEADER') {
23
+ this.createLazyChildren(item as TaroViewElement)
24
+ }
25
+ }, (item: TaroElement) => `${item._nid}-${item._nodeInfo?.layer || 0}`)
26
+ }
27
+ }
28
+
29
+ build() {
30
+ ListItemGroup({
31
+ header: this.itemHead(this.node)
32
+ }) {
33
+ ForEach(this.node.children, (item: TaroElement) => {
34
+ if (item.tagName === 'LIST-VIEW') {
35
+ this.createLazyChildren(item as TaroViewElement)
36
+ }
37
+ }, (item: TaroElement) => `${item._nid}-${item._nodeInfo?.layer || 0}`)
38
+
39
+ }
40
+ .attributeModifier(commonStyleModify.setNode(this.node).setAnimationStyle(this.overwriteStyle))
41
+ }
42
+ }