zartui 3.1.39 → 3.1.41

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 CHANGED
@@ -1,27 +1,27 @@
1
- # ZartUI
2
-
3
- [ZartUI](https://zartui.egova.com.cn) 是数字政通基于 Vue 研发的一款面向政务场景的移动端组件库。
4
-
5
- Zart(读音 /zɑːt/)的命名,灵感源自数字政通秉承的理念:让城市治理变得更智慧。Zart = zt + smart, zt是政通的首字母缩写,smart代表公司理念中的“智慧”,将smart中间的“ar”字母包裹于zt之间,体现了ZartUI的核心目标:追求极致的用户体验,致力于做灵活智能的组件库。
6
-
7
- ## 特性
8
-
9
- 1)【组件重构】【组件审核】提供50多个高质量组件,覆盖移动端各类场景;
10
-
11
- 2)【UI重构】基于全新的视觉规范;
12
-
13
- 3)【在线网站】完善的文档、示例、演示效果;
14
-
15
- 4)支持主题定制、按需引入;
16
-
17
- 5)支持Vue3.0、TypeScript;
18
-
19
- 6)性能佳,组件平均体积小(min+gzip);
20
-
21
- ## 浏览器支持
22
-
23
- ZartUI 3 支持现代浏览器以及 Chrome >= 51、iOS >= 10.0(与 Vue 3 一致)。
24
-
25
- ## 本地开发
26
-
27
- 推荐`node`版本 `>=18`。执行 `pnpm install` 安装依赖,然后进入 `packages/zartui` 执行 `pnpm dev` 启动本地开发环境。
1
+ # ZartUI
2
+
3
+ [ZartUI](https://zartui.egova.com.cn) 是数字政通基于 Vue 研发的一款面向政务场景的移动端组件库。
4
+
5
+ Zart(读音 /zɑːt/)的命名,灵感源自数字政通秉承的理念:让城市治理变得更智慧。Zart = zt + smart, zt是政通的首字母缩写,smart代表公司理念中的“智慧”,将smart中间的“ar”字母包裹于zt之间,体现了ZartUI的核心目标:追求极致的用户体验,致力于做灵活智能的组件库。
6
+
7
+ ## 特性
8
+
9
+ 1)【组件重构】【组件审核】提供50多个高质量组件,覆盖移动端各类场景;
10
+
11
+ 2)【UI重构】基于全新的视觉规范;
12
+
13
+ 3)【在线网站】完善的文档、示例、演示效果;
14
+
15
+ 4)支持主题定制、按需引入;
16
+
17
+ 5)支持Vue3.0、TypeScript;
18
+
19
+ 6)性能佳,组件平均体积小(min+gzip);
20
+
21
+ ## 浏览器支持
22
+
23
+ ZartUI 3 支持现代浏览器以及 Chrome >= 51、iOS >= 10.0(与 Vue 3 一致)。
24
+
25
+ ## 本地开发
26
+
27
+ 推荐`node`版本 `>=18`。执行 `pnpm install` 安装依赖,然后进入 `packages/zartui` 执行 `pnpm dev` 启动本地开发环境。
@@ -155,6 +155,7 @@ var stdin_default = defineComponent({
155
155
  } else {
156
156
  state.showPopup = false;
157
157
  if (option.value !== props.modelValue) {
158
+ emit("update:modelValue", value);
158
159
  emit("change", value);
159
160
  }
160
161
  emit("item-select", value);
package/es/index.d.ts CHANGED
@@ -83,4 +83,4 @@ declare namespace _default {
83
83
  }
84
84
  export default _default;
85
85
  export function install(app: any): void;
86
- export const version: "3.1.39";
86
+ export const version: "3.1.41";
package/es/index.mjs CHANGED
@@ -76,7 +76,7 @@ import { Timeline } from "./timeline/index.mjs";
76
76
  import { Toast } from "./toast/index.mjs";
77
77
  import { Uploader } from "./uploader/index.mjs";
78
78
  import { Video } from "./video/index.mjs";
79
- const version = "3.1.39";
79
+ const version = "3.1.41";
80
80
  function install(app) {
81
81
  const components = [
82
82
  ActionSheet,
@@ -1,55 +1,55 @@
1
- import type { App } from 'vue';
2
-
3
- declare type ListenEvent =
4
- | 'scroll'
5
- | 'wheel'
6
- | 'mousewheel'
7
- | 'resize'
8
- | 'animationend'
9
- | 'transitionend'
10
- | 'touchmove';
11
-
12
- // eslint-disable-next-line
13
- declare type Callback = (listener: any, options: LazyloadOptions) => void;
14
-
15
- declare type Filter = {
16
- webp?: Callback;
17
- progressive?: Callback;
18
- };
19
-
20
- declare type Adapter = {
21
- error?: Callback;
22
- loaded?: Callback;
23
- loading?: Callback;
24
- };
25
-
26
- export declare type LazyloadOptions = {
27
- error?: string;
28
- filter?: Filter;
29
- silent?: boolean;
30
- adapter?: Adapter;
31
- loading?: string;
32
- attempt?: number;
33
- preLoad?: number;
34
- observer?: boolean;
35
- lazyImage?: boolean;
36
- throttleWait?: number;
37
- listenEvents?: ListenEvent[];
38
- dispatchEvent?: boolean;
39
- lazyComponent?: boolean;
40
- observerOptions?: IntersectionObserverInit;
41
- };
42
-
43
- export declare const Lazyload: {
44
- install(app: App, options?: LazyloadOptions): void;
45
- };
46
-
47
- declare module '@vue/runtime-core' {
48
- interface ComponentCustomProperties {
49
- $Lazyload: {
50
- $on: (event: string, handler: Callback) => void;
51
- $off: (event: string, handler?: Callback) => void;
52
- $once: (event: string, handler: Callback) => void;
53
- };
54
- }
55
- }
1
+ import type { App } from 'vue';
2
+
3
+ declare type ListenEvent =
4
+ | 'scroll'
5
+ | 'wheel'
6
+ | 'mousewheel'
7
+ | 'resize'
8
+ | 'animationend'
9
+ | 'transitionend'
10
+ | 'touchmove';
11
+
12
+ // eslint-disable-next-line
13
+ declare type Callback = (listener: any, options: LazyloadOptions) => void;
14
+
15
+ declare type Filter = {
16
+ webp?: Callback;
17
+ progressive?: Callback;
18
+ };
19
+
20
+ declare type Adapter = {
21
+ error?: Callback;
22
+ loaded?: Callback;
23
+ loading?: Callback;
24
+ };
25
+
26
+ export declare type LazyloadOptions = {
27
+ error?: string;
28
+ filter?: Filter;
29
+ silent?: boolean;
30
+ adapter?: Adapter;
31
+ loading?: string;
32
+ attempt?: number;
33
+ preLoad?: number;
34
+ observer?: boolean;
35
+ lazyImage?: boolean;
36
+ throttleWait?: number;
37
+ listenEvents?: ListenEvent[];
38
+ dispatchEvent?: boolean;
39
+ lazyComponent?: boolean;
40
+ observerOptions?: IntersectionObserverInit;
41
+ };
42
+
43
+ export declare const Lazyload: {
44
+ install(app: App, options?: LazyloadOptions): void;
45
+ };
46
+
47
+ declare module '@vue/runtime-core' {
48
+ interface ComponentCustomProperties {
49
+ $Lazyload: {
50
+ $on: (event: string, handler: Callback) => void;
51
+ $off: (event: string, handler?: Callback) => void;
52
+ $once: (event: string, handler: Callback) => void;
53
+ };
54
+ }
55
+ }
@@ -1,5 +1,5 @@
1
- import { ExtractPropTypes, PropType } from 'vue';
2
- import type { Media, MediaAfterRead, MediaBeforeDelete, MediaBeforeRead, MediaPick, MediaPreview, MediaSizeType } from './type';
1
+ import { ComponentPublicInstance, ExtractPropTypes, PropType } from 'vue';
2
+ import type { Media, MediaAddType, MediaAfterRead, MediaBeforeDelete, MediaBeforeRead, MediaPick, MediaPreview, MediaSizeType, MediaType } from './type';
3
3
  import { MediaPlayerProps } from '../media-player';
4
4
  declare const mediaPickerProps: {
5
5
  disabled: BooleanConstructor;
@@ -81,6 +81,9 @@ declare const mediaPickerProps: {
81
81
  mediaPlayerProps: PropType<Partial<MediaPlayerProps>>;
82
82
  };
83
83
  export type MediaPickerProps = ExtractPropTypes<typeof mediaPickerProps>;
84
+ export type MediaPickerInstance = ComponentPublicInstance<{
85
+ mediaPickAction: (mediaType: MediaType, mediaAddType: MediaAddType) => void;
86
+ }>;
84
87
  declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
85
88
  disabled: BooleanConstructor;
86
89
  showTitle: BooleanConstructor;
@@ -142,7 +142,7 @@ var stdin_default = defineComponent({
142
142
  const triggerHiddenInput = (ref2) => {
143
143
  ref2 && ref2.click();
144
144
  };
145
- const mediaPick = (mediaType, mediaAddType) => {
145
+ const mediaPickAction = (mediaType, mediaAddType) => {
146
146
  if (props.disabled) {
147
147
  return;
148
148
  }
@@ -218,24 +218,24 @@ var stdin_default = defineComponent({
218
218
  return [{
219
219
  name: "\u62CD\u6444",
220
220
  callback: () => {
221
- mediaPick("video", "take");
221
+ mediaPickAction("video", "take");
222
222
  }
223
223
  }, {
224
224
  name: "\u89C6\u9891\u6587\u4EF6",
225
225
  callback: () => {
226
- mediaPick("video", "pick");
226
+ mediaPickAction("video", "pick");
227
227
  }
228
228
  }];
229
229
  } else if (audioOptionsVisible.value) {
230
230
  return [{
231
231
  name: "\u5F55\u97F3",
232
232
  callback: () => {
233
- mediaPick("audio", "take");
233
+ mediaPickAction("audio", "take");
234
234
  }
235
235
  }, {
236
236
  name: "\u97F3\u9891\u6587\u4EF6",
237
237
  callback: () => {
238
- mediaPick("audio", "pick");
238
+ mediaPickAction("audio", "pick");
239
239
  }
240
240
  }];
241
241
  }
@@ -577,7 +577,7 @@ var stdin_default = defineComponent({
577
577
  "class": bem("box")
578
578
  }, [_createVNode("div", {
579
579
  "class": bem("button"),
580
- "onClick": () => mediaPick(mediaType, mediaAddType)
580
+ "onClick": () => mediaPickAction(mediaType, mediaAddType)
581
581
  }, [renderIcon(mediaType, mediaAddType)]), _createVNode("div", {
582
582
  "class": bem("label")
583
583
  }, [label])]);
@@ -774,7 +774,7 @@ var stdin_default = defineComponent({
774
774
  action.func && action.func();
775
775
  };
776
776
  useExpose({
777
- mediaPick
777
+ mediaPickAction
778
778
  });
779
779
  return () => {
780
780
  const title = props.showTitle && _createVNode("div", {
@@ -162,7 +162,7 @@ export declare const MediaPicker: import("../utils").WithInstall<import("vue").D
162
162
  imageSizeType: import("./type").MediaSizeType;
163
163
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
164
164
  export default MediaPicker;
165
- export type { MediaPickerProps } from './MediaPicker';
165
+ export type { MediaPickerProps, MediaPickerInstance } from './MediaPicker';
166
166
  export type { Media, MediaType, MediaAddType, MediaUploadStatus, MediaPreview, MediaPick, MediaBeforeRead, MediaAfterRead, MediaBeforeDelete, MediaPickerThemeVars, MediaSizeType, } from './type';
167
167
  export { defaultMedia } from './type';
168
168
  declare module 'vue' {
@@ -1,6 +1,6 @@
1
- declare module '*.vue' {
2
- // eslint-disable-next-line
3
- import { DefineComponent } from 'vue';
4
- const Component: DefineComponent;
5
- export default Component;
6
- }
1
+ declare module '*.vue' {
2
+ // eslint-disable-next-line
3
+ import { DefineComponent } from 'vue';
4
+ const Component: DefineComponent;
5
+ export default Component;
6
+ }
@@ -1,23 +1,23 @@
1
- import 'vue';
2
-
3
- type EventHandler = (...args: any[]) => void;
4
-
5
- declare module 'vue' {
6
- interface ComponentCustomProps {
7
- id?: string;
8
- role?: string;
9
- tabindex?: number;
10
- onClick?: EventHandler;
11
- onTouchend?: EventHandler;
12
- onTouchmove?: EventHandler;
13
- onTouchstart?: EventHandler;
14
- onTouchcancel?: EventHandler;
15
- onTouchmovePassive?: EventHandler;
16
- onTouchstartPassive?: EventHandler;
17
- }
18
-
19
- interface HTMLAttributes {
20
- onTouchmovePassive?: EventHandler;
21
- onTouchstartPassive?: EventHandler;
22
- }
23
- }
1
+ import 'vue';
2
+
3
+ type EventHandler = (...args: any[]) => void;
4
+
5
+ declare module 'vue' {
6
+ interface ComponentCustomProps {
7
+ id?: string;
8
+ role?: string;
9
+ tabindex?: number;
10
+ onClick?: EventHandler;
11
+ onTouchend?: EventHandler;
12
+ onTouchmove?: EventHandler;
13
+ onTouchstart?: EventHandler;
14
+ onTouchcancel?: EventHandler;
15
+ onTouchmovePassive?: EventHandler;
16
+ onTouchstartPassive?: EventHandler;
17
+ }
18
+
19
+ interface HTMLAttributes {
20
+ onTouchmovePassive?: EventHandler;
21
+ onTouchstartPassive?: EventHandler;
22
+ }
23
+ }
@@ -178,6 +178,7 @@ var stdin_default = (0, import_vue.defineComponent)({
178
178
  } else {
179
179
  state.showPopup = false;
180
180
  if (option.value !== props.modelValue) {
181
+ emit("update:modelValue", value);
181
182
  emit("change", value);
182
183
  }
183
184
  emit("item-select", value);
package/lib/index.d.ts CHANGED
@@ -83,4 +83,4 @@ declare namespace _default {
83
83
  }
84
84
  export default _default;
85
85
  export function install(app: any): void;
86
- export const version: "3.1.39";
86
+ export const version: "3.1.41";
package/lib/index.js CHANGED
@@ -180,7 +180,7 @@ __reExport(stdin_exports, require("./timeline"), module.exports);
180
180
  __reExport(stdin_exports, require("./toast"), module.exports);
181
181
  __reExport(stdin_exports, require("./uploader"), module.exports);
182
182
  __reExport(stdin_exports, require("./video"), module.exports);
183
- const version = "3.1.39";
183
+ const version = "3.1.41";
184
184
  function install(app) {
185
185
  const components = [
186
186
  import_action_sheet.ActionSheet,
@@ -1,55 +1,55 @@
1
- import type { App } from 'vue';
2
-
3
- declare type ListenEvent =
4
- | 'scroll'
5
- | 'wheel'
6
- | 'mousewheel'
7
- | 'resize'
8
- | 'animationend'
9
- | 'transitionend'
10
- | 'touchmove';
11
-
12
- // eslint-disable-next-line
13
- declare type Callback = (listener: any, options: LazyloadOptions) => void;
14
-
15
- declare type Filter = {
16
- webp?: Callback;
17
- progressive?: Callback;
18
- };
19
-
20
- declare type Adapter = {
21
- error?: Callback;
22
- loaded?: Callback;
23
- loading?: Callback;
24
- };
25
-
26
- export declare type LazyloadOptions = {
27
- error?: string;
28
- filter?: Filter;
29
- silent?: boolean;
30
- adapter?: Adapter;
31
- loading?: string;
32
- attempt?: number;
33
- preLoad?: number;
34
- observer?: boolean;
35
- lazyImage?: boolean;
36
- throttleWait?: number;
37
- listenEvents?: ListenEvent[];
38
- dispatchEvent?: boolean;
39
- lazyComponent?: boolean;
40
- observerOptions?: IntersectionObserverInit;
41
- };
42
-
43
- export declare const Lazyload: {
44
- install(app: App, options?: LazyloadOptions): void;
45
- };
46
-
47
- declare module '@vue/runtime-core' {
48
- interface ComponentCustomProperties {
49
- $Lazyload: {
50
- $on: (event: string, handler: Callback) => void;
51
- $off: (event: string, handler?: Callback) => void;
52
- $once: (event: string, handler: Callback) => void;
53
- };
54
- }
55
- }
1
+ import type { App } from 'vue';
2
+
3
+ declare type ListenEvent =
4
+ | 'scroll'
5
+ | 'wheel'
6
+ | 'mousewheel'
7
+ | 'resize'
8
+ | 'animationend'
9
+ | 'transitionend'
10
+ | 'touchmove';
11
+
12
+ // eslint-disable-next-line
13
+ declare type Callback = (listener: any, options: LazyloadOptions) => void;
14
+
15
+ declare type Filter = {
16
+ webp?: Callback;
17
+ progressive?: Callback;
18
+ };
19
+
20
+ declare type Adapter = {
21
+ error?: Callback;
22
+ loaded?: Callback;
23
+ loading?: Callback;
24
+ };
25
+
26
+ export declare type LazyloadOptions = {
27
+ error?: string;
28
+ filter?: Filter;
29
+ silent?: boolean;
30
+ adapter?: Adapter;
31
+ loading?: string;
32
+ attempt?: number;
33
+ preLoad?: number;
34
+ observer?: boolean;
35
+ lazyImage?: boolean;
36
+ throttleWait?: number;
37
+ listenEvents?: ListenEvent[];
38
+ dispatchEvent?: boolean;
39
+ lazyComponent?: boolean;
40
+ observerOptions?: IntersectionObserverInit;
41
+ };
42
+
43
+ export declare const Lazyload: {
44
+ install(app: App, options?: LazyloadOptions): void;
45
+ };
46
+
47
+ declare module '@vue/runtime-core' {
48
+ interface ComponentCustomProperties {
49
+ $Lazyload: {
50
+ $on: (event: string, handler: Callback) => void;
51
+ $off: (event: string, handler?: Callback) => void;
52
+ $once: (event: string, handler: Callback) => void;
53
+ };
54
+ }
55
+ }
@@ -1,5 +1,5 @@
1
- import { ExtractPropTypes, PropType } from 'vue';
2
- import type { Media, MediaAfterRead, MediaBeforeDelete, MediaBeforeRead, MediaPick, MediaPreview, MediaSizeType } from './type';
1
+ import { ComponentPublicInstance, ExtractPropTypes, PropType } from 'vue';
2
+ import type { Media, MediaAddType, MediaAfterRead, MediaBeforeDelete, MediaBeforeRead, MediaPick, MediaPreview, MediaSizeType, MediaType } from './type';
3
3
  import { MediaPlayerProps } from '../media-player';
4
4
  declare const mediaPickerProps: {
5
5
  disabled: BooleanConstructor;
@@ -81,6 +81,9 @@ declare const mediaPickerProps: {
81
81
  mediaPlayerProps: PropType<Partial<MediaPlayerProps>>;
82
82
  };
83
83
  export type MediaPickerProps = ExtractPropTypes<typeof mediaPickerProps>;
84
+ export type MediaPickerInstance = ComponentPublicInstance<{
85
+ mediaPickAction: (mediaType: MediaType, mediaAddType: MediaAddType) => void;
86
+ }>;
84
87
  declare const _default: import("vue").DefineComponent<ExtractPropTypes<{
85
88
  disabled: BooleanConstructor;
86
89
  showTitle: BooleanConstructor;
@@ -174,7 +174,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
174
174
  const triggerHiddenInput = (ref2) => {
175
175
  ref2 && ref2.click();
176
176
  };
177
- const mediaPick = (mediaType, mediaAddType) => {
177
+ const mediaPickAction = (mediaType, mediaAddType) => {
178
178
  if (props.disabled) {
179
179
  return;
180
180
  }
@@ -250,24 +250,24 @@ var stdin_default = (0, import_vue2.defineComponent)({
250
250
  return [{
251
251
  name: "\u62CD\u6444",
252
252
  callback: () => {
253
- mediaPick("video", "take");
253
+ mediaPickAction("video", "take");
254
254
  }
255
255
  }, {
256
256
  name: "\u89C6\u9891\u6587\u4EF6",
257
257
  callback: () => {
258
- mediaPick("video", "pick");
258
+ mediaPickAction("video", "pick");
259
259
  }
260
260
  }];
261
261
  } else if (audioOptionsVisible.value) {
262
262
  return [{
263
263
  name: "\u5F55\u97F3",
264
264
  callback: () => {
265
- mediaPick("audio", "take");
265
+ mediaPickAction("audio", "take");
266
266
  }
267
267
  }, {
268
268
  name: "\u97F3\u9891\u6587\u4EF6",
269
269
  callback: () => {
270
- mediaPick("audio", "pick");
270
+ mediaPickAction("audio", "pick");
271
271
  }
272
272
  }];
273
273
  }
@@ -609,7 +609,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
609
609
  "class": bem("box")
610
610
  }, [(0, import_vue.createVNode)("div", {
611
611
  "class": bem("button"),
612
- "onClick": () => mediaPick(mediaType, mediaAddType)
612
+ "onClick": () => mediaPickAction(mediaType, mediaAddType)
613
613
  }, [renderIcon(mediaType, mediaAddType)]), (0, import_vue.createVNode)("div", {
614
614
  "class": bem("label")
615
615
  }, [label])]);
@@ -806,7 +806,7 @@ var stdin_default = (0, import_vue2.defineComponent)({
806
806
  action.func && action.func();
807
807
  };
808
808
  (0, import_use_expose.useExpose)({
809
- mediaPick
809
+ mediaPickAction
810
810
  });
811
811
  return () => {
812
812
  const title = props.showTitle && (0, import_vue.createVNode)("div", {
@@ -162,7 +162,7 @@ export declare const MediaPicker: import("../utils").WithInstall<import("vue").D
162
162
  imageSizeType: import("./type").MediaSizeType;
163
163
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>>;
164
164
  export default MediaPicker;
165
- export type { MediaPickerProps } from './MediaPicker';
165
+ export type { MediaPickerProps, MediaPickerInstance } from './MediaPicker';
166
166
  export type { Media, MediaType, MediaAddType, MediaUploadStatus, MediaPreview, MediaPick, MediaBeforeRead, MediaAfterRead, MediaBeforeDelete, MediaPickerThemeVars, MediaSizeType, } from './type';
167
167
  export { defaultMedia } from './type';
168
168
  declare module 'vue' {
@@ -1,6 +1,6 @@
1
- declare module '*.vue' {
2
- // eslint-disable-next-line
3
- import { DefineComponent } from 'vue';
4
- const Component: DefineComponent;
5
- export default Component;
6
- }
1
+ declare module '*.vue' {
2
+ // eslint-disable-next-line
3
+ import { DefineComponent } from 'vue';
4
+ const Component: DefineComponent;
5
+ export default Component;
6
+ }
@@ -1,23 +1,23 @@
1
- import 'vue';
2
-
3
- type EventHandler = (...args: any[]) => void;
4
-
5
- declare module 'vue' {
6
- interface ComponentCustomProps {
7
- id?: string;
8
- role?: string;
9
- tabindex?: number;
10
- onClick?: EventHandler;
11
- onTouchend?: EventHandler;
12
- onTouchmove?: EventHandler;
13
- onTouchstart?: EventHandler;
14
- onTouchcancel?: EventHandler;
15
- onTouchmovePassive?: EventHandler;
16
- onTouchstartPassive?: EventHandler;
17
- }
18
-
19
- interface HTMLAttributes {
20
- onTouchmovePassive?: EventHandler;
21
- onTouchstartPassive?: EventHandler;
22
- }
23
- }
1
+ import 'vue';
2
+
3
+ type EventHandler = (...args: any[]) => void;
4
+
5
+ declare module 'vue' {
6
+ interface ComponentCustomProps {
7
+ id?: string;
8
+ role?: string;
9
+ tabindex?: number;
10
+ onClick?: EventHandler;
11
+ onTouchend?: EventHandler;
12
+ onTouchmove?: EventHandler;
13
+ onTouchstart?: EventHandler;
14
+ onTouchcancel?: EventHandler;
15
+ onTouchmovePassive?: EventHandler;
16
+ onTouchstartPassive?: EventHandler;
17
+ }
18
+
19
+ interface HTMLAttributes {
20
+ onTouchmovePassive?: EventHandler;
21
+ onTouchstartPassive?: EventHandler;
22
+ }
23
+ }