useyuva 0.0.25 → 0.0.27

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/README.md +1 -0
  2. package/dist/esm/apps-5c2vy32k.js +1 -0
  3. package/dist/esm/apps-ghkaqqx8.js +128 -0
  4. package/dist/esm/chat.js +33 -16
  5. package/dist/esm/{client-ebw9d6ms.js → client-k8txer77.js} +1 -1
  6. package/dist/esm/docs.js +4 -4
  7. package/dist/esm/index-0b3zs3hm.js +2 -0
  8. package/dist/esm/index-17p275de.js +2 -0
  9. package/dist/esm/index-1tyn193t.js +2 -0
  10. package/dist/esm/index-4mayxpxs.js +2 -0
  11. package/dist/esm/index-5tfxryvn.js +2 -0
  12. package/dist/esm/index-69xd7mjq.js +12 -0
  13. package/dist/esm/index-kf733km6.js +2 -0
  14. package/dist/esm/index.js +1 -1
  15. package/dist/esm/panel-jfe47dat.js +1 -0
  16. package/dist/esm/react.js +1 -1
  17. package/dist/esm/status.js +6 -4
  18. package/dist/esm/subscribe.js +2 -2
  19. package/dist/esm/thread-3y5hexyq.js +61 -0
  20. package/dist/esm/yuva-chat-j6fbj8y2.js +282 -0
  21. package/dist/types/apps/apps.d.ts +4 -0
  22. package/dist/types/apps/feedback.d.ts +3 -0
  23. package/dist/types/apps/help.d.ts +4 -0
  24. package/dist/types/apps/roadmap.d.ts +3 -0
  25. package/dist/types/apps/status.d.ts +3 -0
  26. package/dist/types/apps/styles.d.ts +1 -0
  27. package/dist/types/apps/subscribe.d.ts +3 -0
  28. package/dist/types/apps/whatsnew.d.ts +3 -0
  29. package/dist/types/catalogs/apps.d.ts +2 -0
  30. package/dist/types/client/api.d.ts +25 -0
  31. package/dist/types/client/client.d.ts +41 -2
  32. package/dist/types/element.d.ts +2 -1
  33. package/dist/types/i18n.d.ts +1 -1
  34. package/dist/types/index.d.ts +2 -2
  35. package/dist/types/locales/ar/apps.d.ts +2 -0
  36. package/dist/types/locales/bn/apps.d.ts +2 -0
  37. package/dist/types/locales/ca/apps.d.ts +2 -0
  38. package/dist/types/locales/cs/apps.d.ts +2 -0
  39. package/dist/types/locales/da/apps.d.ts +2 -0
  40. package/dist/types/locales/de/apps.d.ts +2 -0
  41. package/dist/types/locales/el/apps.d.ts +2 -0
  42. package/dist/types/locales/en/apps.d.ts +2 -0
  43. package/dist/types/locales/es/apps.d.ts +2 -0
  44. package/dist/types/locales/es-MX/apps.d.ts +2 -0
  45. package/dist/types/locales/fi/apps.d.ts +2 -0
  46. package/dist/types/locales/fr/apps.d.ts +2 -0
  47. package/dist/types/locales/fr-CA/apps.d.ts +2 -0
  48. package/dist/types/locales/gu/apps.d.ts +2 -0
  49. package/dist/types/locales/he/apps.d.ts +2 -0
  50. package/dist/types/locales/hi/apps.d.ts +2 -0
  51. package/dist/types/locales/hr/apps.d.ts +2 -0
  52. package/dist/types/locales/hu/apps.d.ts +2 -0
  53. package/dist/types/locales/id/apps.d.ts +2 -0
  54. package/dist/types/locales/it/apps.d.ts +2 -0
  55. package/dist/types/locales/ja/apps.d.ts +2 -0
  56. package/dist/types/locales/kn/apps.d.ts +2 -0
  57. package/dist/types/locales/ko/apps.d.ts +2 -0
  58. package/dist/types/locales/ml/apps.d.ts +2 -0
  59. package/dist/types/locales/mr/apps.d.ts +2 -0
  60. package/dist/types/locales/ms/apps.d.ts +2 -0
  61. package/dist/types/locales/nb/apps.d.ts +2 -0
  62. package/dist/types/locales/nl/apps.d.ts +2 -0
  63. package/dist/types/locales/or/apps.d.ts +2 -0
  64. package/dist/types/locales/pa/apps.d.ts +2 -0
  65. package/dist/types/locales/pl/apps.d.ts +2 -0
  66. package/dist/types/locales/pt-BR/apps.d.ts +2 -0
  67. package/dist/types/locales/pt-PT/apps.d.ts +2 -0
  68. package/dist/types/locales/ro/apps.d.ts +2 -0
  69. package/dist/types/locales/ru/apps.d.ts +2 -0
  70. package/dist/types/locales/sk/apps.d.ts +2 -0
  71. package/dist/types/locales/sl/apps.d.ts +2 -0
  72. package/dist/types/locales/sv/apps.d.ts +2 -0
  73. package/dist/types/locales/ta/apps.d.ts +2 -0
  74. package/dist/types/locales/te/apps.d.ts +2 -0
  75. package/dist/types/locales/th/apps.d.ts +2 -0
  76. package/dist/types/locales/tr/apps.d.ts +2 -0
  77. package/dist/types/locales/uk/apps.d.ts +2 -0
  78. package/dist/types/locales/ur/apps.d.ts +2 -0
  79. package/dist/types/locales/vi/apps.d.ts +2 -0
  80. package/dist/types/locales/zh-Hans/apps.d.ts +2 -0
  81. package/dist/types/locales/zh-Hant/apps.d.ts +2 -0
  82. package/dist/types/panel/capture.d.ts +2 -0
  83. package/dist/types/panel/chat.d.ts +3 -1
  84. package/dist/types/panel/helpers.d.ts +15 -0
  85. package/dist/types/panel/home.d.ts +18 -0
  86. package/dist/types/panel/icons.d.ts +28 -0
  87. package/dist/types/panel/styles.d.ts +1 -1
  88. package/dist/types/react.d.ts +30 -2
  89. package/dist/types/schema.gen.d.ts +18078 -11611
  90. package/dist/types/translate.d.ts +1 -1
  91. package/dist/types/types.d.ts +33 -1
  92. package/dist/types/updates.d.ts +3 -0
  93. package/dist/widget/yuva-apps-ar-wk63tmr6.js +1 -0
  94. package/dist/widget/yuva-apps-bn-mv215pfz.js +1 -0
  95. package/dist/widget/yuva-apps-ca-mxrszyen.js +1 -0
  96. package/dist/widget/yuva-apps-cs-szpm8fq7.js +1 -0
  97. package/dist/widget/yuva-apps-da-v9sx8j55.js +1 -0
  98. package/dist/widget/yuva-apps-de-fd1snm0x.js +1 -0
  99. package/dist/widget/yuva-apps-el-wecybgxk.js +1 -0
  100. package/dist/widget/yuva-apps-en-skz2hc45.js +1 -0
  101. package/dist/widget/yuva-apps-es-18nqt6cs.js +1 -0
  102. package/dist/widget/yuva-apps-es-mx-23h92xvs.js +1 -0
  103. package/dist/widget/yuva-apps-fi-9tffjg50.js +1 -0
  104. package/dist/widget/yuva-apps-fr-ca-ma4cfsvr.js +1 -0
  105. package/dist/widget/yuva-apps-fr-v6fmnc7n.js +1 -0
  106. package/dist/widget/yuva-apps-gu-4v1dxzbn.js +1 -0
  107. package/dist/widget/yuva-apps-he-yy8ajb9j.js +1 -0
  108. package/dist/widget/yuva-apps-hi-zezzdfb4.js +1 -0
  109. package/dist/widget/yuva-apps-hr-skjtsrz6.js +1 -0
  110. package/dist/widget/yuva-apps-hu-q79hae7c.js +1 -0
  111. package/dist/widget/yuva-apps-id-rvr6g27r.js +1 -0
  112. package/dist/widget/yuva-apps-it-hkfb6swg.js +1 -0
  113. package/dist/widget/yuva-apps-ja-71z2p7a6.js +1 -0
  114. package/dist/widget/yuva-apps-kn-xm2wsv24.js +1 -0
  115. package/dist/widget/yuva-apps-ko-5b90egt2.js +1 -0
  116. package/dist/widget/yuva-apps-ml-qyjc0208.js +1 -0
  117. package/dist/widget/yuva-apps-mr-wh0985vm.js +1 -0
  118. package/dist/widget/yuva-apps-ms-2et5c44x.js +1 -0
  119. package/dist/widget/yuva-apps-nb-hnr4p136.js +1 -0
  120. package/dist/widget/yuva-apps-nl-m5z18z8w.js +1 -0
  121. package/dist/widget/yuva-apps-or-6ggz8n7c.js +1 -0
  122. package/dist/widget/yuva-apps-pa-p0zp743s.js +1 -0
  123. package/dist/widget/yuva-apps-pl-ayf5z37n.js +1 -0
  124. package/dist/widget/yuva-apps-pt-br-pmegf5s7.js +1 -0
  125. package/dist/widget/yuva-apps-pt-pt-fqqmhnsg.js +1 -0
  126. package/dist/widget/yuva-apps-ro-kq1mexyc.js +1 -0
  127. package/dist/widget/yuva-apps-ru-k3vhm4n9.js +1 -0
  128. package/dist/widget/yuva-apps-sk-n0st8g80.js +1 -0
  129. package/dist/widget/yuva-apps-sl-5yzf8nkk.js +1 -0
  130. package/dist/widget/yuva-apps-sv-bfchg8n0.js +1 -0
  131. package/dist/widget/yuva-apps-ta-zgn0hzpc.js +1 -0
  132. package/dist/widget/yuva-apps-te-eyyyp1fs.js +1 -0
  133. package/dist/widget/yuva-apps-th-tq3fdyxf.js +1 -0
  134. package/dist/widget/yuva-apps-tr-9bq6yzyy.js +1 -0
  135. package/dist/widget/yuva-apps-uk-0azd9r77.js +1 -0
  136. package/dist/widget/yuva-apps-ur-j8m34b8k.js +1 -0
  137. package/dist/widget/yuva-apps-vi-hs9e6h1q.js +1 -0
  138. package/dist/widget/yuva-apps-zh-hans-bc7j7gt0.js +1 -0
  139. package/dist/widget/yuva-apps-zh-hant-9ke56jnf.js +1 -0
  140. package/dist/widget/yuva-chat-apps-yrvvqdf9.js +128 -0
  141. package/dist/widget/{yuva-docs-thread-3594bmxy.js → yuva-docs-thread-gha4vzfm.js} +5 -5
  142. package/dist/widget/yuva-panel-ar-w9kxar7b.js +1 -0
  143. package/dist/widget/yuva-panel-bn-w0jg8rz0.js +1 -0
  144. package/dist/widget/yuva-panel-ca-3xmep2qy.js +1 -0
  145. package/dist/widget/yuva-panel-cs-jxdap7hk.js +1 -0
  146. package/dist/widget/yuva-panel-da-xy0gn2ch.js +1 -0
  147. package/dist/widget/yuva-panel-de-z1haaaf5.js +1 -0
  148. package/dist/widget/yuva-panel-el-vhskf13n.js +1 -0
  149. package/dist/widget/yuva-panel-en-yntqp1wb.js +1 -0
  150. package/dist/widget/yuva-panel-es-91gq45ad.js +1 -0
  151. package/dist/widget/yuva-panel-es-mx-593ry1sp.js +1 -0
  152. package/dist/widget/yuva-panel-fi-dw2qy2ep.js +1 -0
  153. package/dist/widget/yuva-panel-fr-ca-kwqpxepb.js +1 -0
  154. package/dist/widget/yuva-panel-fr-mksekp2w.js +1 -0
  155. package/dist/widget/yuva-panel-gu-9brj4atb.js +1 -0
  156. package/dist/widget/yuva-panel-he-kwf5a5r1.js +1 -0
  157. package/dist/widget/yuva-panel-hi-hyqwxkva.js +1 -0
  158. package/dist/widget/yuva-panel-hr-xyc32ytv.js +1 -0
  159. package/dist/widget/yuva-panel-hu-dsf2tr60.js +1 -0
  160. package/dist/widget/yuva-panel-id-egadejce.js +1 -0
  161. package/dist/widget/yuva-panel-it-dstzsdpt.js +1 -0
  162. package/dist/widget/yuva-panel-ja-5ep2nhr6.js +1 -0
  163. package/dist/widget/yuva-panel-kn-ggsqc21e.js +1 -0
  164. package/dist/widget/yuva-panel-ko-7cr7d0zc.js +1 -0
  165. package/dist/widget/yuva-panel-ml-0vb742gf.js +1 -0
  166. package/dist/widget/yuva-panel-mr-f7sn0acm.js +1 -0
  167. package/dist/widget/yuva-panel-ms-7xavwv7n.js +1 -0
  168. package/dist/widget/yuva-panel-nb-34x0g8mq.js +1 -0
  169. package/dist/widget/yuva-panel-nl-rkak2t5r.js +1 -0
  170. package/dist/widget/yuva-panel-or-q6eks6dh.js +1 -0
  171. package/dist/widget/yuva-panel-pa-26mhm7me.js +1 -0
  172. package/dist/widget/yuva-panel-pl-6bsq33w3.js +1 -0
  173. package/dist/widget/yuva-panel-pt-br-5bf6ja6w.js +1 -0
  174. package/dist/widget/yuva-panel-pt-pt-2a7vh8y9.js +1 -0
  175. package/dist/widget/yuva-panel-ro-9255bnc4.js +1 -0
  176. package/dist/widget/yuva-panel-ru-1ydh24ae.js +1 -0
  177. package/dist/widget/yuva-panel-sk-50gc8kfg.js +1 -0
  178. package/dist/widget/yuva-panel-sl-0j7nnz7k.js +1 -0
  179. package/dist/widget/yuva-panel-sv-175kbch1.js +1 -0
  180. package/dist/widget/yuva-panel-ta-x4nnzatk.js +1 -0
  181. package/dist/widget/yuva-panel-te-35y4486b.js +1 -0
  182. package/dist/widget/yuva-panel-th-rx5h6eq6.js +1 -0
  183. package/dist/widget/yuva-panel-tr-ywyzb4rn.js +1 -0
  184. package/dist/widget/yuva-panel-uk-9h1czxf0.js +1 -0
  185. package/dist/widget/yuva-panel-ur-peb4hk7h.js +1 -0
  186. package/dist/widget/yuva-panel-vi-t97hnjrg.js +1 -0
  187. package/dist/widget/yuva-panel-zh-hans-djf7yajw.js +1 -0
  188. package/dist/widget/yuva-panel-zh-hant-a9cgjbmw.js +1 -0
  189. package/dist/widget/yuva-subscribe-client-32k2vgq4.js +11 -0
  190. package/dist/yuva-chat.js +238 -158
  191. package/dist/yuva-docs.js +6 -6
  192. package/dist/yuva-status.js +9 -7
  193. package/dist/yuva-subscribe.js +2 -2
  194. package/dist/yuva.js +33 -16
  195. package/package.json +1 -1
  196. package/dist/esm/index-3wpqkv7x.js +0 -2
  197. package/dist/esm/index-6brgxahe.js +0 -12
  198. package/dist/esm/index-ceev0134.js +0 -2
  199. package/dist/esm/index-rdzxvj2r.js +0 -2
  200. package/dist/esm/thread-g9jsp0c5.js +0 -61
  201. package/dist/esm/yuva-chat-9hx7wb3q.js +0 -202
  202. package/dist/widget/yuva-subscribe-client-bx862wkt.js +0 -11
