@tma.js/sdk 0.13.3 → 1.0.1

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 (426) hide show
  1. package/dist/dts/{components/BackButton → back-button}/BackButton.d.ts +12 -9
  2. package/dist/dts/back-button/index.d.ts +2 -0
  3. package/dist/dts/{components/BackButton → back-button}/types.d.ts +3 -2
  4. package/dist/dts/bridge/env/hasExternalNotify.d.ts +12 -0
  5. package/dist/dts/bridge/env/hasWebviewProxy.d.ts +12 -0
  6. package/dist/dts/bridge/env/index.d.ts +3 -0
  7. package/dist/dts/bridge/env/isIframe.d.ts +5 -0
  8. package/dist/dts/bridge/errors/MethodUnsupportedError.d.ts +8 -0
  9. package/dist/dts/bridge/errors/ParameterUnsupportedError.d.ts +8 -0
  10. package/dist/dts/bridge/errors/index.d.ts +2 -0
  11. package/dist/dts/bridge/events/createEmitter.d.ts +6 -0
  12. package/dist/dts/bridge/events/events.d.ts +130 -0
  13. package/dist/dts/bridge/events/index.d.ts +9 -0
  14. package/dist/dts/bridge/events/off.d.ts +7 -0
  15. package/dist/dts/bridge/events/on.d.ts +10 -0
  16. package/dist/dts/bridge/events/onTelegramEvent.d.ts +7 -0
  17. package/dist/dts/bridge/events/once.d.ts +9 -0
  18. package/dist/dts/bridge/events/parsers/clipboardTextReceived.d.ts +13 -0
  19. package/dist/dts/bridge/events/parsers/customMethodInvoked.d.ts +16 -0
  20. package/dist/dts/bridge/events/parsers/index.d.ts +9 -0
  21. package/dist/dts/bridge/events/parsers/invoiceClosed.d.ts +12 -0
  22. package/dist/dts/bridge/events/parsers/phoneRequested.d.ts +8 -0
  23. package/dist/dts/bridge/events/parsers/popupClosed.d.ts +8 -0
  24. package/dist/dts/bridge/events/parsers/qrTextReceived.d.ts +7 -0
  25. package/dist/dts/bridge/events/parsers/theme-changed.d.ts +42 -0
  26. package/dist/dts/bridge/events/parsers/viewportChanged.d.ts +19 -0
  27. package/dist/dts/bridge/events/parsers/writeAccessRequested.d.ts +8 -0
  28. package/dist/dts/bridge/events/singletonEmitter.d.ts +6 -0
  29. package/dist/dts/bridge/events/subscribe.d.ts +9 -0
  30. package/dist/dts/bridge/events/unsubscribe.d.ts +6 -0
  31. package/dist/dts/bridge/index.d.ts +5 -0
  32. package/dist/dts/bridge/methods/createPostEvent.d.ts +10 -0
  33. package/dist/dts/bridge/methods/haptic.d.ts +40 -0
  34. package/dist/dts/bridge/methods/index.d.ts +6 -0
  35. package/dist/dts/bridge/methods/invoke-custom-method.d.ts +24 -0
  36. package/dist/dts/bridge/methods/methods.d.ts +329 -0
  37. package/dist/dts/bridge/methods/popup.d.ts +49 -0
  38. package/dist/dts/bridge/methods/postEvent.d.ts +29 -0
  39. package/dist/dts/bridge/request.d.ts +65 -0
  40. package/dist/dts/classnames/classNames.d.ts +10 -0
  41. package/dist/dts/classnames/index.d.ts +2 -0
  42. package/dist/dts/classnames/mergeClassNames.d.ts +32 -0
  43. package/dist/dts/{components/ClosingBehaviour/ClosingBehaviour.d.ts → closing-behavior/ClosingBehavior.d.ts} +5 -4
  44. package/dist/dts/closing-behavior/index.d.ts +2 -0
  45. package/dist/dts/closing-behavior/types.d.ts +7 -0
  46. package/dist/dts/{components/CloudStorage → cloud-storage}/CloudStorage.d.ts +19 -11
  47. package/dist/dts/colors/index.d.ts +5 -0
  48. package/dist/dts/colors/isColorDark.d.ts +6 -0
  49. package/dist/dts/colors/isRGB.d.ts +6 -0
  50. package/dist/dts/colors/isRGBShort.d.ts +6 -0
  51. package/dist/dts/colors/toRGB.d.ts +11 -0
  52. package/dist/dts/colors/types.d.ts +8 -0
  53. package/dist/dts/event-emitter/EventEmitter.d.ts +64 -0
  54. package/dist/dts/event-emitter/index.d.ts +2 -0
  55. package/dist/dts/event-emitter/types.d.ts +44 -0
  56. package/dist/dts/globals.d.ts +22 -0
  57. package/dist/dts/{components/HapticFeedback → haptic-feedback}/HapticFeedback.d.ts +3 -3
  58. package/dist/dts/index.d.ts +24 -6
  59. package/dist/dts/init/catchCustomStyles.d.ts +4 -0
  60. package/dist/dts/init/creators/createBackButton.d.ts +2 -2
  61. package/dist/dts/init/creators/createClosingBehavior.d.ts +3 -3
  62. package/dist/dts/init/creators/createMainButton.d.ts +3 -3
  63. package/dist/dts/init/creators/createMiniApp.d.ts +14 -0
  64. package/dist/dts/init/creators/createRequestIdGenerator.d.ts +1 -1
  65. package/dist/dts/init/creators/createThemeParams.d.ts +2 -3
  66. package/dist/dts/init/creators/createViewport.d.ts +16 -9
  67. package/dist/dts/init/creators/index.d.ts +1 -1
  68. package/dist/dts/init/css/bindMiniAppCSSVars.d.ts +16 -0
  69. package/dist/dts/init/css/bindThemeCSSVars.d.ts +12 -0
  70. package/dist/dts/init/css/bindViewportCSSVars.d.ts +20 -0
  71. package/dist/dts/init/css/index.d.ts +1 -0
  72. package/dist/dts/init/css/processCSSVarsOption.d.ts +12 -0
  73. package/dist/dts/init/css/setCSSVar.d.ts +6 -0
  74. package/dist/dts/init/init.d.ts +5 -5
  75. package/dist/dts/init/types.d.ts +42 -69
  76. package/dist/dts/init-data/InitData.d.ts +53 -0
  77. package/dist/dts/init-data/chatParser.d.ts +5 -0
  78. package/dist/dts/init-data/index.d.ts +6 -0
  79. package/dist/dts/init-data/initDataParser.d.ts +5 -0
  80. package/dist/dts/init-data/parseInitData.d.ts +6 -0
  81. package/dist/dts/init-data/types.d.ts +133 -0
  82. package/dist/dts/init-data/userParser.d.ts +5 -0
  83. package/dist/dts/invoice/Invoice.d.ts +43 -0
  84. package/dist/dts/invoice/index.d.ts +2 -0
  85. package/dist/dts/invoice/types.d.ts +7 -0
  86. package/dist/dts/launch-params/computeLaunchData.d.ts +6 -0
  87. package/dist/dts/launch-params/computePageReload.d.ts +6 -0
  88. package/dist/dts/launch-params/getFirstNavigationEntry.d.ts +6 -0
  89. package/dist/dts/launch-params/index.d.ts +12 -0
  90. package/dist/dts/launch-params/launchParamsParser.d.ts +5 -0
  91. package/dist/dts/launch-params/parseLaunchParams.d.ts +6 -0
  92. package/dist/dts/launch-params/retrieveCurrent.d.ts +5 -0
  93. package/dist/dts/launch-params/retrieveFromLocation.d.ts +6 -0
  94. package/dist/dts/launch-params/retrieveFromPerformance.d.ts +8 -0
  95. package/dist/dts/launch-params/retrieveLaunchData.d.ts +6 -0
  96. package/dist/dts/launch-params/serializeLaunchParams.d.ts +6 -0
  97. package/dist/dts/launch-params/storage.d.ts +13 -0
  98. package/dist/dts/launch-params/types.d.ts +48 -0
  99. package/dist/dts/logger/Logger.d.ts +38 -0
  100. package/dist/dts/logger/index.d.ts +1 -0
  101. package/dist/dts/main-button/MainButton.d.ts +104 -0
  102. package/dist/dts/main-button/index.d.ts +2 -0
  103. package/dist/dts/main-button/types.d.ts +20 -0
  104. package/dist/dts/mini-app/MiniApp.d.ts +99 -0
  105. package/dist/dts/mini-app/index.d.ts +2 -0
  106. package/dist/dts/mini-app/types.d.ts +19 -0
  107. package/dist/dts/misc/index.d.ts +2 -0
  108. package/dist/dts/misc/isRecord.d.ts +5 -0
  109. package/dist/dts/misc/isTMA.d.ts +4 -0
  110. package/dist/dts/navigation/HashNavigator/HashNavigator.d.ts +43 -0
  111. package/dist/dts/navigation/HashNavigator/drop.d.ts +4 -0
  112. package/dist/dts/navigation/HashNavigator/go.d.ts +5 -0
  113. package/dist/dts/navigation/HashNavigator/index.d.ts +2 -0
  114. package/dist/dts/navigation/HashNavigator/types.d.ts +34 -0
  115. package/dist/dts/navigation/Navigator/Navigator.d.ts +104 -0
  116. package/dist/dts/navigation/Navigator/index.d.ts +2 -0
  117. package/dist/dts/navigation/Navigator/types.d.ts +44 -0
  118. package/dist/dts/navigation/ensurePrefix.d.ts +7 -0
  119. package/dist/dts/navigation/getHash.d.ts +14 -0
  120. package/dist/dts/navigation/index.d.ts +4 -0
  121. package/dist/dts/parsing/ArrayValueParser.d.ts +18 -0
  122. package/dist/dts/parsing/ParseError.d.ts +22 -0
  123. package/dist/dts/parsing/ParseSchemaFieldError.d.ts +17 -0
  124. package/dist/dts/parsing/ValueParser.d.ts +36 -0
  125. package/dist/dts/parsing/createValueParserGenerator.d.ts +9 -0
  126. package/dist/dts/parsing/index.d.ts +10 -0
  127. package/dist/dts/parsing/parseBySchema.d.ts +8 -0
  128. package/dist/dts/parsing/parsers/array.d.ts +6 -0
  129. package/dist/dts/parsing/parsers/boolean.d.ts +4 -0
  130. package/dist/dts/parsing/parsers/date.d.ts +4 -0
  131. package/dist/dts/parsing/parsers/index.d.ts +8 -0
  132. package/dist/dts/parsing/parsers/json.d.ts +8 -0
  133. package/dist/dts/parsing/parsers/number.d.ts +4 -0
  134. package/dist/dts/parsing/parsers/rgb.d.ts +4 -0
  135. package/dist/dts/parsing/parsers/searchParams.d.ts +8 -0
  136. package/dist/dts/parsing/parsers/string.d.ts +4 -0
  137. package/dist/dts/parsing/toRecord.d.ts +7 -0
  138. package/dist/dts/parsing/types.d.ts +30 -0
  139. package/dist/dts/parsing/unexpectedTypeError.d.ts +4 -0
  140. package/dist/dts/{components/Popup → popup}/Popup.d.ts +10 -9
  141. package/dist/dts/popup/index.d.ts +2 -0
  142. package/dist/dts/popup/preparePopupParams.d.ts +7 -0
  143. package/dist/dts/{components/Popup → popup}/types.d.ts +4 -4
  144. package/dist/dts/{components/QRScanner → qr-scanner}/QRScanner.d.ts +6 -5
  145. package/dist/dts/qr-scanner/index.d.ts +2 -0
  146. package/dist/dts/{components/QRScanner → qr-scanner}/types.d.ts +1 -1
  147. package/dist/dts/state/State.d.ts +19 -7
  148. package/dist/dts/state/types.d.ts +4 -7
  149. package/dist/dts/storage.d.ts +4 -4
  150. package/dist/dts/supports/createSupportsFunc.d.ts +10 -0
  151. package/dist/dts/supports/createSupportsParamFunc.d.ts +15 -0
  152. package/dist/dts/supports/index.d.ts +4 -0
  153. package/dist/dts/supports/supports.d.ts +15 -0
  154. package/dist/dts/supports/types.d.ts +1 -0
  155. package/dist/dts/theme-params/ThemeParams.d.ts +62 -0
  156. package/dist/dts/theme-params/index.d.ts +6 -0
  157. package/dist/dts/theme-params/keys.d.ts +11 -0
  158. package/dist/dts/theme-params/parseThemeParams.d.ts +6 -0
  159. package/dist/dts/theme-params/requestThemeParams.d.ts +7 -0
  160. package/dist/dts/theme-params/serializeThemeParams.d.ts +5 -0
  161. package/dist/dts/theme-params/themeParamsParser.d.ts +2 -0
  162. package/dist/dts/theme-params/types.d.ts +14 -0
  163. package/dist/dts/timeout/TimeoutError.d.ts +3 -0
  164. package/dist/dts/timeout/index.d.ts +3 -0
  165. package/dist/dts/timeout/isTimeoutError.d.ts +6 -0
  166. package/dist/dts/timeout/withTimeout.d.ts +14 -0
  167. package/dist/dts/types/index.d.ts +3 -0
  168. package/dist/dts/types/platform.d.ts +4 -0
  169. package/dist/dts/types/request-id.d.ts +9 -0
  170. package/dist/dts/types/utils.d.ts +36 -0
  171. package/dist/dts/utils/Utils.d.ts +45 -0
  172. package/dist/dts/utils/index.d.ts +1 -0
  173. package/dist/dts/version/compareVersions.d.ts +8 -0
  174. package/dist/dts/version/index.d.ts +2 -0
  175. package/dist/dts/version/types.d.ts +4 -0
  176. package/dist/dts/{components/Viewport → viewport}/Viewport.d.ts +16 -38
  177. package/dist/dts/viewport/index.d.ts +3 -0
  178. package/dist/dts/viewport/requestViewport.d.ts +12 -0
  179. package/dist/dts/{components/Viewport → viewport}/types.d.ts +9 -1
  180. package/dist/dts/viewport/utils.d.ts +5 -0
  181. package/dist/index.cjs +1 -1
  182. package/dist/index.cjs.map +1 -1
  183. package/dist/index.iife.js +1 -1
  184. package/dist/index.iife.js.map +1 -1
  185. package/dist/index.mjs +2254 -1027
  186. package/dist/index.mjs.map +1 -1
  187. package/package.json +7 -16
  188. package/src/{components/BackButton → back-button}/BackButton.ts +23 -21
  189. package/src/back-button/index.ts +2 -0
  190. package/src/{components/BackButton → back-button}/types.ts +3 -2
  191. package/src/bridge/env/hasExternalNotify.ts +19 -0
  192. package/src/bridge/env/hasWebviewProxy.ts +19 -0
  193. package/src/bridge/env/index.ts +3 -0
  194. package/src/bridge/env/isIframe.ts +11 -0
  195. package/src/bridge/errors/MethodUnsupportedError.ts +13 -0
  196. package/src/bridge/errors/ParameterUnsupportedError.ts +13 -0
  197. package/src/bridge/errors/index.ts +2 -0
  198. package/src/bridge/events/createEmitter.ts +108 -0
  199. package/src/bridge/events/events.ts +170 -0
  200. package/src/bridge/events/index.ts +9 -0
  201. package/src/bridge/events/off.ts +14 -0
  202. package/src/bridge/events/on.ts +19 -0
  203. package/src/bridge/events/onTelegramEvent.ts +83 -0
  204. package/src/bridge/events/once.ts +18 -0
  205. package/src/bridge/events/parsers/clipboardTextReceived.ts +26 -0
  206. package/src/bridge/events/parsers/customMethodInvoked.ts +25 -0
  207. package/src/bridge/events/parsers/index.ts +9 -0
  208. package/src/bridge/events/parsers/invoiceClosed.ts +26 -0
  209. package/src/bridge/events/parsers/phoneRequested.ts +14 -0
  210. package/src/bridge/events/parsers/popupClosed.ts +19 -0
  211. package/src/bridge/events/parsers/qrTextReceived.ts +14 -0
  212. package/src/bridge/events/parsers/theme-changed.ts +58 -0
  213. package/src/bridge/events/parsers/viewportChanged.ts +33 -0
  214. package/src/bridge/events/parsers/writeAccessRequested.ts +14 -0
  215. package/src/bridge/events/singletonEmitter.ts +19 -0
  216. package/src/bridge/events/subscribe.ts +15 -0
  217. package/src/bridge/events/unsubscribe.ts +10 -0
  218. package/src/bridge/index.ts +5 -0
  219. package/src/bridge/methods/createPostEvent.ts +40 -0
  220. package/src/bridge/methods/haptic.ts +52 -0
  221. package/src/bridge/methods/index.ts +6 -0
  222. package/src/bridge/methods/invoke-custom-method.ts +25 -0
  223. package/src/bridge/methods/methods.ts +372 -0
  224. package/src/bridge/methods/popup.ts +53 -0
  225. package/src/bridge/methods/postEvent.ts +101 -0
  226. package/src/bridge/request.ts +185 -0
  227. package/src/classnames/classNames.ts +34 -0
  228. package/src/classnames/index.ts +2 -0
  229. package/src/classnames/mergeClassNames.ts +68 -0
  230. package/src/{components/ClosingBehaviour/ClosingBehaviour.ts → closing-behavior/ClosingBehavior.ts} +12 -10
  231. package/src/closing-behavior/index.ts +2 -0
  232. package/src/closing-behavior/types.ts +12 -0
  233. package/src/{components/CloudStorage → cloud-storage}/CloudStorage.ts +50 -28
  234. package/src/colors/index.ts +5 -0
  235. package/src/colors/isColorDark.ts +22 -0
  236. package/src/colors/isRGB.ts +9 -0
  237. package/src/colors/isRGBShort.ts +9 -0
  238. package/src/colors/toRGB.ts +49 -0
  239. package/src/colors/types.ts +9 -0
  240. package/src/event-emitter/EventEmitter.ts +146 -0
  241. package/src/event-emitter/index.ts +2 -0
  242. package/src/event-emitter/types.ts +60 -0
  243. package/src/globals.ts +38 -0
  244. package/src/{components/HapticFeedback → haptic-feedback}/HapticFeedback.ts +16 -8
  245. package/src/index.ts +171 -6
  246. package/src/init/catchCustomStyles.ts +17 -0
  247. package/src/init/creators/createBackButton.ts +4 -6
  248. package/src/init/creators/createClosingBehavior.ts +6 -8
  249. package/src/init/creators/createMainButton.ts +13 -20
  250. package/src/init/creators/createMiniApp.ts +44 -0
  251. package/src/init/creators/createRequestIdGenerator.ts +1 -1
  252. package/src/init/creators/createThemeParams.ts +3 -6
  253. package/src/init/creators/createViewport.ts +92 -42
  254. package/src/init/creators/index.ts +1 -1
  255. package/src/init/css/bindMiniAppCSSVars.ts +48 -0
  256. package/src/init/css/bindThemeCSSVars.ts +31 -0
  257. package/src/init/css/bindViewportCSSVars.ts +36 -0
  258. package/src/init/css/index.ts +1 -0
  259. package/src/init/css/processCSSVarsOption.ts +57 -0
  260. package/src/init/css/setCSSVar.ts +8 -0
  261. package/src/init/init.ts +119 -154
  262. package/src/init/types.ts +42 -87
  263. package/src/init-data/InitData.ts +96 -0
  264. package/src/init-data/chatParser.ts +19 -0
  265. package/src/init-data/index.ts +6 -0
  266. package/src/init-data/initDataParser.ts +41 -0
  267. package/src/init-data/parseInitData.ts +10 -0
  268. package/src/init-data/types.ts +164 -0
  269. package/src/init-data/userParser.ts +45 -0
  270. package/src/invoice/Invoice.ts +123 -0
  271. package/src/invoice/index.ts +2 -0
  272. package/src/invoice/types.ts +11 -0
  273. package/src/launch-params/computeLaunchData.ts +81 -0
  274. package/src/launch-params/computePageReload.ts +13 -0
  275. package/src/launch-params/getFirstNavigationEntry.ts +10 -0
  276. package/src/launch-params/index.ts +12 -0
  277. package/src/launch-params/launchParamsParser.ts +41 -0
  278. package/src/launch-params/parseLaunchParams.ts +10 -0
  279. package/src/launch-params/retrieveCurrent.ts +27 -0
  280. package/src/launch-params/retrieveFromLocation.ts +10 -0
  281. package/src/launch-params/retrieveFromPerformance.ts +23 -0
  282. package/src/launch-params/retrieveLaunchData.ts +30 -0
  283. package/src/launch-params/serializeLaunchParams.ts +37 -0
  284. package/src/launch-params/storage.ts +33 -0
  285. package/src/launch-params/types.ts +57 -0
  286. package/src/logger/Logger.ts +72 -0
  287. package/src/logger/index.ts +1 -0
  288. package/src/main-button/MainButton.ts +239 -0
  289. package/src/main-button/index.ts +2 -0
  290. package/src/main-button/types.ts +26 -0
  291. package/src/mini-app/MiniApp.ts +237 -0
  292. package/src/mini-app/index.ts +2 -0
  293. package/src/mini-app/types.ts +25 -0
  294. package/src/misc/index.ts +2 -0
  295. package/src/misc/isRecord.ts +7 -0
  296. package/src/misc/isTMA.ts +13 -0
  297. package/src/navigation/HashNavigator/HashNavigator.ts +220 -0
  298. package/src/navigation/HashNavigator/drop.ts +36 -0
  299. package/src/navigation/HashNavigator/go.ts +28 -0
  300. package/src/navigation/HashNavigator/index.ts +2 -0
  301. package/src/navigation/HashNavigator/types.ts +41 -0
  302. package/src/navigation/Navigator/Navigator.ts +282 -0
  303. package/src/navigation/Navigator/index.ts +2 -0
  304. package/src/navigation/Navigator/types.ts +55 -0
  305. package/src/navigation/ensurePrefix.ts +9 -0
  306. package/src/navigation/getHash.ts +17 -0
  307. package/src/navigation/index.ts +4 -0
  308. package/src/parsing/ArrayValueParser.ts +79 -0
  309. package/src/parsing/ParseError.ts +27 -0
  310. package/src/parsing/ParseSchemaFieldError.ts +21 -0
  311. package/src/parsing/ValueParser.ts +71 -0
  312. package/src/parsing/createValueParserGenerator.ts +16 -0
  313. package/src/parsing/index.ts +10 -0
  314. package/src/parsing/parseBySchema.ts +65 -0
  315. package/src/parsing/parsers/array.ts +9 -0
  316. package/src/parsing/parsers/boolean.ts +22 -0
  317. package/src/parsing/parsers/date.ts +13 -0
  318. package/src/parsing/parsers/index.ts +8 -0
  319. package/src/parsing/parsers/json.ts +17 -0
  320. package/src/parsing/parsers/number.ts +21 -0
  321. package/src/parsing/parsers/rgb.ts +12 -0
  322. package/src/parsing/parsers/searchParams.ts +24 -0
  323. package/src/parsing/parsers/string.ts +12 -0
  324. package/src/parsing/toRecord.ts +27 -0
  325. package/src/parsing/types.ts +32 -0
  326. package/src/parsing/unexpectedTypeError.ts +6 -0
  327. package/src/{components/Popup → popup}/Popup.ts +38 -28
  328. package/src/popup/index.ts +2 -0
  329. package/src/{components/Popup/utils.ts → popup/preparePopupParams.ts} +3 -3
  330. package/src/{components/Popup → popup}/types.ts +4 -4
  331. package/src/{components/QRScanner → qr-scanner}/QRScanner.ts +18 -10
  332. package/src/qr-scanner/index.ts +2 -0
  333. package/src/{components/QRScanner → qr-scanner}/types.ts +1 -1
  334. package/src/state/State.ts +31 -21
  335. package/src/state/types.ts +5 -8
  336. package/src/storage.ts +6 -4
  337. package/src/supports/createSupportsFunc.ts +18 -0
  338. package/src/supports/createSupportsParamFunc.ts +27 -0
  339. package/src/supports/index.ts +4 -0
  340. package/src/supports/supports.ts +84 -0
  341. package/src/supports/types.ts +1 -0
  342. package/src/theme-params/ThemeParams.ts +131 -0
  343. package/src/theme-params/index.ts +6 -0
  344. package/src/theme-params/keys.ts +24 -0
  345. package/src/theme-params/parseThemeParams.ts +10 -0
  346. package/src/theme-params/requestThemeParams.ts +13 -0
  347. package/src/theme-params/serializeThemeParams.ts +20 -0
  348. package/src/theme-params/themeParamsParser.ts +20 -0
  349. package/src/theme-params/types.ts +33 -0
  350. package/src/timeout/TimeoutError.ts +6 -0
  351. package/src/timeout/index.ts +3 -0
  352. package/src/timeout/isTimeoutError.ts +9 -0
  353. package/src/timeout/withTimeout.ts +36 -0
  354. package/src/types/index.ts +3 -0
  355. package/src/types/platform.ts +14 -0
  356. package/src/types/request-id.ts +10 -0
  357. package/src/types/utils.ts +50 -0
  358. package/src/utils/Utils.ts +107 -0
  359. package/src/utils/index.ts +1 -0
  360. package/src/version/compareVersions.ts +28 -0
  361. package/src/version/index.ts +2 -0
  362. package/src/version/types.ts +4 -0
  363. package/src/{components/Viewport → viewport}/Viewport.ts +72 -98
  364. package/src/viewport/index.ts +3 -0
  365. package/src/viewport/requestViewport.ts +23 -0
  366. package/src/{components/Viewport → viewport}/types.ts +10 -1
  367. package/src/viewport/utils.ts +7 -0
  368. package/dist/dts/components/BackButton/index.d.ts +0 -2
  369. package/dist/dts/components/ClosingBehaviour/index.d.ts +0 -2
  370. package/dist/dts/components/ClosingBehaviour/types.d.ts +0 -7
  371. package/dist/dts/components/InitData/InitData.d.ts +0 -60
  372. package/dist/dts/components/InitData/index.d.ts +0 -1
  373. package/dist/dts/components/MainButton/MainButton.d.ts +0 -114
  374. package/dist/dts/components/MainButton/index.d.ts +0 -2
  375. package/dist/dts/components/MainButton/types.d.ts +0 -15
  376. package/dist/dts/components/Popup/index.d.ts +0 -2
  377. package/dist/dts/components/Popup/utils.d.ts +0 -7
  378. package/dist/dts/components/QRScanner/index.d.ts +0 -2
  379. package/dist/dts/components/ThemeParams/ThemeParams.d.ts +0 -85
  380. package/dist/dts/components/ThemeParams/index.d.ts +0 -2
  381. package/dist/dts/components/ThemeParams/types.d.ts +0 -6
  382. package/dist/dts/components/Viewport/index.d.ts +0 -2
  383. package/dist/dts/components/WebApp/WebApp.d.ts +0 -146
  384. package/dist/dts/components/WebApp/index.d.ts +0 -2
  385. package/dist/dts/components/WebApp/types.d.ts +0 -11
  386. package/dist/dts/components/index.d.ts +0 -11
  387. package/dist/dts/env.d.ts +0 -10
  388. package/dist/dts/errors/MethodNotSupportedError.d.ts +0 -6
  389. package/dist/dts/errors/ParameterNotSupportedError.d.ts +0 -6
  390. package/dist/dts/errors/index.d.ts +0 -2
  391. package/dist/dts/init/creators/createWebApp.d.ts +0 -16
  392. package/dist/dts/init/css.d.ts +0 -50
  393. package/dist/dts/supports.d.ts +0 -22
  394. package/dist/dts/types.d.ts +0 -10
  395. package/dist/dts/url.d.ts +0 -7
  396. package/src/components/BackButton/index.ts +0 -2
  397. package/src/components/ClosingBehaviour/index.ts +0 -6
  398. package/src/components/ClosingBehaviour/types.ts +0 -12
  399. package/src/components/InitData/InitData.ts +0 -139
  400. package/src/components/InitData/index.ts +0 -1
  401. package/src/components/MainButton/MainButton.ts +0 -242
  402. package/src/components/MainButton/index.ts +0 -2
  403. package/src/components/MainButton/types.ts +0 -20
  404. package/src/components/Popup/index.ts +0 -8
  405. package/src/components/QRScanner/index.ts +0 -2
  406. package/src/components/ThemeParams/ThemeParams.ts +0 -168
  407. package/src/components/ThemeParams/index.ts +0 -2
  408. package/src/components/ThemeParams/types.ts +0 -11
  409. package/src/components/Viewport/index.ts +0 -2
  410. package/src/components/WebApp/WebApp.ts +0 -311
  411. package/src/components/WebApp/index.ts +0 -2
  412. package/src/components/WebApp/types.ts +0 -17
  413. package/src/components/index.ts +0 -11
  414. package/src/env.ts +0 -22
  415. package/src/errors/MethodNotSupportedError.ts +0 -9
  416. package/src/errors/ParameterNotSupportedError.ts +0 -9
  417. package/src/errors/index.ts +0 -2
  418. package/src/init/creators/createWebApp.ts +0 -52
  419. package/src/init/css.ts +0 -142
  420. package/src/supports.ts +0 -44
  421. package/src/types.ts +0 -13
  422. package/src/url.ts +0 -23
  423. /package/dist/dts/{components/CloudStorage → cloud-storage}/index.d.ts +0 -0
  424. /package/dist/dts/{components/HapticFeedback → haptic-feedback}/index.d.ts +0 -0
  425. /package/src/{components/CloudStorage → cloud-storage}/index.ts +0 -0
  426. /package/src/{components/HapticFeedback → haptic-feedback}/index.ts +0 -0
