@tarojs/plugin-platform-ascf 3.6.38-alpha.0

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/index.js ADDED
@@ -0,0 +1,540 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var service = require('@tarojs/service');
6
+ var template = require('@tarojs/shared/dist/template');
7
+
8
+ /******************************************************************************
9
+ Copyright (c) Microsoft Corporation.
10
+
11
+ Permission to use, copy, modify, and/or distribute this software for any
12
+ purpose with or without fee is hereby granted.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
15
+ REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
16
+ AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
17
+ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
18
+ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
19
+ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
20
+ PERFORMANCE OF THIS SOFTWARE.
21
+ ***************************************************************************** */
22
+
23
+ function __awaiter(thisArg, _arguments, P, generator) {
24
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
25
+ return new (P || (P = Promise))(function (resolve, reject) {
26
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
27
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
28
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
29
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
30
+ });
31
+ }
32
+
33
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
34
+ var e = new Error(message);
35
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
36
+ };
37
+
38
+ const _true = 'true';
39
+ const _false = 'false';
40
+ const _empty = '';
41
+ const _zero = '0';
42
+ const components = {
43
+ // ======== 调整属性 ========
44
+ Progress: {
45
+ 'border-radius': _zero,
46
+ 'font-size': '16',
47
+ duration: '30',
48
+ bindActiveEnd: _empty
49
+ },
50
+ RichText: {
51
+ space: _empty,
52
+ 'user-select': _false
53
+ },
54
+ Text: {
55
+ 'user-select': _false
56
+ },
57
+ Map: {
58
+ polygons: '[]',
59
+ subkey: _empty,
60
+ rotate: _zero,
61
+ skew: _zero,
62
+ 'max-scale': '20',
63
+ 'min-scale': '3',
64
+ 'enable-3D': _false,
65
+ 'show-compass': _false,
66
+ 'show-scale': _false,
67
+ 'enable-overlooking': _false,
68
+ 'enable-zoom': _true,
69
+ 'enable-scroll': _true,
70
+ 'enable-rotate': _false,
71
+ 'enable-satellite': _false,
72
+ 'enable-traffic': _false,
73
+ 'enable-poi': _true,
74
+ 'enable-building': _true,
75
+ setting: '[]',
76
+ bindLabelTap: _empty,
77
+ bindRegionChange: _empty,
78
+ bindPoiTap: _empty,
79
+ bindAnchorPointTap: _empty
80
+ },
81
+ Button: {
82
+ lang: 'en',
83
+ 'session-from': _empty,
84
+ 'send-message-title': _empty,
85
+ 'send-message-path': _empty,
86
+ 'send-message-img': _empty,
87
+ 'app-parameter': _empty,
88
+ 'show-message-card': _false,
89
+ 'business-id': _empty,
90
+ bindGetUserInfo: _empty,
91
+ bindContact: _empty,
92
+ bindGetPhoneNumber: _empty,
93
+ bindChooseAvatar: _empty,
94
+ bindError: _empty,
95
+ bindOpenSetting: _empty,
96
+ bindLaunchApp: _empty
97
+ },
98
+ Form: {
99
+ 'report-submit-timeout': _zero
100
+ },
101
+ Input: {
102
+ 'always-embed': _false,
103
+ 'adjust-position': _true,
104
+ 'hold-keyboard': _false,
105
+ 'safe-password-cert-path': '',
106
+ 'safe-password-length': '',
107
+ 'safe-password-time-stamp': '',
108
+ 'safe-password-nonce': '',
109
+ 'safe-password-salt': '',
110
+ 'safe-password-custom-hash': '',
111
+ 'auto-fill': _empty,
112
+ bindKeyboardHeightChange: _empty,
113
+ bindNicknameReview: _empty
114
+ },
115
+ Picker: {
116
+ 'header-text': _empty
117
+ },
118
+ PickerView: {
119
+ 'immediate-change': _false,
120
+ bindPickStart: _empty,
121
+ bindPickEnd: _empty
122
+ },
123
+ Slider: {
124
+ color: "'#e9e9e9'",
125
+ 'selected-color': "'#1aad19'"
126
+ },
127
+ Textarea: {
128
+ 'show-confirm-bar': _true,
129
+ 'adjust-position': _true,
130
+ 'hold-keyboard': _false,
131
+ 'disable-default-padding': _false,
132
+ 'confirm-type': "'return'",
133
+ 'confirm-hold': _false,
134
+ bindKeyboardHeightChange: _empty
135
+ },
136
+ ScrollView: {
137
+ 'enable-flex': _false,
138
+ 'scroll-anchoring': _false,
139
+ 'refresher-enabled': _false,
140
+ 'refresher-threshold': '45',
141
+ 'refresher-default-style': "'black'",
142
+ 'refresher-background': "'#FFF'",
143
+ 'refresher-triggered': _false,
144
+ enhanced: _false,
145
+ bounces: _true,
146
+ 'show-scrollbar': _true,
147
+ 'paging-enabled': _false,
148
+ 'fast-deceleration': _false,
149
+ bindDragStart: _empty,
150
+ bindDragging: _empty,
151
+ bindDragEnd: _empty,
152
+ bindRefresherPulling: _empty,
153
+ bindRefresherRefresh: _empty,
154
+ bindRefresherRestore: _empty,
155
+ bindRefresherAbort: _empty
156
+ },
157
+ Swiper: {
158
+ 'snap-to-edge': _false,
159
+ 'easing-function': "'default'"
160
+ },
161
+ SwiperItem: {
162
+ 'skip-hidden-item-layout': _false
163
+ },
164
+ Navigator: {
165
+ target: "'self'",
166
+ 'app-id': _empty,
167
+ path: _empty,
168
+ 'extra-data': _empty,
169
+ version: "'version'"
170
+ },
171
+ Camera: {
172
+ mode: "'normal'",
173
+ resolution: "'medium'",
174
+ 'frame-size': "'medium'",
175
+ bindInitDone: _empty,
176
+ bindScanCode: _empty
177
+ },
178
+ Image: {
179
+ webp: _false,
180
+ 'show-menu-by-longpress': _false
181
+ },
182
+ LivePlayer: {
183
+ mode: "'live'",
184
+ 'sound-mode': "'speaker'",
185
+ 'auto-pause-if-navigate': _true,
186
+ 'auto-pause-if-open-native': _true,
187
+ 'picture-in-picture-mode': '[]',
188
+ bindstatechange: _empty,
189
+ bindfullscreenchange: _empty,
190
+ bindnetstatus: _empty,
191
+ bindAudioVolumeNotify: _empty,
192
+ bindEnterPictureInPicture: _empty,
193
+ bindLeavePictureInPicture: _empty
194
+ },
195
+ Video: {
196
+ title: _empty,
197
+ 'play-btn-position': "'bottom'",
198
+ 'enable-play-gesture': _false,
199
+ 'auto-pause-if-navigate': _true,
200
+ 'auto-pause-if-open-native': _true,
201
+ 'vslide-gesture': _false,
202
+ 'vslide-gesture-in-fullscreen': _true,
203
+ 'ad-unit-id': _empty,
204
+ 'poster-for-crawler': _empty,
205
+ 'show-casting-button': _false,
206
+ 'picture-in-picture-mode': '[]',
207
+ // picture-in-picture-show-progress 属性先注释掉的原因如下:
208
+ // 该属性超过了 hxml 属性的长度限制,实际无法使用且导致编译报错。可等微信官方修复后再放开。
209
+ // 参考1:https://developers.weixin.qq.com/community/develop/doc/000a429beb87f0eac07acc0fc5b400
210
+ // 参考2: https://developers.weixin.qq.com/community/develop/doc/0006883619c48054286a4308258c00?_at=vyxqpllafi
211
+ // 'picture-in-picture-show-progress': 'false',
212
+ 'enable-auto-rotation': _false,
213
+ 'show-screen-lock-button': _false,
214
+ 'show-snapshot-button': _false,
215
+ 'show-background-playback-button': _false,
216
+ 'background-poster': _empty,
217
+ bindProgress: _empty,
218
+ bindLoadedMetadata: _empty,
219
+ bindControlsToggle: _empty,
220
+ bindEnterPictureInPicture: _empty,
221
+ bindLeavePictureInPicture: _empty,
222
+ bindSeekComplete: _empty,
223
+ bindAdLoad: _empty,
224
+ bindAdError: _empty,
225
+ bindAdClose: _empty,
226
+ bindAdPlay: _empty
227
+ },
228
+ Canvas: {
229
+ type: _empty
230
+ },
231
+ Ad: {
232
+ 'ad-type': "'banner'",
233
+ 'ad-theme': "'white'"
234
+ },
235
+ CoverView: {
236
+ 'marker-id': _empty,
237
+ slot: _empty
238
+ },
239
+ // ======== 额外组件 ========
240
+ Editor: {
241
+ 'read-only': _false,
242
+ placeholder: _empty,
243
+ 'show-img-size': _false,
244
+ 'show-img-toolbar': _false,
245
+ 'show-img-resize': _false,
246
+ focus: _false,
247
+ bindReady: _empty,
248
+ bindFocus: _empty,
249
+ bindBlur: _empty,
250
+ bindInput: _empty,
251
+ bindStatusChange: _empty,
252
+ name: _empty
253
+ },
254
+ MatchMedia: {
255
+ 'min-width': _empty,
256
+ 'max-width': _empty,
257
+ width: _empty,
258
+ 'min-height': _empty,
259
+ 'max-height': _empty,
260
+ height: _empty,
261
+ orientation: _empty
262
+ },
263
+ FunctionalPageNavigator: {
264
+ version: "'release'",
265
+ name: _empty,
266
+ args: _empty,
267
+ bindSuccess: _empty,
268
+ bindFail: _empty,
269
+ bindCancel: _empty
270
+ },
271
+ LivePusher: {
272
+ url: _empty,
273
+ mode: "'RTC'",
274
+ autopush: _false,
275
+ muted: _false,
276
+ 'enable-camera': _true,
277
+ 'auto-focus': _true,
278
+ orientation: "'vertical'",
279
+ beauty: _zero,
280
+ whiteness: _zero,
281
+ aspect: "'9:16'",
282
+ 'min-bitrate': '200',
283
+ 'max-bitrate': '1000',
284
+ 'audio-quality': "'high'",
285
+ 'waiting-image': _empty,
286
+ 'waiting-image-hash': _empty,
287
+ zoom: _false,
288
+ 'device-position': "'front'",
289
+ 'background-mute': _false,
290
+ mirror: _false,
291
+ 'remote-mirror': _false,
292
+ 'local-mirror': _false,
293
+ 'audio-reverb-type': _zero,
294
+ 'enable-mic': _true,
295
+ 'enable-agc': _false,
296
+ 'enable-ans': _false,
297
+ 'audio-volume-type': "'voicecall'",
298
+ 'video-width': '360',
299
+ 'video-height': '640',
300
+ 'beauty-style': "'smooth'",
301
+ filter: "'standard'",
302
+ animation: _empty,
303
+ bindStateChange: _empty,
304
+ bindNetStatus: _empty,
305
+ bindBgmStart: _empty,
306
+ bindBgmProgress: _empty,
307
+ bindBgmComplete: _empty,
308
+ bindAudioVolumeNotify: _empty
309
+ },
310
+ OfficialAccount: {
311
+ bindLoad: _empty,
312
+ bindError: _empty
313
+ },
314
+ OpenData: {
315
+ type: _empty,
316
+ 'open-gid': _empty,
317
+ lang: "'en'",
318
+ 'default-text': _empty,
319
+ 'default-avatar': _empty,
320
+ bindError: _empty
321
+ },
322
+ NavigationBar: {
323
+ title: _empty,
324
+ loading: _false,
325
+ 'front-color': _empty,
326
+ 'background-color': _empty,
327
+ 'color-animation-duration': _zero,
328
+ 'color-animation-timing-func': "'linear'"
329
+ },
330
+ PageMeta: {
331
+ 'background-text-style': _empty,
332
+ 'background-color': _empty,
333
+ 'background-color-top': _empty,
334
+ 'background-color-bottom': _empty,
335
+ 'scroll-top': "''",
336
+ 'scroll-duration': '300',
337
+ 'page-style': "''",
338
+ 'root-font-size': "''",
339
+ bindResize: _empty,
340
+ bindScroll: _empty,
341
+ bindScrollDone: _empty
342
+ },
343
+ VoipRoom: {
344
+ openid: _empty,
345
+ mode: "'camera'",
346
+ 'device-position': "'front'",
347
+ bindError: _empty
348
+ },
349
+ AdCustom: {
350
+ 'unit-id': _empty,
351
+ 'ad-intervals': _empty,
352
+ bindLoad: _empty,
353
+ bindError: _empty
354
+ },
355
+ PageContainer: {
356
+ show: _false,
357
+ duration: '300',
358
+ 'z-index': '100',
359
+ overlay: _true,
360
+ position: "'bottom'",
361
+ round: _false,
362
+ 'close-on-slide-down': _false,
363
+ 'overlay-style': _empty,
364
+ 'custom-style': _empty,
365
+ bindBeforeEnter: _empty,
366
+ bindEnter: _empty,
367
+ bindAfterEnter: _empty,
368
+ bindBeforeLeave: _empty,
369
+ bindLeave: _empty,
370
+ bindAfterLeave: _empty,
371
+ bindClickOverlay: _empty
372
+ },
373
+ ShareElement: {
374
+ mapkey: _empty,
375
+ transform: _false,
376
+ duration: '300',
377
+ 'easing-function': "'ease-out'"
378
+ },
379
+ KeyboardAccessory: {},
380
+ RootPortal: {},
381
+ ChannelLive: {
382
+ feedId: _empty,
383
+ finderUserName: _empty
384
+ }
385
+ };
386
+
387
+ class Template extends template.UnRecursiveTemplate {
388
+ constructor(pluginOptions) {
389
+ super();
390
+ this.supportXS = true;
391
+ this.Adapter = {
392
+ if: 'has:if',
393
+ else: 'has:else',
394
+ elseif: 'has:elif',
395
+ for: 'has:for',
396
+ forItem: 'has:for-item',
397
+ forIndex: 'has:for-index',
398
+ key: 'has:key',
399
+ xs: 'hjs',
400
+ type: 'ascf'
401
+ };
402
+ this.modifyTemplateResult = (res, nodeName, _level, children) => {
403
+ if (nodeName === 'keyboard-accessory')
404
+ return '';
405
+ if ((nodeName === 'textarea' || nodeName === 'input') && this.pluginOptions.enablekeyboardAccessory) {
406
+ const list = res.split('</template>');
407
+ const componentAlias = this.componentsAlias[nodeName];
408
+ const nodeNameAlias = componentAlias._num;
409
+ const target = `
410
+ <keyboard-accessory style="{{i.cn[0].st}}" class="{{i.cn[0].cl}}" bindtap="eh" id="{{i.cn[0].uid||i.cn[0].sid}}" data-sid="{{i.cn[0].sid}}">
411
+ <block has:for="{{i.cn[0].cn}}" has:key="sid">
412
+ <template is="{{xs.e(cid+1)}}" data="{{i:item,l:l}}" />
413
+ </block>
414
+ </keyboard-accessory>
415
+ `;
416
+ const templateFocus = list[1]
417
+ .replace(children, target)
418
+ .replace(`_${nodeNameAlias}_focus`, `_${nodeNameAlias}_focus_ka`);
419
+ const templateBlur = list[2]
420
+ .replace(children, target)
421
+ .replace(`_${nodeNameAlias}_blur`, `_${nodeNameAlias}_blur_ka`);
422
+ list.splice(3, 0, templateFocus, templateBlur);
423
+ return list.join('</template>');
424
+ }
425
+ return res;
426
+ };
427
+ this.pluginOptions = pluginOptions || {};
428
+ }
429
+ buildXsTemplate() {
430
+ return '<hjs module="xs" src="./utils.hjs" />';
431
+ }
432
+ replacePropName(name, value, componentName, componentAlias) {
433
+ if (value === 'eh') {
434
+ const nameLowerCase = name.toLowerCase();
435
+ if (nameLowerCase === 'bindlongtap' && componentName !== 'canvas')
436
+ return 'bindlongpress';
437
+ return nameLowerCase;
438
+ }
439
+ if (componentName === 'share-element') {
440
+ const mapKeyAlias = componentAlias.mapkey;
441
+ if (value === `i.${mapKeyAlias}`)
442
+ return 'key';
443
+ }
444
+ return name;
445
+ }
446
+ buildXSTepFocus(nn) {
447
+ if (this.pluginOptions.enablekeyboardAccessory) {
448
+ const textarea = this.componentsAlias.textarea._num;
449
+ const input = this.componentsAlias.input._num;
450
+ const ka = this.componentsAlias['keyboard-accessory']._num;
451
+ return `function(i, prefix) {
452
+ var s = i.focus !== undefined ? 'focus' : 'blur'
453
+ var r = prefix + i.${nn} + '_' + s
454
+ if ((i.nn === '${textarea}' || i.nn === '${input}') && i.cn[0] && i.cn[0].nn === '${ka}') {
455
+ r = r + '_ka'
456
+ }
457
+ return r
458
+ }`;
459
+ }
460
+ else {
461
+ return super.buildXSTepFocus(nn);
462
+ }
463
+ }
464
+ }
465
+
466
+ const PACKAGE_NAME = '@tarojs/plugin-platform-ascf';
467
+ class AscfApp extends service.TaroPlatformBase {
468
+ /**
469
+ * 1. setupTransaction - init
470
+ * 2. setup
471
+ * 3. setupTransaction - close
472
+ * 4. buildTransaction - init
473
+ * 5. build
474
+ * 6. buildTransaction - close
475
+ */
476
+ constructor(ctx, config, pluginOptions) {
477
+ super(ctx, config);
478
+ this.platform = 'ascf';
479
+ this.globalObject = 'has';
480
+ this.projectConfigJson = this.config.projectConfigName || 'ascf.config.json';
481
+ this.runtimePath = `${PACKAGE_NAME}/dist/runtime`;
482
+ this.taroComponentsPath = `${PACKAGE_NAME}/dist/components-react`;
483
+ this.fileType = {
484
+ templ: '.hxml',
485
+ style: '.css',
486
+ config: '.json',
487
+ script: '.js',
488
+ xs: '.hjs'
489
+ };
490
+ this.template = new Template(pluginOptions);
491
+ this.setupTransaction.addWrapper({
492
+ close() {
493
+ this.modifyTemplate(pluginOptions);
494
+ this.modifyWebpackConfig();
495
+ }
496
+ });
497
+ }
498
+ /**
499
+ * 增加组件或修改组件属性
500
+ */
501
+ modifyTemplate(pluginOptions) {
502
+ const template = this.template;
503
+ template.mergeComponents(this.ctx, components);
504
+ template.voidElements.add('voip-room');
505
+ template.focusComponents.add('editor');
506
+ if (pluginOptions === null || pluginOptions === void 0 ? void 0 : pluginOptions.enablekeyboardAccessory) {
507
+ template.voidElements.delete('input');
508
+ template.voidElements.delete('textarea');
509
+ }
510
+ }
511
+ /**
512
+ * 修改 Webpack 配置
513
+ */
514
+ modifyWebpackConfig() {
515
+ this.ctx.modifyWebpackChain(({ chain }) => {
516
+ // 解决微信小程序 sourcemap 映射失败的问题,#9412
517
+ chain.output.devtoolModuleFilenameTemplate((info) => {
518
+ const resourcePath = info.resourcePath.replace(/[/\\]/g, '_');
519
+ return `webpack://${info.namespace}/${resourcePath}`;
520
+ });
521
+ });
522
+ }
523
+ }
524
+
525
+ var index = (ctx, options) => {
526
+ ctx.registerPlatform({
527
+ name: 'ascf',
528
+ useConfigName: 'mini',
529
+ fn({ config }) {
530
+ return __awaiter(this, void 0, void 0, function* () {
531
+ const program = new AscfApp(ctx, config, options || {});
532
+ yield program.start();
533
+ });
534
+ }
535
+ });
536
+ };
537
+
538
+ exports.AscfApp = AscfApp;
539
+ exports["default"] = index;
540
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../src/components.ts","../src/template.ts","../src/program.ts","../src/index.ts"],"sourcesContent":["const _true = 'true'\r\nconst _false = 'false'\r\nconst _empty = ''\r\nconst _zero = '0'\r\n\r\nexport const components = {\r\n // ======== 调整属性 ========\r\n Progress: {\r\n 'border-radius': _zero,\r\n 'font-size': '16',\r\n duration: '30',\r\n bindActiveEnd: _empty\r\n },\r\n RichText: {\r\n space: _empty,\r\n 'user-select': _false\r\n },\r\n Text: {\r\n 'user-select': _false\r\n },\r\n Map: {\r\n polygons: '[]',\r\n subkey: _empty,\r\n rotate: _zero,\r\n skew: _zero,\r\n 'max-scale': '20',\r\n 'min-scale': '3',\r\n 'enable-3D': _false,\r\n 'show-compass': _false,\r\n 'show-scale': _false,\r\n 'enable-overlooking': _false,\r\n 'enable-zoom': _true,\r\n 'enable-scroll': _true,\r\n 'enable-rotate': _false,\r\n 'enable-satellite': _false,\r\n 'enable-traffic': _false,\r\n 'enable-poi': _true,\r\n 'enable-building': _true,\r\n setting: '[]',\r\n bindLabelTap: _empty,\r\n bindRegionChange: _empty,\r\n bindPoiTap: _empty,\r\n bindAnchorPointTap: _empty\r\n },\r\n Button: {\r\n lang: 'en',\r\n 'session-from': _empty,\r\n 'send-message-title': _empty,\r\n 'send-message-path': _empty,\r\n 'send-message-img': _empty,\r\n 'app-parameter': _empty,\r\n 'show-message-card': _false,\r\n 'business-id': _empty,\r\n bindGetUserInfo: _empty,\r\n bindContact: _empty,\r\n bindGetPhoneNumber: _empty,\r\n bindChooseAvatar: _empty,\r\n bindError: _empty,\r\n bindOpenSetting: _empty,\r\n bindLaunchApp: _empty\r\n },\r\n Form: {\r\n 'report-submit-timeout': _zero\r\n },\r\n Input: {\r\n 'always-embed': _false,\r\n 'adjust-position': _true,\r\n 'hold-keyboard': _false,\r\n 'safe-password-cert-path': '',\r\n 'safe-password-length': '',\r\n 'safe-password-time-stamp': '',\r\n 'safe-password-nonce': '',\r\n 'safe-password-salt': '',\r\n 'safe-password-custom-hash': '',\r\n 'auto-fill': _empty,\r\n bindKeyboardHeightChange: _empty,\r\n bindNicknameReview: _empty\r\n },\r\n Picker: {\r\n 'header-text': _empty\r\n },\r\n PickerView: {\r\n 'immediate-change': _false,\r\n bindPickStart: _empty,\r\n bindPickEnd: _empty\r\n },\r\n Slider: {\r\n color: \"'#e9e9e9'\",\r\n 'selected-color': \"'#1aad19'\"\r\n },\r\n Textarea: {\r\n 'show-confirm-bar': _true,\r\n 'adjust-position': _true,\r\n 'hold-keyboard': _false,\r\n 'disable-default-padding': _false,\r\n 'confirm-type': \"'return'\",\r\n 'confirm-hold': _false,\r\n bindKeyboardHeightChange: _empty\r\n },\r\n ScrollView: {\r\n 'enable-flex': _false,\r\n 'scroll-anchoring': _false,\r\n 'refresher-enabled': _false,\r\n 'refresher-threshold': '45',\r\n 'refresher-default-style': \"'black'\",\r\n 'refresher-background': \"'#FFF'\",\r\n 'refresher-triggered': _false,\r\n enhanced: _false,\r\n bounces: _true,\r\n 'show-scrollbar': _true,\r\n 'paging-enabled': _false,\r\n 'fast-deceleration': _false,\r\n bindDragStart: _empty,\r\n bindDragging: _empty,\r\n bindDragEnd: _empty,\r\n bindRefresherPulling: _empty,\r\n bindRefresherRefresh: _empty,\r\n bindRefresherRestore: _empty,\r\n bindRefresherAbort: _empty\r\n },\r\n Swiper: {\r\n 'snap-to-edge': _false,\r\n 'easing-function': \"'default'\"\r\n },\r\n SwiperItem: {\r\n 'skip-hidden-item-layout': _false\r\n },\r\n Navigator: {\r\n target: \"'self'\",\r\n 'app-id': _empty,\r\n path: _empty,\r\n 'extra-data': _empty,\r\n version: \"'version'\"\r\n },\r\n Camera: {\r\n mode: \"'normal'\",\r\n resolution: \"'medium'\",\r\n 'frame-size': \"'medium'\",\r\n bindInitDone: _empty,\r\n bindScanCode: _empty\r\n },\r\n Image: {\r\n webp: _false,\r\n 'show-menu-by-longpress': _false\r\n },\r\n LivePlayer: {\r\n mode: \"'live'\",\r\n 'sound-mode': \"'speaker'\",\r\n 'auto-pause-if-navigate': _true,\r\n 'auto-pause-if-open-native': _true,\r\n 'picture-in-picture-mode': '[]',\r\n bindstatechange: _empty,\r\n bindfullscreenchange: _empty,\r\n bindnetstatus: _empty,\r\n bindAudioVolumeNotify: _empty,\r\n bindEnterPictureInPicture: _empty,\r\n bindLeavePictureInPicture: _empty\r\n },\r\n Video: {\r\n title: _empty,\r\n 'play-btn-position': \"'bottom'\",\r\n 'enable-play-gesture': _false,\r\n 'auto-pause-if-navigate': _true,\r\n 'auto-pause-if-open-native': _true,\r\n 'vslide-gesture': _false,\r\n 'vslide-gesture-in-fullscreen': _true,\r\n 'ad-unit-id': _empty,\r\n 'poster-for-crawler': _empty,\r\n 'show-casting-button': _false,\r\n 'picture-in-picture-mode': '[]',\r\n // picture-in-picture-show-progress 属性先注释掉的原因如下:\r\n // 该属性超过了 hxml 属性的长度限制,实际无法使用且导致编译报错。可等微信官方修复后再放开。\r\n // 参考1:https://developers.weixin.qq.com/community/develop/doc/000a429beb87f0eac07acc0fc5b400\r\n // 参考2: https://developers.weixin.qq.com/community/develop/doc/0006883619c48054286a4308258c00?_at=vyxqpllafi\r\n // 'picture-in-picture-show-progress': 'false',\r\n 'enable-auto-rotation': _false,\r\n 'show-screen-lock-button': _false,\r\n 'show-snapshot-button': _false,\r\n 'show-background-playback-button': _false,\r\n 'background-poster': _empty,\r\n bindProgress: _empty,\r\n bindLoadedMetadata: _empty,\r\n bindControlsToggle: _empty,\r\n bindEnterPictureInPicture: _empty,\r\n bindLeavePictureInPicture: _empty,\r\n bindSeekComplete: _empty,\r\n bindAdLoad: _empty,\r\n bindAdError: _empty,\r\n bindAdClose: _empty,\r\n bindAdPlay: _empty\r\n },\r\n Canvas: {\r\n type: _empty\r\n },\r\n Ad: {\r\n 'ad-type': \"'banner'\",\r\n 'ad-theme': \"'white'\"\r\n },\r\n CoverView: {\r\n 'marker-id': _empty,\r\n slot: _empty\r\n },\r\n // ======== 额外组件 ========\r\n Editor: {\r\n 'read-only': _false,\r\n placeholder: _empty,\r\n 'show-img-size': _false,\r\n 'show-img-toolbar': _false,\r\n 'show-img-resize': _false,\r\n focus: _false,\r\n bindReady: _empty,\r\n bindFocus: _empty,\r\n bindBlur: _empty,\r\n bindInput: _empty,\r\n bindStatusChange: _empty,\r\n name: _empty\r\n },\r\n MatchMedia: {\r\n 'min-width': _empty,\r\n 'max-width': _empty,\r\n width: _empty,\r\n 'min-height': _empty,\r\n 'max-height': _empty,\r\n height: _empty,\r\n orientation: _empty\r\n },\r\n FunctionalPageNavigator: {\r\n version: \"'release'\",\r\n name: _empty,\r\n args: _empty,\r\n bindSuccess: _empty,\r\n bindFail: _empty,\r\n bindCancel: _empty\r\n },\r\n LivePusher: {\r\n url: _empty,\r\n mode: \"'RTC'\",\r\n autopush: _false,\r\n muted: _false,\r\n 'enable-camera': _true,\r\n 'auto-focus': _true,\r\n orientation: \"'vertical'\",\r\n beauty: _zero,\r\n whiteness: _zero,\r\n aspect: \"'9:16'\",\r\n 'min-bitrate': '200',\r\n 'max-bitrate': '1000',\r\n 'audio-quality': \"'high'\",\r\n 'waiting-image': _empty,\r\n 'waiting-image-hash': _empty,\r\n zoom: _false,\r\n 'device-position': \"'front'\",\r\n 'background-mute': _false,\r\n mirror: _false,\r\n 'remote-mirror': _false,\r\n 'local-mirror': _false,\r\n 'audio-reverb-type': _zero,\r\n 'enable-mic': _true,\r\n 'enable-agc': _false,\r\n 'enable-ans': _false,\r\n 'audio-volume-type': \"'voicecall'\",\r\n 'video-width': '360',\r\n 'video-height': '640',\r\n 'beauty-style': \"'smooth'\",\r\n filter: \"'standard'\",\r\n animation: _empty,\r\n bindStateChange: _empty,\r\n bindNetStatus: _empty,\r\n bindBgmStart: _empty,\r\n bindBgmProgress: _empty,\r\n bindBgmComplete: _empty,\r\n bindAudioVolumeNotify: _empty\r\n },\r\n OfficialAccount: {\r\n bindLoad: _empty,\r\n bindError: _empty\r\n },\r\n OpenData: {\r\n type: _empty,\r\n 'open-gid': _empty,\r\n lang: \"'en'\",\r\n 'default-text': _empty,\r\n 'default-avatar': _empty,\r\n bindError: _empty\r\n },\r\n NavigationBar: {\r\n title: _empty,\r\n loading: _false,\r\n 'front-color': _empty,\r\n 'background-color': _empty,\r\n 'color-animation-duration': _zero,\r\n 'color-animation-timing-func': \"'linear'\"\r\n },\r\n PageMeta: {\r\n 'background-text-style': _empty,\r\n 'background-color': _empty,\r\n 'background-color-top': _empty,\r\n 'background-color-bottom': _empty,\r\n 'scroll-top': \"''\",\r\n 'scroll-duration': '300',\r\n 'page-style': \"''\",\r\n 'root-font-size': \"''\",\r\n bindResize: _empty,\r\n bindScroll: _empty,\r\n bindScrollDone: _empty\r\n },\r\n VoipRoom: {\r\n openid: _empty,\r\n mode: \"'camera'\",\r\n 'device-position': \"'front'\",\r\n bindError: _empty\r\n },\r\n AdCustom: {\r\n 'unit-id': _empty,\r\n 'ad-intervals': _empty,\r\n bindLoad: _empty,\r\n bindError: _empty\r\n },\r\n PageContainer: {\r\n show: _false,\r\n duration: '300',\r\n 'z-index': '100',\r\n overlay: _true,\r\n position: \"'bottom'\",\r\n round: _false,\r\n 'close-on-slide-down': _false,\r\n 'overlay-style': _empty,\r\n 'custom-style': _empty,\r\n bindBeforeEnter: _empty,\r\n bindEnter: _empty,\r\n bindAfterEnter: _empty,\r\n bindBeforeLeave: _empty,\r\n bindLeave: _empty,\r\n bindAfterLeave: _empty,\r\n bindClickOverlay: _empty\r\n },\r\n ShareElement: {\r\n mapkey: _empty,\r\n transform: _false,\r\n duration: '300',\r\n 'easing-function': \"'ease-out'\"\r\n },\r\n KeyboardAccessory: {},\r\n RootPortal: {},\r\n ChannelLive: {\r\n feedId: _empty,\r\n finderUserName: _empty\r\n }\r\n}\r\n","import { UnRecursiveTemplate } from '@tarojs/shared/dist/template'\r\n\r\nimport type { IOptions } from './index'\r\n\r\nexport class Template extends UnRecursiveTemplate {\r\n pluginOptions: IOptions\r\n supportXS = true\r\n Adapter = {\r\n if: 'has:if',\r\n else: 'has:else',\r\n elseif: 'has:elif',\r\n for: 'has:for',\r\n forItem: 'has:for-item',\r\n forIndex: 'has:for-index',\r\n key: 'has:key',\r\n xs: 'hjs',\r\n type: 'ascf'\r\n }\r\n\r\n constructor (pluginOptions?: IOptions) {\r\n super()\r\n this.pluginOptions = pluginOptions || {}\r\n }\r\n\r\n buildXsTemplate () {\r\n return '<hjs module=\"xs\" src=\"./utils.hjs\" />'\r\n }\r\n\r\n replacePropName (name: string, value: string, componentName: string, componentAlias) {\r\n if (value === 'eh') {\r\n const nameLowerCase = name.toLowerCase()\r\n if (nameLowerCase === 'bindlongtap' && componentName !== 'canvas') return 'bindlongpress'\r\n return nameLowerCase\r\n }\r\n if (componentName === 'share-element') {\r\n const mapKeyAlias = componentAlias.mapkey\r\n if (value === `i.${mapKeyAlias}`) return 'key'\r\n }\r\n return name\r\n }\r\n\r\n buildXSTepFocus (nn: string) {\r\n if (this.pluginOptions.enablekeyboardAccessory) {\r\n const textarea = this.componentsAlias.textarea._num\r\n const input = this.componentsAlias.input._num\r\n const ka = this.componentsAlias['keyboard-accessory']._num\r\n return `function(i, prefix) {\r\n var s = i.focus !== undefined ? 'focus' : 'blur'\r\n var r = prefix + i.${nn} + '_' + s\r\n if ((i.nn === '${textarea}' || i.nn === '${input}') && i.cn[0] && i.cn[0].nn === '${ka}') {\r\n r = r + '_ka'\r\n }\r\n return r\r\n }`\r\n } else {\r\n return super.buildXSTepFocus(nn)\r\n }\r\n }\r\n\r\n modifyTemplateResult = (res: string, nodeName: string, _level, children) => {\r\n if (nodeName === 'keyboard-accessory') return ''\r\n\r\n if ((nodeName === 'textarea' || nodeName === 'input') && this.pluginOptions.enablekeyboardAccessory) {\r\n const list = res.split('</template>')\r\n const componentAlias = this.componentsAlias[nodeName]\r\n const nodeNameAlias = componentAlias._num\r\n\r\n const target = `\r\n <keyboard-accessory style=\"{{i.cn[0].st}}\" class=\"{{i.cn[0].cl}}\" bindtap=\"eh\" id=\"{{i.cn[0].uid||i.cn[0].sid}}\" data-sid=\"{{i.cn[0].sid}}\">\r\n <block has:for=\"{{i.cn[0].cn}}\" has:key=\"sid\">\r\n <template is=\"{{xs.e(cid+1)}}\" data=\"{{i:item,l:l}}\" />\r\n </block>\r\n </keyboard-accessory>\r\n `\r\n\r\n const templateFocus = list[1]\r\n .replace(children, target)\r\n .replace(`_${nodeNameAlias}_focus`, `_${nodeNameAlias}_focus_ka`)\r\n\r\n const templateBlur = list[2]\r\n .replace(children, target)\r\n .replace(`_${nodeNameAlias}_blur`, `_${nodeNameAlias}_blur_ka`)\r\n\r\n list.splice(3, 0, templateFocus, templateBlur)\r\n return list.join('</template>')\r\n }\r\n\r\n return res\r\n }\r\n}\r\n","import { TaroPlatformBase } from '@tarojs/service'\r\n\r\nimport { components } from './components'\r\nimport { Template } from './template'\r\n\r\nimport type { IOptions } from './index'\r\n\r\nconst PACKAGE_NAME = '@tarojs/plugin-platform-ascf'\r\n\r\nexport default class AscfApp extends TaroPlatformBase {\r\n template: Template\r\n platform = 'ascf'\r\n globalObject = 'has'\r\n projectConfigJson: string = this.config.projectConfigName || 'ascf.config.json'\r\n runtimePath = `${PACKAGE_NAME}/dist/runtime`\r\n taroComponentsPath = `${PACKAGE_NAME}/dist/components-react`\r\n fileType = {\r\n templ: '.hxml',\r\n style: '.css',\r\n config: '.json',\r\n script: '.js',\r\n xs: '.hjs'\r\n }\r\n\r\n /**\r\n * 1. setupTransaction - init\r\n * 2. setup\r\n * 3. setupTransaction - close\r\n * 4. buildTransaction - init\r\n * 5. build\r\n * 6. buildTransaction - close\r\n */\r\n constructor (ctx, config, pluginOptions?: IOptions) {\r\n super(ctx, config)\r\n this.template = new Template(pluginOptions)\r\n this.setupTransaction.addWrapper({\r\n close () {\r\n this.modifyTemplate(pluginOptions)\r\n this.modifyWebpackConfig()\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * 增加组件或修改组件属性\r\n */\r\n modifyTemplate (pluginOptions?: IOptions) {\r\n const template = this.template\r\n template.mergeComponents(this.ctx, components)\r\n template.voidElements.add('voip-room')\r\n template.focusComponents.add('editor')\r\n if (pluginOptions?.enablekeyboardAccessory) {\r\n template.voidElements.delete('input')\r\n template.voidElements.delete('textarea')\r\n }\r\n }\r\n\r\n /**\r\n * 修改 Webpack 配置\r\n */\r\n modifyWebpackConfig () {\r\n this.ctx.modifyWebpackChain(({ chain }) => {\r\n // 解决微信小程序 sourcemap 映射失败的问题,#9412\r\n chain.output.devtoolModuleFilenameTemplate((info) => {\r\n const resourcePath = info.resourcePath.replace(/[/\\\\]/g, '_')\r\n return `webpack://${info.namespace}/${resourcePath}`\r\n })\r\n })\r\n }\r\n}\r\n","import AscfApp from './program'\r\n\r\nimport type { IPluginContext } from '@tarojs/service'\r\n\r\n// 让其它平台插件可以继承此平台\r\nexport { AscfApp }\r\n\r\nexport interface IOptions {\r\n enablekeyboardAccessory?: boolean\r\n}\r\n\r\nexport default (ctx: IPluginContext, options: IOptions) => {\r\n ctx.registerPlatform({\r\n name: 'ascf',\r\n useConfigName: 'mini',\r\n async fn ({ config }) {\r\n const program = new AscfApp(ctx, config, options || {})\r\n await program.start()\r\n }\r\n })\r\n}\r\n"],"names":["UnRecursiveTemplate","TaroPlatformBase"],"mappings":"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"}