@tarojs/taro-h5 3.6.7-alpha.1 → 3.6.8

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.
@@ -14,7 +14,7 @@ const env = {
14
14
  TARO_VERSION: process.env.TARO_VERSION,
15
15
  };
16
16
  // Note: 该方法由 taro-plugin-platform-h5 实现
17
- // export const canIUse = temporarilyNotSupport('canIUse')
17
+
18
18
  function arrayBufferToBase64(arrayBuffer) {
19
19
  return fromByteArray(arrayBuffer);
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/api/base/index.ts"],"sourcesContent":["import { fromByteArray, toByteArray } from 'base64-js'\n\nexport const env = {\n FRAMEWORK: process.env.FRAMEWORK,\n TARO_ENV: process.env.TARO_ENV,\n TARO_PLATFORM: process.env.TARO_PLATFORM,\n TARO_VERSION: process.env.TARO_VERSION,\n}\n\n// Note: 该方法由 taro-plugin-platform-h5 实现\n// export const canIUse = temporarilyNotSupport('canIUse')\n\nexport function arrayBufferToBase64 (arrayBuffer: ArrayBuffer) {\n return fromByteArray(arrayBuffer as Uint8Array)\n}\n\nexport function base64ToArrayBuffer (base64: string) {\n return toByteArray(base64)\n}\n\nexport * from './crypto'\nexport * from './debug'\nexport * from './performance'\nexport * from './system'\nexport * from './update'\nexport * from './weapp/app-event'\nexport * from './weapp/life-cycle'\n"],"names":[],"mappings":";;;;;;;;;AAEa,MAAA,GAAG,GAAG;AACjB,IAAA,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;AAChC,IAAA,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;AAC9B,IAAA,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;AACxC,IAAA,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;EACvC;AAED;AACA;AAEM,SAAU,mBAAmB,CAAE,WAAwB,EAAA;AAC3D,IAAA,OAAO,aAAa,CAAC,WAAyB,CAAC,CAAA;AACjD,CAAC;AAEK,SAAU,mBAAmB,CAAE,MAAc,EAAA;AACjD,IAAA,OAAO,WAAW,CAAC,MAAM,CAAC,CAAA;AAC5B;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/api/base/index.ts"],"sourcesContent":["import { fromByteArray, toByteArray } from 'base64-js'\n\nexport const env = {\n FRAMEWORK: process.env.FRAMEWORK,\n TARO_ENV: process.env.TARO_ENV,\n TARO_PLATFORM: process.env.TARO_PLATFORM,\n TARO_VERSION: process.env.TARO_VERSION,\n}\n\n// Note: 该方法由 taro-plugin-platform-h5 实现\n// export const canIUse = /* @__PURE__ */ temporarilyNotSupport('canIUse')\n\nexport function arrayBufferToBase64 (arrayBuffer: ArrayBuffer) {\n return fromByteArray(arrayBuffer as Uint8Array)\n}\n\nexport function base64ToArrayBuffer (base64: string) {\n return toByteArray(base64)\n}\n\nexport * from './crypto'\nexport * from './debug'\nexport * from './performance'\nexport * from './system'\nexport * from './update'\nexport * from './weapp/app-event'\nexport * from './weapp/life-cycle'\n"],"names":[],"mappings":";;;;;;;;;AAEa,MAAA,GAAG,GAAG;AACjB,IAAA,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;AAChC,IAAA,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ;AAC9B,IAAA,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;AACxC,IAAA,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;EACvC;AAED;AAC0E;AAEpE,SAAU,mBAAmB,CAAE,WAAwB,EAAA;AAC3D,IAAA,OAAO,aAAa,CAAC,WAAyB,CAAC,CAAA;AACjD,CAAC;AAEK,SAAU,mBAAmB,CAAE,MAAc,EAAA;AACjD,IAAA,OAAO,WAAW,CAAC,MAAM,CAAC,CAAA;AAC5B;;;;"}
@@ -87,6 +87,10 @@ class Toast {
87
87
  this.el.className = 'taro__toast';
88
88
  this.el.style.opacity = '0';
89
89
  this.el.style.transition = 'opacity 0.1s linear';
90
+ this.el.ontouchmove = (e) => {
91
+ e.stopPropagation();
92
+ e.preventDefault();
93
+ };
90
94
  // mask
91
95
  this.mask = document.createElement('div');
92
96
  this.mask.setAttribute('style', inlineStyle(maskStyle));
@@ -1 +1 @@
1
- {"version":3,"file":"toast.js","sources":["../../../../src/api/ui/interaction/toast.ts"],"sourcesContent":["import { Current } from '@tarojs/runtime'\n\nimport { getCurrentPath, inlineStyle } from '../../../utils'\n\nexport default class Toast {\n options = {\n title: '',\n icon: 'none',\n image: '',\n duration: 1500,\n mask: false\n }\n\n style = {\n maskStyle: {\n position: 'fixed',\n 'z-index': '1000',\n top: '0',\n right: '0',\n left: '0',\n bottom: '0'\n },\n toastStyle: {\n 'z-index': '5000',\n 'box-sizing': 'border-box',\n display: 'flex',\n 'flex-direction': 'column',\n 'justify-content': 'center',\n '-webkit-justify-content': 'center',\n position: 'fixed',\n top: '50%',\n left: '50%',\n 'min-width': '120px',\n 'max-width': '200px',\n 'min-height': '120px',\n padding: '15px',\n transform: 'translate(-50%, -50%)',\n 'border-radius': '5px',\n 'text-align': 'center',\n 'line-height': '1.6',\n color: '#FFFFFF',\n background: 'rgba(17, 17, 17, 0.7)'\n },\n successStyle: {\n margin: '6px auto',\n width: '38px',\n height: '38px',\n background: 'transparent url(data:image/svg+xml;base64,PHN2ZyB0PSIxNjM5NTQ4OTYzMjA0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQzNDgiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMjE5Ljk1MiA1MTIuNTc2bDIxMC40MzIgMjEwLjQzMi00NS4yNDggNDUuMjU2LTIxMC40MzItMjEwLjQzMnoiIHAtaWQ9IjQzNDkiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48cGF0aCBkPSJNNzk5LjY3MiAyNjIuMjY0bDQ1LjI1NiA0NS4yNTYtNDYwLjQ2NCA0NjAuNDY0LTQ1LjI1Ni00NS4yNTZ6IiBwLWlkPSI0MzUwIiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PC9zdmc+) no-repeat',\n 'background-size': '100%'\n },\n errrorStyle: {\n margin: '6px auto',\n width: '38px',\n height: '38px',\n background: 'transparent url(data:image/svg+xml;base64,PHN2ZyB0PSIxNjM5NTUxMDU1MTgzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0MDc2IiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTUxMiA2NEMyNjQuNTggNjQgNjQgMjY0LjU4IDY0IDUxMnMyMDAuNTggNDQ4IDQ0OCA0NDggNDQ4LTIwMC41OCA0NDgtNDQ4Uzc1OS40MiA2NCA1MTIgNjR6IG0wIDc1MmEzNiAzNiAwIDEgMSAzNi0zNiAzNiAzNiAwIDAgMS0zNiAzNnogbTUxLjgzLTU1MS45NUw1NDggNjM2YTM2IDM2IDAgMCAxLTcyIDBsLTE1LjgzLTM3MS45NWMtMC4xLTEuMzMtMC4xNy0yLjY4LTAuMTctNC4wNWE1MiA1MiAwIDAgMSAxMDQgMGMwIDEuMzctMC4wNyAyLjcyLTAuMTcgNC4wNXoiIHAtaWQ9IjE0MDc3IiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PC9zdmc+) no-repeat',\n 'background-size': '100%'\n },\n loadingStyle: {\n margin: '6px auto',\n width: '38px',\n height: '38px',\n '-webkit-animation': 'taroLoading 1s steps(12, end) infinite',\n animation: 'taroLoading 1s steps(12, end) infinite',\n background: 'transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=) no-repeat',\n 'background-size': '100%'\n },\n imageStyle: {\n margin: '6px auto',\n width: '40px',\n height: '40px',\n background: 'transparent no-repeat',\n 'background-size': '100%'\n },\n textStyle: {\n margin: '0',\n 'font-size': '16px'\n }\n }\n\n currentPath: string | null\n el: HTMLDivElement\n mask: HTMLDivElement\n icon: HTMLParagraphElement\n toast: HTMLDivElement\n title: HTMLParagraphElement\n type: any\n hideOpacityTimer: ReturnType<typeof setTimeout>\n hideDisplayTimer: ReturnType<typeof setTimeout>\n\n create (options = {}, _type: 'loading' | 'toast' = 'toast') {\n // style\n const { maskStyle, toastStyle, successStyle, errrorStyle, loadingStyle, imageStyle, textStyle } = this.style\n\n // configuration\n const config = {\n ...this.options,\n ...options,\n _type\n }\n\n // wrapper\n this.el = document.createElement('div')\n this.el.className = 'taro__toast'\n this.el.style.opacity = '0'\n this.el.style.transition = 'opacity 0.1s linear'\n\n // mask\n this.mask = document.createElement('div')\n this.mask.setAttribute('style', inlineStyle(maskStyle))\n this.mask.style.display = config.mask ? 'block' : 'none'\n\n // icon\n this.icon = document.createElement('p')\n if (config.image) {\n this.icon.setAttribute('style', inlineStyle({\n ...imageStyle,\n 'background-image': `url(${config.image})`\n }))\n } else {\n const iconStyle = config.icon === 'loading' ? loadingStyle : config.icon === 'error' ? errrorStyle : successStyle\n this.icon.setAttribute('style', inlineStyle({\n ...iconStyle,\n ...(config.icon === 'none' ? { display: 'none' } : {})\n }))\n }\n\n // toast\n this.toast = document.createElement('div')\n this.toast.setAttribute('style', inlineStyle({\n ...toastStyle,\n ...(config.icon === 'none' ? {\n 'min-height': '0',\n padding: '10px 15px'\n } : {})\n }))\n\n // title\n this.title = document.createElement('p')\n this.title.setAttribute('style', inlineStyle(textStyle))\n this.title.textContent = config.title\n\n // result\n this.toast.appendChild(this.icon)\n this.toast.appendChild(this.title)\n this.el.appendChild(this.mask)\n this.el.appendChild(this.toast)\n\n // show immediately\n document.body.appendChild(this.el)\n setTimeout(() => { this.el.style.opacity = '1' }, 0)\n this.type = config._type\n\n // disappear after duration\n config.duration >= 0 && this.hide(config.duration, this.type)\n\n // Current.page不存在时说明路由还未挂载,此时需根据url来分配将要渲染的页面path\n this.currentPath = Current.page?.path ?? getCurrentPath()\n\n return ''\n }\n\n show (options = {}, _type: 'loading' | 'toast' = 'toast') {\n const config = {\n ...this.options,\n ...options,\n _type\n }\n\n if (this.hideOpacityTimer) clearTimeout(this.hideOpacityTimer)\n if (this.hideDisplayTimer) clearTimeout(this.hideDisplayTimer)\n\n // title\n this.title.textContent = config.title || ''\n\n // mask\n this.mask.style.display = config.mask ? 'block' : 'none'\n\n // image\n const { toastStyle, successStyle, errrorStyle, loadingStyle, imageStyle } = this.style\n if (config.image) {\n this.icon.setAttribute('style', inlineStyle({\n ...imageStyle,\n 'background-image': `url(${config.image})`\n }))\n } else {\n if (!config.image && config.icon) {\n const iconStyle = config.icon === 'loading' ? loadingStyle : config.icon === 'error' ? errrorStyle : successStyle\n this.icon.setAttribute('style', inlineStyle({\n ...iconStyle,\n ...(config.icon === 'none' ? { display: 'none' } : {})\n }))\n }\n }\n\n // toast\n this.toast.setAttribute('style', inlineStyle({\n ...toastStyle,\n ...(config.icon === 'none' ? {\n 'min-height': '0',\n padding: '10px 15px'\n } : {})\n }))\n\n // show\n this.el.style.display = 'block'\n setTimeout(() => { this.el.style.opacity = '1' }, 0)\n this.type = config._type\n\n // disappear after duration\n config.duration >= 0 && this.hide(config.duration, this.type)\n\n // Current.page不存在时说明路由还未挂载,此时需根据url来分配将要渲染的页面path\n this.currentPath = Current.page?.path ?? getCurrentPath()\n\n return ''\n }\n\n hide (duration = 0, type = '') {\n if (type && type !== this.type) return\n\n if (this.hideOpacityTimer) clearTimeout(this.hideOpacityTimer)\n if (this.hideDisplayTimer) clearTimeout(this.hideDisplayTimer)\n\n this.currentPath = null\n\n this.hideOpacityTimer = setTimeout(() => {\n this.el.style.opacity = '0'\n this.hideDisplayTimer = setTimeout(() => { this.el.style.display = 'none' }, 100)\n }, duration)\n }\n}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toast.js","sources":["../../../../src/api/ui/interaction/toast.ts"],"sourcesContent":["import { Current } from '@tarojs/runtime'\n\nimport { getCurrentPath, inlineStyle } from '../../../utils'\n\nexport default class Toast {\n options = {\n title: '',\n icon: 'none',\n image: '',\n duration: 1500,\n mask: false\n }\n\n style = {\n maskStyle: {\n position: 'fixed',\n 'z-index': '1000',\n top: '0',\n right: '0',\n left: '0',\n bottom: '0'\n },\n toastStyle: {\n 'z-index': '5000',\n 'box-sizing': 'border-box',\n display: 'flex',\n 'flex-direction': 'column',\n 'justify-content': 'center',\n '-webkit-justify-content': 'center',\n position: 'fixed',\n top: '50%',\n left: '50%',\n 'min-width': '120px',\n 'max-width': '200px',\n 'min-height': '120px',\n padding: '15px',\n transform: 'translate(-50%, -50%)',\n 'border-radius': '5px',\n 'text-align': 'center',\n 'line-height': '1.6',\n color: '#FFFFFF',\n background: 'rgba(17, 17, 17, 0.7)'\n },\n successStyle: {\n margin: '6px auto',\n width: '38px',\n height: '38px',\n background: 'transparent url(data:image/svg+xml;base64,PHN2ZyB0PSIxNjM5NTQ4OTYzMjA0IiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjQzNDgiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48cGF0aCBkPSJNMjE5Ljk1MiA1MTIuNTc2bDIxMC40MzIgMjEwLjQzMi00NS4yNDggNDUuMjU2LTIxMC40MzItMjEwLjQzMnoiIHAtaWQ9IjQzNDkiIGZpbGw9IiNmZmZmZmYiPjwvcGF0aD48cGF0aCBkPSJNNzk5LjY3MiAyNjIuMjY0bDQ1LjI1NiA0NS4yNTYtNDYwLjQ2NCA0NjAuNDY0LTQ1LjI1Ni00NS4yNTZ6IiBwLWlkPSI0MzUwIiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PC9zdmc+) no-repeat',\n 'background-size': '100%'\n },\n errrorStyle: {\n margin: '6px auto',\n width: '38px',\n height: '38px',\n background: 'transparent url(data:image/svg+xml;base64,PHN2ZyB0PSIxNjM5NTUxMDU1MTgzIiBjbGFzcz0iaWNvbiIgdmlld0JveD0iMCAwIDEwMjQgMTAyNCIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHAtaWQ9IjE0MDc2IiB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PHBhdGggZD0iTTUxMiA2NEMyNjQuNTggNjQgNjQgMjY0LjU4IDY0IDUxMnMyMDAuNTggNDQ4IDQ0OCA0NDggNDQ4LTIwMC41OCA0NDgtNDQ4Uzc1OS40MiA2NCA1MTIgNjR6IG0wIDc1MmEzNiAzNiAwIDEgMSAzNi0zNiAzNiAzNiAwIDAgMS0zNiAzNnogbTUxLjgzLTU1MS45NUw1NDggNjM2YTM2IDM2IDAgMCAxLTcyIDBsLTE1LjgzLTM3MS45NWMtMC4xLTEuMzMtMC4xNy0yLjY4LTAuMTctNC4wNWE1MiA1MiAwIDAgMSAxMDQgMGMwIDEuMzctMC4wNyAyLjcyLTAuMTcgNC4wNXoiIHAtaWQ9IjE0MDc3IiBmaWxsPSIjZmZmZmZmIj48L3BhdGg+PC9zdmc+) no-repeat',\n 'background-size': '100%'\n },\n loadingStyle: {\n margin: '6px auto',\n width: '38px',\n height: '38px',\n '-webkit-animation': 'taroLoading 1s steps(12, end) infinite',\n animation: 'taroLoading 1s steps(12, end) infinite',\n background: 'transparent url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjAiIGhlaWdodD0iMTIwIiB2aWV3Qm94PSIwIDAgMTAwIDEwMCI+PHBhdGggZmlsbD0ibm9uZSIgZD0iTTAgMGgxMDB2MTAwSDB6Ii8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTlFOUU5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTMwKSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iIzk4OTY5NyIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgzMCAxMDUuOTggNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjOUI5OTlBIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDYwIDc1Ljk4IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0EzQTFBMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSg5MCA2NSA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNBQkE5QUEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoMTIwIDU4LjY2IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0IyQjJCMiIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgxNTAgNTQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjQkFCOEI5IiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKDE4MCA1MCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDMkMwQzEiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTE1MCA0NS45OCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNDQkNCQ0IiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTEyMCA0MS4zNCA2NSkiLz48cmVjdCB3aWR0aD0iNyIgaGVpZ2h0PSIyMCIgeD0iNDYuNSIgeT0iNDAiIGZpbGw9IiNEMkQyRDIiIHJ4PSI1IiByeT0iNSIgdHJhbnNmb3JtPSJyb3RhdGUoLTkwIDM1IDY1KSIvPjxyZWN0IHdpZHRoPSI3IiBoZWlnaHQ9IjIwIiB4PSI0Ni41IiB5PSI0MCIgZmlsbD0iI0RBREFEQSIgcng9IjUiIHJ5PSI1IiB0cmFuc2Zvcm09InJvdGF0ZSgtNjAgMjQuMDIgNjUpIi8+PHJlY3Qgd2lkdGg9IjciIGhlaWdodD0iMjAiIHg9IjQ2LjUiIHk9IjQwIiBmaWxsPSIjRTJFMkUyIiByeD0iNSIgcnk9IjUiIHRyYW5zZm9ybT0icm90YXRlKC0zMCAtNS45OCA2NSkiLz48L3N2Zz4=) no-repeat',\n 'background-size': '100%'\n },\n imageStyle: {\n margin: '6px auto',\n width: '40px',\n height: '40px',\n background: 'transparent no-repeat',\n 'background-size': '100%'\n },\n textStyle: {\n margin: '0',\n 'font-size': '16px'\n }\n }\n\n currentPath: string | null\n el: HTMLDivElement\n mask: HTMLDivElement\n icon: HTMLParagraphElement\n toast: HTMLDivElement\n title: HTMLParagraphElement\n type: any\n hideOpacityTimer: ReturnType<typeof setTimeout>\n hideDisplayTimer: ReturnType<typeof setTimeout>\n\n create (options = {}, _type: 'loading' | 'toast' = 'toast') {\n // style\n const { maskStyle, toastStyle, successStyle, errrorStyle, loadingStyle, imageStyle, textStyle } = this.style\n\n // configuration\n const config = {\n ...this.options,\n ...options,\n _type\n }\n\n // wrapper\n this.el = document.createElement('div')\n this.el.className = 'taro__toast'\n this.el.style.opacity = '0'\n this.el.style.transition = 'opacity 0.1s linear'\n this.el.ontouchmove = (e) => {\n e.stopPropagation()\n e.preventDefault()\n }\n\n // mask\n this.mask = document.createElement('div')\n this.mask.setAttribute('style', inlineStyle(maskStyle))\n this.mask.style.display = config.mask ? 'block' : 'none'\n\n // icon\n this.icon = document.createElement('p')\n if (config.image) {\n this.icon.setAttribute('style', inlineStyle({\n ...imageStyle,\n 'background-image': `url(${config.image})`\n }))\n } else {\n const iconStyle = config.icon === 'loading' ? loadingStyle : config.icon === 'error' ? errrorStyle : successStyle\n this.icon.setAttribute('style', inlineStyle({\n ...iconStyle,\n ...(config.icon === 'none' ? { display: 'none' } : {})\n }))\n }\n\n // toast\n this.toast = document.createElement('div')\n this.toast.setAttribute('style', inlineStyle({\n ...toastStyle,\n ...(config.icon === 'none' ? {\n 'min-height': '0',\n padding: '10px 15px'\n } : {})\n }))\n\n // title\n this.title = document.createElement('p')\n this.title.setAttribute('style', inlineStyle(textStyle))\n this.title.textContent = config.title\n\n // result\n this.toast.appendChild(this.icon)\n this.toast.appendChild(this.title)\n this.el.appendChild(this.mask)\n this.el.appendChild(this.toast)\n\n // show immediately\n document.body.appendChild(this.el)\n setTimeout(() => { this.el.style.opacity = '1' }, 0)\n this.type = config._type\n\n // disappear after duration\n config.duration >= 0 && this.hide(config.duration, this.type)\n\n // Current.page不存在时说明路由还未挂载,此时需根据url来分配将要渲染的页面path\n this.currentPath = Current.page?.path ?? getCurrentPath()\n\n return ''\n }\n\n show (options = {}, _type: 'loading' | 'toast' = 'toast') {\n const config = {\n ...this.options,\n ...options,\n _type\n }\n\n if (this.hideOpacityTimer) clearTimeout(this.hideOpacityTimer)\n if (this.hideDisplayTimer) clearTimeout(this.hideDisplayTimer)\n\n // title\n this.title.textContent = config.title || ''\n\n // mask\n this.mask.style.display = config.mask ? 'block' : 'none'\n\n // image\n const { toastStyle, successStyle, errrorStyle, loadingStyle, imageStyle } = this.style\n if (config.image) {\n this.icon.setAttribute('style', inlineStyle({\n ...imageStyle,\n 'background-image': `url(${config.image})`\n }))\n } else {\n if (!config.image && config.icon) {\n const iconStyle = config.icon === 'loading' ? loadingStyle : config.icon === 'error' ? errrorStyle : successStyle\n this.icon.setAttribute('style', inlineStyle({\n ...iconStyle,\n ...(config.icon === 'none' ? { display: 'none' } : {})\n }))\n }\n }\n\n // toast\n this.toast.setAttribute('style', inlineStyle({\n ...toastStyle,\n ...(config.icon === 'none' ? {\n 'min-height': '0',\n padding: '10px 15px'\n } : {})\n }))\n\n // show\n this.el.style.display = 'block'\n setTimeout(() => { this.el.style.opacity = '1' }, 0)\n this.type = config._type\n\n // disappear after duration\n config.duration >= 0 && this.hide(config.duration, this.type)\n\n // Current.page不存在时说明路由还未挂载,此时需根据url来分配将要渲染的页面path\n this.currentPath = Current.page?.path ?? getCurrentPath()\n\n return ''\n }\n\n hide (duration = 0, type = '') {\n if (type && type !== this.type) return\n\n if (this.hideOpacityTimer) clearTimeout(this.hideOpacityTimer)\n if (this.hideDisplayTimer) clearTimeout(this.hideDisplayTimer)\n\n this.currentPath = null\n\n this.hideOpacityTimer = setTimeout(() => {\n this.el.style.opacity = '0'\n this.hideDisplayTimer = setTimeout(() => { this.el.style.display = 'none' }, 100)\n }, duration)\n }\n}\n"],"names":[],"mappings":";;;AAIc,MAAO,KAAK,CAAA;AAA1B,IAAA,WAAA,GAAA;AACE,QAAA,IAAA,CAAA,OAAO,GAAG;AACR,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,IAAI,EAAE,MAAM;AACZ,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,IAAI,EAAE,KAAK;SACZ,CAAA;AAED,QAAA,IAAA,CAAA,KAAK,GAAG;AACN,YAAA,SAAS,EAAE;AACT,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,SAAS,EAAE,MAAM;AACjB,gBAAA,GAAG,EAAE,GAAG;AACR,gBAAA,KAAK,EAAE,GAAG;AACV,gBAAA,IAAI,EAAE,GAAG;AACT,gBAAA,MAAM,EAAE,GAAG;AACZ,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,SAAS,EAAE,MAAM;AACjB,gBAAA,YAAY,EAAE,YAAY;AAC1B,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,gBAAgB,EAAE,QAAQ;AAC1B,gBAAA,iBAAiB,EAAE,QAAQ;AAC3B,gBAAA,yBAAyB,EAAE,QAAQ;AACnC,gBAAA,QAAQ,EAAE,OAAO;AACjB,gBAAA,GAAG,EAAE,KAAK;AACV,gBAAA,IAAI,EAAE,KAAK;AACX,gBAAA,WAAW,EAAE,OAAO;AACpB,gBAAA,WAAW,EAAE,OAAO;AACpB,gBAAA,YAAY,EAAE,OAAO;AACrB,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,SAAS,EAAE,uBAAuB;AAClC,gBAAA,eAAe,EAAE,KAAK;AACtB,gBAAA,YAAY,EAAE,QAAQ;AACtB,gBAAA,aAAa,EAAE,KAAK;AACpB,gBAAA,KAAK,EAAE,SAAS;AAChB,gBAAA,UAAU,EAAE,uBAAuB;AACpC,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,MAAM,EAAE,UAAU;AAClB,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,UAAU,EAAE,+hBAA+hB;AAC3iB,gBAAA,iBAAiB,EAAE,MAAM;AAC1B,aAAA;AACD,YAAA,WAAW,EAAE;AACX,gBAAA,MAAM,EAAE,UAAU;AAClB,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,UAAU,EAAE,+pBAA+pB;AAC3qB,gBAAA,iBAAiB,EAAE,MAAM;AAC1B,aAAA;AACD,YAAA,YAAY,EAAE;AACZ,gBAAA,MAAM,EAAE,UAAU;AAClB,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,mBAAmB,EAAE,wCAAwC;AAC7D,gBAAA,SAAS,EAAE,wCAAwC;AACnD,gBAAA,UAAU,EAAE,u4DAAu4D;AACn5D,gBAAA,iBAAiB,EAAE,MAAM;AAC1B,aAAA;AACD,YAAA,UAAU,EAAE;AACV,gBAAA,MAAM,EAAE,UAAU;AAClB,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,UAAU,EAAE,uBAAuB;AACnC,gBAAA,iBAAiB,EAAE,MAAM;AAC1B,aAAA;AACD,YAAA,SAAS,EAAE;AACT,gBAAA,MAAM,EAAE,GAAG;AACX,gBAAA,WAAW,EAAE,MAAM;AACpB,aAAA;SACF,CAAA;KA6JF;AAjJC,IAAA,MAAM,CAAE,OAAO,GAAG,EAAE,EAAE,QAA6B,OAAO,EAAA;;;AAExD,QAAA,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;;QAG5G,MAAM,MAAM,GACP,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,OAAO,GACZ,OAAO,CAAA,EAAA,EACV,KAAK,EAAA,CACN,CAAA;;QAGD,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACvC,QAAA,IAAI,CAAC,EAAE,CAAC,SAAS,GAAG,aAAa,CAAA;QACjC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAA;QAC3B,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,GAAG,qBAAqB,CAAA;QAChD,IAAI,CAAC,EAAE,CAAC,WAAW,GAAG,CAAC,CAAC,KAAI;YAC1B,CAAC,CAAC,eAAe,EAAE,CAAA;YACnB,CAAC,CAAC,cAAc,EAAE,CAAA;AACpB,SAAC,CAAA;;QAGD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AACzC,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;AACvD,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,CAAA;;QAGxD,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;QACvC,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CACtC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,UAAU,KACb,kBAAkB,EAAE,OAAO,MAAM,CAAC,KAAK,CAAG,CAAA,CAAA,EAAA,CAAA,CAC1C,CAAC,CAAA;AACJ,SAAA;AAAM,aAAA;YACL,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,GAAG,WAAW,GAAG,YAAY,CAAA;AACjH,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACtC,SAAS,CAAA,GACR,MAAM,CAAC,IAAI,KAAK,MAAM,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAC,CACtD,CAAC,CAAA;AACJ,SAAA;;QAGD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;AAC1C,QAAA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACvC,UAAU,CACV,GAAC,MAAM,CAAC,IAAI,KAAK,MAAM,GAAG;AAC3B,YAAA,YAAY,EAAE,GAAG;AACjB,YAAA,OAAO,EAAE,WAAW;AACrB,SAAA,GAAG,EAAE,EAAC,CACP,CAAC,CAAA;;QAGH,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAA;AACxC,QAAA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC,CAAA;QACxD,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAA;;QAGrC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACjC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAClC,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAC9B,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;;QAG/B,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAClC,QAAA,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAA,EAAE,EAAE,CAAC,CAAC,CAAA;AACpD,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAA;;AAGxB,QAAA,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;;AAG7D,QAAA,IAAI,CAAC,WAAW,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAO,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,cAAc,EAAE,CAAA;AAEzD,QAAA,OAAO,EAAE,CAAA;KACV;AAED,IAAA,IAAI,CAAE,OAAO,GAAG,EAAE,EAAE,QAA6B,OAAO,EAAA;;QACtD,MAAM,MAAM,GACP,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,IAAI,CAAC,OAAO,GACZ,OAAO,CAAA,EAAA,EACV,KAAK,EAAA,CACN,CAAA;QAED,IAAI,IAAI,CAAC,gBAAgB;AAAE,YAAA,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC9D,IAAI,IAAI,CAAC,gBAAgB;AAAE,YAAA,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;;QAG9D,IAAI,CAAC,KAAK,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA;;AAG3C,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,GAAG,OAAO,GAAG,MAAM,CAAA;;AAGxD,QAAA,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QACtF,IAAI,MAAM,CAAC,KAAK,EAAE;YAChB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CACtC,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,UAAU,KACb,kBAAkB,EAAE,OAAO,MAAM,CAAC,KAAK,CAAG,CAAA,CAAA,EAAA,CAAA,CAC1C,CAAC,CAAA;AACJ,SAAA;AAAM,aAAA;YACL,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE;gBAChC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,KAAK,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO,GAAG,WAAW,GAAG,YAAY,CAAA;AACjH,gBAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACtC,SAAS,CAAA,GACR,MAAM,CAAC,IAAI,KAAK,MAAM,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAC,CACtD,CAAC,CAAA;AACJ,aAAA;AACF,SAAA;;AAGD,QAAA,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,WAAW,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EACvC,UAAU,CACV,GAAC,MAAM,CAAC,IAAI,KAAK,MAAM,GAAG;AAC3B,YAAA,YAAY,EAAE,GAAG;AACjB,YAAA,OAAO,EAAE,WAAW;AACrB,SAAA,GAAG,EAAE,EAAC,CACP,CAAC,CAAA;;QAGH,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAA;AAC/B,QAAA,UAAU,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAA,EAAE,EAAE,CAAC,CAAC,CAAA;AACpD,QAAA,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAA;;AAGxB,QAAA,MAAM,CAAC,QAAQ,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAA;;AAG7D,QAAA,IAAI,CAAC,WAAW,GAAG,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,OAAO,CAAC,IAAI,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAI,MAAI,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,EAAA,GAAA,cAAc,EAAE,CAAA;AAEzD,QAAA,OAAO,EAAE,CAAA;KACV;AAED,IAAA,IAAI,CAAE,QAAQ,GAAG,CAAC,EAAE,IAAI,GAAG,EAAE,EAAA;AAC3B,QAAA,IAAI,IAAI,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI;YAAE,OAAM;QAEtC,IAAI,IAAI,CAAC,gBAAgB;AAAE,YAAA,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC9D,IAAI,IAAI,CAAC,gBAAgB;AAAE,YAAA,YAAY,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;AAE9D,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAA;AAEvB,QAAA,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,MAAK;YACtC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAA;YAC3B,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,MAAQ,EAAA,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAA,EAAE,EAAE,GAAG,CAAC,CAAA;SAClF,EAAE,QAAQ,CAAC,CAAA;KACb;AACF;;;;"}
@@ -12,20 +12,21 @@ const pageScrollTo = ({ scrollTop, selector = '', offsetTop = 0, duration = 300,
12
12
  let scrollFunc;
13
13
  const handle = new MethodHandler({ name: 'pageScrollTo', success, fail, complete });
14
14
  return new Promise((resolve, reject) => {
15
- var _a, _b;
15
+ var _a, _b, _c;
16
16
  try {
17
17
  if (scrollTop === undefined && !selector) {
18
18
  return handle.fail({
19
19
  errMsg: 'scrollTop" 或 "selector" 需要其之一'
20
20
  }, { resolve, reject });
21
21
  }
22
- const id = (_b = (_a = Current.page) === null || _a === void 0 ? void 0 : _a.path) === null || _b === void 0 ? void 0 : _b.replace(/([^a-z0-9\u00a0-\uffff_-])/ig, '\\$1');
22
+ const usingWindowScroll = (_a = window.__taroAppConfig) === null || _a === void 0 ? void 0 : _a.usingWindowScroll;
23
+ const id = (_c = (_b = Current.page) === null || _b === void 0 ? void 0 : _b.path) === null || _c === void 0 ? void 0 : _c.replace(/([^a-z0-9\u00a0-\uffff_-])/ig, '\\$1');
23
24
  const el = (id
24
25
  ? document.querySelector(`.taro_page#${id}`)
25
26
  : document.querySelector('.taro_page') ||
26
27
  document.querySelector('.taro_router'));
27
28
  if (!scrollFunc) {
28
- if (!el) {
29
+ if (usingWindowScroll) {
29
30
  scrollFunc = pos => {
30
31
  if (pos === undefined) {
31
32
  return window.pageYOffset;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/api/ui/scroll/index.ts"],"sourcesContent":["import Taro from '@tarojs/api'\r\nimport { Current } from '@tarojs/runtime'\r\n\r\nimport { easeInOut, getTimingFunc } from '../../../utils'\r\nimport { MethodHandler } from '../../../utils/handler'\r\n\r\nlet timer: ReturnType<typeof setTimeout>\r\nconst FRAME_DURATION = 17\r\n\r\n/**\r\n * 将页面滚动到目标位置\r\n */\r\nexport const pageScrollTo: typeof Taro.pageScrollTo = ({ scrollTop, selector = '', offsetTop = 0, duration = 300, success, fail, complete }) => {\r\n let scrollFunc\r\n const handle = new MethodHandler({ name: 'pageScrollTo', success, fail, complete })\r\n return new Promise((resolve, reject) => {\r\n try {\r\n if (scrollTop === undefined && !selector) {\r\n return handle.fail({\r\n errMsg: 'scrollTop\" 或 \"selector\" 需要其之一'\r\n }, { resolve, reject })\r\n }\r\n\r\n const id = Current.page?.path?.replace(/([^a-z0-9\\u00a0-\\uffff_-])/ig, '\\\\$1')\r\n const el: HTMLDivElement | null = (id\r\n ? document.querySelector(`.taro_page#${id}`)\r\n : document.querySelector('.taro_page') ||\r\n document.querySelector('.taro_router')) as HTMLDivElement\r\n\r\n if (!scrollFunc) {\r\n if (!el) {\r\n scrollFunc = pos => {\r\n if (pos === undefined) {\r\n return window.pageYOffset\r\n } else {\r\n window.scrollTo(0, pos)\r\n }\r\n }\r\n } else {\r\n scrollFunc = pos => {\r\n if (pos === undefined) {\r\n return el.scrollTop\r\n } else {\r\n el.scrollTop = pos\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (scrollTop && selector) {\r\n console.warn('\"scrollTop\" 或 \"selector\" 建议只设一个值,全部设置会忽略selector')\r\n }\r\n const from = scrollFunc()\r\n let to: number\r\n if (selector) {\r\n const el = document.querySelector(selector) as HTMLElement\r\n to = (el?.offsetTop || 0) + offsetTop\r\n } else {\r\n to = typeof scrollTop === 'number' ? scrollTop : 0\r\n }\r\n const delta = to - from\r\n\r\n const frameCnt = duration / FRAME_DURATION\r\n const easeFunc = getTimingFunc(easeInOut, frameCnt)\r\n\r\n const scroll = (frame = 0) => {\r\n const dest = from + delta * easeFunc(frame)\r\n scrollFunc(dest)\r\n if (frame < frameCnt) {\r\n timer && clearTimeout(timer)\r\n timer = setTimeout(() => {\r\n scroll(frame + 1)\r\n }, FRAME_DURATION)\r\n } else {\r\n return handle.success({}, { resolve, reject })\r\n }\r\n }\r\n scroll()\r\n } catch (e) {\r\n return handle.fail({\r\n errMsg: e.message\r\n }, { resolve, reject })\r\n }\r\n })\r\n}\r\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/api/ui/scroll/index.ts"],"sourcesContent":["import Taro from '@tarojs/api'\r\nimport { Current } from '@tarojs/runtime'\r\n\r\nimport { easeInOut, getTimingFunc } from '../../../utils'\r\nimport { MethodHandler } from '../../../utils/handler'\r\n\r\nlet timer: ReturnType<typeof setTimeout>\r\nconst FRAME_DURATION = 17\r\n\r\n/**\r\n * 将页面滚动到目标位置\r\n */\r\nexport const pageScrollTo: typeof Taro.pageScrollTo = ({ scrollTop, selector = '', offsetTop = 0, duration = 300, success, fail, complete }) => {\r\n let scrollFunc\r\n const handle = new MethodHandler({ name: 'pageScrollTo', success, fail, complete })\r\n return new Promise((resolve, reject) => {\r\n try {\r\n if (scrollTop === undefined && !selector) {\r\n return handle.fail({\r\n errMsg: 'scrollTop\" 或 \"selector\" 需要其之一'\r\n }, { resolve, reject })\r\n }\r\n\r\n const usingWindowScroll = (window as any).__taroAppConfig?.usingWindowScroll\r\n const id = Current.page?.path?.replace(/([^a-z0-9\\u00a0-\\uffff_-])/ig, '\\\\$1')\r\n const el: HTMLDivElement | null = (id\r\n ? document.querySelector(`.taro_page#${id}`)\r\n : document.querySelector('.taro_page') ||\r\n document.querySelector('.taro_router')) as HTMLDivElement\r\n\r\n if (!scrollFunc) {\r\n if (usingWindowScroll) {\r\n scrollFunc = pos => {\r\n if (pos === undefined) {\r\n return window.pageYOffset\r\n } else {\r\n window.scrollTo(0, pos)\r\n }\r\n }\r\n } else {\r\n scrollFunc = pos => {\r\n if (pos === undefined) {\r\n return el.scrollTop\r\n } else {\r\n el.scrollTop = pos\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (scrollTop && selector) {\r\n console.warn('\"scrollTop\" 或 \"selector\" 建议只设一个值,全部设置会忽略selector')\r\n }\r\n const from = scrollFunc()\r\n let to: number\r\n if (selector) {\r\n const el = document.querySelector(selector) as HTMLElement\r\n to = (el?.offsetTop || 0) + offsetTop\r\n } else {\r\n to = typeof scrollTop === 'number' ? scrollTop : 0\r\n }\r\n const delta = to - from\r\n\r\n const frameCnt = duration / FRAME_DURATION\r\n const easeFunc = getTimingFunc(easeInOut, frameCnt)\r\n\r\n const scroll = (frame = 0) => {\r\n const dest = from + delta * easeFunc(frame)\r\n scrollFunc(dest)\r\n if (frame < frameCnt) {\r\n timer && clearTimeout(timer)\r\n timer = setTimeout(() => {\r\n scroll(frame + 1)\r\n }, FRAME_DURATION)\r\n } else {\r\n return handle.success({}, { resolve, reject })\r\n }\r\n }\r\n scroll()\r\n } catch (e) {\r\n return handle.fail({\r\n errMsg: e.message\r\n }, { resolve, reject })\r\n }\r\n })\r\n}\r\n"],"names":[],"mappings":"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"}
@@ -38,7 +38,7 @@ declare const env: {
38
38
  TARO_VERSION: string | undefined;
39
39
  };
40
40
  // Note: 该方法由 taro-plugin-platform-h5 实现
41
- // export const canIUse = temporarilyNotSupport('canIUse')
41
+ // export const canIUse = /* @__PURE__ */ temporarilyNotSupport('canIUse')
42
42
  declare function arrayBufferToBase64(arrayBuffer: ArrayBuffer): string;
43
43
  declare function base64ToArrayBuffer(base64: string): Uint8Array;
44
44
  // 加密
package/dist/index.cjs.js CHANGED
@@ -976,7 +976,7 @@ const env = {
976
976
  TARO_VERSION: process.env.TARO_VERSION,
977
977
  };
978
978
  // Note: 该方法由 taro-plugin-platform-h5 实现
979
- // export const canIUse = temporarilyNotSupport('canIUse')
979
+
980
980
  function arrayBufferToBase64(arrayBuffer) {
981
981
  return base64Js.fromByteArray(arrayBuffer);
982
982
  }
@@ -3531,6 +3531,10 @@ class Toast {
3531
3531
  this.el.className = 'taro__toast';
3532
3532
  this.el.style.opacity = '0';
3533
3533
  this.el.style.transition = 'opacity 0.1s linear';
3534
+ this.el.ontouchmove = (e) => {
3535
+ e.stopPropagation();
3536
+ e.preventDefault();
3537
+ };
3534
3538
  // mask
3535
3539
  this.mask = document.createElement('div');
3536
3540
  this.mask.setAttribute('style', inlineStyle(maskStyle));
@@ -3964,20 +3968,21 @@ const pageScrollTo = ({ scrollTop, selector = '', offsetTop = 0, duration = 300,
3964
3968
  let scrollFunc;
3965
3969
  const handle = new MethodHandler({ name: 'pageScrollTo', success, fail, complete });
3966
3970
  return new Promise((resolve, reject) => {
3967
- var _a, _b;
3971
+ var _a, _b, _c;
3968
3972
  try {
3969
3973
  if (scrollTop === undefined && !selector) {
3970
3974
  return handle.fail({
3971
3975
  errMsg: 'scrollTop" 或 "selector" 需要其之一'
3972
3976
  }, { resolve, reject });
3973
3977
  }
3974
- const id = (_b = (_a = runtime.Current.page) === null || _a === void 0 ? void 0 : _a.path) === null || _b === void 0 ? void 0 : _b.replace(/([^a-z0-9\u00a0-\uffff_-])/ig, '\\$1');
3978
+ const usingWindowScroll = (_a = window.__taroAppConfig) === null || _a === void 0 ? void 0 : _a.usingWindowScroll;
3979
+ const id = (_c = (_b = runtime.Current.page) === null || _b === void 0 ? void 0 : _b.path) === null || _c === void 0 ? void 0 : _c.replace(/([^a-z0-9\u00a0-\uffff_-])/ig, '\\$1');
3975
3980
  const el = (id
3976
3981
  ? document.querySelector(`.taro_page#${id}`)
3977
3982
  : document.querySelector('.taro_page') ||
3978
3983
  document.querySelector('.taro_router'));
3979
3984
  if (!scrollFunc) {
3980
- if (!el) {
3985
+ if (usingWindowScroll) {
3981
3986
  scrollFunc = pos => {
3982
3987
  if (pos === undefined) {
3983
3988
  return window.pageYOffset;