@@ -0,0 +1,64 @@
1
+ import type { AnySubscribeListener, EmptyEventName, EventListener, EventName, EventParams, NonEmptyEventName, RemoveEventListener } from './types.js';
2
+ /**
3
+ * Opinionated event emitter implementation.
4
+ */
5
+ export declare class EventEmitter<Schema> {
6
+ private readonly listeners;
7
+ private readonly subscribeListeners;
8
+ /**
9
+ * Adds specified event listener.
10
+ * @param event - event name.
11
+ * @param listener - event listener.
12
+ * @param once - should listener called only once.
13
+ */
14
+ private addListener;
15
+ /**
16
+ * Emits known event which has no parameters.
17
+ * @param event - event name.
18
+ */
19
+ emit<E extends EmptyEventName<Schema>>(event: E): void;
20
+ /**
21
+ * Emits known event which has parameters.
22
+ * @param event - event name.
23
+ * @param args - list of event listener arguments.
24
+ */
25
+ emit<E extends NonEmptyEventName<Schema>>(event: E, ...args: EventParams<Schema[E]>): void;
26
+ /**
27
+ * Adds event listener.
28
+ * @param event - event name.
29
+ * @param listener - event listener.
30
+ * @returns Function to remove event listener.
31
+ */
32
+ on<E extends EventName<Schema>>(event: E, listener: EventListener<Schema[E]>): RemoveEventListener;
33
+ /**
34
+ * Adds event listener following the logic, described in `on` method, but calls specified
35
+ * listener only once, removing it after.
36
+ * @param event - event name.
37
+ * @param listener - event listener.
38
+ * @returns Function to remove event listener.
39
+ * @see on
40
+ */
41
+ once<E extends EventName<Schema>>(event: E, listener: EventListener<Schema[E]>): RemoveEventListener;
42
+ /**
43
+ * Removes event listener. In case, specified listener was bound several times, it removes
44
+ * only a single one.
45
+ * @param event - event name.
46
+ * @param listener - event listener.
47
+ */
48
+ off<E extends EventName<Schema>>(event: E, listener: EventListener<Schema[E]>): void;
49
+ /**
50
+ * Adds event listener to all events.
51
+ * @param listener - events listener.
52
+ * @returns Function to remove event listener.
53
+ * @see on
54
+ * @see once
55
+ */
56
+ subscribe(listener: AnySubscribeListener<Schema>): RemoveEventListener;
57
+ /**
58
+ * Removes global event listener. In case, specified listener was bound several times, it removes
59
+ * only a single one.
60
+ * @param listener - events listener.
61
+ * @returns Function to remove event listener.
62
+ */
63
+ unsubscribe(listener: AnySubscribeListener<Schema>): void;
64
+ }
@@ -0,0 +1,2 @@
1
+ export * from './EventEmitter.js';
2
+ export * from './types.js';
@@ -0,0 +1,44 @@
1
+ import type { IsNever } from '../types/index.js';
2
+ /**
3
+ * Function accepting the list of passed arguments and returning nothing.
4
+ */
5
+ type VoidFunc<Args extends any[] = []> = (...args: Args) => void;
6
+ /**
7
+ * Accepts type assuming, it is responsible for describing event listener
8
+ * parameters. Covers following cases:
9
+ * 1. If function is passed, return its arguments.
10
+ * 2. If never or void is passed, return empty tuple.
11
+ * 3. If array is passed return this type.
12
+ * 4. Otherwise, return tuple with passed type.
13
+ */
14
+ export type EventParams<Params> = Params extends any[] ? Params : Params extends (...args: any[]) => any ? Parameters<Params> : IsNever<Params> extends true ? [] : Params extends void ? [] : [Params];
15
+ /**
16
+ * Returns function that represents event listener with specified
17
+ * list of parameters.
18
+ */
19
+ export type EventListener<Params> = VoidFunc<EventParams<Params>>;
20
+ /**
21
+ * Returns event names.
22
+ */
23
+ export type EventName<Schema> = Extract<keyof Schema, string>;
24
+ /**
25
+ * Returns event names which do not require any arguments.
26
+ */
27
+ export type EmptyEventName<Schema> = {
28
+ [E in EventName<Schema>]: EventParams<Schema[E]> extends [] ? E : never;
29
+ }[EventName<Schema>];
30
+ /**
31
+ * Returns event names which require arguments.
32
+ */
33
+ export type NonEmptyEventName<Schema> = Exclude<EventName<Schema>, EmptyEventName<Schema>>;
34
+ /**
35
+ * Represents any listener, which could be used in EventEmitter.subscribe.
36
+ */
37
+ export type AnySubscribeListener<Schema> = {
38
+ [E in keyof Schema]: (event: E, ...args: EventParams<Schema[E]>) => void;
39
+ }[keyof Schema];
40
+ /**
41
+ * Function which removes event listener.
42
+ */
43
+ export type RemoveEventListener = () => void;
44
+ export {};
@@ -0,0 +1,22 @@
1
+ import { Logger } from './logger/index.js';
2
+ export declare const logger: Logger;
3
+ /**
4
+ * Sets new debug mode. Enabling debug mode leads to printing
5
+ * additional messages in console, related to the processes
6
+ * inside the package.
7
+ * @param value - should debug mode be enabled.
8
+ */
9
+ export declare function setDebug(value: boolean): void;
10
+ /**
11
+ * Sets new global targetOrigin, used by `postEvent` method.
12
+ * Default value is "https://web.telegram.org". You don't need to
13
+ * use this method until you know what you are doing.
14
+ *
15
+ * This method could be used for test purposes.
16
+ * @param value - new target origin.
17
+ */
18
+ export declare function setTargetOrigin(value: string): void;
19
+ /**
20
+ * Returns current global target origin.
21
+ */
22
+ export declare function targetOrigin(): string;
@@ -1,6 +1,6 @@
1
- import type { Version } from '@tma.js/utils';
2
- import { type PostEvent, type ImpactHapticFeedbackStyle, type NotificationHapticFeedbackType } from '@tma.js/bridge';
3
- import { type SupportsFunc } from '../../supports.js';
1
+ import { type ImpactHapticFeedbackStyle, type NotificationHapticFeedbackType, type PostEvent } from '../bridge/index.js';
2
+ import { type SupportsFunc } from '../supports/index.js';
3
+ import type { Version } from '../version/index.js';
4
4
  /**
5
5
  * Class which controls haptic feedback. It allows calling different types of
6
6
  * haptic notifications which usually occur after user interaction with
@@ -1,6 +1,24 @@
1
- export * from './components/index.js';
2
- export * from './errors/index.js';
3
- export * from './init/index.js';
4
- export * from './env.js';
5
- export * from './types.js';
6
- export * from './url.js';
1
+ export { BackButton, type BackButtonEventName, type BackButtonEventListener, } from './back-button/index.js';
2
+ export { createPostEvent, isIframe, on, off, once, postEvent, request, subscribe, unsubscribe, MethodUnsupportedError, ParameterUnsupportedError, type HeaderColorKey, type InvoiceStatus, type ImpactHapticFeedbackStyle, type MiniAppsMethodName, type MiniAppsEventName, type MiniAppsEventParams, type MiniAppsEventListener, type MiniAppsGlobalEventListener, type MiniAppsEmptyMethodName, type MiniAppsMethodAcceptParams, type MiniAppsMethodParams, type MiniAppsNonEmptyMethodName, type MiniAppsMethods, type MiniAppsEventEmitter, type MiniAppsEventHasParams, type MiniAppsEvents, type NotificationHapticFeedbackType, type PhoneRequestedStatus, type PostEvent, type RequestOptions, type SwitchInlineQueryChatType, type WriteAccessRequestedStatus, } from './bridge/index.js';
3
+ export { classNames, mergeClassNames, } from './classnames/index.js';
4
+ export { ClosingBehavior, type ClosingBehaviorEventListener, type ClosingBehaviorEventName, type ClosingBehaviorEvents, } from './closing-behavior/index.js';
5
+ export { CloudStorage } from './cloud-storage/index.js';
6
+ export { isRGB, isRGBShort, isColorDark, toRGB, type RGB, type RGBShort, } from './colors/index.js';
7
+ export { HapticFeedback } from './haptic-feedback/index.js';
8
+ export { init, type InitOptions, type InitResult, } from './init/index.js';
9
+ export { chatParser, InitData, initDataParser, parseInitData, userParser, type Chat, type ChatType, type InitDataParsed, type User, } from './init-data/index.js';
10
+ export { Invoice, type InvoiceEvents, type InvoiceEventListener, type InvoiceEventName, } from './invoice/index.js';
11
+ export { launchParamsParser, parseLaunchParams, retrieveLaunchData, serializeLaunchParams, type LaunchParams, type LaunchData, } from './launch-params/index.js';
12
+ export { MainButton, type MainButtonParams, type MainButtonProps, type MainButtonEvents, type MainButtonEventName, type MainButtonEventListener, } from './main-button/index.js';
13
+ export { MiniApp, type MiniAppHeaderColor, type MiniAppEventName, type MiniAppEventListener, type MiniAppEvents, type MiniAppProps, } from './mini-app/index.js';
14
+ export { isTMA, isRecord, } from './misc/index.js';
15
+ export { getHash, HashNavigator, Navigator, type NavigationEntry, type NavigatorConEntry, type NavigatorOptions, type HashNavigatorOptions, type HashNavigatorEventsMap, type HashNavigatorEventListener, type HashNavigatorEventName, } from './navigation/index.js';
16
+ export { Popup, type PopupEventName, type PopupEventListener, type PopupEvents, type OpenPopupOptions, type OpenPopupOptionsButton, } from './popup/index.js';
17
+ export { QRScanner, type QRScannerEventListener, type QRScannerEventName, type QRScannerEvents, } from './qr-scanner/index.js';
18
+ export { supports } from './supports/index.js';
19
+ export { parseThemeParams, requestThemeParams, serializeThemeParams, themeParamsParser, ThemeParams, type ThemeParamsEventListener, type ThemeParamsEventName, type ThemeParamsEvents, type ThemeParamsKey, type ThemeParamsParsed, } from './theme-params/index.js';
20
+ export type { RequestId, CreateRequestIdFunc, } from './types/index.js';
21
+ export { Utils } from './utils/index.js';
22
+ export { compareVersions, type Version, } from './version/index.js';
23
+ export { requestViewport, Viewport, type RequestViewportResult, type ViewportProps, type ViewportEventName, type ViewportEventListener, type ViewportEvents, } from './viewport/index.js';
24
+ export { setTargetOrigin, setDebug, } from './globals.js';
@@ -0,0 +1,4 @@
1
+ /**
2
+ * Creates style html element which contains styles sent from the Telegram application.
3
+ */
4
+ export declare function catchCustomStyles(): void;
@@ -1,5 +1,5 @@
1
- import type { PostEvent } from '@tma.js/bridge';
2
- import { BackButton } from '../../components/index.js';
1
+ import { BackButton } from '../../back-button/index.js';
2
+ import type { PostEvent } from '../../bridge/index.js';
3
3
  /**
4
4
  * Creates BackButton instance using last locally saved data also saving each state in
5
5
  * the storage.
@@ -1,9 +1,9 @@
1
- import type { PostEvent } from '@tma.js/bridge';
2
- import { ClosingBehaviour } from '../../components/index.js';
1
+ import { ClosingBehavior } from '../../closing-behavior/index.js';
2
+ import type { PostEvent } from '../../bridge/index.js';
3
3
  /**
4
4
  * Creates ClosingBehaviour instance using last locally saved data also saving each state in
5
5
  * the storage.
6
6
  * @param isPageReload - was current page reloaded.
7
7
  * @param postEvent - Bridge postEvent function
8
8
  */