package/dist/yuva.js CHANGED
@@ -1,33 +1,49 @@
1
- (()=>{var i=JSON.parse('{"6I7cJR":["Open chat"],"OkHvGB":["Open chat, ",["count"]," unread"],"pqZJT2":["Close chat"]}');var h=JSON.parse('{"6I7cJR":["Sohbeti aç"],"OkHvGB":["Sohbeti aç, ",["count"]," okunmamış"],"pqZJT2":["Sohbeti kapat"]}');var d=JSON.parse('{"6I7cJR":["Chat öffnen"],"OkHvGB":["Chat öffnen, ",["count"]," ungelesen"],"pqZJT2":["Chat schließen"]}');var f=JSON.parse('{"6I7cJR":["فتح الدردشة"],"OkHvGB":["فتح الدردشة، ",["count"]," غير مقروءة"],"pqZJT2":["إغلاق الدردشة"]}');var y=JSON.parse('{"6I7cJR":["চ্যাট খুলুন"],"OkHvGB":["চ্যাট খুলুন, ",["count"],"টি অপঠিত"],"pqZJT2":["চ্যাট বন্ধ করুন"]}');var v=JSON.parse('{"6I7cJR":["Obre el xat"],"OkHvGB":["Obre el xat, ",["count"]," sense llegir"],"pqZJT2":["Tanca el xat"]}');var J=JSON.parse('{"6I7cJR":["Otevřít chat"],"OkHvGB":["Otevřít chat, nepřečtených: ",["count"]],"pqZJT2":["Zavřít chat"]}');var b=JSON.parse('{"6I7cJR":["Åbn chat"],"OkHvGB":["Åbn chat, ",["count"]," ulæste"],"pqZJT2":["Luk chat"]}');var x=JSON.parse('{"6I7cJR":["Άνοιγμα συνομιλίας"],"OkHvGB":["Άνοιγμα συνομιλίας, ",["count"]," μη αναγνωσμένα"],"pqZJT2":["Κλείσιμο συνομιλίας"]}');var O=JSON.parse('{"6I7cJR":["Abrir chat"],"OkHvGB":["Abrir chat, ",["count"]," sin leer"],"pqZJT2":["Cerrar chat"]}');var S=JSON.parse('{"6I7cJR":["Abrir chat"],"OkHvGB":["Abrir chat, ",["count"]," sin leer"],"pqZJT2":["Cerrar chat"]}');var M=JSON.parse('{"6I7cJR":["Avaa chat"],"OkHvGB":["Avaa chat, ",["count"]," lukematonta"],"pqZJT2":["Sulje chat"]}');var k=JSON.parse('{"6I7cJR":["Ouvrir le chat"],"OkHvGB":["Ouvrir le chat, messages non lus : ",["count"]],"pqZJT2":["Fermer le chat"]}');var I=JSON.parse('{"6I7cJR":["Ouvrir le chat"],"OkHvGB":["Ouvrir le chat, messages non lus : ",["count"]],"pqZJT2":["Fermer le chat"]}');var T=JSON.parse('{"6I7cJR":["ચેટ ખોલો"],"OkHvGB":["ચેટ ખોલો, ",["count"]," વણવાંચેલા"],"pqZJT2":["ચેટ બંધ કરો"]}');var R=JSON.parse('{"6I7cJR":["פתיחת הצ׳אט"],"OkHvGB":["פתיחת הצ׳אט, ",["count"]," שלא נקראו"],"pqZJT2":["סגירת הצ׳אט"]}');var H=JSON.parse('{"6I7cJR":["चैट खोलें"],"OkHvGB":["चैट खोलें, ",["count"]," अपठित"],"pqZJT2":["चैट बंद करें"]}');var B=JSON.parse('{"6I7cJR":["Otvori chat"],"OkHvGB":["Otvori chat, nepročitano: ",["count"]],"pqZJT2":["Zatvori chat"]}');var C=JSON.parse('{"6I7cJR":["Csevegés megnyitása"],"OkHvGB":["Csevegés megnyitása, olvasatlan: ",["count"]],"pqZJT2":["Csevegés bezárása"]}');var N=JSON.parse('{"6I7cJR":["Buka obrolan"],"OkHvGB":["Buka obrolan, ",["count"]," belum dibaca"],"pqZJT2":["Tutup obrolan"]}');var Z=JSON.parse('{"6I7cJR":["Apri la chat"],"OkHvGB":["Apri la chat, messaggi non letti: ",["count"]],"pqZJT2":["Chiudi la chat"]}');var q=JSON.parse('{"6I7cJR":["チャットを開く"],"OkHvGB":["チャットを開く(未読",["count"],"件)"],"pqZJT2":["チャットを閉じる"]}');var G=JSON.parse('{"6I7cJR":["ಚಾಟ್ ತೆರೆಯಿರಿ"],"OkHvGB":["ಚಾಟ್ ತೆರೆಯಿರಿ, ",["count"]," ಓದದಿರುವವು"],"pqZJT2":["ಚಾಟ್ ಮುಚ್ಚಿ"]}');var w=JSON.parse('{"6I7cJR":["채팅 열기"],"OkHvGB":["채팅 열기, 읽지 않음 ",["count"],"개"],"pqZJT2":["채팅 닫기"]}');var A=JSON.parse('{"6I7cJR":["ചാറ്റ് തുറക്കുക"],"OkHvGB":["ചാറ്റ് തുറക്കുക, ",["count"]," വായിക്കാത്തവ"],"pqZJT2":["ചാറ്റ് അടയ്ക്കുക"]}');var z=JSON.parse('{"6I7cJR":["चॅट उघडा"],"OkHvGB":["चॅट उघडा, ",["count"]," न वाचलेले"],"pqZJT2":["चॅट बंद करा"]}');var L=JSON.parse('{"6I7cJR":["Buka sembang"],"OkHvGB":["Buka sembang, ",["count"]," belum dibaca"],"pqZJT2":["Tutup sembang"]}');var E=JSON.parse('{"6I7cJR":["Åpne chatten"],"OkHvGB":["Åpne chatten, ",["count"]," uleste"],"pqZJT2":["Lukk chatten"]}');var P=JSON.parse('{"6I7cJR":["Chat openen"],"OkHvGB":["Chat openen, ",["count"]," ongelezen"],"pqZJT2":["Chat sluiten"]}');var _=JSON.parse('{"6I7cJR":["ଚାଟ୍ ଖୋଲନ୍ତୁ"],"OkHvGB":["ଚାଟ୍ ଖୋଲନ୍ତୁ, ",["count"]," ଅପଠିତ"],"pqZJT2":["ଚାଟ୍ ବନ୍ଦ କରନ୍ତୁ"]}');var j=JSON.parse('{"6I7cJR":["ਚੈਟ ਖੋਲ੍ਹੋ"],"OkHvGB":["ਚੈਟ ਖੋਲ੍ਹੋ, ",["count"]," ਨਾ-ਪੜ੍ਹੇ"],"pqZJT2":["ਚੈਟ ਬੰਦ ਕਰੋ"]}');var F=JSON.parse('{"6I7cJR":["Otwórz czat"],"OkHvGB":["Otwórz czat, nieprzeczytane: ",["count"]],"pqZJT2":["Zamknij czat"]}');var D=JSON.parse('{"6I7cJR":["Abrir chat"],"OkHvGB":["Abrir chat, ",["count"]," não lidas"],"pqZJT2":["Fechar chat"]}');var U=JSON.parse('{"6I7cJR":["Abrir chat"],"OkHvGB":["Abrir chat, ",["count"]," por ler"],"pqZJT2":["Fechar chat"]}');var K=JSON.parse('{"6I7cJR":["Deschide chatul"],"OkHvGB":["Deschide chatul, ",["count"]," necitite"],"pqZJT2":["Închide chatul"]}');var Q=JSON.parse('{"6I7cJR":["Открыть чат"],"OkHvGB":["Открыть чат, непрочитанных: ",["count"]],"pqZJT2":["Закрыть чат"]}');var V=JSON.parse('{"6I7cJR":["Otvoriť chat"],"OkHvGB":["Otvoriť chat, neprečítané: ",["count"]],"pqZJT2":["Zavrieť chat"]}');var W=JSON.parse('{"6I7cJR":["Odpri klepet"],"OkHvGB":["Odpri klepet, neprebrano: ",["count"]],"pqZJT2":["Zapri klepet"]}');var X=JSON.parse('{"6I7cJR":["Öppna chatten"],"OkHvGB":["Öppna chatten, ",["count"]," olästa"],"pqZJT2":["Stäng chatten"]}');var Y=JSON.parse('{"6I7cJR":["அரட்டையைத் திற"],"OkHvGB":["அரட்டையைத் திற, ",["count"]," படிக்காதவை"],"pqZJT2":["அரட்டையை மூடு"]}');var ee=JSON.parse('{"6I7cJR":["చాట్ తెరవండి"],"OkHvGB":["చాట్ తెరవండి, ",["count"]," చదవనివి"],"pqZJT2":["చాట్ మూసివేయండి"]}');var se=JSON.parse('{"6I7cJR":["เปิดแชต"],"OkHvGB":["เปิดแชต ยังไม่ได้อ่าน ",["count"]," รายการ"],"pqZJT2":["ปิดแชต"]}');var te=JSON.parse('{"6I7cJR":["Відкрити чат"],"OkHvGB":["Відкрити чат, непрочитаних: ",["count"]],"pqZJT2":["Закрити чат"]}');var oe=JSON.parse('{"6I7cJR":["چیٹ کھولیں"],"OkHvGB":["چیٹ کھولیں، ",["count"]," ان پڑھے"],"pqZJT2":["چیٹ بند کریں"]}');var re=JSON.parse('{"6I7cJR":["Mở trò chuyện"],"OkHvGB":["Mở trò chuyện, ",["count"]," chưa đọc"],"pqZJT2":["Đóng trò chuyện"]}');var ae=JSON.parse('{"6I7cJR":["打开聊天"],"OkHvGB":["打开聊天,",["count"]," 条未读"],"pqZJT2":["关闭聊天"]}');var ne=JSON.parse('{"6I7cJR":["開啟聊天"],"OkHvGB":["開啟聊天,",["count"]," 則未讀"],"pqZJT2":["關閉聊天"]}');var p={en:i,tr:h,de:d,ar:f,bn:y,ca:v,cs:J,da:b,el:x,es:O,"es-mx":S,fi:M,fr:k,"fr-ca":I,gu:T,he:R,hi:H,hr:B,hu:C,id:N,it:Z,ja:q,kn:G,ko:w,ml:A,mr:z,ms:L,nb:E,nl:P,or:_,pa:j,pl:F,"pt-br":D,"pt-pt":U,ro:K,ru:Q,sk:V,sl:W,sv:X,ta:Y,te:ee,th:se,uk:te,ur:oe,vi:re,"zh-hans":ae,"zh-hant":ne};function ie(e,s,t){let o=e[s.id]??t[s.id],r=s.values??{};if(typeof o==="string")return o;if(Array.isArray(o))return o.map((a)=>typeof a==="string"?a:Array.isArray(a)?String(r[a[0]]??""):"").join("");return s.message??s.id}var Je=new Set(["ar","fa","he","ur"]),ce="en",be=new Set(["419","us","ar","bo","cl","co","cr","cu","do","ec","gt","hn","mx","ni","pa","pe","pr","py","sv","uy","ve"]),xe={iw:"he",in:"id",no:"nb",nn:"nb"};function Oe(e){let[s="",...t]=e.split("-"),o=xe[s]??s,r=t.find((n)=>n.length===2||/^\d{3}$/.test(n)),a=[];if(o==="zh"){let n=t.includes("hant")||!t.includes("hans")&&["tw","hk","mo"].includes(r??"");a.push(n?"zh-hant":"zh-hans")}else if(o==="pt")a.push(r==="pt"?"pt-pt":"pt-br");else if(o==="es")a.push(r&&be.has(r)?"es-mx":"es");else if(o==="fr")a.push(r==="ca"?"fr-ca":"fr");return a.push(r?`${o}-${r}`:o,o),a}function pe(e,s){for(let t of s){if(!t)continue;let o=t.toLowerCase().replace(/_/g,"-");if(e[o])return o;for(let r of Oe(o))if(e[r])return r}return ce}function l(e){return Je.has(e.split(/[-_]/)[0]??"")?"rtl":"ltr"}function le(...e){return pe(p,e)}function ue(e){return p[e]??i}function c(e,s,t=i){return ie(e,s,t)}var ge=new Map;function Se(e){if(typeof CSSStyleSheet>"u"||!("replaceSync"in CSSStyleSheet.prototype))return null;let s=ge.get(e);if(!s)s=new CSSStyleSheet,s.replaceSync(e),ge.set(e,s);return s}function Me(e){let s=document.createElement("style");return s.textContent=e,s}function me(e,s){let t=Se(s);if(!t||!(e instanceof ShadowRoot))return Me(s);if(!e.adoptedStyleSheets.includes(t))e.adoptedStyleSheets=[...e.adoptedStyleSheets,t];return null}function he(e){return{position:e.chat.launcher_position,color:e.chat.launcher_color??e.branding.color}}function de(e){let s=Number.parseInt(e.slice(1),16),[t,o,r]=[s>>16&255,s>>8&255,s&255].map((a)=>{let n=a/255;return n<=0.03928?n/12.92:((n+0.055)/1.055)**2.4});return 0.2126*t+0.7152*o+0.0722*r>0.4?"#111827":"#ffffff"}function fe(e){return`yuva:${e}`}function u(e){try{let s=localStorage.getItem(fe(e));return s?JSON.parse(s):{}}catch{return{}}}function ye(e,s){try{localStorage.setItem(fe(e),JSON.stringify(s))}catch{}}var ke=`
1
+ (()=>{var c=JSON.parse('{"6I7cJR":["Open chat"],"OkHvGB":["Open chat, ",["count"]," unread"],"TidMpF":["Open chat, ",["count","plural",{"one":["#"," update"],"other":["#"," updates"]}]],"pqZJT2":["Close chat"]}');var y=JSON.parse('{"6I7cJR":["Sohbeti aç"],"OkHvGB":["Sohbeti aç, ",["count"]," okunmamış"],"TidMpF":["Sohbeti aç, ",["count"]," güncelleme"],"pqZJT2":["Sohbeti kapat"]}');var b=JSON.parse('{"6I7cJR":["Chat öffnen"],"OkHvGB":["Chat öffnen, ",["count"]," ungelesen"],"TidMpF":["Chat öffnen, ",["count","plural",{"one":["#"," Neuigkeit"],"other":["#"," Neuigkeiten"]}]],"pqZJT2":["Chat schließen"]}');var M=JSON.parse('{"6I7cJR":["فتح الدردشة"],"OkHvGB":["فتح الدردشة، ",["count"]," غير مقروءة"],"TidMpF":["فتح الدردشة، ",["count","plural",{"zero":["#"," تحديث"],"one":["تحديث واحد"],"two":["تحديثان"],"few":["#"," تحديثات"],"many":["#"," تحديثًا"],"other":["#"," تحديث"]}]],"pqZJT2":["إغلاق الدردشة"]}');var x=JSON.parse('{"6I7cJR":["চ্যাট খুলুন"],"OkHvGB":["চ্যাট খুলুন, ",["count"],"টি অপঠিত"],"TidMpF":["চ্যাট খুলুন, ",["count"],"টি আপডেট"],"pqZJT2":["চ্যাট বন্ধ করুন"]}');var J=JSON.parse('{"6I7cJR":["Obre el xat"],"OkHvGB":["Obre el xat, ",["count"]," sense llegir"],"TidMpF":["Obre el xat, ",["count","plural",{"one":["#"," novetat"],"other":["#"," novetats"]}]],"pqZJT2":["Tanca el xat"]}');var O=JSON.parse('{"6I7cJR":["Otevřít chat"],"OkHvGB":["Otevřít chat, nepřečtených: ",["count"]],"TidMpF":["Otevřít chat, ",["count","plural",{"one":["#"," novinka"],"few":["#"," novinky"],"many":["#"," novinky"],"other":["#"," novinek"]}]],"pqZJT2":["Zavřít chat"]}');var k=JSON.parse('{"6I7cJR":["Åbn chat"],"OkHvGB":["Åbn chat, ",["count"]," ulæste"],"TidMpF":["Åbn chat, ",["count","plural",{"one":["#"," opdatering"],"other":["#"," opdateringer"]}]],"pqZJT2":["Luk chat"]}');var S=JSON.parse('{"6I7cJR":["Άνοιγμα συνομιλίας"],"OkHvGB":["Άνοιγμα συνομιλίας, ",["count"]," μη αναγνωσμένα"],"TidMpF":["Άνοιγμα συνομιλίας, ",["count","plural",{"one":["#"," ενημέρωση"],"other":["#"," ενημερώσεις"]}]],"pqZJT2":["Κλείσιμο συνομιλίας"]}');var T=JSON.parse('{"6I7cJR":["Abrir chat"],"OkHvGB":["Abrir chat, ",["count"]," sin leer"],"TidMpF":["Abrir el chat, ",["count","plural",{"one":["#"," novedad"],"other":["#"," novedades"]}]],"pqZJT2":["Cerrar chat"]}');var w=JSON.parse('{"6I7cJR":["Abrir chat"],"OkHvGB":["Abrir chat, ",["count"]," sin leer"],"TidMpF":["Abrir el chat, ",["count","plural",{"one":["#"," novedad"],"other":["#"," novedades"]}]],"pqZJT2":["Cerrar chat"]}');var C=JSON.parse('{"6I7cJR":["Avaa chat"],"OkHvGB":["Avaa chat, ",["count"]," lukematonta"],"TidMpF":["Avaa chat, ",["count","plural",{"one":["#"," päivitys"],"other":["#"," päivitystä"]}]],"pqZJT2":["Sulje chat"]}');var I=JSON.parse('{"6I7cJR":["Ouvrir le chat"],"OkHvGB":["Ouvrir le chat, messages non lus : ",["count"]],"TidMpF":["Ouvrir le chat, ",["count","plural",{"one":["#"," nouveauté"],"other":["#"," nouveautés"]}]],"pqZJT2":["Fermer le chat"]}');var R=JSON.parse('{"6I7cJR":["Ouvrir le chat"],"OkHvGB":["Ouvrir le chat, messages non lus : ",["count"]],"TidMpF":["Ouvrir le clavardage, ",["count","plural",{"one":["#"," nouveauté"],"other":["#"," nouveautés"]}]],"pqZJT2":["Fermer le chat"]}');var H=JSON.parse('{"6I7cJR":["ચેટ ખોલો"],"OkHvGB":["ચેટ ખોલો, ",["count"]," વણવાંચેલા"],"TidMpF":["ચેટ ખોલો, ",["count"]," અપડેટ"],"pqZJT2":["ચેટ બંધ કરો"]}');var A=JSON.parse(`{"6I7cJR":["פתיחת הצ׳אט"],"OkHvGB":["פתיחת הצ׳אט, ",["count"]," שלא נקראו"],"TidMpF":["פתיחת הצ'אט, ",["count","plural",{"one":["עדכון אחד"],"two":["שני עדכונים"],"other":["#"," עדכונים"]}]],"pqZJT2":["סגירת הצ׳אט"]}`);var N=JSON.parse('{"6I7cJR":["चैट खोलें"],"OkHvGB":["चैट खोलें, ",["count"]," अपठित"],"TidMpF":["चैट खोलें, ",["count"]," अपडेट"],"pqZJT2":["चैट बंद करें"]}');var F=JSON.parse('{"6I7cJR":["Otvori chat"],"OkHvGB":["Otvori chat, nepročitano: ",["count"]],"TidMpF":["Otvori chat, ",["count","plural",{"one":["#"," novost"],"few":["#"," novosti"],"other":["#"," novosti"]}]],"pqZJT2":["Zatvori chat"]}');var B=JSON.parse('{"6I7cJR":["Csevegés megnyitása"],"OkHvGB":["Csevegés megnyitása, olvasatlan: ",["count"]],"TidMpF":["Csevegés megnyitása, ",["count"]," újdonság"],"pqZJT2":["Csevegés bezárása"]}');var Z=JSON.parse('{"6I7cJR":["Buka obrolan"],"OkHvGB":["Buka obrolan, ",["count"]," belum dibaca"],"TidMpF":["Buka obrolan, ",["count"]," pembaruan"],"pqZJT2":["Tutup obrolan"]}');var q=JSON.parse('{"6I7cJR":["Apri la chat"],"OkHvGB":["Apri la chat, messaggi non letti: ",["count"]],"TidMpF":["Apri la chat, ",["count","plural",{"one":["#"," novità"],"other":["#"," novità"]}]],"pqZJT2":["Chiudi la chat"]}');var G=JSON.parse('{"6I7cJR":["チャットを開く"],"OkHvGB":["チャットを開く(未読",["count"],"件)"],"TidMpF":["チャットを開く、",["count"],"件の更新"],"pqZJT2":["チャットを閉じる"]}');var z=JSON.parse('{"6I7cJR":["ಚಾಟ್ ತೆರೆಯಿರಿ"],"OkHvGB":["ಚಾಟ್ ತೆರೆಯಿರಿ, ",["count"]," ಓದದಿರುವವು"],"TidMpF":["ಚಾಟ್ ತೆರೆಯಿರಿ, ",["count","plural",{"one":["#"," ಅಪ್‌ಡೇಟ್"],"other":["#"," ಅಪ್‌ಡೇಟ್‌ಗಳು"]}]],"pqZJT2":["ಚಾಟ್ ಮುಚ್ಚಿ"]}');var L=JSON.parse('{"6I7cJR":["채팅 열기"],"OkHvGB":["채팅 열기, 읽지 않음 ",["count"],"개"],"TidMpF":["채팅 열기, 업데이트 ",["count"],"개"],"pqZJT2":["채팅 닫기"]}');var P=JSON.parse('{"6I7cJR":["ചാറ്റ് തുറക്കുക"],"OkHvGB":["ചാറ്റ് തുറക്കുക, ",["count"]," വായിക്കാത്തവ"],"TidMpF":["ചാറ്റ് തുറക്കുക, ",["count","plural",{"one":["#"," അപ്‌ഡേറ്റ്"],"other":["#"," അപ്‌ഡേറ്റുകൾ"]}]],"pqZJT2":["ചാറ്റ് അടയ്ക്കുക"]}');var _=JSON.parse('{"6I7cJR":["चॅट उघडा"],"OkHvGB":["चॅट उघडा, ",["count"]," न वाचलेले"],"TidMpF":["चॅट उघडा, ",["count"]," अपडेट"],"pqZJT2":["चॅट बंद करा"]}');var E=JSON.parse('{"6I7cJR":["Buka sembang"],"OkHvGB":["Buka sembang, ",["count"]," belum dibaca"],"TidMpF":["Buka sembang, ",["count"]," kemas kini"],"pqZJT2":["Tutup sembang"]}');var D=JSON.parse('{"6I7cJR":["Åpne chatten"],"OkHvGB":["Åpne chatten, ",["count"]," uleste"],"TidMpF":["Åpne chat, ",["count","plural",{"one":["#"," oppdatering"],"other":["#"," oppdateringer"]}]],"pqZJT2":["Lukk chatten"]}');var U=JSON.parse('{"6I7cJR":["Chat openen"],"OkHvGB":["Chat openen, ",["count"]," ongelezen"],"TidMpF":["Chat openen, ",["count","plural",{"one":["#"," update"],"other":["#"," updates"]}]],"pqZJT2":["Chat sluiten"]}');var j=JSON.parse('{"6I7cJR":["ଚାଟ୍ ଖୋଲନ୍ତୁ"],"OkHvGB":["ଚାଟ୍ ଖୋଲନ୍ତୁ, ",["count"]," ଅପଠିତ"],"TidMpF":["ଚାଟ୍ ଖୋଲନ୍ତୁ, ",["count"],"ଟି ଅପଡେଟ୍"],"pqZJT2":["ଚାଟ୍ ବନ୍ଦ କରନ୍ତୁ"]}');var K=JSON.parse('{"6I7cJR":["ਚੈਟ ਖੋਲ੍ਹੋ"],"OkHvGB":["ਚੈਟ ਖੋਲ੍ਹੋ, ",["count"]," ਨਾ-ਪੜ੍ਹੇ"],"TidMpF":["ਚੈਟ ਖੋਲ੍ਹੋ, ",["count"]," ਅੱਪਡੇਟ"],"pqZJT2":["ਚੈਟ ਬੰਦ ਕਰੋ"]}');var W=JSON.parse('{"6I7cJR":["Otwórz czat"],"OkHvGB":["Otwórz czat, nieprzeczytane: ",["count"]],"TidMpF":["Otwórz czat, ",["count","plural",{"one":["#"," nowość"],"few":["#"," nowości"],"many":["#"," nowości"],"other":["#"," nowości"]}]],"pqZJT2":["Zamknij czat"]}');var Y=JSON.parse('{"6I7cJR":["Abrir chat"],"OkHvGB":["Abrir chat, ",["count"]," não lidas"],"TidMpF":["Abrir o chat, ",["count","plural",{"one":["#"," novidade"],"other":["#"," novidades"]}]],"pqZJT2":["Fechar chat"]}');var Q=JSON.parse('{"6I7cJR":["Abrir chat"],"OkHvGB":["Abrir chat, ",["count"]," por ler"],"TidMpF":["Abrir o chat, ",["count","plural",{"one":["#"," novidade"],"other":["#"," novidades"]}]],"pqZJT2":["Fechar chat"]}');var V=JSON.parse('{"6I7cJR":["Deschide chatul"],"OkHvGB":["Deschide chatul, ",["count"]," necitite"],"TidMpF":["Deschide chatul, ",["count","plural",{"one":["#"," noutate"],"few":["#"," noutăți"],"other":["#"," de noutăți"]}]],"pqZJT2":["Închide chatul"]}');var X=JSON.parse('{"6I7cJR":["Открыть чат"],"OkHvGB":["Открыть чат, непрочитанных: ",["count"]],"TidMpF":["Открыть чат, ",["count","plural",{"one":["#"," обновление"],"few":["#"," обновления"],"many":["#"," обновлений"],"other":["#"," обновления"]}]],"pqZJT2":["Закрыть чат"]}');var ee=JSON.parse('{"6I7cJR":["Otvoriť chat"],"OkHvGB":["Otvoriť chat, neprečítané: ",["count"]],"TidMpF":["Otvoriť chat, ",["count","plural",{"one":["#"," novinka"],"few":["#"," novinky"],"many":["#"," novinky"],"other":["#"," noviniek"]}]],"pqZJT2":["Zavrieť chat"]}');var te=JSON.parse('{"6I7cJR":["Odpri klepet"],"OkHvGB":["Odpri klepet, neprebrano: ",["count"]],"TidMpF":["Odpri klepet, ",["count","plural",{"one":["#"," novost"],"two":["#"," novosti"],"few":["#"," novosti"],"other":["#"," novosti"]}]],"pqZJT2":["Zapri klepet"]}');var se=JSON.parse('{"6I7cJR":["Öppna chatten"],"OkHvGB":["Öppna chatten, ",["count"]," olästa"],"TidMpF":["Öppna chatten, ",["count","plural",{"one":["#"," uppdatering"],"other":["#"," uppdateringar"]}]],"pqZJT2":["Stäng chatten"]}');var oe=JSON.parse('{"6I7cJR":["அரட்டையைத் திற"],"OkHvGB":["அரட்டையைத் திற, ",["count"]," படிக்காதவை"],"TidMpF":["அரட்டையைத் திற, ",["count","plural",{"one":["#"," புதுப்பிப்பு"],"other":["#"," புதுப்பிப்புகள்"]}]],"pqZJT2":["அரட்டையை மூடு"]}');var ne=JSON.parse('{"6I7cJR":["చాట్ తెరవండి"],"OkHvGB":["చాట్ తెరవండి, ",["count"]," చదవనివి"],"TidMpF":["చాట్ తెరవండి, ",["count","plural",{"one":["#"," అప్‌డేట్"],"other":["#"," అప్‌డేట్‌లు"]}]],"pqZJT2":["చాట్ మూసివేయండి"]}');var ae=JSON.parse('{"6I7cJR":["เปิดแชต"],"OkHvGB":["เปิดแชต ยังไม่ได้อ่าน ",["count"]," รายการ"],"TidMpF":["เปิดแชท อัปเดต ",["count"]," รายการ"],"pqZJT2":["ปิดแชต"]}');var re=JSON.parse('{"6I7cJR":["Відкрити чат"],"OkHvGB":["Відкрити чат, непрочитаних: ",["count"]],"TidMpF":["Відкрити чат, ",["count","plural",{"one":["#"," оновлення"],"few":["#"," оновлення"],"many":["#"," оновлень"],"other":["#"," оновлення"]}]],"pqZJT2":["Закрити чат"]}');var ie=JSON.parse('{"6I7cJR":["چیٹ کھولیں"],"OkHvGB":["چیٹ کھولیں، ",["count"]," ان پڑھے"],"TidMpF":["چیٹ کھولیں، ",["count","plural",{"one":["#"," اپ ڈیٹ"],"other":["#"," اپ ڈیٹس"]}]],"pqZJT2":["چیٹ بند کریں"]}');var ce=JSON.parse('{"6I7cJR":["Mở trò chuyện"],"OkHvGB":["Mở trò chuyện, ",["count"]," chưa đọc"],"TidMpF":["Mở trò chuyện, ",["count"]," cập nhật"],"pqZJT2":["Đóng trò chuyện"]}');var pe=JSON.parse('{"6I7cJR":["打开聊天"],"OkHvGB":["打开聊天,",["count"]," 条未读"],"TidMpF":["打开聊天,",["count"]," 条更新"],"pqZJT2":["关闭聊天"]}');var ue=JSON.parse('{"6I7cJR":["開啟聊天"],"OkHvGB":["開啟聊天,",["count"]," 則未讀"],"TidMpF":["開啟聊天,",["count"]," 則更新"],"pqZJT2":["關閉聊天"]}');var m={en:c,tr:y,de:b,ar:M,bn:x,ca:J,cs:O,da:k,el:S,es:T,"es-mx":w,fi:C,fr:I,"fr-ca":R,gu:H,he:A,hi:N,hr:F,hu:B,id:Z,it:q,ja:G,kn:z,ko:L,ml:P,mr:_,ms:E,nb:D,nl:U,or:j,pa:K,pl:W,"pt-br":Y,"pt-pt":Q,ro:V,ru:X,sk:ee,sl:te,sv:se,ta:oe,te:ne,th:ae,uk:re,ur:ie,vi:ce,"zh-hans":pe,"zh-hant":ue};function le(e,t,o,s){return e.map((n)=>{if(typeof n==="string")return s===void 0?n:n.replaceAll("#",String(s));let[a="",r,i]=n,l=t[a];if(r!=="plural"||!i)return String(l??"");let h=Number(l),Se=i[`=${h}`]??i[new Intl.PluralRules(o).select(h)]??i.other??[];return le(Se,t,o,h)}).join("")}function he(e,t,o,s=g){let n=e[t.id]??o[t.id],a=t.values??{};if(typeof n==="string")return n;if(Array.isArray(n))return le(n,a,s);return t.message??t.id}var Te=new Set(["ar","fa","he","ur"]),g="en",we=new Set(["419","us","ar","bo","cl","co","cr","cu","do","ec","gt","hn","mx","ni","pa","pe","pr","py","sv","uy","ve"]),Ce={iw:"he",in:"id",no:"nb",nn:"nb"};function Ie(e){let[t="",...o]=e.split("-"),s=Ce[t]??t,n=o.find((r)=>r.length===2||/^\d{3}$/.test(r)),a=[];if(s==="zh"){let r=o.includes("hant")||!o.includes("hans")&&["tw","hk","mo"].includes(n??"");a.push(r?"zh-hant":"zh-hans")}else if(s==="pt")a.push(n==="pt"?"pt-pt":"pt-br");else if(s==="es")a.push(n&&we.has(n)?"es-mx":"es");else if(s==="fr")a.push(n==="ca"?"fr-ca":"fr");return a.push(n?`${s}-${n}`:s,s),a}function me(e,t){for(let o of t){if(!o)continue;let s=o.toLowerCase().replace(/_/g,"-");if(e[s])return s;for(let n of Ie(s))if(e[n])return n}return g}function d(e){return Te.has(e.split(/[-_]/)[0]??"")?"rtl":"ltr"}function ge(...e){return me(m,e)}function de(e){return m[e]??c}function p(e,t,o=c,s){return he(e,t,o,s)}var fe=new Map;function Re(e){if(typeof CSSStyleSheet>"u"||!("replaceSync"in CSSStyleSheet.prototype))return null;let t=fe.get(e);if(!t)t=new CSSStyleSheet,t.replaceSync(e),fe.set(e,t);return t}function He(e){let t=document.createElement("style");return t.textContent=e,t}function ve(e,t){let o=Re(t);if(!o||!(e instanceof ShadowRoot))return He(t);if(!e.adoptedStyleSheets.includes(o))e.adoptedStyleSheets=[...e.adoptedStyleSheets,o];return null}function ye(e){return{position:e.chat.launcher_position,color:e.chat.launcher_color??e.branding.color}}function be(e){let t=Number.parseInt(e.slice(1),16),[o,s,n]=[t>>16&255,t>>8&255,t&255].map((a)=>{let r=a/255;return r<=0.03928?r/12.92:((r+0.055)/1.055)**2.4});return 0.2126*o+0.7152*s+0.0722*n>0.4?"#111827":"#ffffff"}function Me(e){return`yuva:${e}`}function u(e){try{let t=localStorage.getItem(Me(e));return t?JSON.parse(t):{}}catch{return{}}}function xe(e,t){try{localStorage.setItem(Me(e),JSON.stringify(t))}catch{}}var Ae=2592000000;function Ne(e){return e&&Date.parse(e)||Date.now()-Ae}async function Je(e,t,o,s){let n=await fetch(`${e}/client/v1/channels/${encodeURIComponent(t)}/whats-new?limit=10&locale=${encodeURIComponent(o)}`,{credentials:"omit",cache:s});return n.ok?await n.json():null}async function Oe(e,t,o,s){let n=o.whats_new?.latest_published_at,a=Ne(u(t).whats_new_seen);if(!n||Date.parse(n)<=a)return 0;let r=await Je(e,t,s,"default"),i=r?.changelog.latest_published_at;if(!i||Date.parse(i)<Date.parse(n))r=await Je(e,t,s,"no-cache");if(!r)return 0;return r.items.filter((l)=>Date.parse(l.published_at)>a).length}var Fe=`
2
2
  :host {
3
3
  --yuva-accent: #2563eb;
4
4
  --yuva-on-accent: #ffffff;
5
5
  --yuva-bg: #ffffff;
6
- --yuva-fg: #111827;
7
- --yuva-muted: #6b7280;
8
- --yuva-border: #e5e7eb;
9
- --yuva-soft: #f3f4f6;
6
+ --yuva-deep: #f7f7f8;
7
+ --yuva-fg: #0b0b0f;
8
+ --yuva-muted: #52525b;
9
+ --yuva-faint: #71717a;
10
+ --yuva-border: #ececef;
11
+ --yuva-strong: #d4d4d8;
12
+ --yuva-ok: #15803d;
13
+ --yuva-warn: #d97706;
14
+ --yuva-info: #2563eb;
10
15
  --yuva-danger: #dc2626;
16
+ --yuva-brand: var(--yuva-accent);
17
+ --yuva-wash: color-mix(in srgb, var(--yuva-accent) 9%, var(--yuva-bg));
11
18
  --yuva-shadow: 0 12px 40px rgb(15 23 42 / 0.18);
19
+ --yuva-font: "Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
20
+ --yuva-mono: "Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;
12
21
  color-scheme: light;
13
22
  position: fixed;
14
23
  bottom: 20px;
15
24
  right: 20px;
16
25
  z-index: 2147483000;
17
- font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
18
- font-size: 15px;
26
+ font-family: var(--yuva-font);
27
+ font-size: 14px;
19
28
  line-height: 1.45;
20
29
  color: var(--yuva-fg);
21
30
  }
22
31
  :host([position="left"]) { right: auto; left: 20px; }
23
32
  @media (prefers-color-scheme: dark) {
24
33
  :host {
25
- --yuva-bg: #1c1f24;
26
- --yuva-fg: #f3f4f6;
27
- --yuva-muted: #9ca3af;
28
- --yuva-border: #30343b;
29
- --yuva-soft: #2a2e35;
34
+ --yuva-bg: #09090b;
35
+ --yuva-deep: #121216;
36
+ --yuva-fg: #fafafa;
37
+ --yuva-muted: #a1a1aa;
38
+ --yuva-faint: #8a8a93;
39
+ --yuva-border: #1f1f23;
40
+ --yuva-strong: #3a3a41;
41
+ --yuva-ok: #4ade80;
42
+ --yuva-warn: #facc15;
43
+ --yuva-info: #60a5fa;
30
44
  --yuva-danger: #f87171;
45
+ --yuva-brand: color-mix(in srgb, var(--yuva-accent) 60%, #ffffff);
46
+ --yuva-wash: color-mix(in srgb, var(--yuva-accent) 18%, var(--yuva-bg));
31
47
  --yuva-shadow: 0 12px 40px rgb(0 0 0 / 0.5);
32
48
  color-scheme: dark;
33
49
  }
@@ -78,15 +94,16 @@
78
94
  box-sizing: border-box;
79
95
  background: var(--yuva-bg);
80
96
  border: 1px solid var(--yuva-border);
81
- border-radius: 16px;
97
+ border-radius: 12px;
98
+ position: relative;
82
99
  }
83
100
  .panel[hidden] { display: none; }
84
101
  :host(:not([layout="embedded"])) .panel {
85
102
  position: absolute;
86
103
  bottom: 72px;
87
104
  right: 0;
88
- inline-size: min(380px, calc(100vw - 32px));
89
- block-size: min(600px, calc(100vh - 112px));
105
+ inline-size: min(400px, calc(100vw - 32px));
106
+ block-size: min(720px, calc(100vh - 112px));
90
107
  box-shadow: var(--yuva-shadow);
91
108
  }
92
109
  :host([position="left"]:not([layout="embedded"])) .panel { right: auto; left: 0; }
@@ -106,4 +123,4 @@
106
123
  block-size: 100%;
107
124
  min-block-size: 320px;
108
125
  }
109
- `,Ie='<svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round" aria-hidden="true"><path d="M4 5h16v11H9l-5 4z"/></svg>',Te='<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><path d="M6 6l12 12M18 6L6 18"/></svg>',g=document.currentScript instanceof HTMLScriptElement?document.currentScript.src:"";class m extends HTMLElement{static observedAttributes=["channel","server","layout","locale","dir","identity-token","open"];static loadPanel=()=>import(new URL("yuva-chat.js",g||location.href).href);#r;#a=null;#o=null;#t;#e=null;#i={};#s=!1;#u=0;#c=null;#n=!1;constructor(){super();this.#r=this.attachShadow({mode:"open"}),this.#t=document.createElement("section"),this.#t.className="panel",this.#t.setAttribute("role","dialog"),this.#t.hidden=!0,this.#t.addEventListener("keydown",(e)=>{if(e.key==="Escape"&&this.layout==="launcher")this.close()})}get layout(){return this.getAttribute("layout")==="embedded"?"embedded":"launcher"}get channel(){return this.getAttribute("channel")}get server(){return(this.getAttribute("server")||(g?new URL(g).origin:location.origin)).replace(/\/+$/,"")}get locale(){return le(this.getAttribute("locale"),navigator.language)}get isOpen(){return this.#s}get unread(){return this.#u}setIdentityToken(e){if(this.#c=e,this.#e)this.#e.then((s)=>s.identityChanged())}async signOut(){if(this.#c=null,this.removeAttribute("identity-token"),this.#e)await(await this.#e).signOut()}async rate(e,s,t){return(await this.#g()).rate(e,s,t)}connectedCallback(){this.#p();let e=this.channel;if(this.layout==="embedded"||this.hasAttribute("open")||!e)return;let s=u(e);if(s.launcher)this.#m(s.launcher);let t=()=>{if(!this.isConnected||this.#e||this.channel!==e)return;if(s.session)this.#g();else this.#d(e)};if("requestIdleCallback"in window)requestIdleCallback(t,{timeout:3000});else setTimeout(t,1000)}#d(e){fetch(`${this.server}/client/v1/channels/${encodeURIComponent(e)}`,{credentials:"omit"}).then((s)=>{if(s.status===403||s.status===404)this.#h();return s.ok?s.json():null}).then((s)=>{if(!s||this.channel!==e||this.#e)return;let t=he(s);this.#m(t),ye(e,{...u(e),launcher:t})}).catch(()=>{return})}disconnectedCallback(){let e=this.#e;if(this.#e=null,e)e.then((s)=>s.destroy())}attributeChangedCallback(e,s,t){if(!this.isConnected||s===t)return;if(e==="open"){t===null?this.close():this.open();return}if(e==="identity-token"){if(this.#e)this.#e.then((o)=>o.identityChanged());return}if(e==="channel"||e==="server"){this.disconnectedCallback(),this.#n=!1,this.#p();return}if(this.#p(),this.#e)this.#e.then((o)=>o.update())}async open(){if(this.#s||this.#n)return;this.#s=!0,this.toggleAttribute("open-panel",!0),this.#l();let e=await this.#g();if(!this.#s)return;if(this.#t.hidden=!1,e.opened(),this.layout!=="embedded")this.dispatchEvent(new Event("yuva-open",{bubbles:!0,composed:!0}))}close(){if(!this.#s||this.layout==="embedded")return;if(this.#s=!1,this.toggleAttribute("open-panel",!1),this.#t.hidden=!0,this.#l(),this.#a?.focus(),this.#e)this.#e.then((e)=>e.closed())}toggle(){return this.#s?this.close():this.open()}#f(){return{channel:this.channel,server:this.server,layout:this.layout,locale:this.locale}}#g(){return this.#e??=m.loadPanel().then(({mount:e})=>e({panel:this.#t,config:()=>this.#f(),identityToken:async()=>this.#c?await this.#c()??null:this.getAttribute("identity-token"),isOpen:()=>this.#s,close:()=>this.close(),setUnread:(s)=>{this.#u=s,this.#l(),this.dispatchEvent(new CustomEvent("yuva-unread",{detail:{count:s}}))},setLauncher:(s)=>this.#m(s),refused:()=>this.#h()})),this.#e}#h(){if(this.#n)return;this.#n=!0,console.warn(`Yuva: channel ${this.channel} is unknown or does not allow ${location.origin}`),this.#s=!1,this.toggleAttribute("open-panel",!1),this.disconnectedCallback(),this.#p()}#m(e){if(this.setAttribute("position",e.position==="left"?"left":"right"),e.color&&/^#[0-9a-f]{6}$/i.test(e.color))this.style.setProperty("--yuva-accent",e.color),this.style.setProperty("--yuva-on-accent",de(e.color))}#p(){let e=this.locale;this.#i=ue(e),this.setAttribute("lang",e);let s=me(this.#r,ke),t=s?[s]:[];if(this.#t.dir=this.getAttribute("dir")??l(e),this.#t.setAttribute("aria-modal","false"),this.#n){this.#a=null,this.#o=null,this.#r.replaceChildren();return}if(this.layout==="embedded"){this.#a=null,this.#o=null,this.#r.replaceChildren(...t,this.#t),this.#s=!1,this.open();return}let o=document.createElement("button");if(o.type="button",o.className="launcher",o.addEventListener("click",()=>void this.toggle()),this.#a=o,this.#o=document.createElement("span"),this.#o.className="badge",this.#o.setAttribute("aria-hidden","true"),this.#r.replaceChildren(...t,this.#t,o),this.#l(),this.hasAttribute("open")&&!this.#s)this.open()}#l(){let e=this.#a,s=this.#o;if(!e||!s)return;let t=this.#u;e.setAttribute("aria-expanded",String(this.#s)),e.setAttribute("aria-label",this.#s?c(this.#i,{id:"pqZJT2"}):t>0?c(this.#i,{id:"OkHvGB",values:{count:t}}):c(this.#i,{id:"6I7cJR"})),e.innerHTML=this.#s?Te:Ie,s.textContent=t>9?"9+":String(t),s.hidden=this.#s||t===0,e.append(s)}}function ve(){if(!customElements.get("yuva-chat"))customElements.define("yuva-chat",m)}ve();})();
126
+ `,Be='<svg width="26" height="26" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linejoin="round" aria-hidden="true"><path d="M4 5h16v11H9l-5 4z"/></svg>',Ze='<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" aria-hidden="true"><path d="M6 6l12 12M18 6L6 18"/></svg>',f=document.currentScript instanceof HTMLScriptElement?document.currentScript.src:"";class v extends HTMLElement{static observedAttributes=["channel","server","layout","locale","dir","identity-token","open"];static loadPanel=()=>import(new URL("yuva-chat.js",f||location.href).href);#a;#r=null;#o=null;#s;#e=null;#i={};#t=!1;#h=0;#m=0;#p=null;#c=!1;constructor(){super();this.#a=this.attachShadow({mode:"open"}),this.#s=document.createElement("section"),this.#s.className="panel",this.#s.setAttribute("role","dialog"),this.#s.hidden=!0,this.#s.addEventListener("keydown",(e)=>{if(e.key==="Escape"&&this.layout==="launcher")this.close()})}get layout(){return this.getAttribute("layout")==="embedded"?"embedded":"launcher"}get channel(){return this.getAttribute("channel")}get server(){return(this.getAttribute("server")||(f?new URL(f).origin:location.origin)).replace(/\/+$/,"")}get locale(){return ge(this.getAttribute("locale"),navigator.language)}get isOpen(){return this.#t}get unread(){return this.#h}setIdentityToken(e){if(this.#p=e,this.#e)this.#e.then((t)=>t.identityChanged())}async signOut(){if(this.#p=null,this.removeAttribute("identity-token"),this.#e)await(await this.#e).signOut()}async rate(e,t,o){return(await this.#u()).rate(e,t,o)}async openApp(e,t){if(await this.open(),!this.#t)return;await(await this.#u()).openApp(e,t)}connectedCallback(){this.#l();let e=this.channel;if(this.layout==="embedded"||this.hasAttribute("open")||!e)return;let t=u(e);if(t.launcher)this.#g(t.launcher);let o=()=>{if(!this.isConnected||this.#e||this.channel!==e)return;if(t.session)this.#u();else this.#f(e)};if("requestIdleCallback"in window)requestIdleCallback(o,{timeout:3000});else setTimeout(o,1000)}#f(e){fetch(`${this.server}/client/v1/channels/${encodeURIComponent(e)}`,{credentials:"omit"}).then((t)=>{if(t.status===403||t.status===404)this.#d();return t.ok?t.json():null}).then((t)=>{if(!t||this.channel!==e||this.#e)return;let o=ye(t);if(this.#g(o),xe(e,{...u(e),launcher:o}),t.chat.announce_updates)Oe(this.server,e,t,this.locale).then((s)=>{if(this.#e||this.channel!==e)return;this.#m=s,this.#n()}).catch(()=>{return})}).catch(()=>{return})}disconnectedCallback(){let e=this.#e;if(this.#e=null,e)e.then((t)=>t.destroy())}attributeChangedCallback(e,t,o){if(!this.isConnected||t===o)return;if(e==="open"){o===null?this.close():this.open();return}if(e==="identity-token"){if(this.#e)this.#e.then((s)=>s.identityChanged());return}if(e==="channel"||e==="server"){this.disconnectedCallback(),this.#c=!1,this.#l();return}if(this.#l(),this.#e)this.#e.then((s)=>s.update())}async open(){if(this.#t||this.#c)return;this.#t=!0,this.toggleAttribute("open-panel",!0),this.#n();let e=await this.#u();if(!this.#t)return;if(this.#s.hidden=!1,e.opened(),this.layout!=="embedded")this.dispatchEvent(new Event("yuva-open",{bubbles:!0,composed:!0}))}close(){if(!this.#t||this.layout==="embedded")return;if(this.#t=!1,this.toggleAttribute("open-panel",!1),this.#s.hidden=!0,this.#n(),this.#r?.focus(),this.#e)this.#e.then((e)=>e.closed())}toggle(){return this.#t?this.close():this.open()}#v(){return{channel:this.channel,server:this.server,layout:this.layout,locale:this.locale}}#u(){return this.#e??=v.loadPanel().then(({mount:e})=>e({panel:this.#s,config:()=>this.#v(),identityToken:async()=>this.#p?await this.#p()??null:this.getAttribute("identity-token"),isOpen:()=>this.#t,close:()=>this.close(),setUnread:(t)=>{this.#h=t,this.#n(),this.dispatchEvent(new CustomEvent("yuva-unread",{detail:{count:t}}))},setUpdates:(t)=>{this.#m=t,this.#n()},setLauncher:(t)=>this.#g(t),refused:()=>this.#d()})).then(async(e)=>(await e.ready,e)),this.#e}#d(){if(this.#c)return;this.#c=!0,console.warn(`Yuva: channel ${this.channel} is unknown or does not allow ${location.origin}`),this.#t=!1,this.toggleAttribute("open-panel",!1),this.disconnectedCallback(),this.#l()}#g(e){if(this.setAttribute("position",e.position==="left"?"left":"right"),e.color&&/^#[0-9a-f]{6}$/i.test(e.color))this.style.setProperty("--yuva-accent",e.color),this.style.setProperty("--yuva-on-accent",be(e.color))}#l(){let e=this.locale;this.#i=de(e),this.setAttribute("lang",e);let t=ve(this.#a,Fe),o=t?[t]:[];if(this.#s.dir=this.getAttribute("dir")??d(e),this.#s.setAttribute("aria-modal","false"),this.#c){this.#r=null,this.#o=null,this.#a.replaceChildren();return}if(this.layout==="embedded"){this.#r=null,this.#o=null,this.#a.replaceChildren(...o,this.#s),this.#t=!1,this.open();return}let s=document.createElement("button");if(s.type="button",s.className="launcher",s.addEventListener("click",()=>void this.toggle()),this.#r=s,this.#o=document.createElement("span"),this.#o.className="badge",this.#o.setAttribute("aria-hidden","true"),this.#a.replaceChildren(...o,this.#s,s),this.#n(),this.hasAttribute("open")&&!this.#t)this.open()}#n(){let e=this.#r,t=this.#o;if(!e||!t)return;let o=this.#h,s=o>0?o:this.#m;e.setAttribute("aria-expanded",String(this.#t)),e.setAttribute("aria-label",this.#t?p(this.#i,{id:"pqZJT2"}):o>0?p(this.#i,{id:"OkHvGB",values:{count:s}}):s>0?p(this.#i,{id:"TidMpF",values:{count:s}},void 0,this.locale):p(this.#i,{id:"6I7cJR"})),e.innerHTML=this.#t?Ze:Be,t.textContent=s>9?"9+":String(s),t.hidden=this.#t||s===0,e.append(t)}}function ke(){if(!customElements.get("yuva-chat"))customElements.define("yuva-chat",v)}ke();})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "useyuva",
3
- "version": "0.0.25",
3
+ "version": "0.0.27",
4
4
  "description": "Yuva for the web: a headless client for contacts, the <yuva-chat> element, documentation page feedback and discussions, the <yuva-subscribe> mailing list form, the <yuva-status> footer band, cookieless web analytics, React hooks, a Nuxt module, a typed /v1 client and server helpers for identity tokens, webhooks and server-side analytics.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -1,2 +0,0 @@
1
- function translate(messages,descriptor,fallback){let entry=messages[descriptor.id]??fallback[descriptor.id],values=descriptor.values??{};if(typeof entry==="string")return entry;if(Array.isArray(entry))return entry.map((part)=>typeof part==="string"?part:Array.isArray(part)?String(values[part[0]]??""):"").join("");return descriptor.message??descriptor.id}var rtlLanguages=new Set(["ar","fa","he","ur"]),sourceLocale="en",latinAmericanSpanish=new Set(["419","us","ar","bo","cl","co","cr","cu","do","ec","gt","hn","mx","ni","pa","pe","pr","py","sv","uy","ve"]),languageAliases={iw:"he",in:"id",no:"nb",nn:"nb"};function variantsOf(tag){let[language="",...rest]=tag.split("-"),base=languageAliases[language]??language,region=rest.find((part)=>part.length===2||/^\d{3}$/.test(part)),out=[];if(base==="zh"){let traditional=rest.includes("hant")||!rest.includes("hans")&&["tw","hk","mo"].includes(region??"");out.push(traditional?"zh-hant":"zh-hans")}else if(base==="pt")out.push(region==="pt"?"pt-pt":"pt-br");else if(base==="es")out.push(region&&latinAmericanSpanish.has(region)?"es-mx":"es");else if(base==="fr")out.push(region==="ca"?"fr-ca":"fr");return out.push(region?`${base}-${region}`:base,base),out}function localeIn(catalogs,candidates){for(let candidate of candidates){if(!candidate)continue;let tag=candidate.toLowerCase().replace(/_/g,"-");if(catalogs[tag])return tag;for(let variant of variantsOf(tag))if(catalogs[variant])return variant}return sourceLocale}function directionOf(locale){return rtlLanguages.has(locale.split(/[-_]/)[0]??"")?"rtl":"ltr"}var sheets=new Map;function sheetFor(css){if(typeof CSSStyleSheet>"u"||!("replaceSync"in CSSStyleSheet.prototype))return null;let sheet=sheets.get(css);if(!sheet)sheet=new CSSStyleSheet,sheet.replaceSync(css),sheets.set(css,sheet);return sheet}function fallback(css){let style=document.createElement("style");return style.textContent=css,style}function addStyles(root,css){let sheet=sheetFor(css);if(!sheet||!(root instanceof ShadowRoot))return fallback(css);if(!root.adoptedStyleSheets.includes(sheet))root.adoptedStyleSheets=[...root.adoptedStyleSheets,sheet];return null}function setStyles(root,css){let sheet=sheetFor(css);if(!sheet)return fallback(css);return root.adoptedStyleSheets=[sheet],null}
2
- export{translate,localeIn,directionOf,addStyles,setStyles};
@@ -1,12 +0,0 @@
1
- import{ApiError2,call,mailingLists,createSubscription}from"./index-gk84nm8f.js";class Realtime{server;socketClass;handlers;#socket=null;#lastEventId=0;#attempt=0;#timer=null;#stopped=!0;constructor(server,socketClass,handlers){this.server=server;this.socketClass=socketClass;this.handlers=handlers}get connected(){return this.#socket?.readyState===1}start(){if(this.#stopped=!1,!this.#socket&&!this.#timer)this.#connect()}stop(){if(this.#stopped=!0,this.#timer)clearTimeout(this.#timer);this.#timer=null;let socket=this.#socket;this.#socket=null,socket?.close(1000)}reset(){this.#lastEventId=0}nudge(){if(this.#stopped||this.#socket)return;if(this.#timer)clearTimeout(this.#timer);this.#timer=null,this.#connect()}#connect(){let token=this.handlers.token();if(!token||this.#stopped)return;let url=new URL(`${this.server}/client/v1/realtime`,globalThis.location?.href);if(url.protocol=url.protocol==="https:"?"wss:":"ws:",this.#lastEventId>0)url.searchParams.set("last_event_id",String(this.#lastEventId));let socket;try{socket=new this.socketClass(url,["yuva",`yuva.token.${token}`])}catch{this.#schedule();return}this.#socket=socket,socket.onmessage=(event)=>{let message;try{message=JSON.parse(String(event.data))}catch{return}if(message.type==="ready")this.#attempt=0,this.#lastEventId=Math.max(this.#lastEventId,message.last_event_id);else if("id"in message&&typeof message.id==="number")this.#lastEventId=Math.max(this.#lastEventId,message.id);this.handlers.event(message)},socket.onclose=(event)=>{if(this.#socket!==socket)return;if(this.#socket=null,this.#stopped)return;if(event.code===1008){this.#lastEventId=0,this.handlers.sessionEnded();return}this.#schedule()}}#schedule(){if(this.#stopped||this.#timer)return;let attempt=this.#attempt++;this.handlers.reconnecting(attempt);let delay=Math.min(30000,1000*2**attempt)*(0.75+Math.random()*0.5);this.#timer=setTimeout(()=>{this.#timer=null,this.#connect()},delay)}}function readerConnectUrl2(server,channel,origin){let url=new URL("/account/connect",server);return url.searchParams.set("channel",channel),url.searchParams.set("origin",origin),url.href}function isReaderToken(value){let data=value;return!!data&&typeof data.token==="string"&&data.token.startsWith("yuva_rd_")&&typeof data.expires_at==="string"&&!Number.isNaN(Date.parse(data.expires_at))&&typeof data.channel_key==="string"&&typeof data.origin==="string"&&!!data.reader&&typeof data.reader.initials==="string"}function openReaderPopup2(server,channel,{width=460,height=640}={}){let serverOrigin=new URL(server).origin,origin=location.origin,left=Math.max(0,(window.screenX??0)+((window.outerWidth??width)-width)/2),top=Math.max(0,(window.screenY??0)+((window.outerHeight??height)-height)/2),popup=window.open(readerConnectUrl2(server,channel,origin),"yuva-reader",`popup=yes,width=${width},height=${height},left=${Math.round(left)},top=${Math.round(top)}`);if(!popup)return Promise.reject(new ApiError2(0,"popup_blocked"));return new Promise((resolve,reject)=>{let done=!1,finish=()=>{done=!0,window.removeEventListener("message",received),clearInterval(watch)},received=(event)=>{if(done||event.origin!==serverOrigin||event.source&&event.source!==popup)return;let data=event.data;if(!isReaderToken(data)||data.channel_key!==channel||data.origin!==origin)return;finish();try{popup.close()}catch{}resolve({token:data.token,expires_at:data.expires_at,reader:data.reader})},watch=setInterval(()=>{let closed=!1;try{closed=popup.closed}catch{}if(!closed)return;clearInterval(watch),setTimeout(()=>{if(done)return;finish(),reject(new ApiError2(0,"sign_in_cancelled"))},300)},500);window.addEventListener("message",received)})}function storageKey2(channel){return`yuva:${channel}`}function readerStorageKey2(server,channel){return`yuva:reader:${server} ${channel}`}function randomId2(){if(typeof crypto.randomUUID==="function")return crypto.randomUUID();return Array.from(crypto.getRandomValues(new Uint8Array(16)),(b)=>b.toString(16).padStart(2,"0")).join("")}function jwtSubject(token){try{let part=(token.split(".")[1]??"").replace(/-/g,"+").replace(/_/g,"/"),payload=JSON.parse(atob(part));return typeof payload.sub==="string"?payload.sub:null}catch{return null}}function currentPage(){let location2=globalThis.location;if(!location2||!/^https?:$/.test(location2.protocol))return{};let page_url=location2.origin+location2.pathname;if(page_url.length>2000)return{};let title=Array.from(globalThis.document?.title.trim()??"").slice(0,300).join("").trim();return title?{page_url,page_title:title}:{page_url}}function defaultStorage(){try{let storage=globalThis.localStorage;if(storage)return storage}catch{}let memory=new Map;return{getItem:(key)=>memory.get(key)??null,setItem:(key,value)=>void memory.set(key,value)}}function query(params){let search=new URLSearchParams;for(let[name,value]of Object.entries(params))if(value!==void 0)search.set(name,String(value));let text=search.toString();return text?`?${text}`:""}function quoted(value){return value.replace(/"/g,"%22").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function multipart(fields,files,boundary){let parts=[];for(let[name,value]of fields)parts.push(`--${boundary}\r
2
- Content-Disposition: form-data; name="${name}"\r
3
- \r
4
- ${value}\r
5
- `);for(let file of files){let filename=file.name||"file";parts.push(`--${boundary}\r
6
- Content-Disposition: form-data; name="files"; filename="${quoted(filename)}"\r
7
- Content-Type: ${file.type||"application/octet-stream"}\r
8
- \r
9
- `,file,`\r
10
- `)}return parts.push(`--${boundary}--\r
11
- `),new Blob(parts)}class YuvaClient2{server;channel;#fetch;#socketClass;#storage;#identity;#idempotencyKeys;#token=null;#session=null;#starting=null;#renewing=null;#realtime=null;#reader;#handlers=new Map;constructor(options){this.server=options.server.replace(/\/+$/,""),this.channel=options.channel,this.#fetch=options.fetch??((url,init)=>fetch(url,init)),this.#socketClass=options.WebSocket??globalThis.WebSocket,this.#storage=options.storage??defaultStorage(),this.#identity=options.identityToken??null,this.#idempotencyKeys=options.idempotencyKeys??typeof globalThis.document>"u"}get session(){return this.#session}get token(){return this.#token}get connected(){return this.#realtime?.connected??!1}on(type,handler){let set=this.#handlers.get(type);if(!set)this.#handlers.set(type,set=new Set);return set.add(handler),()=>void set.delete(handler)}#emit(type,value){for(let handler of this.#handlers.get(type)??[])handler(value)}stored(){try{let raw=this.#storage.getItem(storageKey2(this.channel));return raw?JSON.parse(raw):{}}catch{return{}}}#store(state){try{this.#storage.setItem(storageKey2(this.channel),JSON.stringify(state))}catch{}}channelSettings(){return this.#call(`/client/v1/channels/${encodeURIComponent(this.channel)}`)}ratePage(input){return this.#call(`/client/v1/channels/${encodeURIComponent(this.channel)}/page-ratings`,{method:"POST",json:input})}lists(){return mailingLists(this.#fetch,this.server,this.channel)}subscribe(input){return createSubscription(this.#fetch,this.server,this.channel,input)}subscriptions(){return this.#authed("/client/v1/subscriptions")}subscribeList(listId,input){return this.#authed(`/client/v1/subscriptions/${encodeURIComponent(listId)}`,{method:"PUT",json:input})}unsubscribeList(listId){return this.#authed(`/client/v1/subscriptions/${encodeURIComponent(listId)}`,{method:"DELETE"})}setIdentityToken(source){this.#identity=source,this.reset()}start(){if(this.#session)return Promise.resolve(this.#session);return this.#starting??=this.#open(!1).then((session)=>(this.#emit("session",{session,renewed:!1}),session)).finally(()=>{this.#starting=null}),this.#starting}async refresh(){let info=await this.#authed("/client/v1/session");return this.#session={...this.#session,...info},this.#emit("session",{session:this.#session,renewed:!1}),this.#session}reset(){this.#realtime?.stop(),this.#realtime?.reset(),this.#starting=null,this.#renewing=null,this.#token=null,this.#session=null}async signOut(){let token=this.#token;this.reset();let stored=this.stored();if(delete stored.session,this.#store(stored),token)await this.#call("/client/v1/session",{method:"DELETE",token}).catch(()=>{return})}async connect(){if(!this.#socketClass)throw Error("Yuva: no WebSocket in this runtime; pass options.WebSocket");if(await this.start(),this.#realtime??=new Realtime(this.server,this.#socketClass,{token:()=>this.#token,event:(message)=>{if(message.type==="ready")this.#emit("connection",{state:"open",attempt:0});this.#emit("event",message)},sessionEnded:()=>void this.#renew().catch(()=>this.#realtime?.nudge()),reconnecting:(attempt)=>{if(this.#emit("connection",{state:"reconnecting",attempt}),attempt===2)this.#authed("/client/v1/session").catch(()=>{return})}}),!this.#realtime.connected)this.#emit("connection",{state:"connecting",attempt:0});this.#realtime.start()}disconnect(){this.#realtime?.stop(),this.#emit("connection",{state:"closed",attempt:0})}reconnect(){this.#realtime?.nudge()}listConversations(page={}){return this.#authed(`/client/v1/conversations${query({...page})}`)}getConversation(id){return this.#authed(`/client/v1/conversations/${encodeURIComponent(id)}`)}startConversation(input){let request=input.page_url===void 0?{...input,...currentPage()}:input;return this.#authed("/client/v1/conversations",this.#messageRequest(request))}listMessages(conversationId,page={}){return this.#authed(`/client/v1/conversations/${encodeURIComponent(conversationId)}/messages${query({...page})}`)}sendMessage(conversationId,input){return this.#authed(`/client/v1/conversations/${encodeURIComponent(conversationId)}/messages`,this.#messageRequest(input))}markRead(conversationId,messageId){return this.#authed(`/client/v1/conversations/${encodeURIComponent(conversationId)}/read`,{method:"POST",json:messageId?{message_id:messageId}:{}})}rate(conversationId,rating,comment){let body={rating,comment:comment?.trim()||void 0};return this.#authed(`/client/v1/conversations/${encodeURIComponent(conversationId)}/rating`,{method:"POST",json:body})}setTyping(conversationId,typing){return this.#authed(`/client/v1/conversations/${encodeURIComponent(conversationId)}/typing`,{method:"POST",json:{typing}})}setEmail(email){return this.#authed("/client/v1/contact/email",{method:"PUT",json:{email}})}attachment(id){return this.#authed(`/client/v1/attachments/${encodeURIComponent(id)}`,{blob:!0})}sendFeedback(input){let client_id=input.client_id??randomId2();return this.#authed("/client/v1/feedback",{method:"POST",headers:this.#idempotency(client_id),json:{...input,client_id}})}get reader(){if(this.#reader===void 0)try{let raw=this.#storage.getItem(readerStorageKey2(this.server,this.channel));this.#reader=raw?JSON.parse(raw):null}catch{this.#reader=null}if(this.#reader&&Date.parse(this.#reader.expires_at)<=Date.now()+30000)this.#setReader(null);return this.#reader}#setReader(reader){let changed=this.#reader?.token!==reader?.token;this.#reader=reader;try{this.#storage.setItem(readerStorageKey2(this.server,this.channel),reader?JSON.stringify(reader):"")}catch{}if(changed)this.#emit("reader",reader)}readerSignIn(options){return openReaderPopup2(this.server,this.channel,options).then((reader)=>(this.#setReader(reader),reader))}setReader(reader){this.#setReader(reader)}async readerSignOut(){let token=this.reader?.token;if(this.#setReader(null),token)await this.#call("/client/v1/reader-token",{method:"DELETE",token}).catch(()=>{return})}listDiscussions(page,options={}){return this.#discussionCall(`/client/v1/channels/${encodeURIComponent(this.channel)}/discussions${query({page,...options})}`,{},!1)}getDiscussion(id){return this.#discussionCall(`/client/v1/channels/${encodeURIComponent(this.channel)}/discussions/${encodeURIComponent(id)}`,{},!1)}startDiscussion(input){return this.#discussionCall("/client/v1/discussions",{method:"POST",json:input})}replyToDiscussion(discussionId,input){return this.#discussionCall(`/client/v1/discussions/${encodeURIComponent(discussionId)}/posts`,{method:"POST",json:input})}editDiscussionPost(postId,input){return this.#discussionCall(`/client/v1/discussion-posts/${encodeURIComponent(postId)}`,{method:"PATCH",json:input})}deleteDiscussionPost(postId){return this.#discussionCall(`/client/v1/discussion-posts/${encodeURIComponent(postId)}`,{method:"DELETE"})}voteDiscussionPost(postId,voted=!0){return this.#discussionCall(`/client/v1/discussion-posts/${encodeURIComponent(postId)}/vote`,{method:voted?"PUT":"DELETE"})}followDiscussion(discussionId,following=!0){return this.#discussionCall(`/client/v1/discussions/${encodeURIComponent(discussionId)}/follow`,{method:following?"PUT":"DELETE"})}acceptDiscussionAnswer(discussionId,postId){let path=`/client/v1/discussions/${encodeURIComponent(discussionId)}/answer`;return this.#discussionCall(path,postId?{method:"PUT",json:{post_id:postId}}:{method:"DELETE"})}async discussionWriter(){if(this.reader)return"reader";if(this.#session)return this.#session.contact.identified?"contact":null;return await this.#identity?.()?"contact":null}async#discussionCall(path,request,write=!0){let reader=this.reader;if(reader)try{return await this.#call(path,{...request,token:reader.token})}catch(error){if(!(error instanceof ApiError2)||error.status!==401||this.#reader?.token!==reader.token)throw error;if(this.#setReader(null),write)throw new ApiError2(403,"sign_in_required")}if(await this.discussionWriter()==="contact")return this.#authed(path,request);if(write)throw new ApiError2(403,"sign_in_required");return this.#call(path,request)}#idempotency(client_id){return this.#idempotencyKeys&&/^[\x20-\x7e]{1,255}$/.test(client_id)?{"Idempotency-Key":client_id}:{}}#messageRequest({body,subject,files=[],client_id=randomId2(),...page}){let headers=this.#idempotency(client_id),page_url=page.page_url??void 0,page_title=page_url?page.page_title:void 0;if(files.length===0)return{method:"POST",headers,json:{body,subject,client_id,page_url,page_title}};let fields=[];if(subject)fields.push(["subject",subject]);if(body)fields.push(["body",body]);if(fields.push(["client_id",client_id]),page_url)fields.push(["page_url",page_url]);if(page_title)fields.push(["page_title",page_title]);let boundary=`yuva-${client_id.replace(/[^\w-]/g,"").slice(0,60)}-${client_id.length}`;return headers["Content-Type"]=`multipart/form-data; boundary=${boundary}`,{method:"POST",headers,body:multipart(fields,files,boundary)}}#call(path,request){return call(this.#fetch,this.server,path,request)}async#authed(path,request={},retry=!0){if(!this.#token)await this.start();try{return await this.#call(path,{...request,token:this.#token})}catch(error){if(!retry||!(error instanceof ApiError2)||error.status!==401)throw error;return await this.#renew(),this.#authed(path,request,!1)}}#renew(){return this.#renewing??=(async()=>{let session=await this.#open(!0);if(this.#realtime)this.#realtime.stop(),this.#realtime.reset(),this.#realtime.start();this.#emit("session",{session,renewed:!0})})().finally(()=>{this.#renewing=null}),this.#renewing}async#open(fresh){let stored=this.stored(),identity=await this.#identity?.()||null,subject=identity?jwtSubject(identity):null,saved=stored.session;if(!fresh&&saved&&saved.sub===subject&&Date.parse(saved.expires_at)>Date.now()+60000)try{let info=await this.#call("/client/v1/session",{token:saved.token});return this.#apply(info,saved.token,subject)}catch(error){if(!(error instanceof ApiError2)||error.status!==401&&error.status!==403)throw error}let session=await this.#call("/client/v1/session",{method:"POST",json:{channel_key:this.channel,identity_token:identity??void 0,visitor_id:stored.visitor_id}}),{token,...info}=session;return this.#apply(info,token,subject)}#apply(info,token,subject){this.#token=token,this.#session=info;let stored=this.stored();if(stored.session={token,expires_at:info.expires_at,sub:subject},info.visitor_id)stored.visitor_id=info.visitor_id;else if(info.contact.identified)delete stored.visitor_id;return this.#store(stored),info}}function createYuvaClient2(options){return new YuvaClient2(options)}
12
- export{readerConnectUrl2,openReaderPopup2,storageKey2,readerStorageKey2,randomId2,YuvaClient2,createYuvaClient2};
@@ -1,2 +0,0 @@
1
- import{translate,localeIn}from"./index-3wpqkv7x.js";var messages=JSON.parse('{"6I7cJR":["Open chat"],"OkHvGB":["Open chat, ",["count"]," unread"],"pqZJT2":["Close chat"]}');var messages2=JSON.parse('{"6I7cJR":["Sohbeti aç"],"OkHvGB":["Sohbeti aç, ",["count"]," okunmamış"],"pqZJT2":["Sohbeti kapat"]}');var messages3=JSON.parse('{"6I7cJR":["Chat öffnen"],"OkHvGB":["Chat öffnen, ",["count"]," ungelesen"],"pqZJT2":["Chat schließen"]}');var messages4=JSON.parse('{"6I7cJR":["فتح الدردشة"],"OkHvGB":["فتح الدردشة، ",["count"]," غير مقروءة"],"pqZJT2":["إغلاق الدردشة"]}');var messages5=JSON.parse('{"6I7cJR":["চ্যাট খুলুন"],"OkHvGB":["চ্যাট খুলুন, ",["count"],"টি অপঠিত"],"pqZJT2":["চ্যাট বন্ধ করুন"]}');var messages6=JSON.parse('{"6I7cJR":["Obre el xat"],"OkHvGB":["Obre el xat, ",["count"]," sense llegir"],"pqZJT2":["Tanca el xat"]}');var messages7=JSON.parse('{"6I7cJR":["Otevřít chat"],"OkHvGB":["Otevřít chat, nepřečtených: ",["count"]],"pqZJT2":["Zavřít chat"]}');var messages8=JSON.parse('{"6I7cJR":["Åbn chat"],"OkHvGB":["Åbn chat, ",["count"]," ulæste"],"pqZJT2":["Luk chat"]}');var messages9=JSON.parse('{"6I7cJR":["Άνοιγμα συνομιλίας"],"OkHvGB":["Άνοιγμα συνομιλίας, ",["count"]," μη αναγνωσμένα"],"pqZJT2":["Κλείσιμο συνομιλίας"]}');var messages10=JSON.parse('{"6I7cJR":["Abrir chat"],"OkHvGB":["Abrir chat, ",["count"]," sin leer"],"pqZJT2":["Cerrar chat"]}');var messages11=JSON.parse('{"6I7cJR":["Abrir chat"],"OkHvGB":["Abrir chat, ",["count"]," sin leer"],"pqZJT2":["Cerrar chat"]}');var messages12=JSON.parse('{"6I7cJR":["Avaa chat"],"OkHvGB":["Avaa chat, ",["count"]," lukematonta"],"pqZJT2":["Sulje chat"]}');var messages13=JSON.parse('{"6I7cJR":["Ouvrir le chat"],"OkHvGB":["Ouvrir le chat, messages non lus : ",["count"]],"pqZJT2":["Fermer le chat"]}');var messages14=JSON.parse('{"6I7cJR":["Ouvrir le chat"],"OkHvGB":["Ouvrir le chat, messages non lus : ",["count"]],"pqZJT2":["Fermer le chat"]}');var messages15=JSON.parse('{"6I7cJR":["ચેટ ખોલો"],"OkHvGB":["ચેટ ખોલો, ",["count"]," વણવાંચેલા"],"pqZJT2":["ચેટ બંધ કરો"]}');var messages16=JSON.parse('{"6I7cJR":["פתיחת הצ׳אט"],"OkHvGB":["פתיחת הצ׳אט, ",["count"]," שלא נקראו"],"pqZJT2":["סגירת הצ׳אט"]}');var messages17=JSON.parse('{"6I7cJR":["चैट खोलें"],"OkHvGB":["चैट खोलें, ",["count"]," अपठित"],"pqZJT2":["चैट बंद करें"]}');var messages18=JSON.parse('{"6I7cJR":["Otvori chat"],"OkHvGB":["Otvori chat, nepročitano: ",["count"]],"pqZJT2":["Zatvori chat"]}');var messages19=JSON.parse('{"6I7cJR":["Csevegés megnyitása"],"OkHvGB":["Csevegés megnyitása, olvasatlan: ",["count"]],"pqZJT2":["Csevegés bezárása"]}');var messages20=JSON.parse('{"6I7cJR":["Buka obrolan"],"OkHvGB":["Buka obrolan, ",["count"]," belum dibaca"],"pqZJT2":["Tutup obrolan"]}');var messages21=JSON.parse('{"6I7cJR":["Apri la chat"],"OkHvGB":["Apri la chat, messaggi non letti: ",["count"]],"pqZJT2":["Chiudi la chat"]}');var messages22=JSON.parse('{"6I7cJR":["チャットを開く"],"OkHvGB":["チャットを開く(未読",["count"],"件)"],"pqZJT2":["チャットを閉じる"]}');var messages23=JSON.parse('{"6I7cJR":["ಚಾಟ್ ತೆರೆಯಿರಿ"],"OkHvGB":["ಚಾಟ್ ತೆರೆಯಿರಿ, ",["count"]," ಓದದಿರುವವು"],"pqZJT2":["ಚಾಟ್ ಮುಚ್ಚಿ"]}');var messages24=JSON.parse('{"6I7cJR":["채팅 열기"],"OkHvGB":["채팅 열기, 읽지 않음 ",["count"],"개"],"pqZJT2":["채팅 닫기"]}');var messages25=JSON.parse('{"6I7cJR":["ചാറ്റ് തുറക്കുക"],"OkHvGB":["ചാറ്റ് തുറക്കുക, ",["count"]," വായിക്കാത്തവ"],"pqZJT2":["ചാറ്റ് അടയ്ക്കുക"]}');var messages26=JSON.parse('{"6I7cJR":["चॅट उघडा"],"OkHvGB":["चॅट उघडा, ",["count"]," न वाचलेले"],"pqZJT2":["चॅट बंद करा"]}');var messages27=JSON.parse('{"6I7cJR":["Buka sembang"],"OkHvGB":["Buka sembang, ",["count"]," belum dibaca"],"pqZJT2":["Tutup sembang"]}');var messages28=JSON.parse('{"6I7cJR":["Åpne chatten"],"OkHvGB":["Åpne chatten, ",["count"]," uleste"],"pqZJT2":["Lukk chatten"]}');var messages29=JSON.parse('{"6I7cJR":["Chat openen"],"OkHvGB":["Chat openen, ",["count"]," ongelezen"],"pqZJT2":["Chat sluiten"]}');var messages30=JSON.parse('{"6I7cJR":["ଚାଟ୍ ଖୋଲନ୍ତୁ"],"OkHvGB":["ଚାଟ୍ ଖୋଲନ୍ତୁ, ",["count"]," ଅପଠିତ"],"pqZJT2":["ଚାଟ୍ ବନ୍ଦ କରନ୍ତୁ"]}');var messages31=JSON.parse('{"6I7cJR":["ਚੈਟ ਖੋਲ੍ਹੋ"],"OkHvGB":["ਚੈਟ ਖੋਲ੍ਹੋ, ",["count"]," ਨਾ-ਪੜ੍ਹੇ"],"pqZJT2":["ਚੈਟ ਬੰਦ ਕਰੋ"]}');var messages32=JSON.parse('{"6I7cJR":["Otwórz czat"],"OkHvGB":["Otwórz czat, nieprzeczytane: ",["count"]],"pqZJT2":["Zamknij czat"]}');var messages33=JSON.parse('{"6I7cJR":["Abrir chat"],"OkHvGB":["Abrir chat, ",["count"]," não lidas"],"pqZJT2":["Fechar chat"]}');var messages34=JSON.parse('{"6I7cJR":["Abrir chat"],"OkHvGB":["Abrir chat, ",["count"]," por ler"],"pqZJT2":["Fechar chat"]}');var messages35=JSON.parse('{"6I7cJR":["Deschide chatul"],"OkHvGB":["Deschide chatul, ",["count"]," necitite"],"pqZJT2":["Închide chatul"]}');var messages36=JSON.parse('{"6I7cJR":["Открыть чат"],"OkHvGB":["Открыть чат, непрочитанных: ",["count"]],"pqZJT2":["Закрыть чат"]}');var messages37=JSON.parse('{"6I7cJR":["Otvoriť chat"],"OkHvGB":["Otvoriť chat, neprečítané: ",["count"]],"pqZJT2":["Zavrieť chat"]}');var messages38=JSON.parse('{"6I7cJR":["Odpri klepet"],"OkHvGB":["Odpri klepet, neprebrano: ",["count"]],"pqZJT2":["Zapri klepet"]}');var messages39=JSON.parse('{"6I7cJR":["Öppna chatten"],"OkHvGB":["Öppna chatten, ",["count"]," olästa"],"pqZJT2":["Stäng chatten"]}');var messages40=JSON.parse('{"6I7cJR":["அரட்டையைத் திற"],"OkHvGB":["அரட்டையைத் திற, ",["count"]," படிக்காதவை"],"pqZJT2":["அரட்டையை மூடு"]}');var messages41=JSON.parse('{"6I7cJR":["చాట్ తెరవండి"],"OkHvGB":["చాట్ తెరవండి, ",["count"]," చదవనివి"],"pqZJT2":["చాట్ మూసివేయండి"]}');var messages42=JSON.parse('{"6I7cJR":["เปิดแชต"],"OkHvGB":["เปิดแชต ยังไม่ได้อ่าน ",["count"]," รายการ"],"pqZJT2":["ปิดแชต"]}');var messages43=JSON.parse('{"6I7cJR":["Відкрити чат"],"OkHvGB":["Відкрити чат, непрочитаних: ",["count"]],"pqZJT2":["Закрити чат"]}');var messages44=JSON.parse('{"6I7cJR":["چیٹ کھولیں"],"OkHvGB":["چیٹ کھولیں، ",["count"]," ان پڑھے"],"pqZJT2":["چیٹ بند کریں"]}');var messages45=JSON.parse('{"6I7cJR":["Mở trò chuyện"],"OkHvGB":["Mở trò chuyện, ",["count"]," chưa đọc"],"pqZJT2":["Đóng trò chuyện"]}');var messages46=JSON.parse('{"6I7cJR":["打开聊天"],"OkHvGB":["打开聊天,",["count"]," 条未读"],"pqZJT2":["关闭聊天"]}');var messages47=JSON.parse('{"6I7cJR":["開啟聊天"],"OkHvGB":["開啟聊天,",["count"]," 則未讀"],"pqZJT2":["關閉聊天"]}');var catalogs={en:messages,tr:messages2,de:messages3,ar:messages4,bn:messages5,ca:messages6,cs:messages7,da:messages8,el:messages9,es:messages10,"es-mx":messages11,fi:messages12,fr:messages13,"fr-ca":messages14,gu:messages15,he:messages16,hi:messages17,hr:messages18,hu:messages19,id:messages20,it:messages21,ja:messages22,kn:messages23,ko:messages24,ml:messages25,mr:messages26,ms:messages27,nb:messages28,nl:messages29,or:messages30,pa:messages31,pl:messages32,"pt-br":messages33,"pt-pt":messages34,ro:messages35,ru:messages36,sk:messages37,sl:messages38,sv:messages39,ta:messages40,te:messages41,th:messages42,uk:messages43,ur:messages44,vi:messages45,"zh-hans":messages46,"zh-hant":messages47};function resolveLocale(...candidates){return localeIn(catalogs,candidates)}function catalogFor(locale){return catalogs[locale]??messages}function translatePlain(messages2,descriptor,fallback=messages){return translate(messages2,descriptor,fallback)}
2
- export{resolveLocale,catalogFor,translatePlain};
@@ -1,2 +0,0 @@
1
- function el(tag,className,text){let element=document.createElement(tag);if(className)element.className=className;if(text!==void 0)element.textContent=text;return element}
2
- export{el};