@tarojs/plugin-platform-swan 3.3.16 → 3.3.17

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 CHANGED
@@ -15,7 +15,7 @@ const swanSpecialAttrs = {
15
15
  };
16
16
  class Template extends template.RecursiveTemplate {
17
17
  constructor(options) {
18
- var _a, _b;
18
+ var _a, _b, _c;
19
19
  super();
20
20
  this.supportXS = true;
21
21
  this.Adapter = {
@@ -81,6 +81,19 @@ class Template extends template.RecursiveTemplate {
81
81
  </block>`;
82
82
  return template;
83
83
  };
84
+ this.buildFlattenText = (level = this.flattenTextLevel) => {
85
+ if (level === 0) {
86
+ return `<block>{{i.${"cn" /* Childnodes */}[index].${"v" /* Text */}}}</block>`;
87
+ }
88
+ const child = this.buildFlattenText(level - 1);
89
+ const template = `<block s-if="item.nn === '#text'">{{item.v}}</block>
90
+ <text s-else id="{{item.uid}}" ${this.buildFlattenNodeAttributes('text')}>
91
+ <block s-for="{{item.cn}}" s-key="uid">
92
+ ${shared.indent(child, 4)}
93
+ </block>
94
+ </text>`;
95
+ return template;
96
+ };
84
97
  this.modifyLoopBody = (child, nodeName) => {
85
98
  switch (nodeName) {
86
99
  case 'view':
@@ -102,7 +115,7 @@ class Template extends template.RecursiveTemplate {
102
115
  }
103
116
  case 'text':
104
117
  case 'static-text':
105
- return `<block>{{i.${"cn" /* Childnodes */}[index].${"v" /* Text */}}}</block>`;
118
+ return this.buildFlattenText();
106
119
  case 'picker-view':
107
120
  return `<picker-view-column id="{{item.uid}}" ${this.buildFlattenNodeAttributes('picker-view-column')}>
108
121
  <block s-for="{{item.cn}}" s-key="uid">
@@ -125,7 +138,8 @@ class Template extends template.RecursiveTemplate {
125
138
  return res;
126
139
  };
127
140
  this.flattenViewLevel = (_a = options === null || options === void 0 ? void 0 : options.flattenViewLevel) !== null && _a !== void 0 ? _a : 8;
128
- this.flattenCoverLevel = (_b = options === null || options === void 0 ? void 0 : options.flattenViewLevel) !== null && _b !== void 0 ? _b : 3;
141
+ this.flattenCoverLevel = (_b = options === null || options === void 0 ? void 0 : options.flattenCoverLevel) !== null && _b !== void 0 ? _b : 3;
142
+ this.flattenTextLevel = (_c = options === null || options === void 0 ? void 0 : options.flattenTextLevel) !== null && _c !== void 0 ? _c : 3;
129
143
  }
130
144
  createMiniComponents(components) {
131
145
  const result = super.createMiniComponents(components);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/template.ts","../src/components.ts","../src/program.ts","../src/index.ts"],"sourcesContent":["import { isArray, Shortcuts, indent } from '@tarojs/shared'\nimport { RecursiveTemplate } from '@tarojs/shared/dist/template'\n\nconst swanSpecialAttrs = {\n 'scroll-view': ['scrollTop', 'scrollLeft', 'scrollIntoView'],\n 'movable-view': ['x', 'y'],\n slider: ['value'],\n input: ['value'],\n textarea: ['value']\n}\n\ninterface TemplateOptions {\n flattenViewLevel?: number\n}\n\nexport class Template extends RecursiveTemplate {\n supportXS = true\n\n Adapter = {\n if: 's-if',\n else: 's-else',\n elseif: 's-elif',\n for: 's-for',\n forItem: 's-for-item',\n forIndex: 's-for-index',\n key: 's-key',\n xs: 'sjs',\n type: 'swan'\n }\n\n flattenViewLevel: number\n\n flattenCoverLevel: number\n\n legacyMiniComponents: {\n [key: string]: Record<string, string>\n }\n\n constructor (options?: TemplateOptions) {\n super()\n this.flattenViewLevel = options?.flattenViewLevel ?? 8\n this.flattenCoverLevel = options?.flattenViewLevel ?? 3\n }\n\n createMiniComponents (components): any {\n const result = super.createMiniComponents(components)\n\n this.legacyMiniComponents = { ...result }\n\n delete result['pure-view']\n delete result['static-view']\n\n return result\n }\n\n buildXsTemplate () {\n return '<import-sjs module=\"xs\" src=\"./utils.sjs\" />'\n }\n\n dataKeymap (keymap: string) {\n return `{ ${keymap} }`\n }\n\n getAttrValue (value: string, key: string, nodeName: string) {\n if (isArray(swanSpecialAttrs[nodeName]) && swanSpecialAttrs[nodeName].includes(key)) {\n return `= ${value} =`\n }\n\n return `{ ${value} }`\n }\n\n buildFlattenNodeAttributes (nodeName: string): string {\n const component = this.legacyMiniComponents[nodeName]\n\n return Object.keys(component)\n .map(k => `${k}=\"${k.startsWith('bind') || k.startsWith('on') || k.startsWith('catch') ? component[k] : `{{${component[k].replace('i.', 'item.')}}}`}\"`)\n .join(' ')\n }\n\n buildFlattenView = (level = this.flattenViewLevel): string => {\n if (level === 0) {\n return '<template is=\"{{xs.e(0)}}\" data=\"{{{i:item}}}\" />'\n }\n\n const child = this.buildFlattenView(level - 1)\n\n const template =\n`<view s-if=\"{{item.nn==='view'&&(item.st||item.cl)}}\" id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('view')}>\n <block s-for=\"{{item.cn}}\" s-key=\"uid\">\n ${indent(child, 4)}\n </block>\n</view>\n<text s-elif=\"{{item.nn==='text'&&(item.st||item.cl)}}\" id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('text')}>\n <block s-for=\"{{item.cn}}\" s-key=\"uid\">\n <block>{{item.v}}</block>\n </block>\n</text>\n<text s-elif=\"{{item.nn==='static-text'&&(item.st||item.cl)}}\" id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('static-text')}>\n <block s-for=\"{{item.cn}}\" s-key=\"uid\">\n <block>{{item.v}}</block>\n </block>\n</text>\n<button s-elif=\"{{item.nn==='button'&&(item.st||item.cl)}}\" id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('button')}>\n <block s-for=\"{{item.cn}}\" s-key=\"uid\">\n <template is=\"{{xs.e(0)}}\" data=\"{{{ i:item }}}\" />\n </block>\n</button>\n<input s-elif=\"{{item.nn==='input'&&(item.st||item.cl)}}\" id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('input')} />\n<swiper s-elif=\"{{item.nn==='swiper'&&(item.st||item.cl)}}\" id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('swiper')}>\n <block s-for=\"{{item.cn}}\" s-key=\"uid\">\n <template is=\"{{xs.e(0)}}\" data=\"{{{ i:item }}}\" />\n </block>\n</swiper>\n<block s-else>\n <template is=\"{{xs.e(0)}}\" data=\"{{{i:item}}}\" />\n</block>`\n\n return template\n }\n\n buildFlattenCover = (level = this.flattenCoverLevel): string => {\n if (level === 0) {\n return '<template is=\"{{xs.e(0)}}\" data=\"{{{i:item}}}\" />'\n }\n\n const child = this.buildFlattenCover(level - 1)\n\n const template =\n`<cover-view s-if=\"{{item.nn==='cover-view'}}\" id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('cover-view')}>\n <block s-for=\"{{item.cn}}\" s-key=\"uid\">\n ${indent(child, 4)}\n </block>\n</cover-view>\n<cover-image s-elif=\"{{item.nn==='cover-image'}}\" id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('cover-image')}></cover-image>\n<block s-else>\n <template is=\"{{xs.e(0)}}\" data=\"{{{i:item}}}\" />\n</block>`\n\n return template\n }\n\n modifyLoopBody = (child: string, nodeName: string): string => {\n switch (nodeName) {\n case 'view':\n // fix issue #6015\n return this.buildFlattenView()\n\n case 'cover-view':\n case 'canvas':\n case 'map':\n case 'animation-view':\n case 'camera':\n case 'live-player':\n return this.buildFlattenCover()\n\n case 'video': {\n const body =\n `<ad s-if={{item.nn==='ad'}} id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('ad')}></ad>\n<block s-else>\n ${indent(this.buildFlattenCover(), 2)}\n</block>`\n return body\n }\n\n case 'text':\n case 'static-text':\n return `<block>{{i.${Shortcuts.Childnodes}[index].${Shortcuts.Text}}}</block>`\n\n case 'picker-view':\n return `<picker-view-column id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('picker-view-column')}>\n <block s-for=\"{{item.cn}}\" s-key=\"uid\">\n ${child}\n </block>\n </picker-view-column>`\n\n default:\n return child\n }\n }\n\n modifyLoopContainer = (children: string, nodeName: string) => {\n if (nodeName === 'swiper') {\n return children.replace(/s-for=\"{{i\\.cn}}\"/, 's-for=\"{{xs.f(i.cn)}}\"')\n }\n\n return children\n }\n\n modifyTemplateResult = (res: string, nodeName: string) => {\n if (nodeName === 'picker-view-column') return ''\n return res\n }\n\n buildXSTmpExtra () {\n return `f: function (l) {\n return l.filter(function (i) {return i.nn === 'swiper-item'})\n }`\n }\n}\n","import { singleQuote } from '@tarojs/shared'\n\nexport const components = {\n // ======== 调整属性 ========\n Progress: {\n 'border-radius': '0',\n 'font-size': '16',\n duration: '30'\n },\n RichText: {\n selectable: 'false',\n name: '',\n attrs: '',\n children: '[]',\n text: '',\n 'image-menu-prevent': 'false',\n preview: ''\n },\n Map: {\n polygons: '[]',\n 'enable-3D': 'false',\n 'show-compass': 'false',\n 'enable-overlooking': 'false',\n 'enable-zoom': 'true',\n 'enable-scroll': 'true',\n 'enable-rotate': 'false',\n bindRegionChange: '',\n bindPoiTap: ''\n },\n Button: {\n bindGetPhoneNumber: '',\n bindGetUserInfo: '',\n bindOpenSetting: '',\n bindContact: '',\n bindChooseAddress: '',\n bindChooseInvoiceTitle: ''\n },\n Form: {\n 'report-type': 'default',\n 'template-id': '',\n 'subscribe-id': ''\n },\n Input: {\n 'adjust-position': 'true'\n },\n Textarea: {\n 'confirm-type': singleQuote('default'),\n 'confirm-hold': 'false',\n 'show-confirm-bar': 'true',\n 'adjust-position': 'true'\n },\n Navigator: {\n target: singleQuote('self'),\n 'app-id': '',\n path: '',\n 'extra-data': '',\n version: singleQuote('version')\n },\n Image: {\n webp: 'false',\n 'image-menu-prevent': 'false',\n preview: '',\n 'original-src': ''\n },\n Video: {\n title: '',\n 'show-no-wifi-tip': 'true',\n 'vslide-gesture': 'false',\n 'vslide-gesture-in-fullscreen': 'true',\n 'enable-play-gesture': 'false',\n 'show-rate-btn': 'false',\n 'show-vslide-btn-in-fullscreen': 'true',\n 'silent-play': 'false',\n bindLoadedMetadata: ''\n },\n Ad: {\n appid: '',\n apid: '',\n type: singleQuote('feed'),\n updatetime: '',\n bindStatus: ''\n },\n // ======== 额外组件 ========\n Tabs: {\n 'tabs-background-color': singleQuote('#fff'),\n 'tabs-active-text-color': singleQuote('#000'),\n 'tabs-inactive-text-color': singleQuote('#666'),\n 'tabs-underline-color': singleQuote('#333'),\n 'active-name': '',\n 'url-query-name': '',\n 'max-tab-item-amount': '5',\n bindTabChange: ''\n },\n TabItem: {\n label: '',\n name: '',\n 'badge-type': '',\n 'badge-text': ''\n },\n AnimationVideo: {\n 'resource-width': '800',\n 'resource-height': '400',\n 'canvas-style': singleQuote('width:400px;height:400px'),\n path: '',\n loop: 'fasle',\n autoplay: 'fasle',\n bindStarted: '',\n bindEnded: ''\n },\n AnimationView: {\n path: '',\n loop: 'false',\n autoplay: 'true',\n action: singleQuote('play'),\n hidden: 'true',\n bindEnded: ''\n },\n ArCamera: {\n key: '',\n type: '',\n flash: singleQuote('off'),\n bindError: '',\n bindLoad: '',\n bindMessage: '',\n bindScanCode: ''\n },\n RtcRoom: {\n id: '',\n 'enable-camera': 'true',\n 'enable-auto-focus': 'true',\n 'enable-zoom': 'false',\n 'device-position': singleQuote('front'),\n 'enable-mic': 'true',\n 'enable-agc': 'false',\n 'enable-ans': 'false',\n bitrate: '900',\n 'video-width': '360',\n 'video-height': '640',\n 'enable-remote-mirror': 'false',\n 'local-mirror': singleQuote('auto'),\n 'sound-mode': singleQuote('speaker'),\n bindStateChange: '',\n bindError: ''\n },\n RtcRoomItem: {\n id: '',\n type: '',\n 'user-id': ''\n },\n OpenData: {\n type: ''\n },\n Login: {\n 'button-class': '',\n bindGetPhoneNumber: '',\n bindLoadError: ''\n }\n}\n","import { TaroPlatformBase } from '@tarojs/service'\nimport { Template } from './template'\nimport { components } from './components'\n\nconst PACKAGE_NAME = '@tarojs/plugin-platform-swan'\nconst PROJECT_JSON = 'project.swan.json'\n\nexport default class Swan extends TaroPlatformBase {\n platform = 'swan'\n globalObject = 'swan'\n runtimePath = `${PACKAGE_NAME}/dist/runtime`\n taroComponentsPath = `${PACKAGE_NAME}/dist/components-react`\n fileType = {\n templ: '.swan',\n style: '.css',\n config: '.json',\n script: '.js',\n xs: '.sjs'\n }\n\n template: Template\n\n /**\n * 1. setupTransaction - init\n * 2. setup\n * 3. setupTransaction - close\n * 4. buildTransaction - init\n * 5. build\n * 6. buildTransaction - close\n */\n constructor (ctx, config) {\n super(ctx, config)\n\n this.setupTransaction.addWrapper({\n close () {\n this.modifyComponents()\n ctx.generateFrameworkInfo()\n this.generateProjectConfig(PROJECT_JSON, PROJECT_JSON)\n }\n })\n\n this.template = new Template({\n flattenViewLevel: config.flattenViewLevel\n })\n }\n\n /**\n * 增加组件或修改组件属性\n */\n modifyComponents () {\n this.template.mergeComponents(this.ctx, components)\n delete this.template.internalComponents.Input.cursor\n delete this.template.internalComponents.Input['selection-start']\n delete this.template.internalComponents.Input['selection-end']\n }\n}\n","import Swan from './program'\nimport type { IPluginContext } from '@tarojs/service'\n\n// 让其它平台插件可以继承此平台\nexport { Swan }\n\nexport default (ctx: IPluginContext) => {\n ctx.registerPlatform({\n name: 'swan',\n useConfigName: 'mini',\n async fn ({ config }) {\n const program = new Swan(ctx, config)\n await program.start()\n }\n })\n}\n"],"names":["RecursiveTemplate","indent","isArray","singleQuote","TaroPlatformBase"],"mappings":";;;;;;;;AAGA,MAAM,gBAAgB,GAAG;IACvB,aAAa,EAAE,CAAC,WAAW,EAAE,YAAY,EAAE,gBAAgB,CAAC;IAC5D,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IAC1B,MAAM,EAAE,CAAC,OAAO,CAAC;IACjB,KAAK,EAAE,CAAC,OAAO,CAAC;IAChB,QAAQ,EAAE,CAAC,OAAO,CAAC;CACpB,CAAA;MAMY,QAAS,SAAQA,0BAAiB;IAuB7C,YAAa,OAAyB;;QACpC,KAAK,EAAE,CAAA;QAvBT,cAAS,GAAG,IAAI,CAAA;QAEhB,YAAO,GAAG;YACR,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,QAAQ;YAChB,GAAG,EAAE,OAAO;YACZ,OAAO,EAAE,YAAY;YACrB,QAAQ,EAAE,aAAa;YACvB,GAAG,EAAE,OAAO;YACZ,EAAE,EAAE,KAAK;YACT,IAAI,EAAE,MAAM;SACb,CAAA;QAmDD,qBAAgB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB;YAC/C,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,OAAO,mDAAmD,CAAA;aAC3D;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YAE9C,MAAM,QAAQ,GAClB,2EAA2E,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC;;MAE5GC,aAAM,CAAC,KAAK,EAAE,CAAC,CAAC;;;4EAGsD,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC;;;;;mFAKhC,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC;;;;;gFAKjD,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC;;;;;8EAK3C,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC;gFACtC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC;;;;;;;SAOhH,CAAA;YAEL,OAAO,QAAQ,CAAA;SAChB,CAAA;QAED,sBAAiB,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,iBAAiB;YACjD,IAAI,KAAK,KAAK,CAAC,EAAE;gBACf,OAAO,mDAAmD,CAAA;aAC3D;YAED,MAAM,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAA;YAE/C,MAAM,QAAQ,GAClB,mEAAmE,IAAI,CAAC,0BAA0B,CAAC,YAAY,CAAC;;MAE1GA,aAAM,CAAC,KAAK,EAAE,CAAC,CAAC;;;uEAGiD,IAAI,CAAC,0BAA0B,CAAC,aAAa,CAAC;;;SAG5G,CAAA;YAEL,OAAO,QAAQ,CAAA;SAChB,CAAA;QAED,mBAAc,GAAG,CAAC,KAAa,EAAE,QAAgB;YAC/C,QAAQ,QAAQ;gBACd,KAAK,MAAM;;oBAET,OAAO,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBAEhC,KAAK,YAAY,CAAC;gBAClB,KAAK,QAAQ,CAAC;gBACd,KAAK,KAAK,CAAC;gBACX,KAAK,gBAAgB,CAAC;gBACtB,KAAK,QAAQ,CAAC;gBACd,KAAK,aAAa;oBAChB,OAAO,IAAI,CAAC,iBAAiB,EAAE,CAAA;gBAEjC,KAAK,OAAO,EAAE;oBACZ,MAAM,IAAI,GACR,iDAAiD,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC;;IAE5FA,aAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;SAC9B,CAAA;oBACD,OAAO,IAAI,CAAA;iBACZ;gBAED,KAAK,MAAM,CAAC;gBACZ,KAAK,aAAa;oBAChB,OAAO,cAAc,gCAA+B,0BAA0B,CAAA;gBAEhF,KAAK,aAAa;oBAChB,OAAO,yCAAyC,IAAI,CAAC,0BAA0B,CAAC,oBAAoB,CAAC;;cAE/F,KAAK;;8BAEW,CAAA;gBAExB;oBACE,OAAO,KAAK,CAAA;aACf;SACF,CAAA;QAED,wBAAmB,GAAG,CAAC,QAAgB,EAAE,QAAgB;YACvD,IAAI,QAAQ,KAAK,QAAQ,EAAE;gBACzB,OAAO,QAAQ,CAAC,OAAO,CAAC,mBAAmB,EAAE,wBAAwB,CAAC,CAAA;aACvE;YAED,OAAO,QAAQ,CAAA;SAChB,CAAA;QAED,yBAAoB,GAAG,CAAC,GAAW,EAAE,QAAgB;YACnD,IAAI,QAAQ,KAAK,oBAAoB;gBAAE,OAAO,EAAE,CAAA;YAChD,OAAO,GAAG,CAAA;SACX,CAAA;QAvJC,IAAI,CAAC,gBAAgB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,mCAAI,CAAC,CAAA;QACtD,IAAI,CAAC,iBAAiB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,mCAAI,CAAC,CAAA;KACxD;IAED,oBAAoB,CAAE,UAAU;QAC9B,MAAM,MAAM,GAAG,KAAK,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAA;QAErD,IAAI,CAAC,oBAAoB,qBAAQ,MAAM,CAAE,CAAA;QAEzC,OAAO,MAAM,CAAC,WAAW,CAAC,CAAA;QAC1B,OAAO,MAAM,CAAC,aAAa,CAAC,CAAA;QAE5B,OAAO,MAAM,CAAA;KACd;IAED,eAAe;QACb,OAAO,8CAA8C,CAAA;KACtD;IAED,UAAU,CAAE,MAAc;QACxB,OAAO,KAAK,MAAM,IAAI,CAAA;KACvB;IAED,YAAY,CAAE,KAAa,EAAE,GAAW,EAAE,QAAgB;QACxD,IAAIC,cAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACnF,OAAO,KAAK,KAAK,IAAI,CAAA;SACtB;QAED,OAAO,KAAK,KAAK,IAAI,CAAA;KACtB;IAED,0BAA0B,CAAE,QAAgB;QAC1C,MAAM,SAAS,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QAErD,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;aAC1B,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,CAAC;aACvJ,IAAI,CAAC,GAAG,CAAC,CAAA;KACb;IAoHD,eAAe;QACb,OAAO;;IAEP,CAAA;KACD;;;ACnMI,MAAM,UAAU,GAAG;;IAExB,QAAQ,EAAE;QACR,eAAe,EAAE,GAAG;QACpB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,IAAI;KACf;IACD,QAAQ,EAAE;QACR,UAAU,EAAE,OAAO;QACnB,IAAI,EAAE,EAAE;QACR,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,EAAE;QACR,oBAAoB,EAAE,OAAO;QAC7B,OAAO,EAAE,EAAE;KACZ;IACD,GAAG,EAAE;QACH,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,OAAO;QACpB,cAAc,EAAE,OAAO;QACvB,oBAAoB,EAAE,OAAO;QAC7B,aAAa,EAAE,MAAM;QACrB,eAAe,EAAE,MAAM;QACvB,eAAe,EAAE,OAAO;QACxB,gBAAgB,EAAE,EAAE;QACpB,UAAU,EAAE,EAAE;KACf;IACD,MAAM,EAAE;QACN,kBAAkB,EAAE,EAAE;QACtB,eAAe,EAAE,EAAE;QACnB,eAAe,EAAE,EAAE;QACnB,WAAW,EAAE,EAAE;QACf,iBAAiB,EAAE,EAAE;QACrB,sBAAsB,EAAE,EAAE;KAC3B;IACD,IAAI,EAAE;QACJ,aAAa,EAAE,SAAS;QACxB,aAAa,EAAE,EAAE;QACjB,cAAc,EAAE,EAAE;KACnB;IACD,KAAK,EAAE;QACL,iBAAiB,EAAE,MAAM;KAC1B;IACD,QAAQ,EAAE;QACR,cAAc,EAAEC,kBAAW,CAAC,SAAS,CAAC;QACtC,cAAc,EAAE,OAAO;QACvB,kBAAkB,EAAE,MAAM;QAC1B,iBAAiB,EAAE,MAAM;KAC1B;IACD,SAAS,EAAE;QACT,MAAM,EAAEA,kBAAW,CAAC,MAAM,CAAC;QAC3B,QAAQ,EAAE,EAAE;QACZ,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,EAAE;QAChB,OAAO,EAAEA,kBAAW,CAAC,SAAS,CAAC;KAChC;IACD,KAAK,EAAE;QACL,IAAI,EAAE,OAAO;QACb,oBAAoB,EAAE,OAAO;QAC7B,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,EAAE;KACnB;IACD,KAAK,EAAE;QACL,KAAK,EAAE,EAAE;QACT,kBAAkB,EAAE,MAAM;QAC1B,gBAAgB,EAAE,OAAO;QACzB,8BAA8B,EAAE,MAAM;QACtC,qBAAqB,EAAE,OAAO;QAC9B,eAAe,EAAE,OAAO;QACxB,+BAA+B,EAAE,MAAM;QACvC,aAAa,EAAE,OAAO;QACtB,kBAAkB,EAAE,EAAE;KACvB;IACD,EAAE,EAAE;QACF,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,EAAE;QACR,IAAI,EAAEA,kBAAW,CAAC,MAAM,CAAC;QACzB,UAAU,EAAE,EAAE;QACd,UAAU,EAAE,EAAE;KACf;;IAED,IAAI,EAAE;QACJ,uBAAuB,EAAEA,kBAAW,CAAC,MAAM,CAAC;QAC5C,wBAAwB,EAAEA,kBAAW,CAAC,MAAM,CAAC;QAC7C,0BAA0B,EAAEA,kBAAW,CAAC,MAAM,CAAC;QAC/C,sBAAsB,EAAEA,kBAAW,CAAC,MAAM,CAAC;QAC3C,aAAa,EAAE,EAAE;QACjB,gBAAgB,EAAE,EAAE;QACpB,qBAAqB,EAAE,GAAG;QAC1B,aAAa,EAAE,EAAE;KAClB;IACD,OAAO,EAAE;QACP,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,EAAE;QAChB,YAAY,EAAE,EAAE;KACjB;IACD,cAAc,EAAE;QACd,gBAAgB,EAAE,KAAK;QACvB,iBAAiB,EAAE,KAAK;QACxB,cAAc,EAAEA,kBAAW,CAAC,0BAA0B,CAAC;QACvD,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,OAAO;QACjB,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,EAAE;KACd;IACD,aAAa,EAAE;QACb,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAEA,kBAAW,CAAC,MAAM,CAAC;QAC3B,MAAM,EAAE,MAAM;QACd,SAAS,EAAE,EAAE;KACd;IACD,QAAQ,EAAE;QACR,GAAG,EAAE,EAAE;QACP,IAAI,EAAE,EAAE;QACR,KAAK,EAAEA,kBAAW,CAAC,KAAK,CAAC;QACzB,SAAS,EAAE,EAAE;QACb,QAAQ,EAAE,EAAE;QACZ,WAAW,EAAE,EAAE;QACf,YAAY,EAAE,EAAE;KACjB;IACD,OAAO,EAAE;QACP,EAAE,EAAE,EAAE;QACN,eAAe,EAAE,MAAM;QACvB,mBAAmB,EAAE,MAAM;QAC3B,aAAa,EAAE,OAAO;QACtB,iBAAiB,EAAEA,kBAAW,CAAC,OAAO,CAAC;QACvC,YAAY,EAAE,MAAM;QACpB,YAAY,EAAE,OAAO;QACrB,YAAY,EAAE,OAAO;QACrB,OAAO,EAAE,KAAK;QACd,aAAa,EAAE,KAAK;QACpB,cAAc,EAAE,KAAK;QACrB,sBAAsB,EAAE,OAAO;QAC/B,cAAc,EAAEA,kBAAW,CAAC,MAAM,CAAC;QACnC,YAAY,EAAEA,kBAAW,CAAC,SAAS,CAAC;QACpC,eAAe,EAAE,EAAE;QACnB,SAAS,EAAE,EAAE;KACd;IACD,WAAW,EAAE;QACX,EAAE,EAAE,EAAE;QACN,IAAI,EAAE,EAAE;QACR,SAAS,EAAE,EAAE;KACd;IACD,QAAQ,EAAE;QACR,IAAI,EAAE,EAAE;KACT;IACD,KAAK,EAAE;QACL,cAAc,EAAE,EAAE;QAClB,kBAAkB,EAAE,EAAE;QACtB,aAAa,EAAE,EAAE;KAClB;CACF,CAAA;;ACzJD,MAAM,YAAY,GAAG,8BAA8B,CAAA;AACnD,MAAM,YAAY,GAAG,mBAAmB,CAAA;AAExC,MAAqB,IAAK,SAAQC,wBAAgB;;;;;;;;;IAuBhD,YAAa,GAAG,EAAE,MAAM;QACtB,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAvBpB,aAAQ,GAAG,MAAM,CAAA;QACjB,iBAAY,GAAG,MAAM,CAAA;QACrB,gBAAW,GAAG,GAAG,YAAY,eAAe,CAAA;QAC5C,uBAAkB,GAAG,GAAG,YAAY,wBAAwB,CAAA;QAC5D,aAAQ,GAAG;YACT,KAAK,EAAE,OAAO;YACd,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,OAAO;YACf,MAAM,EAAE,KAAK;YACb,EAAE,EAAE,MAAM;SACX,CAAA;QAeC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC;YAC/B,KAAK;gBACH,IAAI,CAAC,gBAAgB,EAAE,CAAA;gBACvB,GAAG,CAAC,qBAAqB,EAAE,CAAA;gBAC3B,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAA;aACvD;SACF,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC;YAC3B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;SAC1C,CAAC,CAAA;KACH;;;;IAKD,gBAAgB;QACd,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;QACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAA;QACpD,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAA;QAChE,OAAO,IAAI,CAAC,QAAQ,CAAC,kBAAkB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;KAC/D;CACF;;ACjDD,YAAe,CAAC,GAAmB;IACjC,GAAG,CAAC,gBAAgB,CAAC;QACnB,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,MAAM;QACrB,MAAM,EAAE,CAAE,EAAE,MAAM,EAAE;YAClB,MAAM,OAAO,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACrC,MAAM,OAAO,CAAC,KAAK,EAAE,CAAA;SACtB;KACF,CAAC,CAAA;AACJ,CAAC,CAAA;;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../src/template.ts","../src/components.ts","../src/program.ts","../src/index.ts"],"sourcesContent":["import { isArray, Shortcuts, indent } from '@tarojs/shared'\nimport { RecursiveTemplate } from '@tarojs/shared/dist/template'\n\nconst swanSpecialAttrs = {\n 'scroll-view': ['scrollTop', 'scrollLeft', 'scrollIntoView'],\n 'movable-view': ['x', 'y'],\n slider: ['value'],\n input: ['value'],\n textarea: ['value']\n}\n\ninterface TemplateOptions {\n flattenViewLevel?: number\n flattenCoverLevel?: number\n flattenTextLevel?: number\n}\n\nexport class Template extends RecursiveTemplate {\n supportXS = true\n\n Adapter = {\n if: 's-if',\n else: 's-else',\n elseif: 's-elif',\n for: 's-for',\n forItem: 's-for-item',\n forIndex: 's-for-index',\n key: 's-key',\n xs: 'sjs',\n type: 'swan'\n }\n\n flattenViewLevel: number\n flattenCoverLevel: number\n flattenTextLevel: number\n\n legacyMiniComponents: {\n [key: string]: Record<string, string>\n }\n\n constructor (options?: TemplateOptions) {\n super()\n this.flattenViewLevel = options?.flattenViewLevel ?? 8\n this.flattenCoverLevel = options?.flattenCoverLevel ?? 3\n this.flattenTextLevel = options?.flattenTextLevel ?? 3\n }\n\n createMiniComponents (components): any {\n const result = super.createMiniComponents(components)\n\n this.legacyMiniComponents = { ...result }\n\n delete result['pure-view']\n delete result['static-view']\n\n return result\n }\n\n buildXsTemplate () {\n return '<import-sjs module=\"xs\" src=\"./utils.sjs\" />'\n }\n\n dataKeymap (keymap: string) {\n return `{ ${keymap} }`\n }\n\n getAttrValue (value: string, key: string, nodeName: string) {\n if (isArray(swanSpecialAttrs[nodeName]) && swanSpecialAttrs[nodeName].includes(key)) {\n return `= ${value} =`\n }\n\n return `{ ${value} }`\n }\n\n buildFlattenNodeAttributes (nodeName: string): string {\n const component = this.legacyMiniComponents[nodeName]\n\n return Object.keys(component)\n .map(k => `${k}=\"${k.startsWith('bind') || k.startsWith('on') || k.startsWith('catch') ? component[k] : `{{${component[k].replace('i.', 'item.')}}}`}\"`)\n .join(' ')\n }\n\n buildFlattenView = (level = this.flattenViewLevel): string => {\n if (level === 0) {\n return '<template is=\"{{xs.e(0)}}\" data=\"{{{i:item}}}\" />'\n }\n\n const child = this.buildFlattenView(level - 1)\n\n const template =\n`<view s-if=\"{{item.nn==='view'&&(item.st||item.cl)}}\" id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('view')}>\n <block s-for=\"{{item.cn}}\" s-key=\"uid\">\n ${indent(child, 4)}\n </block>\n</view>\n<text s-elif=\"{{item.nn==='text'&&(item.st||item.cl)}}\" id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('text')}>\n <block s-for=\"{{item.cn}}\" s-key=\"uid\">\n <block>{{item.v}}</block>\n </block>\n</text>\n<text s-elif=\"{{item.nn==='static-text'&&(item.st||item.cl)}}\" id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('static-text')}>\n <block s-for=\"{{item.cn}}\" s-key=\"uid\">\n <block>{{item.v}}</block>\n </block>\n</text>\n<button s-elif=\"{{item.nn==='button'&&(item.st||item.cl)}}\" id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('button')}>\n <block s-for=\"{{item.cn}}\" s-key=\"uid\">\n <template is=\"{{xs.e(0)}}\" data=\"{{{ i:item }}}\" />\n </block>\n</button>\n<input s-elif=\"{{item.nn==='input'&&(item.st||item.cl)}}\" id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('input')} />\n<swiper s-elif=\"{{item.nn==='swiper'&&(item.st||item.cl)}}\" id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('swiper')}>\n <block s-for=\"{{item.cn}}\" s-key=\"uid\">\n <template is=\"{{xs.e(0)}}\" data=\"{{{ i:item }}}\" />\n </block>\n</swiper>\n<block s-else>\n <template is=\"{{xs.e(0)}}\" data=\"{{{i:item}}}\" />\n</block>`\n\n return template\n }\n\n buildFlattenCover = (level = this.flattenCoverLevel): string => {\n if (level === 0) {\n return '<template is=\"{{xs.e(0)}}\" data=\"{{{i:item}}}\" />'\n }\n\n const child = this.buildFlattenCover(level - 1)\n\n const template =\n`<cover-view s-if=\"{{item.nn==='cover-view'}}\" id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('cover-view')}>\n <block s-for=\"{{item.cn}}\" s-key=\"uid\">\n ${indent(child, 4)}\n </block>\n</cover-view>\n<cover-image s-elif=\"{{item.nn==='cover-image'}}\" id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('cover-image')}></cover-image>\n<block s-else>\n <template is=\"{{xs.e(0)}}\" data=\"{{{i:item}}}\" />\n</block>`\n\n return template\n }\n\n buildFlattenText = (level = this.flattenTextLevel): string => {\n if (level === 0) {\n return `<block>{{i.${Shortcuts.Childnodes}[index].${Shortcuts.Text}}}</block>`\n }\n\n const child = this.buildFlattenText(level - 1)\n\n const template =\n`<block s-if=\"item.nn === '#text'\">{{item.v}}</block>\n<text s-else id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('text')}>\n <block s-for=\"{{item.cn}}\" s-key=\"uid\">\n ${indent(child, 4)}\n </block>\n</text>`\n return template\n }\n\n modifyLoopBody = (child: string, nodeName: string): string => {\n switch (nodeName) {\n case 'view':\n // fix issue #6015\n return this.buildFlattenView()\n\n case 'cover-view':\n case 'canvas':\n case 'map':\n case 'animation-view':\n case 'camera':\n case 'live-player':\n return this.buildFlattenCover()\n\n case 'video': {\n const body =\n `<ad s-if={{item.nn==='ad'}} id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('ad')}></ad>\n<block s-else>\n ${indent(this.buildFlattenCover(), 2)}\n</block>`\n return body\n }\n\n case 'text':\n case 'static-text':\n return this.buildFlattenText()\n\n case 'picker-view':\n return `<picker-view-column id=\"{{item.uid}}\" ${this.buildFlattenNodeAttributes('picker-view-column')}>\n <block s-for=\"{{item.cn}}\" s-key=\"uid\">\n ${child}\n </block>\n </picker-view-column>`\n\n default:\n return child\n }\n }\n\n modifyLoopContainer = (children: string, nodeName: string) => {\n if (nodeName === 'swiper') {\n return children.replace(/s-for=\"{{i\\.cn}}\"/, 's-for=\"{{xs.f(i.cn)}}\"')\n }\n\n return children\n }\n\n modifyTemplateResult = (res: string, nodeName: string) => {\n if (nodeName === 'picker-view-column') return ''\n return res\n }\n\n buildXSTmpExtra () {\n return `f: function (l) {\n return l.filter(function (i) {return i.nn === 'swiper-item'})\n }`\n }\n}\n","import { singleQuote } from '@tarojs/shared'\n\nexport const components = {\n // ======== 调整属性 ========\n Progress: {\n 'border-radius': '0',\n 'font-size': '16',\n duration: '30'\n },\n RichText: {\n selectable: 'false',\n name: '',\n attrs: '',\n children: '[]',\n text: '',\n 'image-menu-prevent': 'false',\n preview: ''\n },\n Map: {\n polygons: '[]',\n 'enable-3D': 'false',\n 'show-compass': 'false',\n 'enable-overlooking': 'false',\n 'enable-zoom': 'true',\n 'enable-scroll': 'true',\n 'enable-rotate': 'false',\n bindRegionChange: '',\n bindPoiTap: ''\n },\n Button: {\n bindGetPhoneNumber: '',\n bindGetUserInfo: '',\n bindOpenSetting: '',\n bindContact: '',\n bindChooseAddress: '',\n bindChooseInvoiceTitle: ''\n },\n Form: {\n 'report-type': 'default',\n 'template-id': '',\n 'subscribe-id': ''\n },\n Input: {\n 'adjust-position': 'true'\n },\n Textarea: {\n 'confirm-type': singleQuote('default'),\n 'confirm-hold': 'false',\n 'show-confirm-bar': 'true',\n 'adjust-position': 'true'\n },\n Navigator: {\n target: singleQuote('self'),\n 'app-id': '',\n path: '',\n 'extra-data': '',\n version: singleQuote('version')\n },\n Image: {\n webp: 'false',\n 'image-menu-prevent': 'false',\n preview: '',\n 'original-src': ''\n },\n Video: {\n title: '',\n 'show-no-wifi-tip': 'true',\n 'vslide-gesture': 'false',\n 'vslide-gesture-in-fullscreen': 'true',\n 'enable-play-gesture': 'false',\n 'show-rate-btn': 'false',\n 'show-vslide-btn-in-fullscreen': 'true',\n 'silent-play': 'false',\n bindLoadedMetadata: ''\n },\n Ad: {\n appid: '',\n apid: '',\n type: singleQuote('feed'),\n updatetime: '',\n bindStatus: ''\n },\n // ======== 额外组件 ========\n Tabs: {\n 'tabs-background-color': singleQuote('#fff'),\n 'tabs-active-text-color': singleQuote('#000'),\n 'tabs-inactive-text-color': singleQuote('#666'),\n 'tabs-underline-color': singleQuote('#333'),\n 'active-name': '',\n 'url-query-name': '',\n 'max-tab-item-amount': '5',\n bindTabChange: ''\n },\n TabItem: {\n label: '',\n name: '',\n 'badge-type': '',\n 'badge-text': ''\n },\n AnimationVideo: {\n 'resource-width': '800',\n 'resource-height': '400',\n 'canvas-style': singleQuote('width:400px;height:400px'),\n path: '',\n loop: 'fasle',\n autoplay: 'fasle',\n bindStarted: '',\n bindEnded: ''\n },\n AnimationView: {\n path: '',\n loop: 'false',\n autoplay: 'true',\n action: singleQuote('play'),\n hidden: 'true',\n bindEnded: ''\n },\n ArCamera: {\n key: '',\n type: '',\n flash: singleQuote('off'),\n bindError: '',\n bindLoad: '',\n bindMessage: '',\n bindScanCode: ''\n },\n RtcRoom: {\n id: '',\n 'enable-camera': 'true',\n 'enable-auto-focus': 'true',\n 'enable-zoom': 'false',\n 'device-position': singleQuote('front'),\n 'enable-mic': 'true',\n 'enable-agc': 'false',\n 'enable-ans': 'false',\n bitrate: '900',\n 'video-width': '360',\n 'video-height': '640',\n 'enable-remote-mirror': 'false',\n 'local-mirror': singleQuote('auto'),\n 'sound-mode': singleQuote('speaker'),\n bindStateChange: '',\n bindError: ''\n },\n RtcRoomItem: {\n id: '',\n type: '',\n 'user-id': ''\n },\n OpenData: {\n type: ''\n },\n Login: {\n 'button-class': '',\n bindGetPhoneNumber: '',\n bindLoadError: ''\n }\n}\n","import { TaroPlatformBase } from '@tarojs/service'\nimport { Template } from './template'\nimport { components } from './components'\n\nconst PACKAGE_NAME = '@tarojs/plugin-platform-swan'\nconst PROJECT_JSON = 'project.swan.json'\n\nexport default class Swan extends TaroPlatformBase {\n platform = 'swan'\n globalObject = 'swan'\n runtimePath = `${PACKAGE_NAME}/dist/runtime`\n taroComponentsPath = `${PACKAGE_NAME}/dist/components-react`\n fileType = {\n templ: '.swan',\n style: '.css',\n config: '.json',\n script: '.js',\n xs: '.sjs'\n }\n\n template: Template\n\n /**\n * 1. setupTransaction - init\n * 2. setup\n * 3. setupTransaction - close\n * 4. buildTransaction - init\n * 5. build\n * 6. buildTransaction - close\n */\n constructor (ctx, config) {\n super(ctx, config)\n\n this.setupTransaction.addWrapper({\n close () {\n this.modifyComponents()\n ctx.generateFrameworkInfo()\n this.generateProjectConfig(PROJECT_JSON, PROJECT_JSON)\n }\n })\n\n this.template = new Template({\n flattenViewLevel: config.flattenViewLevel\n })\n }\n\n /**\n * 增加组件或修改组件属性\n */\n modifyComponents () {\n this.template.mergeComponents(this.ctx, components)\n delete this.template.internalComponents.Input.cursor\n delete this.template.internalComponents.Input['selection-start']\n delete this.template.internalComponents.Input['selection-end']\n }\n}\n","import Swan from './program'\nimport type { IPluginContext } from '@tarojs/service'\n\n// 让其它平台插件可以继承此平台\nexport { Swan }\n\nexport default (ctx: IPluginContext) => {\n ctx.registerPlatform({\n name: 'swan',\n useConfigName: 'mini',\n async fn ({ config }) {\n const program = new Swan(ctx, config)\n await program.start()\n }\n })\n}\n"],"names":["RecursiveTemplate","indent","isArray","singleQuote","TaroPlatformBase"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tarojs/plugin-platform-swan",
3
- "version": "3.3.16",
3
+ "version": "3.3.17",
4
4
  "description": "百度小程序平台插件",
5
5
  "author": "Chen-jj",
6
6
  "homepage": "https://github.com/nervjs/taro/tree/master/packages/taro-swan#readme",
@@ -27,9 +27,9 @@
27
27
  "url": "https://github.com/NervJS/taro/issues"
28
28
  },
29
29
  "dependencies": {
30
- "@tarojs/components": "3.3.16",
31
- "@tarojs/service": "3.3.16",
32
- "@tarojs/shared": "3.3.16"
30
+ "@tarojs/components": "3.3.17",
31
+ "@tarojs/service": "3.3.17",
32
+ "@tarojs/shared": "3.3.17"
33
33
  },
34
- "gitHead": "75d3de695c98fab79998612ef87567a68ea981a7"
34
+ "gitHead": "3f3ce5f66d370b1982a30e4a5f2c8eb383652063"
35
35
  }
@@ -1,6 +1,8 @@
1
1
  import { RecursiveTemplate } from '@tarojs/shared/dist/template';
2
2
  interface TemplateOptions {
3
3
  flattenViewLevel?: number;
4
+ flattenCoverLevel?: number;
5
+ flattenTextLevel?: number;
4
6
  }
5
7
  export declare class Template extends RecursiveTemplate {
6
8
  supportXS: boolean;
@@ -17,6 +19,7 @@ export declare class Template extends RecursiveTemplate {
17
19
  };
18
20
  flattenViewLevel: number;
19
21
  flattenCoverLevel: number;
22
+ flattenTextLevel: number;
20
23
  legacyMiniComponents: {
21
24
  [key: string]: Record<string, string>;
22
25
  };
@@ -28,6 +31,7 @@ export declare class Template extends RecursiveTemplate {
28
31
  buildFlattenNodeAttributes(nodeName: string): string;
29
32
  buildFlattenView: (level?: number) => string;
30
33
  buildFlattenCover: (level?: number) => string;
34
+ buildFlattenText: (level?: number) => string;
31
35
  modifyLoopBody: (child: string, nodeName: string) => string;
32
36
  modifyLoopContainer: (children: string, nodeName: string) => string;
33
37
  modifyTemplateResult: (res: string, nodeName: string) => string;