9
- export declare function createClosingBehavior(isPageReload: boolean, postEvent: PostEvent): ClosingBehaviour;
9
+ export declare function createClosingBehavior(isPageReload: boolean, postEvent: PostEvent): ClosingBehavior;
@@ -1,6 +1,6 @@
1
- import type { RGB } from '@tma.js/colors';
2
- import type { PostEvent } from '@tma.js/bridge';
3
- import { MainButton } from '../../components/index.js';
1
+ import { MainButton } from '../../main-button/index.js';
2
+ import type { PostEvent } from '../../bridge/index.js';
3
+ import type { RGB } from '../../colors/index.js';
4
4
  /**
5
5
  * Creates MainButton instance using last locally saved data also saving each state in
6
6
  * the storage.
@@ -0,0 +1,14 @@
1
+ import { MiniApp } from '../../mini-app/index.js';
2
+ import type { PostEvent } from '../../bridge/index.js';
3
+ import type { RGB } from '../../colors/index.js';
4
+ import type { Version } from '../../version/index.js';
5
+ /**
6
+ * Creates MiniApp instance using last locally saved data also saving each state in
7
+ * the storage.
8
+ * @param isPageReload - was current page reloaded.
9
+ * @param backgroundColor - web app background color.
10
+ * @param version - platform version.
11
+ * @param botInline - is Mini App launched in inline mode.
12
+ * @param postEvent - Bridge postEvent function
13
+ */
14
+ export declare function createMiniApp(isPageReload: boolean, backgroundColor: RGB, version: Version, botInline: boolean, postEvent: PostEvent): MiniApp;
@@ -1,4 +1,4 @@
1
- import type { CreateRequestIdFunc } from '../../types.js';
1
+ import type { CreateRequestIdFunc } from '../../types/index.js';
2
2
  /**
3
3
  * Creates function which generated request identifiers.
4
4
  */
