@weapp-vite/web 1.3.14 → 1.3.16

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 (242) hide show
  1. package/dist/_virtual/_rolldown/runtime.mjs +18 -0
  2. package/dist/compiler/wxml/attributes.mjs +93 -0
  3. package/dist/compiler/wxml/attributes.mjs.map +1 -0
  4. package/dist/compiler/wxml/compile.mjs +158 -0
  5. package/dist/compiler/wxml/compile.mjs.map +1 -0
  6. package/dist/compiler/wxml/dependency.mjs +31 -0
  7. package/dist/compiler/wxml/dependency.mjs.map +1 -0
  8. package/dist/compiler/wxml/interpolation.mjs +142 -0
  9. package/dist/compiler/wxml/interpolation.mjs.map +1 -0
  10. package/dist/compiler/wxml/navigation.mjs +85 -0
  11. package/dist/compiler/wxml/navigation.mjs.map +1 -0
  12. package/dist/compiler/wxml/parser.mjs +41 -0
  13. package/dist/compiler/wxml/parser.mjs.map +1 -0
  14. package/dist/compiler/wxml/renderer.mjs +114 -0
  15. package/dist/compiler/wxml/renderer.mjs.map +1 -0
  16. package/dist/compiler/wxml/specialNodes.mjs +84 -0
  17. package/dist/compiler/wxml/specialNodes.mjs.map +1 -0
  18. package/dist/compiler/wxs.mjs +83 -0
  19. package/dist/compiler/wxs.mjs.map +1 -0
  20. package/dist/css/wxss.d.mts +25 -0
  21. package/dist/css/wxss.mjs +17 -0
  22. package/dist/css/wxss.mjs.map +1 -0
  23. package/dist/index.d.mts +18 -2
  24. package/dist/index.mjs +18 -3
  25. package/dist/plugin/constants.mjs +43 -0
  26. package/dist/plugin/constants.mjs.map +1 -0
  27. package/dist/plugin/entry.mjs +29 -0
  28. package/dist/plugin/entry.mjs.map +1 -0
  29. package/dist/plugin/files.mjs +58 -0
  30. package/dist/plugin/files.mjs.map +1 -0
  31. package/dist/plugin/index.d.mts +33 -0
  32. package/dist/plugin/index.mjs +188 -0
  33. package/dist/plugin/index.mjs.map +1 -0
  34. package/dist/plugin/navigation.mjs +20 -0
  35. package/dist/plugin/navigation.mjs.map +1 -0
  36. package/dist/plugin/path.mjs +85 -0
  37. package/dist/plugin/path.mjs.map +1 -0
  38. package/dist/plugin/register.mjs +83 -0
  39. package/dist/plugin/register.mjs.map +1 -0
  40. package/dist/plugin/scan.mjs +195 -0
  41. package/dist/plugin/scan.mjs.map +1 -0
  42. package/dist/plugin/scanConfig.mjs +45 -0
  43. package/dist/plugin/scanConfig.mjs.map +1 -0
  44. package/dist/plugin/state.mjs +22 -0
  45. package/dist/plugin/state.mjs.map +1 -0
  46. package/dist/plugin/types.d.mts +46 -0
  47. package/dist/plugin.d.mts +3 -2
  48. package/dist/plugin.mjs +3 -2
  49. package/dist/runtime/button/helpers.mjs +92 -0
  50. package/dist/runtime/button/helpers.mjs.map +1 -0
  51. package/dist/runtime/button/index.d.mts +9 -0
  52. package/dist/runtime/button/index.mjs +198 -0
  53. package/dist/runtime/button/index.mjs.map +1 -0
  54. package/dist/runtime/button/style.mjs +168 -0
  55. package/dist/runtime/button/style.mjs.map +1 -0
  56. package/dist/runtime/component/behavior.mjs +98 -0
  57. package/dist/runtime/component/behavior.mjs.map +1 -0
  58. package/dist/runtime/component/constants.mjs +8 -0
  59. package/dist/runtime/component/constants.mjs.map +1 -0
  60. package/dist/runtime/component/dom.mjs +26 -0
  61. package/dist/runtime/component/dom.mjs.map +1 -0
  62. package/dist/runtime/component/element.mjs +208 -0
  63. package/dist/runtime/component/element.mjs.map +1 -0
  64. package/dist/runtime/component/events.mjs +48 -0
  65. package/dist/runtime/component/events.mjs.map +1 -0
  66. package/dist/runtime/component/index.d.mts +7 -0
  67. package/dist/runtime/component/index.mjs +44 -0
  68. package/dist/runtime/component/index.mjs.map +1 -0
  69. package/dist/runtime/component/state.mjs +63 -0
  70. package/dist/runtime/component/state.mjs.map +1 -0
  71. package/dist/runtime/component/types.d.mts +49 -0
  72. package/dist/runtime/component/utils.mjs +39 -0
  73. package/dist/runtime/component/utils.mjs.map +1 -0
  74. package/dist/runtime/execution.d.mts +7 -0
  75. package/dist/runtime/execution.mjs +37 -0
  76. package/dist/runtime/execution.mjs.map +1 -0
  77. package/dist/runtime/index.d.mts +16 -2
  78. package/dist/runtime/index.mjs +16 -2
  79. package/dist/runtime/legacyTemplate/dom.mjs +131 -0
  80. package/dist/runtime/legacyTemplate/dom.mjs.map +1 -0
  81. package/dist/runtime/legacyTemplate/expression.mjs +113 -0
  82. package/dist/runtime/legacyTemplate/expression.mjs.map +1 -0
  83. package/dist/runtime/legacyTemplate/index.d.mts +9 -0
  84. package/dist/runtime/legacyTemplate/index.mjs +131 -0
  85. package/dist/runtime/legacyTemplate/index.mjs.map +1 -0
  86. package/dist/runtime/legacyTemplate/types.d.mts +6 -0
  87. package/dist/runtime/navigationBar/index.d.mts +10 -0
  88. package/dist/runtime/navigationBar/index.mjs +162 -0
  89. package/dist/runtime/navigationBar/index.mjs.map +1 -0
  90. package/dist/runtime/navigationBar/style.mjs +108 -0
  91. package/dist/runtime/navigationBar/style.mjs.map +1 -0
  92. package/dist/runtime/polyfill/ad.mjs +150 -0
  93. package/dist/runtime/polyfill/ad.mjs.map +1 -0
  94. package/dist/runtime/polyfill/appState.mjs +31 -0
  95. package/dist/runtime/polyfill/appState.mjs.map +1 -0
  96. package/dist/runtime/polyfill/async.mjs +31 -0
  97. package/dist/runtime/polyfill/async.mjs.map +1 -0
  98. package/dist/runtime/polyfill/auth.mjs +120 -0
  99. package/dist/runtime/polyfill/auth.mjs.map +1 -0
  100. package/dist/runtime/polyfill/authApi.mjs +101 -0
  101. package/dist/runtime/polyfill/authApi.mjs.map +1 -0
  102. package/dist/runtime/polyfill/background.mjs +31 -0
  103. package/dist/runtime/polyfill/background.mjs.map +1 -0
  104. package/dist/runtime/polyfill/canvasContext.mjs +115 -0
  105. package/dist/runtime/polyfill/canvasContext.mjs.map +1 -0
  106. package/dist/runtime/polyfill/capability.mjs +17 -0
  107. package/dist/runtime/polyfill/capability.mjs.map +1 -0
  108. package/dist/runtime/polyfill/cloud.mjs +39 -0
  109. package/dist/runtime/polyfill/cloud.mjs.map +1 -0
  110. package/dist/runtime/polyfill/device.mjs +44 -0
  111. package/dist/runtime/polyfill/device.mjs.map +1 -0
  112. package/dist/runtime/polyfill/deviceApi.mjs +31 -0
  113. package/dist/runtime/polyfill/deviceApi.mjs.map +1 -0
  114. package/dist/runtime/polyfill/deviceAuthSystemApi.d.mts +102 -0
  115. package/dist/runtime/polyfill/deviceAuthSystemApi.mjs +144 -0
  116. package/dist/runtime/polyfill/deviceAuthSystemApi.mjs.map +1 -0
  117. package/dist/runtime/polyfill/filePicker.mjs +158 -0
  118. package/dist/runtime/polyfill/filePicker.mjs.map +1 -0
  119. package/dist/runtime/polyfill/fileSystemManager.mjs +45 -0
  120. package/dist/runtime/polyfill/fileSystemManager.mjs.map +1 -0
  121. package/dist/runtime/polyfill/files.mjs +118 -0
  122. package/dist/runtime/polyfill/files.mjs.map +1 -0
  123. package/dist/runtime/polyfill/index.d.mts +40 -0
  124. package/dist/runtime/polyfill/index.mjs +99 -0
  125. package/dist/runtime/polyfill/index.mjs.map +1 -0
  126. package/dist/runtime/polyfill/interaction.mjs +38 -0
  127. package/dist/runtime/polyfill/interaction.mjs.map +1 -0
  128. package/dist/runtime/polyfill/interactionApi.mjs +54 -0
  129. package/dist/runtime/polyfill/interactionApi.mjs.map +1 -0
  130. package/dist/runtime/polyfill/location.mjs +106 -0
  131. package/dist/runtime/polyfill/location.mjs.map +1 -0
  132. package/dist/runtime/polyfill/locationApi.mjs +120 -0
  133. package/dist/runtime/polyfill/locationApi.mjs.map +1 -0
  134. package/dist/runtime/polyfill/mediaActions.mjs +52 -0
  135. package/dist/runtime/polyfill/mediaActions.mjs.map +1 -0
  136. package/dist/runtime/polyfill/mediaApi/file.mjs +63 -0
  137. package/dist/runtime/polyfill/mediaApi/file.mjs.map +1 -0
  138. package/dist/runtime/polyfill/mediaApi/info.mjs +59 -0
  139. package/dist/runtime/polyfill/mediaApi/info.mjs.map +1 -0
  140. package/dist/runtime/polyfill/mediaApi/picker.mjs +82 -0
  141. package/dist/runtime/polyfill/mediaApi/picker.mjs.map +1 -0
  142. package/dist/runtime/polyfill/mediaApi/preview.mjs +39 -0
  143. package/dist/runtime/polyfill/mediaApi/preview.mjs.map +1 -0
  144. package/dist/runtime/polyfill/mediaApi/process.mjs +46 -0
  145. package/dist/runtime/polyfill/mediaApi/process.mjs.map +1 -0
  146. package/dist/runtime/polyfill/mediaInfo.mjs +136 -0
  147. package/dist/runtime/polyfill/mediaInfo.mjs.map +1 -0
  148. package/dist/runtime/polyfill/mediaPicker.mjs +213 -0
  149. package/dist/runtime/polyfill/mediaPicker.mjs.map +1 -0
  150. package/dist/runtime/polyfill/mediaProcess.mjs +65 -0
  151. package/dist/runtime/polyfill/mediaProcess.mjs.map +1 -0
  152. package/dist/runtime/polyfill/menuApi.mjs +70 -0
  153. package/dist/runtime/polyfill/menuApi.mjs.map +1 -0
  154. package/dist/runtime/polyfill/navigationBarRuntime.mjs +65 -0
  155. package/dist/runtime/polyfill/navigationBarRuntime.mjs.map +1 -0
  156. package/dist/runtime/polyfill/network/request.mjs +162 -0
  157. package/dist/runtime/polyfill/network/request.mjs.map +1 -0
  158. package/dist/runtime/polyfill/network/requestBridge.mjs +49 -0
  159. package/dist/runtime/polyfill/network/requestBridge.mjs.map +1 -0
  160. package/dist/runtime/polyfill/network/status.mjs +55 -0
  161. package/dist/runtime/polyfill/network/status.mjs.map +1 -0
  162. package/dist/runtime/polyfill/platformApi.mjs +33 -0
  163. package/dist/runtime/polyfill/platformApi.mjs.map +1 -0
  164. package/dist/runtime/polyfill/platformRuntime.mjs +120 -0
  165. package/dist/runtime/polyfill/platformRuntime.mjs.map +1 -0
  166. package/dist/runtime/polyfill/routeRuntime/dom.mjs +36 -0
  167. package/dist/runtime/polyfill/routeRuntime/dom.mjs.map +1 -0
  168. package/dist/runtime/polyfill/routeRuntime/lifecycle.mjs +83 -0
  169. package/dist/runtime/polyfill/routeRuntime/lifecycle.mjs.map +1 -0
  170. package/dist/runtime/polyfill/routeRuntime/options.d.mts +33 -0
  171. package/dist/runtime/polyfill/routeRuntime/options.mjs +76 -0
  172. package/dist/runtime/polyfill/routeRuntime/options.mjs.map +1 -0
  173. package/dist/runtime/polyfill/routeRuntime/url.mjs +35 -0
  174. package/dist/runtime/polyfill/routeRuntime/url.mjs.map +1 -0
  175. package/dist/runtime/polyfill/routeRuntime.d.mts +43 -0
  176. package/dist/runtime/polyfill/routeRuntime.mjs +202 -0
  177. package/dist/runtime/polyfill/routeRuntime.mjs.map +1 -0
  178. package/dist/runtime/polyfill/runtimeCapabilityApi.mjs +26 -0
  179. package/dist/runtime/polyfill/runtimeCapabilityApi.mjs.map +1 -0
  180. package/dist/runtime/polyfill/runtimeDataApi.d.mts +79 -0
  181. package/dist/runtime/polyfill/runtimeDataApi.mjs +134 -0
  182. package/dist/runtime/polyfill/runtimeDataApi.mjs.map +1 -0
  183. package/dist/runtime/polyfill/runtimeInfra.mjs +40 -0
  184. package/dist/runtime/polyfill/runtimeInfra.mjs.map +1 -0
  185. package/dist/runtime/polyfill/runtimeOps.mjs +62 -0
  186. package/dist/runtime/polyfill/runtimeOps.mjs.map +1 -0
  187. package/dist/runtime/polyfill/selectorQuery.mjs +204 -0
  188. package/dist/runtime/polyfill/selectorQuery.mjs.map +1 -0
  189. package/dist/runtime/polyfill/storage.mjs +103 -0
  190. package/dist/runtime/polyfill/storage.mjs.map +1 -0
  191. package/dist/runtime/polyfill/storageAsync.mjs +62 -0
  192. package/dist/runtime/polyfill/storageAsync.mjs.map +1 -0
  193. package/dist/runtime/polyfill/subscribe.mjs +30 -0
  194. package/dist/runtime/polyfill/subscribe.mjs.map +1 -0
  195. package/dist/runtime/polyfill/system.mjs +111 -0
  196. package/dist/runtime/polyfill/system.mjs.map +1 -0
  197. package/dist/runtime/polyfill/systemApi.mjs +65 -0
  198. package/dist/runtime/polyfill/systemApi.mjs.map +1 -0
  199. package/dist/runtime/polyfill/types/base.d.mts +12 -0
  200. package/dist/runtime/polyfill/types/common.d.mts +126 -0
  201. package/dist/runtime/polyfill/types/locationRuntime.d.mts +151 -0
  202. package/dist/runtime/polyfill/types/mediaAuth.d.mts +152 -0
  203. package/dist/runtime/polyfill/types/platformRuntime.d.mts +141 -0
  204. package/dist/runtime/polyfill/types/systemAuth.d.mts +122 -0
  205. package/dist/runtime/polyfill/ui.mjs +135 -0
  206. package/dist/runtime/polyfill/ui.mjs.map +1 -0
  207. package/dist/runtime/polyfill/uiFeedback.mjs +35 -0
  208. package/dist/runtime/polyfill/uiFeedback.mjs.map +1 -0
  209. package/dist/runtime/polyfill/uiMediaApi.d.mts +172 -0
  210. package/dist/runtime/polyfill/uiMediaApi.mjs +162 -0
  211. package/dist/runtime/polyfill/uiMediaApi.mjs.map +1 -0
  212. package/dist/runtime/polyfill/videoContext.mjs +56 -0
  213. package/dist/runtime/polyfill/videoContext.mjs.map +1 -0
  214. package/dist/runtime/polyfill/vkSession.mjs +58 -0
  215. package/dist/runtime/polyfill/vkSession.mjs.map +1 -0
  216. package/dist/runtime/polyfill/windowResize.mjs +39 -0
  217. package/dist/runtime/polyfill/windowResize.mjs.map +1 -0
  218. package/dist/runtime/polyfill/worker.mjs +77 -0
  219. package/dist/runtime/polyfill/worker.mjs.map +1 -0
  220. package/dist/runtime/polyfill.d.mts +5 -0
  221. package/dist/runtime/renderContext.d.mts +21 -0
  222. package/dist/runtime/renderContext.mjs +147 -0
  223. package/dist/runtime/renderContext.mjs.map +1 -0
  224. package/dist/runtime/rpx.d.mts +9 -0
  225. package/dist/runtime/rpx.mjs +27 -0
  226. package/dist/runtime/rpx.mjs.map +1 -0
  227. package/dist/runtime/style.d.mts +6 -0
  228. package/dist/runtime/style.mjs +37 -0
  229. package/dist/runtime/style.mjs.map +1 -0
  230. package/dist/runtime/template.d.mts +10 -0
  231. package/dist/runtime/warning.d.mts +10 -0
  232. package/dist/runtime/warning.mjs +43 -0
  233. package/dist/runtime/warning.mjs.map +1 -0
  234. package/dist/{slugify-B4l45KNs.mjs → shared/slugify.mjs} +3 -1
  235. package/dist/shared/slugify.mjs.map +1 -0
  236. package/dist/shared/wxml.mjs +64 -0
  237. package/dist/shared/wxml.mjs.map +1 -0
  238. package/package.json +2 -2
  239. package/dist/index-w9xxIH-l.d.mts +0 -1229
  240. package/dist/plugin-BARxSPO8.mjs +0 -1567
  241. package/dist/plugin-DP2iPVmw.d.mts +0 -96
  242. package/dist/runtime-D6j2_x_N.mjs +0 -6251
