@tarojs/shared 4.0.0-canary.1 → 4.0.0-canary.10

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/LICENSE CHANGED
@@ -158,3 +158,17 @@ MIT (stencil-vue2-output-target):
158
158
  The following files embed [stencil-vue2-output-target](https://github.com/diondree/stencil-vue2-output-target) MIT:
159
159
  `/packages/taro-components-library-vue2/src/vue-component-lib/utils.ts`
160
160
  See `/LICENSE` for details of the license.
161
+
162
+ ==================
163
+
164
+ MIT (weui):
165
+ The following files embed [stencil-vue2-output-target](https://github.com/Tencent/weui) MIT:
166
+ `/packages/taro-components/src/components/*.scss`
167
+ See `/LICENSE.txt` for details of the license.
168
+
169
+ ==================
170
+
171
+ Apache-2.0 (intersection-observer):
172
+ The following files embed [intersection-observer](https://github.com/GoogleChromeLabs/intersection-observer) Apache-2.0:
173
+ `/packages/taro-api/src/polyfill/intersection-observer.ts`
174
+ See `/LICENSE.txt` for details of the license.
@@ -0,0 +1,21 @@
1
+ declare const touchEvents: {
2
+ bindTouchStart: string;
3
+ bindTouchMove: string;
4
+ bindTouchEnd: string;
5
+ bindTouchCancel: string;
6
+ bindLongTap: string;
7
+ };
8
+ declare const animation: {
9
+ animation: string;
10
+ bindAnimationStart: string;
11
+ bindAnimationIteration: string;
12
+ bindAnimationEnd: string;
13
+ bindTransitionEnd: string;
14
+ };
15
+ declare function singleQuote(s: string): string;
16
+ declare const internalComponents: Record<string, Record<string, string>>;
17
+ declare const controlledComponent: Set<string>;
18
+ declare const focusComponents: Set<string>;
19
+ declare const voidElements: Set<string>;
20
+ declare const nestElements: Map<string, number>;
21
+ export { touchEvents, animation, singleQuote, internalComponents, controlledComponent, focusComponents, voidElements, nestElements };
@@ -0,0 +1,342 @@
1
+ const DEFAULT_EMPTY_ARRAY = '[]';
2
+ const NO_DEFAULT_VALUE = '';
3
+ const DEFAULT_TRUE = '!0';
4
+ const DEFAULT_FALSE = '!1';
5
+ const touchEvents = {
6
+ bindTouchStart: NO_DEFAULT_VALUE,
7
+ bindTouchMove: NO_DEFAULT_VALUE,
8
+ bindTouchEnd: NO_DEFAULT_VALUE,
9
+ bindTouchCancel: NO_DEFAULT_VALUE,
10
+ bindLongTap: NO_DEFAULT_VALUE
11
+ };
12
+ const animation = {
13
+ animation: NO_DEFAULT_VALUE,
14
+ bindAnimationStart: NO_DEFAULT_VALUE,
15
+ bindAnimationIteration: NO_DEFAULT_VALUE,
16
+ bindAnimationEnd: NO_DEFAULT_VALUE,
17
+ bindTransitionEnd: NO_DEFAULT_VALUE
18
+ };
19
+ function singleQuote(s) {
20
+ return `'${s}'`;
21
+ }
22
+ const View = Object.assign(Object.assign({ 'hover-class': singleQuote('none'), 'hover-stop-propagation': DEFAULT_FALSE, 'hover-start-time': '50', 'hover-stay-time': '400' }, touchEvents), animation);
23
+ const Icon = {
24
+ type: NO_DEFAULT_VALUE,
25
+ size: '23',
26
+ color: NO_DEFAULT_VALUE
27
+ };
28
+ const MapComp = Object.assign({ longitude: NO_DEFAULT_VALUE, latitude: NO_DEFAULT_VALUE, scale: '16', markers: DEFAULT_EMPTY_ARRAY, covers: NO_DEFAULT_VALUE, polyline: DEFAULT_EMPTY_ARRAY, circles: DEFAULT_EMPTY_ARRAY, controls: DEFAULT_EMPTY_ARRAY, 'include-points': DEFAULT_EMPTY_ARRAY, 'show-location': NO_DEFAULT_VALUE, 'layer-style': '1', bindMarkerTap: NO_DEFAULT_VALUE, bindControlTap: NO_DEFAULT_VALUE, bindCalloutTap: NO_DEFAULT_VALUE, bindUpdated: NO_DEFAULT_VALUE }, touchEvents);
29
+ const Progress = {
30
+ percent: NO_DEFAULT_VALUE,
31
+ 'stroke-width': '6',
32
+ color: singleQuote('#09BB07'),
33
+ activeColor: singleQuote('#09BB07'),
34
+ backgroundColor: singleQuote('#EBEBEB'),
35
+ active: DEFAULT_FALSE,
36
+ 'active-mode': singleQuote('backwards'),
37
+ 'show-info': DEFAULT_FALSE
38
+ };
39
+ const RichText = {
40
+ nodes: DEFAULT_EMPTY_ARRAY
41
+ };
42
+ const Text = {
43
+ selectable: DEFAULT_FALSE,
44
+ space: NO_DEFAULT_VALUE,
45
+ decode: DEFAULT_FALSE
46
+ };
47
+ const Button = Object.assign({ size: singleQuote('default'), type: NO_DEFAULT_VALUE, plain: DEFAULT_FALSE, disabled: NO_DEFAULT_VALUE, loading: DEFAULT_FALSE, 'form-type': NO_DEFAULT_VALUE, 'open-type': NO_DEFAULT_VALUE, 'hover-class': singleQuote('button-hover'), 'hover-stop-propagation': DEFAULT_FALSE, 'hover-start-time': '20', 'hover-stay-time': '70', name: NO_DEFAULT_VALUE, bindagreeprivacyauthorization: NO_DEFAULT_VALUE }, touchEvents);
48
+ const Checkbox = {
49
+ value: NO_DEFAULT_VALUE,
50
+ disabled: NO_DEFAULT_VALUE,
51
+ checked: DEFAULT_FALSE,
52
+ color: singleQuote('#09BB07'),
53
+ name: NO_DEFAULT_VALUE
54
+ };
55
+ const CheckboxGroup = {
56
+ bindChange: NO_DEFAULT_VALUE,
57
+ name: NO_DEFAULT_VALUE
58
+ };
59
+ const Form = {
60
+ 'report-submit': DEFAULT_FALSE,
61
+ bindSubmit: NO_DEFAULT_VALUE,
62
+ bindReset: NO_DEFAULT_VALUE,
63
+ name: NO_DEFAULT_VALUE
64
+ };
65
+ const Input = {
66
+ value: NO_DEFAULT_VALUE,
67
+ type: singleQuote(NO_DEFAULT_VALUE),
68
+ password: DEFAULT_FALSE,
69
+ placeholder: NO_DEFAULT_VALUE,
70
+ 'placeholder-style': NO_DEFAULT_VALUE,
71
+ 'placeholder-class': singleQuote('input-placeholder'),
72
+ disabled: NO_DEFAULT_VALUE,
73
+ maxlength: '140',
74
+ 'cursor-spacing': '0',
75
+ focus: DEFAULT_FALSE,
76
+ 'confirm-type': singleQuote('done'),
77
+ 'confirm-hold': DEFAULT_FALSE,
78
+ cursor: '-1',
79
+ 'selection-start': '-1',
80
+ 'selection-end': '-1',
81
+ bindInput: NO_DEFAULT_VALUE,
82
+ bindFocus: NO_DEFAULT_VALUE,
83
+ bindBlur: NO_DEFAULT_VALUE,
84
+ bindConfirm: NO_DEFAULT_VALUE,
85
+ name: NO_DEFAULT_VALUE
86
+ };
87
+ const Label = {
88
+ for: NO_DEFAULT_VALUE,
89
+ name: NO_DEFAULT_VALUE
90
+ };
91
+ const Picker = {
92
+ mode: singleQuote('selector'),
93
+ disabled: NO_DEFAULT_VALUE,
94
+ range: NO_DEFAULT_VALUE,
95
+ 'range-key': NO_DEFAULT_VALUE,
96
+ value: NO_DEFAULT_VALUE,
97
+ start: NO_DEFAULT_VALUE,
98
+ end: NO_DEFAULT_VALUE,
99
+ fields: singleQuote('day'),
100
+ 'custom-item': NO_DEFAULT_VALUE,
101
+ name: NO_DEFAULT_VALUE,
102
+ bindCancel: NO_DEFAULT_VALUE,
103
+ bindChange: NO_DEFAULT_VALUE,
104
+ bindColumnChange: NO_DEFAULT_VALUE
105
+ };
106
+ const PickerView = {
107
+ value: NO_DEFAULT_VALUE,
108
+ 'indicator-style': NO_DEFAULT_VALUE,
109
+ 'indicator-class': NO_DEFAULT_VALUE,
110
+ 'mask-style': NO_DEFAULT_VALUE,
111
+ 'mask-class': NO_DEFAULT_VALUE,
112
+ bindChange: NO_DEFAULT_VALUE,
113
+ name: NO_DEFAULT_VALUE
114
+ };
115
+ const PickerViewColumn = {
116
+ name: NO_DEFAULT_VALUE
117
+ };
118
+ const Radio = {
119
+ value: NO_DEFAULT_VALUE,
120
+ checked: DEFAULT_FALSE,
121
+ disabled: NO_DEFAULT_VALUE,
122
+ color: singleQuote('#09BB07'),
123
+ name: NO_DEFAULT_VALUE
124
+ };
125
+ const RadioGroup = {
126
+ bindChange: NO_DEFAULT_VALUE,
127
+ name: NO_DEFAULT_VALUE
128
+ };
129
+ const Slider = {
130
+ min: '0',
131
+ max: '100',
132
+ step: '1',
133
+ disabled: NO_DEFAULT_VALUE,
134
+ value: '0',
135
+ activeColor: singleQuote('#1aad19'),
136
+ backgroundColor: singleQuote('#e9e9e9'),
137
+ 'block-size': '28',
138
+ 'block-color': singleQuote('#ffffff'),
139
+ 'show-value': DEFAULT_FALSE,
140
+ bindChange: NO_DEFAULT_VALUE,
141
+ bindChanging: NO_DEFAULT_VALUE,
142
+ name: NO_DEFAULT_VALUE
143
+ };
144
+ const Switch = {
145
+ checked: DEFAULT_FALSE,
146
+ disabled: NO_DEFAULT_VALUE,
147
+ type: singleQuote('switch'),
148
+ color: singleQuote('#04BE02'),
149
+ bindChange: NO_DEFAULT_VALUE,
150
+ name: NO_DEFAULT_VALUE
151
+ };
152
+ const Textarea = {
153
+ value: NO_DEFAULT_VALUE,
154
+ placeholder: NO_DEFAULT_VALUE,
155
+ 'placeholder-style': NO_DEFAULT_VALUE,
156
+ 'placeholder-class': singleQuote('textarea-placeholder'),
157
+ disabled: NO_DEFAULT_VALUE,
158
+ maxlength: '140',
159
+ 'auto-focus': DEFAULT_FALSE,
160
+ focus: DEFAULT_FALSE,
161
+ 'auto-height': DEFAULT_FALSE,
162
+ fixed: DEFAULT_FALSE,
163
+ 'cursor-spacing': '0',
164
+ cursor: '-1',
165
+ 'selection-start': '-1',
166
+ 'selection-end': '-1',
167
+ bindFocus: NO_DEFAULT_VALUE,
168
+ bindBlur: NO_DEFAULT_VALUE,
169
+ bindLineChange: NO_DEFAULT_VALUE,
170
+ bindInput: NO_DEFAULT_VALUE,
171
+ bindConfirm: NO_DEFAULT_VALUE,
172
+ name: NO_DEFAULT_VALUE
173
+ };
174
+ const CoverImage = {
175
+ src: NO_DEFAULT_VALUE,
176
+ bindLoad: 'eh',
177
+ bindError: 'eh'
178
+ };
179
+ const CoverView = Object.assign({ 'scroll-top': DEFAULT_FALSE }, touchEvents);
180
+ const MovableArea = {
181
+ 'scale-area': DEFAULT_FALSE
182
+ };
183
+ const MovableView = Object.assign(Object.assign({ direction: 'none', inertia: DEFAULT_FALSE, 'out-of-bounds': DEFAULT_FALSE, x: NO_DEFAULT_VALUE, y: NO_DEFAULT_VALUE, damping: '20', friction: '2', disabled: NO_DEFAULT_VALUE, scale: DEFAULT_FALSE, 'scale-min': '0.5', 'scale-max': '10', 'scale-value': '1', bindChange: NO_DEFAULT_VALUE, bindScale: NO_DEFAULT_VALUE, bindHTouchMove: NO_DEFAULT_VALUE, bindVTouchMove: NO_DEFAULT_VALUE, width: singleQuote('10px'), height: singleQuote('10px') }, touchEvents), animation);
184
+ const ScrollView = Object.assign(Object.assign({ 'scroll-x': DEFAULT_FALSE, 'scroll-y': DEFAULT_FALSE, 'upper-threshold': '50', 'lower-threshold': '50', 'scroll-top': NO_DEFAULT_VALUE, 'scroll-left': NO_DEFAULT_VALUE, 'scroll-into-view': NO_DEFAULT_VALUE, 'scroll-with-animation': DEFAULT_FALSE, 'enable-back-to-top': DEFAULT_FALSE, bindScrollToUpper: NO_DEFAULT_VALUE, bindScrollToLower: NO_DEFAULT_VALUE, bindScroll: NO_DEFAULT_VALUE }, touchEvents), animation);
185
+ const Swiper = Object.assign({ 'indicator-dots': DEFAULT_FALSE, 'indicator-color': singleQuote('rgba(0, 0, 0, .3)'), 'indicator-active-color': singleQuote('#000000'), autoplay: DEFAULT_FALSE, current: '0', interval: '5000', duration: '500', circular: DEFAULT_FALSE, vertical: DEFAULT_FALSE, 'previous-margin': singleQuote('0px'), 'next-margin': singleQuote('0px'), 'display-multiple-items': '1', bindChange: NO_DEFAULT_VALUE, bindTransition: NO_DEFAULT_VALUE, bindAnimationFinish: NO_DEFAULT_VALUE }, touchEvents);
186
+ const SwiperItem = {
187
+ 'item-id': NO_DEFAULT_VALUE
188
+ };
189
+ const Navigator = {
190
+ url: NO_DEFAULT_VALUE,
191
+ 'open-type': singleQuote('navigate'),
192
+ delta: '1',
193
+ 'hover-class': singleQuote('navigator-hover'),
194
+ 'hover-stop-propagation': DEFAULT_FALSE,
195
+ 'hover-start-time': '50',
196
+ 'hover-stay-time': '600',
197
+ bindSuccess: NO_DEFAULT_VALUE,
198
+ bindFail: NO_DEFAULT_VALUE,
199
+ bindComplete: NO_DEFAULT_VALUE
200
+ };
201
+ const Audio = {
202
+ id: NO_DEFAULT_VALUE,
203
+ src: NO_DEFAULT_VALUE,
204
+ loop: DEFAULT_FALSE,
205
+ controls: DEFAULT_FALSE,
206
+ poster: NO_DEFAULT_VALUE,
207
+ name: NO_DEFAULT_VALUE,
208
+ author: NO_DEFAULT_VALUE,
209
+ bindError: NO_DEFAULT_VALUE,
210
+ bindPlay: NO_DEFAULT_VALUE,
211
+ bindPause: NO_DEFAULT_VALUE,
212
+ bindTimeUpdate: NO_DEFAULT_VALUE,
213
+ bindEnded: NO_DEFAULT_VALUE
214
+ };
215
+ const Camera = {
216
+ 'device-position': singleQuote('back'),
217
+ flash: singleQuote('auto'),
218
+ bindStop: NO_DEFAULT_VALUE,
219
+ bindError: NO_DEFAULT_VALUE
220
+ };
221
+ const Image = Object.assign({ src: NO_DEFAULT_VALUE, mode: singleQuote('scaleToFill'), 'lazy-load': DEFAULT_FALSE, bindError: NO_DEFAULT_VALUE, bindLoad: NO_DEFAULT_VALUE }, touchEvents);
222
+ const LivePlayer = Object.assign({ src: NO_DEFAULT_VALUE, autoplay: DEFAULT_FALSE, muted: DEFAULT_FALSE, orientation: singleQuote('vertical'), 'object-fit': singleQuote('contain'), 'background-mute': DEFAULT_FALSE, 'min-cache': '1', 'max-cache': '3', bindStateChange: NO_DEFAULT_VALUE, bindFullScreenChange: NO_DEFAULT_VALUE, bindNetStatus: NO_DEFAULT_VALUE }, animation);
223
+ const Video = Object.assign({ src: NO_DEFAULT_VALUE, duration: NO_DEFAULT_VALUE, controls: DEFAULT_TRUE, 'danmu-list': NO_DEFAULT_VALUE, 'danmu-btn': NO_DEFAULT_VALUE, 'enable-danmu': NO_DEFAULT_VALUE, autoplay: DEFAULT_FALSE, loop: DEFAULT_FALSE, muted: DEFAULT_FALSE, 'initial-time': '0', 'page-gesture': DEFAULT_FALSE, direction: NO_DEFAULT_VALUE, 'show-progress': DEFAULT_TRUE, 'show-fullscreen-btn': DEFAULT_TRUE, 'show-play-btn': DEFAULT_TRUE, 'show-center-play-btn': DEFAULT_TRUE, 'enable-progress-gesture': DEFAULT_TRUE, 'object-fit': singleQuote('contain'), poster: NO_DEFAULT_VALUE, 'show-mute-btn': DEFAULT_FALSE, bindPlay: NO_DEFAULT_VALUE, bindPause: NO_DEFAULT_VALUE, bindEnded: NO_DEFAULT_VALUE, bindTimeUpdate: NO_DEFAULT_VALUE, bindFullScreenChange: NO_DEFAULT_VALUE, bindWaiting: NO_DEFAULT_VALUE, bindError: NO_DEFAULT_VALUE }, animation);
224
+ const Canvas = Object.assign({ 'canvas-id': NO_DEFAULT_VALUE, 'disable-scroll': DEFAULT_FALSE, bindError: NO_DEFAULT_VALUE }, touchEvents);
225
+ const Ad = {
226
+ 'unit-id': NO_DEFAULT_VALUE,
227
+ 'ad-intervals': NO_DEFAULT_VALUE,
228
+ bindLoad: NO_DEFAULT_VALUE,
229
+ bindError: NO_DEFAULT_VALUE,
230
+ bindClose: NO_DEFAULT_VALUE
231
+ };
232
+ const WebView = {
233
+ src: NO_DEFAULT_VALUE,
234
+ bindMessage: NO_DEFAULT_VALUE,
235
+ bindLoad: NO_DEFAULT_VALUE,
236
+ bindError: NO_DEFAULT_VALUE
237
+ };
238
+ const Block = {};
239
+ // For Vue,因为 slot 标签被 vue 占用了
240
+ const SlotView = {
241
+ name: NO_DEFAULT_VALUE
242
+ };
243
+ // For React
244
+ // Slot 和 SlotView 最终都会编译成 <view slot={{ i.name }} />
245
+ // 因为 <slot name="{{ i.name }}" /> 适用性没有前者高(无法添加类和样式)
246
+ // 不给 View 直接加 slot 属性的原因是性能损耗
247
+ const Slot = {
248
+ name: NO_DEFAULT_VALUE
249
+ };
250
+ const NativeSlot = {
251
+ name: NO_DEFAULT_VALUE
252
+ };
253
+ const internalComponents = {
254
+ View,
255
+ Icon,
256
+ Progress,
257
+ RichText,
258
+ Text,
259
+ Button,
260
+ Checkbox,
261
+ CheckboxGroup,
262
+ Form,
263
+ Input,
264
+ Label,
265
+ Picker,
266
+ PickerView,
267
+ PickerViewColumn,
268
+ Radio,
269
+ RadioGroup,
270
+ Slider,
271
+ Switch,
272
+ CoverImage,
273
+ Textarea,
274
+ CoverView,
275
+ MovableArea,
276
+ MovableView,
277
+ ScrollView,
278
+ Swiper,
279
+ SwiperItem,
280
+ Navigator,
281
+ Audio,
282
+ Camera,
283
+ Image,
284
+ LivePlayer,
285
+ Video,
286
+ Canvas,
287
+ Ad,
288
+ WebView,
289
+ Block,
290
+ Map: MapComp,
291
+ Slot,
292
+ SlotView,
293
+ NativeSlot,
294
+ };
295
+ const controlledComponent = new Set([
296
+ 'input',
297
+ 'checkbox',
298
+ 'picker',
299
+ 'picker-view',
300
+ 'radio',
301
+ 'slider',
302
+ 'switch',
303
+ 'textarea'
304
+ ]);
305
+ const focusComponents = new Set([
306
+ 'input',
307
+ 'textarea'
308
+ ]);
309
+ const voidElements = new Set([
310
+ 'progress',
311
+ 'icon',
312
+ 'rich-text',
313
+ 'input',
314
+ 'textarea',
315
+ 'slider',
316
+ 'switch',
317
+ 'audio',
318
+ 'ad',
319
+ 'official-account',
320
+ 'open-data',
321
+ 'navigation-bar'
322
+ ]);
323
+ const nestElements = new Map([
324
+ ['view', -1],
325
+ ['catch-view', -1],
326
+ ['cover-view', -1],
327
+ ['static-view', -1],
328
+ ['pure-view', -1],
329
+ ['block', -1],
330
+ ['text', -1],
331
+ ['static-text', 6],
332
+ ['slot', 8],
333
+ ['slot-view', 8],
334
+ ['label', 6],
335
+ ['form', 4],
336
+ ['scroll-view', 4],
337
+ ['swiper', 4],
338
+ ['swiper-item', 4]
339
+ ]);
340
+
341
+ export { animation, controlledComponent, focusComponents, internalComponents, nestElements, singleQuote, touchEvents, voidElements };
342
+ //# sourceMappingURL=components.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"components.js","sources":["../src/components.ts"],"sourcesContent":["const DEFAULT_EMPTY_ARRAY = '[]'\nconst NO_DEFAULT_VALUE = ''\nconst DEFAULT_TRUE = '!0'\nconst DEFAULT_FALSE = '!1'\n\nexport const touchEvents = {\n bindTouchStart: NO_DEFAULT_VALUE,\n bindTouchMove: NO_DEFAULT_VALUE,\n bindTouchEnd: NO_DEFAULT_VALUE,\n bindTouchCancel: NO_DEFAULT_VALUE,\n bindLongTap: NO_DEFAULT_VALUE\n}\n\nexport const animation = {\n animation: NO_DEFAULT_VALUE,\n bindAnimationStart: NO_DEFAULT_VALUE,\n bindAnimationIteration: NO_DEFAULT_VALUE,\n bindAnimationEnd: NO_DEFAULT_VALUE,\n bindTransitionEnd: NO_DEFAULT_VALUE\n}\n\nexport function singleQuote (s: string) {\n return `'${s}'`\n}\n\nconst View = {\n 'hover-class': singleQuote('none'),\n 'hover-stop-propagation': DEFAULT_FALSE,\n 'hover-start-time': '50',\n 'hover-stay-time': '400',\n ...touchEvents,\n ...animation\n}\n\nconst Icon = {\n type: NO_DEFAULT_VALUE,\n size: '23',\n color: NO_DEFAULT_VALUE\n}\n\nconst MapComp = {\n longitude: NO_DEFAULT_VALUE,\n latitude: NO_DEFAULT_VALUE,\n scale: '16',\n markers: DEFAULT_EMPTY_ARRAY,\n covers: NO_DEFAULT_VALUE,\n polyline: DEFAULT_EMPTY_ARRAY,\n circles: DEFAULT_EMPTY_ARRAY,\n controls: DEFAULT_EMPTY_ARRAY,\n 'include-points': DEFAULT_EMPTY_ARRAY,\n 'show-location': NO_DEFAULT_VALUE,\n 'layer-style': '1',\n bindMarkerTap: NO_DEFAULT_VALUE,\n bindControlTap: NO_DEFAULT_VALUE,\n bindCalloutTap: NO_DEFAULT_VALUE,\n bindUpdated: NO_DEFAULT_VALUE,\n ...touchEvents\n}\n\nconst Progress = {\n percent: NO_DEFAULT_VALUE,\n 'stroke-width': '6',\n color: singleQuote('#09BB07'),\n activeColor: singleQuote('#09BB07'),\n backgroundColor: singleQuote('#EBEBEB'),\n active: DEFAULT_FALSE,\n 'active-mode': singleQuote('backwards'),\n 'show-info': DEFAULT_FALSE\n}\n\nconst RichText = {\n nodes: DEFAULT_EMPTY_ARRAY\n}\n\nconst Text = {\n selectable: DEFAULT_FALSE,\n space: NO_DEFAULT_VALUE,\n decode: DEFAULT_FALSE\n}\n\nconst Button = {\n size: singleQuote('default'),\n type: NO_DEFAULT_VALUE,\n plain: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n loading: DEFAULT_FALSE,\n 'form-type': NO_DEFAULT_VALUE,\n 'open-type': NO_DEFAULT_VALUE,\n 'hover-class': singleQuote('button-hover'),\n 'hover-stop-propagation': DEFAULT_FALSE,\n 'hover-start-time': '20',\n 'hover-stay-time': '70',\n name: NO_DEFAULT_VALUE,\n bindagreeprivacyauthorization: NO_DEFAULT_VALUE,\n ...touchEvents\n}\n\nconst Checkbox = {\n value: NO_DEFAULT_VALUE,\n disabled: NO_DEFAULT_VALUE,\n checked: DEFAULT_FALSE,\n color: singleQuote('#09BB07'),\n name: NO_DEFAULT_VALUE\n}\n\nconst CheckboxGroup = {\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst Form = {\n 'report-submit': DEFAULT_FALSE,\n bindSubmit: NO_DEFAULT_VALUE,\n bindReset: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst Input = {\n value: NO_DEFAULT_VALUE,\n type: singleQuote(NO_DEFAULT_VALUE),\n password: DEFAULT_FALSE,\n placeholder: NO_DEFAULT_VALUE,\n 'placeholder-style': NO_DEFAULT_VALUE,\n 'placeholder-class': singleQuote('input-placeholder'),\n disabled: NO_DEFAULT_VALUE,\n maxlength: '140',\n 'cursor-spacing': '0',\n focus: DEFAULT_FALSE,\n 'confirm-type': singleQuote('done'),\n 'confirm-hold': DEFAULT_FALSE,\n cursor: '-1',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindInput: NO_DEFAULT_VALUE,\n bindFocus: NO_DEFAULT_VALUE,\n bindBlur: NO_DEFAULT_VALUE,\n bindConfirm: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst Label = {\n for: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst Picker = {\n mode: singleQuote('selector'),\n disabled: NO_DEFAULT_VALUE,\n range: NO_DEFAULT_VALUE,\n 'range-key': NO_DEFAULT_VALUE,\n value: NO_DEFAULT_VALUE,\n start: NO_DEFAULT_VALUE,\n end: NO_DEFAULT_VALUE,\n fields: singleQuote('day'),\n 'custom-item': NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE,\n bindCancel: NO_DEFAULT_VALUE,\n bindChange: NO_DEFAULT_VALUE,\n bindColumnChange: NO_DEFAULT_VALUE\n}\n\nconst PickerView = {\n value: NO_DEFAULT_VALUE,\n 'indicator-style': NO_DEFAULT_VALUE,\n 'indicator-class': NO_DEFAULT_VALUE,\n 'mask-style': NO_DEFAULT_VALUE,\n 'mask-class': NO_DEFAULT_VALUE,\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst PickerViewColumn = {\n name: NO_DEFAULT_VALUE\n}\n\nconst Radio = {\n value: NO_DEFAULT_VALUE,\n checked: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n color: singleQuote('#09BB07'),\n name: NO_DEFAULT_VALUE\n}\n\nconst RadioGroup = {\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst Slider = {\n min: '0',\n max: '100',\n step: '1',\n disabled: NO_DEFAULT_VALUE,\n value: '0',\n activeColor: singleQuote('#1aad19'),\n backgroundColor: singleQuote('#e9e9e9'),\n 'block-size': '28',\n 'block-color': singleQuote('#ffffff'),\n 'show-value': DEFAULT_FALSE,\n bindChange: NO_DEFAULT_VALUE,\n bindChanging: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst Switch = {\n checked: DEFAULT_FALSE,\n disabled: NO_DEFAULT_VALUE,\n type: singleQuote('switch'),\n color: singleQuote('#04BE02'),\n bindChange: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst Textarea = {\n value: NO_DEFAULT_VALUE,\n placeholder: NO_DEFAULT_VALUE,\n 'placeholder-style': NO_DEFAULT_VALUE,\n 'placeholder-class': singleQuote('textarea-placeholder'),\n disabled: NO_DEFAULT_VALUE,\n maxlength: '140',\n 'auto-focus': DEFAULT_FALSE,\n focus: DEFAULT_FALSE,\n 'auto-height': DEFAULT_FALSE,\n fixed: DEFAULT_FALSE,\n 'cursor-spacing': '0',\n cursor: '-1',\n 'selection-start': '-1',\n 'selection-end': '-1',\n bindFocus: NO_DEFAULT_VALUE,\n bindBlur: NO_DEFAULT_VALUE,\n bindLineChange: NO_DEFAULT_VALUE,\n bindInput: NO_DEFAULT_VALUE,\n bindConfirm: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE\n}\n\nconst CoverImage = {\n src: NO_DEFAULT_VALUE,\n bindLoad: 'eh',\n bindError: 'eh'\n}\n\nconst CoverView = {\n 'scroll-top': DEFAULT_FALSE,\n ...touchEvents\n}\n\nconst MovableArea = {\n 'scale-area': DEFAULT_FALSE\n}\n\nconst MovableView = {\n direction: 'none',\n inertia: DEFAULT_FALSE,\n 'out-of-bounds': DEFAULT_FALSE,\n x: NO_DEFAULT_VALUE,\n y: NO_DEFAULT_VALUE,\n damping: '20',\n friction: '2',\n disabled: NO_DEFAULT_VALUE,\n scale: DEFAULT_FALSE,\n 'scale-min': '0.5',\n 'scale-max': '10',\n 'scale-value': '1',\n bindChange: NO_DEFAULT_VALUE,\n bindScale: NO_DEFAULT_VALUE,\n bindHTouchMove: NO_DEFAULT_VALUE,\n bindVTouchMove: NO_DEFAULT_VALUE,\n width: singleQuote('10px'),\n height: singleQuote('10px'),\n ...touchEvents,\n ...animation\n}\n\nconst ScrollView = {\n 'scroll-x': DEFAULT_FALSE,\n 'scroll-y': DEFAULT_FALSE,\n 'upper-threshold': '50',\n 'lower-threshold': '50',\n 'scroll-top': NO_DEFAULT_VALUE,\n 'scroll-left': NO_DEFAULT_VALUE,\n 'scroll-into-view': NO_DEFAULT_VALUE,\n 'scroll-with-animation': DEFAULT_FALSE,\n 'enable-back-to-top': DEFAULT_FALSE,\n bindScrollToUpper: NO_DEFAULT_VALUE,\n bindScrollToLower: NO_DEFAULT_VALUE,\n bindScroll: NO_DEFAULT_VALUE,\n ...touchEvents,\n ...animation\n}\n\nconst Swiper = {\n 'indicator-dots': DEFAULT_FALSE,\n 'indicator-color': singleQuote('rgba(0, 0, 0, .3)'),\n 'indicator-active-color': singleQuote('#000000'),\n autoplay: DEFAULT_FALSE,\n current: '0',\n interval: '5000',\n duration: '500',\n circular: DEFAULT_FALSE,\n vertical: DEFAULT_FALSE,\n 'previous-margin': singleQuote('0px'),\n 'next-margin': singleQuote('0px'),\n 'display-multiple-items': '1',\n bindChange: NO_DEFAULT_VALUE,\n bindTransition: NO_DEFAULT_VALUE,\n bindAnimationFinish: NO_DEFAULT_VALUE,\n ...touchEvents\n}\n\nconst SwiperItem = {\n 'item-id': NO_DEFAULT_VALUE\n}\n\nconst Navigator = {\n url: NO_DEFAULT_VALUE,\n 'open-type': singleQuote('navigate'),\n delta: '1',\n 'hover-class': singleQuote('navigator-hover'),\n 'hover-stop-propagation': DEFAULT_FALSE,\n 'hover-start-time': '50',\n 'hover-stay-time': '600',\n bindSuccess: NO_DEFAULT_VALUE,\n bindFail: NO_DEFAULT_VALUE,\n bindComplete: NO_DEFAULT_VALUE\n}\n\nconst Audio = {\n id: NO_DEFAULT_VALUE,\n src: NO_DEFAULT_VALUE,\n loop: DEFAULT_FALSE,\n controls: DEFAULT_FALSE,\n poster: NO_DEFAULT_VALUE,\n name: NO_DEFAULT_VALUE,\n author: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n bindPlay: NO_DEFAULT_VALUE,\n bindPause: NO_DEFAULT_VALUE,\n bindTimeUpdate: NO_DEFAULT_VALUE,\n bindEnded: NO_DEFAULT_VALUE\n}\n\nconst Camera = {\n 'device-position': singleQuote('back'),\n flash: singleQuote('auto'),\n bindStop: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE\n}\n\nconst Image = {\n src: NO_DEFAULT_VALUE,\n mode: singleQuote('scaleToFill'),\n 'lazy-load': DEFAULT_FALSE,\n bindError: NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n ...touchEvents\n}\n\nconst LivePlayer = {\n src: NO_DEFAULT_VALUE,\n autoplay: DEFAULT_FALSE,\n muted: DEFAULT_FALSE,\n orientation: singleQuote('vertical'),\n 'object-fit': singleQuote('contain'),\n 'background-mute': DEFAULT_FALSE,\n 'min-cache': '1',\n 'max-cache': '3',\n bindStateChange: NO_DEFAULT_VALUE,\n bindFullScreenChange: NO_DEFAULT_VALUE,\n bindNetStatus: NO_DEFAULT_VALUE,\n ...animation\n}\n\nconst Video = {\n src: NO_DEFAULT_VALUE,\n duration: NO_DEFAULT_VALUE,\n controls: DEFAULT_TRUE,\n 'danmu-list': NO_DEFAULT_VALUE,\n 'danmu-btn': NO_DEFAULT_VALUE,\n 'enable-danmu': NO_DEFAULT_VALUE,\n autoplay: DEFAULT_FALSE,\n loop: DEFAULT_FALSE,\n muted: DEFAULT_FALSE,\n 'initial-time': '0',\n 'page-gesture': DEFAULT_FALSE,\n direction: NO_DEFAULT_VALUE,\n 'show-progress': DEFAULT_TRUE,\n 'show-fullscreen-btn': DEFAULT_TRUE,\n 'show-play-btn': DEFAULT_TRUE,\n 'show-center-play-btn': DEFAULT_TRUE,\n 'enable-progress-gesture': DEFAULT_TRUE,\n 'object-fit': singleQuote('contain'),\n poster: NO_DEFAULT_VALUE,\n 'show-mute-btn': DEFAULT_FALSE,\n bindPlay: NO_DEFAULT_VALUE,\n bindPause: NO_DEFAULT_VALUE,\n bindEnded: NO_DEFAULT_VALUE,\n bindTimeUpdate: NO_DEFAULT_VALUE,\n bindFullScreenChange: NO_DEFAULT_VALUE,\n bindWaiting: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n ...animation\n}\n\nconst Canvas = {\n 'canvas-id': NO_DEFAULT_VALUE,\n 'disable-scroll': DEFAULT_FALSE,\n bindError: NO_DEFAULT_VALUE,\n ...touchEvents\n}\n\nconst Ad = {\n 'unit-id': NO_DEFAULT_VALUE,\n 'ad-intervals': NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE,\n bindClose: NO_DEFAULT_VALUE\n}\n\nconst WebView = {\n src: NO_DEFAULT_VALUE,\n bindMessage: NO_DEFAULT_VALUE,\n bindLoad: NO_DEFAULT_VALUE,\n bindError: NO_DEFAULT_VALUE\n}\n\nconst Block = {}\n\n// For Vue,因为 slot 标签被 vue 占用了\nconst SlotView = {\n name: NO_DEFAULT_VALUE\n}\n\n// For React\n// Slot 和 SlotView 最终都会编译成 <view slot={{ i.name }} />\n// 因为 <slot name=\"{{ i.name }}\" /> 适用性没有前者高(无法添加类和样式)\n// 不给 View 直接加 slot 属性的原因是性能损耗\nconst Slot = {\n name: NO_DEFAULT_VALUE\n}\n\nconst NativeSlot = {\n name: NO_DEFAULT_VALUE\n}\n\nexport const internalComponents: Record<string, Record<string, string>> = {\n View,\n Icon,\n Progress,\n RichText,\n Text,\n Button,\n Checkbox,\n CheckboxGroup,\n Form,\n Input,\n Label,\n Picker,\n PickerView,\n PickerViewColumn,\n Radio,\n RadioGroup,\n Slider,\n Switch,\n CoverImage,\n Textarea,\n CoverView,\n MovableArea,\n MovableView,\n ScrollView,\n Swiper,\n SwiperItem,\n Navigator,\n Audio,\n Camera,\n Image,\n LivePlayer,\n Video,\n Canvas,\n Ad,\n WebView,\n Block,\n Map: MapComp,\n Slot,\n SlotView,\n NativeSlot,\n}\n\nexport const controlledComponent = new Set([\n 'input',\n 'checkbox',\n 'picker',\n 'picker-view',\n 'radio',\n 'slider',\n 'switch',\n 'textarea'\n])\n\nexport const focusComponents = new Set([\n 'input',\n 'textarea'\n])\n\nexport const voidElements = new Set([\n 'progress',\n 'icon',\n 'rich-text',\n 'input',\n 'textarea',\n 'slider',\n 'switch',\n 'audio',\n 'ad',\n 'official-account',\n 'open-data',\n 'navigation-bar'\n])\n\nexport const nestElements = new Map([\n ['view', -1],\n ['catch-view', -1],\n ['cover-view', -1],\n ['static-view', -1],\n ['pure-view', -1],\n ['block', -1],\n ['text', -1],\n ['static-text', 6],\n ['slot', 8],\n ['slot-view', 8],\n ['label', 6],\n ['form', 4],\n ['scroll-view', 4],\n ['swiper', 4],\n ['swiper-item', 4]\n])\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ declare enum PLATFORM_TYPE {
2
+ MINI = "mini",
3
+ WEB = "web",
4
+ RN = "rn",
5
+ HARMONY = "harmony",
6
+ QUICK = "quickapp"
7
+ }
8
+ declare const PLATFORM_CONFIG_MAP: {
9
+ h5: {
10
+ type: PLATFORM_TYPE;
11
+ };
12
+ harmony: {
13
+ type: PLATFORM_TYPE;
14
+ };
15
+ mini: {
16
+ type: PLATFORM_TYPE;
17
+ };
18
+ rn: {
19
+ type: PLATFORM_TYPE;
20
+ };
21
+ quickapp: {
22
+ type: PLATFORM_TYPE;
23
+ };
24
+ };
25
+ export { PLATFORM_TYPE, PLATFORM_CONFIG_MAP };
@@ -0,0 +1,28 @@
1
+ var PLATFORM_TYPE;
2
+ (function (PLATFORM_TYPE) {
3
+ PLATFORM_TYPE["MINI"] = "mini";
4
+ PLATFORM_TYPE["WEB"] = "web";
5
+ PLATFORM_TYPE["RN"] = "rn";
6
+ PLATFORM_TYPE["HARMONY"] = "harmony";
7
+ PLATFORM_TYPE["QUICK"] = "quickapp";
8
+ })(PLATFORM_TYPE || (PLATFORM_TYPE = {}));
9
+ const PLATFORM_CONFIG_MAP = {
10
+ h5: {
11
+ type: PLATFORM_TYPE.WEB
12
+ },
13
+ harmony: {
14
+ type: PLATFORM_TYPE.HARMONY
15
+ },
16
+ mini: {
17
+ type: PLATFORM_TYPE.MINI
18
+ },
19
+ rn: {
20
+ type: PLATFORM_TYPE.RN
21
+ },
22
+ quickapp: {
23
+ type: PLATFORM_TYPE.QUICK
24
+ },
25
+ };
26
+
27
+ export { PLATFORM_CONFIG_MAP, PLATFORM_TYPE };
28
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":["export enum PLATFORM_TYPE {\n MINI = 'mini',\n WEB = 'web',\n RN = 'rn',\n HARMONY = 'harmony',\n QUICK = 'quickapp',\n}\n\nexport const PLATFORM_CONFIG_MAP = {\n h5: {\n type: PLATFORM_TYPE.WEB\n },\n harmony: {\n type: PLATFORM_TYPE.HARMONY\n },\n mini: {\n type: PLATFORM_TYPE.MINI\n },\n rn: {\n type: PLATFORM_TYPE.RN\n },\n quickapp: {\n type: PLATFORM_TYPE.QUICK\n },\n}\n"],"names":[],"mappings":"IAAY,cAMX;AAND,CAAA,UAAY,aAAa,EAAA;AACvB,IAAA,aAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;AACb,IAAA,aAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;AACX,IAAA,aAAA,CAAA,IAAA,CAAA,GAAA,IAAS,CAAA;AACT,IAAA,aAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;AACnB,IAAA,aAAA,CAAA,OAAA,CAAA,GAAA,UAAkB,CAAA;AACpB,CAAC,EANW,aAAa,KAAb,aAAa,GAMxB,EAAA,CAAA,CAAA,CAAA;AAEY,MAAA,mBAAmB,GAAG;AACjC,IAAA,EAAE,EAAE;QACF,IAAI,EAAE,aAAa,CAAC,GAAG;AACxB,KAAA;AACD,IAAA,OAAO,EAAE;QACP,IAAI,EAAE,aAAa,CAAC,OAAO;AAC5B,KAAA;AACD,IAAA,IAAI,EAAE;QACJ,IAAI,EAAE,aAAa,CAAC,IAAI;AACzB,KAAA;AACD,IAAA,EAAE,EAAE;QACF,IAAI,EAAE,aAAa,CAAC,EAAE;AACvB,KAAA;AACD,IAAA,QAAQ,EAAE;QACR,IAAI,EAAE,aAAa,CAAC,KAAK;AAC1B,KAAA;;;;;"}
@@ -0,0 +1,13 @@
1
+ type EventName = string | symbol;
2
+ type EventCallbacks = Record<EventName, Record<'next' | 'tail', unknown>>;
3
+ declare class Events {
4
+ protected callbacks?: EventCallbacks;
5
+ static eventSplitter: string;
6
+ // Note: Harmony ACE API 8 开发板不支持使用正则 split 字符串 /\s+/
7
+ constructor(opts?: any);
8
+ on(eventName: EventName, callback: (...args: any[]) => void, context?: any): this;
9
+ once(events: EventName, callback: (...r: any[]) => void, context?: any): this;
10
+ off(events?: EventName, callback?: (...args: any[]) => void, context?: any): this;
11
+ trigger(events: EventName, ...args: any[]): this;
12
+ }
13
+ export { Events };
@@ -0,0 +1,97 @@
1
+ class Events {
2
+ constructor(opts) {
3
+ var _a;
4
+ this.callbacks = (_a = opts === null || opts === void 0 ? void 0 : opts.callbacks) !== null && _a !== void 0 ? _a : {};
5
+ }
6
+ on(eventName, callback, context) {
7
+ let event, tail, _eventName;
8
+ if (!callback) {
9
+ return this;
10
+ }
11
+ if (typeof eventName === 'symbol') {
12
+ _eventName = [eventName];
13
+ }
14
+ else {
15
+ _eventName = eventName.split(Events.eventSplitter);
16
+ }
17
+ this.callbacks || (this.callbacks = {});
18
+ const calls = this.callbacks;
19
+ while ((event = _eventName.shift())) {
20
+ const list = calls[event];
21
+ const node = list ? list.tail : {};
22
+ node.next = tail = {};
23
+ node.context = context;
24
+ node.callback = callback;
25
+ calls[event] = {
26
+ tail,
27
+ next: list ? list.next : node
28
+ };
29
+ }
30
+ return this;
31
+ }
32
+ once(events, callback, context) {
33
+ const wrapper = (...args) => {
34
+ callback.apply(this, args);
35
+ this.off(events, wrapper, context);
36
+ };
37
+ this.on(events, wrapper, context);
38
+ return this;
39
+ }
40
+ off(events, callback, context) {
41
+ let event, calls, _events;
42
+ if (!(calls = this.callbacks)) {
43
+ return this;
44
+ }
45
+ if (!(events || callback || context)) {
46
+ delete this.callbacks;
47
+ return this;
48
+ }
49
+ if (typeof events === 'symbol') {
50
+ _events = [events];
51
+ }
52
+ else {
53
+ _events = events ? events.split(Events.eventSplitter) : Object.keys(calls);
54
+ }
55
+ while ((event = _events.shift())) {
56
+ let node = calls[event];
57
+ delete calls[event];
58
+ if (!node || !(callback || context)) {
59
+ continue;
60
+ }
61
+ const tail = node.tail;
62
+ while ((node = node.next) !== tail) {
63
+ const cb = node.callback;
64
+ const ctx = node.context;
65
+ if ((callback && cb !== callback) || (context && ctx !== context)) {
66
+ this.on(event, cb, ctx);
67
+ }
68
+ }
69
+ }
70
+ return this;
71
+ }
72
+ trigger(events, ...args) {
73
+ let event, node, calls, _events;
74
+ if (!(calls = this.callbacks)) {
75
+ return this;
76
+ }
77
+ if (typeof events === 'symbol') {
78
+ _events = [events];
79
+ }
80
+ else {
81
+ _events = events.split(Events.eventSplitter);
82
+ }
83
+ while ((event = _events.shift())) {
84
+ if ((node = calls[event])) {
85
+ const tail = node.tail;
86
+ while ((node = node.next) !== tail) {
87
+ node.callback.apply(node.context || this, args);
88
+ }
89
+ }
90
+ }
91
+ return this;
92
+ }
93
+ }
94
+ Events.eventSplitter = ','; // Note: Harmony ACE API 8 开发板不支持使用正则 split 字符串 /\s+/
95
+
96
+ export { Events };
97
+ //# sourceMappingURL=event-emitter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-emitter.js","sources":["../src/event-emitter.ts"],"sourcesContent":["type EventName = string | symbol\ntype EventCallbacks = Record<EventName, Record<'next' | 'tail', unknown>>\n\nexport class Events {\n protected callbacks?: EventCallbacks\n static eventSplitter = ',' // Note: Harmony ACE API 8 开发板不支持使用正则 split 字符串 /\\s+/\n\n constructor (opts?) {\n this.callbacks = opts?.callbacks ?? {}\n }\n\n on (eventName: EventName, callback: (...args: any[]) => void, context?: any): this {\n let event: EventName | undefined, tail, _eventName: EventName[]\n if (!callback) {\n return this\n }\n if (typeof eventName === 'symbol') {\n _eventName = [eventName]\n } else {\n _eventName = eventName.split(Events.eventSplitter)\n }\n this.callbacks ||= {}\n const calls = this.callbacks\n while ((event = _eventName.shift())) {\n const list = calls[event]\n const node: any = list ? list.tail : {}\n node.next = tail = {}\n node.context = context\n node.callback = callback\n calls[event] = {\n tail,\n next: list ? list.next : node\n }\n }\n return this\n }\n\n once (events: EventName, callback: (...r: any[]) => void, context?: any): this {\n const wrapper = (...args: any[]) => {\n callback.apply(this, args)\n this.off(events, wrapper, context)\n }\n\n this.on(events, wrapper, context)\n\n return this\n }\n\n off (events?: EventName, callback?: (...args: any[]) => void, context?: any) {\n let event: EventName | undefined, calls: EventCallbacks | undefined, _events: EventName[]\n if (!(calls = this.callbacks)) {\n return this\n }\n if (!(events || callback || context)) {\n delete this.callbacks\n return this\n }\n if (typeof events === 'symbol') {\n _events = [events]\n } else {\n _events = events ? events.split(Events.eventSplitter) : Object.keys(calls)\n }\n while ((event = _events.shift())) {\n let node: any = calls[event]\n delete calls[event]\n if (!node || !(callback || context)) {\n continue\n }\n const tail = node.tail\n while ((node = node.next) !== tail) {\n const cb = node.callback\n const ctx = node.context\n if ((callback && cb !== callback) || (context && ctx !== context)) {\n this.on(event, cb, ctx)\n }\n }\n }\n return this\n }\n\n trigger (events: EventName, ...args: any[]) {\n let event: EventName | undefined, node, calls: EventCallbacks | undefined, _events: EventName[]\n if (!(calls = this.callbacks)) {\n return this\n }\n if (typeof events === 'symbol') {\n _events = [events]\n } else {\n _events = events.split(Events.eventSplitter)\n }\n while ((event = _events.shift())) {\n if ((node = calls[event])) {\n const tail = node.tail\n while ((node = node.next) !== tail) {\n node.callback.apply(node.context || this, args)\n }\n }\n }\n return this\n }\n}\n"],"names":[],"mappings":"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"}