@@ -1,7 +1,6 @@
1
- import type { ThemeParams as ThemeParamsType } from '@tma.js/theme-params';
2
- import { ThemeParams } from '../../components/index.js';
1
+ import { ThemeParams, type ThemeParamsParsed } from '../../theme-params/index.js';
3
2
  /**
4
3
  * Creates synced instance of ThemeParams.
5
4
  * @param params - theme parameters.
6
5
  */
7
- export declare function createThemeParams(params: ThemeParamsType): ThemeParams;
6
+ export declare function createThemeParams(params: ThemeParamsParsed): ThemeParams;
@@ -1,11 +1,18 @@
1
- import type { PostEvent } from '@tma.js/bridge';
2
- import type { Platform } from '@tma.js/launch-params';
3
- import { Viewport } from '../../components/index.js';
1
+ import { Viewport } from '../../viewport/index.js';
2
+ import type { PostEvent } from '../../bridge/index.js';
3
+ import type { Platform } from '../../types/index.js';
4
4
  /**
5
- * Creates Viewport instance using last locally saved data also saving each state in
6
- * the storage.
7
- * @param isPageReload - was current page reloaded.
8
- * @param platform - Telegram Mini Apps platform name.
9
- * @param postEvent - Bridge postEvent function
5
+ * Creates Viewport instance using its actual state from the storage. Otherwise, creates it
6
+ * with default parameters.
7
+ * @param isPageReload - was page reloaded.
8
+ * @param platform - platform identifier.
9
+ * @param postEvent - Bridge postEvent function.
10
10
  */
