@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.
- package/dist/dts/{components/BackButton → back-button}/BackButton.d.ts +12 -9
- package/dist/dts/back-button/index.d.ts +2 -0
- package/dist/dts/{components/BackButton → back-button}/types.d.ts +3 -2
- package/dist/dts/bridge/env/hasExternalNotify.d.ts +12 -0
- package/dist/dts/bridge/env/hasWebviewProxy.d.ts +12 -0
- package/dist/dts/bridge/env/index.d.ts +3 -0
- package/dist/dts/bridge/env/isIframe.d.ts +5 -0
- package/dist/dts/bridge/errors/MethodUnsupportedError.d.ts +8 -0
- package/dist/dts/bridge/errors/ParameterUnsupportedError.d.ts +8 -0
- package/dist/dts/bridge/errors/index.d.ts +2 -0
- package/dist/dts/bridge/events/createEmitter.d.ts +6 -0
- package/dist/dts/bridge/events/events.d.ts +130 -0
- package/dist/dts/bridge/events/index.d.ts +9 -0
- package/dist/dts/bridge/events/off.d.ts +7 -0
- package/dist/dts/bridge/events/on.d.ts +10 -0
- package/dist/dts/bridge/events/onTelegramEvent.d.ts +7 -0
- package/dist/dts/bridge/events/once.d.ts +9 -0
- package/dist/dts/bridge/events/parsers/clipboardTextReceived.d.ts +13 -0
- package/dist/dts/bridge/events/parsers/customMethodInvoked.d.ts +16 -0
- package/dist/dts/bridge/events/parsers/index.d.ts +9 -0
- package/dist/dts/bridge/events/parsers/invoiceClosed.d.ts +12 -0
- package/dist/dts/bridge/events/parsers/phoneRequested.d.ts +8 -0
- package/dist/dts/bridge/events/parsers/popupClosed.d.ts +8 -0
- package/dist/dts/bridge/events/parsers/qrTextReceived.d.ts +7 -0
- package/dist/dts/bridge/events/parsers/theme-changed.d.ts +42 -0
- package/dist/dts/bridge/events/parsers/viewportChanged.d.ts +19 -0
- package/dist/dts/bridge/events/parsers/writeAccessRequested.d.ts +8 -0
- package/dist/dts/bridge/events/singletonEmitter.d.ts +6 -0
- package/dist/dts/bridge/events/subscribe.d.ts +9 -0
- package/dist/dts/bridge/events/unsubscribe.d.ts +6 -0
- package/dist/dts/bridge/index.d.ts +5 -0
- package/dist/dts/bridge/methods/createPostEvent.d.ts +10 -0
- package/dist/dts/bridge/methods/haptic.d.ts +40 -0
- package/dist/dts/bridge/methods/index.d.ts +6 -0
- package/dist/dts/bridge/methods/invoke-custom-method.d.ts +24 -0
- package/dist/dts/bridge/methods/methods.d.ts +329 -0
- package/dist/dts/bridge/methods/popup.d.ts +49 -0
- package/dist/dts/bridge/methods/postEvent.d.ts +29 -0
- package/dist/dts/bridge/request.d.ts +65 -0
- package/dist/dts/classnames/classNames.d.ts +10 -0
- package/dist/dts/classnames/index.d.ts +2 -0
- package/dist/dts/classnames/mergeClassNames.d.ts +32 -0
- package/dist/dts/{components/ClosingBehaviour/ClosingBehaviour.d.ts → closing-behavior/ClosingBehavior.d.ts} +5 -4
- package/dist/dts/closing-behavior/index.d.ts +2 -0
- package/dist/dts/closing-behavior/types.d.ts +7 -0
- package/dist/dts/{components/CloudStorage → cloud-storage}/CloudStorage.d.ts +19 -11
- package/dist/dts/colors/index.d.ts +5 -0
- package/dist/dts/colors/isColorDark.d.ts +6 -0
- package/dist/dts/colors/isRGB.d.ts +6 -0
- package/dist/dts/colors/isRGBShort.d.ts +6 -0
- package/dist/dts/colors/toRGB.d.ts +11 -0
- package/dist/dts/colors/types.d.ts +8 -0
- package/dist/dts/event-emitter/EventEmitter.d.ts +64 -0
- package/dist/dts/event-emitter/index.d.ts +2 -0
- package/dist/dts/event-emitter/types.d.ts +44 -0
- package/dist/dts/globals.d.ts +22 -0
- package/dist/dts/{components/HapticFeedback → haptic-feedback}/HapticFeedback.d.ts +3 -3
- package/dist/dts/index.d.ts +24 -6
- package/dist/dts/init/catchCustomStyles.d.ts +4 -0
- package/dist/dts/init/creators/createBackButton.d.ts +2 -2
- package/dist/dts/init/creators/createClosingBehavior.d.ts +3 -3
- package/dist/dts/init/creators/createMainButton.d.ts +3 -3
- package/dist/dts/init/creators/createMiniApp.d.ts +14 -0
- package/dist/dts/init/creators/createRequestIdGenerator.d.ts +1 -1
- package/dist/dts/init/creators/createThemeParams.d.ts +2 -3
- package/dist/dts/init/creators/createViewport.d.ts +16 -9
- package/dist/dts/init/creators/index.d.ts +1 -1
- package/dist/dts/init/css/bindMiniAppCSSVars.d.ts +16 -0
- package/dist/dts/init/css/bindThemeCSSVars.d.ts +12 -0
- package/dist/dts/init/css/bindViewportCSSVars.d.ts +20 -0
- package/dist/dts/init/css/index.d.ts +1 -0
- package/dist/dts/init/css/processCSSVarsOption.d.ts +12 -0
- package/dist/dts/init/css/setCSSVar.d.ts +6 -0
- package/dist/dts/init/init.d.ts +5 -5
- package/dist/dts/init/types.d.ts +42 -69
- package/dist/dts/init-data/InitData.d.ts +53 -0
- package/dist/dts/init-data/chatParser.d.ts +5 -0
- package/dist/dts/init-data/index.d.ts +6 -0
- package/dist/dts/init-data/initDataParser.d.ts +5 -0
- package/dist/dts/init-data/parseInitData.d.ts +6 -0
- package/dist/dts/init-data/types.d.ts +133 -0
- package/dist/dts/init-data/userParser.d.ts +5 -0
- package/dist/dts/invoice/Invoice.d.ts +43 -0
- package/dist/dts/invoice/index.d.ts +2 -0
- package/dist/dts/invoice/types.d.ts +7 -0
- package/dist/dts/launch-params/computeLaunchData.d.ts +6 -0
- package/dist/dts/launch-params/computePageReload.d.ts +6 -0
- package/dist/dts/launch-params/getFirstNavigationEntry.d.ts +6 -0
- package/dist/dts/launch-params/index.d.ts +12 -0
- package/dist/dts/launch-params/launchParamsParser.d.ts +5 -0
- package/dist/dts/launch-params/parseLaunchParams.d.ts +6 -0
- package/dist/dts/launch-params/retrieveCurrent.d.ts +5 -0
- package/dist/dts/launch-params/retrieveFromLocation.d.ts +6 -0
- package/dist/dts/launch-params/retrieveFromPerformance.d.ts +8 -0
- package/dist/dts/launch-params/retrieveLaunchData.d.ts +6 -0
- package/dist/dts/launch-params/serializeLaunchParams.d.ts +6 -0
- package/dist/dts/launch-params/storage.d.ts +13 -0
- package/dist/dts/launch-params/types.d.ts +48 -0
- package/dist/dts/logger/Logger.d.ts +38 -0
- package/dist/dts/logger/index.d.ts +1 -0
- package/dist/dts/main-button/MainButton.d.ts +104 -0
- package/dist/dts/main-button/index.d.ts +2 -0
- package/dist/dts/main-button/types.d.ts +20 -0
- package/dist/dts/mini-app/MiniApp.d.ts +99 -0
- package/dist/dts/mini-app/index.d.ts +2 -0
- package/dist/dts/mini-app/types.d.ts +19 -0
- package/dist/dts/misc/index.d.ts +2 -0
- package/dist/dts/misc/isRecord.d.ts +5 -0
- package/dist/dts/misc/isTMA.d.ts +4 -0
- package/dist/dts/navigation/HashNavigator/HashNavigator.d.ts +43 -0
- package/dist/dts/navigation/HashNavigator/drop.d.ts +4 -0
- package/dist/dts/navigation/HashNavigator/go.d.ts +5 -0
- package/dist/dts/navigation/HashNavigator/index.d.ts +2 -0
- package/dist/dts/navigation/HashNavigator/types.d.ts +34 -0
- package/dist/dts/navigation/Navigator/Navigator.d.ts +104 -0
- package/dist/dts/navigation/Navigator/index.d.ts +2 -0
- package/dist/dts/navigation/Navigator/types.d.ts +44 -0
- package/dist/dts/navigation/ensurePrefix.d.ts +7 -0
- package/dist/dts/navigation/getHash.d.ts +14 -0
- package/dist/dts/navigation/index.d.ts +4 -0
- package/dist/dts/parsing/ArrayValueParser.d.ts +18 -0
- package/dist/dts/parsing/ParseError.d.ts +22 -0
- package/dist/dts/parsing/ParseSchemaFieldError.d.ts +17 -0
- package/dist/dts/parsing/ValueParser.d.ts +36 -0
- package/dist/dts/parsing/createValueParserGenerator.d.ts +9 -0
- package/dist/dts/parsing/index.d.ts +10 -0
- package/dist/dts/parsing/parseBySchema.d.ts +8 -0
- package/dist/dts/parsing/parsers/array.d.ts +6 -0
- package/dist/dts/parsing/parsers/boolean.d.ts +4 -0
- package/dist/dts/parsing/parsers/date.d.ts +4 -0
- package/dist/dts/parsing/parsers/index.d.ts +8 -0
- package/dist/dts/parsing/parsers/json.d.ts +8 -0
- package/dist/dts/parsing/parsers/number.d.ts +4 -0
- package/dist/dts/parsing/parsers/rgb.d.ts +4 -0
- package/dist/dts/parsing/parsers/searchParams.d.ts +8 -0
- package/dist/dts/parsing/parsers/string.d.ts +4 -0
- package/dist/dts/parsing/toRecord.d.ts +7 -0
- package/dist/dts/parsing/types.d.ts +30 -0
- package/dist/dts/parsing/unexpectedTypeError.d.ts +4 -0
- package/dist/dts/{components/Popup → popup}/Popup.d.ts +10 -9
- package/dist/dts/popup/index.d.ts +2 -0
- package/dist/dts/popup/preparePopupParams.d.ts +7 -0
- package/dist/dts/{components/Popup → popup}/types.d.ts +4 -4
- package/dist/dts/{components/QRScanner → qr-scanner}/QRScanner.d.ts +6 -5
- package/dist/dts/qr-scanner/index.d.ts +2 -0
- package/dist/dts/{components/QRScanner → qr-scanner}/types.d.ts +1 -1
- package/dist/dts/state/State.d.ts +19 -7
- package/dist/dts/state/types.d.ts +4 -7
- package/dist/dts/storage.d.ts +4 -4
- package/dist/dts/supports/createSupportsFunc.d.ts +10 -0
- package/dist/dts/supports/createSupportsParamFunc.d.ts +15 -0
- package/dist/dts/supports/index.d.ts +4 -0
- package/dist/dts/supports/supports.d.ts +15 -0
- package/dist/dts/supports/types.d.ts +1 -0
- package/dist/dts/theme-params/ThemeParams.d.ts +62 -0
- package/dist/dts/theme-params/index.d.ts +6 -0
- package/dist/dts/theme-params/keys.d.ts +11 -0
- package/dist/dts/theme-params/parseThemeParams.d.ts +6 -0
- package/dist/dts/theme-params/requestThemeParams.d.ts +7 -0
- package/dist/dts/theme-params/serializeThemeParams.d.ts +5 -0
- package/dist/dts/theme-params/themeParamsParser.d.ts +2 -0
- package/dist/dts/theme-params/types.d.ts +14 -0
- package/dist/dts/timeout/TimeoutError.d.ts +3 -0
- package/dist/dts/timeout/index.d.ts +3 -0
- package/dist/dts/timeout/isTimeoutError.d.ts +6 -0
- package/dist/dts/timeout/withTimeout.d.ts +14 -0
- package/dist/dts/types/index.d.ts +3 -0
- package/dist/dts/types/platform.d.ts +4 -0
- package/dist/dts/types/request-id.d.ts +9 -0
- package/dist/dts/types/utils.d.ts +36 -0
- package/dist/dts/utils/Utils.d.ts +45 -0
- package/dist/dts/utils/index.d.ts +1 -0
- package/dist/dts/version/compareVersions.d.ts +8 -0
- package/dist/dts/version/index.d.ts +2 -0
- package/dist/dts/version/types.d.ts +4 -0
- package/dist/dts/{components/Viewport → viewport}/Viewport.d.ts +16 -38
- package/dist/dts/viewport/index.d.ts +3 -0
- package/dist/dts/viewport/requestViewport.d.ts +12 -0
- package/dist/dts/{components/Viewport → viewport}/types.d.ts +9 -1
- package/dist/dts/viewport/utils.d.ts +5 -0
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.iife.js +1 -1
- package/dist/index.iife.js.map +1 -1
- package/dist/index.mjs +2254 -1027
- package/dist/index.mjs.map +1 -1
- package/package.json +7 -16
- package/src/{components/BackButton → back-button}/BackButton.ts +23 -21
- package/src/back-button/index.ts +2 -0
- package/src/{components/BackButton → back-button}/types.ts +3 -2
- package/src/bridge/env/hasExternalNotify.ts +19 -0
- package/src/bridge/env/hasWebviewProxy.ts +19 -0
- package/src/bridge/env/index.ts +3 -0
- package/src/bridge/env/isIframe.ts +11 -0
- package/src/bridge/errors/MethodUnsupportedError.ts +13 -0
- package/src/bridge/errors/ParameterUnsupportedError.ts +13 -0
- package/src/bridge/errors/index.ts +2 -0
- package/src/bridge/events/createEmitter.ts +108 -0
- package/src/bridge/events/events.ts +170 -0
- package/src/bridge/events/index.ts +9 -0
- package/src/bridge/events/off.ts +14 -0
- package/src/bridge/events/on.ts +19 -0
- package/src/bridge/events/onTelegramEvent.ts +83 -0
- package/src/bridge/events/once.ts +18 -0
- package/src/bridge/events/parsers/clipboardTextReceived.ts +26 -0
- package/src/bridge/events/parsers/customMethodInvoked.ts +25 -0
- package/src/bridge/events/parsers/index.ts +9 -0
- package/src/bridge/events/parsers/invoiceClosed.ts +26 -0
- package/src/bridge/events/parsers/phoneRequested.ts +14 -0
- package/src/bridge/events/parsers/popupClosed.ts +19 -0
- package/src/bridge/events/parsers/qrTextReceived.ts +14 -0
- package/src/bridge/events/parsers/theme-changed.ts +58 -0
- package/src/bridge/events/parsers/viewportChanged.ts +33 -0
- package/src/bridge/events/parsers/writeAccessRequested.ts +14 -0
- package/src/bridge/events/singletonEmitter.ts +19 -0
- package/src/bridge/events/subscribe.ts +15 -0
- package/src/bridge/events/unsubscribe.ts +10 -0
- package/src/bridge/index.ts +5 -0
- package/src/bridge/methods/createPostEvent.ts +40 -0
- package/src/bridge/methods/haptic.ts +52 -0
- package/src/bridge/methods/index.ts +6 -0
- package/src/bridge/methods/invoke-custom-method.ts +25 -0
- package/src/bridge/methods/methods.ts +372 -0
- package/src/bridge/methods/popup.ts +53 -0
- package/src/bridge/methods/postEvent.ts +101 -0
- package/src/bridge/request.ts +185 -0
- package/src/classnames/classNames.ts +34 -0
- package/src/classnames/index.ts +2 -0
- package/src/classnames/mergeClassNames.ts +68 -0
- package/src/{components/ClosingBehaviour/ClosingBehaviour.ts → closing-behavior/ClosingBehavior.ts} +12 -10
- package/src/closing-behavior/index.ts +2 -0
- package/src/closing-behavior/types.ts +12 -0
- package/src/{components/CloudStorage → cloud-storage}/CloudStorage.ts +50 -28
- package/src/colors/index.ts +5 -0
- package/src/colors/isColorDark.ts +22 -0
- package/src/colors/isRGB.ts +9 -0
- package/src/colors/isRGBShort.ts +9 -0
- package/src/colors/toRGB.ts +49 -0
- package/src/colors/types.ts +9 -0
- package/src/event-emitter/EventEmitter.ts +146 -0
- package/src/event-emitter/index.ts +2 -0
- package/src/event-emitter/types.ts +60 -0
- package/src/globals.ts +38 -0
- package/src/{components/HapticFeedback → haptic-feedback}/HapticFeedback.ts +16 -8
- package/src/index.ts +171 -6
- package/src/init/catchCustomStyles.ts +17 -0
- package/src/init/creators/createBackButton.ts +4 -6
- package/src/init/creators/createClosingBehavior.ts +6 -8
- package/src/init/creators/createMainButton.ts +13 -20
- package/src/init/creators/createMiniApp.ts +44 -0
- package/src/init/creators/createRequestIdGenerator.ts +1 -1
- package/src/init/creators/createThemeParams.ts +3 -6
- package/src/init/creators/createViewport.ts +92 -42
- package/src/init/creators/index.ts +1 -1
- package/src/init/css/bindMiniAppCSSVars.ts +48 -0
- package/src/init/css/bindThemeCSSVars.ts +31 -0
- package/src/init/css/bindViewportCSSVars.ts +36 -0
- package/src/init/css/index.ts +1 -0
- package/src/init/css/processCSSVarsOption.ts +57 -0
- package/src/init/css/setCSSVar.ts +8 -0
- package/src/init/init.ts +119 -154
- package/src/init/types.ts +42 -87
- package/src/init-data/InitData.ts +96 -0
- package/src/init-data/chatParser.ts +19 -0
- package/src/init-data/index.ts +6 -0
- package/src/init-data/initDataParser.ts +41 -0
- package/src/init-data/parseInitData.ts +10 -0
- package/src/init-data/types.ts +164 -0
- package/src/init-data/userParser.ts +45 -0
- package/src/invoice/Invoice.ts +123 -0
- package/src/invoice/index.ts +2 -0
- package/src/invoice/types.ts +11 -0
- package/src/launch-params/computeLaunchData.ts +81 -0
- package/src/launch-params/computePageReload.ts +13 -0
- package/src/launch-params/getFirstNavigationEntry.ts +10 -0
- package/src/launch-params/index.ts +12 -0
- package/src/launch-params/launchParamsParser.ts +41 -0
- package/src/launch-params/parseLaunchParams.ts +10 -0
- package/src/launch-params/retrieveCurrent.ts +27 -0
- package/src/launch-params/retrieveFromLocation.ts +10 -0
- package/src/launch-params/retrieveFromPerformance.ts +23 -0
- package/src/launch-params/retrieveLaunchData.ts +30 -0
- package/src/launch-params/serializeLaunchParams.ts +37 -0
- package/src/launch-params/storage.ts +33 -0
- package/src/launch-params/types.ts +57 -0
- package/src/logger/Logger.ts +72 -0
- package/src/logger/index.ts +1 -0
- package/src/main-button/MainButton.ts +239 -0
- package/src/main-button/index.ts +2 -0
- package/src/main-button/types.ts +26 -0
- package/src/mini-app/MiniApp.ts +237 -0
- package/src/mini-app/index.ts +2 -0
- package/src/mini-app/types.ts +25 -0
- package/src/misc/index.ts +2 -0
- package/src/misc/isRecord.ts +7 -0
- package/src/misc/isTMA.ts +13 -0
- package/src/navigation/HashNavigator/HashNavigator.ts +220 -0
- package/src/navigation/HashNavigator/drop.ts +36 -0
- package/src/navigation/HashNavigator/go.ts +28 -0
- package/src/navigation/HashNavigator/index.ts +2 -0
- package/src/navigation/HashNavigator/types.ts +41 -0
- package/src/navigation/Navigator/Navigator.ts +282 -0
- package/src/navigation/Navigator/index.ts +2 -0
- package/src/navigation/Navigator/types.ts +55 -0
- package/src/navigation/ensurePrefix.ts +9 -0
- package/src/navigation/getHash.ts +17 -0
- package/src/navigation/index.ts +4 -0
- package/src/parsing/ArrayValueParser.ts +79 -0
- package/src/parsing/ParseError.ts +27 -0
- package/src/parsing/ParseSchemaFieldError.ts +21 -0
- package/src/parsing/ValueParser.ts +71 -0
- package/src/parsing/createValueParserGenerator.ts +16 -0
- package/src/parsing/index.ts +10 -0
- package/src/parsing/parseBySchema.ts +65 -0
- package/src/parsing/parsers/array.ts +9 -0
- package/src/parsing/parsers/boolean.ts +22 -0
- package/src/parsing/parsers/date.ts +13 -0
- package/src/parsing/parsers/index.ts +8 -0
- package/src/parsing/parsers/json.ts +17 -0
- package/src/parsing/parsers/number.ts +21 -0
- package/src/parsing/parsers/rgb.ts +12 -0
- package/src/parsing/parsers/searchParams.ts +24 -0
- package/src/parsing/parsers/string.ts +12 -0
- package/src/parsing/toRecord.ts +27 -0
- package/src/parsing/types.ts +32 -0
- package/src/parsing/unexpectedTypeError.ts +6 -0
- package/src/{components/Popup → popup}/Popup.ts +38 -28
- package/src/popup/index.ts +2 -0
- package/src/{components/Popup/utils.ts → popup/preparePopupParams.ts} +3 -3
- package/src/{components/Popup → popup}/types.ts +4 -4
- package/src/{components/QRScanner → qr-scanner}/QRScanner.ts +18 -10
- package/src/qr-scanner/index.ts +2 -0
- package/src/{components/QRScanner → qr-scanner}/types.ts +1 -1
- package/src/state/State.ts +31 -21
- package/src/state/types.ts +5 -8
- package/src/storage.ts +6 -4
- package/src/supports/createSupportsFunc.ts +18 -0
- package/src/supports/createSupportsParamFunc.ts +27 -0
- package/src/supports/index.ts +4 -0
- package/src/supports/supports.ts +84 -0
- package/src/supports/types.ts +1 -0
- package/src/theme-params/ThemeParams.ts +131 -0
- package/src/theme-params/index.ts +6 -0
- package/src/theme-params/keys.ts +24 -0
- package/src/theme-params/parseThemeParams.ts +10 -0
- package/src/theme-params/requestThemeParams.ts +13 -0
- package/src/theme-params/serializeThemeParams.ts +20 -0
- package/src/theme-params/themeParamsParser.ts +20 -0
- package/src/theme-params/types.ts +33 -0
- package/src/timeout/TimeoutError.ts +6 -0
- package/src/timeout/index.ts +3 -0
- package/src/timeout/isTimeoutError.ts +9 -0
- package/src/timeout/withTimeout.ts +36 -0
- package/src/types/index.ts +3 -0
- package/src/types/platform.ts +14 -0
- package/src/types/request-id.ts +10 -0
- package/src/types/utils.ts +50 -0
- package/src/utils/Utils.ts +107 -0
- package/src/utils/index.ts +1 -0
- package/src/version/compareVersions.ts +28 -0
- package/src/version/index.ts +2 -0
- package/src/version/types.ts +4 -0
- package/src/{components/Viewport → viewport}/Viewport.ts +72 -98
- package/src/viewport/index.ts +3 -0
- package/src/viewport/requestViewport.ts +23 -0
- package/src/{components/Viewport → viewport}/types.ts +10 -1
- package/src/viewport/utils.ts +7 -0
- package/dist/dts/components/BackButton/index.d.ts +0 -2
- package/dist/dts/components/ClosingBehaviour/index.d.ts +0 -2
- package/dist/dts/components/ClosingBehaviour/types.d.ts +0 -7
- package/dist/dts/components/InitData/InitData.d.ts +0 -60
- package/dist/dts/components/InitData/index.d.ts +0 -1
- package/dist/dts/components/MainButton/MainButton.d.ts +0 -114
- package/dist/dts/components/MainButton/index.d.ts +0 -2
- package/dist/dts/components/MainButton/types.d.ts +0 -15
- package/dist/dts/components/Popup/index.d.ts +0 -2
- package/dist/dts/components/Popup/utils.d.ts +0 -7
- package/dist/dts/components/QRScanner/index.d.ts +0 -2
- package/dist/dts/components/ThemeParams/ThemeParams.d.ts +0 -85
- package/dist/dts/components/ThemeParams/index.d.ts +0 -2
- package/dist/dts/components/ThemeParams/types.d.ts +0 -6
- package/dist/dts/components/Viewport/index.d.ts +0 -2
- package/dist/dts/components/WebApp/WebApp.d.ts +0 -146
- package/dist/dts/components/WebApp/index.d.ts +0 -2
- package/dist/dts/components/WebApp/types.d.ts +0 -11
- package/dist/dts/components/index.d.ts +0 -11
- package/dist/dts/env.d.ts +0 -10
- package/dist/dts/errors/MethodNotSupportedError.d.ts +0 -6
- package/dist/dts/errors/ParameterNotSupportedError.d.ts +0 -6
- package/dist/dts/errors/index.d.ts +0 -2
- package/dist/dts/init/creators/createWebApp.d.ts +0 -16
- package/dist/dts/init/css.d.ts +0 -50
- package/dist/dts/supports.d.ts +0 -22
- package/dist/dts/types.d.ts +0 -10
- package/dist/dts/url.d.ts +0 -7
- package/src/components/BackButton/index.ts +0 -2
- package/src/components/ClosingBehaviour/index.ts +0 -6
- package/src/components/ClosingBehaviour/types.ts +0 -12
- package/src/components/InitData/InitData.ts +0 -139
- package/src/components/InitData/index.ts +0 -1
- package/src/components/MainButton/MainButton.ts +0 -242
- package/src/components/MainButton/index.ts +0 -2
- package/src/components/MainButton/types.ts +0 -20
- package/src/components/Popup/index.ts +0 -8
- package/src/components/QRScanner/index.ts +0 -2
- package/src/components/ThemeParams/ThemeParams.ts +0 -168
- package/src/components/ThemeParams/index.ts +0 -2
- package/src/components/ThemeParams/types.ts +0 -11
- package/src/components/Viewport/index.ts +0 -2
- package/src/components/WebApp/WebApp.ts +0 -311
- package/src/components/WebApp/index.ts +0 -2
- package/src/components/WebApp/types.ts +0 -17
- package/src/components/index.ts +0 -11
- package/src/env.ts +0 -22
- package/src/errors/MethodNotSupportedError.ts +0 -9
- package/src/errors/ParameterNotSupportedError.ts +0 -9
- package/src/errors/index.ts +0 -2
- package/src/init/creators/createWebApp.ts +0 -52
- package/src/init/css.ts +0 -142
- package/src/supports.ts +0 -44
- package/src/types.ts +0 -13
- package/src/url.ts +0 -23
- /package/dist/dts/{components/CloudStorage → cloud-storage}/index.d.ts +0 -0
- /package/dist/dts/{components/HapticFeedback → haptic-feedback}/index.d.ts +0 -0
- /package/src/{components/CloudStorage → cloud-storage}/index.ts +0 -0
- /package/src/{components/HapticFeedback → haptic-feedback}/index.ts +0 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { json, string } from '~/parsing/index.js';
|
|
2
|
+
import type { RequestId } from '~/types/index.js';
|
|
3
|
+
|
|
4
|
+
export interface CustomMethodInvokedPayload<R = unknown> {
|
|
5
|
+
/**
|
|
6
|
+
* Unique identifier of this invocation.
|
|
7
|
+
*/
|
|
8
|
+
req_id: RequestId;
|
|
9
|
+
/**
|
|
10
|
+
* Method invocation successful result.
|
|
11
|
+
*/
|
|
12
|
+
result?: R;
|
|
13
|
+
/**
|
|
14
|
+
* Method invocation error code.
|
|
15
|
+
*/
|
|
16
|
+
error?: string;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export function customMethodInvoked() {
|
|
20
|
+
return json<CustomMethodInvokedPayload>({
|
|
21
|
+
req_id: string(),
|
|
22
|
+
result: (value) => value,
|
|
23
|
+
error: string().optional(),
|
|
24
|
+
});
|
|
25
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from './clipboardTextReceived.js';
|
|
2
|
+
export * from './customMethodInvoked.js';
|
|
3
|
+
export * from './invoiceClosed.js';
|
|
4
|
+
export * from './phoneRequested.js';
|
|
5
|
+
export * from './popupClosed.js';
|
|
6
|
+
export * from './qrTextReceived.js';
|
|
7
|
+
export * from './theme-changed.js';
|
|
8
|
+
export * from './viewportChanged.js';
|
|
9
|
+
export * from './writeAccessRequested.js';
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { json, string } from '~/parsing/index.js';
|
|
2
|
+
|
|
3
|
+
export type InvoiceStatus =
|
|
4
|
+
| 'paid'
|
|
5
|
+
| 'failed'
|
|
6
|
+
| 'pending'
|
|
7
|
+
| 'cancelled'
|
|
8
|
+
| string;
|
|
9
|
+
|
|
10
|
+
export interface InvoiceClosedPayload {
|
|
11
|
+
/**
|
|
12
|
+
* Passed during the `web_app_open_invoice` method invocation `slug` value.
|
|
13
|
+
*/
|
|
14
|
+
slug: string;
|
|
15
|
+
/**
|
|
16
|
+
* Invoice status
|
|
17
|
+
*/
|
|
18
|
+
status: InvoiceStatus;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
export function invoiceClosed() {
|
|
22
|
+
return json<InvoiceClosedPayload>({
|
|
23
|
+
slug: string(),
|
|
24
|
+
status: string(),
|
|
25
|
+
});
|
|
26
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { json, string } from '~/parsing/index.js';
|
|
2
|
+
|
|
3
|
+
export type PhoneRequestedStatus = 'sent' | string;
|
|
4
|
+
|
|
5
|
+
export interface PhoneRequestedPayload {
|
|
6
|
+
/**
|
|
7
|
+
* Request status.
|
|
8
|
+
*/
|
|
9
|
+
status: PhoneRequestedStatus;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function phoneRequested() {
|
|
13
|
+
return json<PhoneRequestedPayload>({ status: string() });
|
|
14
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { json, string } from '~/parsing/index.js';
|
|
2
|
+
|
|
3
|
+
export interface PopupClosedPayload {
|
|
4
|
+
/**
|
|
5
|
+
* Identifier of the clicked button. In case, the popup was closed without clicking any button,
|
|
6
|
+
* this property will be omitted.
|
|
7
|
+
*/
|
|
8
|
+
button_id?: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export function popupClosed() {
|
|
12
|
+
return json<PopupClosedPayload>({
|
|
13
|
+
button_id: (value) => (
|
|
14
|
+
value === null || value === undefined
|
|
15
|
+
? undefined
|
|
16
|
+
: string().parse(value)
|
|
17
|
+
),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { json, string } from '~/parsing/index.js';
|
|
2
|
+
|
|
3
|
+
export interface QrTextReceivedPayload {
|
|
4
|
+
/**
|
|
5
|
+
* Data extracted from the QR.
|
|
6
|
+
*/
|
|
7
|
+
data?: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export function qrTextReceived() {
|
|
11
|
+
return json<QrTextReceivedPayload>({
|
|
12
|
+
data: string().optional(),
|
|
13
|
+
});
|
|
14
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { json, rgb, toRecord } from '~/parsing/index.js';
|
|
2
|
+
import type { RGB } from '~/colors/index.js';
|
|
3
|
+
|
|
4
|
+
export interface ThemeChangedPayload {
|
|
5
|
+
/**
|
|
6
|
+
* Map where the key is a theme stylesheet key and value is the corresponding color in
|
|
7
|
+
* `#RRGGBB` format.
|
|
8
|
+
*/
|
|
9
|
+
theme_params: {
|
|
10
|
+
/**
|
|
11
|
+
* @since v6.10
|
|
12
|
+
*/
|
|
13
|
+
accent_text_color?: RGB;
|
|
14
|
+
bg_color?: RGB;
|
|
15
|
+
button_color?: RGB;
|
|
16
|
+
button_text_color?: RGB;
|
|
17
|
+
/**
|
|
18
|
+
* @since v6.10
|
|
19
|
+
*/
|
|
20
|
+
destructive_text_color?: RGB;
|
|
21
|
+
/**
|
|
22
|
+
* @since v6.10
|
|
23
|
+
*/
|
|
24
|
+
header_bg_color?: RGB;
|
|
25
|
+
hint_color?: RGB;
|
|
26
|
+
link_color?: RGB;
|
|
27
|
+
secondary_bg_color?: RGB;
|
|
28
|
+
/**
|
|
29
|
+
* @since v6.10
|
|
30
|
+
*/
|
|
31
|
+
section_bg_color?: RGB;
|
|
32
|
+
/**
|
|
33
|
+
* @since v6.10
|
|
34
|
+
*/
|
|
35
|
+
section_header_text_color?: RGB;
|
|
36
|
+
/**
|
|
37
|
+
* @since v6.10
|
|
38
|
+
*/
|
|
39
|
+
subtitle_text_color?: RGB;
|
|
40
|
+
text_color?: RGB;
|
|
41
|
+
[key: string]: RGB | undefined; // Future unknown palette keys.
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export function themeChanged() {
|
|
46
|
+
return json<ThemeChangedPayload>({
|
|
47
|
+
theme_params: (value) => {
|
|
48
|
+
const parser = rgb().optional();
|
|
49
|
+
|
|
50
|
+
return Object
|
|
51
|
+
.entries(toRecord(value))
|
|
52
|
+
.reduce<Partial<Record<string, RGB>>>((acc, [k, v]) => {
|
|
53
|
+
acc[k] = parser.parse(v);
|
|
54
|
+
return acc;
|
|
55
|
+
}, {});
|
|
56
|
+
},
|
|
57
|
+
});
|
|
58
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { boolean, json, number } from '~/parsing/index.js';
|
|
2
|
+
|
|
3
|
+
export interface ViewportChangedPayload {
|
|
4
|
+
/**
|
|
5
|
+
* The viewport height.
|
|
6
|
+
*/
|
|
7
|
+
height: number;
|
|
8
|
+
/**
|
|
9
|
+
* The viewport width.
|
|
10
|
+
*/
|
|
11
|
+
width: number;
|
|
12
|
+
/**
|
|
13
|
+
* Is the viewport currently expanded.
|
|
14
|
+
*/
|
|
15
|
+
is_expanded: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* Is the viewport current state stable and not going to change in the next moment.
|
|
18
|
+
*/
|
|
19
|
+
is_state_stable: boolean;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export function viewportChanged() {
|
|
23
|
+
return json<ViewportChangedPayload>({
|
|
24
|
+
height: number(),
|
|
25
|
+
width: (value) => (
|
|
26
|
+
value === null || value === undefined
|
|
27
|
+
? window.innerWidth
|
|
28
|
+
: number().parse(value)
|
|
29
|
+
),
|
|
30
|
+
is_state_stable: boolean(),
|
|
31
|
+
is_expanded: boolean(),
|
|
32
|
+
});
|
|
33
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { json, string } from '~/parsing/index.js';
|
|
2
|
+
|
|
3
|
+
export type WriteAccessRequestedStatus = 'allowed' | string;
|
|
4
|
+
|
|
5
|
+
export interface WriteAccessRequestedPayload {
|
|
6
|
+
/**
|
|
7
|
+
* Request status.
|
|
8
|
+
*/
|
|
9
|
+
status: WriteAccessRequestedStatus;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export function writeAccessRequested() {
|
|
13
|
+
return json<WriteAccessRequestedPayload>({ status: string() });
|
|
14
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createEmitter } from '~/bridge/events/createEmitter.js';
|
|
2
|
+
import type { MiniAppsEventEmitter } from '~/bridge/index.js';
|
|
3
|
+
|
|
4
|
+
const CACHED_EMITTER = 'telegram-mini-apps-cached-emitter';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Returns singleton instance of bridge EventEmitter. Also, defines
|
|
8
|
+
* Telegram event handlers.
|
|
9
|
+
*/
|
|
10
|
+
export function singletonEmitter(): MiniAppsEventEmitter {
|
|
11
|
+
const wnd: any = window;
|
|
12
|
+
const cachedEmitter = wnd[CACHED_EMITTER];
|
|
13
|
+
|
|
14
|
+
if (cachedEmitter === undefined) {
|
|
15
|
+
wnd[CACHED_EMITTER] = createEmitter();
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return wnd[CACHED_EMITTER];
|
|
19
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { MiniAppsGlobalEventListener } from './events.js';
|
|
2
|
+
import { singletonEmitter } from './singletonEmitter.js';
|
|
3
|
+
import { unsubscribe } from './unsubscribe.js';
|
|
4
|
+
|
|
5
|
+
type StopListening = () => void;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Subscribes to all events sent from the native Telegram application.
|
|
9
|
+
* Returns function used to remove added event listener.
|
|
10
|
+
* @param listener - event listener.
|
|
11
|
+
*/
|
|
12
|
+
export function subscribe(listener: MiniAppsGlobalEventListener): StopListening {
|
|
13
|
+
singletonEmitter().subscribe(listener);
|
|
14
|
+
return () => unsubscribe(listener);
|
|
15
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { MiniAppsGlobalEventListener } from './events.js';
|
|
2
|
+
import { singletonEmitter } from './singletonEmitter.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Removes global event listener.
|
|
6
|
+
* @param listener - event listener.
|
|
7
|
+
*/
|
|
8
|
+
export function unsubscribe(listener: MiniAppsGlobalEventListener): void {
|
|
9
|
+
singletonEmitter().unsubscribe(listener);
|
|
10
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { isRecord } from '~/misc/index.js';
|
|
2
|
+
import { supports } from '~/supports/index.js';
|
|
3
|
+
import type { Version } from '~/version/index.js';
|
|
4
|
+
|
|
5
|
+
import { type PostEvent, postEvent } from './postEvent.js';
|
|
6
|
+
import { MethodUnsupportedError, ParameterUnsupportedError } from '../errors/index.js';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Creates function which checks if specified method and parameters are supported. In case,
|
|
10
|
+
* method or parameters are unsupported, an error will be thrown.
|
|
11
|
+
* @param version - Telegram Mini Apps version.
|
|
12
|
+
* @throws {MethodUnsupportedError} Method is unsupported.
|
|
13
|
+
* @throws {ParameterUnsupportedError} Method parameter is unsupported.
|
|
14
|
+
*/
|
|
15
|
+
export function createPostEvent(version: Version): PostEvent {
|
|
16
|
+
return (method: any, params: any) => {
|
|
17
|
+
// Firstly, check if method itself is supported.
|
|
18
|
+
if (!supports(method, version)) {
|
|
19
|
+
throw new MethodUnsupportedError(method, version);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// Method could use parameters, which are supported only in specific versions of Telegram
|
|
23
|
+
// Mini Apps.
|
|
24
|
+
if (isRecord(params)) {
|
|
25
|
+
let validateParam: string | undefined;
|
|
26
|
+
|
|
27
|
+
if (method === 'web_app_open_link' && 'try_instant_view' in params) {
|
|
28
|
+
validateParam = 'try_instant_view';
|
|
29
|
+
} else if (method === 'web_app_set_header_color' && 'color' in params) {
|
|
30
|
+
validateParam = 'color';
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (validateParam && !supports(method, validateParam, version)) {
|
|
34
|
+
throw new ParameterUnsupportedError(method, validateParam, version);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
return postEvent(method, params);
|
|
39
|
+
};
|
|
40
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generic type which creates new types of haptic feedback.
|
|
3
|
+
*/
|
|
4
|
+
type CreateHapticFeedbackParams<T extends string, P> = { type: T } & P;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Style of impact occurred haptic event.
|
|
8
|
+
* - `light`, indicates a collision between small or lightweight UI objects,
|
|
9
|
+
* - `medium`, indicates a collision between medium-sized or medium-weight UI objects,
|
|
10
|
+
* - `heavy`, indicates a collision between large or heavyweight UI objects,
|
|
11
|
+
* - `rigid`, indicates a collision between hard or inflexible UI objects,
|
|
12
|
+
* - `soft`, indicates a collision between soft or flexible UI objects.
|
|
13
|
+
*/
|
|
14
|
+
export type ImpactHapticFeedbackStyle =
|
|
15
|
+
| 'light'
|
|
16
|
+
| 'medium'
|
|
17
|
+
| 'heavy'
|
|
18
|
+
| 'rigid'
|
|
19
|
+
| 'soft';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Type of notification occurred type event.
|
|
23
|
+
* - `error`, indicates that a task or action has failed,
|
|
24
|
+
* - `success`, indicates that a task or action has completed successfully,
|
|
25
|
+
* - `warning`, indicates that a task or action produced a warning.
|
|
26
|
+
*/
|
|
27
|
+
export type NotificationHapticFeedbackType = 'error' | 'success' | 'warning';
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* `impactOccurred` haptic feedback.
|
|
31
|
+
*/
|
|
32
|
+
export type ImpactHapticFeedbackParams = CreateHapticFeedbackParams<'impact', {
|
|
33
|
+
impact_style: ImpactHapticFeedbackStyle;
|
|
34
|
+
}>;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* `notificationOccurred` haptic feedback.
|
|
38
|
+
*/
|
|
39
|
+
export type NotificationHapticFeedbackParams = CreateHapticFeedbackParams<'notification', {
|
|
40
|
+
notification_type: NotificationHapticFeedbackType;
|
|
41
|
+
}>;
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* `selectionChanged` haptic feedback.
|
|
45
|
+
*/
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
47
|
+
export type SelectionHapticFeedbackParams = CreateHapticFeedbackParams<'selection_change', {}>;
|
|
48
|
+
|
|
49
|
+
export type AnyHapticFeedbackParams =
|
|
50
|
+
| ImpactHapticFeedbackParams
|
|
51
|
+
| NotificationHapticFeedbackParams
|
|
52
|
+
| SelectionHapticFeedbackParams;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { RequestId } from '~/types/index.js';
|
|
2
|
+
|
|
3
|
+
interface CreateInvokeCustomMethodParams<M extends string, Params extends object> {
|
|
4
|
+
/**
|
|
5
|
+
* Unique request identifier.
|
|
6
|
+
*/
|
|
7
|
+
req_id: RequestId;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Method name.
|
|
11
|
+
*/
|
|
12
|
+
method: M;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Method specific parameters.
|
|
16
|
+
*/
|
|
17
|
+
params: Params;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export type AnyInvokeCustomMethodParams =
|
|
21
|
+
| CreateInvokeCustomMethodParams<'deleteStorageValues', { keys: string | string[] }>
|
|
22
|
+
| CreateInvokeCustomMethodParams<'getStorageValues', { keys: string | string[] }>
|
|
23
|
+
| CreateInvokeCustomMethodParams<'getStorageKeys', {}>
|
|
24
|
+
| CreateInvokeCustomMethodParams<'saveStorageValue', { key: string, value: string }>
|
|
25
|
+
| CreateInvokeCustomMethodParams<string, any>;
|