@tma.js/sdk-react 2.1.2 → 2.1.3

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/index.js CHANGED
@@ -1,21 +1,21 @@
1
- import { jsx as bt } from "react/jsx-runtime";
2
- import { createContext as te, useContext as ee, useMemo as st, useRef as dt, useState as se, useCallback as lt, useEffect as M } from "react";
3
- var ne = Object.defineProperty, re = (e, t, s) => t in e ? ne(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s, h = (e, t, s) => (re(e, typeof t != "symbol" ? t + "" : t, s), s);
4
- function vt(e, t) {
1
+ import { jsx as vt } from "react/jsx-runtime";
2
+ import { createContext as se, useContext as ne, useState as yt, useEffect as O, useMemo as Et, useRef as _t, useCallback as gt } from "react";
3
+ var re = Object.defineProperty, ie = (e, t, s) => t in e ? re(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s, c = (e, t, s) => (ie(e, typeof t != "symbol" ? t + "" : t, s), s);
4
+ function Pt(e, t) {
5
5
  let s;
6
6
  const n = () => {
7
7
  s !== void 0 && t && t(s), s = void 0;
8
8
  };
9
9
  return [() => s === void 0 ? s = e(n) : s, n];
10
10
  }
11
- function yt(e) {
11
+ function Rt(e) {
12
12
  const t = G(), { count: s } = t;
13
- t.unsubscribe(e), s && !t.count && Se();
13
+ t.unsubscribe(e), s && !t.count && Te();
14
14
  }
15
- function ie(e) {
16
- return G().subscribe(e), () => yt(e);
15
+ function oe(e) {
16
+ return G().subscribe(e), () => Rt(e);
17
17
  }
18
- class oe {
18
+ class ae {
19
19
  constructor(t, s = {}) {
20
20
  this.scope = t, this.options = s;
21
21
  }
@@ -31,12 +31,12 @@ class oe {
31
31
  second: "2-digit",
32
32
  fractionalSecondDigits: 3,
33
33
  timeZone: "UTC"
34
- }).format(n), { textColor: i, bgColor: o } = this.options, a = "font-weight: bold;padding: 0 5px;border-radius:5px";
34
+ }).format(n), { textColor: i, bgColor: a } = this.options, o = "font-weight: bold;padding: 0 5px;border-radius:5px";
35
35
  console[t](
36
36
  `%c${r}%c / %c${this.scope}`,
37
- `${a};background-color: lightblue;color:black`,
37
+ `${o};background-color: lightblue;color:black`,
38
38
  "",
39
- `${a};${i ? `color:${i};` : ""}${o ? `background-color:${o}` : ""}`,
39
+ `${o};${i ? `color:${i};` : ""}${a ? `background-color:${a}` : ""}`,
40
40
  ...s
41
41
  );
42
42
  }
@@ -55,23 +55,23 @@ class oe {
55
55
  this.print("log", ...t);
56
56
  }
57
57
  }
58
- const H = new oe("SDK", {
58
+ const st = new ae("SDK", {
59
59
  bgColor: "forestgreen",
60
60
  textColor: "white"
61
61
  });
62
62
  let X = !1;
63
- const _t = ({ event: e, args: [t] }) => {
64
- H.log("Event received:", t === void 0 ? { name: e } : { name: e, data: t });
63
+ const wt = ({ event: e, args: [t] }) => {
64
+ st.log("Event received:", t === void 0 ? { name: e } : { name: e, data: t });
65
65
  };
66
- function ae(e) {
67
- X !== e && (X = e, e ? ie(_t) : yt(_t));
66
+ function ce(e) {
67
+ X !== e && (X = e, e ? oe(wt) : Rt(wt));
68
68
  }
69
69
  function he(...e) {
70
- X && H.log(...e);
70
+ X && st.log(...e);
71
71
  }
72
- class U {
72
+ class H {
73
73
  constructor() {
74
- h(this, "listeners", /* @__PURE__ */ new Map()), h(this, "listenersCount", 0), h(this, "subscribeListeners", []);
74
+ c(this, "listeners", /* @__PURE__ */ new Map()), c(this, "listenersCount", 0), c(this, "subscribeListeners", []);
75
75
  }
76
76
  /**
77
77
  * Removes all event listeners.
@@ -147,12 +147,12 @@ class W extends Error {
147
147
  super(s, { cause: n }), this.type = t, Object.setPrototypeOf(this, W.prototype);
148
148
  }
149
149
  }
150
- function m(e, t, s) {
150
+ function b(e, t, s) {
151
151
  return new W(e, t, s);
152
152
  }
153
- const ce = "ERR_METHOD_UNSUPPORTED", pe = "ERR_METHOD_PARAMETER_UNSUPPORTED", ue = "ERR_UNKNOWN_ENV", de = "ERR_INVOKE_CUSTOM_METHOD_RESPONSE", le = "ERR_TIMED_OUT", _e = "ERR_UNEXPECTED_TYPE", Et = "ERR_PARSE", ge = "ERR_NAVIGATION_LIST_EMPTY", we = "ERR_NAVIGATION_CURSOR_INVALID", ln = "ERR_NAVIGATION_ITEM_INVALID", Pt = "ERR_SSR_INIT", fe = "ERR_INVALID_PATH_BASE";
154
- function T() {
155
- return m(_e, "Value has unexpected type");
153
+ const pe = "ERR_METHOD_UNSUPPORTED", ue = "ERR_METHOD_PARAMETER_UNSUPPORTED", le = "ERR_UNKNOWN_ENV", de = "ERR_INVOKE_CUSTOM_METHOD_RESPONSE", _e = "ERR_TIMED_OUT", ge = "ERR_UNEXPECTED_TYPE", xt = "ERR_PARSE", we = "ERR_NAVIGATION_LIST_EMPTY", fe = "ERR_NAVIGATION_CURSOR_INVALID", wn = "ERR_NAVIGATION_ITEM_INVALID", fn = "ERR_SSR_INIT", me = "ERR_INVALID_PATH_BASE";
154
+ function S() {
155
+ return b(ge, "Value has unexpected type");
156
156
  }
157
157
  class j {
158
158
  constructor(t, s, n) {
@@ -169,8 +169,8 @@ class j {
169
169
  try {
170
170
  return this.parser(t);
171
171
  } catch (s) {
172
- throw m(
173
- Et,
172
+ throw b(
173
+ xt,
174
174
  `Unable to parse value${this.type ? ` as ${this.type}` : ""}`,
175
175
  s
176
176
  );
@@ -180,10 +180,10 @@ class j {
180
180
  return this.isOptional = !0, this;
181
181
  }
182
182
  }
183
- function k(e, t) {
183
+ function T(e, t) {
184
184
  return () => new j(e, !1, t);
185
185
  }
186
- const P = k((e) => {
186
+ const P = T((e) => {
187
187
  if (typeof e == "boolean")
188
188
  return e;
189
189
  const t = String(e);
@@ -191,26 +191,26 @@ const P = k((e) => {
191
191
  return !0;
192
192
  if (t === "0" || t === "false")
193
193
  return !1;
194
- throw T();
194
+ throw S();
195
195
  }, "boolean");
196
- function Rt(e, t) {
196
+ function Ct(e, t) {
197
197
  const s = {};
198
198
  for (const n in e) {
199
199
  const r = e[n];
200
200
  if (!r)
201
201
  continue;
202
- let i, o;
202
+ let i, a;
203
203
  if (typeof r == "function" || "parse" in r)
204
- i = n, o = typeof r == "function" ? r : r.parse.bind(r);
204
+ i = n, a = typeof r == "function" ? r : r.parse.bind(r);
205
205
  else {
206
- const { type: a } = r;
207
- i = r.from || n, o = typeof a == "function" ? a : a.parse.bind(a);
206
+ const { type: o } = r;
207
+ i = r.from || n, a = typeof o == "function" ? o : o.parse.bind(o);
208
208
  }
209
209
  try {
210
- const a = o(t(i));
211
- a !== void 0 && (s[n] = a);
212
- } catch (a) {
213
- throw m(Et, `Unable to parse field "${n}"`, a);
210
+ const o = a(t(i));
211
+ o !== void 0 && (s[n] = o);
212
+ } catch (o) {
213
+ throw b(xt, `Unable to parse field "${n}"`, o);
214
214
  }
215
215
  }
216
216
  return s;
@@ -218,16 +218,16 @@ function Rt(e, t) {
218
218
  function nt(e) {
219
219
  let t = e;
220
220
  if (typeof t == "string" && (t = JSON.parse(t)), typeof t != "object" || t === null || Array.isArray(t))
221
- throw T();
221
+ throw S();
222
222
  return t;
223
223
  }
224
224
  function w(e, t) {
225
225
  return new j((s) => {
226
226
  const n = nt(s);
227
- return Rt(e, (r) => n[r]);
227
+ return Ct(e, (r) => n[r]);
228
228
  }, !1, t);
229
229
  }
230
- const C = k((e) => {
230
+ const x = T((e) => {
231
231
  if (typeof e == "number")
232
232
  return e;
233
233
  if (typeof e == "string") {
@@ -235,19 +235,19 @@ const C = k((e) => {
235
235
  if (!Number.isNaN(t))
236
236
  return t;
237
237
  }
238
- throw T();
238
+ throw S();
239
239
  }, "number");
240
240
  function rt(e) {
241
241
  return /^#[\da-f]{6}$/i.test(e);
242
242
  }
243
- function me(e) {
243
+ function be(e) {
244
244
  return /^#[\da-f]{3}$/i.test(e);
245
245
  }
246
- function xt(e) {
246
+ function St(e) {
247
247
  const t = e.replace(/\s/g, "").toLowerCase();
248
248
  if (rt(t))
249
249
  return t;
250
- if (me(t)) {
250
+ if (be(t)) {
251
251
  let n = "#";
252
252
  for (let r = 0; r < 3; r += 1)
253
253
  n += t[1 + r].repeat(2);
@@ -261,30 +261,30 @@ function xt(e) {
261
261
  return n + (i.length === 1 ? "0" : "") + i;
262
262
  }, "#");
263
263
  }
264
- const c = k((e) => {
264
+ const h = T((e) => {
265
265
  if (typeof e == "string" || typeof e == "number")
266
266
  return e.toString();
267
- throw T();
268
- }, "string"), Ct = k((e) => xt(c().parse(e)), "rgb");
269
- function be(e) {
267
+ throw S();
268
+ }, "string"), Tt = T((e) => St(h().parse(e)), "rgb");
269
+ function ve(e) {
270
270
  return w({
271
- eventType: c(),
271
+ eventType: h(),
272
272
  eventData: (t) => t
273
273
  }).parse(e);
274
274
  }
275
- function ve() {
275
+ function ye() {
276
276
  ["TelegramGameProxy_receiveEvent", "TelegramGameProxy", "Telegram"].forEach((e) => {
277
277
  delete window[e];
278
278
  });
279
279
  }
280
- function ye(e, t) {
280
+ function Ee(e, t) {
281
281
  window.dispatchEvent(new MessageEvent("message", {
282
282
  data: JSON.stringify({ eventType: e, eventData: t }),
283
283
  // We specify window.parent to imitate the case, the parent iframe sent us this event.
284
284
  source: window.parent
285
285
  }));
286
286
  }
287
- function Ee() {
287
+ function Pe() {
288
288
  [
289
289
  ["TelegramGameProxy_receiveEvent"],
290
290
  // Windows Phone.
@@ -296,60 +296,60 @@ function Ee() {
296
296
  let t = window;
297
297
  e.forEach((s, n, r) => {
298
298
  if (n === r.length - 1) {
299
- t[s] = ye;
299
+ t[s] = Ee;
300
300
  return;
301
301
  }
302
302
  s in t || (t[s] = {}), t = t[s];
303
303
  });
304
304
  });
305
305
  }
306
- const Pe = w({
307
- button_id: (e) => e == null ? void 0 : c().parse(e)
308
- }), Re = {
306
+ const Re = w({
307
+ button_id: (e) => e == null ? void 0 : h().parse(e)
308
+ }), xe = {
309
309
  clipboard_text_received: w({
310
- req_id: c(),
311
- data: (e) => e === null ? e : c().optional().parse(e)
310
+ req_id: h(),
311
+ data: (e) => e === null ? e : h().optional().parse(e)
312
312
  }),
313
313
  custom_method_invoked: w({
314
- req_id: c(),
314
+ req_id: h(),
315
315
  result: (e) => e,
316
- error: c().optional()
316
+ error: h().optional()
317
317
  }),
318
318
  invoice_closed: w({
319
- slug: c(),
320
- status: c()
319
+ slug: h(),
320
+ status: h()
321
321
  }),
322
322
  phone_requested: w({
323
- status: c()
323
+ status: h()
324
324
  }),
325
325
  popup_closed: {
326
- parse: (e) => Pe.parse(e ?? {})
326
+ parse: (e) => Re.parse(e ?? {})
327
327
  },
328
328
  qr_text_received: w({
329
- data: c().optional()
329
+ data: h().optional()
330
330
  }),
331
331
  theme_changed: w({
332
332
  theme_params: (e) => {
333
- const t = Ct().optional();
333
+ const t = Tt().optional();
334
334
  return Object.entries(nt(e)).reduce((s, [n, r]) => (s[n] = t.parse(r), s), {});
335
335
  }
336
336
  }),
337
337
  viewport_changed: w({
338
- height: C(),
339
- width: (e) => e == null ? window.innerWidth : C().parse(e),
338
+ height: x(),
339
+ width: (e) => e == null ? window.innerWidth : x().parse(e),
340
340
  is_state_stable: P(),
341
341
  is_expanded: P()
342
342
  }),
343
343
  write_access_requested: w({
344
- status: c()
344
+ status: h()
345
345
  })
346
346
  };
347
- function xe() {
348
- const e = new U();
349
- Ee();
347
+ function Ce() {
348
+ const e = new H();
349
+ Pe();
350
350
  let t = [
351
351
  // Don't forget to remove created handlers.
352
- ve,
352
+ ye,
353
353
  // Add "resize" event listener to make sure, we always have fresh viewport information.
354
354
  // Desktop version of Telegram is sometimes not sending the viewport_changed
355
355
  // event. For example, when the MainButton is shown. That's why we should
@@ -370,19 +370,19 @@ function xe() {
370
370
  return;
371
371
  let n;
372
372
  try {
373
- n = be(s.data);
373
+ n = ve(s.data);
374
374
  } catch {
375
375
  return;
376
376
  }
377
- const { eventType: r, eventData: i } = n, o = Re[r];
377
+ const { eventType: r, eventData: i } = n, a = xe[r];
378
378
  try {
379
- const a = o ? o.parse(i) : i;
380
- e.emit(...a ? [r, a] : [r]);
381
- } catch (a) {
382
- H.error(
379
+ const o = a ? a.parse(i) : i;
380
+ e.emit(...o ? [r, o] : [r]);
381
+ } catch (o) {
382
+ st.error(
383
383
  `An error occurred processing the "${r}" event from the Telegram application. Please, file an issue here: https://github.com/Telegram-Mini-Apps/tma.js/issues/new/choose`,
384
384
  n,
385
- a
385
+ o
386
386
  );
387
387
  }
388
388
  }),
@@ -393,18 +393,18 @@ function xe() {
393
393
  t.forEach((s) => s()), t = [];
394
394
  }];
395
395
  }
396
- const [Ce, Se] = vt(
396
+ const [Se, Te] = Pt(
397
397
  (e) => {
398
- const [t, s] = xe(), n = t.off.bind(t);
398
+ const [t, s] = Ce(), n = t.off.bind(t);
399
399
  return t.off = (r, i) => {
400
- const { count: o } = t;
401
- n(r, i), o && !t.count && e();
400
+ const { count: a } = t;
401
+ n(r, i), a && !t.count && e();
402
402
  }, [t, s];
403
403
  },
404
404
  ([, e]) => e()
405
405
  );
406
406
  function G() {
407
- return Ce()[0];
407
+ return Se()[0];
408
408
  }
409
409
  function z(e, t) {
410
410
  G().off(e, t);
@@ -412,22 +412,22 @@ function z(e, t) {
412
412
  function E(e, t, s) {
413
413
  return G().on(e, t, s);
414
414
  }
415
- function N(e) {
415
+ function V(e) {
416
416
  return typeof e == "object" && e !== null && !Array.isArray(e);
417
417
  }
418
- function Te(e, t) {
418
+ function Ae(e, t) {
419
419
  const s = e.split("."), n = t.split("."), r = Math.max(s.length, n.length);
420
420
  for (let i = 0; i < r; i += 1) {
421
- const o = parseInt(s[i] || "0", 10), a = parseInt(n[i] || "0", 10);
422
- if (o !== a)
423
- return o > a ? 1 : -1;
421
+ const a = parseInt(s[i] || "0", 10), o = parseInt(n[i] || "0", 10);
422
+ if (a !== o)
423
+ return a > o ? 1 : -1;
424
424
  }
425
425
  return 0;
426
426
  }
427
427
  function y(e, t) {
428
- return Te(e, t) <= 0;
428
+ return Ae(e, t) <= 0;
429
429
  }
430
- function S(e, t, s) {
430
+ function C(e, t, s) {
431
431
  if (typeof s == "string") {
432
432
  if (e === "web_app_open_link" && t === "try_instant_view")
433
433
  return y("6.4", s);
@@ -479,30 +479,30 @@ function S(e, t, s) {
479
479
  }
480
480
  }
481
481
  function ke(e) {
482
- return "external" in e && N(e.external) && "notify" in e.external && typeof e.external.notify == "function";
482
+ return "external" in e && V(e.external) && "notify" in e.external && typeof e.external.notify == "function";
483
483
  }
484
- function St(e) {
485
- return "TelegramWebviewProxy" in e && N(e.TelegramWebviewProxy) && "postEvent" in e.TelegramWebviewProxy && typeof e.TelegramWebviewProxy.postEvent == "function";
484
+ function At(e) {
485
+ return "TelegramWebviewProxy" in e && V(e.TelegramWebviewProxy) && "postEvent" in e.TelegramWebviewProxy && typeof e.TelegramWebviewProxy.postEvent == "function";
486
486
  }
487
- function Tt() {
487
+ function kt() {
488
488
  try {
489
489
  return window.self !== window.top;
490
490
  } catch {
491
491
  return !0;
492
492
  }
493
493
  }
494
- let kt = "https://web.telegram.org";
495
- function _n(e) {
496
- kt = e;
494
+ let It = "https://web.telegram.org";
495
+ function mn(e) {
496
+ It = e;
497
497
  }
498
- function Ae() {
499
- return kt;
498
+ function Ie() {
499
+ return It;
500
500
  }
501
- function O(e, t, s) {
501
+ function N(e, t, s) {
502
502
  let n = {}, r;
503
503
  t === void 0 && s === void 0 ? n = {} : t !== void 0 && s !== void 0 ? (n = s, r = t) : t !== void 0 && ("targetOrigin" in t ? n = t : r = t);
504
- const { targetOrigin: i = Ae() } = n;
505
- if (he("Posting event:", r ? { event: e, data: r } : { event: e }), Tt()) {
504
+ const { targetOrigin: i = Ie() } = n;
505
+ if (he("Posting event:", r ? { event: e, data: r } : { event: e }), kt()) {
506
506
  window.parent.postMessage(JSON.stringify({ eventType: e, eventData: r }), i);
507
507
  return;
508
508
  }
@@ -510,42 +510,42 @@ function O(e, t, s) {
510
510
  window.external.notify(JSON.stringify({ eventType: e, eventData: r }));
511
511
  return;
512
512
  }
513
- if (St(window)) {
513
+ if (At(window)) {
514
514
  window.TelegramWebviewProxy.postEvent(e, JSON.stringify(r));
515
515
  return;
516
516
  }
517
- throw m(
518
- ue,
517
+ throw b(
518
+ le,
519
519
  "Unable to determine current environment and possible way to send event. You are probably trying to use Mini Apps method outside of Telegram application environment."
520
520
  );
521
521
  }
522
- function Ie(e) {
522
+ function Oe(e) {
523
523
  return (t, s) => {
524
- if (!S(t, e))
525
- throw m(ce, `Method "${t}" is unsupported in Mini Apps version ${e}`);
526
- if (N(s)) {
524
+ if (!C(t, e))
525
+ throw b(pe, `Method "${t}" is unsupported in Mini Apps version ${e}`);
526
+ if (V(s)) {
527
527
  let n;
528
- if (t === "web_app_open_link" && "try_instant_view" in s ? n = "try_instant_view" : t === "web_app_set_header_color" && "color" in s && (n = "color"), n && !S(t, n, e))
529
- throw m(
530
- pe,
528
+ if (t === "web_app_open_link" && "try_instant_view" in s ? n = "try_instant_view" : t === "web_app_set_header_color" && "color" in s && (n = "color"), n && !C(t, n, e))
529
+ throw b(
530
+ ue,
531
531
  `Parameter "${n}" of "${t}" method is unsupported in Mini Apps version ${e}`
532
532
  );
533
533
  }
534
- return O(t, s);
534
+ return N(t, s);
535
535
  };
536
536
  }
537
- function At(e) {
537
+ function Ot(e) {
538
538
  return ({ req_id: t }) => t === e;
539
539
  }
540
- function It(e) {
541
- return m(le, `Timeout reached: ${e}ms`);
540
+ function qt(e) {
541
+ return b(_e, `Timeout reached: ${e}ms`);
542
542
  }
543
- function qt(e, t) {
543
+ function Dt(e, t) {
544
544
  return Promise.race([
545
545
  typeof e == "function" ? e() : e,
546
546
  new Promise((s, n) => {
547
547
  setTimeout(() => {
548
- n(It(t));
548
+ n(qt(t));
549
549
  }, t);
550
550
  })
551
551
  ]);
@@ -558,18 +558,18 @@ async function f(e) {
558
558
  method: n,
559
559
  event: r,
560
560
  capture: i,
561
- postEvent: o = O,
562
- timeout: a
561
+ postEvent: a = N,
562
+ timeout: o
563
563
  } = e, p = (Array.isArray(r) ? r : [r]).map(
564
- (u) => E(u, (d) => (!i || i(d)) && t(d))
564
+ (u) => E(u, (l) => (!i || i(l)) && t(l))
565
565
  );
566
566
  try {
567
- return o(n, e.params), await (a ? qt(s, a) : s);
567
+ return a(n, e.params), await (o ? Dt(s, o) : s);
568
568
  } finally {
569
569
  p.forEach((u) => u());
570
570
  }
571
571
  }
572
- async function I(e, t, s, n = {}) {
572
+ async function q(e, t, s, n = {}) {
573
573
  const {
574
574
  result: r,
575
575
  error: i
@@ -582,30 +582,30 @@ async function I(e, t, s, n = {}) {
582
582
  params: t,
583
583
  req_id: s
584
584
  },
585
- capture: At(s)
585
+ capture: Ot(s)
586
586
  });
587
587
  if (i)
588
- throw m(de, i);
588
+ throw b(de, i);
589
589
  return r;
590
590
  }
591
591
  function et(...e) {
592
592
  return e.map((t) => {
593
593
  if (typeof t == "string")
594
594
  return t;
595
- if (N(t))
595
+ if (V(t))
596
596
  return et(Object.entries(t).map((s) => s[1] && s[0]));
597
597
  if (Array.isArray(t))
598
598
  return et(...t);
599
599
  }).filter(Boolean).join(" ");
600
600
  }
601
- function gn(...e) {
602
- return e.reduce((t, s) => (N(s) && Object.entries(s).forEach(([n, r]) => {
601
+ function bn(...e) {
602
+ return e.reduce((t, s) => (V(s) && Object.entries(s).forEach(([n, r]) => {
603
603
  const i = et(t[n], r);
604
604
  i.length && (t[n] = i);
605
605
  }), t), {});
606
606
  }
607
- function Ot(e) {
608
- const t = xt(e);
607
+ function Nt(e) {
608
+ const t = St(e);
609
609
  return Math.sqrt(
610
610
  [0.299, 0.587, 0.114].reduce((s, n, r) => {
611
611
  const i = parseInt(t.slice(1 + r * 2, 1 + (r + 1) * 2), 16);
@@ -615,7 +615,7 @@ function Ot(e) {
615
615
  }
616
616
  class qe {
617
617
  constructor(t) {
618
- h(this, "ee", new U()), h(this, "on", this.ee.on.bind(this.ee)), h(this, "off", this.ee.off.bind(this.ee)), this.state = t;
618
+ c(this, "ee", new H()), c(this, "on", this.ee.on.bind(this.ee)), c(this, "off", this.ee.off.bind(this.ee)), this.state = t;
619
619
  }
620
620
  /**
621
621
  * Clones current state and returns its copy.
@@ -636,23 +636,23 @@ class qe {
636
636
  }
637
637
  class it {
638
638
  constructor(t) {
639
- h(this, "state"), h(this, "get"), h(this, "set"), h(this, "clone"), this.state = new qe(t), this.set = this.state.set.bind(this.state), this.get = this.state.get.bind(this.state), this.clone = this.state.clone.bind(this.state);
639
+ c(this, "state"), c(this, "get"), c(this, "set"), c(this, "clone"), this.state = new qe(t), this.set = this.state.set.bind(this.state), this.get = this.state.get.bind(this.state), this.clone = this.state.clone.bind(this.state);
640
640
  }
641
641
  }
642
- function Dt(e, t) {
643
- return (s) => S(t[s], e);
642
+ function Bt(e, t) {
643
+ return (s) => C(t[s], e);
644
644
  }
645
645
  class ot extends it {
646
646
  constructor(t, s, n) {
647
- super(t), h(this, "supports"), this.supports = Dt(s, n);
647
+ super(t), c(this, "supports"), this.supports = Bt(s, n);
648
648
  }
649
649
  }
650
- class Oe extends ot {
650
+ class De extends ot {
651
651
  constructor(t, s, n) {
652
652
  super({ isVisible: t }, s, {
653
653
  show: "web_app_setup_back_button",
654
654
  hide: "web_app_setup_back_button"
655
- }), h(this, "on", (r, i) => r === "click" ? E("back_button_pressed", i) : this.state.on(r, i)), h(this, "off", (r, i) => r === "click" ? z("back_button_pressed", i) : this.state.off(r, i)), this.postEvent = n;
655
+ }), c(this, "on", (r, i) => r === "click" ? E("back_button_pressed", i) : this.state.on(r, i)), c(this, "off", (r, i) => r === "click" ? z("back_button_pressed", i) : this.state.off(r, i)), this.postEvent = n;
656
656
  }
657
657
  set isVisible(t) {
658
658
  this.set("isVisible", t), this.postEvent("web_app_setup_back_button", { is_visible: t });
@@ -676,31 +676,28 @@ class Oe extends ot {
676
676
  this.isVisible = !0;
677
677
  }
678
678
  }
679
- function x() {
680
- return typeof window > "u";
681
- }
682
- const Nt = k((e) => e instanceof Date ? e : new Date(C().parse(e) * 1e3), "Date");
679
+ const Vt = T((e) => e instanceof Date ? e : new Date(x().parse(e) * 1e3), "Date");
683
680
  function at(e, t) {
684
681
  return new j((s) => {
685
682
  if (typeof s != "string" && !(s instanceof URLSearchParams))
686
- throw T();
683
+ throw S();
687
684
  const n = typeof s == "string" ? new URLSearchParams(s) : s;
688
- return Rt(e, (r) => {
685
+ return Ct(e, (r) => {
689
686
  const i = n.get(r);
690
687
  return i === null ? void 0 : i;
691
688
  });
692
689
  }, !1, t);
693
690
  }
694
- const De = w({
695
- id: C(),
696
- type: c(),
697
- title: c(),
691
+ const Ne = w({
692
+ id: x(),
693
+ type: h(),
694
+ title: h(),
698
695
  photoUrl: {
699
- type: c().optional(),
696
+ type: h().optional(),
700
697
  from: "photo_url"
701
698
  },
702
- username: c().optional()
703
- }, "Chat").optional(), gt = w({
699
+ username: h().optional()
700
+ }, "Chat").optional(), ft = w({
704
701
  addedToAttachmentMenu: {
705
702
  type: P().optional(),
706
703
  from: "added_to_attachment_menu"
@@ -710,10 +707,10 @@ const De = w({
710
707
  from: "allows_write_to_pm"
711
708
  },
712
709
  firstName: {
713
- type: c(),
710
+ type: h(),
714
711
  from: "first_name"
715
712
  },
716
- id: C(),
713
+ id: x(),
717
714
  isBot: {
718
715
  type: P().optional(),
719
716
  from: "is_bot"
@@ -723,80 +720,80 @@ const De = w({
723
720
  from: "is_premium"
724
721
  },
725
722
  languageCode: {
726
- type: c().optional(),
723
+ type: h().optional(),
727
724
  from: "language_code"
728
725
  },
729
726
  lastName: {
730
- type: c().optional(),
727
+ type: h().optional(),
731
728
  from: "last_name"
732
729
  },
733
730
  photoUrl: {
734
- type: c().optional(),
731
+ type: h().optional(),
735
732
  from: "photo_url"
736
733
  },
737
- username: c().optional()
734
+ username: h().optional()
738
735
  }, "User").optional();
739
- function Bt() {
736
+ function Mt() {
740
737
  return at({
741
738
  authDate: {
742
- type: Nt(),
739
+ type: Vt(),
743
740
  from: "auth_date"
744
741
  },
745
742
  canSendAfter: {
746
- type: C().optional(),
743
+ type: x().optional(),
747
744
  from: "can_send_after"
748
745
  },
749
- chat: De,
746
+ chat: Ne,
750
747
  chatInstance: {
751
- type: c().optional(),
748
+ type: h().optional(),
752
749
  from: "chat_instance"
753
750
  },
754
751
  chatType: {
755
- type: c().optional(),
752
+ type: h().optional(),
756
753
  from: "chat_type"
757
754
  },
758
- hash: c(),
755
+ hash: h(),
759
756
  queryId: {
760
- type: c().optional(),
757
+ type: h().optional(),
761
758
  from: "query_id"
762
759
  },
763
- receiver: gt,
760
+ receiver: ft,
764
761
  startParam: {
765
- type: c().optional(),
762
+ type: h().optional(),
766
763
  from: "start_param"
767
764
  },
768
- user: gt
765
+ user: ft
769
766
  }, "InitData");
770
767
  }
771
- function Ne(e) {
768
+ function Be(e) {
772
769
  return e.replace(/_[a-z]/g, (t) => t[1].toUpperCase());
773
770
  }
774
- function Be(e) {
771
+ function Ve(e) {
775
772
  return e.replace(/[A-Z]/g, (t) => `_${t.toLowerCase()}`);
776
773
  }
777
- const Vt = k(
774
+ const $t = T(
778
775
  (e) => {
779
- const t = Ct().optional();
780
- return Object.entries(nt(e)).reduce((s, [n, r]) => (s[Ne(n)] = t.parse(r), s), {});
776
+ const t = Tt().optional();
777
+ return Object.entries(nt(e)).reduce((s, [n, r]) => (s[Be(n)] = t.parse(r), s), {});
781
778
  },
782
779
  "ThemeParams"
783
780
  );
784
- function Mt(e) {
781
+ function Lt(e) {
785
782
  return at({
786
783
  botInline: {
787
784
  type: P().optional(),
788
785
  from: "tgWebAppBotInline"
789
786
  },
790
787
  initData: {
791
- type: Bt().optional(),
788
+ type: Mt().optional(),
792
789
  from: "tgWebAppData"
793
790
  },
794
791
  initDataRaw: {
795
- type: c().optional(),
792
+ type: h().optional(),
796
793
  from: "tgWebAppData"
797
794
  },
798
795
  platform: {
799
- type: c(),
796
+ type: h(),
800
797
  from: "tgWebAppPlatform"
801
798
  },
802
799
  showSettings: {
@@ -804,56 +801,56 @@ function Mt(e) {
804
801
  from: "tgWebAppShowSettings"
805
802
  },
806
803
  startParam: {
807
- type: c().optional(),
804
+ type: h().optional(),
808
805
  from: "tgWebAppStartParam"
809
806
  },
810
807
  themeParams: {
811
- type: Vt(),
808
+ type: $t(),
812
809
  from: "tgWebAppThemeParams"
813
810
  },
814
811
  version: {
815
- type: c(),
812
+ type: h(),
816
813
  from: "tgWebAppVersion"
817
814
  }
818
815
  }).parse(e);
819
816
  }
820
- function $t(e) {
821
- return Mt(
817
+ function Ut(e) {
818
+ return Lt(
822
819
  e.replace(/^[^?#]*[?#]/, "").replace(/[?#]/g, "&")
823
820
  );
824
821
  }
825
- function Ve() {
826
- return $t(window.location.href);
822
+ function Me() {
823
+ return Ut(window.location.href);
827
824
  }
828
- function Lt() {
825
+ function Ht() {
829
826
  return performance.getEntriesByType("navigation")[0];
830
827
  }
831
- function Me() {
832
- const e = Lt();
828
+ function $e() {
829
+ const e = Ht();
833
830
  if (!e)
834
831
  throw new Error("Unable to get first navigation entry.");
835
- return $t(e.name);
832
+ return Ut(e.name);
836
833
  }
837
- function Ht(e) {
834
+ function Wt(e) {
838
835
  return `tma.js/${e.replace(/[A-Z]/g, (t) => `-${t.toLowerCase()}`)}`;
839
836
  }
840
- function Ut(e, t) {
841
- sessionStorage.setItem(Ht(e), JSON.stringify(t));
837
+ function jt(e, t) {
838
+ sessionStorage.setItem(Wt(e), JSON.stringify(t));
842
839
  }
843
- function Wt(e) {
844
- const t = sessionStorage.getItem(Ht(e));
840
+ function Gt(e) {
841
+ const t = sessionStorage.getItem(Wt(e));
845
842
  try {
846
843
  return t ? JSON.parse(t) : void 0;
847
844
  } catch {
848
845
  }
849
846
  }
850
- function $e() {
851
- return Mt(Wt("launchParams") || "");
847
+ function Le() {
848
+ return Lt(Gt("launchParams") || "");
852
849
  }
853
- function Le(e) {
850
+ function Ue(e) {
854
851
  return JSON.stringify(
855
852
  Object.fromEntries(
856
- Object.entries(e).map(([t, s]) => [Be(t), s])
853
+ Object.entries(e).map(([t, s]) => [Ve(t), s])
857
854
  )
858
855
  );
859
856
  }
@@ -864,74 +861,89 @@ function He(e) {
864
861
  platform: n,
865
862
  version: r,
866
863
  showSettings: i,
867
- startParam: o,
868
- botInline: a
864
+ startParam: a,
865
+ botInline: o
869
866
  } = e, p = new URLSearchParams();
870
- return p.set("tgWebAppPlatform", n), p.set("tgWebAppThemeParams", Le(s)), p.set("tgWebAppVersion", r), t && p.set("tgWebAppData", t), o && p.set("tgWebAppStartParam", o), typeof i == "boolean" && p.set("tgWebAppShowSettings", i ? "1" : "0"), typeof a == "boolean" && p.set("tgWebAppBotInline", a ? "1" : "0"), p.toString();
867
+ return p.set("tgWebAppPlatform", n), p.set("tgWebAppThemeParams", Ue(s)), p.set("tgWebAppVersion", r), t && p.set("tgWebAppData", t), a && p.set("tgWebAppStartParam", a), typeof i == "boolean" && p.set("tgWebAppShowSettings", i ? "1" : "0"), typeof o == "boolean" && p.set("tgWebAppBotInline", o ? "1" : "0"), p.toString();
871
868
  }
872
- function Ue(e) {
873
- Ut("launchParams", He(e));
869
+ function We(e) {
870
+ jt("launchParams", He(e));
874
871
  }
875
- function jt() {
872
+ function zt() {
876
873
  for (const e of [
877
874
  // Try to retrieve launch parameters from the current location. This method can return
878
875
  // nothing in case, location was changed and then page was reloaded.
879
- Ve,
880
- // Then, try using the lower level API - window.performance.
881
876
  Me,
877
+ // Then, try using the lower level API - window.performance.
878
+ $e,
882
879
  // Finally, try to extract launch parameters from the session storage.
883
- $e
880
+ Le
884
881
  ])
885
882
  try {
886
883
  const t = e();
887
- return Ue(t), t;
884
+ return We(t), t;
888
885
  } catch {
889
886
  }
890
887
  throw new Error("Unable to retrieve launch parameters from any known source.");
891
888
  }
892
- function Gt() {
893
- const e = Lt();
889
+ function Kt() {
890
+ const e = Ht();
894
891
  return !!(e && e.type === "reload");
895
892
  }
896
- function We() {
893
+ function je() {
897
894
  let e = 0;
898
895
  return () => (e += 1).toString();
899
896
  }
900
- const [je] = vt(We);
901
- function l(e, t) {
902
- return ({ ssr: s } = {}) => {
903
- const n = x() ? {
904
- version: "6.0",
905
- themeParams: {},
906
- platform: "unknown",
907
- ...s || {}
908
- } : jt(), r = {
909
- ...n,
910
- postEvent: x() ? () => null : Ie(n.version),
911
- createRequestId: je()
897
+ function Ge() {
898
+ let e = !1;
899
+ const t = [];
900
+ return [
901
+ (s) => !e && t.push(s),
902
+ () => {
903
+ e || (e = !0, t.forEach((s) => s()));
904
+ },
905
+ e
906
+ ];
907
+ }
908
+ const [ze] = Pt(je);
909
+ function d(e, t) {
910
+ return () => {
911
+ const s = zt(), n = {
912
+ ...s,
913
+ postEvent: Oe(s.version),
914
+ createRequestId: ze()
912
915
  };
913
- if (x() || typeof e == "function")
914
- return typeof e == "function" ? e(r) : t(r);
915
- const i = t({
916
- ...r,
917
- state: Gt() ? Wt(e) : void 0
918
- }), o = (a) => (a.on("change", (p) => {
919
- Ut(e, p);
920
- }), a);
921
- return i instanceof Promise ? i.then(o) : o(i);
916
+ if (typeof e == "function")
917
+ return e(n);
918
+ const [r, i, a] = Ge(), o = t({
919
+ ...n,
920
+ // State should only be passed only in case, current page was reloaded. If we don't add
921
+ // this check, state restoration will work improperly in the web version of Telegram,
922
+ // when we are always working in the same "session" (tab).
923
+ state: Kt() ? Gt(e) : void 0,
924
+ addCleanup: r
925
+ }), p = (u) => (a || r(
926
+ u.on("change", (l) => {
927
+ jt(e, l);
928
+ })
929
+ ), u);
930
+ return [
931
+ o instanceof Promise ? o.then(p) : p(o),
932
+ i
933
+ ];
922
934
  };
923
935
  }
924
- const Ge = l("backButton", ({
936
+ const Ke = d("backButton", ({
925
937
  postEvent: e,
926
938
  version: t,
927
939
  state: s = { isVisible: !1 }
928
- }) => new Oe(s.isVisible, t, e));
929
- class B extends ot {
940
+ }) => new De(s.isVisible, t, e));
941
+ class M extends ot {
930
942
  constructor() {
931
- super(...arguments), h(this, "on", this.state.on.bind(this.state)), h(this, "off", this.state.off.bind(this.state));
943
+ super(...arguments), c(this, "on", this.state.on.bind(this.state)), c(this, "off", this.state.off.bind(this.state));
932
944
  }
933
945
  }
934
- function zt(e) {
946
+ function Jt(e) {
935
947
  const t = e.available ? e : {
936
948
  available: !1,
937
949
  device_id: "",
@@ -949,14 +961,14 @@ function zt(e) {
949
961
  accessGranted: t.access_granted
950
962
  };
951
963
  }
952
- class wt extends B {
964
+ class Je extends M {
953
965
  constructor({ postEvent: t, version: s, ...n }) {
954
966
  super(n, s, {
955
967
  auth: "web_app_biometry_request_auth",
956
968
  openSettings: "web_app_biometry_open_settings",
957
969
  requestAccess: "web_app_biometry_request_access",
958
970
  updateToken: "web_app_biometry_update_token"
959
- }), h(this, "postEvent"), h(this, "authPromise"), h(this, "accessPromise"), this.postEvent = t;
971
+ }), c(this, "postEvent"), c(this, "authPromise"), c(this, "accessPromise"), this.postEvent = t;
960
972
  }
961
973
  /**
962
974
  * Shows whether biometry is available.
@@ -1027,7 +1039,7 @@ class wt extends B {
1027
1039
  event: "biometry_info_received",
1028
1040
  params: { reason: t || "" }
1029
1041
  }).then((n) => {
1030
- const r = zt(n);
1042
+ const r = Jt(n);
1031
1043
  return this.set(r), r.accessGranted;
1032
1044
  }).finally(() => this.accessPromise = void 0)), this.accessPromise;
1033
1045
  }
@@ -1059,8 +1071,8 @@ class wt extends B {
1059
1071
  );
1060
1072
  }
1061
1073
  }
1062
- async function ze(e) {
1063
- return zt(
1074
+ async function Qe(e) {
1075
+ return Jt(
1064
1076
  await f({
1065
1077
  ...e || {},
1066
1078
  method: "web_app_biometry_get_info",
@@ -1068,26 +1080,20 @@ async function ze(e) {
1068
1080
  })
1069
1081
  );
1070
1082
  }
1071
- const Ke = l("biometryManager", async ({ postEvent: e, version: t, state: s }) => {
1072
- if (s)
1073
- return new wt({ ...s, version: t, postEvent: e });
1074
- if (x())
1075
- throw m(
1076
- Pt,
1077
- "BiometryManager cannot be instantiated on the server side without passing the ssr.state object."
1078
- );
1079
- return new wt({
1080
- ...await ze({ timeout: 1e3 }),
1083
+ const Fe = d(
1084
+ "biometryManager",
1085
+ async ({ postEvent: e, version: t, state: s }) => new Je({
1086
+ ...s || await Qe({ timeout: 1e3 }),
1081
1087
  version: t,
1082
1088
  postEvent: e
1083
- });
1084
- });
1085
- class ht extends it {
1089
+ })
1090
+ );
1091
+ class ct extends it {
1086
1092
  constructor() {
1087
- super(...arguments), h(this, "on", this.state.on.bind(this.state)), h(this, "off", this.state.off.bind(this.state));
1093
+ super(...arguments), c(this, "on", this.state.on.bind(this.state)), c(this, "off", this.state.off.bind(this.state));
1088
1094
  }
1089
1095
  }
1090
- class Je extends ht {
1096
+ class Ye extends ct {
1091
1097
  constructor(t, s) {
1092
1098
  super({ isConfirmationNeeded: t }), this.postEvent = s;
1093
1099
  }
@@ -1114,16 +1120,19 @@ class Je extends ht {
1114
1120
  this.isConfirmationNeeded = !0;
1115
1121
  }
1116
1122
  }
1117
- const Qe = l("closingBehavior", ({
1118
- postEvent: e,
1119
- state: t = { isConfirmationNeeded: !1 }
1120
- }) => new Je(t.isConfirmationNeeded, e));
1121
- class ct {
1123
+ const Ze = d(
1124
+ "closingBehavior",
1125
+ ({
1126
+ postEvent: e,
1127
+ state: t = { isConfirmationNeeded: !1 }
1128
+ }) => new Ye(t.isConfirmationNeeded, e)
1129
+ );
1130
+ class ht {
1122
1131
  constructor(t, s) {
1123
- h(this, "supports"), this.supports = Dt(t, s);
1132
+ c(this, "supports"), this.supports = Bt(t, s);
1124
1133
  }
1125
1134
  }
1126
- function Fe(e) {
1135
+ function Xe(e) {
1127
1136
  if (Array.isArray(e))
1128
1137
  return e;
1129
1138
  if (typeof e == "string")
@@ -1133,11 +1142,11 @@ function Fe(e) {
1133
1142
  return t;
1134
1143
  } catch {
1135
1144
  }
1136
- throw T();
1145
+ throw S();
1137
1146
  }
1138
- class Ye extends j {
1147
+ class ts extends j {
1139
1148
  constructor(t, s, n) {
1140
- super(Fe, s, n), h(this, "itemParser"), this.itemParser = typeof t == "function" ? t : t.parse.bind(t);
1149
+ super(Xe, s, n), c(this, "itemParser"), this.itemParser = typeof t == "function" ? t : t.parse.bind(t);
1141
1150
  }
1142
1151
  /**
1143
1152
  * Attempts to parse passed value
@@ -1153,13 +1162,13 @@ class Ye extends j {
1153
1162
  return this.itemParser = typeof t == "function" ? t : t.parse.bind(t), this;
1154
1163
  }
1155
1164
  }
1156
- function Ze(e) {
1157
- return new Ye((t) => t, !1, e);
1165
+ function es(e) {
1166
+ return new ts((t) => t, !1, e);
1158
1167
  }
1159
- function ft(e, t) {
1168
+ function mt(e, t) {
1160
1169
  return Object.fromEntries(e.map((s) => [s, t]));
1161
1170
  }
1162
- class Xe extends ct {
1171
+ class ss extends ht {
1163
1172
  constructor(t, s, n) {
1164
1173
  super(t, {
1165
1174
  delete: "web_app_invoke_custom_method",
@@ -1175,7 +1184,7 @@ class Xe extends ct {
1175
1184
  */
1176
1185
  async delete(t, s = {}) {
1177
1186
  const n = Array.isArray(t) ? t : [t];
1178
- n.length && await I(
1187
+ n.length && await q(
1179
1188
  "deleteStorageValues",
1180
1189
  { keys: n },
1181
1190
  this.createRequestId(),
@@ -1187,8 +1196,8 @@ class Xe extends ct {
1187
1196
  * @param options - request execution options.
1188
1197
  */
1189
1198
  async getKeys(t = {}) {
1190
- return Ze().of(c()).parse(
1191
- await I(
1199
+ return es().of(h()).parse(
1200
+ await q(
1192
1201
  "getStorageKeys",
1193
1202
  {},
1194
1203
  this.createRequestId(),
@@ -1199,13 +1208,13 @@ class Xe extends ct {
1199
1208
  async get(t, s = {}) {
1200
1209
  const n = Array.isArray(t) ? t : [t];
1201
1210
  if (!n.length)
1202
- return ft(n, "");
1203
- const r = await I(
1211
+ return mt(n, "");
1212
+ const r = await q(
1204
1213
  "getStorageValues",
1205
1214
  { keys: n },
1206
1215
  this.createRequestId(),
1207
1216
  { ...s, postEvent: this.postEvent }
1208
- ), i = w(ft(n, c()), "CloudStorageData").parse(r);
1217
+ ), i = w(mt(n, h()), "CloudStorageData").parse(r);
1209
1218
  return Array.isArray(t) ? i : i[t];
1210
1219
  }
1211
1220
  /**
@@ -1215,7 +1224,7 @@ class Xe extends ct {
1215
1224
  * @param options - request execution options.
1216
1225
  */
1217
1226
  async set(t, s, n = {}) {
1218
- await I(
1227
+ await q(
1219
1228
  "saveStorageValue",
1220
1229
  { key: t, value: s },
1221
1230
  this.createRequestId(),
@@ -1223,10 +1232,10 @@ class Xe extends ct {
1223
1232
  );
1224
1233
  }
1225
1234
  }
1226
- const ts = l(
1227
- ({ createRequestId: e, postEvent: t, version: s }) => new Xe(s, e, t)
1235
+ const ns = d(
1236
+ ({ createRequestId: e, postEvent: t, version: s }) => new ss(s, e, t)
1228
1237
  );
1229
- class es extends ct {
1238
+ class rs extends ht {
1230
1239
  constructor(t, s) {
1231
1240
  super(t, {
1232
1241
  impactOccurred: "web_app_trigger_haptic_feedback",
@@ -1268,10 +1277,10 @@ class es extends ct {
1268
1277
  this.postEvent("web_app_trigger_haptic_feedback", { type: "selection_change" });
1269
1278
  }
1270
1279
  }
1271
- const ss = l(
1272
- ({ version: e, postEvent: t }) => new es(e, t)
1280
+ const is = d(
1281
+ ({ version: e, postEvent: t }) => new rs(e, t)
1273
1282
  );
1274
- class ns {
1283
+ class os {
1275
1284
  constructor(t) {
1276
1285
  this.initData = t;
1277
1286
  }
@@ -1344,13 +1353,13 @@ class ns {
1344
1353
  return this.initData.user;
1345
1354
  }
1346
1355
  }
1347
- const rs = l(
1348
- ({ initData: e }) => e ? new ns(e) : void 0
1356
+ const as = d(
1357
+ ({ initData: e }) => e ? new os(e) : void 0
1349
1358
  );
1350
- function wn(e) {
1351
- return Bt().parse(e);
1359
+ function vn(e) {
1360
+ return Mt().parse(e);
1352
1361
  }
1353
- class is extends B {
1362
+ class cs extends M {
1354
1363
  constructor(t, s, n) {
1355
1364
  super({ isOpened: t }, s, { open: "web_app_open_invoice" }), this.postEvent = n;
1356
1365
  }
@@ -1373,10 +1382,10 @@ class is extends B {
1373
1382
  const { hostname: r, pathname: i } = new URL(t, window.location.href);
1374
1383
  if (r !== "t.me")
1375
1384
  throw new Error(`Incorrect hostname: ${r}`);
1376
- const o = i.match(/^\/(\$|invoice\/)([A-Za-z0-9\-_=]+)$/);
1377
- if (!o)
1385
+ const a = i.match(/^\/(\$|invoice\/)([A-Za-z0-9\-_=]+)$/);
1386
+ if (!a)
1378
1387
  throw new Error('Link pathname has incorrect format. Expected to receive "/invoice/{slug}" or "/${slug}"');
1379
- [, , n] = o;
1388
+ [, , n] = a;
1380
1389
  }
1381
1390
  this.isOpened = !0;
1382
1391
  try {
@@ -1394,12 +1403,12 @@ class is extends B {
1394
1403
  }
1395
1404
  }
1396
1405
  }
1397
- const os = l(
1398
- ({ version: e, postEvent: t }) => new is(!1, e, t)
1406
+ const hs = d(
1407
+ ({ version: e, postEvent: t }) => new cs(!1, e, t)
1399
1408
  );
1400
- class as extends it {
1409
+ class ps extends it {
1401
1410
  constructor({ postEvent: t, ...s }) {
1402
- super(s), h(this, "postEvent"), h(this, "on", (n, r) => n === "click" ? E("main_button_pressed", r) : this.state.on(n, r)), h(this, "off", (n, r) => n === "click" ? z("main_button_pressed", r) : this.state.off(n, r)), this.postEvent = t;
1411
+ super(s), c(this, "postEvent"), c(this, "on", (n, r) => n === "click" ? E("main_button_pressed", r) : this.state.on(n, r)), c(this, "off", (n, r) => n === "click" ? z("main_button_pressed", r) : this.state.off(n, r)), this.postEvent = t;
1403
1412
  }
1404
1413
  /**
1405
1414
  * Sends current local state to the Telegram application.
@@ -1528,57 +1537,60 @@ class as extends it {
1528
1537
  return this.set(t), this.commit(), this;
1529
1538
  }
1530
1539
  }
1531
- const hs = l("mainButton", ({
1532
- postEvent: e,
1533
- themeParams: t,
1534
- state: s = {
1535
- isVisible: !1,
1536
- isEnabled: !1,
1537
- text: "",
1538
- isLoaderVisible: !1,
1539
- textColor: t.buttonTextColor || "#ffffff",
1540
- backgroundColor: t.buttonColor || "#000000"
1541
- }
1542
- }) => new as({ ...s, postEvent: e }));
1543
- function cs() {
1540
+ const us = d(
1541
+ "mainButton",
1542
+ ({
1543
+ postEvent: e,
1544
+ themeParams: t,
1545
+ state: s = {
1546
+ isVisible: !1,
1547
+ isEnabled: !1,
1548
+ text: "",
1549
+ isLoaderVisible: !1,
1550
+ textColor: t.buttonTextColor || "#ffffff",
1551
+ backgroundColor: t.buttonColor || "#000000"
1552
+ }
1553
+ }) => new ps({ ...s, postEvent: e })
1554
+ );
1555
+ function ls() {
1544
1556
  return at({
1545
1557
  contact: w({
1546
1558
  userId: {
1547
- type: C(),
1559
+ type: x(),
1548
1560
  from: "user_id"
1549
1561
  },
1550
1562
  phoneNumber: {
1551
- type: c(),
1563
+ type: h(),
1552
1564
  from: "phone_number"
1553
1565
  },
1554
1566
  firstName: {
1555
- type: c(),
1567
+ type: h(),
1556
1568
  from: "first_name"
1557
1569
  },
1558
1570
  lastName: {
1559
- type: c().optional(),
1571
+ type: h().optional(),
1560
1572
  from: "last_name"
1561
1573
  }
1562
1574
  }),
1563
1575
  authDate: {
1564
- type: Nt(),
1576
+ type: Vt(),
1565
1577
  from: "auth_date"
1566
1578
  },
1567
- hash: c()
1579
+ hash: h()
1568
1580
  }, "RequestedContact");
1569
1581
  }
1570
- function Kt(e, t) {
1582
+ function Qt(e, t) {
1571
1583
  return (s) => {
1572
1584
  const [n, r] = t[s];
1573
- return S(n, r, e);
1585
+ return C(n, r, e);
1574
1586
  };
1575
1587
  }
1576
- function ps(e) {
1588
+ function ds(e) {
1577
1589
  return new Promise((t) => {
1578
1590
  setTimeout(t, e);
1579
1591
  });
1580
1592
  }
1581
- class us extends B {
1593
+ class _s extends M {
1582
1594
  constructor({ postEvent: t, createRequestId: s, version: n, botInline: r, ...i }) {
1583
1595
  super(i, n, {
1584
1596
  requestPhoneAccess: "web_app_request_phone",
@@ -1586,9 +1598,9 @@ class us extends B {
1586
1598
  switchInlineQuery: "web_app_switch_inline_query",
1587
1599
  setHeaderColor: "web_app_set_header_color",
1588
1600
  setBackgroundColor: "web_app_set_background_color"
1589
- }), h(this, "botInline"), h(this, "postEvent"), h(this, "createRequestId"), h(this, "requestPhoneAccessPromise"), h(this, "requestWriteAccessPromise"), h(this, "supportsParam"), this.createRequestId = s, this.postEvent = t, this.botInline = r;
1590
- const o = this.supports.bind(this);
1591
- this.supports = (a) => o(a) ? a !== "switchInlineQuery" || r : !1, this.supportsParam = Kt(n, {
1601
+ }), c(this, "botInline"), c(this, "postEvent"), c(this, "createRequestId"), c(this, "requestPhoneAccessPromise"), c(this, "requestWriteAccessPromise"), c(this, "supportsParam"), this.createRequestId = s, this.postEvent = t, this.botInline = r;
1602
+ const a = this.supports.bind(this);
1603
+ this.supports = (o) => a(o) ? o !== "switchInlineQuery" || r : !1, this.supportsParam = Qt(n, {
1592
1604
  "setHeaderColor.color": ["web_app_set_header_color", "color"]
1593
1605
  });
1594
1606
  }
@@ -1599,8 +1611,8 @@ class us extends B {
1599
1611
  async getRequestedContact({
1600
1612
  timeout: t = 1e4
1601
1613
  } = {}) {
1602
- return cs().parse(
1603
- await I(
1614
+ return ls().parse(
1615
+ await q(
1604
1616
  "getRequestedContact",
1605
1617
  {},
1606
1618
  this.createRequestId(),
@@ -1639,7 +1651,7 @@ class us extends B {
1639
1651
  * True if current Mini App background color is recognized as dark.
1640
1652
  */
1641
1653
  get isDark() {
1642
- return Ot(this.bgColor);
1654
+ return Nt(this.bgColor);
1643
1655
  }
1644
1656
  /**
1645
1657
  * Informs the Telegram app that the Mini App is ready to be displayed.
@@ -1668,15 +1680,15 @@ class us extends B {
1668
1680
  throw new Error("Access denied.");
1669
1681
  const s = Date.now() + t;
1670
1682
  let n = 50;
1671
- return qt(async () => {
1683
+ return Dt(async () => {
1672
1684
  for (; Date.now() < s; ) {
1673
1685
  try {
1674
1686
  return await this.getRequestedContact();
1675
1687
  } catch {
1676
1688
  }
1677
- await ps(n), n += 50;
1689
+ await ds(n), n += 50;
1678
1690
  }
1679
- throw It(t);
1691
+ throw qt(t);
1680
1692
  }, t);
1681
1693
  }
1682
1694
  /**
@@ -1759,16 +1771,19 @@ class us extends B {
1759
1771
  this.postEvent("web_app_switch_inline_query", { query: t, chat_types: s });
1760
1772
  }
1761
1773
  }
1762
- const ds = l("miniApp", ({
1763
- themeParams: e,
1764
- botInline: t = !1,
1765
- state: s = {
1766
- bgColor: e.bgColor || "#ffffff",
1767
- headerColor: e.headerBgColor || "#000000"
1768
- },
1769
- ...n
1770
- }) => new us({ ...n, ...s, botInline: t }));
1771
- function ls(e) {
1774
+ const gs = d(
1775
+ "miniApp",
1776
+ ({
1777
+ themeParams: e,
1778
+ botInline: t = !1,
1779
+ state: s = {
1780
+ bgColor: e.bgColor || "#ffffff",
1781
+ headerColor: e.headerBgColor || "#000000"
1782
+ },
1783
+ ...n
1784
+ }) => new _s({ ...n, ...s, botInline: t })
1785
+ );
1786
+ function ws(e) {
1772
1787
  const t = e.message.trim(), s = (e.title || "").trim(), n = e.buttons || [];
1773
1788
  let r;
1774
1789
  if (s.length > 64)
@@ -1778,21 +1793,21 @@ function ls(e) {
1778
1793
  if (n.length > 3)
1779
1794
  throw new Error(`Buttons have incorrect size: ${n.length}`);
1780
1795
  return n.length ? r = n.map((i) => {
1781
- const { id: o = "" } = i;
1782
- if (o.length > 64)
1783
- throw new Error(`Button ID has incorrect size: ${o}`);
1796
+ const { id: a = "" } = i;
1797
+ if (a.length > 64)
1798
+ throw new Error(`Button ID has incorrect size: ${a}`);
1784
1799
  if (!i.type || i.type === "default" || i.type === "destructive") {
1785
- const a = i.text.trim();
1786
- if (!a.length || a.length > 64) {
1800
+ const o = i.text.trim();
1801
+ if (!o.length || o.length > 64) {
1787
1802
  const p = i.type || "default";
1788
1803
  throw new Error(`Button text with type "${p}" has incorrect size: ${i.text.length}`);
1789
1804
  }
1790
- return { ...i, text: a, id: o };
1805
+ return { ...i, text: o, id: a };
1791
1806
  }
1792
- return { ...i, id: o };
1807
+ return { ...i, id: a };
1793
1808
  }) : r = [{ type: "close", id: "" }], { title: s, message: t, buttons: r };
1794
1809
  }
1795
- class _s extends B {
1810
+ class fs extends M {
1796
1811
  constructor(t, s, n) {
1797
1812
  super({ isOpened: t }, s, { open: "web_app_open_popup" }), this.postEvent = n;
1798
1813
  }
@@ -1825,7 +1840,7 @@ class _s extends B {
1825
1840
  event: "popup_closed",
1826
1841
  method: "web_app_open_popup",
1827
1842
  postEvent: this.postEvent,
1828
- params: ls(t)
1843
+ params: ws(t)
1829
1844
  });
1830
1845
  return s;
1831
1846
  } finally {
@@ -1833,10 +1848,10 @@ class _s extends B {
1833
1848
  }
1834
1849
  }
1835
1850
  }
1836
- const gs = l(
1837
- ({ postEvent: e, version: t }) => new _s(!1, t, e)
1851
+ const ms = d(
1852
+ ({ postEvent: e, version: t }) => new fs(!1, t, e)
1838
1853
  );
1839
- class ws extends B {
1854
+ class bs extends M {
1840
1855
  constructor(t, s, n) {
1841
1856
  super({ isOpened: t }, s, {
1842
1857
  close: "web_app_close_scan_qr_popup",
@@ -1880,15 +1895,15 @@ class ws extends B {
1880
1895
  }
1881
1896
  }
1882
1897
  }
1883
- const fs = l(
1884
- ({ version: e, postEvent: t }) => new ws(!1, e, t)
1898
+ const vs = d(
1899
+ ({ version: e, postEvent: t }) => new bs(!1, e, t)
1885
1900
  );
1886
- class ms extends ot {
1901
+ class ys extends ot {
1887
1902
  constructor(t, s, n) {
1888
1903
  super({ isVisible: t }, s, {
1889
1904
  show: "web_app_setup_settings_button",
1890
1905
  hide: "web_app_setup_settings_button"
1891
- }), h(this, "on", (r, i) => r === "click" ? E("settings_button_pressed", i) : this.state.on(r, i)), h(this, "off", (r, i) => r === "click" ? z("settings_button_pressed", i) : this.state.off(r, i)), this.postEvent = n;
1906
+ }), c(this, "on", (r, i) => r === "click" ? E("settings_button_pressed", i) : this.state.on(r, i)), c(this, "off", (r, i) => r === "click" ? z("settings_button_pressed", i) : this.state.off(r, i)), this.postEvent = n;
1892
1907
  }
1893
1908
  set isVisible(t) {
1894
1909
  this.set("isVisible", t), this.postEvent("web_app_setup_settings_button", { is_visible: t });
@@ -1912,15 +1927,18 @@ class ms extends ot {
1912
1927
  this.isVisible = !0;
1913
1928
  }
1914
1929
  }
1915
- const bs = l("settingsButton", ({
1916
- version: e,
1917
- postEvent: t,
1918
- state: s = { isVisible: !1 }
1919
- }) => new ms(s.isVisible, e, t));
1920
- function Jt(e) {
1921
- return Vt().parse(e);
1930
+ const Es = d(
1931
+ "settingsButton",
1932
+ ({
1933
+ version: e,
1934
+ postEvent: t,
1935
+ state: s = { isVisible: !1 }
1936
+ }) => new ys(s.isVisible, e, t)
1937
+ );
1938
+ function Ft(e) {
1939
+ return $t().parse(e);
1922
1940
  }
1923
- class vs extends ht {
1941
+ class Ps extends ct {
1924
1942
  /**
1925
1943
  * @since v6.10
1926
1944
  */
@@ -1959,7 +1977,7 @@ class vs extends ht {
1959
1977
  * value is calculated according to theme bg color.
1960
1978
  */
1961
1979
  get isDark() {
1962
- return !this.bgColor || Ot(this.bgColor);
1980
+ return !this.bgColor || Nt(this.bgColor);
1963
1981
  }
1964
1982
  get linkColor() {
1965
1983
  return this.get("linkColor");
@@ -1985,7 +2003,7 @@ class vs extends ht {
1985
2003
  */
1986
2004
  listen() {
1987
2005
  return E("theme_changed", (t) => {
1988
- this.set(Jt(t.theme_params));
2006
+ this.set(Ft(t.theme_params));
1989
2007
  });
1990
2008
  }
1991
2009
  /**
@@ -1998,20 +2016,23 @@ class vs extends ht {
1998
2016
  return this.get("textColor");
1999
2017
  }
2000
2018
  }
2001
- const ys = l("themeParams", ({ themeParams: e, state: t = e }) => {
2002
- const s = new vs(t);
2003
- return x() || s.listen(), s;
2004
- });
2005
- function fn(e = {}) {
2019
+ const Rs = d(
2020
+ "themeParams",
2021
+ ({ themeParams: e, state: t = e, addCleanup: s }) => {
2022
+ const n = new Ps(t);
2023
+ return s(n.listen()), n;
2024
+ }
2025
+ );
2026
+ function yn(e = {}) {
2006
2027
  return f({
2007
2028
  ...e,
2008
2029
  method: "web_app_request_theme",
2009
2030
  event: "theme_changed"
2010
- }).then(Jt);
2031
+ }).then(Ft);
2011
2032
  }
2012
- class Es extends ct {
2033
+ class xs extends ht {
2013
2034
  constructor(t, s, n) {
2014
- super(t, { readTextFromClipboard: "web_app_read_text_from_clipboard" }), h(this, "supportsParam"), this.version = t, this.createRequestId = s, this.postEvent = n, this.supportsParam = Kt(t, {
2035
+ super(t, { readTextFromClipboard: "web_app_read_text_from_clipboard" }), c(this, "supportsParam"), this.version = t, this.createRequestId = s, this.postEvent = n, this.supportsParam = Qt(t, {
2015
2036
  "openLink.tryInstantView": ["web_app_open_link", "try_instant_view"]
2016
2037
  });
2017
2038
  }
@@ -2026,7 +2047,7 @@ class Es extends ct {
2026
2047
  */
2027
2048
  openLink(t, s) {
2028
2049
  const n = new URL(t, window.location.href).toString();
2029
- if (!S("web_app_open_link", this.version)) {
2050
+ if (!C("web_app_open_link", this.version)) {
2030
2051
  window.open(n, "_blank");
2031
2052
  return;
2032
2053
  }
@@ -2045,7 +2066,7 @@ class Es extends ct {
2045
2066
  const { hostname: s, pathname: n, search: r } = new URL(t, window.location.href);
2046
2067
  if (s !== "t.me")
2047
2068
  throw new Error(`URL has not allowed hostname: ${s}. Only "t.me" is allowed`);
2048
- if (!S("web_app_open_tg_link", this.version)) {
2069
+ if (!C("web_app_open_tg_link", this.version)) {
2049
2070
  window.location.href = t;
2050
2071
  return;
2051
2072
  }
@@ -2065,15 +2086,15 @@ class Es extends ct {
2065
2086
  event: "clipboard_text_received",
2066
2087
  postEvent: this.postEvent,
2067
2088
  params: { req_id: t },
2068
- capture: At(t)
2089
+ capture: Ot(t)
2069
2090
  });
2070
2091
  return s;
2071
2092
  }
2072
2093
  }
2073
- const Ps = l(
2074
- ({ version: e, postEvent: t, createRequestId: s }) => new Es(e, s, t)
2094
+ const Cs = d(
2095
+ ({ version: e, postEvent: t, createRequestId: s }) => new xs(e, s, t)
2075
2096
  );
2076
- async function Qt(e = {}) {
2097
+ async function Yt(e = {}) {
2077
2098
  const {
2078
2099
  is_expanded: t,
2079
2100
  is_state_stable: s,
@@ -2085,17 +2106,17 @@ async function Qt(e = {}) {
2085
2106
  });
2086
2107
  return { ...n, isExpanded: t, isStateStable: s };
2087
2108
  }
2088
- function A(e) {
2109
+ function I(e) {
2089
2110
  return e < 0 ? 0 : e;
2090
2111
  }
2091
- class Ft extends ht {
2112
+ class Ss extends ct {
2092
2113
  constructor({ postEvent: t, stableHeight: s, height: n, width: r, isExpanded: i }) {
2093
2114
  super({
2094
- height: A(n),
2115
+ height: I(n),
2095
2116
  isExpanded: i,
2096
- stableHeight: A(s),
2097
- width: A(r)
2098
- }), h(this, "postEvent"), this.postEvent = t;
2117
+ stableHeight: I(s),
2118
+ width: I(r)
2119
+ }), c(this, "postEvent"), this.postEvent = t;
2099
2120
  }
2100
2121
  /**
2101
2122
  * Requests viewport information from the Telegram application and updates current Viewport
@@ -2103,7 +2124,7 @@ class Ft extends ht {
2103
2124
  * @param options - options to request fresh data.
2104
2125
  */
2105
2126
  async sync(t) {
2106
- const { isStateStable: s, ...n } = await Qt(t);
2127
+ const { isStateStable: s, ...n } = await Yt(t);
2107
2128
  this.set({
2108
2129
  ...n,
2109
2130
  stableHeight: s ? n.height : this.get("stableHeight")
@@ -2156,12 +2177,12 @@ class Ft extends ht {
2156
2177
  width: n,
2157
2178
  is_expanded: r,
2158
2179
  is_state_stable: i
2159
- } = t, o = A(s);
2180
+ } = t, a = I(s);
2160
2181
  this.set({
2161
- height: o,
2182
+ height: a,
2162
2183
  isExpanded: r,
2163
- width: A(n),
2164
- ...i ? { stableHeight: o } : {}
2184
+ width: I(n),
2185
+ ...i ? { stableHeight: a } : {}
2165
2186
  });
2166
2187
  });
2167
2188
  }
@@ -2195,68 +2216,49 @@ class Ft extends ht {
2195
2216
  return this.stableHeight === this.height;
2196
2217
  }
2197
2218
  }
2198
- async function Rs(e, t = {}) {
2199
- const {
2200
- height: s,
2201
- width: n,
2202
- isExpanded: r,
2203
- isStateStable: i
2204
- } = await Qt({ ...t, postEvent: e });
2205
- return new Ft({
2206
- postEvent: e,
2207
- height: s,
2208
- width: n,
2209
- isExpanded: r,
2210
- stableHeight: i ? s : 0
2211
- });
2212
- }
2213
- function xs({
2214
- state: e,
2215
- platform: t,
2216
- postEvent: s
2217
- }) {
2218
- let n = !1, r = 0, i = 0, o = 0;
2219
- return e ? (n = e.isExpanded, r = e.height, i = e.width, o = e.stableHeight) : ["macos", "tdesktop", "unigram", "webk", "weba", "web"].includes(t) && (n = !0, r = window.innerHeight, i = window.innerWidth, o = window.innerHeight), new Ft({
2220
- postEvent: s,
2221
- height: r,
2222
- width: i,
2223
- stableHeight: o,
2224
- isExpanded: n
2225
- });
2226
- }
2227
- const Cs = l(
2219
+ const Ts = d(
2228
2220
  "viewport",
2229
- async (e) => {
2230
- if (x() && !e.state)
2231
- throw m(
2232
- Pt,
2233
- "Viewport cannot be instantiated on the server side without passing the ssr.state object."
2234
- );
2235
- let t = xs(e);
2236
- return x() || (t.width === 0 && await Rs(e.postEvent, { timeout: 1e3 }).then((s) => t = s).catch((s) => H.error("Unable to sync viewport state", s)), t.listen()), t;
2221
+ async ({ state: e, platform: t, postEvent: s, addCleanup: n }) => {
2222
+ let r = !1, i = 0, a = 0, o = 0;
2223
+ if (e)
2224
+ r = e.isExpanded, i = e.height, a = e.width, o = e.stableHeight;
2225
+ else if (["macos", "tdesktop", "unigram", "webk", "weba", "web"].includes(t))
2226
+ r = !0, i = window.innerHeight, a = window.innerWidth, o = window.innerHeight;
2227
+ else {
2228
+ const u = await Yt({ timeout: 1e3, postEvent: s });
2229
+ r = u.isExpanded, i = u.height, a = u.width, o = u.isStateStable ? i : 0;
2230
+ }
2231
+ const p = new Ss({
2232
+ postEvent: s,
2233
+ height: i,
2234
+ width: a,
2235
+ stableHeight: o,
2236
+ isExpanded: r
2237
+ });
2238
+ return n(p.listen()), p;
2237
2239
  }
2238
2240
  );
2239
2241
  function R(e, t) {
2240
2242
  document.documentElement.style.setProperty(e, t);
2241
2243
  }
2242
- function mn(e, t, s) {
2243
- s || (s = (a) => `--tg-${a}-color`);
2244
+ function En(e, t, s) {
2245
+ s || (s = (o) => `--tg-${o}-color`);
2244
2246
  const n = s("header"), r = s("bg"), i = () => {
2245
- const { headerColor: a } = e;
2246
- if (rt(a))
2247
- R(n, a);
2247
+ const { headerColor: o } = e;
2248
+ if (rt(o))
2249
+ R(n, o);
2248
2250
  else {
2249
2251
  const { bgColor: p, secondaryBgColor: u } = t;
2250
- a === "bg_color" && p ? R(n, p) : a === "secondary_bg_color" && u && R(n, u);
2252
+ o === "bg_color" && p ? R(n, p) : o === "secondary_bg_color" && u && R(n, u);
2251
2253
  }
2252
2254
  R(r, e.bgColor);
2253
- }, o = [
2255
+ }, a = [
2254
2256
  t.on("change", i),
2255
2257
  e.on("change", i)
2256
2258
  ];
2257
- return i(), () => o.forEach((a) => a());
2259
+ return i(), () => a.forEach((o) => o());
2258
2260
  }
2259
- function bn(e, t) {
2261
+ function Pn(e, t) {
2260
2262
  t || (t = (n) => `--tg-theme-${n.replace(/[A-Z]/g, (r) => `-${r.toLowerCase()}`)}`);
2261
2263
  const s = () => {
2262
2264
  Object.entries(e.getState()).forEach(([n, r]) => {
@@ -2265,23 +2267,23 @@ function bn(e, t) {
2265
2267
  };
2266
2268
  return s(), e.on("change", s);
2267
2269
  }
2268
- function vn(e, t) {
2270
+ function Rn(e, t) {
2269
2271
  t || (t = (u) => `--tg-viewport-${u}`);
2270
2272
  const [
2271
2273
  s,
2272
2274
  n,
2273
2275
  r
2274
- ] = ["height", "width", "stable-height"].map((u) => t(u)), i = () => R(s, `${e.height}px`), o = () => R(n, `${e.width}px`), a = () => R(r, `${e.stableHeight}px`), p = [
2276
+ ] = ["height", "width", "stable-height"].map((u) => t(u)), i = () => R(s, `${e.height}px`), a = () => R(n, `${e.width}px`), o = () => R(r, `${e.stableHeight}px`), p = [
2275
2277
  e.on("change:height", i),
2276
- e.on("change:width", o),
2277
- e.on("change:stableHeight", a)
2278
+ e.on("change:width", a),
2279
+ e.on("change:stableHeight", o)
2278
2280
  ];
2279
- return i(), o(), a(), () => p.forEach((u) => u());
2281
+ return i(), a(), o(), () => p.forEach((u) => u());
2280
2282
  }
2281
- function Ss(e = !0) {
2283
+ function As(e = !0) {
2282
2284
  const t = [
2283
2285
  E("reload_iframe", () => {
2284
- O("iframe_will_reload"), window.location.reload();
2286
+ N("iframe_will_reload"), window.location.reload();
2285
2287
  })
2286
2288
  ], s = () => t.forEach((n) => n());
2287
2289
  if (e) {
@@ -2293,10 +2295,13 @@ function Ss(e = !0) {
2293
2295
  () => document.head.removeChild(n)
2294
2296
  );
2295
2297
  }
2296
- return O("iframe_ready", { reload_supported: !0 }), s;
2298
+ return N("iframe_ready", { reload_supported: !0 }), s;
2299
+ }
2300
+ function ks() {
2301
+ return typeof window > "u";
2297
2302
  }
2298
- async function yn() {
2299
- if (St(window))
2303
+ async function xn() {
2304
+ if (At(window))
2300
2305
  return !0;
2301
2306
  try {
2302
2307
  return await f({ method: "web_app_request_theme", event: "theme_changed", timeout: 100 }), !0;
@@ -2304,11 +2309,11 @@ async function yn() {
2304
2309
  return !1;
2305
2310
  }
2306
2311
  }
2307
- function Ts(e) {
2312
+ function Is(e) {
2308
2313
  return e instanceof W;
2309
2314
  }
2310
- function En(e, t) {
2311
- return Ts(e) && e.type === t;
2315
+ function Cn(e, t) {
2316
+ return Is(e) && e.type === t;
2312
2317
  }
2313
2318
  function J(e, t) {
2314
2319
  let s, n, r;
@@ -2318,13 +2323,13 @@ function J(e, t) {
2318
2323
  params: n
2319
2324
  });
2320
2325
  }
2321
- class ks {
2322
- constructor(t, s, n = O) {
2323
- if (h(this, "history"), h(this, "ee", new U()), h(this, "attached", !1), h(this, "back", () => this.go(-1)), h(this, "on", this.ee.on.bind(this.ee)), h(this, "off", this.ee.off.bind(this.ee)), this._index = s, this.postEvent = n, t.length === 0)
2324
- throw m(ge, "History should not be empty.");
2326
+ class Os {
2327
+ constructor(t, s, n = N) {
2328
+ if (c(this, "history"), c(this, "ee", new H()), c(this, "attached", !1), c(this, "back", () => this.go(-1)), c(this, "on", this.ee.on.bind(this.ee)), c(this, "off", this.ee.off.bind(this.ee)), this._index = s, this.postEvent = n, t.length === 0)
2329
+ throw b(we, "History should not be empty.");
2325
2330
  if (s < 0 || s >= t.length)
2326
- throw m(
2327
- we,
2331
+ throw b(
2332
+ fe,
2328
2333
  "Index should not be zero and higher or equal than history size."
2329
2334
  );
2330
2335
  this.history = t.map((r) => J(r, ""));
@@ -2445,26 +2450,26 @@ function Q({
2445
2450
  }) {
2446
2451
  return { ...e || { hash: "", search: "" }, ...t };
2447
2452
  }
2448
- function D(e, t) {
2453
+ function B(e, t) {
2449
2454
  return e.startsWith(t) ? e : `${t}${e}`;
2450
2455
  }
2451
- function $(e) {
2456
+ function L(e) {
2452
2457
  return new URL(
2453
- typeof e == "string" ? e : `${e.pathname || ""}${D(e.search || "", "?")}${D(e.hash || "", "#")}`,
2458
+ typeof e == "string" ? e : `${e.pathname || ""}${B(e.search || "", "?")}${B(e.hash || "", "#")}`,
2454
2459
  "http://a"
2455
2460
  );
2456
2461
  }
2457
- function L(e) {
2458
- const t = typeof e == "string" ? e.startsWith("/") : !!(e.pathname && e.pathname.startsWith("/")), s = $(e);
2462
+ function U(e) {
2463
+ const t = typeof e == "string" ? e.startsWith("/") : !!(e.pathname && e.pathname.startsWith("/")), s = L(e);
2459
2464
  return `${t ? s.pathname : s.pathname.slice(1)}${s.search}${s.hash}`;
2460
2465
  }
2461
2466
  function F(e, t, s) {
2462
2467
  let n, r;
2463
- typeof e == "string" ? n = e : (n = L(e), s = e.state, r = e.id);
2464
- const { pathname: i, search: o, hash: a } = new URL(n, `http://a${D(t, "/")}`);
2465
- return { id: r, pathname: i, params: { hash: a, search: o, state: s } };
2468
+ typeof e == "string" ? n = e : (n = U(e), s = e.state, r = e.id);
2469
+ const { pathname: i, search: a, hash: o } = new URL(n, `http://a${B(t, "/")}`);
2470
+ return { id: r, pathname: i, params: { hash: o, search: a, state: s } };
2466
2471
  }
2467
- async function q(e) {
2472
+ async function D(e) {
2468
2473
  return e === 0 ? !0 : Promise.race([
2469
2474
  new Promise((t) => {
2470
2475
  const s = tt("popstate", () => {
@@ -2478,39 +2483,39 @@ async function q(e) {
2478
2483
  })
2479
2484
  ]);
2480
2485
  }
2481
- async function As() {
2482
- if (window.history.length <= 1 || (window.history.pushState(null, ""), await q(1 - window.history.length)))
2486
+ async function qs() {
2487
+ if (window.history.length <= 1 || (window.history.pushState(null, ""), await D(1 - window.history.length)))
2483
2488
  return;
2484
- let e = await q(-1);
2489
+ let e = await D(-1);
2485
2490
  for (; e; )
2486
- e = await q(-1);
2491
+ e = await D(-1);
2487
2492
  }
2488
- function Yt(e) {
2489
- return $(e).pathname;
2493
+ function Zt(e) {
2494
+ return L(e).pathname;
2490
2495
  }
2491
- const mt = 0, Y = 1, Z = 2;
2492
- class Zt {
2493
- constructor(t, s, { postEvent: n, hashMode: r, base: i } = {}) {
2494
- h(this, "navigator"), h(this, "ee", new U()), h(this, "hashMode"), h(this, "base"), h(this, "attached", !1), h(this, "onPopState", ({ state: o }) => {
2495
- if (o === null)
2496
+ const bt = 0, Y = 1, Z = 2;
2497
+ class Xt {
2498
+ constructor(t, s, { postEvent: n, hashMode: r = "classic", base: i } = {}) {
2499
+ c(this, "navigator"), c(this, "ee", new H()), c(this, "hashMode"), c(this, "base"), c(this, "attached", !1), c(this, "onPopState", ({ state: a }) => {
2500
+ if (a === null)
2496
2501
  return this.push(this.parsePath(window.location.href));
2497
- o === mt ? window.history.forward() : o === Y && this.back(), o === Z && this.forward();
2498
- }), h(this, "onNavigatorChange", async ({
2499
- to: o,
2500
- from: a,
2502
+ a === bt ? window.history.forward() : a === Y && this.back(), a === Z && this.forward();
2503
+ }), c(this, "onNavigatorChange", async ({
2504
+ to: a,
2505
+ from: o,
2501
2506
  delta: p
2502
2507
  }) => {
2503
2508
  this.attached && await this.syncHistory(), this.ee.emit("change", {
2504
2509
  delta: p,
2505
- from: Q(a),
2506
- to: Q(o),
2510
+ from: Q(o),
2511
+ to: Q(a),
2507
2512
  navigator: this
2508
2513
  });
2509
- }), h(this, "on", this.ee.on.bind(this.ee)), h(this, "off", this.ee.off.bind(this.ee)), this.navigator = new ks(
2510
- t.map((o) => F(o, "/")),
2514
+ }), c(this, "on", this.ee.on.bind(this.ee)), c(this, "off", this.ee.off.bind(this.ee)), this.navigator = new Os(
2515
+ t.map((a) => F(a, "/")),
2511
2516
  s,
2512
2517
  n
2513
- ), this.navigator.on("change", this.onNavigatorChange), this.hashMode = r, this.base = Yt(i || "");
2518
+ ), this.navigator.on("change", this.onNavigatorChange), this.hashMode = r, this.base = Zt(i || "");
2514
2519
  }
2515
2520
  /**
2516
2521
  * Attaches current navigator to the browser history allowing navigator to manipulate it.
@@ -2608,7 +2613,7 @@ class Zt {
2608
2613
  * "/pathname?search#hash"
2609
2614
  */
2610
2615
  get path() {
2611
- return L(this);
2616
+ return U(this);
2612
2617
  }
2613
2618
  /**
2614
2619
  * Current pathname. Always starts with the slash.
@@ -2637,8 +2642,8 @@ class Zt {
2637
2642
  * // { pathname: '/tma', search: '?is=cool', hash: '#yeah' }
2638
2643
  */
2639
2644
  parsePath(t) {
2640
- let s = $(t);
2641
- return this.hashMode && (s = $(s.hash.slice(1))), {
2645
+ let s = L(t);
2646
+ return this.hashMode && (s = L(s.hash.slice(1))), {
2642
2647
  pathname: s.pathname,
2643
2648
  search: s.search,
2644
2649
  hash: s.hash
@@ -2658,8 +2663,8 @@ class Zt {
2658
2663
  * @param value - path presented as string or URLLike.
2659
2664
  */
2660
2665
  renderPath(t) {
2661
- const s = (this.base.length === 1 ? "" : this.base) + D(L(t), "/");
2662
- return this.hashMode ? D(s.slice(1), this.hashMode === "default" ? "#" : "#/") : s;
2666
+ const s = (this.base.length === 1 ? "" : this.base) + B(U(t), "/");
2667
+ return this.hashMode ? B(s.slice(1), this.hashMode === "classic" ? "#" : "#/") : s;
2663
2668
  }
2664
2669
  /**
2665
2670
  * Synchronizes current navigator state with browser history.
@@ -2667,7 +2672,7 @@ class Zt {
2667
2672
  async syncHistory() {
2668
2673
  window.removeEventListener("popstate", this.onPopState);
2669
2674
  const { state: t } = this, s = this.renderPath(this);
2670
- await As(), this.hasPrev && this.hasNext ? (window.history.replaceState(Y, ""), window.history.pushState(t, "", s), window.history.pushState(Z, ""), await q(-1)) : this.hasPrev ? (window.history.replaceState(Y, ""), window.history.pushState(t, "", s)) : this.hasNext ? (window.history.replaceState(t, s), window.history.pushState(Z, ""), await q(-1)) : (window.history.replaceState(mt, ""), window.history.pushState(t, "", s)), window.addEventListener("popstate", this.onPopState);
2675
+ await qs(), this.hasPrev && this.hasNext ? (window.history.replaceState(Y, ""), window.history.pushState(t, "", s), window.history.pushState(Z, ""), await D(-1)) : this.hasPrev ? (window.history.replaceState(Y, ""), window.history.pushState(t, "", s)) : this.hasNext ? (window.history.replaceState(t, s), window.history.pushState(Z, ""), await D(-1)) : (window.history.replaceState(bt, ""), window.history.pushState(t, "", s)), window.addEventListener("popstate", this.onPopState);
2671
2676
  }
2672
2677
  /**
2673
2678
  * Current query parameters.
@@ -2685,42 +2690,42 @@ class Zt {
2685
2690
  return (this.navigator.current.params || {}).state;
2686
2691
  }
2687
2692
  }
2688
- function Is(e) {
2693
+ function Ds(e) {
2689
2694
  e || (e = {});
2690
2695
  const { href: t, hash: s } = window.location;
2691
- let n = L(
2692
- e.hashMode ? s.includes("?") ? s.slice(1) : `?${s.slice(1)}` : t
2696
+ let n = U(
2697
+ e.hashMode === null ? t : s.includes("?") ? s.slice(1) : `?${s.slice(1)}`
2693
2698
  );
2694
- const r = e.base ? Yt(e.base) : void 0;
2699
+ const r = e.base ? Zt(e.base) : void 0;
2695
2700
  if (r) {
2696
2701
  if (!n.startsWith(r))
2697
- throw m(
2698
- fe,
2702
+ throw b(
2703
+ me,
2699
2704
  `Path "${n}" expected to be starting with "${r}"`
2700
2705
  );
2701
2706
  n = n.slice(r.length);
2702
2707
  }
2703
- return new Zt([n], 0, e);
2708
+ return new Xt([n], 0, e);
2704
2709
  }
2705
- function Pn(e) {
2710
+ function Sn(e) {
2706
2711
  const t = e.match(/#(.+)/);
2707
2712
  return t ? t[1] : null;
2708
2713
  }
2709
- function qs(e, t) {
2710
- if (Gt()) {
2714
+ function Ns(e, t) {
2715
+ if (Kt()) {
2711
2716
  const s = sessionStorage.getItem(e);
2712
2717
  if (s)
2713
2718
  try {
2714
2719
  const { index: n, history: r } = JSON.parse(s);
2715
- return new Zt(r, n, t);
2720
+ return new Xt(r, n, t);
2716
2721
  } catch (n) {
2717
2722
  console.error("Unable to restore hash navigator state.", n);
2718
2723
  }
2719
2724
  }
2720
- return Is(t);
2725
+ return Ds(t);
2721
2726
  }
2722
- function Rn(e, t) {
2723
- const s = qs(e, t), n = () => sessionStorage.setItem(e, JSON.stringify({
2727
+ function Tn(e, t) {
2728
+ const s = Ns(e, t), n = () => sessionStorage.setItem(e, JSON.stringify({
2724
2729
  index: s.index,
2725
2730
  history: s.history
2726
2731
  }));
@@ -2728,253 +2733,283 @@ function Rn(e, t) {
2728
2733
  }
2729
2734
  function _(e, t) {
2730
2735
  function s(n) {
2731
- return (r, i, o) => (a) => {
2732
- const p = a[i] || [], u = { ...a, [r]: n(...p) };
2733
- return /* @__PURE__ */ bt(o, { ...u });
2736
+ return (r, i, a) => (o) => {
2737
+ const p = o[i] || [], u = { ...o, [r]: n(...p) };
2738
+ return /* @__PURE__ */ vt(a, { ...u });
2734
2739
  };
2735
2740
  }
2736
2741
  return [s(e), s(t)];
2737
2742
  }
2738
- const Xt = te(void 0);
2739
- function Os() {
2740
- const e = ee(Xt);
2743
+ const te = se(void 0);
2744
+ function Bs() {
2745
+ const e = ne(te);
2741
2746
  if (!e)
2742
2747
  throw new Error("useSDK was used outside the SDKProvider.");
2743
2748
  return e;
2744
2749
  }
2745
2750
  function g(e) {
2746
- const t = (...n) => {
2747
- const r = Os();
2748
- return st(() => r.use(e, ...n), [r]);
2749
- };
2750
- return [t, (...n) => {
2751
- const r = t(...n);
2752
- if ("error" in r)
2753
- throw r.error;
2754
- return r.result;
2755
- }];
2751
+ function t(n) {
2752
+ const r = Bs(), [i, a] = yt(
2753
+ n ? void 0 : () => {
2754
+ if (ks())
2755
+ throw new Error("Using hooks on the server side, you must explicitly specify ssr = true option");
2756
+ return r.use(e);
2757
+ }
2758
+ );
2759
+ return O(() => {
2760
+ a(r.use(e));
2761
+ }, [r]), i;
2762
+ }
2763
+ function s(n) {
2764
+ const r = t(n);
2765
+ if (r) {
2766
+ if ("error" in r)
2767
+ throw r.error;
2768
+ return r.result;
2769
+ }
2770
+ }
2771
+ return [t, s];
2756
2772
  }
2757
- const [Ds, Ns] = g(Ge), [xn, Cn] = _(
2758
- Ds,
2759
- Ns
2760
- ), [Bs, Vs] = g(Ke), [Sn, Tn] = _(
2761
- Bs,
2762
- Vs
2763
- ), [Ms, $s] = g(Qe), [kn, An] = _(
2764
- Ms,
2765
- $s
2766
- ), [Ls, Hs] = g(ts), [In, qn] = _(
2767
- Ls,
2768
- Hs
2769
- ), [Us, Ws] = g(ss), [On, Dn] = _(
2773
+ const [Vs, Ms] = g(Ke), [An, kn] = _(
2774
+ Vs,
2775
+ Ms
2776
+ ), [$s, Ls] = g(Fe), [In, On] = _(
2777
+ $s,
2778
+ Ls
2779
+ ), [Us, Hs] = g(Ze), [qn, Dn] = _(
2770
2780
  Us,
2771
- Ws
2772
- ), [js, Gs] = g(rs), [Nn, Bn] = _(js, Gs), [zs, Ks] = g(os), [Vn, Mn] = _(zs, Ks), [Js, Qs] = g(hs), [$n, Ln] = _(Js, Qs), [Fs, Ys] = g(ds), [Hn, Un] = _(Fs, Ys), [Zs, Xs] = g(gs), [Wn, jn] = _(Zs, Xs), [tn, en] = g(fs), [Gn, zn] = _(tn, en), [sn, nn] = g(bs), [Kn, Jn] = _(
2773
- sn,
2774
- nn
2775
- ), [rn, on] = g(ys), [Qn, Fn] = _(rn, on);
2776
- function Yn() {
2777
- return st(jt, []);
2778
- }
2779
- const [an, hn] = g(Ps), [Zn, Xn] = _(an, hn), [cn, pn] = g(Cs), [tr, er] = _(cn, pn);
2780
- function sr({ children: e, acceptCustomStyles: t, debug: s }) {
2781
- const n = dt(!0), [r, i] = se(
2782
- () => /* @__PURE__ */ new Map()
2783
- ), o = lt((d) => {
2784
- n.current && i((V) => (d && d(V), new Map(V)));
2785
- }, []), a = lt(() => o(), [o]), p = dt([]), u = st(() => ({
2786
- use(d, ...V) {
2787
- const pt = r.get(d);
2788
- if (pt)
2789
- return pt;
2790
- let b;
2781
+ Hs
2782
+ ), [Ws, js] = g(ns), [Nn, Bn] = _(
2783
+ Ws,
2784
+ js
2785
+ ), [Gs, zs] = g(is), [Vn, Mn] = _(
2786
+ Gs,
2787
+ zs
2788
+ ), [Ks, Js] = g(as), [$n, Ln] = _(Ks, Js), [Qs, Fs] = g(hs), [Un, Hn] = _(Qs, Fs), [Ys, Zs] = g(us), [Wn, jn] = _(Ys, Zs), [Xs, tn] = g(gs), [Gn, zn] = _(Xs, tn), [en, sn] = g(ms), [Kn, Jn] = _(en, sn), [nn, rn] = g(vs), [Qn, Fn] = _(nn, rn), [on, an] = g(Es), [Yn, Zn] = _(
2789
+ on,
2790
+ an
2791
+ ), [cn, hn] = g(Rs), [Xn, tr] = _(cn, hn);
2792
+ function er() {
2793
+ return Et(zt, []);
2794
+ }
2795
+ const [pn, un] = g(Cs), [sr, nr] = _(pn, un), [ln, dn] = g(Ts), [rr, ir] = _(ln, dn);
2796
+ function or({ children: e, acceptCustomStyles: t, debug: s }) {
2797
+ const n = _t(!0), r = _t(/* @__PURE__ */ new Map()), [i, a] = yt([]), o = gt(() => a([]), []), p = gt(
2798
+ (l) => {
2799
+ n.current && (l && l(r.current), o());
2800
+ },
2801
+ [o]
2802
+ ), u = Et(() => ({
2803
+ use(l, ...ee) {
2804
+ const { current: pt } = r, ut = pt.get(l);
2805
+ if (ut)
2806
+ return ut;
2807
+ let v, K;
2791
2808
  try {
2792
- b = { result: d(...V) };
2793
- } catch (v) {
2794
- b = { error: v };
2809
+ v = l(...ee);
2810
+ } catch (m) {
2811
+ K = m;
2812
+ }
2813
+ function $(m) {
2814
+ return pt.set(l, m), m;
2795
2815
  }
2796
- if ("error" in b || !b.result)
2797
- return r.set(d, b), b;
2798
- const ut = (v) => ("on" in v && (v.on("change", a), p.current.push(v)), { result: v });
2799
- return b.result instanceof Promise ? (b.result.then(
2800
- (v) => o((K) => K.set(d, ut(v))),
2801
- (v) => o((K) => K.set(d, { error: v }))
2802
- ), r.set(d, {}), {}) : (r.set(d, b = ut(b.result)), b);
2816
+ if (K)
2817
+ return $({ error: K });
2818
+ let A;
2819
+ if (Array.isArray(v) && (A = v[1], v = v[0]), !v)
2820
+ return $({ result: v, cleanup: A });
2821
+ function lt(m) {
2822
+ if ("on" in m) {
2823
+ const k = m.on("change", o), dt = A;
2824
+ A = () => {
2825
+ dt && dt(), k();
2826
+ };
2827
+ }
2828
+ return { result: m, cleanup: A };
2829
+ }
2830
+ return v instanceof Promise ? (v.then(
2831
+ (m) => p((k) => k.set(l, lt(m))),
2832
+ (m) => p((k) => k.set(l, { error: m }))
2833
+ ), $({})) : $(lt(v));
2803
2834
  }
2804
- }), [r]);
2805
- return M(() => {
2806
- ae(s || !1);
2807
- }, [s]), M(() => () => {
2835
+ }), [i]);
2836
+ return O(() => {
2837
+ if (kt())
2838
+ return As(t);
2839
+ }, [t]), O(() => {
2840
+ ce(s || !1);
2841
+ }, [s]), O(() => () => {
2808
2842
  n.current = !1;
2809
- }, []), M(() => {
2810
- if (Tt())
2811
- return Ss(t);
2812
- }, [t]), M(() => () => p.current.forEach((d) => d.off("change", a)), [a]), /* @__PURE__ */ bt(Xt.Provider, { value: u, children: e });
2843
+ }, []), O(() => () => {
2844
+ r.current.forEach((l) => {
2845
+ "cleanup" in l && l.cleanup && l.cleanup();
2846
+ });
2847
+ }, [o]), /* @__PURE__ */ vt(te.Provider, { value: u, children: e });
2813
2848
  }
2814
2849
  export {
2815
- Oe as BackButton,
2816
- ks as BasicNavigator,
2817
- wt as BiometryManager,
2818
- Zt as BrowserNavigator,
2819
- Je as ClosingBehavior,
2820
- Xe as CloudStorage,
2821
- fe as ERR_INVALID_PATH_BASE,
2850
+ De as BackButton,
2851
+ Os as BasicNavigator,
2852
+ Je as BiometryManager,
2853
+ Xt as BrowserNavigator,
2854
+ Ye as ClosingBehavior,
2855
+ ss as CloudStorage,
2856
+ me as ERR_INVALID_PATH_BASE,
2822
2857
  de as ERR_INVOKE_CUSTOM_METHOD_RESPONSE,
2823
- pe as ERR_METHOD_PARAMETER_UNSUPPORTED,
2824
- ce as ERR_METHOD_UNSUPPORTED,
2825
- ge as ERR_NAVIGATION_HISTORY_EMPTY,
2826
- we as ERR_NAVIGATION_INDEX_INVALID,
2827
- ln as ERR_NAVIGATION_ITEM_INVALID,
2828
- Et as ERR_PARSE,
2829
- Pt as ERR_SSR_INIT,
2830
- le as ERR_TIMED_OUT,
2831
- _e as ERR_UNEXPECTED_TYPE,
2832
- ue as ERR_UNKNOWN_ENV,
2833
- U as EventEmitter,
2834
- es as HapticFeedback,
2835
- ns as InitData,
2836
- is as Invoice,
2837
- as as MainButton,
2838
- us as MiniApp,
2839
- _s as Popup,
2840
- ws as QRScanner,
2858
+ ue as ERR_METHOD_PARAMETER_UNSUPPORTED,
2859
+ pe as ERR_METHOD_UNSUPPORTED,
2860
+ we as ERR_NAVIGATION_HISTORY_EMPTY,
2861
+ fe as ERR_NAVIGATION_INDEX_INVALID,
2862
+ wn as ERR_NAVIGATION_ITEM_INVALID,
2863
+ xt as ERR_PARSE,
2864
+ fn as ERR_SSR_INIT,
2865
+ _e as ERR_TIMED_OUT,
2866
+ ge as ERR_UNEXPECTED_TYPE,
2867
+ le as ERR_UNKNOWN_ENV,
2868
+ H as EventEmitter,
2869
+ rs as HapticFeedback,
2870
+ os as InitData,
2871
+ cs as Invoice,
2872
+ ps as MainButton,
2873
+ _s as MiniApp,
2874
+ fs as Popup,
2875
+ bs as QRScanner,
2841
2876
  W as SDKError,
2842
- sr as SDKProvider,
2843
- ms as SettingsButton,
2844
- vs as ThemeParams,
2845
- Es as Utils,
2846
- Ft as Viewport,
2847
- Ze as array,
2848
- mn as bindMiniAppCSSVars,
2849
- bn as bindThemeParamsCSSVars,
2850
- vn as bindViewportCSSVars,
2877
+ or as SDKProvider,
2878
+ ys as SettingsButton,
2879
+ Ps as ThemeParams,
2880
+ xs as Utils,
2881
+ Ss as Viewport,
2882
+ es as array,
2883
+ En as bindMiniAppCSSVars,
2884
+ Pn as bindThemeParamsCSSVars,
2885
+ Rn as bindViewportCSSVars,
2851
2886
  P as boolean,
2852
- At as captureSameReq,
2887
+ Ot as captureSameReq,
2853
2888
  et as classNames,
2854
- Te as compareVersions,
2855
- Is as createBrowserNavigatorFromLocation,
2856
- Ie as createPostEvent,
2857
- $ as createSafeURL,
2858
- Nt as date,
2859
- Pn as getHash,
2860
- Yt as getPathname,
2861
- Ge as initBackButton,
2862
- Ke as initBiometryManager,
2863
- Qe as initClosingBehavior,
2864
- ts as initCloudStorage,
2865
- ss as initHapticFeedback,
2866
- rs as initInitData,
2867
- os as initInvoice,
2868
- hs as initMainButton,
2869
- ds as initMiniApp,
2870
- Rn as initNavigator,
2871
- gs as initPopup,
2872
- fs as initQRScanner,
2873
- bs as initSettingsButton,
2874
- ys as initThemeParams,
2875
- Ps as initUtils,
2876
- Cs as initViewport,
2877
- Ss as initWeb,
2878
- I as invokeCustomMethod,
2879
- Ot as isColorDark,
2880
- Tt as isIframe,
2881
- Gt as isPageReload,
2889
+ Ae as compareVersions,
2890
+ Ds as createBrowserNavigatorFromLocation,
2891
+ Oe as createPostEvent,
2892
+ L as createSafeURL,
2893
+ Vt as date,
2894
+ Sn as getHash,
2895
+ Zt as getPathname,
2896
+ Ke as initBackButton,
2897
+ Fe as initBiometryManager,
2898
+ Ze as initClosingBehavior,
2899
+ ns as initCloudStorage,
2900
+ is as initHapticFeedback,
2901
+ as as initInitData,
2902
+ hs as initInvoice,
2903
+ us as initMainButton,
2904
+ gs as initMiniApp,
2905
+ Tn as initNavigator,
2906
+ ms as initPopup,
2907
+ vs as initQRScanner,
2908
+ Es as initSettingsButton,
2909
+ Rs as initThemeParams,
2910
+ Cs as initUtils,
2911
+ Ts as initViewport,
2912
+ As as initWeb,
2913
+ q as invokeCustomMethod,
2914
+ Nt as isColorDark,
2915
+ kt as isIframe,
2916
+ Kt as isPageReload,
2882
2917
  rt as isRGB,
2883
- me as isRGBShort,
2884
- Ts as isSDKError,
2885
- En as isSDKErrorOfType,
2886
- x as isSSR,
2887
- yn as isTMA,
2918
+ be as isRGBShort,
2919
+ Is as isSDKError,
2920
+ Cn as isSDKErrorOfType,
2921
+ ks as isSSR,
2922
+ xn as isTMA,
2888
2923
  w as json,
2889
- gn as mergeClassNames,
2890
- C as number,
2924
+ bn as mergeClassNames,
2925
+ x as number,
2891
2926
  z as off,
2892
2927
  E as on,
2893
- wn as parseInitData,
2894
- Mt as parseLaunchParams,
2895
- Jt as parseThemeParams,
2896
- O as postEvent,
2928
+ vn as parseInitData,
2929
+ Lt as parseLaunchParams,
2930
+ Ft as parseThemeParams,
2931
+ N as postEvent,
2897
2932
  f as request,
2898
- ze as requestBiometryInfo,
2899
- fn as requestThemeParams,
2900
- Qt as requestViewport,
2901
- jt as retrieveLaunchParams,
2902
- Ct as rgb,
2933
+ Qe as requestBiometryInfo,
2934
+ yn as requestThemeParams,
2935
+ Yt as requestViewport,
2936
+ zt as retrieveLaunchParams,
2937
+ Tt as rgb,
2903
2938
  at as searchParams,
2904
2939
  He as serializeLaunchParams,
2905
- Le as serializeThemeParams,
2940
+ Ue as serializeThemeParams,
2906
2941
  R as setCSSVar,
2907
- ae as setDebug,
2908
- _n as setTargetOrigin,
2909
- c as string,
2910
- ie as subscribe,
2911
- S as supports,
2912
- Ae as targetOrigin,
2913
- xt as toRGB,
2914
- yt as unsubscribe,
2915
- L as urlToPath,
2916
- Ns as useBackButton,
2917
- Ds as useBackButtonRaw,
2918
- Vs as useBiometryManager,
2919
- Bs as useBiometryManagerRaw,
2920
- $s as useClosingBehavior,
2921
- Ms as useClosingBehaviorRaw,
2922
- Hs as useCloudStorage,
2923
- Ls as useCloudStorageRaw,
2924
- Ws as useHapticFeedback,
2925
- Us as useHapticFeedbackRaw,
2926
- Gs as useInitData,
2927
- js as useInitDataRaw,
2928
- Ks as useInvoice,
2929
- zs as useInvoiceRaw,
2930
- Yn as useLaunchParams,
2931
- Qs as useMainButton,
2932
- Js as useMainButtonRaw,
2933
- Ys as useMiniApp,
2934
- Fs as useMiniAppRaw,
2935
- Xs as usePopup,
2936
- Zs as usePopupRaw,
2937
- en as useQRScanner,
2938
- tn as useQRScannerRaw,
2939
- Os as useSDK,
2940
- nn as useSettingsButton,
2941
- sn as useSettingsButtonRaw,
2942
- on as useThemeParams,
2943
- rn as useThemeParamsRaw,
2944
- hn as useUtils,
2945
- an as useUtilsRaw,
2946
- pn as useViewport,
2947
- cn as useViewportRaw,
2948
- Cn as withBackButton,
2949
- xn as withBackButtonRaw,
2950
- Tn as withBiometryManager,
2951
- Sn as withBiometryManagerRaw,
2952
- An as withClosingBehavior,
2953
- kn as withClosingBehaviorRaw,
2954
- qn as withCloudStorage,
2955
- In as withCloudStorageRaw,
2956
- Dn as withHapticFeedback,
2957
- On as withHapticFeedbackRaw,
2958
- Bn as withInitData,
2959
- Nn as withInitDataRaw,
2960
- Mn as withInvoice,
2961
- Vn as withInvoiceRaw,
2962
- Ln as withMainButton,
2963
- $n as withMainButtonRaw,
2964
- Un as withMiniApp,
2965
- Hn as withMiniAppRaw,
2966
- jn as withPopup,
2967
- Wn as withPopupRaw,
2968
- zn as withQRScanner,
2969
- Gn as withQRScannerRaw,
2970
- Jn as withSettingsButton,
2971
- Kn as withSettingsButtonRaw,
2972
- Fn as withThemeParams,
2973
- Qn as withThemeParamsRaw,
2974
- qt as withTimeout,
2975
- Xn as withUtils,
2976
- Zn as withUtilsRaw,
2977
- er as withViewport,
2978
- tr as withViewportRaw
2942
+ ce as setDebug,
2943
+ mn as setTargetOrigin,
2944
+ h as string,
2945
+ oe as subscribe,
2946
+ C as supports,
2947
+ Ie as targetOrigin,
2948
+ St as toRGB,
2949
+ Rt as unsubscribe,
2950
+ U as urlToPath,
2951
+ Ms as useBackButton,
2952
+ Vs as useBackButtonRaw,
2953
+ Ls as useBiometryManager,
2954
+ $s as useBiometryManagerRaw,
2955
+ Hs as useClosingBehavior,
2956
+ Us as useClosingBehaviorRaw,
2957
+ js as useCloudStorage,
2958
+ Ws as useCloudStorageRaw,
2959
+ zs as useHapticFeedback,
2960
+ Gs as useHapticFeedbackRaw,
2961
+ Js as useInitData,
2962
+ Ks as useInitDataRaw,
2963
+ Fs as useInvoice,
2964
+ Qs as useInvoiceRaw,
2965
+ er as useLaunchParams,
2966
+ Zs as useMainButton,
2967
+ Ys as useMainButtonRaw,
2968
+ tn as useMiniApp,
2969
+ Xs as useMiniAppRaw,
2970
+ sn as usePopup,
2971
+ en as usePopupRaw,
2972
+ rn as useQRScanner,
2973
+ nn as useQRScannerRaw,
2974
+ Bs as useSDK,
2975
+ an as useSettingsButton,
2976
+ on as useSettingsButtonRaw,
2977
+ hn as useThemeParams,
2978
+ cn as useThemeParamsRaw,
2979
+ un as useUtils,
2980
+ pn as useUtilsRaw,
2981
+ dn as useViewport,
2982
+ ln as useViewportRaw,
2983
+ kn as withBackButton,
2984
+ An as withBackButtonRaw,
2985
+ On as withBiometryManager,
2986
+ In as withBiometryManagerRaw,
2987
+ Dn as withClosingBehavior,
2988
+ qn as withClosingBehaviorRaw,
2989
+ Bn as withCloudStorage,
2990
+ Nn as withCloudStorageRaw,
2991
+ Mn as withHapticFeedback,
2992
+ Vn as withHapticFeedbackRaw,
2993
+ Ln as withInitData,
2994
+ $n as withInitDataRaw,
2995
+ Hn as withInvoice,
2996
+ Un as withInvoiceRaw,
2997
+ jn as withMainButton,
2998
+ Wn as withMainButtonRaw,
2999
+ zn as withMiniApp,
3000
+ Gn as withMiniAppRaw,
3001
+ Jn as withPopup,
3002
+ Kn as withPopupRaw,
3003
+ Fn as withQRScanner,
3004
+ Qn as withQRScannerRaw,
3005
+ Zn as withSettingsButton,
3006
+ Yn as withSettingsButtonRaw,
3007
+ tr as withThemeParams,
3008
+ Xn as withThemeParamsRaw,
3009
+ Dt as withTimeout,
3010
+ nr as withUtils,
3011
+ sr as withUtilsRaw,
3012
+ ir as withViewport,
3013
+ rr as withViewportRaw
2979
3014
  };
2980
3015
  //# sourceMappingURL=index.js.map