11
- export declare function createViewport(isPageReload: boolean, platform: Platform, postEvent: PostEvent): Promise<Viewport>;
11
+ export declare function createViewportSync(isPageReload: boolean, platform: Platform, postEvent: PostEvent): Viewport;
12
+ /**
13
+ * Creates Viewport instance using its actual state from the Telegram application.
14
+ * @param isPageReload - was page reloaded.
15
+ * @param platform - platform identifier.
16
+ * @param postEvent - Bridge postEvent function.
17
+ */
18
+ export declare function createViewportAsync(isPageReload: boolean, platform: Platform, postEvent: PostEvent): Promise<Viewport>;
@@ -1,7 +1,7 @@
1
1
  export * from './createBackButton.js';
2
2
  export * from './createClosingBehavior.js';
3
3
  export * from './createMainButton.js';
4
+ export * from './createMiniApp.js';
4
5
  export * from './createRequestIdGenerator.js';
5
6
  export * from './createThemeParams.js';
6
7
  export * from './createViewport.js';
7
- export * from './createWebApp.js';
@@ -0,0 +1,16 @@
1
+ import type { MiniApp } from '../../mini-app/index.js';
2
+ import type { ThemeParams } from '../../theme-params/index.js';
3
+ /**
4
+ * Creates CSS variables connected with WebApp background and header colors based on
5
+ * passed WebApp and ThemeParams instances.
6
+ *
7
+ * Created variables:
8
+ * - `--tg-background-color`
9
+ * - `--tg-header-color`
10
+ *
11
+ * Variables are being automatically updated in case, corresponding properties are updating.
12
+ *
13
+ * @param miniApp - MiniApp instance.
14
+ * @param themeParams - ThemeParams instance.
15
+ */
16
+ export declare function bindMiniAppCSSVars(miniApp: MiniApp, themeParams: ThemeParams): void;
@@ -0,0 +1,12 @@
1
+ import type { ThemeParams } from '../../theme-params/index.js';
2
+ /**
3
+ * Creates CSS variables connected with theme parameters. Created CSS variables names are
4
+ * following the pattern "--tg-theme-{name}". {name} is a theme parameters key name converted
5
+ * from snake to kebab case.
6
+ *
7
+ * Variables are being automatically updated in case, corresponding properties
8
+ * updated in passed ThemeParams instance.
9
+ *
10
+ * @param themeParams - ThemeParams instance.
11
+ */
12
+ export declare function bindThemeCSSVars(themeParams: ThemeParams): void;
@@ -0,0 +1,20 @@
1
+ import type { Viewport } from '../../viewport/index.js';
2
+ /**
3
+ * Accepts Viewport instance and sets CSS variables connected with viewport
4
+ * sizes.
5
+ *
6
+ * Be careful using this function as long as it can impact application
7
+ * performance. Viewport size is changing rather often, this makes CSS
8
+ * variables update, which leads to possible layout redraw.
9
+ *
10
+ * Variables:
11
+ * - `--tg-viewport-height`
12
+ * - `--tg-viewport-width`
13
+ * - `--tg-viewport-stable-height`
14
+ *
15
+ * Variables are being automatically updated in case, corresponding properties
16
+ * updated in passed Viewport instance.
17
+ *
18
+ * @param viewport - Viewport instance.
19
+ */
20
+ export declare function bindViewportCSSVars(viewport: Viewport): void;
@@ -0,0 +1 @@
1
+ export * from './processCSSVarsOption.js';
@@ -0,0 +1,12 @@
1
+ import type { MiniApp } from '../../mini-app/index.js';
2
+ import type { ThemeParams } from '../../theme-params/index.js';
3
+ import type { Viewport } from '../../viewport/index.js';
4
+ import type { InitCSSVarsOption } from '../types.js';
5
+ /**
6
+ * Process initialization CSS vars option.
7
+ * @param option - option value.
8
+ * @param miniApp - MiniApp instance.
9
+ * @param themeParams - ThemeParams instance.
10
+ * @param viewportOrPromise - Viewport instance or promise resolving it.
11
+ */
12
+ export declare function processCSSVars(option: InitCSSVarsOption, miniApp: MiniApp, themeParams: ThemeParams, viewportOrPromise: Viewport | Promise<Viewport>): void;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Sets CSS variable.
3
+ * @param name - variable name.
4
+ * @param value - variable value.
5
+ */
6
+ export declare function setCSSVar(name: string, value: string): void;
@@ -1,6 +1,6 @@
1
1
  import type { InitOptions, InitResult } from './types.js';
