vite-plugin-taro-runtime 0.6.7

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.
Files changed (168) hide show
  1. package/LICENSE +174 -0
  2. package/README.md +45 -0
  3. package/dist/bom/URL.d.ts +53 -0
  4. package/dist/bom/URL.js +222 -0
  5. package/dist/bom/URL.js.map +1 -0
  6. package/dist/bom/URLSearchParams.d.ts +3 -0
  7. package/dist/bom/URLSearchParams.js +131 -0
  8. package/dist/bom/URLSearchParams.js.map +1 -0
  9. package/dist/bom/document.d.ts +5 -0
  10. package/dist/bom/document.js +185 -0
  11. package/dist/bom/document.js.map +1 -0
  12. package/dist/bom/getComputedStyle.d.ts +8 -0
  13. package/dist/bom/getComputedStyle.js +9 -0
  14. package/dist/bom/getComputedStyle.js.map +1 -0
  15. package/dist/bom/history.d.ts +34 -0
  16. package/dist/bom/history.js +121 -0
  17. package/dist/bom/history.js.map +1 -0
  18. package/dist/bom/location.d.ts +40 -0
  19. package/dist/bom/location.js +240 -0
  20. package/dist/bom/location.js.map +1 -0
  21. package/dist/bom/navigator.d.ts +3 -0
  22. package/dist/bom/navigator.js +24 -0
  23. package/dist/bom/navigator.js.map +1 -0
  24. package/dist/bom/raf.d.ts +5 -0
  25. package/dist/bom/raf.js +33 -0
  26. package/dist/bom/raf.js.map +1 -0
  27. package/dist/bom/window.d.ts +28 -0
  28. package/dist/bom/window.js +93 -0
  29. package/dist/bom/window.js.map +1 -0
  30. package/dist/constants/index.d.ts +59 -0
  31. package/dist/constants/index.js +62 -0
  32. package/dist/constants/index.js.map +1 -0
  33. package/dist/current.d.ts +22 -0
  34. package/dist/current.js +9 -0
  35. package/dist/current.js.map +1 -0
  36. package/dist/dom/anchor-element.js +54 -0
  37. package/dist/dom/anchor-element.js.map +1 -0
  38. package/dist/dom/class-list.d.ts +19 -0
  39. package/dist/dom/class-list.js +92 -0
  40. package/dist/dom/class-list.js.map +1 -0
  41. package/dist/dom/document.d.ts +24 -0
  42. package/dist/dom/document.js +80 -0
  43. package/dist/dom/document.js.map +1 -0
  44. package/dist/dom/element.d.ts +43 -0
  45. package/dist/dom/element.js +317 -0
  46. package/dist/dom/element.js.map +1 -0
  47. package/dist/dom/event-source.d.ts +9 -0
  48. package/dist/dom/event-source.js +17 -0
  49. package/dist/dom/event-source.js.map +1 -0
  50. package/dist/dom/event-target.d.ts +11 -0
  51. package/dist/dom/event-target.js +83 -0
  52. package/dist/dom/event-target.js.map +1 -0
  53. package/dist/dom/event.d.ts +27 -0
  54. package/dist/dom/event.js +160 -0
  55. package/dist/dom/event.js.map +1 -0
  56. package/dist/dom/form.d.ts +12 -0
  57. package/dist/dom/form.js +38 -0
  58. package/dist/dom/form.js.map +1 -0
  59. package/dist/dom/node.d.ts +79 -0
  60. package/dist/dom/node.js +301 -0
  61. package/dist/dom/node.js.map +1 -0
  62. package/dist/dom/node_types.d.ts +12 -0
  63. package/dist/dom/root.d.ts +21 -0
  64. package/dist/dom/root.js +186 -0
  65. package/dist/dom/root.js.map +1 -0
  66. package/dist/dom/style.d.ts +17 -0
  67. package/dist/dom/style.js +168 -0
  68. package/dist/dom/style.js.map +1 -0
  69. package/dist/dom/style_properties.js +187 -0
  70. package/dist/dom/style_properties.js.map +1 -0
  71. package/dist/dom/svg.d.ts +6 -0
  72. package/dist/dom/svg.js +8 -0
  73. package/dist/dom/svg.js.map +1 -0
  74. package/dist/dom/text.d.ts +17 -0
  75. package/dist/dom/text.js +41 -0
  76. package/dist/dom/text.js.map +1 -0
  77. package/dist/dom/transfer.js +15 -0
  78. package/dist/dom/transfer.js.map +1 -0
  79. package/dist/dom/tree.js +38 -0
  80. package/dist/dom/tree.js.map +1 -0
  81. package/dist/dom-external/element.js +36 -0
  82. package/dist/dom-external/element.js.map +1 -0
  83. package/dist/dom-external/index.js +39 -0
  84. package/dist/dom-external/index.js.map +1 -0
  85. package/dist/dom-external/inner-html/html.d.ts +5 -0
  86. package/dist/dom-external/inner-html/html.js +35 -0
  87. package/dist/dom-external/inner-html/html.js.map +1 -0
  88. package/dist/dom-external/inner-html/parser.d.ts +20 -0
  89. package/dist/dom-external/inner-html/parser.js +216 -0
  90. package/dist/dom-external/inner-html/parser.js.map +1 -0
  91. package/dist/dom-external/inner-html/scanner.js +304 -0
  92. package/dist/dom-external/inner-html/scanner.js.map +1 -0
  93. package/dist/dom-external/inner-html/style.js +235 -0
  94. package/dist/dom-external/inner-html/style.js.map +1 -0
  95. package/dist/dom-external/inner-html/tags.js +26 -0
  96. package/dist/dom-external/inner-html/tags.js.map +1 -0
  97. package/dist/dom-external/inner-html/utils.js +12 -0
  98. package/dist/dom-external/inner-html/utils.js.map +1 -0
  99. package/dist/dom-external/mutation-observer/implements.d.ts +55 -0
  100. package/dist/dom-external/mutation-observer/implements.js +108 -0
  101. package/dist/dom-external/mutation-observer/implements.js.map +1 -0
  102. package/dist/dom-external/mutation-observer/index.d.ts +15 -0
  103. package/dist/dom-external/mutation-observer/index.js +35 -0
  104. package/dist/dom-external/mutation-observer/index.js.map +1 -0
  105. package/dist/dom-external/mutation-observer/record.d.ts +28 -0
  106. package/dist/dom-external/node.js +75 -0
  107. package/dist/dom-external/node.js.map +1 -0
  108. package/dist/dsl/common.d.ts +17 -0
  109. package/dist/dsl/common.js +376 -0
  110. package/dist/dsl/common.js.map +1 -0
  111. package/dist/dsl/instance.d.ts +97 -0
  112. package/dist/emitter/emitter.d.ts +8 -0
  113. package/dist/emitter/emitter.js +7 -0
  114. package/dist/emitter/emitter.js.map +1 -0
  115. package/dist/env.d.ts +9 -0
  116. package/dist/env.js +9 -0
  117. package/dist/env.js.map +1 -0
  118. package/dist/hydrate.d.ts +13 -0
  119. package/dist/hydrate.js +104 -0
  120. package/dist/hydrate.js.map +1 -0
  121. package/dist/index.cjs.d.ts +921 -0
  122. package/dist/index.cjs.js +5401 -0
  123. package/dist/index.cjs.js.map +1 -0
  124. package/dist/index.d.ts +43 -0
  125. package/dist/index.js +36 -0
  126. package/dist/index.js.map +1 -0
  127. package/dist/interface/animate.d.ts +83 -0
  128. package/dist/interface/element.d.ts +6 -0
  129. package/dist/interface/event-target.d.ts +13 -0
  130. package/dist/interface/event.d.ts +16 -0
  131. package/dist/interface/hydrate.d.ts +33 -0
  132. package/dist/interface/node.d.ts +10 -0
  133. package/dist/interface/options.d.ts +19 -0
  134. package/dist/interface/utils.d.ts +4 -0
  135. package/dist/next-tick.d.ts +5 -0
  136. package/dist/next-tick.js +47 -0
  137. package/dist/next-tick.js.map +1 -0
  138. package/dist/options.d.ts +5 -0
  139. package/dist/options.js +7 -0
  140. package/dist/options.js.map +1 -0
  141. package/dist/perf.d.ts +10 -0
  142. package/dist/perf.js +49 -0
  143. package/dist/perf.js.map +1 -0
  144. package/dist/polyfill/array.js +56 -0
  145. package/dist/polyfill/array.js.map +1 -0
  146. package/dist/polyfill/index.d.ts +3 -0
  147. package/dist/polyfill/index.js +34 -0
  148. package/dist/polyfill/index.js.map +1 -0
  149. package/dist/polyfill/intersection-observer.js +597 -0
  150. package/dist/polyfill/intersection-observer.js.map +1 -0
  151. package/dist/polyfill/object.js +102 -0
  152. package/dist/polyfill/object.js.map +1 -0
  153. package/dist/runtime.esm.d.ts +921 -0
  154. package/dist/runtime.esm.js +5274 -0
  155. package/dist/runtime.esm.js.map +1 -0
  156. package/dist/utils/cache.d.ts +14 -0
  157. package/dist/utils/cache.js +27 -0
  158. package/dist/utils/cache.js.map +1 -0
  159. package/dist/utils/index.d.ts +26 -0
  160. package/dist/utils/index.js +99 -0
  161. package/dist/utils/index.js.map +1 -0
  162. package/dist/utils/lodash.d.ts +4 -0
  163. package/dist/utils/lodash.js +32 -0
  164. package/dist/utils/lodash.js.map +1 -0
  165. package/dist/utils/router.d.ts +9 -0
  166. package/dist/utils/router.js +24 -0
  167. package/dist/utils/router.js.map +1 -0
  168. package/package.json +39 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"URLSearchParams.js","sources":["../../../src/bom/URLSearchParams.ts"],"sourcesContent":["import { isArray } from '@tarojs/shared'\n\nimport env from '../env'\n\nconst findReg = /[!'()~]|%20|%00/g\nconst plusReg = /\\+/g\nconst replaceCharMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00',\n}\n\nfunction replacer (match: string) {\n return replaceCharMap[match]\n}\n\nfunction appendTo (dict: Record<string, string[]>, name: string, value: string) {\n const res = isArray(value) ? value.join(',') : value\n if (name in dict) dict[name].push(res)\n else dict[name] = [res]\n}\n\nfunction addEach (value: string, key: string) {\n appendTo(this, key, value)\n}\n\nfunction decode (str: string) {\n return decodeURIComponent(str.replace(plusReg, ' '))\n}\n\nfunction encode (str: string) {\n return encodeURIComponent(str).replace(findReg, replacer)\n}\n\nexport const URLSearchParams = process.env.TARO_PLATFORM === 'web' ? env.window.URLSearchParams : class {\n #dict = Object.create(null)\n\n constructor (query) {\n query ??= ''\n\n const dict = this.#dict\n\n if (typeof query === 'string') {\n if (query.charAt(0) === '?') {\n query = query.slice(1)\n }\n for (let pairs = query.split('&'), i = 0, length = pairs.length; i < length; i++) {\n const value = pairs[i]\n const index = value.indexOf('=')\n\n // 针对不规范的 url 参数做容错处理,如:word=你%好\n try {\n if (index > -1) {\n appendTo(dict, decode(value.slice(0, index)), decode(value.slice(index + 1)))\n } else if (value.length) {\n appendTo(dict, decode(value), '')\n }\n } catch (err) {\n if (process.env.NODE_ENV !== 'production') {\n console.warn(`[Taro warn] URL 参数 ${value} decode 异常`)\n }\n }\n }\n } else {\n if (isArray(query)) {\n for (let i = 0, length = query.length; i < length; i++) {\n const value = query[i]\n appendTo(dict, value[0], value[1])\n }\n } else if (query.forEach) {\n query.forEach(addEach, dict)\n } else {\n for (const key in query) {\n appendTo(dict, key, query[key])\n }\n }\n }\n }\n\n append (name: string, value: string) {\n appendTo(this.#dict, name, value)\n }\n\n delete (name: string) {\n delete this.#dict[name]\n }\n\n get (name: string) {\n const dict = this.#dict\n return name in dict ? dict[name][0] : null\n }\n\n getAll (name: string) {\n const dict = this.#dict\n return name in dict ? dict[name].slice(0) : []\n }\n\n has (name: string) {\n return name in this.#dict\n }\n\n keys () {\n return Object.keys(this.#dict)\n }\n\n set (name: string, value: string) {\n this.#dict[name] = ['' + value]\n }\n\n forEach (callback, thisArg) {\n const dict = this.#dict\n Object.getOwnPropertyNames(dict).forEach(function (name) {\n dict[name].forEach(function (value: string) {\n callback.call(thisArg, value, name, this)\n }, this)\n }, this)\n }\n\n toJSON () {\n return {}\n }\n\n toString () {\n const dict = this.#dict\n const query: any[] = []\n for (const key in dict) {\n const name = encode(key)\n for (let i = 0, value = dict[key]; i < value.length; i++) {\n query.push(name + '=' + encode(value[i]))\n }\n }\n return query.join('&')\n }\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { TaroDocument } from '../dom/document.js';
2
+
3
+ declare const taroDocumentProvider: TaroDocument;
4
+
5
+ export { taroDocumentProvider };
@@ -0,0 +1,185 @@
1
+ import { isEnableTTDom, DEFAULT_COMPONENTS, TT_SPECIFIC_COMPONENTS } from '@tarojs/shared';
2
+ import { HTML, HEAD, BODY, APP, CONTAINER, ROOT_STR } from '../constants/index.js';
3
+ import { TaroDocument } from '../dom/document.js';
4
+ import env from '../env.js';
5
+
6
+ function createDocument() {
7
+ /**
8
+ * <document>
9
+ * <html>
10
+ * <head></head>
11
+ * <body>
12
+ * <container>
13
+ * <root id="app" />
14
+ * </container>
15
+ * </body>
16
+ * </html>
17
+ * </document>
18
+ */
19
+ const doc = new TaroDocument();
20
+ const documentCreateElement = doc.createElement.bind(doc);
21
+ const html = documentCreateElement(HTML);
22
+ const head = documentCreateElement(HEAD);
23
+ const body = documentCreateElement(BODY);
24
+ /*
25
+ * App hosts are above native Page roots, so an ordinary TaroElement would have no _root scheduler and its React
26
+ * mutations would remain memory-only. Construct the pre-existing #app host as a TaroRootElement instead. It remains the
27
+ * same React container and keeps the same id, but can now batch app.* updates through its own ctx just as each Page root
28
+ * batches page.* updates. Reusing the host itself removes the need for a detached scheduler node.
29
+ *
30
+ * Taro and the framework locate this container by id; the pinned 4.2.0 runtime has no behavior branching on an APP
31
+ * nodeName or APP tagName. App snapshots hydrate the container's children rather than the container record itself, so
32
+ * ROOT is never emitted as a native layout node. The observable change is limited to unsupported code directly
33
+ * inspecting #app.nodeName/tagName or using this support fork with upstream templates. H5 loads the untouched
34
+ * runtime.esm.js entry and therefore retains the upstream <app> element.
35
+ */
36
+ const app = documentCreateElement(ROOT_STR);
37
+ app.id = APP;
38
+ const container = documentCreateElement(CONTAINER); // 多包一层主要为了兼容 vue
39
+ doc.appendChild(html);
40
+ html.appendChild(head);
41
+ html.appendChild(body);
42
+ body.appendChild(container);
43
+ container.appendChild(app);
44
+ doc.documentElement = html;
45
+ doc.head = head;
46
+ doc.body = body;
47
+ return doc;
48
+ }
49
+ function createTTDomDocument() {
50
+ var _a;
51
+ const document = tt === null || tt === void 0 ? void 0 : tt.appDocument;
52
+ if (!document) {
53
+ throw new Error('tt.appDocument is not found');
54
+ }
55
+ const html = document.createElement(HTML);
56
+ const head = document.createElement(HEAD);
57
+ const body = document.createElement(BODY);
58
+ const app = document.createElement(APP);
59
+ app.id = APP;
60
+ const container = document.createElement(CONTAINER);
61
+ const emptyFunction = () => { };
62
+ document.childNodes.push(html);
63
+ html.childNodes.push(head, body);
64
+ body.childNodes.push(container);
65
+ container.childNodes.push(app);
66
+ document.documentElement = html;
67
+ document.head = head;
68
+ document.body = body;
69
+ document.appElement = app;
70
+ let builtInComponents = (_a = tt === null || tt === void 0 ? void 0 : tt.getBuiltInComponents) === null || _a === void 0 ? void 0 : _a.call(tt);
71
+ if (Array.isArray(builtInComponents)) {
72
+ builtInComponents = new Set(builtInComponents);
73
+ }
74
+ else if (!(builtInComponents instanceof Set)) {
75
+ builtInComponents = new Set([...DEFAULT_COMPONENTS, ...TT_SPECIFIC_COMPONENTS]);
76
+ }
77
+ document.getElementById = function getElementById(id) {
78
+ if (id === 'app') {
79
+ return app;
80
+ }
81
+ else {
82
+ return Object.getPrototypeOf(this).getElementById.call(this, id);
83
+ }
84
+ };
85
+ document.getLastPage = function getLastPage() {
86
+ let last;
87
+ for (const v of this._pageDocumentMap.values())
88
+ last = v;
89
+ return last;
90
+ };
91
+ document.createElement = function (type, ...args) {
92
+ if (type === 'root') {
93
+ return this.getLastPage();
94
+ }
95
+ else {
96
+ const el = builtInComponents.has(type)
97
+ ? Object.getPrototypeOf(this).createElement.call(this, type, ...args)
98
+ : Object.getPrototypeOf(this).createNativeComponent.call(this, type, {
99
+ __tt__inner__options__: {
100
+ name: type,
101
+ },
102
+ });
103
+ // 给元素加上 scopeId
104
+ el.setAttribute('class', '');
105
+ // 保存原始的 setAttribute 和 removeAttribute
106
+ const originalSetAttribute = el.setAttribute.bind(el);
107
+ const originalRemoveAttribute = el.removeAttribute.bind(el);
108
+ // 拦截 setAttribute 来处理 catchMove
109
+ el.setAttribute = function (name, value) {
110
+ const result = originalSetAttribute(name, value);
111
+ // 处理 catchMove 属性
112
+ if (name === 'catchMove' && value) {
113
+ el.addEventListener('catchtouchmove', emptyFunction);
114
+ }
115
+ return result;
116
+ };
117
+ // 拦截 removeAttribute 来处理 catchMove
118
+ el.removeAttribute = function (name) {
119
+ const oldValue = el.getAttribute(name);
120
+ // 处理 catchMove 属性
121
+ if (name === 'catchMove' && oldValue) {
122
+ el.removeEventListener('catchtouchmove', emptyFunction);
123
+ }
124
+ return originalRemoveAttribute(name);
125
+ };
126
+ if (process.env.FRAMEWORK === 'preact') {
127
+ const ttEventListener = el.addEventListener.bind(el);
128
+ const ttRemoveEventListener = el.removeEventListener.bind(el);
129
+ el.addEventListener = function (type, listener) {
130
+ if (type === 'click') {
131
+ type = 'tap';
132
+ }
133
+ const bindEventName = type.startsWith('bind') || type.startsWith('catch') ? type : `bind${type}`;
134
+ // 创建包装函数
135
+ const wrapper = (event) => {
136
+ const type = event.type;
137
+ // 对齐 modifyMpEvent 处理逻辑
138
+ if (type === 'tap') {
139
+ event.type = 'click';
140
+ }
141
+ else if (type === 'focus') {
142
+ event.type = 'focusin';
143
+ }
144
+ else if (type === 'blur') {
145
+ event.type = 'focusout';
146
+ }
147
+ Object.assign(event, {
148
+ mpEvent: event,
149
+ bubbles: true,
150
+ cancelable: true,
151
+ });
152
+ listener.call(el, event);
153
+ };
154
+ // 保存包装函数的引用,用于后续移除
155
+ if (!el.__eventWrappers) {
156
+ el.__eventWrappers = new WeakMap();
157
+ }
158
+ el.__eventWrappers.set(listener, wrapper);
159
+ ttEventListener(bindEventName, wrapper);
160
+ };
161
+ el.removeEventListener = function (type, listener) {
162
+ var _a;
163
+ if (type === 'click') {
164
+ type = 'tap';
165
+ }
166
+ const bindEventName = type.startsWith('bind') || type.startsWith('catch') ? type : `bind${type}`;
167
+ // 获取之前保存的包装函数
168
+ const wrapper = (_a = el.__eventWrappers) === null || _a === void 0 ? void 0 : _a.get(listener);
169
+ if (wrapper) {
170
+ ttRemoveEventListener(bindEventName, wrapper);
171
+ delete el.__eventWrappers[listener];
172
+ }
173
+ };
174
+ }
175
+ return el;
176
+ }
177
+ };
178
+ return document;
179
+ }
180
+ // Note: 小程序端 vite 打包成 commonjs,const document = xxx 会报错,所以把 document 改为 taroDocumentProvider
181
+ const taroDocumentProvider = process.env.TARO_PLATFORM === 'web' ? env.document : (env.document =
182
+ isEnableTTDom() ? createTTDomDocument() : createDocument());
183
+
184
+ export { createTTDomDocument, taroDocumentProvider };
185
+ //# sourceMappingURL=document.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.js","sources":["../../../src/bom/document.ts"],"sourcesContent":["import { DEFAULT_COMPONENTS, isEnableTTDom, TT_SPECIFIC_COMPONENTS } from '@tarojs/shared'\n\nimport {\n APP,\n BODY,\n CONTAINER,\n HEAD,\n HTML\n} from '../constants'\nimport { TaroDocument } from '../dom/document'\nimport env from '../env'\n\nfunction createDocument (): TaroDocument {\n /**\n * <document>\n * <html>\n * <head></head>\n * <body>\n * <container>\n * <app id=\"app\" />\n * </container>\n * </body>\n * </html>\n * </document>\n */\n const doc = new TaroDocument()\n const documentCreateElement = doc.createElement.bind(doc)\n const html = documentCreateElement(HTML)\n const head = documentCreateElement(HEAD)\n const body = documentCreateElement(BODY)\n const app = documentCreateElement(APP)\n app.id = APP\n const container = documentCreateElement(CONTAINER) // 多包一层主要为了兼容 vue\n\n doc.appendChild(html)\n html.appendChild(head)\n html.appendChild(body)\n body.appendChild(container)\n container.appendChild(app)\n\n doc.documentElement = html\n doc.head = head\n doc.body = body\n\n return doc\n}\n\ndeclare const tt: any\n\nexport function createTTDomDocument(): TaroDocument {\n const document = tt?.appDocument\n if (!document) {\n throw new Error('tt.appDocument is not found')\n }\n const html = document.createElement(HTML)\n const head = document.createElement(HEAD)\n const body = document.createElement(BODY)\n const app = document.createElement(APP)\n app.id = APP\n const container = document.createElement(CONTAINER)\n\n const emptyFunction = () => {}\n\n document.childNodes.push(html)\n html.childNodes.push(head, body)\n body.childNodes.push(container)\n container.childNodes.push(app)\n\n document.documentElement = html\n document.head = head\n document.body = body\n document.appElement = app\n\n let builtInComponents = tt?.getBuiltInComponents?.()\n if (Array.isArray(builtInComponents)) {\n builtInComponents = new Set(builtInComponents)\n } else if (!(builtInComponents instanceof Set)) {\n builtInComponents = new Set([...DEFAULT_COMPONENTS, ...TT_SPECIFIC_COMPONENTS])\n }\n\n document.getElementById = function getElementById(id: string) {\n if (id === 'app') {\n return app\n } else {\n return Object.getPrototypeOf(this).getElementById.call(this, id)\n }\n }\n\n document.getLastPage = function getLastPage() {\n let last\n for (const v of this._pageDocumentMap.values()) last = v\n return last\n }\n\n document.createElement = function (type: string, ...args) {\n if (type === 'root') {\n return this.getLastPage()\n } else {\n const el = builtInComponents.has(type)\n ? Object.getPrototypeOf(this).createElement.call(this, type, ...args)\n : Object.getPrototypeOf(this).createNativeComponent.call(this, type, {\n __tt__inner__options__: {\n name: type,\n },\n })\n // 给元素加上 scopeId\n el.setAttribute('class', '')\n\n // 保存原始的 setAttribute 和 removeAttribute\n const originalSetAttribute = el.setAttribute.bind(el)\n const originalRemoveAttribute = el.removeAttribute.bind(el)\n\n // 拦截 setAttribute 来处理 catchMove\n el.setAttribute = function (name: string, value: any) {\n const result = originalSetAttribute(name, value)\n\n // 处理 catchMove 属性\n if (name === 'catchMove' && value) {\n el.addEventListener('catchtouchmove', emptyFunction)\n }\n\n return result\n }\n\n // 拦截 removeAttribute 来处理 catchMove\n el.removeAttribute = function (name: string) {\n const oldValue = el.getAttribute(name)\n\n // 处理 catchMove 属性\n if (name === 'catchMove' && oldValue) {\n el.removeEventListener('catchtouchmove', emptyFunction)\n }\n\n return originalRemoveAttribute(name)\n }\n\n if (process.env.FRAMEWORK === 'preact') {\n const ttEventListener = el.addEventListener.bind(el)\n const ttRemoveEventListener = el.removeEventListener.bind(el)\n\n el.addEventListener = function (type: string, listener) {\n if (type === 'click') {\n type = 'tap'\n }\n\n const bindEventName = type.startsWith('bind') || type.startsWith('catch') ? type : `bind${type}`\n // 创建包装函数\n const wrapper = (event) => {\n const type = event.type\n // 对齐 modifyMpEvent 处理逻辑\n if (type === 'tap') {\n event.type = 'click'\n } else if (type === 'focus') {\n event.type = 'focusin'\n } else if (type === 'blur') {\n event.type = 'focusout'\n }\n Object.assign(event, {\n mpEvent: event,\n bubbles: true,\n cancelable: true,\n })\n listener.call(el, event)\n }\n\n // 保存包装函数的引用,用于后续移除\n if (!el.__eventWrappers) {\n el.__eventWrappers = new WeakMap()\n }\n el.__eventWrappers.set(listener, wrapper)\n\n ttEventListener(bindEventName, wrapper)\n }\n\n el.removeEventListener = function (type: string, listener) {\n if (type === 'click') {\n type = 'tap'\n }\n\n const bindEventName = type.startsWith('bind') || type.startsWith('catch') ? type : `bind${type}`\n // 获取之前保存的包装函数\n const wrapper = el.__eventWrappers?.get(listener)\n if (wrapper) {\n ttRemoveEventListener(bindEventName, wrapper)\n delete el.__eventWrappers[listener]\n }\n }\n }\n\n return el\n }\n }\n return document\n}\n\n// Note: 小程序端 vite 打包成 commonjs,const document = xxx 会报错,所以把 document 改为 taroDocumentProvider\nexport const taroDocumentProvider: TaroDocument = process.env.TARO_PLATFORM === 'web' ? env.document : (env.document =\n isEnableTTDom() ? createTTDomDocument() : createDocument())\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { TaroElement } from '../dom/element.js';
2
+ import { Style } from '../dom/style.js';
3
+
4
+ type TGetComputedStyle = typeof window.getComputedStyle | ((el: TaroElement) => Style);
5
+ declare const taroGetComputedStyleProvider: TGetComputedStyle;
6
+
7
+ export { taroGetComputedStyleProvider };
8
+ export type { TGetComputedStyle };
@@ -0,0 +1,9 @@
1
+ import env from '../env.js';
2
+
3
+ // Note: 小程序端 vite 打包成 commonjs,const getComputedStyle = xxx 会报错,所以把 GetComputedStyle 改为 taroGetComputedStyleProvider
4
+ const taroGetComputedStyleProvider = process.env.TARO_PLATFORM === 'web' ? env.window.getComputedStyle : function (element) {
5
+ return element.style;
6
+ };
7
+
8
+ export { taroGetComputedStyleProvider };
9
+ //# sourceMappingURL=getComputedStyle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getComputedStyle.js","sources":["../../../src/bom/getComputedStyle.ts"],"sourcesContent":["import env from '../env'\n\nimport type { TaroElement } from '../dom/element'\nimport type { Style } from '../dom/style'\n\nexport type TGetComputedStyle = typeof window.getComputedStyle | ((el: TaroElement) => Style)\n\n// Note: 小程序端 vite 打包成 commonjs,const getComputedStyle = xxx 会报错,所以把 GetComputedStyle 改为 taroGetComputedStyleProvider\nexport const taroGetComputedStyleProvider: TGetComputedStyle = process.env.TARO_PLATFORM === 'web' ? env.window.getComputedStyle : function (element: TaroElement): Style {\n return element.style\n}\n"],"names":[],"mappings":";;AAOA;MACa,4BAA4B,GAAsB,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,gBAAgB,GAAG,UAAU,OAAoB,EAAA;IAC/J,OAAO,OAAO,CAAC,KAAK;AACtB;;;;"}
@@ -0,0 +1,34 @@
1
+ import { Events } from '@tarojs/shared';
2
+ import { RuntimeCache } from '../utils/cache.js';
3
+ import { TaroLocation } from './location.js';
4
+
5
+ interface HistoryState {
6
+ state: Record<string, any> | null;
7
+ title: string;
8
+ url: string;
9
+ }
10
+ type Options = {
11
+ window: any;
12
+ };
13
+ type HistoryContext = {
14
+ location: TaroLocation;
15
+ stack: HistoryState[];
16
+ cur: number;
17
+ };
18
+ declare class TaroHistory extends Events {
19
+ #private;
20
+ constructor(location: TaroLocation, options: Options);
21
+ get length(): number;
22
+ get state(): Record<string, any> | null;
23
+ go(delta: number): void;
24
+ back(): void;
25
+ forward(): void;
26
+ pushState(state: any, title: string, url: string): void;
27
+ replaceState(state: any, title: string, url: string): void;
28
+ get cache(): RuntimeCache<HistoryContext>;
29
+ }
30
+
31
+ declare const History: typeof TaroHistory;
32
+
33
+ export { History, TaroHistory };
34
+ export type { HistoryState };
@@ -0,0 +1,121 @@
1
+ import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
2
+ import { Events, isNumber, isString } from '@tarojs/shared';
3
+ import { CONTEXT_ACTIONS } from '../constants/index.js';
4
+ import '../emitter/emitter.js';
5
+ import env from '../env.js';
6
+ import { RuntimeCache } from '../utils/cache.js';
7
+
8
+ var _TaroHistory_instances, _TaroHistory_location, _TaroHistory_stack, _TaroHistory_cur, _TaroHistory_window, _TaroHistory_reset;
9
+ const cache = new RuntimeCache('history');
10
+ class TaroHistory extends Events {
11
+ constructor(location, options) {
12
+ super();
13
+ _TaroHistory_instances.add(this);
14
+ /* private property */
15
+ _TaroHistory_location.set(this, void 0);
16
+ _TaroHistory_stack.set(this, []);
17
+ _TaroHistory_cur.set(this, 0);
18
+ _TaroHistory_window.set(this, void 0);
19
+ __classPrivateFieldSet(this, _TaroHistory_window, options.window, "f");
20
+ __classPrivateFieldSet(this, _TaroHistory_location, location, "f");
21
+ __classPrivateFieldGet(this, _TaroHistory_location, "f").on('__record_history__', (href) => {
22
+ var _a;
23
+ __classPrivateFieldSet(this, _TaroHistory_cur, (_a = __classPrivateFieldGet(this, _TaroHistory_cur, "f"), _a++, _a), "f");
24
+ __classPrivateFieldSet(this, _TaroHistory_stack, __classPrivateFieldGet(this, _TaroHistory_stack, "f").slice(0, __classPrivateFieldGet(this, _TaroHistory_cur, "f")), "f");
25
+ __classPrivateFieldGet(this, _TaroHistory_stack, "f").push({
26
+ state: null,
27
+ title: '',
28
+ url: href
29
+ });
30
+ }, null);
31
+ __classPrivateFieldGet(this, _TaroHistory_location, "f").on('__reset_history__', (href) => {
32
+ __classPrivateFieldGet(this, _TaroHistory_instances, "m", _TaroHistory_reset).call(this, href);
33
+ }, null);
34
+ // 切换上下文行为
35
+ this.on(CONTEXT_ACTIONS.INIT, () => {
36
+ __classPrivateFieldGet(this, _TaroHistory_instances, "m", _TaroHistory_reset).call(this);
37
+ }, null);
38
+ this.on(CONTEXT_ACTIONS.RESTORE, (pageId) => {
39
+ cache.set(pageId, {
40
+ location: __classPrivateFieldGet(this, _TaroHistory_location, "f"),
41
+ stack: __classPrivateFieldGet(this, _TaroHistory_stack, "f").slice(),
42
+ cur: __classPrivateFieldGet(this, _TaroHistory_cur, "f")
43
+ });
44
+ }, null);
45
+ this.on(CONTEXT_ACTIONS.RECOVER, (pageId) => {
46
+ if (cache.has(pageId)) {
47
+ const ctx = cache.get(pageId);
48
+ __classPrivateFieldSet(this, _TaroHistory_location, ctx.location, "f");
49
+ __classPrivateFieldSet(this, _TaroHistory_stack, ctx.stack, "f");
50
+ __classPrivateFieldSet(this, _TaroHistory_cur, ctx.cur, "f");
51
+ }
52
+ }, null);
53
+ this.on(CONTEXT_ACTIONS.DESTROY, (pageId) => {
54
+ cache.delete(pageId);
55
+ }, null);
56
+ __classPrivateFieldGet(this, _TaroHistory_instances, "m", _TaroHistory_reset).call(this);
57
+ }
58
+ /* public property */
59
+ get length() {
60
+ return __classPrivateFieldGet(this, _TaroHistory_stack, "f").length;
61
+ }
62
+ get state() {
63
+ return __classPrivateFieldGet(this, _TaroHistory_stack, "f")[__classPrivateFieldGet(this, _TaroHistory_cur, "f")].state;
64
+ }
65
+ /* public method */
66
+ go(delta) {
67
+ if (!isNumber(delta) || isNaN(delta))
68
+ return;
69
+ let targetIdx = __classPrivateFieldGet(this, _TaroHistory_cur, "f") + delta;
70
+ targetIdx = Math.min(Math.max(targetIdx, 0), this.length - 1);
71
+ __classPrivateFieldSet(this, _TaroHistory_cur, targetIdx, "f");
72
+ __classPrivateFieldGet(this, _TaroHistory_location, "f").trigger('__set_href_without_history__', __classPrivateFieldGet(this, _TaroHistory_stack, "f")[__classPrivateFieldGet(this, _TaroHistory_cur, "f")].url);
73
+ __classPrivateFieldGet(this, _TaroHistory_window, "f").trigger('popstate', __classPrivateFieldGet(this, _TaroHistory_stack, "f")[__classPrivateFieldGet(this, _TaroHistory_cur, "f")]);
74
+ }
75
+ back() {
76
+ this.go(-1);
77
+ }
78
+ forward() {
79
+ this.go(1);
80
+ }
81
+ pushState(state, title, url) {
82
+ if (!url || !isString(url))
83
+ return;
84
+ __classPrivateFieldSet(this, _TaroHistory_stack, __classPrivateFieldGet(this, _TaroHistory_stack, "f").slice(0, __classPrivateFieldGet(this, _TaroHistory_cur, "f") + 1), "f");
85
+ __classPrivateFieldGet(this, _TaroHistory_stack, "f").push({
86
+ state,
87
+ title,
88
+ url
89
+ });
90
+ __classPrivateFieldSet(this, _TaroHistory_cur, this.length - 1, "f");
91
+ __classPrivateFieldGet(this, _TaroHistory_location, "f").trigger('__set_href_without_history__', url);
92
+ }
93
+ replaceState(state, title, url) {
94
+ if (!url || !isString(url))
95
+ return;
96
+ __classPrivateFieldGet(this, _TaroHistory_stack, "f")[__classPrivateFieldGet(this, _TaroHistory_cur, "f")] = {
97
+ state,
98
+ title,
99
+ url
100
+ };
101
+ __classPrivateFieldGet(this, _TaroHistory_location, "f").trigger('__set_href_without_history__', url);
102
+ }
103
+ // For debug
104
+ get cache() {
105
+ return cache;
106
+ }
107
+ }
108
+ _TaroHistory_location = new WeakMap(), _TaroHistory_stack = new WeakMap(), _TaroHistory_cur = new WeakMap(), _TaroHistory_window = new WeakMap(), _TaroHistory_instances = new WeakSet(), _TaroHistory_reset = function _TaroHistory_reset(href = '') {
109
+ __classPrivateFieldSet(this, _TaroHistory_stack, [
110
+ {
111
+ state: null,
112
+ title: '',
113
+ url: href || __classPrivateFieldGet(this, _TaroHistory_location, "f").href
114
+ }
115
+ ], "f");
116
+ __classPrivateFieldSet(this, _TaroHistory_cur, 0, "f");
117
+ };
118
+ const History = process.env.TARO_PLATFORM === 'web' ? env.window.History : TaroHistory;
119
+
120
+ export { History };
121
+ //# sourceMappingURL=history.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history.js","sources":["../../../src/bom/history.ts"],"sourcesContent":["import { isNumber, isString } from '@tarojs/shared'\n\nimport { CONTEXT_ACTIONS } from '../constants'\nimport { Events } from '../emitter/emitter'\nimport env from '../env'\nimport { RuntimeCache } from '../utils/cache'\n\nimport type { TaroLocation } from './location'\n\nexport interface HistoryState {\n state: Record<string, any> | null\n title: string\n url: string\n}\n\ntype Options = {\n window: any\n}\ntype HistoryContext = {\n location: TaroLocation\n stack: HistoryState[]\n cur: number\n}\nconst cache = new RuntimeCache<HistoryContext>('history')\n\nclass TaroHistory extends Events {\n /* private property */\n #location: TaroLocation\n #stack: HistoryState[] = []\n #cur = 0\n\n #window: any\n\n constructor (location: TaroLocation, options: Options) {\n super()\n\n this.#window = options.window\n this.#location = location\n\n this.#location.on('__record_history__', (href: string) => {\n this.#cur++\n this.#stack = this.#stack.slice(0, this.#cur)\n this.#stack.push({\n state: null,\n title: '',\n url: href\n })\n }, null)\n\n this.#location.on('__reset_history__', (href: string) => {\n this.#reset(href)\n }, null)\n\n // 切换上下文行为\n\n this.on(CONTEXT_ACTIONS.INIT, () => {\n this.#reset()\n }, null)\n\n this.on(CONTEXT_ACTIONS.RESTORE, (pageId: string) => {\n cache.set(pageId, {\n location: this.#location,\n stack: this.#stack.slice(),\n cur: this.#cur\n })\n }, null)\n\n this.on(CONTEXT_ACTIONS.RECOVER, (pageId: string) => {\n if (cache.has(pageId)) {\n const ctx = cache.get(pageId)!\n this.#location = ctx.location\n this.#stack = ctx.stack\n this.#cur = ctx.cur\n }\n }, null)\n\n this.on(CONTEXT_ACTIONS.DESTROY, (pageId: string) => {\n cache.delete(pageId)\n }, null)\n\n this.#reset()\n }\n\n #reset (href = '') {\n this.#stack = [\n {\n state: null,\n title: '',\n url: href || this.#location.href\n }\n ]\n this.#cur = 0\n }\n\n /* public property */\n get length () {\n return this.#stack.length\n }\n\n get state () {\n return this.#stack[this.#cur].state\n }\n\n /* public method */\n go (delta: number) {\n if (!isNumber(delta) || isNaN(delta)) return\n\n let targetIdx = this.#cur + delta\n targetIdx = Math.min(Math.max(targetIdx, 0), this.length - 1)\n\n this.#cur = targetIdx\n\n this.#location.trigger('__set_href_without_history__', this.#stack[this.#cur].url)\n this.#window.trigger('popstate', this.#stack[this.#cur])\n }\n\n back () {\n this.go(-1)\n }\n\n forward () {\n this.go(1)\n }\n\n pushState (state: any, title: string, url: string) {\n if (!url || !isString(url)) return\n this.#stack = this.#stack.slice(0, this.#cur + 1)\n this.#stack.push({\n state,\n title,\n url\n })\n this.#cur = this.length - 1\n\n this.#location.trigger('__set_href_without_history__', url)\n }\n\n replaceState (state: any, title: string, url: string) {\n if (!url || !isString(url)) return\n this.#stack[this.#cur] = {\n state,\n title,\n url\n }\n\n this.#location.trigger('__set_href_without_history__', url)\n }\n\n // For debug\n get cache () {\n return cache\n }\n}\n\nexport type { TaroHistory }\nexport const History: typeof TaroHistory = process.env.TARO_PLATFORM === 'web' ? env.window.History : TaroHistory\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import { Events } from '@tarojs/shared';
2
+ import { RuntimeCache } from '../utils/cache.js';
3
+
4
+ type Options = {
5
+ window: any;
6
+ };
7
+ type LocationContext = {
8
+ lastHref: string;
9
+ };
10
+ declare class TaroLocation extends Events {
11
+ #private;
12
+ constructor(options: Options);
13
+ get protocol(): string;
14
+ set protocol(val: string);
15
+ get host(): string;
16
+ set host(val: string);
17
+ get hostname(): string;
18
+ set hostname(val: string);
19
+ get port(): string;
20
+ set port(val: string);
21
+ get pathname(): string;
22
+ set pathname(val: string);
23
+ get search(): string;
24
+ set search(val: string);
25
+ get hash(): string;
26
+ set hash(val: string);
27
+ get href(): string;
28
+ set href(val: string);
29
+ get origin(): string;
30
+ set origin(val: string);
31
+ assign(): void;
32
+ reload(): void;
33
+ replace(url: string): void;
34
+ toString(): string;
35
+ get cache(): RuntimeCache<LocationContext>;
36
+ }
37
+
38
+ declare const Location: typeof TaroLocation;
39
+
40
+ export { Location, TaroLocation };