@@ -0,0 +1,122 @@
1
+ import { WxAsyncOptions, WxBaseResult } from "./base.mjs";
2
+
3
+ //#region src/runtime/polyfill/types/systemAuth.d.ts
4
+ interface SystemInfo {
5
+ brand: string;
6
+ model: string;
7
+ pixelRatio: number;
8
+ screenWidth: number;
9
+ screenHeight: number;
10
+ windowWidth: number;
11
+ windowHeight: number;
12
+ statusBarHeight: number;
13
+ language: string;
14
+ version: string;
15
+ system: string;
16
+ platform: string;
17
+ }
18
+ interface AppBaseInfo {
19
+ SDKVersion: string;
20
+ language: string;
21
+ version: string;
22
+ platform: string;
23
+ enableDebug: boolean;
24
+ theme: 'light' | 'dark';
25
+ }
26
+ interface MenuButtonBoundingClientRect {
27
+ width: number;
28
+ height: number;
29
+ top: number;
30
+ right: number;
31
+ bottom: number;
32
+ left: number;
33
+ }
34
+ interface WindowInfo {
35
+ pixelRatio: number;
36
+ screenWidth: number;
37
+ screenHeight: number;
38
+ windowWidth: number;
39
+ windowHeight: number;
40
+ statusBarHeight: number;
41
+ screenTop: number;
42
+ safeArea: {
43
+ left: number;
44
+ right: number;
45
+ top: number;
46
+ bottom: number;
47
+ width: number;
48
+ height: number;
49
+ };
50
+ }
51
+ interface DeviceInfo {
52
+ brand: string;
53
+ model: string;
54
+ system: string;
55
+ platform: string;
56
+ memorySize: number;
57
+ benchmarkLevel: number;
58
+ abi: string;
59
+ deviceOrientation: 'portrait' | 'landscape';
60
+ }
61
+ interface SystemSetting {
62
+ bluetoothEnabled: boolean;
63
+ wifiEnabled: boolean;
64
+ locationEnabled: boolean;
65
+ locationReducedAccuracy: boolean;
66
+ deviceOrientation: 'portrait' | 'landscape';
67
+ }
68
+ type AppAuthorizeStatus = 'authorized' | 'denied' | 'not determined';
69
+ interface AppAuthorizeSetting {
70
+ albumAuthorized: AppAuthorizeStatus;
71
+ bluetoothAuthorized: AppAuthorizeStatus;
72
+ cameraAuthorized: AppAuthorizeStatus;
73
+ locationAuthorized: AppAuthorizeStatus;
74
+ microphoneAuthorized: AppAuthorizeStatus;
75
+ notificationAuthorized: AppAuthorizeStatus;
76
+ phoneCalendarAuthorized: AppAuthorizeStatus;
77
+ }
78
+ interface OpenAppAuthorizeSettingSuccessResult extends WxBaseResult, AppAuthorizeSetting {}
79
+ interface OpenAppAuthorizeSettingOptions extends WxAsyncOptions<OpenAppAuthorizeSettingSuccessResult> {}
80
+ interface LoginSuccessResult extends WxBaseResult {
81
+ code: string;
82
+ }
83
+ interface LoginOptions extends WxAsyncOptions<LoginSuccessResult> {
84
+ timeout?: number;
85
+ }
86
+ interface CheckSessionOptions extends WxAsyncOptions<WxBaseResult> {}
87
+ interface UserInfo {
88
+ nickName: string;
89
+ avatarUrl: string;
90
+ gender: 0 | 1 | 2;
91
+ country: string;
92
+ province: string;
93
+ city: string;
94
+ language: string;
95
+ }
96
+ interface UserProfileSuccessResult extends WxBaseResult {
97
+ userInfo: UserInfo;
98
+ rawData: string;
99
+ signature: string;
100
+ encryptedData: string;
101
+ iv: string;
102
+ }
103
+ interface GetUserInfoOptions extends WxAsyncOptions<UserProfileSuccessResult> {
104
+ lang?: 'en' | 'zh_CN' | 'zh_TW';
105
+ }
106
+ interface GetUserProfileOptions extends WxAsyncOptions<UserProfileSuccessResult> {
107
+ desc?: string;
108
+ lang?: 'en' | 'zh_CN' | 'zh_TW';
109
+ }
110
+ interface AccountInfoSync {
111
+ miniProgram: {
112
+ appId: string;
113
+ envVersion: 'develop' | 'trial' | 'release';
114
+ version: string;
115
+ };
116
+ plugin: Record<string, unknown>;
117
+ }
118
+ interface GetSystemInfoSuccessResult extends WxBaseResult, SystemInfo {}
119
+ interface GetSystemInfoOptions extends WxAsyncOptions<GetSystemInfoSuccessResult> {}
120
+ //#endregion
121
+ export { AccountInfoSync, AppAuthorizeSetting, AppBaseInfo, CheckSessionOptions, DeviceInfo, GetSystemInfoOptions, GetUserInfoOptions, GetUserProfileOptions, LoginOptions, MenuButtonBoundingClientRect, OpenAppAuthorizeSettingOptions, SystemInfo, SystemSetting, WindowInfo };
122
+ //# sourceMappingURL=systemAuth.d.mts.map
@@ -0,0 +1,135 @@
1
+ import { WEAPP_VITE_WEB_ACTION_SHEET_SELECT_INDEX_KEY } from "@weapp-core/constants";
2
+
3
+ //#region src/runtime/polyfill/ui.ts
4
+ const TOAST_ID = "__weapp_vite_web_toast__";
5
+ const TOAST_SELECTOR = `#${TOAST_ID}`;
6
+ const LOADING_ID = "__weapp_vite_web_loading__";
7
+ const LOADING_SELECTOR = `#${LOADING_ID}`;
8
+ function getGlobalDialogHandlers() {
9
+ const runtimeGlobal = globalThis;
10
+ return {
11
+ confirm: runtimeGlobal.confirm,
12
+ alert: runtimeGlobal.alert,
13
+ prompt: runtimeGlobal.prompt
14
+ };
15
+ }
16
+ function getToastElement() {
17
+ if (typeof document === "undefined") return;
18
+ const existing = document.querySelector(TOAST_SELECTOR);
19
+ if (existing) return existing;
20
+ const toast = document.createElement("div");
21
+ toast.setAttribute("id", TOAST_ID);
22
+ toast.setAttribute("data-weapp-web-toast", "true");
23
+ toast.setAttribute("hidden", "true");
24
+ toast.setAttribute("role", "status");
25
+ toast.setAttribute("aria-live", "polite");
26
+ if (!document.body) return;
27
+ document.body.append(toast);
28
+ return toast;
29
+ }
30
+ function setToastVisible(toast, visible) {
31
+ if (visible) toast.removeAttribute("hidden");
32
+ else toast.setAttribute("hidden", "true");
33
+ toast.setAttribute("style", [
34
+ "position: fixed",
35
+ "left: 50%",
36
+ "top: 15%",
37
+ "transform: translate(-50%, 0)",
38
+ "max-width: min(560px, 90vw)",
39
+ "padding: 10px 14px",
40
+ "border-radius: 8px",
41
+ "background: rgba(17, 24, 39, 0.9)",
42
+ "color: #ffffff",
43
+ "font-size: 14px",
44
+ "line-height: 1.5",
45
+ "text-align: center",
46
+ "pointer-events: none",
47
+ "z-index: 2147483646",
48
+ `opacity: ${visible ? "1" : "0"}`
49
+ ].join(";"));
50
+ }
51
+ function hideToastElement() {
52
+ const toast = getToastElement();
53
+ if (!toast) return;
54
+ setToastVisible(toast, false);
55
+ }
56
+ function resolveToastPrefix(icon) {
57
+ if (icon === "none") return "";
58
+ if (icon === "error") return "[error] ";
59
+ return "[ok] ";
60
+ }
61
+ function getLoadingElement() {
62
+ if (typeof document === "undefined") return;
63
+ const existing = document.querySelector(LOADING_SELECTOR);
64
+ if (existing) return existing;
65
+ if (!document.body) return;
66
+ const loading = document.createElement("div");
67
+ loading.setAttribute("id", LOADING_ID);
68
+ loading.setAttribute("data-weapp-web-loading", "true");
69
+ loading.setAttribute("hidden", "true");
70
+ loading.setAttribute("role", "status");
71
+ loading.setAttribute("aria-live", "polite");
72
+ document.body.append(loading);
73
+ return loading;
74
+ }
75
+ function setLoadingVisible(loading, visible, title, mask) {
76
+ if (visible) loading.removeAttribute("hidden");
77
+ else loading.setAttribute("hidden", "true");
78
+ loading.textContent = title;
79
+ loading.setAttribute("style", [
80
+ "position: fixed",
81
+ "left: 50%",
82
+ "top: 45%",
83
+ "transform: translate(-50%, -50%)",
84
+ "min-width: 120px",
85
+ "max-width: min(560px, 90vw)",
86
+ "padding: 14px 18px",
87
+ "border-radius: 10px",
88
+ "background: rgba(17, 24, 39, 0.92)",
89
+ "color: #ffffff",
90
+ "font-size: 14px",
91
+ "line-height: 1.5",
92
+ "text-align: center",
93
+ `pointer-events: ${mask ? "auto" : "none"}`,
94
+ "z-index: 2147483647",
95
+ `opacity: ${visible ? "1" : "0"}`,
96
+ `box-shadow: ${mask ? "0 0 0 99999px rgba(0, 0, 0, 0.28)" : "none"}`
97
+ ].join(";"));
98
+ }
99
+ function resolveActionSheetSelection(itemList) {
100
+ const preset = globalThis[WEAPP_VITE_WEB_ACTION_SHEET_SELECT_INDEX_KEY];
101
+ if (typeof preset === "function") {
102
+ const result = preset(itemList);
103
+ if (Number.isInteger(result) && result >= 0 && result < itemList.length) return result;
104
+ }
105
+ if (Number.isInteger(preset) && preset >= 0 && preset < itemList.length) return preset;
106
+ const { prompt } = getGlobalDialogHandlers();
107
+ if (typeof prompt === "function") {
108
+ const input = prompt(["请选择操作:", ...itemList.map((item, index) => `[${index}] ${item}`)].join("\n"), "0");
109
+ if (input === null) return null;
110
+ const parsed = Number.parseInt(String(input), 10);
111
+ if (Number.isInteger(parsed) && parsed >= 0 && parsed < itemList.length) return parsed;
112
+ }
113
+ return 0;
114
+ }
115
+ function resolveModalSelection(options) {
116
+ const message = [options?.title?.trim() ?? "", options?.content?.trim() ?? ""].filter(Boolean).join("\n\n") || " ";
117
+ const showCancel = options?.showCancel !== false;
118
+ const { confirm, alert } = getGlobalDialogHandlers();
119
+ let confirmed = true;
120
+ if (showCancel) {
121
+ if (typeof confirm === "function") confirmed = confirm(message);
122
+ } else if (typeof alert === "function") alert(message);
123
+ return {
124
+ confirm: confirmed,
125
+ cancel: !confirmed
126
+ };
127
+ }
128
+ function normalizeActionSheetItems(itemList) {
129
+ if (!Array.isArray(itemList)) return [];
130
+ return itemList.map((item) => String(item ?? "").trim()).filter(Boolean);
131
+ }
132
+
133
+ //#endregion
134
+ export { getGlobalDialogHandlers, getLoadingElement, getToastElement, hideToastElement, normalizeActionSheetItems, resolveActionSheetSelection, resolveModalSelection, resolveToastPrefix, setLoadingVisible, setToastVisible };
135
+ //# sourceMappingURL=ui.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.mjs","names":[],"sources":["../../../src/runtime/polyfill/ui.ts"],"sourcesContent":["import { WEAPP_VITE_WEB_ACTION_SHEET_SELECT_INDEX_KEY } from '@weapp-core/constants'\n\nconst TOAST_ID = '__weapp_vite_web_toast__'\nconst TOAST_SELECTOR = `#${TOAST_ID}`\nconst LOADING_ID = '__weapp_vite_web_loading__'\nconst LOADING_SELECTOR = `#${LOADING_ID}`\n\nexport function getGlobalDialogHandlers() {\n const runtimeGlobal = globalThis as Record<string, unknown>\n return {\n confirm: runtimeGlobal.confirm as ((message?: string) => boolean) | undefined,\n alert: runtimeGlobal.alert as ((message?: string) => void) | undefined,\n prompt: runtimeGlobal.prompt as ((message?: string, defaultValue?: string) => string | null) | undefined,\n }\n}\n\nexport function getToastElement() {\n if (typeof document === 'undefined') {\n return undefined\n }\n const existing = document.querySelector(TOAST_SELECTOR) as HTMLElement | null\n if (existing) {\n return existing\n }\n const toast = document.createElement('div')\n toast.setAttribute('id', TOAST_ID)\n toast.setAttribute('data-weapp-web-toast', 'true')\n toast.setAttribute('hidden', 'true')\n toast.setAttribute('role', 'status')\n toast.setAttribute('aria-live', 'polite')\n if (!document.body) {\n return undefined\n }\n document.body.append(toast)\n return toast\n}\n\nexport function setToastVisible(toast: HTMLElement, visible: boolean) {\n if (visible) {\n toast.removeAttribute('hidden')\n }\n else {\n toast.setAttribute('hidden', 'true')\n }\n toast.setAttribute('style', [\n 'position: fixed',\n 'left: 50%',\n 'top: 15%',\n 'transform: translate(-50%, 0)',\n 'max-width: min(560px, 90vw)',\n 'padding: 10px 14px',\n 'border-radius: 8px',\n 'background: rgba(17, 24, 39, 0.9)',\n 'color: #ffffff',\n 'font-size: 14px',\n 'line-height: 1.5',\n 'text-align: center',\n 'pointer-events: none',\n 'z-index: 2147483646',\n `opacity: ${visible ? '1' : '0'}`,\n ].join(';'))\n}\n\nexport function hideToastElement() {\n const toast = getToastElement()\n if (!toast) {\n return\n }\n setToastVisible(toast, false)\n}\n\nexport function resolveToastPrefix(icon: 'success' | 'error' | 'none' | undefined) {\n if (icon === 'none') {\n return ''\n }\n if (icon === 'error') {\n return '[error] '\n }\n return '[ok] '\n}\n\nexport function getLoadingElement() {\n if (typeof document === 'undefined') {\n return undefined\n }\n const existing = document.querySelector(LOADING_SELECTOR) as HTMLElement | null\n if (existing) {\n return existing\n }\n if (!document.body) {\n return undefined\n }\n const loading = document.createElement('div')\n loading.setAttribute('id', LOADING_ID)\n loading.setAttribute('data-weapp-web-loading', 'true')\n loading.setAttribute('hidden', 'true')\n loading.setAttribute('role', 'status')\n loading.setAttribute('aria-live', 'polite')\n document.body.append(loading)\n return loading\n}\n\nexport function setLoadingVisible(\n loading: HTMLElement,\n visible: boolean,\n title: string,\n mask: boolean,\n) {\n if (visible) {\n loading.removeAttribute('hidden')\n }\n else {\n loading.setAttribute('hidden', 'true')\n }\n loading.textContent = title\n loading.setAttribute('style', [\n 'position: fixed',\n 'left: 50%',\n 'top: 45%',\n 'transform: translate(-50%, -50%)',\n 'min-width: 120px',\n 'max-width: min(560px, 90vw)',\n 'padding: 14px 18px',\n 'border-radius: 10px',\n 'background: rgba(17, 24, 39, 0.92)',\n 'color: #ffffff',\n 'font-size: 14px',\n 'line-height: 1.5',\n 'text-align: center',\n `pointer-events: ${mask ? 'auto' : 'none'}`,\n 'z-index: 2147483647',\n `opacity: ${visible ? '1' : '0'}`,\n `box-shadow: ${mask ? '0 0 0 99999px rgba(0, 0, 0, 0.28)' : 'none'}`,\n ].join(';'))\n}\n\nexport function resolveActionSheetSelection(itemList: string[]) {\n const runtimeGlobal = globalThis as Record<string, unknown>\n const preset = runtimeGlobal[WEAPP_VITE_WEB_ACTION_SHEET_SELECT_INDEX_KEY]\n if (typeof preset === 'function') {\n const result = preset(itemList)\n if (Number.isInteger(result) && result >= 0 && result < itemList.length) {\n return result\n }\n }\n if (Number.isInteger(preset) && (preset as number) >= 0 && (preset as number) < itemList.length) {\n return preset as number\n }\n const { prompt } = getGlobalDialogHandlers()\n if (typeof prompt === 'function') {\n const lines = itemList.map((item, index) => `[${index}] ${item}`)\n const input = prompt(['请选择操作:', ...lines].join('\\n'), '0')\n if (input === null) {\n return null\n }\n const parsed = Number.parseInt(String(input), 10)\n if (Number.isInteger(parsed) && parsed >= 0 && parsed < itemList.length) {\n return parsed\n }\n }\n return 0\n}\n\nexport function resolveModalSelection(options?: {\n title?: string\n content?: string\n showCancel?: boolean\n}) {\n const title = options?.title?.trim() ?? ''\n const content = options?.content?.trim() ?? ''\n const message = [title, content].filter(Boolean).join('\\n\\n') || ' '\n const showCancel = options?.showCancel !== false\n const { confirm, alert } = getGlobalDialogHandlers()\n\n let confirmed = true\n if (showCancel) {\n if (typeof confirm === 'function') {\n confirmed = confirm(message)\n }\n }\n else if (typeof alert === 'function') {\n alert(message)\n }\n\n return {\n confirm: confirmed,\n cancel: !confirmed,\n }\n}\n\nexport function normalizeActionSheetItems(itemList: unknown) {\n if (!Array.isArray(itemList)) {\n return []\n }\n return itemList.map(item => String(item ?? '').trim()).filter(Boolean)\n}\n"],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { callWxAsyncSuccess, normalizeDuration } from "./async.mjs";
2
+ import { getLoadingElement, getToastElement, hideToastElement, resolveToastPrefix, setLoadingVisible, setToastVisible } from "./ui.mjs";
3
+
4
+ //#region src/runtime/polyfill/uiFeedback.ts
5
+ let toastHideTimer;
6
+ function showToastBridge(options) {
7
+ const toast = getToastElement();
8
+ const content = `${resolveToastPrefix(options?.icon)}${options?.title ?? ""}`.trim();
9
+ if (toast) {
10
+ toast.textContent = content;
11
+ setToastVisible(toast, true);
12
+ if (toastHideTimer) clearTimeout(toastHideTimer);
13
+ const duration = normalizeDuration(options?.duration, 1500);
14
+ toastHideTimer = setTimeout(() => {
15
+ hideToastElement();
16
+ toastHideTimer = void 0;
17
+ }, duration);
18
+ }
19
+ const result = callWxAsyncSuccess(options, { errMsg: "showToast:ok" });
20
+ return Promise.resolve(result);
21
+ }
22
+ function showLoadingBridge(options) {
23
+ const loading = getLoadingElement();
24
+ if (loading) setLoadingVisible(loading, true, options?.title?.trim() || "加载中", Boolean(options?.mask));
25
+ return Promise.resolve(callWxAsyncSuccess(options, { errMsg: "showLoading:ok" }));
26
+ }
27
+ function hideLoadingBridge(options) {
28
+ const loading = getLoadingElement();
29
+ if (loading) setLoadingVisible(loading, false, loading.textContent ?? "", false);
30
+ return Promise.resolve(callWxAsyncSuccess(options, { errMsg: "hideLoading:ok" }));
31
+ }
32
+
33
+ //#endregion
34
+ export { hideLoadingBridge, showLoadingBridge, showToastBridge };
35
+ //# sourceMappingURL=uiFeedback.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uiFeedback.mjs","names":[],"sources":["../../../src/runtime/polyfill/uiFeedback.ts"],"sourcesContent":["import {\n callWxAsyncSuccess,\n normalizeDuration,\n} from './async'\nimport {\n getLoadingElement,\n getToastElement,\n hideToastElement,\n resolveToastPrefix,\n setLoadingVisible,\n setToastVisible,\n} from './ui'\n\nlet toastHideTimer: ReturnType<typeof setTimeout> | undefined\n\nexport function showToastBridge(options?: any): Promise<any> {\n const toast = getToastElement()\n const content = `${resolveToastPrefix(options?.icon)}${options?.title ?? ''}`.trim()\n if (toast) {\n toast.textContent = content\n setToastVisible(toast, true)\n if (toastHideTimer) {\n clearTimeout(toastHideTimer)\n }\n const duration = normalizeDuration(options?.duration, 1500)\n toastHideTimer = setTimeout(() => {\n hideToastElement()\n toastHideTimer = undefined\n }, duration)\n }\n const result = callWxAsyncSuccess(options, { errMsg: 'showToast:ok' })\n return Promise.resolve(result)\n}\n\nexport function showLoadingBridge(options?: any): Promise<any> {\n const loading = getLoadingElement()\n if (loading) {\n setLoadingVisible(\n loading,\n true,\n options?.title?.trim() || '加载中',\n Boolean(options?.mask),\n )\n }\n return Promise.resolve(callWxAsyncSuccess(options, { errMsg: 'showLoading:ok' }))\n}\n\nexport function hideLoadingBridge(options?: any): Promise<any> {\n const loading = getLoadingElement()\n if (loading) {\n setLoadingVisible(loading, false, loading.textContent ?? '', false)\n }\n return Promise.resolve(callWxAsyncSuccess(options, { errMsg: 'hideLoading:ok' }))\n}\n"],"mappings":";;;;AAaA,IAAI;AAEJ,SAAgB,gBAAgB,SAA6B;CAC3D,MAAM,QAAQ,iBAAiB;CAC/B,MAAM,UAAU,GAAG,mBAAmB,SAAS,KAAK,GAAG,SAAS,SAAS,KAAK,MAAM;AACpF,KAAI,OAAO;AACT,QAAM,cAAc;AACpB,kBAAgB,OAAO,KAAK;AAC5B,MAAI,eACF,cAAa,eAAe;EAE9B,MAAM,WAAW,kBAAkB,SAAS,UAAU,KAAK;AAC3D,mBAAiB,iBAAiB;AAChC,qBAAkB;AAClB,oBAAiB;KAChB,SAAS;;CAEd,MAAM,SAAS,mBAAmB,SAAS,EAAE,QAAQ,gBAAgB,CAAC;AACtE,QAAO,QAAQ,QAAQ,OAAO;;AAGhC,SAAgB,kBAAkB,SAA6B;CAC7D,MAAM,UAAU,mBAAmB;AACnC,KAAI,QACF,mBACE,SACA,MACA,SAAS,OAAO,MAAM,IAAI,OAC1B,QAAQ,SAAS,KAAK,CACvB;AAEH,QAAO,QAAQ,QAAQ,mBAAmB,SAAS,EAAE,QAAQ,kBAAkB,CAAC,CAAC;;AAGnF,SAAgB,kBAAkB,SAA6B;CAC7D,MAAM,UAAU,mBAAmB;AACnC,KAAI,QACF,mBAAkB,SAAS,OAAO,QAAQ,eAAe,IAAI,MAAM;AAErE,QAAO,QAAQ,QAAQ,mBAAmB,SAAS,EAAE,QAAQ,kBAAkB,CAAC,CAAC"}
@@ -0,0 +1,172 @@
1
+ import { WxAsyncOptions, WxBaseResult } from "./types/base.mjs";
2
+ import { ChooseImageOptions, GetClipboardDataOptions, PreviewImageOptions, SetClipboardDataOptions, ShowToastOptions } from "./types/common.mjs";
3
+ import { ChooseAddressOptions, ChooseLocationOptions, GetImageInfoOptions, MakePhoneCallOptions, OpenCustomerServiceChatOptions, OpenLocationOptions, RequestPaymentOptions, RequestSubscribeMessageOptions, RequestSubscribeMessageSuccessResult, ShareMenuOptions, ShowLoadingOptions, TabBarOptions } from "./types/locationRuntime.mjs";
4
+ import { ChooseFileOptions, ChooseMediaOptions, ChooseMessageFileOptions, ChooseVideoOptions, CompressImageOptions, CompressVideoOptions, GetVideoInfoOptions, OpenVideoEditorOptions, PreviewMediaOptions, SaveFileOptions, SaveFileToDiskOptions, SaveImageToPhotosAlbumOptions, SaveVideoToPhotosAlbumOptions, ScanCodeOptions } from "./types/mediaAuth.mjs";
5
+ import { OpenDocumentOptions, ShowActionSheetOptions, ShowModalOptions } from "./types/platformRuntime.mjs";
6
+
7
+ //#region src/runtime/polyfill/uiMediaApi.d.ts
8
+ declare function showToast(options?: ShowToastOptions): Promise<any>;
9
+ declare function showLoading(options?: ShowLoadingOptions): Promise<any>;
10
+ declare function hideLoading(options?: WxAsyncOptions<WxBaseResult>): Promise<any>;
11
+ declare function showShareMenu(options?: ShareMenuOptions): Promise<any>;
12
+ declare function updateShareMenu(options?: ShareMenuOptions): Promise<any>;
13
+ declare function openCustomerServiceChat(options?: OpenCustomerServiceChatOptions): Promise<{
14
+ errMsg: string;
15
+ }>;
16
+ declare function makePhoneCall(options?: MakePhoneCallOptions): Promise<{
17
+ errMsg: string;
18
+ }>;
19
+ declare function chooseAddress(options?: ChooseAddressOptions): Promise<{
20
+ userName: string;
21
+ postalCode: string;
22
+ provinceName: string;
23
+ cityName: string;
24
+ countyName: string;
25
+ detailInfo: string;
26
+ nationalCode: string;
27
+ telNumber: string;
28
+ errMsg: string;
29
+ }>;
30
+ declare function chooseLocation(options?: ChooseLocationOptions): Promise<{
31
+ name: string;
32
+ address: string;
33
+ latitude: number;
34
+ longitude: number;
35
+ errMsg: string;
36
+ }>;
37
+ declare function openLocation(options?: OpenLocationOptions): Promise<{
38
+ errMsg: string;
39
+ }>;
40
+ declare function getImageInfo(options?: GetImageInfoOptions): Promise<{
41
+ errMsg: string;
42
+ width: number;
43
+ height: number;
44
+ path: any;
45
+ type: string;
46
+ orientation: string;
47
+ }>;
48
+ declare function getVideoInfo(options?: GetVideoInfoOptions): Promise<{
49
+ errMsg: string;
50
+ orientation: string;
51
+ type: string;
52
+ duration: number;
53
+ size: number;
54
+ width: number;
55
+ height: number;
56
+ bitrate: number;
57
+ fps: number;
58
+ }>;
59
+ declare function showTabBar(options?: TabBarOptions): Promise<any>;
60
+ declare function hideTabBar(options?: TabBarOptions): Promise<any>;
61
+ declare function requestPayment(options?: RequestPaymentOptions): Promise<any>;
62
+ declare function requestSubscribeMessage(options?: RequestSubscribeMessageOptions): Promise<RequestSubscribeMessageSuccessResult>;
63
+ declare function showModal(options?: ShowModalOptions): Promise<any>;
64
+ declare function showActionSheet(options?: ShowActionSheetOptions): Promise<any>;
65
+ declare function chooseImage(options?: ChooseImageOptions): Promise<{
66
+ errMsg: string;
67
+ tempFilePaths: string[];
68
+ tempFiles: {
69
+ path: string;
70
+ size: number;
71
+ type: string;
72
+ name: string;
73
+ }[];
74
+ }>;
75
+ declare function chooseMedia(options?: ChooseMediaOptions): Promise<{
76
+ errMsg: string;
77
+ type: "image" | "video";
78
+ tempFiles: {
79
+ tempFilePath: string;
80
+ size: number;
81
+ fileType: "image" | "video";
82
+ width: number;
83
+ height: number;
84
+ duration: number;
85
+ }[];
86
+ }>;
87
+ declare function compressImage(options?: CompressImageOptions): Promise<{
88
+ errMsg: string;
89
+ tempFilePath: string;
90
+ }>;
91
+ declare function compressVideo(options?: CompressVideoOptions): Promise<{
92
+ tempFilePath: any;
93
+ size: number;
94
+ duration: number;
95
+ width: number;
96
+ height: number;
97
+ bitrate: number;
98
+ fps: number;
99
+ errMsg: string;
100
+ }>;
101
+ declare function chooseVideo(options?: ChooseVideoOptions): Promise<{
102
+ tempFilePath: string;
103
+ duration: number;
104
+ size: number;
105
+ height: number;
106
+ width: number;
107
+ errMsg: string;
108
+ }>;
109
+ declare function chooseMessageFile(options?: ChooseMessageFileOptions): Promise<{
110
+ errMsg: string;
111
+ tempFiles: {
112
+ path: string;
113
+ size: number;
114
+ type: string;
115
+ name: string;
116
+ time: number;
117
+ }[];
118
+ }>;
119
+ declare function chooseFile(options?: ChooseFileOptions): Promise<{
120
+ errMsg: string;
121
+ tempFiles: {
122
+ path: string;
123
+ size: number;
124
+ type: string;
125
+ name: string;
126
+ time: number;
127
+ }[];
128
+ }>;
129
+ declare function previewImage(options?: PreviewImageOptions): Promise<{
130
+ errMsg: string;
131
+ }>;
132
+ declare function previewMedia(options?: PreviewMediaOptions): Promise<{
133
+ errMsg: string;
134
+ }>;
135
+ declare function openVideoEditor(options?: OpenVideoEditorOptions): Promise<{
136
+ errMsg: string;
137
+ tempFilePath: any;
138
+ }>;
139
+ declare function saveImageToPhotosAlbum(options?: SaveImageToPhotosAlbumOptions): Promise<{
140
+ errMsg: string;
141
+ }>;
142
+ declare function saveVideoToPhotosAlbum(options?: SaveVideoToPhotosAlbumOptions): Promise<{
143
+ errMsg: string;
144
+ }>;
145
+ declare function saveFile(options?: SaveFileOptions): Promise<{
146
+ errMsg: string;
147
+ savedFilePath: string;
148
+ }>;
149
+ declare function saveFileToDisk(options?: SaveFileToDiskOptions): Promise<{
150
+ errMsg: string;
151
+ }>;
152
+ declare function openDocument(options?: OpenDocumentOptions): Promise<{
153
+ errMsg: string;
154
+ }>;
155
+ declare function scanCode(options?: ScanCodeOptions): Promise<{
156
+ errMsg: string;
157
+ result: string;
158
+ scanType: string;
159
+ charSet: string;
160
+ path: string;
161
+ rawData: string;
162
+ }>;
163
+ declare function setClipboardData(options?: SetClipboardDataOptions): Promise<{
164
+ errMsg: string;
165
+ }>;
166
+ declare function getClipboardData(options?: GetClipboardDataOptions): Promise<{
167
+ errMsg: string;
168
+ data: string;
169
+ }>;
170
+ //#endregion
171
+ export { chooseAddress, chooseFile, chooseImage, chooseLocation, chooseMedia, chooseMessageFile, chooseVideo, compressImage, compressVideo, getClipboardData, getImageInfo, getVideoInfo, hideLoading, hideTabBar, makePhoneCall, openCustomerServiceChat, openDocument, openLocation, openVideoEditor, previewImage, previewMedia, requestPayment, requestSubscribeMessage, saveFile, saveFileToDisk, saveImageToPhotosAlbum, saveVideoToPhotosAlbum, scanCode, setClipboardData, showActionSheet, showLoading, showModal, showShareMenu, showTabBar, showToast, updateShareMenu };
172
+ //# sourceMappingURL=uiMediaApi.d.mts.map
@@ -0,0 +1,162 @@
1
+ import { __exportAll } from "../../_virtual/_rolldown/runtime.mjs";
2
+ import { chooseAddressBridge, chooseLocationBridge, makePhoneCallBridge, openLocationBridge } from "./locationApi.mjs";
3
+ import { hideTabBarBridge, requestPaymentBridge, requestSubscribeMessageBridge, showActionSheetBridge, showModalBridge, showShareMenuBridge, showTabBarBridge, updateShareMenuBridge } from "./menuApi.mjs";
4
+ import { getClipboardDataBridge, openCustomerServiceChatBridge, scanCodeBridge, setClipboardDataBridge } from "./interactionApi.mjs";
5
+ import { openDocumentBridge, saveFileBridge, saveFileToDiskBridge, saveImageToPhotosAlbumBridge, saveVideoToPhotosAlbumBridge } from "./mediaApi/file.mjs";
6
+ import { getImageInfoBridge, getVideoInfoBridge } from "./mediaApi/info.mjs";
7
+ import { chooseFileBridge, chooseImageBridge, chooseMediaBridge, chooseMessageFileBridge, chooseVideoBridge } from "./mediaApi/picker.mjs";
8
+ import { openVideoEditorBridge, previewImageBridge, previewMediaBridge } from "./mediaApi/preview.mjs";
9
+ import { compressImageBridge, compressVideoBridge } from "./mediaApi/process.mjs";
10
+ import { hideLoadingBridge, showLoadingBridge, showToastBridge } from "./uiFeedback.mjs";
11
+
12
+ //#region src/runtime/polyfill/uiMediaApi.ts
13
+ var uiMediaApi_exports = /* @__PURE__ */ __exportAll({
14
+ chooseAddress: () => chooseAddress,
15
+ chooseFile: () => chooseFile,
16
+ chooseImage: () => chooseImage,
17
+ chooseLocation: () => chooseLocation,
18
+ chooseMedia: () => chooseMedia,
19
+ chooseMessageFile: () => chooseMessageFile,
20
+ chooseVideo: () => chooseVideo,
21
+ compressImage: () => compressImage,
22
+ compressVideo: () => compressVideo,
23
+ getClipboardData: () => getClipboardData,
24
+ getImageInfo: () => getImageInfo,
25
+ getVideoInfo: () => getVideoInfo,
26
+ hideLoading: () => hideLoading,
27
+ hideTabBar: () => hideTabBar,
28
+ makePhoneCall: () => makePhoneCall,
29
+ openCustomerServiceChat: () => openCustomerServiceChat,
30
+ openDocument: () => openDocument,
31
+ openLocation: () => openLocation,
32
+ openVideoEditor: () => openVideoEditor,
33
+ previewImage: () => previewImage,
34
+ previewMedia: () => previewMedia,
35
+ requestPayment: () => requestPayment,
36
+ requestSubscribeMessage: () => requestSubscribeMessage,
37
+ saveFile: () => saveFile,
38
+ saveFileToDisk: () => saveFileToDisk,
39
+ saveImageToPhotosAlbum: () => saveImageToPhotosAlbum,
40
+ saveVideoToPhotosAlbum: () => saveVideoToPhotosAlbum,
41
+ scanCode: () => scanCode,
42
+ setClipboardData: () => setClipboardData,
43
+ showActionSheet: () => showActionSheet,
44
+ showLoading: () => showLoading,
45
+ showModal: () => showModal,
46
+ showShareMenu: () => showShareMenu,
47
+ showTabBar: () => showTabBar,
48
+ showToast: () => showToast,
49
+ updateShareMenu: () => updateShareMenu
50
+ });
51
+ function showToast(options) {
52
+ return showToastBridge(options);
53
+ }
54
+ function showLoading(options) {
55
+ return showLoadingBridge(options);
56
+ }
57
+ function hideLoading(options) {
58
+ return hideLoadingBridge(options);
59
+ }
60
+ function showShareMenu(options) {
61
+ return showShareMenuBridge(options);
62
+ }
63
+ function updateShareMenu(options) {
64
+ return updateShareMenuBridge(options);
65
+ }
66
+ function openCustomerServiceChat(options) {
67
+ return openCustomerServiceChatBridge(options);
68
+ }
69
+ function makePhoneCall(options) {
70
+ return makePhoneCallBridge(options);
71
+ }
72
+ function chooseAddress(options) {
73
+ return chooseAddressBridge(options);
74
+ }
75
+ function chooseLocation(options) {
76
+ return chooseLocationBridge(options);
77
+ }
78
+ function openLocation(options) {
79
+ return openLocationBridge(options);
80
+ }
81
+ function getImageInfo(options) {
82
+ return getImageInfoBridge(options);
83
+ }
84
+ function getVideoInfo(options) {
85
+ return getVideoInfoBridge(options);
86
+ }
87
+ function showTabBar(options) {
88
+ return showTabBarBridge(options);
89
+ }
90
+ function hideTabBar(options) {
91
+ return hideTabBarBridge(options);
92
+ }
93
+ function requestPayment(options) {
94
+ return requestPaymentBridge(options);
95
+ }
96
+ function requestSubscribeMessage(options) {
97
+ return requestSubscribeMessageBridge(options);
98
+ }
99
+ function showModal(options) {
100
+ return showModalBridge(options);
101
+ }
102
+ function showActionSheet(options) {
103
+ return showActionSheetBridge(options);
104
+ }
105
+ async function chooseImage(options) {
106
+ return chooseImageBridge(options);
107
+ }
108
+ async function chooseMedia(options) {
109
+ return chooseMediaBridge(options);
110
+ }
111
+ async function compressImage(options) {
112
+ return compressImageBridge(options);
113
+ }
114
+ function compressVideo(options) {
115
+ return compressVideoBridge(options);
116
+ }
117
+ async function chooseVideo(options) {
118
+ return chooseVideoBridge(options);
119
+ }
120
+ async function chooseMessageFile(options) {
121
+ return chooseMessageFileBridge(options);
122
+ }
123
+ async function chooseFile(options) {
124
+ return chooseFileBridge(options);
125
+ }
126
+ function previewImage(options) {
127
+ return previewImageBridge(options);
128
+ }
129
+ function previewMedia(options) {
130
+ return previewMediaBridge(options);
131
+ }
132
+ function openVideoEditor(options) {
133
+ return openVideoEditorBridge(options);
134
+ }
135
+ function saveImageToPhotosAlbum(options) {
136
+ return saveImageToPhotosAlbumBridge(options);
137
+ }
138
+ function saveVideoToPhotosAlbum(options) {
139
+ return saveVideoToPhotosAlbumBridge(options);
140
+ }
141
+ function saveFile(options) {
142
+ return saveFileBridge(options);
143
+ }
144
+ function saveFileToDisk(options) {
145
+ return saveFileToDiskBridge(options);
146
+ }
147
+ function openDocument(options) {
148
+ return openDocumentBridge(options);
149
+ }
150
+ function scanCode(options) {
151
+ return scanCodeBridge(options);
152
+ }
153
+ async function setClipboardData(options) {
154
+ return setClipboardDataBridge(options);
155
+ }
156
+ async function getClipboardData(options) {
157
+ return getClipboardDataBridge(options);
158
+ }
159
+
160
+ //#endregion
161
+ export { chooseAddress, chooseFile, chooseImage, chooseLocation, chooseMedia, chooseMessageFile, chooseVideo, compressImage, compressVideo, getClipboardData, getImageInfo, getVideoInfo, hideLoading, hideTabBar, makePhoneCall, openCustomerServiceChat, openDocument, openLocation, openVideoEditor, previewImage, previewMedia, requestPayment, requestSubscribeMessage, saveFile, saveFileToDisk, saveImageToPhotosAlbum, saveVideoToPhotosAlbum, scanCode, setClipboardData, showActionSheet, showLoading, showModal, showShareMenu, showTabBar, showToast, uiMediaApi_exports, updateShareMenu };
162
+ //# sourceMappingURL=uiMediaApi.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uiMediaApi.mjs","names":[],"sources":["../../../src/runtime/polyfill/uiMediaApi.ts"],"sourcesContent":["import type {\n ChooseAddressOptions,\n ChooseFileOptions,\n ChooseImageOptions,\n ChooseLocationOptions,\n ChooseMediaOptions,\n ChooseMessageFileOptions,\n ChooseVideoOptions,\n CompressImageOptions,\n CompressVideoOptions,\n GetClipboardDataOptions,\n GetImageInfoOptions,\n GetVideoInfoOptions,\n MakePhoneCallOptions,\n OpenCustomerServiceChatOptions,\n OpenDocumentOptions,\n OpenLocationOptions,\n OpenVideoEditorOptions,\n PreviewImageOptions,\n PreviewMediaOptions,\n RequestPaymentOptions,\n RequestSubscribeMessageOptions,\n RequestSubscribeMessageSuccessResult,\n SaveFileOptions,\n SaveFileToDiskOptions,\n SaveImageToPhotosAlbumOptions,\n SaveVideoToPhotosAlbumOptions,\n ScanCodeOptions,\n SetClipboardDataOptions,\n ShareMenuOptions,\n ShowActionSheetOptions,\n ShowLoadingOptions,\n ShowModalOptions,\n ShowToastOptions,\n TabBarOptions,\n WxAsyncOptions,\n WxBaseResult,\n} from './types'\nimport {\n getClipboardDataBridge,\n openCustomerServiceChatBridge,\n scanCodeBridge,\n setClipboardDataBridge,\n} from './interactionApi'\nimport {\n chooseAddressBridge,\n chooseLocationBridge,\n makePhoneCallBridge,\n openLocationBridge,\n} from './locationApi'\nimport {\n chooseFileBridge,\n chooseImageBridge,\n chooseMediaBridge,\n chooseMessageFileBridge,\n chooseVideoBridge,\n compressImageBridge,\n compressVideoBridge,\n getImageInfoBridge,\n getVideoInfoBridge,\n openDocumentBridge,\n openVideoEditorBridge,\n previewImageBridge,\n previewMediaBridge,\n saveFileBridge,\n saveFileToDiskBridge,\n saveImageToPhotosAlbumBridge,\n saveVideoToPhotosAlbumBridge,\n} from './mediaApi'\nimport {\n hideTabBarBridge,\n requestPaymentBridge,\n requestSubscribeMessageBridge,\n showActionSheetBridge,\n showModalBridge,\n showShareMenuBridge,\n showTabBarBridge,\n updateShareMenuBridge,\n} from './menuApi'\nimport {\n hideLoadingBridge,\n showLoadingBridge,\n showToastBridge,\n} from './uiFeedback'\n\nexport function showToast(options?: ShowToastOptions) {\n return showToastBridge(options)\n}\n\nexport function showLoading(options?: ShowLoadingOptions) {\n return showLoadingBridge(options)\n}\n\nexport function hideLoading(options?: WxAsyncOptions<WxBaseResult>) {\n return hideLoadingBridge(options)\n}\n\nexport function showShareMenu(options?: ShareMenuOptions) {\n return showShareMenuBridge(options)\n}\n\nexport function updateShareMenu(options?: ShareMenuOptions) {\n return updateShareMenuBridge(options)\n}\n\nexport function openCustomerServiceChat(options?: OpenCustomerServiceChatOptions) {\n return openCustomerServiceChatBridge(options)\n}\n\nexport function makePhoneCall(options?: MakePhoneCallOptions) {\n return makePhoneCallBridge(options)\n}\n\nexport function chooseAddress(options?: ChooseAddressOptions) {\n return chooseAddressBridge(options)\n}\n\nexport function chooseLocation(options?: ChooseLocationOptions) {\n return chooseLocationBridge(options)\n}\n\nexport function openLocation(options?: OpenLocationOptions) {\n return openLocationBridge(options)\n}\n\nexport function getImageInfo(options?: GetImageInfoOptions) {\n return getImageInfoBridge(options)\n}\n\nexport function getVideoInfo(options?: GetVideoInfoOptions) {\n return getVideoInfoBridge(options)\n}\n\nexport function showTabBar(options?: TabBarOptions) {\n return showTabBarBridge(options)\n}\n\nexport function hideTabBar(options?: TabBarOptions) {\n return hideTabBarBridge(options)\n}\n\nexport function requestPayment(options?: RequestPaymentOptions) {\n return requestPaymentBridge(options)\n}\n\nexport function requestSubscribeMessage(options?: RequestSubscribeMessageOptions): Promise<RequestSubscribeMessageSuccessResult> {\n return requestSubscribeMessageBridge(options)\n}\n\nexport function showModal(options?: ShowModalOptions) {\n return showModalBridge(options)\n}\n\nexport function showActionSheet(options?: ShowActionSheetOptions) {\n return showActionSheetBridge(options)\n}\n\nexport async function chooseImage(options?: ChooseImageOptions) {\n return chooseImageBridge(options)\n}\n\nexport async function chooseMedia(options?: ChooseMediaOptions) {\n return chooseMediaBridge(options)\n}\n\nexport async function compressImage(options?: CompressImageOptions) {\n return compressImageBridge(options)\n}\n\nexport function compressVideo(options?: CompressVideoOptions) {\n return compressVideoBridge(options)\n}\n\nexport async function chooseVideo(options?: ChooseVideoOptions) {\n return chooseVideoBridge(options)\n}\n\nexport async function chooseMessageFile(options?: ChooseMessageFileOptions) {\n return chooseMessageFileBridge(options)\n}\n\nexport async function chooseFile(options?: ChooseFileOptions) {\n return chooseFileBridge(options)\n}\n\nexport function previewImage(options?: PreviewImageOptions) {\n return previewImageBridge(options)\n}\n\nexport function previewMedia(options?: PreviewMediaOptions) {\n return previewMediaBridge(options)\n}\n\nexport function openVideoEditor(options?: OpenVideoEditorOptions) {\n return openVideoEditorBridge(options)\n}\n\nexport function saveImageToPhotosAlbum(options?: SaveImageToPhotosAlbumOptions) {\n return saveImageToPhotosAlbumBridge(options)\n}\n\nexport function saveVideoToPhotosAlbum(options?: SaveVideoToPhotosAlbumOptions) {\n return saveVideoToPhotosAlbumBridge(options)\n}\n\nexport function saveFile(options?: SaveFileOptions) {\n return saveFileBridge(options)\n}\n\nexport function saveFileToDisk(options?: SaveFileToDiskOptions) {\n return saveFileToDiskBridge(options)\n}\n\nexport function openDocument(options?: OpenDocumentOptions) {\n return openDocumentBridge(options)\n}\n\nexport function scanCode(options?: ScanCodeOptions) {\n return scanCodeBridge(options)\n}\n\nexport async function setClipboardData(options?: SetClipboardDataOptions) {\n return setClipboardDataBridge(options)\n}\n\nexport async function getClipboardData(options?: GetClipboardDataOptions) {\n return getClipboardDataBridge(options)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqFA,SAAgB,UAAU,SAA4B;AACpD,QAAO,gBAAgB,QAAQ;;AAGjC,SAAgB,YAAY,SAA8B;AACxD,QAAO,kBAAkB,QAAQ;;AAGnC,SAAgB,YAAY,SAAwC;AAClE,QAAO,kBAAkB,QAAQ;;AAGnC,SAAgB,cAAc,SAA4B;AACxD,QAAO,oBAAoB,QAAQ;;AAGrC,SAAgB,gBAAgB,SAA4B;AAC1D,QAAO,sBAAsB,QAAQ;;AAGvC,SAAgB,wBAAwB,SAA0C;AAChF,QAAO,8BAA8B,QAAQ;;AAG/C,SAAgB,cAAc,SAAgC;AAC5D,QAAO,oBAAoB,QAAQ;;AAGrC,SAAgB,cAAc,SAAgC;AAC5D,QAAO,oBAAoB,QAAQ;;AAGrC,SAAgB,eAAe,SAAiC;AAC9D,QAAO,qBAAqB,QAAQ;;AAGtC,SAAgB,aAAa,SAA+B;AAC1D,QAAO,mBAAmB,QAAQ;;AAGpC,SAAgB,aAAa,SAA+B;AAC1D,QAAO,mBAAmB,QAAQ;;AAGpC,SAAgB,aAAa,SAA+B;AAC1D,QAAO,mBAAmB,QAAQ;;AAGpC,SAAgB,WAAW,SAAyB;AAClD,QAAO,iBAAiB,QAAQ;;AAGlC,SAAgB,WAAW,SAAyB;AAClD,QAAO,iBAAiB,QAAQ;;AAGlC,SAAgB,eAAe,SAAiC;AAC9D,QAAO,qBAAqB,QAAQ;;AAGtC,SAAgB,wBAAwB,SAAyF;AAC/H,QAAO,8BAA8B,QAAQ;;AAG/C,SAAgB,UAAU,SAA4B;AACpD,QAAO,gBAAgB,QAAQ;;AAGjC,SAAgB,gBAAgB,SAAkC;AAChE,QAAO,sBAAsB,QAAQ;;AAGvC,eAAsB,YAAY,SAA8B;AAC9D,QAAO,kBAAkB,QAAQ;;AAGnC,eAAsB,YAAY,SAA8B;AAC9D,QAAO,kBAAkB,QAAQ;;AAGnC,eAAsB,cAAc,SAAgC;AAClE,QAAO,oBAAoB,QAAQ;;AAGrC,SAAgB,cAAc,SAAgC;AAC5D,QAAO,oBAAoB,QAAQ;;AAGrC,eAAsB,YAAY,SAA8B;AAC9D,QAAO,kBAAkB,QAAQ;;AAGnC,eAAsB,kBAAkB,SAAoC;AAC1E,QAAO,wBAAwB,QAAQ;;AAGzC,eAAsB,WAAW,SAA6B;AAC5D,QAAO,iBAAiB,QAAQ;;AAGlC,SAAgB,aAAa,SAA+B;AAC1D,QAAO,mBAAmB,QAAQ;;AAGpC,SAAgB,aAAa,SAA+B;AAC1D,QAAO,mBAAmB,QAAQ;;AAGpC,SAAgB,gBAAgB,SAAkC;AAChE,QAAO,sBAAsB,QAAQ;;AAGvC,SAAgB,uBAAuB,SAAyC;AAC9E,QAAO,6BAA6B,QAAQ;;AAG9C,SAAgB,uBAAuB,SAAyC;AAC9E,QAAO,6BAA6B,QAAQ;;AAG9C,SAAgB,SAAS,SAA2B;AAClD,QAAO,eAAe,QAAQ;;AAGhC,SAAgB,eAAe,SAAiC;AAC9D,QAAO,qBAAqB,QAAQ;;AAGtC,SAAgB,aAAa,SAA+B;AAC1D,QAAO,mBAAmB,QAAQ;;AAGpC,SAAgB,SAAS,SAA2B;AAClD,QAAO,eAAe,QAAQ;;AAGhC,eAAsB,iBAAiB,SAAmC;AACxE,QAAO,uBAAuB,QAAQ;;AAGxC,eAAsB,iBAAiB,SAAmC;AACxE,QAAO,uBAAuB,QAAQ"}