2
- /**
3
- * Initializes all SDK components.
4
- * @param options - initialization options.
5
- */
6
- export declare function init(options?: InitOptions): Promise<InitResult>;
2
+ type ComputedInitResult<O> = O extends {
3
+ async: true;
4
+ } ? Promise<InitResult> : InitResult;
5
+ export declare function init<O extends InitOptions>(options: O): ComputedInitResult<O>;
6
+ export {};
@@ -1,77 +1,73 @@
1
- import type { PostEvent } from '@tma.js/bridge';
2
- import type { LaunchParams } from '@tma.js/launch-params';
3
- import type { BackButton, ClosingBehaviour, CloudStorage, HapticFeedback, InitData, MainButton, Popup, QRScanner, ThemeParams, Viewport, WebApp } from '../components/index.js';
1
+ import type { BackButton } from '../back-button/index.js';
2
+ import type { PostEvent } from '../bridge/index.js';
3
+ import type { ClosingBehavior } from '../closing-behavior/index.js';
4
+ import type { CloudStorage } from '../cloud-storage/index.js';
5
+ import type { HapticFeedback } from '../haptic-feedback/index.js';
6
+ import type { InitData } from '../init-data/index.js';
7
+ import type { Invoice } from '../invoice/index.js';
8
+ import type { MainButton } from '../main-button/index.js';
9
+ import type { MiniApp } from '../mini-app/index.js';
10
+ import type { Popup } from '../popup/index.js';
11
+ import type { QRScanner } from '../qr-scanner/index.js';
12
+ import type { ThemeParams } from '../theme-params/index.js';
13
+ import type { CreateRequestIdFunc } from '../types/index.js';
14
+ import type { Utils } from '../utils/index.js';
15
+ import type { Viewport } from '../viewport/index.js';
4
16
  export interface InitResult {
5
17
  backButton: BackButton;
6
- closingBehavior: ClosingBehaviour;
18
+ closingBehavior: ClosingBehavior;
7
19
  cloudStorage: CloudStorage;
8
- haptic: HapticFeedback;
20
+ createRequestId: CreateRequestIdFunc;
21
+ hapticFeedback: HapticFeedback;
9
22
  initData?: InitData;
10
23
  initDataRaw?: string;
24
+ invoice: Invoice;
11
25
  mainButton: MainButton;
26
+ miniApp: MiniApp;
12
27
  popup: Popup;
13
28
  postEvent: PostEvent;
14
29
  qrScanner: QRScanner;
15
30
  themeParams: ThemeParams;
31
+ utils: Utils;
16
32
  viewport: Viewport;
17
- webApp: WebApp;
18
33
  }
19
34
  export interface InitCSSVarsSpecificOption {
20
35
  /**
21
- * Enables theme parameters CSS variables:
22
- * - `--tg-theme-bg-color`
23
- * - `--tg-theme-button-color`
24
- * - `--tg-theme-button-text-color`
25
- * - `--tg-theme-hint-color`
26
- * - `--tg-theme-link-color`
27
- * - `--tg-theme-secondary-bg-color`
28
- * - `--tg-theme-text-color`
29
- *
30
- * @see bindThemeCSSVariables
36
+ * Enables theme parameters CSS variables.
37
+ * @see bindThemeCSSVars
38
+ * @default false
31
39
  */
32
- themeParams?: true;
40
+ themeParams?: boolean;
33
41
  /**
34
- * Enables viewport CSS variables:
35
- * - `--tg-viewport-height`
36
- * - `--tg-viewport-stable-height`
37
- *
38
- * @see bindViewportCSSVariables
42
+ * Enables viewport CSS variables.
43
+ * @see bindViewportCSSVars
44
+ * @default false
39
45
  */
40
- viewport?: true;
46
+ viewport?: boolean;
41
47
  /**
42
- * Enables web app CSS variables:
43
- * - `--tg-bg-color`
44
- * - `--tg-header-color`
45
- *
46
- * @see bindWebAppVariables
48
+ * Enables mini app CSS variables.
49
+ * @see bindMiniAppCSSVars
50
+ * @default false
47
51
  */
48
- webApp?: true;
52
+ miniApp?: boolean;
49
53
  }
50
54
  export type InitCSSVarsOption = boolean | InitCSSVarsSpecificOption;
51
55
  export interface InitOptions {
52
56
  /**
53
- * @deprecated Use acceptCustomStyles
57
+ * True if synchronization must be performed asynchronously. This allows init function to
58
+ * perform async operations. One of them is the actual viewport state retrieving from the
59
+ * Telegram application. Otherwise, viewport state will be retrieved later.
60
+ * @default false
54
61
  */
55
- acceptScrollbarStyle?: boolean;
62
+ async?: boolean;
56
63
  /**
57
- * Should SDK accept styles sent from the Telegram web application.
58
- * This option is only used in Web versions of Telegram.
59
- *
60
- * @default true
64
+ * True if SDK should accept styles sent from the Telegram web application. This option is only
65
+ * used in web versions of Telegram.
66
+ * @default false
61
67
  */
62
68
  acceptCustomStyles?: boolean;
63
69
  /**
64
- * Should SDK throw an error in case, unsupported by current version of
65
- * Mini App method was called. It is highly recommended not to disable this
66
- * feature as long as it helps developer to find issues related to usage
67
- * of unsupported methods.
68
- *
69
- * @default true
70
- */
71
- checkCompat?: boolean;
72
- /**
73
- * Should SDK create global CSS variables related to current Telegram
74
- * application colors.
70
+ * Should SDK create global CSS variables related to current Telegram application colors.
75
71
  *
76
72
  * Possible values:
77
73
  * - `false` - no CSS variables will be created.
@@ -81,27 +77,4 @@ export interface InitOptions {
81
77
  * @default false
82
78
  */
83
79
  cssVars?: InitCSSVarsOption;
84
- /**
85
- * Enable debug mode.
86
- *
87
- * @default false
88
- */
89
- debug?: boolean;
90
- /**
91
- * Launch parameters presented as query parameters or already parsed
92
- * object. In case, this value is not specified, init
93
- * function will try to retrieve launch parameters from window.location.hash
94
- * via retrieveLaunchParams function.
95
- */
96
- launchParams?: string | URLSearchParams | LaunchParams;
97
- /**
98
- * Sets new targetOrigin, used by bridge's `postEvent` function.
99
- * @see setTargetOrigin
100
- */
101
- targetOrigin?: string;
102
- /**
103
- * Initialization process timeout.
104
- * @default 1000
105
- */
106
- timeout?: number;
107
80
  }
@@ -0,0 +1,53 @@
1
+ import type { Chat, ChatType, InitDataParsed, User } from './types.js';
2
+ /**
3
+ * Class which is responsible for displaying Mini Apps init data.
4
+ */
5
+ export declare class InitData {
6
+ private readonly initData;
7
+ constructor(initData: InitDataParsed);
8
+ /**
9
+ * @see InitDataParsed.authDate
10
+ */
11
+ get authDate(): Date;
12
+ /**
13
+ * @see InitDataParsed.canSendAfter
14
+ */
15
+ get canSendAfter(): number | undefined;
16
+ /**
17
+ * Date after which it is allowed to call
18
+ * the [answerWebAppQuery](https://core.telegram.org/bots/api#answerwebappquery) method.
19
+ */
20
+ get canSendAfterDate(): Date | undefined;
21
+ /**
22
+ * @see InitDataParsed.chat
23
+ */
24
+ get chat(): Chat | undefined;
25
+ /**
26
+ * @see InitDataParsed.chatType
27
+ */
28
+ get chatType(): ChatType | undefined;
29
+ /**
30
+ * @see InitDataParsed.chatInstance
31
+ */
32
+ get chatInstance(): string | undefined;
33
+ /**
34
+ * @see InitDataParsed.hash
35
+ */
36
+ get hash(): string;
37
+ /**
38
+ * @see InitDataParsed.queryId
39
+ */
40
+ get queryId(): string | undefined;
41
+ /**
42
+ * @see InitDataParsed.receiver
43
+ */
44
+ get receiver(): User | undefined;
45
+ /**
46
+ * @see InitDataParsed.startParam
47
+ */
48
+ get startParam(): string | undefined;
49
+ /**
50
+ * @see InitDataParsed.user
51
+ */
52
+ get user(): User | undefined;
53
+ }
@@ -0,0 +1,5 @@
1
+ import type { Chat } from './types.js';
2
+ /**
3
+ * Returns parser used to parse chat data.
4
+ */
5
+ export declare function chatParser(): import('../parsing/index.js').ValueParser<Chat, false>;
@@ -0,0 +1,6 @@
1
+ export * from './chatParser.js';
2
+ export * from './InitData.js';
3
+ export * from './initDataParser.js';
4
+ export * from './parseInitData.js';
5
+ export * from './types.js';
6
+ export * from './userParser.js';
@@ -0,0 +1,5 @@
1
+ import type { InitDataParsed } from './types.js';
2
+ /**
3
+ * Returns parser used to parse init data, presented as search params.
4
+ */
5
+ export declare function initDataParser(): import('../parsing/index.js').ValueParser<InitDataParsed, false>;
@@ -0,0 +1,6 @@
1
+ import type { InitDataParsed } from './types.js';
2
+ /**
3
+ * Parses incoming value as init data.
4
+ * @param value - value to parse.
5
+ */
6
+ export declare function parseInitData(value: unknown): InitDataParsed;