@unidy.io/sdk 1.0.1 → 1.1.0

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 (493) hide show
  1. package/dist/cjs/app-globals-DSKjcXX_.js +10 -0
  2. package/dist/cjs/app-globals-DSKjcXX_.js.map +1 -0
  3. package/dist/cjs/{auth-COn3PdbX.js → auth-BVKZHhXz.js} +11 -14
  4. package/dist/cjs/{auth-COn3PdbX.js.map → auth-BVKZHhXz.js.map} +1 -1
  5. package/dist/cjs/{auth-store-BT2pDmTN.js → auth-store-DC9EVec8.js} +4 -4
  6. package/dist/cjs/{auth-store-BT2pDmTN.js.map → auth-store-DC9EVec8.js.map} +1 -1
  7. package/dist/cjs/{flash-store-Bz-eFpp2.js → flash-store-BuIBuQDx.js} +3 -3
  8. package/dist/cjs/{flash-store-Bz-eFpp2.js.map → flash-store-BuIBuQDx.js.map} +1 -1
  9. package/dist/cjs/{i18n-DNuyTvmJ.js → i18n-Xy1So-ba.js} +580 -26
  10. package/dist/cjs/i18n-Xy1So-ba.js.map +1 -0
  11. package/dist/cjs/index-B_N5xKgH.js +12025 -0
  12. package/dist/cjs/index-B_N5xKgH.js.map +1 -0
  13. package/dist/cjs/{index-JpRzPaSm.js → index-DLz3FT7T.js} +3 -3
  14. package/dist/cjs/{index-JpRzPaSm.js.map → index-DLz3FT7T.js.map} +1 -1
  15. package/dist/cjs/{index-CtJ5meJ7.js → index-DiUlebpf.js} +18 -17
  16. package/dist/cjs/index-DiUlebpf.js.map +1 -0
  17. package/dist/cjs/index.cjs.js +10 -11
  18. package/dist/cjs/index.cjs.js.map +1 -1
  19. package/dist/cjs/loader.cjs.js +3 -4
  20. package/dist/cjs/loader.cjs.js.map +1 -1
  21. package/dist/cjs/{newsletter-helpers-BINJr8bg.js → newsletter-helpers-DtXuIac8.js} +9 -8
  22. package/dist/cjs/{newsletter-helpers-BINJr8bg.js.map → newsletter-helpers-DtXuIac8.js.map} +1 -1
  23. package/dist/cjs/{newsletter-store-D_RRzlpH.js → newsletter-store-dhtu8ywO.js} +3 -3
  24. package/dist/cjs/{newsletter-store-D_RRzlpH.js.map → newsletter-store-dhtu8ywO.js.map} +1 -1
  25. package/dist/cjs/{pagination-store-TtGIma9Z.js → pagination-store-BEiW3MQd.js} +3 -3
  26. package/dist/cjs/{pagination-store-TtGIma9Z.js.map → pagination-store-BEiW3MQd.js.map} +1 -1
  27. package/dist/cjs/{submit-button-logic-rhAjEO33.js → profile-helpers-DrcTgN5n.js} +4 -4
  28. package/dist/cjs/profile-helpers-DrcTgN5n.js.map +1 -0
  29. package/dist/cjs/{profile-store-JiqaDLcK.js → profile-store-P_BcYkef.js} +3 -3
  30. package/dist/cjs/{profile-store-JiqaDLcK.js.map → profile-store-P_BcYkef.js.map} +1 -1
  31. package/dist/cjs/sdk.cjs.js +3 -4
  32. package/dist/cjs/sdk.cjs.js.map +1 -1
  33. package/dist/cjs/u-conditional-render.cjs.entry.js +11 -12
  34. package/dist/cjs/u-conditional-render.entry.cjs.js.map +1 -1
  35. package/dist/cjs/u-config.cjs.entry.js +11 -12
  36. package/dist/cjs/u-config.entry.cjs.js.map +1 -1
  37. package/dist/cjs/u-email-field.cjs.entry.js +9 -8
  38. package/dist/cjs/u-email-field.entry.cjs.js.map +1 -1
  39. package/dist/cjs/u-error-message.cjs.entry.js +6 -6
  40. package/dist/cjs/u-field.u-raw-field.entry.cjs.js.map +1 -1
  41. package/dist/cjs/u-field_2.cjs.entry.js +13 -11
  42. package/dist/cjs/u-flash-message.cjs.entry.js +3 -3
  43. package/dist/cjs/u-full-profile.cjs.entry.js +6 -6
  44. package/dist/cjs/u-full-profile.entry.cjs.js.map +1 -1
  45. package/dist/cjs/u-logout-button.cjs.entry.js +9 -10
  46. package/dist/cjs/u-logout-button.entry.cjs.js.map +1 -1
  47. package/dist/cjs/u-magic-code-field.cjs.entry.js +11 -12
  48. package/dist/cjs/u-magic-code-field.entry.cjs.js.map +1 -1
  49. package/dist/cjs/u-missing-field.cjs.entry.js +4 -4
  50. package/dist/cjs/u-missing-fields-submit-button.cjs.entry.js +10 -11
  51. package/dist/cjs/u-missing-fields-submit-button.entry.cjs.js.map +1 -1
  52. package/dist/cjs/u-newsletter-checkbox.cjs.entry.js +11 -12
  53. package/dist/cjs/u-newsletter-checkbox.entry.cjs.js.map +1 -1
  54. package/dist/cjs/u-newsletter-logout-button.cjs.entry.js +11 -12
  55. package/dist/cjs/u-newsletter-logout-button.entry.cjs.js.map +1 -1
  56. package/dist/cjs/u-newsletter-preference-checkbox.cjs.entry.js +11 -12
  57. package/dist/cjs/u-newsletter-preference-checkbox.entry.cjs.js.map +1 -1
  58. package/dist/cjs/u-newsletter-resend-doi-button.cjs.entry.js +11 -12
  59. package/dist/cjs/u-newsletter-resend-doi-button.entry.cjs.js.map +1 -1
  60. package/dist/cjs/u-newsletter-root.cjs.entry.js +20 -14
  61. package/dist/cjs/u-newsletter-root.entry.cjs.js.map +1 -1
  62. package/dist/cjs/u-newsletter-toggle-subscription-button.cjs.entry.js +11 -12
  63. package/dist/cjs/u-newsletter-toggle-subscription-button.entry.cjs.js.map +1 -1
  64. package/dist/cjs/u-pagination-button.cjs.entry.js +1 -1
  65. package/dist/cjs/u-pagination-button.entry.cjs.js.map +1 -1
  66. package/dist/cjs/u-pagination-page.cjs.entry.js +1 -1
  67. package/dist/cjs/u-passkey.cjs.entry.js +9 -10
  68. package/dist/cjs/u-passkey.entry.cjs.js.map +1 -1
  69. package/dist/cjs/u-password-field.cjs.entry.js +5 -5
  70. package/dist/cjs/u-profile.u-submit-button.entry.cjs.js.map +1 -1
  71. package/dist/cjs/u-profile_2.cjs.entry.js +39 -59
  72. package/dist/cjs/u-registration-button.cjs.entry.js +5 -5
  73. package/dist/cjs/u-reset-password-button.cjs.entry.js +9 -10
  74. package/dist/cjs/u-reset-password-button.entry.cjs.js.map +1 -1
  75. package/dist/cjs/u-send-magic-code-button.cjs.entry.js +9 -10
  76. package/dist/cjs/u-send-magic-code-button.entry.cjs.js.map +1 -1
  77. package/dist/cjs/u-signed-in.cjs.entry.js +4 -4
  78. package/dist/cjs/u-signin-root.cjs.entry.js +4 -4
  79. package/dist/cjs/u-signin-root.entry.cjs.js.map +1 -1
  80. package/dist/cjs/u-signin-step.cjs.entry.js +9 -10
  81. package/dist/cjs/u-signin-step.entry.cjs.js.map +1 -1
  82. package/dist/cjs/u-signin-strategy.cjs.entry.js +4 -4
  83. package/dist/cjs/u-social-login-button.cjs.entry.js +8 -9
  84. package/dist/cjs/u-social-login-button.entry.cjs.js.map +1 -1
  85. package/dist/cjs/u-spinner.cjs.entry.js +3 -3
  86. package/dist/cjs/u-spinner.entry.cjs.js.map +1 -1
  87. package/dist/cjs/u-ticketable-list.cjs.entry.js +9 -10
  88. package/dist/cjs/u-ticketable-list.entry.cjs.js.map +1 -1
  89. package/dist/cjs/{unidy-store-C1O0g41c.js → unidy-store-7AbWnZ6g.js} +3 -3
  90. package/dist/cjs/{unidy-store-C1O0g41c.js.map → unidy-store-7AbWnZ6g.js.map} +1 -1
  91. package/dist/collection/api/client.js +4 -2
  92. package/dist/collection/api/client.js.map +1 -1
  93. package/dist/collection/auth/api/auth.js +1 -1
  94. package/dist/collection/auth/api/auth.js.map +1 -1
  95. package/dist/collection/auth/components/magic-code-field/magic-code-field.css +1 -1
  96. package/dist/collection/auth/components/magic-code-field/magic-code-field.js +1 -1
  97. package/dist/collection/auth/components/magic-code-field/magic-code-field.js.map +1 -1
  98. package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js +1 -1
  99. package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js.map +1 -1
  100. package/dist/collection/auth/components/signin-root/signin-root.js.map +1 -1
  101. package/dist/collection/auth/components/social-logins/social-login-button.js +1 -1
  102. package/dist/collection/auth/components/social-logins/social-login-button.js.map +1 -1
  103. package/dist/collection/auth/components/submit-button/auth-submit-button.js +2 -5
  104. package/dist/collection/auth/components/submit-button/auth-submit-button.js.map +1 -1
  105. package/dist/collection/auth/passkey-auth.js +1 -3
  106. package/dist/collection/auth/passkey-auth.js.map +1 -1
  107. package/dist/collection/globalScript.js +1 -0
  108. package/dist/collection/globalScript.js.map +1 -1
  109. package/dist/collection/i18n.js +10 -4
  110. package/dist/collection/i18n.js.map +1 -1
  111. package/dist/collection/locales/fr.json +131 -0
  112. package/dist/collection/locales/it.json +131 -0
  113. package/dist/collection/locales/nl_be.json +131 -0
  114. package/dist/collection/locales/ro.json +131 -0
  115. package/dist/collection/logger.js +25 -55
  116. package/dist/collection/logger.js.map +1 -1
  117. package/dist/collection/newsletter/api/newsletters.js +1 -1
  118. package/dist/collection/newsletter/api/newsletters.js.map +1 -1
  119. package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js +25 -9
  120. package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js.map +1 -1
  121. package/dist/collection/newsletter/components/submit-button/newsletter-submit-button.js +6 -6
  122. package/dist/collection/newsletter/components/submit-button/newsletter-submit-button.js.map +1 -1
  123. package/dist/collection/profile/components/field/field.css +1 -1
  124. package/dist/collection/profile/components/field/field.js +7 -5
  125. package/dist/collection/profile/components/field/field.js.map +1 -1
  126. package/dist/collection/profile/components/full-profile/full-profile.css +1 -1
  127. package/dist/collection/profile/components/profile/profile.js +1 -1
  128. package/dist/collection/profile/components/profile/profile.js.map +1 -1
  129. package/dist/collection/profile/components/raw-input-fields/MultiSelect.js.map +1 -1
  130. package/dist/collection/profile/components/submit-button/profile-submit-button.js +2 -7
  131. package/dist/collection/profile/components/submit-button/profile-submit-button.js.map +1 -1
  132. package/dist/collection/{shared/components/u-fields-submit-button-logic/submit-button-logic.js → profile/profile-helpers.js} +3 -3
  133. package/dist/collection/profile/profile-helpers.js.map +1 -0
  134. package/dist/collection/sdk.css +2 -2
  135. package/dist/collection/shared/components/config/config.js +1 -1
  136. package/dist/collection/shared/components/config/config.js.map +1 -1
  137. package/dist/collection/shared/components/email-field/email-field.js +31 -5
  138. package/dist/collection/shared/components/email-field/email-field.js.map +1 -1
  139. package/dist/collection/shared/components/spinner/spinner.css +1 -1
  140. package/dist/collection/shared/components/spinner/spinner.js +1 -1
  141. package/dist/collection/shared/components/spinner/spinner.js.map +1 -1
  142. package/dist/collection/shared/components/submit-button/context.js +2 -3
  143. package/dist/collection/shared/components/submit-button/context.js.map +1 -1
  144. package/dist/collection/shared/components/submit-button/submit-button.js +14 -19
  145. package/dist/collection/shared/components/submit-button/submit-button.js.map +1 -1
  146. package/dist/collection/ticketable/components/pagination/pagination-button.js.map +1 -1
  147. package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js +2 -2
  148. package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js.map +1 -1
  149. package/dist/components/auth.js +0 -2
  150. package/dist/components/auth.js.map +1 -1
  151. package/dist/components/field.js +8 -6
  152. package/dist/components/field.js.map +1 -1
  153. package/dist/components/i18n.js +576 -22
  154. package/dist/components/i18n.js.map +1 -1
  155. package/dist/components/index.js +1 -0
  156. package/dist/components/index.js.map +1 -1
  157. package/dist/components/index2.js +6 -4
  158. package/dist/components/index2.js.map +1 -1
  159. package/dist/components/logger.js +25 -55
  160. package/dist/components/logger.js.map +1 -1
  161. package/dist/components/newsletter-helpers.js +1 -1
  162. package/dist/components/{submit-button-logic.js → profile-helpers.js} +2 -2
  163. package/dist/components/profile-helpers.js.map +1 -0
  164. package/dist/components/profile.js +1 -1
  165. package/dist/components/profile.js.map +1 -1
  166. package/dist/components/raw-field.js.map +1 -1
  167. package/dist/components/spinner.js +2 -2
  168. package/dist/components/spinner.js.map +1 -1
  169. package/dist/components/submit-button.js +26 -45
  170. package/dist/components/submit-button.js.map +1 -1
  171. package/dist/components/u-config.js +1 -1
  172. package/dist/components/u-config.js.map +1 -1
  173. package/dist/components/u-email-field.js +7 -5
  174. package/dist/components/u-email-field.js.map +1 -1
  175. package/dist/components/u-full-profile.js +1 -1
  176. package/dist/components/u-full-profile.js.map +1 -1
  177. package/dist/components/u-magic-code-field.js +2 -2
  178. package/dist/components/u-magic-code-field.js.map +1 -1
  179. package/dist/components/u-missing-fields-submit-button.js +1 -1
  180. package/dist/components/u-missing-fields-submit-button.js.map +1 -1
  181. package/dist/components/u-newsletter-root.js +14 -7
  182. package/dist/components/u-newsletter-root.js.map +1 -1
  183. package/dist/components/u-newsletter-toggle-subscription-button.js +1 -1
  184. package/dist/components/u-pagination-button.js.map +1 -1
  185. package/dist/components/u-signin-root.js.map +1 -1
  186. package/dist/components/u-social-login-button.js +1 -1
  187. package/dist/components/u-social-login-button.js.map +1 -1
  188. package/dist/components/u-ticketable-list.js +2 -2
  189. package/dist/components/u-ticketable-list.js.map +1 -1
  190. package/dist/esm/app-globals-CPU9ZcqZ.js +8 -0
  191. package/dist/esm/app-globals-CPU9ZcqZ.js.map +1 -0
  192. package/dist/esm/{auth-C6B1Fl8C.js → auth-DLKPv5Zm.js} +9 -12
  193. package/dist/esm/{auth-C6B1Fl8C.js.map → auth-DLKPv5Zm.js.map} +1 -1
  194. package/dist/esm/{auth-store-BXzAv0RK.js → auth-store-BMqUdTpC.js} +4 -4
  195. package/dist/esm/{auth-store-BXzAv0RK.js.map → auth-store-BMqUdTpC.js.map} +1 -1
  196. package/dist/esm/{flash-store-CF5vw4w-.js → flash-store-CEvWSG0c.js} +3 -3
  197. package/dist/esm/{flash-store-CF5vw4w-.js.map → flash-store-CEvWSG0c.js.map} +1 -1
  198. package/dist/esm/{i18n-CPEM4Hc_.js → i18n-BR-AGAnn.js} +580 -26
  199. package/dist/esm/i18n-BR-AGAnn.js.map +1 -0
  200. package/dist/esm/{index-CJnDmBjL.js → index-Bjp1XO-f.js} +3 -3
  201. package/dist/esm/{index-CJnDmBjL.js.map → index-Bjp1XO-f.js.map} +1 -1
  202. package/dist/esm/index-Ci3aTmzp.js +12007 -0
  203. package/dist/esm/index-Ci3aTmzp.js.map +1 -0
  204. package/dist/esm/{index-CmoCWXkx.js → index-DKaIwo59.js} +12 -11
  205. package/dist/esm/index-DKaIwo59.js.map +1 -0
  206. package/dist/esm/index.js +10 -11
  207. package/dist/esm/index.js.map +1 -1
  208. package/dist/esm/loader.js +4 -5
  209. package/dist/esm/loader.js.map +1 -1
  210. package/dist/esm/{newsletter-helpers-D9OpR1Yd.js → newsletter-helpers-VixG_zoB.js} +9 -9
  211. package/dist/esm/{newsletter-helpers-D9OpR1Yd.js.map → newsletter-helpers-VixG_zoB.js.map} +1 -1
  212. package/dist/esm/{newsletter-store-Bx1ysKBb.js → newsletter-store-BYmuLQg8.js} +3 -3
  213. package/dist/esm/{newsletter-store-Bx1ysKBb.js.map → newsletter-store-BYmuLQg8.js.map} +1 -1
  214. package/dist/esm/{pagination-store-B-ivWcjb.js → pagination-store-DzdJOp-n.js} +3 -3
  215. package/dist/esm/{pagination-store-B-ivWcjb.js.map → pagination-store-DzdJOp-n.js.map} +1 -1
  216. package/dist/esm/{submit-button-logic-CtMezaoG.js → profile-helpers-7onubaoR.js} +4 -4
  217. package/dist/esm/profile-helpers-7onubaoR.js.map +1 -0
  218. package/dist/esm/{profile-store-By-nqzr9.js → profile-store-RmZB2PTc.js} +3 -3
  219. package/dist/esm/{profile-store-By-nqzr9.js.map → profile-store-RmZB2PTc.js.map} +1 -1
  220. package/dist/esm/sdk.js +4 -5
  221. package/dist/esm/sdk.js.map +1 -1
  222. package/dist/esm/u-conditional-render.entry.js +11 -12
  223. package/dist/esm/u-conditional-render.entry.js.map +1 -1
  224. package/dist/esm/u-config.entry.js +10 -11
  225. package/dist/esm/u-config.entry.js.map +1 -1
  226. package/dist/esm/u-email-field.entry.js +9 -8
  227. package/dist/esm/u-email-field.entry.js.map +1 -1
  228. package/dist/esm/u-error-message.entry.js +6 -6
  229. package/dist/esm/u-field.u-raw-field.entry.js.map +1 -1
  230. package/dist/esm/u-field_2.entry.js +13 -11
  231. package/dist/esm/u-flash-message.entry.js +3 -3
  232. package/dist/esm/u-full-profile.entry.js +6 -6
  233. package/dist/esm/u-full-profile.entry.js.map +1 -1
  234. package/dist/esm/u-logout-button.entry.js +9 -10
  235. package/dist/esm/u-logout-button.entry.js.map +1 -1
  236. package/dist/esm/u-magic-code-field.entry.js +11 -12
  237. package/dist/esm/u-magic-code-field.entry.js.map +1 -1
  238. package/dist/esm/u-missing-field.entry.js +4 -4
  239. package/dist/esm/u-missing-fields-submit-button.entry.js +8 -9
  240. package/dist/esm/u-missing-fields-submit-button.entry.js.map +1 -1
  241. package/dist/esm/u-newsletter-checkbox.entry.js +11 -12
  242. package/dist/esm/u-newsletter-checkbox.entry.js.map +1 -1
  243. package/dist/esm/u-newsletter-logout-button.entry.js +11 -12
  244. package/dist/esm/u-newsletter-logout-button.entry.js.map +1 -1
  245. package/dist/esm/u-newsletter-preference-checkbox.entry.js +11 -12
  246. package/dist/esm/u-newsletter-preference-checkbox.entry.js.map +1 -1
  247. package/dist/esm/u-newsletter-resend-doi-button.entry.js +11 -12
  248. package/dist/esm/u-newsletter-resend-doi-button.entry.js.map +1 -1
  249. package/dist/esm/u-newsletter-root.entry.js +20 -14
  250. package/dist/esm/u-newsletter-root.entry.js.map +1 -1
  251. package/dist/esm/u-newsletter-toggle-subscription-button.entry.js +11 -12
  252. package/dist/esm/u-newsletter-toggle-subscription-button.entry.js.map +1 -1
  253. package/dist/esm/u-pagination-button.entry.js +1 -1
  254. package/dist/esm/u-pagination-button.entry.js.map +1 -1
  255. package/dist/esm/u-pagination-page.entry.js +1 -1
  256. package/dist/esm/u-passkey.entry.js +9 -10
  257. package/dist/esm/u-passkey.entry.js.map +1 -1
  258. package/dist/esm/u-password-field.entry.js +5 -5
  259. package/dist/esm/u-profile.u-submit-button.entry.js.map +1 -1
  260. package/dist/esm/u-profile_2.entry.js +36 -56
  261. package/dist/esm/u-registration-button.entry.js +5 -5
  262. package/dist/esm/u-reset-password-button.entry.js +9 -10
  263. package/dist/esm/u-reset-password-button.entry.js.map +1 -1
  264. package/dist/esm/u-send-magic-code-button.entry.js +9 -10
  265. package/dist/esm/u-send-magic-code-button.entry.js.map +1 -1
  266. package/dist/esm/u-signed-in.entry.js +4 -4
  267. package/dist/esm/u-signin-root.entry.js +4 -4
  268. package/dist/esm/u-signin-root.entry.js.map +1 -1
  269. package/dist/esm/u-signin-step.entry.js +9 -10
  270. package/dist/esm/u-signin-step.entry.js.map +1 -1
  271. package/dist/esm/u-signin-strategy.entry.js +4 -4
  272. package/dist/esm/u-social-login-button.entry.js +7 -8
  273. package/dist/esm/u-social-login-button.entry.js.map +1 -1
  274. package/dist/esm/u-spinner.entry.js +3 -3
  275. package/dist/esm/u-spinner.entry.js.map +1 -1
  276. package/dist/esm/u-ticketable-list.entry.js +9 -10
  277. package/dist/esm/u-ticketable-list.entry.js.map +1 -1
  278. package/dist/esm/{unidy-store-C2nKKukb.js → unidy-store-BldTAtO0.js} +3 -3
  279. package/dist/esm/{unidy-store-C2nKKukb.js.map → unidy-store-BldTAtO0.js.map} +1 -1
  280. package/dist/sdk/index.esm.js +1 -1
  281. package/dist/sdk/index.esm.js.map +1 -1
  282. package/dist/sdk/loader.esm.js.map +1 -1
  283. package/dist/sdk/locales/fr.json +131 -0
  284. package/dist/sdk/locales/it.json +131 -0
  285. package/dist/sdk/locales/nl_be.json +131 -0
  286. package/dist/sdk/locales/ro.json +131 -0
  287. package/dist/sdk/p-0b47e1be.entry.js +2 -0
  288. package/dist/sdk/p-0b47e1be.entry.js.map +1 -0
  289. package/dist/sdk/p-20240b02.entry.js +2 -0
  290. package/dist/sdk/p-20240b02.entry.js.map +1 -0
  291. package/dist/sdk/{p-8a472938.entry.js → p-2da4497a.entry.js} +2 -2
  292. package/dist/sdk/{p-b0307804.entry.js → p-36433853.entry.js} +2 -2
  293. package/dist/sdk/p-36433853.entry.js.map +1 -0
  294. package/dist/sdk/p-431ec460.entry.js +2 -0
  295. package/dist/sdk/p-431ec460.entry.js.map +1 -0
  296. package/dist/sdk/{p-08ddbde8.entry.js → p-5da49d00.entry.js} +2 -2
  297. package/dist/sdk/p-67096601.entry.js +2 -0
  298. package/dist/sdk/p-67096601.entry.js.map +1 -0
  299. package/dist/sdk/{p-63ff8516.entry.js → p-6893d167.entry.js} +2 -2
  300. package/dist/sdk/p-7068661a.entry.js +2 -0
  301. package/dist/sdk/p-7068661a.entry.js.map +1 -0
  302. package/dist/sdk/p-72dc8aa9.entry.js +2 -0
  303. package/dist/sdk/p-72dc8aa9.entry.js.map +1 -0
  304. package/dist/sdk/{p-c2098f5e.entry.js → p-73c2ec89.entry.js} +2 -2
  305. package/dist/sdk/p-745742f1.entry.js +2 -0
  306. package/dist/sdk/p-7a7c0db2.entry.js +2 -0
  307. package/dist/sdk/p-7a7c0db2.entry.js.map +1 -0
  308. package/dist/sdk/{p-2ed0b79c.entry.js → p-7d6dc110.entry.js} +2 -2
  309. package/dist/sdk/{p-2ed0b79c.entry.js.map → p-7d6dc110.entry.js.map} +1 -1
  310. package/dist/sdk/{p-5d859a51.entry.js → p-8d787494.entry.js} +2 -2
  311. package/dist/sdk/p-94dde7e5.entry.js +2 -0
  312. package/dist/sdk/p-94dde7e5.entry.js.map +1 -0
  313. package/dist/sdk/p-97d8ae02.entry.js +2 -0
  314. package/dist/sdk/p-97d8ae02.entry.js.map +1 -0
  315. package/dist/sdk/p-9c396daf.entry.js +2 -0
  316. package/dist/sdk/p-9c396daf.entry.js.map +1 -0
  317. package/dist/sdk/p-9da4dd6d.entry.js +2 -0
  318. package/dist/sdk/p-9da4dd6d.entry.js.map +1 -0
  319. package/dist/sdk/{p-ClhmT9TC.js → p-BZ1kW_eK.js} +2 -2
  320. package/dist/sdk/{p-ClhmT9TC.js.map → p-BZ1kW_eK.js.map} +1 -1
  321. package/dist/sdk/p-BlOjABPD.js +2 -0
  322. package/dist/sdk/{p-DBjPNcZQ.js.map → p-BlOjABPD.js.map} +1 -1
  323. package/dist/sdk/{p-BvjIpzI-.js → p-C0feI0p8.js} +2 -2
  324. package/dist/sdk/{p-BvjIpzI-.js.map → p-C0feI0p8.js.map} +1 -1
  325. package/dist/sdk/{p-BGi6Sl8y.js → p-CDtLILSR.js} +2 -2
  326. package/dist/sdk/{p-BGi6Sl8y.js.map → p-CDtLILSR.js.map} +1 -1
  327. package/dist/sdk/p-CFiZLMAA.js +2 -0
  328. package/dist/sdk/p-CFiZLMAA.js.map +1 -0
  329. package/dist/sdk/p-CR1oWC4S.js +2 -0
  330. package/dist/sdk/p-CR1oWC4S.js.map +1 -0
  331. package/dist/sdk/p-Ce8zGAi1.js +2 -0
  332. package/dist/sdk/{p-BeGO8MZ-.js.map → p-Ce8zGAi1.js.map} +1 -1
  333. package/dist/sdk/p-Ci3aTmzp.js +3 -0
  334. package/dist/sdk/p-Ci3aTmzp.js.map +1 -0
  335. package/dist/sdk/p-D4B6Zkq_.js +2 -0
  336. package/dist/sdk/p-D4B6Zkq_.js.map +1 -0
  337. package/dist/sdk/p-D8RGdjD3.js +2 -0
  338. package/dist/sdk/{p-CPMAxeLD.js.map → p-D8RGdjD3.js.map} +1 -1
  339. package/dist/sdk/p-DGqadgLO.js +2 -0
  340. package/dist/sdk/{p-D6-66bay.js.map → p-DGqadgLO.js.map} +1 -1
  341. package/dist/sdk/{p-DNP3fccV.js → p-DSwwVdp1.js} +2 -2
  342. package/dist/sdk/{p-DNP3fccV.js.map → p-DSwwVdp1.js.map} +1 -1
  343. package/dist/sdk/{p-BLUKsznD.js → p-DYtgart8.js} +2 -2
  344. package/dist/sdk/{p-BLUKsznD.js.map → p-DYtgart8.js.map} +1 -1
  345. package/dist/sdk/p-add92871.entry.js +2 -0
  346. package/dist/sdk/p-add92871.entry.js.map +1 -0
  347. package/dist/sdk/{p-2ddce950.entry.js → p-bb5ae222.entry.js} +2 -2
  348. package/dist/sdk/{p-73dc1a32.entry.js → p-bbbec3d4.entry.js} +2 -2
  349. package/dist/sdk/p-c2b6c674.entry.js +2 -0
  350. package/dist/sdk/p-c2b6c674.entry.js.map +1 -0
  351. package/dist/sdk/p-c2fba7c8.entry.js +2 -0
  352. package/dist/sdk/{p-C-vcnxdk.js → p-cOfRiRUO.js} +2 -2
  353. package/dist/sdk/{p-C-vcnxdk.js.map → p-cOfRiRUO.js.map} +1 -1
  354. package/dist/sdk/p-cba5d81e.entry.js +2 -0
  355. package/dist/sdk/p-cba5d81e.entry.js.map +1 -0
  356. package/dist/sdk/p-cd516902.entry.js +2 -0
  357. package/dist/sdk/p-cd516902.entry.js.map +1 -0
  358. package/dist/sdk/p-d2c6179a.entry.js +2 -0
  359. package/dist/sdk/p-d2c6179a.entry.js.map +1 -0
  360. package/dist/sdk/{p-2f8f53ed.entry.js → p-dcd4e8f0.entry.js} +2 -2
  361. package/dist/sdk/p-de931f46.entry.js +2 -0
  362. package/dist/sdk/p-de931f46.entry.js.map +1 -0
  363. package/dist/sdk/p-e0ba330c.entry.js +2 -0
  364. package/dist/sdk/p-e0ba330c.entry.js.map +1 -0
  365. package/dist/sdk/p-e363a33c.entry.js +2 -0
  366. package/dist/sdk/p-e363a33c.entry.js.map +1 -0
  367. package/dist/sdk/p-fc51c88d.entry.js +2 -0
  368. package/dist/sdk/p-fc51c88d.entry.js.map +1 -0
  369. package/dist/sdk/sdk.css +2 -2
  370. package/dist/sdk/sdk.esm.js +1 -1
  371. package/dist/sdk/sdk.esm.js.map +1 -1
  372. package/dist/sdk/u-conditional-render.entry.esm.js.map +1 -1
  373. package/dist/sdk/u-config.entry.esm.js.map +1 -1
  374. package/dist/sdk/u-email-field.entry.esm.js.map +1 -1
  375. package/dist/sdk/u-field.u-raw-field.entry.esm.js.map +1 -1
  376. package/dist/sdk/u-full-profile.entry.esm.js.map +1 -1
  377. package/dist/sdk/u-logout-button.entry.esm.js.map +1 -1
  378. package/dist/sdk/u-magic-code-field.entry.esm.js.map +1 -1
  379. package/dist/sdk/u-missing-fields-submit-button.entry.esm.js.map +1 -1
  380. package/dist/sdk/u-newsletter-checkbox.entry.esm.js.map +1 -1
  381. package/dist/sdk/u-newsletter-logout-button.entry.esm.js.map +1 -1
  382. package/dist/sdk/u-newsletter-preference-checkbox.entry.esm.js.map +1 -1
  383. package/dist/sdk/u-newsletter-resend-doi-button.entry.esm.js.map +1 -1
  384. package/dist/sdk/u-newsletter-root.entry.esm.js.map +1 -1
  385. package/dist/sdk/u-newsletter-toggle-subscription-button.entry.esm.js.map +1 -1
  386. package/dist/sdk/u-pagination-button.entry.esm.js.map +1 -1
  387. package/dist/sdk/u-passkey.entry.esm.js.map +1 -1
  388. package/dist/sdk/u-profile.u-submit-button.entry.esm.js.map +1 -1
  389. package/dist/sdk/u-reset-password-button.entry.esm.js.map +1 -1
  390. package/dist/sdk/u-send-magic-code-button.entry.esm.js.map +1 -1
  391. package/dist/sdk/u-signin-root.entry.esm.js.map +1 -1
  392. package/dist/sdk/u-signin-step.entry.esm.js.map +1 -1
  393. package/dist/sdk/u-social-login-button.entry.esm.js.map +1 -1
  394. package/dist/sdk/u-spinner.entry.esm.js.map +1 -1
  395. package/dist/sdk/u-ticketable-list.entry.esm.js.map +1 -1
  396. package/dist/types/auth/components/submit-button/auth-submit-button.d.ts +1 -6
  397. package/dist/types/components.d.ts +7 -3
  398. package/dist/types/newsletter/components/newsletter-root/newsletter-root.d.ts +3 -2
  399. package/dist/types/newsletter/components/submit-button/newsletter-submit-button.d.ts +2 -6
  400. package/dist/types/profile/components/submit-button/profile-submit-button.d.ts +0 -3
  401. package/dist/types/{shared/components/u-fields-submit-button-logic/submit-button-logic.d.ts → profile/profile-helpers.d.ts} +1 -1
  402. package/dist/types/shared/components/email-field/email-field.d.ts +2 -0
  403. package/dist/types/shared/components/submit-button/context.d.ts +5 -6
  404. package/dist/types/shared/components/submit-button/submit-button.d.ts +2 -1
  405. package/package.json +9 -5
  406. package/readme.md +2 -1
  407. package/dist/cjs/app-globals-CBeI09cT.js +0 -5867
  408. package/dist/cjs/app-globals-CBeI09cT.js.map +0 -1
  409. package/dist/cjs/exports-BTNx1-cN.js +0 -4174
  410. package/dist/cjs/exports-BTNx1-cN.js.map +0 -1
  411. package/dist/cjs/i18n-DNuyTvmJ.js.map +0 -1
  412. package/dist/cjs/index-BSf3Eyrg.js +0 -2094
  413. package/dist/cjs/index-BSf3Eyrg.js.map +0 -1
  414. package/dist/cjs/index-CtJ5meJ7.js.map +0 -1
  415. package/dist/cjs/submit-button-logic-rhAjEO33.js.map +0 -1
  416. package/dist/collection/shared/components/u-fields-submit-button-logic/submit-button-logic.js.map +0 -1
  417. package/dist/components/submit-button-logic.js.map +0 -1
  418. package/dist/esm/app-globals-DAqFb8zM.js +0 -5865
  419. package/dist/esm/app-globals-DAqFb8zM.js.map +0 -1
  420. package/dist/esm/exports-D7pzDSGS.js +0 -4106
  421. package/dist/esm/exports-D7pzDSGS.js.map +0 -1
  422. package/dist/esm/i18n-CPEM4Hc_.js.map +0 -1
  423. package/dist/esm/index-BF13Y4es.js +0 -2078
  424. package/dist/esm/index-BF13Y4es.js.map +0 -1
  425. package/dist/esm/index-CmoCWXkx.js.map +0 -1
  426. package/dist/esm/submit-button-logic-CtMezaoG.js.map +0 -1
  427. package/dist/sdk/p-0ac36431.entry.js +0 -2
  428. package/dist/sdk/p-0bb59d95.entry.js +0 -2
  429. package/dist/sdk/p-1888fa34.entry.js +0 -2
  430. package/dist/sdk/p-1888fa34.entry.js.map +0 -1
  431. package/dist/sdk/p-206eaf1a.entry.js +0 -2
  432. package/dist/sdk/p-206eaf1a.entry.js.map +0 -1
  433. package/dist/sdk/p-219c8df7.entry.js +0 -2
  434. package/dist/sdk/p-219c8df7.entry.js.map +0 -1
  435. package/dist/sdk/p-266ceb9b.entry.js +0 -2
  436. package/dist/sdk/p-266ceb9b.entry.js.map +0 -1
  437. package/dist/sdk/p-2c01382e.entry.js +0 -2
  438. package/dist/sdk/p-2c01382e.entry.js.map +0 -1
  439. package/dist/sdk/p-3ec7dfe3.entry.js +0 -2
  440. package/dist/sdk/p-3ec7dfe3.entry.js.map +0 -1
  441. package/dist/sdk/p-40d9f876.entry.js +0 -2
  442. package/dist/sdk/p-40d9f876.entry.js.map +0 -1
  443. package/dist/sdk/p-4dbb57c3.entry.js +0 -2
  444. package/dist/sdk/p-4dbb57c3.entry.js.map +0 -1
  445. package/dist/sdk/p-4df06d55.entry.js +0 -2
  446. package/dist/sdk/p-4df06d55.entry.js.map +0 -1
  447. package/dist/sdk/p-65ab8315.entry.js +0 -2
  448. package/dist/sdk/p-65ab8315.entry.js.map +0 -1
  449. package/dist/sdk/p-88d2b9d6.entry.js +0 -2
  450. package/dist/sdk/p-88d2b9d6.entry.js.map +0 -1
  451. package/dist/sdk/p-8969d1ab.entry.js +0 -2
  452. package/dist/sdk/p-8969d1ab.entry.js.map +0 -1
  453. package/dist/sdk/p-8970a077.entry.js +0 -2
  454. package/dist/sdk/p-8970a077.entry.js.map +0 -1
  455. package/dist/sdk/p-9a5530ad.entry.js +0 -2
  456. package/dist/sdk/p-9a5530ad.entry.js.map +0 -1
  457. package/dist/sdk/p-BF13Y4es.js +0 -3
  458. package/dist/sdk/p-BF13Y4es.js.map +0 -1
  459. package/dist/sdk/p-BeGO8MZ-.js +0 -2
  460. package/dist/sdk/p-BsVyUZ6I.js +0 -2
  461. package/dist/sdk/p-BsVyUZ6I.js.map +0 -1
  462. package/dist/sdk/p-CPMAxeLD.js +0 -2
  463. package/dist/sdk/p-D6-66bay.js +0 -2
  464. package/dist/sdk/p-D7pzDSGS.js +0 -2
  465. package/dist/sdk/p-D7pzDSGS.js.map +0 -1
  466. package/dist/sdk/p-DBjPNcZQ.js +0 -2
  467. package/dist/sdk/p-KnO0pPVa.js +0 -2
  468. package/dist/sdk/p-KnO0pPVa.js.map +0 -1
  469. package/dist/sdk/p-PfzIdrPb.js +0 -2
  470. package/dist/sdk/p-PfzIdrPb.js.map +0 -1
  471. package/dist/sdk/p-b0307804.entry.js.map +0 -1
  472. package/dist/sdk/p-b5012f17.entry.js +0 -2
  473. package/dist/sdk/p-b5012f17.entry.js.map +0 -1
  474. package/dist/sdk/p-b733cd98.entry.js +0 -2
  475. package/dist/sdk/p-b733cd98.entry.js.map +0 -1
  476. package/dist/sdk/p-c723d85a.entry.js +0 -2
  477. package/dist/sdk/p-c723d85a.entry.js.map +0 -1
  478. package/dist/sdk/p-cabead0d.entry.js +0 -2
  479. package/dist/sdk/p-cabead0d.entry.js.map +0 -1
  480. package/dist/sdk/p-dab61f77.entry.js +0 -2
  481. package/dist/sdk/p-dab61f77.entry.js.map +0 -1
  482. package/dist/sdk/p-f38f9c60.entry.js +0 -2
  483. package/dist/sdk/p-f38f9c60.entry.js.map +0 -1
  484. /package/dist/sdk/{p-8a472938.entry.js.map → p-2da4497a.entry.js.map} +0 -0
  485. /package/dist/sdk/{p-08ddbde8.entry.js.map → p-5da49d00.entry.js.map} +0 -0
  486. /package/dist/sdk/{p-63ff8516.entry.js.map → p-6893d167.entry.js.map} +0 -0
  487. /package/dist/sdk/{p-c2098f5e.entry.js.map → p-73c2ec89.entry.js.map} +0 -0
  488. /package/dist/sdk/{p-0bb59d95.entry.js.map → p-745742f1.entry.js.map} +0 -0
  489. /package/dist/sdk/{p-5d859a51.entry.js.map → p-8d787494.entry.js.map} +0 -0
  490. /package/dist/sdk/{p-2ddce950.entry.js.map → p-bb5ae222.entry.js.map} +0 -0
  491. /package/dist/sdk/{p-73dc1a32.entry.js.map → p-bbbec3d4.entry.js.map} +0 -0
  492. /package/dist/sdk/{p-0ac36431.entry.js.map → p-c2fba7c8.entry.js.map} +0 -0
  493. /package/dist/sdk/{p-2f8f53ed.entry.js.map → p-dcd4e8f0.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"u-profile.u-submit-button.entry.esm.js","sources":["src/profile/components/profile/profile.tsx","src/auth/components/submit-button/auth-submit-button.ts","src/profile/components/submit-button/profile-submit-button.ts","src/newsletter/components/submit-button/newsletter-submit-button.ts","src/shared/components/submit-button/context.ts","src/shared/components/submit-button/submit-button.tsx"],"sourcesContent":["import * as Sentry from \"@sentry/browser\";\nimport { Component, Host, Method, Prop, State, h } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { Auth } from \"../../../auth\";\nimport { getUnidyClient } from \"../../../api\";\nimport { authStore, onChange as authOnChange } from \"../../../auth/store/auth-store\";\nimport { state as profileState, onChange as profileOnChange } from \"../../store/profile-store\";\nimport { unidyState, onChange as unidyOnChange } from \"../../../shared/store/unidy-store\";\nimport type { ProfileRaw } from \"../../store/profile-store\";\nimport { validateRequiredFieldsUnchanged, buildPayload } from \"../../../shared/components/u-fields-submit-button-logic/submit-button-logic\";\n\n@Component({\n tag: \"u-profile\",\n shadow: false,\n})\nexport class Profile {\n @Prop() profileId?: string;\n @Prop() initialData: string | Record<string, string> = \"\";\n\n @State() fetchingProfileData = false;\n\n constructor() {\n unidyOnChange(\"locale\", async (_locale) => {\n await this.getTokenAndFetchProfile();\n });\n }\n\n async componentWillLoad() {\n if (this.initialData !== \"\") {\n profileState.data = typeof this.initialData === \"string\" ? JSON.parse(this.initialData) : this.initialData;\n } else {\n await this.getTokenAndFetchProfile();\n }\n\n profileState.loading = false;\n }\n\n async getTokenAndFetchProfile() {\n const authInstance = await Auth.getInstance();\n\n const idToken = await authInstance.getToken();\n\n if (idToken && typeof idToken === \"string\") {\n await this.fetchProfileData(idToken as string);\n }\n }\n\n async fetchProfileData(idToken: string) {\n // avoid multiple requests\n if (this.fetchingProfileData) return;\n\n this.fetchingProfileData = true;\n try {\n const resp = await getUnidyClient().profile.fetchProfile({ idToken, lang: unidyState.locale });\n\n if (resp.success) {\n profileState.configuration = JSON.parse(JSON.stringify(resp.data)) as ProfileRaw;\n profileState.configUpdateSource = \"fetch\";\n profileState.errors = {};\n profileState.flashErrors = {};\n\n profileState.data = JSON.parse(JSON.stringify(resp.data)) as ProfileRaw;\n } else {\n profileState.flashErrors = { [String(resp?.status)]: String(resp?.error) };\n }\n } catch (error) {\n Sentry.captureException(\"Failed to fetch profile data:\", error);\n profileState.flashErrors = { error: t(\"errors.failed_to_load_profile\") };\n }\n this.fetchingProfileData = false;\n }\n\n @Method()\n async submitProfile() {\n const authInstance = await Auth.getInstance();\n\n profileState.loading = true;\n\n const { configuration, ...stateWithoutConfig } = profileState;\n\n if (!validateRequiredFieldsUnchanged(stateWithoutConfig.data)) {\n profileState.loading = false;\n return;\n }\n\n const updatedProfileData = buildPayload(stateWithoutConfig.data);\n\n const resp = await getUnidyClient().profile.updateProfile({\n idToken: (await authInstance.getToken()) as string,\n data: updatedProfileData,\n lang: unidyState.locale,\n });\n\n if (resp?.success) {\n profileState.loading = false;\n profileState.configuration = JSON.parse(JSON.stringify(resp.data));\n profileState.configUpdateSource = \"submit\";\n profileState.errors = {};\n } else {\n if (resp?.data && \"flatErrors\" in resp.data) {\n profileState.errors = resp.data.flatErrors as Record<string, string>;\n } else {\n profileState.flashErrors = { [String(resp?.status)]: String(resp?.error) };\n }\n profileState.loading = false;\n }\n }\n\n componentDidLoad() {\n profileOnChange(\"configuration\", (cfg) => {\n profileState.data = cfg as ProfileRaw;\n });\n\n authOnChange(\"token\", (newToken: string | null) => {\n const token = newToken ?? \"\";\n\n if (token) {\n this.fetchProfileData(token);\n }\n });\n }\n\n render() {\n const hasFieldErrors = Object.values(profileState.errors).some(Boolean);\n const errorMsg = Object.values(profileState.flashErrors).filter(Boolean).join(\", \");\n const wasSubmit = profileState.configUpdateSource === \"submit\";\n\n if (authStore.state.authenticated) {\n return this.fetchingProfileData ? (\n <div>{t(\"loading\")}</div>\n ) : (\n <Host>\n <slot />\n {!hasFieldErrors && errorMsg && <flash-message variant=\"error\" message={errorMsg} />}\n {wasSubmit && !errorMsg && !hasFieldErrors && <flash-message variant=\"success\" message={t(\"profile.updated\")} />}\n </Host>\n );\n }\n\n return <h2>{t(\"profile.signInToView\")}</h2>;\n }\n}\n","import type { FunctionalComponent } from \"@stencil/core\";\nimport { authState } from \"../../store/auth-store\";\nimport { getParentSigninStep } from \"../helpers\";\nimport { t } from \"../../../i18n\";\nimport type { SubmitButtonContext } from \"../../../shared/components/submit-button/context\";\n\nexport type AuthButtonFor = \"email\" | \"password\" | \"resetPassword\";\n\nexport interface AuthSubmitButtonProps {\n for?: AuthButtonFor;\n}\n\nexport const AuthSubmitButton: FunctionalComponent<AuthSubmitButtonProps> = (_props, children) => {\n return children;\n};\n\nexport const authContext: SubmitButtonContext = {\n handleClick: async (event: MouseEvent, el: HTMLElement) => {\n event.preventDefault();\n await getParentSigninStep(el)?.submit();\n },\n\n isDisabled(forProp?: AuthButtonFor, disabled?: boolean): boolean {\n if (disabled || authState.loading) return true;\n\n if (authState.step === \"email\" && forProp === \"email\") {\n return authState.email === \"\";\n }\n\n if (authState.step === \"verification\" && forProp === \"password\") {\n return authState.password === \"\";\n }\n\n if (authState.step === \"reset-password\" && forProp === \"resetPassword\") {\n return !authState.resetPassword.newPassword || !authState.resetPassword.passwordConfirmation;\n }\n\n return false;\n },\n\n isLoading(): boolean {\n return authState.loading;\n },\n\n getButtonText(forProp?: AuthButtonFor, text?: string): string {\n if (text) return text;\n\n switch (authState.step) {\n case \"email\":\n return t(\"buttons.continue\");\n case \"verification\":\n if (forProp === \"password\") {\n return t(\"auth.password.button_text\", { defaultValue: \"Sign In with Password\" });\n }\n return t(\"buttons.submit\");\n case \"reset-password\":\n if (forProp === \"resetPassword\") {\n return t(\"auth.resetPassword.button_text_set\", { defaultValue: \"Set Password\" });\n }\n return t(\"buttons.submit\");\n default:\n return t(\"buttons.submit\");\n }\n },\n\n shouldRender(forProp?: AuthButtonFor): boolean {\n if (!authState.availableLoginOptions?.password && forProp === \"password\") {\n return false;\n }\n\n if (authState.step === \"email\") {\n return forProp === \"email\";\n }\n\n if (authState.step === \"verification\") {\n return forProp === \"password\" && authState.magicCodeStep !== \"sent\";\n }\n\n if (authState.step === \"reset-password\") {\n return forProp === \"resetPassword\";\n }\n\n return false;\n },\n};\n","import type { FunctionalComponent } from \"@stencil/core\";\nimport { state as profileState } from \"../../store/profile-store\";\nimport type { SubmitButtonContext } from \"../../../shared/components/submit-button/context\";\n\nexport type ProfileSubmitButtonProps = Record<string, never>;\n\nexport const ProfileSubmitButton: FunctionalComponent<ProfileSubmitButtonProps> = (_props, children) => {\n return children;\n};\n\nfunction getParentProfile(el: HTMLElement) {\n return el.closest(\"u-profile\") as HTMLUProfileElement | null;\n}\n\nexport const profileContext: SubmitButtonContext = {\n async handleClick(event: MouseEvent, el: HTMLElement) {\n event.preventDefault();\n await getParentProfile(el)?.submitProfile();\n },\n\n isDisabled(_forProp, disabled?: boolean): boolean {\n return (\n disabled ||\n (profileState.errors && Object.keys(profileState.errors).length > 0) ||\n profileState.phoneValid === false\n );\n },\n\n isLoading(): boolean {\n return profileState.loading;\n },\n};\n","import type { FunctionalComponent } from \"@stencil/core\";\nimport { newsletterStore } from \"../../store/newsletter-store\";\nimport type { SubmitButtonContext } from \"../../../shared/components/submit-button/context\";\nimport { getParentNewsletterRoot } from \"../helpers\";\n\nexport interface NewsletterSubmitButtonProps {\n onClick?: (event: MouseEvent) => void;\n}\n\nexport const NewsletterSubmitButton: FunctionalComponent<NewsletterSubmitButtonProps> = (_props, children) => {\n return children;\n};\n\nexport const newsletterContext: SubmitButtonContext = {\n handleClick: async (event: MouseEvent, el: HTMLElement) => {\n event.preventDefault();\n return await getParentNewsletterRoot(el)?.submit();\n },\n\n isDisabled(_forProp, disabled?: boolean): boolean {\n return disabled || !newsletterStore.state.email || Object.keys(newsletterStore.state.checkedNewsletters).length === 0;\n },\n\n isLoading(): boolean {\n // newsletter sdk doesn't have loading state yet\n return false;\n },\n};\n","import type { AuthButtonFor } from \"../../../auth/components/submit-button/auth-submit-button\";\n\nexport interface SubmitButtonContext {\n init?(): Promise<void>;\n handleClick(event: MouseEvent, el: HTMLElement): Promise<void>;\n isDisabled(forProp?: AuthButtonFor, disabled?: boolean): boolean;\n isLoading(): boolean;\n getButtonText?(forProp?: AuthButtonFor, text?: string): string;\n shouldRender?(forProp?: AuthButtonFor): boolean;\n}\n\nexport const defaultContext: SubmitButtonContext = {\n async handleClick() {\n },\n\n isDisabled(_forProp, disabled?: boolean): boolean {\n return disabled || false;\n },\n\n isLoading(): boolean {\n return false;\n },\n};\n\n","import { Component, h, Prop, Element } from \"@stencil/core\";\nimport { hasSlotContent } from \"../../component-utils\";\nimport { t } from \"../../../i18n\";\nimport { type AuthButtonFor, AuthSubmitButton, authContext } from \"../../../auth/components/submit-button/auth-submit-button\";\nimport { ProfileSubmitButton, profileContext } from \"../../../profile/components/submit-button/profile-submit-button\";\nimport { NewsletterSubmitButton, newsletterContext } from \"../../../newsletter/components/submit-button/newsletter-submit-button\";\nimport { type SubmitButtonContext, defaultContext } from \"./context\";\n\n@Component({\n tag: \"u-submit-button\",\n shadow: false,\n})\nexport class SubmitButton {\n @Element() el!: HTMLElement;\n @Prop() for?: AuthButtonFor;\n @Prop() text?: string;\n @Prop() disabled = false;\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n private context: \"auth\" | \"profile\" | \"newsletter\" | \"other\" = \"other\";\n private contextModule: SubmitButtonContext = defaultContext;\n private hasSlot = false;\n\n async componentWillLoad() {\n this.hasSlot = hasSlotContent(this.el);\n this.context = this.detectContext();\n\n switch (this.context) {\n case \"auth\":\n this.contextModule = authContext;\n break;\n case \"profile\":\n this.contextModule = profileContext;\n break;\n case \"newsletter\":\n this.contextModule = newsletterContext;\n break;\n default:\n this.contextModule = defaultContext;\n }\n }\n\n private detectContext(): \"auth\" | \"profile\" | \"newsletter\" {\n if (this.el.closest(\"u-signin-root\") || this.el.closest(\"u-signin-step\")) return \"auth\";\n\n if (this.el.closest(\"u-profile\")) return \"profile\";\n\n if (this.el.closest(\"u-newsletter-root\")) return \"newsletter\";\n\n throw new Error(\n \"No context found for submit button. Make sure you are using the component within a u-signin-root, u-profile, or u-newsletter-root.\",\n );\n }\n\n private handleClick = async (event: MouseEvent) => {\n await this.contextModule.handleClick(event, this.el);\n };\n\n private isDisabled(): boolean {\n return this.contextModule.isDisabled(this.for, this.disabled);\n }\n\n private isLoading(): boolean {\n return this.contextModule.isLoading();\n }\n\n private getButtonText(): string {\n if (this.contextModule.getButtonText) {\n return this.contextModule.getButtonText(this.for, this.text);\n }\n if (this.text) {\n return this.text;\n }\n\n return t(\"buttons.submit\");\n }\n\n private getButtonContent() {\n const loading = this.isLoading();\n\n if (loading) {\n return <u-spinner />;\n }\n\n if (this.hasSlot) {\n return <slot />;\n }\n\n return this.getButtonText();\n }\n\n render() {\n if (this.contextModule.shouldRender && !this.contextModule.shouldRender(this.for)) {\n return null;\n }\n\n const buttonClasses = [\n this.componentClassName,\n this.context === \"auth\" ? \"u:flex u:justify-center\" : \"\",\n \"u:disabled:opacity-50 u:disabled:cursor-not-allowed\",\n ].join(\" \");\n\n const buttonProps: Record<string, unknown> = {\n type: \"submit\",\n part: `${this.context}-submit-button`,\n disabled: this.isDisabled() || this.isLoading(),\n class: buttonClasses,\n onClick: this.handleClick,\n \"aria-live\": \"polite\",\n };\n\n const button = <button {...buttonProps}>{this.getButtonContent()}</button>;\n\n switch (this.context) {\n case \"auth\":\n return <AuthSubmitButton for={this.for}>{button}</AuthSubmitButton>;\n case \"profile\":\n return <ProfileSubmitButton>{button}</ProfileSubmitButton>;\n case \"newsletter\":\n return <NewsletterSubmitButton>{button}</NewsletterSubmitButton>;\n default:\n return button;\n }\n }\n}\n"],"names":["unidyOnChange","profileState","Sentry.captureException","profileOnChange","authOnChange","authState"],"mappings":"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"}
1
+ {"version":3,"file":"u-profile.u-submit-button.entry.esm.js","sources":["src/profile/components/profile/profile.tsx","src/auth/components/submit-button/auth-submit-button.ts","src/newsletter/components/submit-button/newsletter-submit-button.ts","src/profile/components/submit-button/profile-submit-button.ts","src/shared/components/submit-button/context.ts","src/shared/components/submit-button/submit-button.tsx"],"sourcesContent":["import * as Sentry from \"@sentry/browser\";\nimport { Component, Host, Method, Prop, State, h } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { Auth } from \"../../../auth\";\nimport { getUnidyClient } from \"../../../api\";\nimport { authStore, onChange as authOnChange } from \"../../../auth/store/auth-store\";\nimport { state as profileState, onChange as profileOnChange } from \"../../store/profile-store\";\nimport { unidyState, onChange as unidyOnChange } from \"../../../shared/store/unidy-store\";\nimport type { ProfileRaw } from \"../../store/profile-store\";\nimport { validateRequiredFieldsUnchanged, buildPayload } from \"../../profile-helpers\";\n\n@Component({\n tag: \"u-profile\",\n shadow: false,\n})\nexport class Profile {\n @Prop() profileId?: string;\n @Prop() initialData: string | Record<string, string> = \"\";\n\n @State() fetchingProfileData = false;\n\n constructor() {\n unidyOnChange(\"locale\", async (_locale) => {\n await this.getTokenAndFetchProfile();\n });\n }\n\n async componentWillLoad() {\n if (this.initialData !== \"\") {\n profileState.data = typeof this.initialData === \"string\" ? JSON.parse(this.initialData) : this.initialData;\n } else {\n await this.getTokenAndFetchProfile();\n }\n\n profileState.loading = false;\n }\n\n async getTokenAndFetchProfile() {\n const authInstance = await Auth.getInstance();\n\n const idToken = await authInstance.getToken();\n\n if (idToken && typeof idToken === \"string\") {\n await this.fetchProfileData(idToken as string);\n }\n }\n\n async fetchProfileData(idToken: string) {\n // avoid multiple requests\n if (this.fetchingProfileData) return;\n\n this.fetchingProfileData = true;\n try {\n const resp = await getUnidyClient().profile.fetchProfile({ idToken, lang: unidyState.locale });\n\n if (resp.success) {\n profileState.configuration = JSON.parse(JSON.stringify(resp.data)) as ProfileRaw;\n profileState.configUpdateSource = \"fetch\";\n profileState.errors = {};\n profileState.flashErrors = {};\n\n profileState.data = JSON.parse(JSON.stringify(resp.data)) as ProfileRaw;\n } else {\n profileState.flashErrors = { [String(resp?.status)]: String(resp?.error) };\n }\n } catch (error) {\n Sentry.captureException(\"Failed to fetch profile data:\", error);\n profileState.flashErrors = { error: t(\"errors.failed_to_load_profile\") };\n }\n this.fetchingProfileData = false;\n }\n\n @Method()\n async submitProfile() {\n const authInstance = await Auth.getInstance();\n\n profileState.loading = true;\n\n const { configuration, ...stateWithoutConfig } = profileState;\n\n if (!validateRequiredFieldsUnchanged(stateWithoutConfig.data)) {\n profileState.loading = false;\n return;\n }\n\n const updatedProfileData = buildPayload(stateWithoutConfig.data);\n\n const resp = await getUnidyClient().profile.updateProfile({\n idToken: (await authInstance.getToken()) as string,\n data: updatedProfileData,\n lang: unidyState.locale,\n });\n\n if (resp?.success) {\n profileState.loading = false;\n profileState.configuration = JSON.parse(JSON.stringify(resp.data));\n profileState.configUpdateSource = \"submit\";\n profileState.errors = {};\n } else {\n if (resp?.data && \"flatErrors\" in resp.data) {\n profileState.errors = resp.data.flatErrors as Record<string, string>;\n } else {\n profileState.flashErrors = { [String(resp?.status)]: String(resp?.error) };\n }\n profileState.loading = false;\n }\n }\n\n componentDidLoad() {\n profileOnChange(\"configuration\", (cfg) => {\n profileState.data = cfg as ProfileRaw;\n });\n\n authOnChange(\"token\", (newToken: string | null) => {\n const token = newToken ?? \"\";\n\n if (token) {\n this.fetchProfileData(token);\n }\n });\n }\n\n render() {\n const hasFieldErrors = Object.values(profileState.errors).some(Boolean);\n const errorMsg = Object.values(profileState.flashErrors).filter(Boolean).join(\", \");\n const wasSubmit = profileState.configUpdateSource === \"submit\";\n\n if (authStore.state.authenticated) {\n return this.fetchingProfileData ? (\n <div>{t(\"loading\")}</div>\n ) : (\n <Host>\n <slot />\n {!hasFieldErrors && errorMsg && <flash-message variant=\"error\" message={errorMsg} />}\n {wasSubmit && !errorMsg && !hasFieldErrors && <flash-message variant=\"success\" message={t(\"profile.updated\")} />}\n </Host>\n );\n }\n\n return <h2>{t(\"profile.signInToView\")}</h2>;\n }\n}\n","import { t } from \"../../../i18n\";\nimport type { SubmitButtonContext } from \"../../../shared/components/submit-button/context\";\nimport { authState } from \"../../store/auth-store\";\nimport { getParentSigninStep } from \"../helpers\";\n\nexport type AuthButtonFor = \"email\" | \"password\" | \"resetPassword\";\n\nexport const authContext: SubmitButtonContext<AuthButtonFor> = {\n handleClick: async (event: MouseEvent, el: HTMLElement, _forProp?: AuthButtonFor) => {\n event.preventDefault();\n await getParentSigninStep(el)?.submit();\n },\n\n isDisabled(forProp?: AuthButtonFor, disabled?: boolean): boolean {\n if (disabled || authState.loading) return true;\n\n if (authState.step === \"email\" && forProp === \"email\") {\n return authState.email === \"\";\n }\n\n if (authState.step === \"verification\" && forProp === \"password\") {\n return authState.password === \"\";\n }\n\n if (authState.step === \"reset-password\" && forProp === \"resetPassword\") {\n return !authState.resetPassword.newPassword || !authState.resetPassword.passwordConfirmation;\n }\n\n return false;\n },\n\n isLoading(): boolean {\n return authState.loading;\n },\n\n getButtonText(forProp?: AuthButtonFor, text?: string): string {\n if (text) return text;\n\n switch (authState.step) {\n case \"email\":\n return t(\"buttons.continue\");\n case \"verification\":\n if (forProp === \"password\") {\n return t(\"auth.password.button_text\", { defaultValue: \"Sign In with Password\" });\n }\n return t(\"buttons.submit\");\n case \"reset-password\":\n if (forProp === \"resetPassword\") {\n return t(\"auth.resetPassword.button_text_set\", { defaultValue: \"Set Password\" });\n }\n return t(\"buttons.submit\");\n default:\n return t(\"buttons.submit\");\n }\n },\n\n shouldRender(forProp?: AuthButtonFor): boolean {\n if (!authState.availableLoginOptions?.password && forProp === \"password\") {\n return false;\n }\n\n if (authState.step === \"email\") {\n return forProp === \"email\";\n }\n\n if (authState.step === \"verification\") {\n return forProp === \"password\" && authState.magicCodeStep !== \"sent\";\n }\n\n if (authState.step === \"reset-password\") {\n return forProp === \"resetPassword\";\n }\n\n return false;\n },\n};\n","import type { SubmitButtonContext } from \"../../../shared/components/submit-button/context\";\nimport { newsletterStore } from \"../../store/newsletter-store\";\nimport { getParentNewsletterRoot } from \"../helpers\";\n\nexport type NewsletterButtonFor = \"login\" | \"create\";\n\nexport const newsletterContext: SubmitButtonContext<NewsletterButtonFor> = {\n handleClick: async (event: MouseEvent, el: HTMLElement, forProp?: NewsletterButtonFor) => {\n event.preventDefault();\n return await getParentNewsletterRoot(el)?.submit(forProp);\n },\n\n isDisabled(forProp, disabled?: boolean): boolean {\n if (forProp === \"login\") {\n return disabled || !newsletterStore.state.email;\n }\n\n return disabled || !newsletterStore.state.email || Object.keys(newsletterStore.state.checkedNewsletters).length === 0;\n },\n\n isLoading(): boolean {\n // newsletter sdk doesn't have loading state yet\n return false;\n },\n};\n","import type { SubmitButtonContext } from \"../../../shared/components/submit-button/context\";\nimport { state as profileState } from \"../../store/profile-store\";\n\nfunction getParentProfile(el: HTMLElement) {\n return el.closest(\"u-profile\") as HTMLUProfileElement | null;\n}\n\nexport const profileContext: SubmitButtonContext = {\n async handleClick(event: MouseEvent, el: HTMLElement, _forProp?: string) {\n event.preventDefault();\n await getParentProfile(el)?.submitProfile();\n },\n\n isDisabled(_forProp, disabled?: boolean): boolean {\n return disabled || (profileState.errors && Object.keys(profileState.errors).length > 0) || profileState.phoneValid === false;\n },\n\n isLoading(): boolean {\n return profileState.loading;\n },\n};\n","export interface SubmitButtonContext<ForContext = string> {\n init?(): Promise<void>;\n handleClick(event: MouseEvent, el: HTMLElement, forProp?: ForContext): Promise<void>;\n isDisabled(forProp?: ForContext, disabled?: boolean): boolean;\n isLoading(): boolean;\n getButtonText?(forProp?: ForContext, text?: string): string;\n shouldRender?(forProp?: ForContext): boolean;\n}\n\nexport const defaultContext: SubmitButtonContext = {\n async handleClick() {},\n\n isDisabled(_forProp, disabled = false): boolean {\n return disabled || false;\n },\n\n isLoading(): boolean {\n return false;\n },\n};\n","import { Component, Element, h, Prop } from \"@stencil/core\";\nimport { type AuthButtonFor, authContext } from \"../../../auth/components/submit-button/auth-submit-button\";\nimport { t } from \"../../../i18n\";\nimport { type NewsletterButtonFor, newsletterContext } from \"../../../newsletter/components/submit-button/newsletter-submit-button\";\nimport { profileContext } from \"../../../profile/components/submit-button/profile-submit-button\";\nimport { hasSlotContent } from \"../../component-utils\";\nimport { defaultContext, type SubmitButtonContext } from \"./context\";\n\n@Component({\n tag: \"u-submit-button\",\n shadow: false,\n})\nexport class SubmitButton {\n @Element() el!: HTMLElement;\n @Prop() for?: AuthButtonFor | NewsletterButtonFor;\n @Prop() text?: string;\n @Prop() disabled = false;\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n private context: \"auth\" | \"profile\" | \"newsletter\" = \"auth\";\n private contextModule: SubmitButtonContext = defaultContext;\n private hasSlot = false;\n\n async componentWillLoad() {\n this.hasSlot = hasSlotContent(this.el);\n this.context = this.detectContext();\n\n switch (this.context) {\n case \"auth\":\n this.contextModule = authContext;\n break;\n case \"profile\":\n this.contextModule = profileContext;\n break;\n case \"newsletter\":\n this.contextModule = newsletterContext;\n break;\n default:\n this.contextModule = defaultContext;\n }\n }\n\n private detectContext(): \"auth\" | \"profile\" | \"newsletter\" {\n if (this.el.closest(\"u-signin-root\") || this.el.closest(\"u-signin-step\")) return \"auth\";\n\n if (this.el.closest(\"u-profile\")) return \"profile\";\n\n if (this.el.closest(\"u-newsletter-root\")) return \"newsletter\";\n\n throw new Error(\n \"No context found for submit button. Make sure you are using the component within a u-signin-root, u-profile, or u-newsletter-root.\",\n );\n }\n\n private handleClick = async (event: MouseEvent) => {\n await this.contextModule.handleClick(event, this.el, this.for);\n };\n\n private isDisabled(): boolean {\n return this.contextModule.isDisabled(this.for, this.disabled);\n }\n\n private isLoading(): boolean {\n return this.contextModule.isLoading();\n }\n\n private getButtonText(): string {\n if (this.contextModule.getButtonText) {\n return this.contextModule.getButtonText(this.for, this.text);\n }\n if (this.text) {\n return this.text;\n }\n\n return t(\"buttons.submit\");\n }\n\n private getButtonContent() {\n const loading = this.isLoading();\n\n if (loading) {\n return <u-spinner />;\n }\n\n if (this.hasSlot) {\n return <slot />;\n }\n\n return this.getButtonText();\n }\n\n render() {\n if (this.contextModule.shouldRender && !this.contextModule.shouldRender(this.for)) {\n return null;\n }\n\n const buttonClasses = [\n this.componentClassName,\n this.context === \"auth\" ? \"u:flex u:justify-center\" : \"\",\n \"u:disabled:opacity-50 u:disabled:cursor-not-allowed\",\n ].join(\" \");\n\n const buttonProps: Record<string, unknown> = {\n type: \"submit\",\n part: `${this.context}-submit-button`,\n disabled: this.isDisabled() || this.isLoading(),\n class: buttonClasses,\n onClick: this.handleClick,\n \"aria-live\": \"polite\",\n };\n\n return <button {...buttonProps}>{this.getButtonContent()}</button>;\n }\n}\n"],"names":["unidyOnChange","profileState","Sentry.captureException","profileOnChange","authOnChange","authState"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"u-reset-password-button.entry.esm.js","sources":["src/auth/components/reset-pass-button/reset-pass-button.tsx"],"sourcesContent":["import { Component, h, Prop } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { Auth } from \"../../auth\";\nimport { authState } from \"../../store/auth-store\";\nimport { Flash } from \"../../../shared/store/flash-store\";\n\n@Component({\n tag: \"u-reset-password-button\",\n shadow: false,\n})\nexport class ResetPasswordButton {\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n private handleClick = async () => {\n const authInstance = await Auth.getInstance();\n\n await authInstance.helpers.sendResetPasswordEmail();\n\n if (authState.resetPassword.step === \"sent\") {\n const successMessage = t(\"auth.resetPassword.success_message\", {\n defaultValue: \"Password reset email sent. Please check your inbox.\",\n });\n\n Flash.success.addMessage(successMessage);\n }\n };\n\n private getButtonText() {\n if (authState.step === \"verification\" && authState.availableLoginOptions && !authState.availableLoginOptions.password) {\n return t(\"auth.resetPassword.button_text_set\", { defaultValue: \"Set Password\" });\n }\n\n if (authState.step === \"reset-password\") {\n return t(\"auth.resetPassword.button_text_resend\", { defaultValue: \"Resend Password Reset Email\" });\n }\n\n return t(\"auth.resetPassword.button_text_reset\", { defaultValue: \"Reset Password\" });\n }\n render() {\n if (![\"verification\", \"reset-password\"].includes(authState.step)) {\n return null;\n }\n\n return (\n <button type=\"button\" onClick={this.handleClick} class={this.componentClassName}>\n {this.getButtonText()}\n </button>\n );\n }\n}\n"],"names":["authState"],"mappings":";;;;;;;;;;;;MAUa,mBAAmB,GAAA,MAAA;;;;IACK,kBAAkB,GAAG,EAAE;IAElD,WAAW,GAAG,YAAW;AAC/B,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;AAE7C,QAAA,MAAM,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE;QAEnD,IAAIA,KAAS,CAAC,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE;AAC3C,YAAA,MAAM,cAAc,GAAG,CAAC,CAAC,oCAAoC,EAAE;AAC7D,gBAAA,YAAY,EAAE,qDAAqD;AACpE,aAAA,CAAC;AAEF,YAAA,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;;AAE5C,KAAC;IAEO,aAAa,GAAA;AACnB,QAAA,IAAIA,KAAS,CAAC,IAAI,KAAK,cAAc,IAAIA,KAAS,CAAC,qBAAqB,IAAI,CAACA,KAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE;YACrH,OAAO,CAAC,CAAC,oCAAoC,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;;AAGlF,QAAA,IAAIA,KAAS,CAAC,IAAI,KAAK,gBAAgB,EAAE;YACvC,OAAO,CAAC,CAAC,uCAAuC,EAAE,EAAE,YAAY,EAAE,6BAA6B,EAAE,CAAC;;QAGpG,OAAO,CAAC,CAAC,sCAAsC,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;;IAEtF,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAACA,KAAS,CAAC,IAAI,CAAC,EAAE;AAChE,YAAA,OAAO,IAAI;;AAGb,QAAA,QACE,CAAQ,CAAA,QAAA,EAAA,EAAA,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAC5E,EAAA,IAAI,CAAC,aAAa,EAAE,CACd;;;;;;"}
1
+ {"version":3,"file":"u-reset-password-button.entry.esm.js","sources":["src/auth/components/reset-pass-button/reset-pass-button.tsx"],"sourcesContent":["import { Component, h, Prop } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { Auth } from \"../../auth\";\nimport { authState } from \"../../store/auth-store\";\nimport { Flash } from \"../../../shared/store/flash-store\";\n\n@Component({\n tag: \"u-reset-password-button\",\n shadow: false,\n})\nexport class ResetPasswordButton {\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n private handleClick = async () => {\n const authInstance = await Auth.getInstance();\n\n await authInstance.helpers.sendResetPasswordEmail();\n\n if (authState.resetPassword.step === \"sent\") {\n const successMessage = t(\"auth.resetPassword.success_message\", {\n defaultValue: \"Password reset email sent. Please check your inbox.\",\n });\n\n Flash.success.addMessage(successMessage);\n }\n };\n\n private getButtonText() {\n if (authState.step === \"verification\" && authState.availableLoginOptions && !authState.availableLoginOptions.password) {\n return t(\"auth.resetPassword.button_text_set\", { defaultValue: \"Set Password\" });\n }\n\n if (authState.step === \"reset-password\") {\n return t(\"auth.resetPassword.button_text_resend\", { defaultValue: \"Resend Password Reset Email\" });\n }\n\n return t(\"auth.resetPassword.button_text_reset\", { defaultValue: \"Reset Password\" });\n }\n render() {\n if (![\"verification\", \"reset-password\"].includes(authState.step)) {\n return null;\n }\n\n return (\n <button type=\"button\" onClick={this.handleClick} class={this.componentClassName}>\n {this.getButtonText()}\n </button>\n );\n }\n}\n"],"names":["authState"],"mappings":";;;;;;;;;;;MAUa,mBAAmB,GAAA,MAAA;;;;IACK,kBAAkB,GAAG,EAAE;IAElD,WAAW,GAAG,YAAW;AAC/B,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;AAE7C,QAAA,MAAM,YAAY,CAAC,OAAO,CAAC,sBAAsB,EAAE;QAEnD,IAAIA,KAAS,CAAC,aAAa,CAAC,IAAI,KAAK,MAAM,EAAE;AAC3C,YAAA,MAAM,cAAc,GAAG,CAAC,CAAC,oCAAoC,EAAE;AAC7D,gBAAA,YAAY,EAAE,qDAAqD;AACpE,aAAA,CAAC;AAEF,YAAA,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC;;AAE5C,KAAC;IAEO,aAAa,GAAA;AACnB,QAAA,IAAIA,KAAS,CAAC,IAAI,KAAK,cAAc,IAAIA,KAAS,CAAC,qBAAqB,IAAI,CAACA,KAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE;YACrH,OAAO,CAAC,CAAC,oCAAoC,EAAE,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;;AAGlF,QAAA,IAAIA,KAAS,CAAC,IAAI,KAAK,gBAAgB,EAAE;YACvC,OAAO,CAAC,CAAC,uCAAuC,EAAE,EAAE,YAAY,EAAE,6BAA6B,EAAE,CAAC;;QAGpG,OAAO,CAAC,CAAC,sCAAsC,EAAE,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC;;IAEtF,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC,QAAQ,CAACA,KAAS,CAAC,IAAI,CAAC,EAAE;AAChE,YAAA,OAAO,IAAI;;AAGb,QAAA,QACE,CAAQ,CAAA,QAAA,EAAA,EAAA,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAC5E,EAAA,IAAI,CAAC,aAAa,EAAE,CACd;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"u-send-magic-code-button.entry.esm.js","sources":["src/auth/components/send-magic-code-button/send-magic-code-button.tsx"],"sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { authState, authStore } from \"../../store/auth-store\";\nimport { Auth } from \"../../auth\";\n\n@Component({\n tag: \"u-send-magic-code-button\",\n shadow: false,\n})\nexport class SendMagicCodeButton {\n @Prop() disabled = false;\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n @State() countdown = 0;\n private countdownInterval: number | null = null;\n\n private handleClick = async () => {\n if (this.disabled || authState.loading || this.countdown > 0) return;\n\n const authInstance = await Auth.getInstance();\n\n const [_error, response] = await authInstance.helpers.sendMagicCode();\n\n if (response && \"enable_resend_after\" in response) {\n this.startCountdown(response.enable_resend_after);\n }\n };\n\n private startCountdown = (enableResendAfter: number) => {\n this.countdown = Math.ceil(enableResendAfter / 1000);\n\n this.countdownInterval = window.setInterval(() => {\n this.countdown--;\n if (this.countdown <= 0) {\n this.clearCountdown();\n authStore.clearFieldError(\"magicCode\");\n }\n }, 1000);\n };\n\n private clearCountdown = () => {\n if (this.countdownInterval) {\n clearInterval(this.countdownInterval);\n this.countdownInterval = null;\n }\n this.countdown = 0;\n };\n\n disconnectedCallback() {\n this.clearCountdown();\n }\n\n render() {\n if (!authState.availableLoginOptions?.magic_link && authState.step !== \"single-login\") {\n return null;\n }\n\n if (authState.step !== \"magic-code\" && authState.step !== \"verification\" && authState.step !== \"single-login\") {\n return null;\n }\n\n const isDisabled = this.disabled || authState.magicCodeStep === \"requested\" || this.countdown > 0 || authState.email === \"\";\n const buttonTextKey = authState.step !== \"magic-code\" ? \"auth.magicCode.button_text\" : \"auth.magicCode.resend.button_text\";\n const text = t(buttonTextKey, { defaultValue: \"Send Magic Code\" });\n const alreadySentText = t(\"auth.magicCode.already_sent_text\", { defaultValue: \"Magic code already sent to your email\" });\n const sendingText = t(\"auth.magicCode.sending_text\", { defaultValue: \"Sending...\" });\n\n return (\n <button type=\"button\" disabled={isDisabled} onClick={this.handleClick} class={this.componentClassName} aria-live=\"polite\">\n {this.countdown > 0 ? alreadySentText : authState.loading && authState.magicCodeStep === \"requested\" ? sendingText : text}\n </button>\n );\n }\n}\n"],"names":["authState"],"mappings":"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"}
1
+ {"version":3,"file":"u-send-magic-code-button.entry.esm.js","sources":["src/auth/components/send-magic-code-button/send-magic-code-button.tsx"],"sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { authState, authStore } from \"../../store/auth-store\";\nimport { Auth } from \"../../auth\";\n\n@Component({\n tag: \"u-send-magic-code-button\",\n shadow: false,\n})\nexport class SendMagicCodeButton {\n @Prop() disabled = false;\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n @State() countdown = 0;\n private countdownInterval: number | null = null;\n\n private handleClick = async () => {\n if (this.disabled || authState.loading || this.countdown > 0) return;\n\n const authInstance = await Auth.getInstance();\n\n const [_error, response] = await authInstance.helpers.sendMagicCode();\n\n if (response && \"enable_resend_after\" in response) {\n this.startCountdown(response.enable_resend_after);\n }\n };\n\n private startCountdown = (enableResendAfter: number) => {\n this.countdown = Math.ceil(enableResendAfter / 1000);\n\n this.countdownInterval = window.setInterval(() => {\n this.countdown--;\n if (this.countdown <= 0) {\n this.clearCountdown();\n authStore.clearFieldError(\"magicCode\");\n }\n }, 1000);\n };\n\n private clearCountdown = () => {\n if (this.countdownInterval) {\n clearInterval(this.countdownInterval);\n this.countdownInterval = null;\n }\n this.countdown = 0;\n };\n\n disconnectedCallback() {\n this.clearCountdown();\n }\n\n render() {\n if (!authState.availableLoginOptions?.magic_link && authState.step !== \"single-login\") {\n return null;\n }\n\n if (authState.step !== \"magic-code\" && authState.step !== \"verification\" && authState.step !== \"single-login\") {\n return null;\n }\n\n const isDisabled = this.disabled || authState.magicCodeStep === \"requested\" || this.countdown > 0 || authState.email === \"\";\n const buttonTextKey = authState.step !== \"magic-code\" ? \"auth.magicCode.button_text\" : \"auth.magicCode.resend.button_text\";\n const text = t(buttonTextKey, { defaultValue: \"Send Magic Code\" });\n const alreadySentText = t(\"auth.magicCode.already_sent_text\", { defaultValue: \"Magic code already sent to your email\" });\n const sendingText = t(\"auth.magicCode.sending_text\", { defaultValue: \"Sending...\" });\n\n return (\n <button type=\"button\" disabled={isDisabled} onClick={this.handleClick} class={this.componentClassName} aria-live=\"polite\">\n {this.countdown > 0 ? alreadySentText : authState.loading && authState.magicCodeStep === \"requested\" ? sendingText : text}\n </button>\n );\n }\n}\n"],"names":["authState"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"u-signin-root.entry.esm.js","sources":["src/auth/components/signin-root/signin-root.tsx"],"sourcesContent":["import {Component, Host, h, Prop, Event, type EventEmitter, Element} from \"@stencil/core\";\nimport type { TokenResponse } from \"../../api/auth\";\nimport { authStore } from \"../../store/auth-store\";\n\n@Component({\n tag: \"u-signin-root\",\n shadow: true,\n})\nexport class SigninRoot {\n @Element() el!: HTMLElement;\n\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n @Event() authEvent!: EventEmitter<TokenResponse>;\n @Event() errorEvent!: EventEmitter<{ error: string }>;\n\n componentDidLoad() {\n authStore.setRootComponentRef(this);\n const signInSteps = this.el.querySelectorAll(\"u-signin-step\").values();\n if ([...signInSteps].some((step: HTMLUSigninStepElement) => step.name === \"single-login\")) {\n authStore.setInitialStep(\"single-login\");\n } else {\n authStore.setInitialStep(\"email\");\n }\n }\n\n onAuth(response: TokenResponse) {\n this.authEvent.emit(response);\n }\n\n onError(error: string) {\n this.errorEvent.emit({ error: error });\n }\n\n render() {\n if (authStore.state.authenticated) {\n return null;\n }\n\n return (\n <Host class={this.componentClassName}>\n <slot />\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;MAQa,UAAU,GAAA,MAAA;;;;;;;IAGc,kBAAkB,GAAG,EAAE;AAEjD,IAAA,SAAS;AACT,IAAA,UAAU;IAEnB,gBAAgB,GAAA;AACd,QAAA,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC;AACnC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE;AACtE,QAAA,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAA4B,KAAK,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,EAAE;AACzF,YAAA,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC;;aACnC;AACL,YAAA,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC;;;AAIrC,IAAA,MAAM,CAAC,QAAuB,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAG/B,IAAA,OAAO,CAAC,KAAa,EAAA;QACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;;IAGxC,MAAM,GAAA;AACJ,QAAA,IAAI,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE;AACjC,YAAA,OAAO,IAAI;;QAGb,QACE,EAAC,IAAI,EAAA,EAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAA,EAClC,CAAQ,CAAA,MAAA,EAAA,IAAA,CAAA,CACH;;;;;;"}
1
+ {"version":3,"file":"u-signin-root.entry.esm.js","sources":["src/auth/components/signin-root/signin-root.tsx"],"sourcesContent":["import { Component, Host, h, Prop, Event, type EventEmitter, Element } from \"@stencil/core\";\nimport type { TokenResponse } from \"../../api/auth\";\nimport { authStore } from \"../../store/auth-store\";\n\n@Component({\n tag: \"u-signin-root\",\n shadow: true,\n})\nexport class SigninRoot {\n @Element() el!: HTMLElement;\n\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n @Event() authEvent!: EventEmitter<TokenResponse>;\n @Event() errorEvent!: EventEmitter<{ error: string }>;\n\n componentDidLoad() {\n authStore.setRootComponentRef(this);\n const signInSteps = this.el.querySelectorAll(\"u-signin-step\").values();\n if ([...signInSteps].some((step: HTMLUSigninStepElement) => step.name === \"single-login\")) {\n authStore.setInitialStep(\"single-login\");\n } else {\n authStore.setInitialStep(\"email\");\n }\n }\n\n onAuth(response: TokenResponse) {\n this.authEvent.emit(response);\n }\n\n onError(error: string) {\n this.errorEvent.emit({ error: error });\n }\n\n render() {\n if (authStore.state.authenticated) {\n return null;\n }\n\n return (\n <Host class={this.componentClassName}>\n <slot />\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;MAQa,UAAU,GAAA,MAAA;;;;;;;IAGc,kBAAkB,GAAG,EAAE;AAEjD,IAAA,SAAS;AACT,IAAA,UAAU;IAEnB,gBAAgB,GAAA;AACd,QAAA,SAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC;AACnC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE;AACtE,QAAA,IAAI,CAAC,GAAG,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAA4B,KAAK,IAAI,CAAC,IAAI,KAAK,cAAc,CAAC,EAAE;AACzF,YAAA,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC;;aACnC;AACL,YAAA,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC;;;AAIrC,IAAA,MAAM,CAAC,QAAuB,EAAA;AAC5B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAG/B,IAAA,OAAO,CAAC,KAAa,EAAA;QACnB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;;IAGxC,MAAM,GAAA;AACJ,QAAA,IAAI,SAAS,CAAC,KAAK,CAAC,aAAa,EAAE;AACjC,YAAA,OAAO,IAAI;;QAGb,QACE,EAAC,IAAI,EAAA,EAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAA,EAClC,CAAQ,CAAA,MAAA,EAAA,IAAA,CAAA,CACH;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"u-signin-step.entry.esm.js","sources":["src/auth/components/signin-step/signin-step.tsx"],"sourcesContent":["import { Component, Host, h, Prop, Method, Element } from \"@stencil/core\";\nimport { authState } from \"../../store/auth-store\";\nimport { Auth } from \"../..\";\n\n@Component({\n tag: \"u-signin-step\",\n shadow: true,\n})\nexport class SigninStep {\n @Element() el!: HTMLElement;\n @Prop() name!: \"email\" | \"verification\" | \"reset-password\" | \"single-login\" | \"missing-fields\" | \"registration\";\n @Prop() alwaysRender = false;\n\n @Method()\n async isActive(): Promise<boolean> {\n return authState.step === this.name || this.alwaysRender;\n }\n\n @Method()\n async submit() {\n if (authState.loading) return;\n\n const authInstance = await Auth.getInstance();\n\n if (authState.step === \"email\" || authState.step === \"single-login\") {\n await authInstance.helpers.createSignIn(authState.email, authState.password);\n } else if (authState.step === \"verification\") {\n await authInstance.helpers.authenticateWithPassword(authState.password);\n } else if (authState.step === \"reset-password\") {\n await authInstance.helpers.resetPassword();\n }\n }\n\n render() {\n let shouldRender = false;\n\n if (this.name === \"email\") {\n shouldRender = authState.step === \"email\";\n } else if (this.name === \"verification\") {\n shouldRender = authState.step === \"verification\" || authState.step === \"magic-code\";\n } else if (this.name === \"reset-password\") {\n shouldRender = authState.step === \"reset-password\";\n } else if (this.name === \"registration\") {\n shouldRender = authState.step === \"registration\" && authState.errors.email === \"account_not_found\";\n } else if (this.name === \"single-login\") {\n shouldRender = authState.step === \"single-login\";\n } else if (this.name === \"missing-fields\") {\n shouldRender = authState.step === \"missing-fields\";\n }\n\n if (!shouldRender) {\n return null;\n }\n\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"],"names":["authState"],"mappings":";;;;;;;;;;;;MAQa,UAAU,GAAA,MAAA;;;;;AAEb,IAAA,IAAI;IACJ,YAAY,GAAG,KAAK;AAG5B,IAAA,MAAM,QAAQ,GAAA;QACZ,OAAOA,KAAS,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY;;AAI1D,IAAA,MAAM,MAAM,GAAA;QACV,IAAIA,KAAS,CAAC,OAAO;YAAE;AAEvB,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;AAE7C,QAAA,IAAIA,KAAS,CAAC,IAAI,KAAK,OAAO,IAAIA,KAAS,CAAC,IAAI,KAAK,cAAc,EAAE;AACnE,YAAA,MAAM,YAAY,CAAC,OAAO,CAAC,YAAY,CAACA,KAAS,CAAC,KAAK,EAAEA,KAAS,CAAC,QAAQ,CAAC;;AACvE,aAAA,IAAIA,KAAS,CAAC,IAAI,KAAK,cAAc,EAAE;YAC5C,MAAM,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAACA,KAAS,CAAC,QAAQ,CAAC;;AAClE,aAAA,IAAIA,KAAS,CAAC,IAAI,KAAK,gBAAgB,EAAE;AAC9C,YAAA,MAAM,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE;;;IAI9C,MAAM,GAAA;QACJ,IAAI,YAAY,GAAG,KAAK;AAExB,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;AACzB,YAAA,YAAY,GAAGA,KAAS,CAAC,IAAI,KAAK,OAAO;;AACpC,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE;AACvC,YAAA,YAAY,GAAGA,KAAS,CAAC,IAAI,KAAK,cAAc,IAAIA,KAAS,CAAC,IAAI,KAAK,YAAY;;AAC9E,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE;AACzC,YAAA,YAAY,GAAGA,KAAS,CAAC,IAAI,KAAK,gBAAgB;;AAC7C,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE;AACvC,YAAA,YAAY,GAAGA,KAAS,CAAC,IAAI,KAAK,cAAc,IAAIA,KAAS,CAAC,MAAM,CAAC,KAAK,KAAK,mBAAmB;;AAC7F,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE;AACvC,YAAA,YAAY,GAAGA,KAAS,CAAC,IAAI,KAAK,cAAc;;AAC3C,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE;AACzC,YAAA,YAAY,GAAGA,KAAS,CAAC,IAAI,KAAK,gBAAgB;;QAGpD,IAAI,CAAC,YAAY,EAAE;AACjB,YAAA,OAAO,IAAI;;AAGb,QAAA,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAQ,CAAA,MAAA,EAAA,IAAA,CAAA,CACH;;;;;;"}
1
+ {"version":3,"file":"u-signin-step.entry.esm.js","sources":["src/auth/components/signin-step/signin-step.tsx"],"sourcesContent":["import { Component, Host, h, Prop, Method, Element } from \"@stencil/core\";\nimport { authState } from \"../../store/auth-store\";\nimport { Auth } from \"../..\";\n\n@Component({\n tag: \"u-signin-step\",\n shadow: true,\n})\nexport class SigninStep {\n @Element() el!: HTMLElement;\n @Prop() name!: \"email\" | \"verification\" | \"reset-password\" | \"single-login\" | \"missing-fields\" | \"registration\";\n @Prop() alwaysRender = false;\n\n @Method()\n async isActive(): Promise<boolean> {\n return authState.step === this.name || this.alwaysRender;\n }\n\n @Method()\n async submit() {\n if (authState.loading) return;\n\n const authInstance = await Auth.getInstance();\n\n if (authState.step === \"email\" || authState.step === \"single-login\") {\n await authInstance.helpers.createSignIn(authState.email, authState.password);\n } else if (authState.step === \"verification\") {\n await authInstance.helpers.authenticateWithPassword(authState.password);\n } else if (authState.step === \"reset-password\") {\n await authInstance.helpers.resetPassword();\n }\n }\n\n render() {\n let shouldRender = false;\n\n if (this.name === \"email\") {\n shouldRender = authState.step === \"email\";\n } else if (this.name === \"verification\") {\n shouldRender = authState.step === \"verification\" || authState.step === \"magic-code\";\n } else if (this.name === \"reset-password\") {\n shouldRender = authState.step === \"reset-password\";\n } else if (this.name === \"registration\") {\n shouldRender = authState.step === \"registration\" && authState.errors.email === \"account_not_found\";\n } else if (this.name === \"single-login\") {\n shouldRender = authState.step === \"single-login\";\n } else if (this.name === \"missing-fields\") {\n shouldRender = authState.step === \"missing-fields\";\n }\n\n if (!shouldRender) {\n return null;\n }\n\n return (\n <Host>\n <slot />\n </Host>\n );\n }\n}\n"],"names":["authState"],"mappings":";;;;;;;;;;;MAQa,UAAU,GAAA,MAAA;;;;;AAEb,IAAA,IAAI;IACJ,YAAY,GAAG,KAAK;AAG5B,IAAA,MAAM,QAAQ,GAAA;QACZ,OAAOA,KAAS,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY;;AAI1D,IAAA,MAAM,MAAM,GAAA;QACV,IAAIA,KAAS,CAAC,OAAO;YAAE;AAEvB,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;AAE7C,QAAA,IAAIA,KAAS,CAAC,IAAI,KAAK,OAAO,IAAIA,KAAS,CAAC,IAAI,KAAK,cAAc,EAAE;AACnE,YAAA,MAAM,YAAY,CAAC,OAAO,CAAC,YAAY,CAACA,KAAS,CAAC,KAAK,EAAEA,KAAS,CAAC,QAAQ,CAAC;;AACvE,aAAA,IAAIA,KAAS,CAAC,IAAI,KAAK,cAAc,EAAE;YAC5C,MAAM,YAAY,CAAC,OAAO,CAAC,wBAAwB,CAACA,KAAS,CAAC,QAAQ,CAAC;;AAClE,aAAA,IAAIA,KAAS,CAAC,IAAI,KAAK,gBAAgB,EAAE;AAC9C,YAAA,MAAM,YAAY,CAAC,OAAO,CAAC,aAAa,EAAE;;;IAI9C,MAAM,GAAA;QACJ,IAAI,YAAY,GAAG,KAAK;AAExB,QAAA,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;AACzB,YAAA,YAAY,GAAGA,KAAS,CAAC,IAAI,KAAK,OAAO;;AACpC,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE;AACvC,YAAA,YAAY,GAAGA,KAAS,CAAC,IAAI,KAAK,cAAc,IAAIA,KAAS,CAAC,IAAI,KAAK,YAAY;;AAC9E,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE;AACzC,YAAA,YAAY,GAAGA,KAAS,CAAC,IAAI,KAAK,gBAAgB;;AAC7C,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE;AACvC,YAAA,YAAY,GAAGA,KAAS,CAAC,IAAI,KAAK,cAAc,IAAIA,KAAS,CAAC,MAAM,CAAC,KAAK,KAAK,mBAAmB;;AAC7F,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,EAAE;AACvC,YAAA,YAAY,GAAGA,KAAS,CAAC,IAAI,KAAK,cAAc;;AAC3C,aAAA,IAAI,IAAI,CAAC,IAAI,KAAK,gBAAgB,EAAE;AACzC,YAAA,YAAY,GAAGA,KAAS,CAAC,IAAI,KAAK,gBAAgB;;QAGpD,IAAI,CAAC,YAAY,EAAE;AACjB,YAAA,OAAO,IAAI;;AAGb,QAAA,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAQ,CAAA,MAAA,EAAA,IAAA,CAAA,CACH;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"u-social-login-button.entry.esm.js","sources":["src/auth/components/social-logins/logos/google.tsx","src/auth/components/social-logins/logos/linkedin.tsx","src/auth/components/social-logins/logos/apple.tsx","src/auth/components/social-logins/logos/facebook.tsx","src/auth/components/social-logins/logos/discord.tsx","src/auth/components/social-logins/social-login-button.css?tag=u-social-login-button&encapsulation=shadow","src/auth/components/social-logins/social-login-button.tsx"],"sourcesContent":["import { type FunctionalComponent, h } from \"@stencil/core\";\n\nexport const GoogleLogo: FunctionalComponent<{ className: string }> = ({ className }) => (\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 48 48\" style={{ display: \"block\" }} class={className}>\n <title>Google Logo</title>\n <path\n fill=\"#EA4335\"\n d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"\n />\n <path\n fill=\"#4285F4\"\n d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"\n />\n <path fill=\"none\" d=\"M0 0h48v48H0z\" />\n </svg>\n);\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\nexport const LinkedInLogo: FunctionalComponent<{ className: string }> = ({ className }) => (\n <svg\n version=\"1.1\"\n id=\"Layer_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 382 382\"\n style={{ enableBackground: \"new 0 0 382 382\" }}\n class={className}\n >\n <title>LinkedIn Logo</title>\n <path\n style={{ fill: \"#0077B7\" }}\n d=\"M347.445,0H34.555C15.471,0,0,15.471,0,34.555v312.889C0,366.529,15.471,382,34.555,382h312.889\n \tC366.529,382,382,366.529,382,347.444V34.555C382,15.471,366.529,0,347.445,0z M118.207,329.844c0,5.554-4.502,10.056-10.056,10.056\n \tH65.345c-5.554,0-10.056-4.502-10.056-10.056V150.403c0-5.554,4.502-10.056,10.056-10.056h42.806\n \tc5.554,0,10.056,4.502,10.056,10.056V329.844z M86.748,123.432c-22.459,0-40.666-18.207-40.666-40.666S64.289,42.1,86.748,42.1\n \ts40.666,18.207,40.666,40.666S109.208,123.432,86.748,123.432z M341.91,330.654c0,5.106-4.14,9.246-9.246,9.246H286.73\n \tc-5.106,0-9.246-4.14-9.246-9.246v-84.168c0-12.556,3.683-55.021-32.813-55.021c-28.309,0-34.051,29.066-35.204,42.11v97.079\n \tc0,5.106-4.139,9.246-9.246,9.246h-44.426c-5.106,0-9.246-4.14-9.246-9.246V149.593c0-5.106,4.14-9.246,9.246-9.246h44.426\n \tc5.106,0,9.246,4.14,9.246,9.246v15.655c10.497-15.753,26.097-27.912,59.312-27.912c73.552,0,73.131,68.716,73.131,106.472\n \tL341.91,330.654L341.91,330.654z\"\n />\n </svg>\n);\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\nexport const AppleLogo: FunctionalComponent<{ className: string }> = ({ className }) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 48 48\" class={className}>\n <title>Apple Logo</title>\n <path d=\"M 44.527344 34.75 C 43.449219 37.144531 42.929688 38.214844 41.542969 40.328125 C 39.601563 43.28125 36.863281 46.96875 33.480469 46.992188 C 30.46875 47.019531 29.691406 45.027344 25.601563 45.0625 C 21.515625 45.082031 20.664063 47.03125 17.648438 47 C 14.261719 46.96875 11.671875 43.648438 9.730469 40.699219 C 4.300781 32.429688 3.726563 22.734375 7.082031 17.578125 C 9.457031 13.921875 13.210938 11.773438 16.738281 11.773438 C 20.332031 11.773438 22.589844 13.746094 25.558594 13.746094 C 28.441406 13.746094 30.195313 11.769531 34.351563 11.769531 C 37.492188 11.769531 40.8125 13.480469 43.1875 16.433594 C 35.421875 20.691406 36.683594 31.78125 44.527344 34.75 Z M 31.195313 8.46875 C 32.707031 6.527344 33.855469 3.789063 33.4375 1 C 30.972656 1.167969 28.089844 2.742188 26.40625 4.78125 C 24.878906 6.640625 23.613281 9.398438 24.105469 12.066406 C 26.796875 12.152344 29.582031 10.546875 31.195313 8.46875 Z\" />\n </svg>\n);\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\nexport const FacebookLogo: FunctionalComponent<{ className: string }> = ({ className }) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 48 48\" class={className}>\n <title>Facebook Logo</title>\n <path fill=\"#4267b2\" d=\"M24 5A19 19 0 1 0 24 43A19 19 0 1 0 24 5Z\" />\n <path\n fill=\"#fff\"\n d=\"M26.572,29.036h4.917l0.772-4.995h-5.69v-2.73c0-2.075,0.678-3.915,2.619-3.915h3.119v-4.359c-0.548-0.074-1.707-0.236-3.897-0.236c-4.573,0-7.254,2.415-7.254,7.917v3.323h-4.701v4.995h4.701v13.729C22.089,42.905,23.032,43,24,43c0.875,0,1.729-0.08,2.572-0.194V29.036z\"\n />\n </svg>\n);\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\nexport const DiscordLogo: FunctionalComponent<{ className: string }> = ({ className }) => (\n <svg viewBox=\"0 0 71 55\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={className}>\n <title>Discord Logo</title>\n <g clip-path=\"url(#clip0)\">\n <path\n d=\"M60.1045 4.8978C55.5792 2.8214 50.7265 1.2916 45.6527 0.41542C45.5603 0.39851 45.468 0.440769 45.4204 0.525289C44.7963 1.6353 44.105 3.0834 43.6209 4.2216C38.1637 3.4046 32.7345 3.4046 27.3892 4.2216C26.905 3.0581 26.1886 1.6353 25.5617 0.525289C25.5141 0.443589 25.4218 0.40133 25.3294 0.41542C20.2584 1.2888 15.4057 2.8186 10.8776 4.8978C10.8384 4.9147 10.8048 4.9429 10.7825 4.9795C1.57795 18.7309 -0.943561 32.1443 0.293408 45.3914C0.299005 45.4562 0.335386 45.5182 0.385761 45.5576C6.45866 50.0174 12.3413 52.7249 18.1147 54.5195C18.2071 54.5477 18.305 54.5139 18.3638 54.4378C19.7295 52.5728 20.9469 50.6063 21.9907 48.5383C22.0523 48.4172 21.9935 48.2735 21.8676 48.2256C19.9366 47.4931 18.0979 46.6 16.3292 45.5858C16.1893 45.5041 16.1781 45.304 16.3068 45.2082C16.679 44.9293 17.0513 44.6391 17.4067 44.3461C17.471 44.2926 17.5606 44.2813 17.6362 44.3151C29.2558 49.6202 41.8354 49.6202 53.3179 44.3151C53.3935 44.2785 53.4831 44.2898 53.5502 44.3433C53.9057 44.6363 54.2779 44.9293 54.6529 45.2082C54.7816 45.304 54.7732 45.5041 54.6333 45.5858C52.8646 46.6197 51.0259 47.4931 49.0921 48.2228C48.9662 48.2707 48.9102 48.4172 48.9718 48.5383C50.038 50.6034 51.2554 52.5699 52.5959 54.435C52.6519 54.5139 52.7526 54.5477 52.845 54.5195C58.6464 52.7249 64.529 50.0174 70.6019 45.5576C70.6551 45.5182 70.6887 45.459 70.6943 45.3942C72.1747 30.0791 68.2147 16.7757 60.1968 4.9823C60.1772 4.9429 60.1437 4.9147 60.1045 4.8978ZM23.7259 37.3253C20.2276 37.3253 17.3451 34.1136 17.3451 30.1693C17.3451 26.225 20.1717 23.0133 23.7259 23.0133C27.308 23.0133 30.1626 26.2532 30.1066 30.1693C30.1066 34.1136 27.28 37.3253 23.7259 37.3253ZM47.3178 37.3253C43.8196 37.3253 40.9371 34.1136 40.9371 30.1693C40.9371 26.225 43.7636 23.0133 47.3178 23.0133C50.9 23.0133 53.7545 26.2532 53.6986 30.1693C53.6986 34.1136 50.9 37.3253 47.3178 37.3253Z\"\n fill=\"fill-current\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0\">\n <rect width=\"71\" height=\"55\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n",":host {\n display: block;\n}\n","import * as Sentry from \"@sentry/browser\";\nimport { Component, h, Prop } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { unidyState } from \"../../../shared/store/unidy-store\";\nimport { authState } from \"../../store/auth-store\";\nimport { GoogleLogo } from \"./logos/google\";\nimport { LinkedInLogo } from \"./logos/linkedin\";\nimport { AppleLogo } from \"./logos/apple\";\nimport { FacebookLogo } from \"./logos/facebook\";\nimport { DiscordLogo } from \"./logos/discord\";\nimport { UnidyComponent } from \"../../../logger\";\n\nconst SHARED_ICON_CLASSNAME = \"u:w-5 u:h-5 u:block\";\n\nconst ICON_MAP = {\n google: <GoogleLogo className={SHARED_ICON_CLASSNAME} />,\n linkedin: <LinkedInLogo className={SHARED_ICON_CLASSNAME} />,\n apple: <AppleLogo className={`${SHARED_ICON_CLASSNAME} u:fill-current`} />,\n discord: <DiscordLogo className={`${SHARED_ICON_CLASSNAME} u:fill-current`} />,\n facebook: <FacebookLogo className=\"u:w-6 u:h-6 u:block\" />,\n} as const;\n\ntype SocialLoginProvider = keyof typeof ICON_MAP | \"unidy\";\n\n@Component({\n tag: \"u-social-login-button\",\n styleUrl: \"social-login-button.css\",\n shadow: true,\n})\nexport class SocialLoginButton extends UnidyComponent {\n @Prop() provider: SocialLoginProvider = \"google\";\n @Prop() redirectUri: string = window.location.href;\n @Prop() iconOnly = false;\n @Prop() theme: \"light\" | \"dark\" = \"light\";\n\n componentWillLoad() {\n if (this.isUnsupportedProvider) {\n Sentry.captureException(`[u-social-login-button] Unsupported provider \"${this.provider}\".`);\n return;\n }\n }\n\n private get isUnsupportedProvider(): boolean {\n return !Object.prototype.hasOwnProperty.call(ICON_MAP, this.provider) && this.provider !== \"unidy\";\n }\n\n private get isProviderEnabled(): boolean {\n if (authState.step !== \"verification\") {\n return true; // TODO: for now we show all providers on the email step since we don't have registration flow in place yet\n }\n\n if (!authState.availableLoginOptions?.social_logins) {\n return false;\n }\n\n return authState.availableLoginOptions.social_logins.some((enabled) => enabled.startsWith(this.provider) || enabled === this.provider);\n }\n\n private getAuthUrl(): string {\n const baseUrl = unidyState.baseUrl;\n const redirectUri = this.redirectUri ? encodeURIComponent(this.redirectUri) : baseUrl;\n\n return `${baseUrl}/api/sdk/v1/sign_ins/auth/omniauth/${this.provider}?sdk_redirect_uri=${redirectUri}`;\n }\n\n private onClick = async () => {\n if (!unidyState.baseUrl) {\n this.logger.error(\"baseUrl is not set. Make sure <u-config> is rendered with a valid base-url.\");\n return;\n }\n\n window.location.href = this.getAuthUrl();\n };\n\n private renderIcon() {\n if (this.isUnsupportedProvider || this.provider === \"unidy\") {\n return null;\n }\n\n return ICON_MAP[this.provider];\n }\n\n private getButtonClasses(): string {\n const baseClasses = \"u:w-full u:h-10 u:border u:border-solid u:rounded-md u:text-base u:font-medium\";\n const cursorClass = this.isUnsupportedProvider ? \"u:cursor-not-allowed\" : \"u:cursor-pointer\";\n const themeClasses =\n this.theme === \"dark\"\n ? \"u:bg-[#131314] u:text-white u:border-gray-600 u:hover:bg-[#1f1f20]\"\n : \"u:bg-white u:text-[#1f1f1f] u:border-gray-300 u:hover:bg-gray-100\";\n\n return `${baseClasses} ${cursorClass} ${themeClasses}`;\n }\n\n render() {\n if (!this.isProviderEnabled) {\n return null;\n }\n\n const providerName = this.provider.charAt(0).toUpperCase() + this.provider.slice(1);\n const text = t(\"auth.socialLogin.button_text\", {\n defaultValue: \"Continue with {{provider}}\",\n provider: providerName,\n });\n\n // TODO: allow users to customize already used providers with custom text and icon\n return (\n <button type=\"button\" class={this.getButtonClasses()} onClick={this.onClick} part=\"social-login-button\">\n <div class=\"u:flex u:items-center u:justify-center\" part=\"social-login-button-content\">\n <slot name=\"icon\">\n <span aria-hidden=\"true\">{this.renderIcon()}</span>\n </slot>\n\n {this.iconOnly ? (\n // Render the hidden text for accessibility.\n <span class=\"u:sr-only\">{text}</span>\n ) : (\n <span class={!this.isUnsupportedProvider ? \"u:ml-4\" : \"\"} part=\"social-login-button-text\">\n {text}\n </span>\n )}\n </div>\n </button>\n );\n }\n}\n"],"names":["Sentry.captureException","authState"],"mappings":";;;;;;;AAEO,MAAM,UAAU,GAA+C,CAAC,EAAE,SAAS,EAAE,MAClF,CAAK,CAAA,KAAA,EAAA,EAAA,OAAO,EAAC,KAAK,EAAC,KAAK,EAAC,4BAA4B,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,SAAS,EAAA,EACrH,CAA0B,CAAA,OAAA,EAAA,IAAA,EAAA,aAAA,CAAA,EAC1B,CAAA,CAAA,MAAA,EAAA,EACE,IAAI,EAAC,SAAS,EACd,CAAC,EAAC,yIAAyI,EAC3I,CAAA,EACF,CAAA,CAAA,MAAA,EAAA,EACE,IAAI,EAAC,SAAS,EACd,CAAC,EAAC,2HAA2H,EAC7H,CAAA,EACF,CAAA,CAAA,MAAA,EAAA,EACE,IAAI,EAAC,SAAS,EACd,CAAC,EAAC,kIAAkI,EACpI,CAAA,EACF,CAAA,CAAA,MAAA,EAAA,EACE,IAAI,EAAC,SAAS,EACd,CAAC,EAAC,6IAA6I,EAC/I,CAAA,EACF,CAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,MAAM,EAAC,CAAC,EAAC,eAAe,EAAA,CAAG,CAClC,CACP;;ACrBM,MAAM,YAAY,GAA+C,CAAC,EAAE,SAAS,EAAE,MACpF,CAAA,CAAA,KAAA,EAAA,EACE,OAAO,EAAC,KAAK,EACb,EAAE,EAAC,SAAS,EACZ,KAAK,EAAC,4BAA4B,EAClC,CAAC,EAAC,KAAK,EACP,CAAC,EAAC,KAAK,EACP,OAAO,EAAC,aAAa,EACrB,KAAK,EAAE,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,EAC9C,KAAK,EAAE,SAAS,EAAA,EAEhB,CAA4B,CAAA,OAAA,EAAA,IAAA,EAAA,eAAA,CAAA,EAC5B,CAAA,CAAA,MAAA,EAAA,EACE,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAC1B,CAAC,EAAC,ygCAQiC,EACnC,CAAA,CACE,CACP;;ACzBM,MAAM,SAAS,GAA+C,CAAC,EAAE,SAAS,EAAE,MACjF,WAAK,KAAK,EAAC,4BAA4B,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAE,SAAS,EAAA,EAC1F,CAAyB,CAAA,OAAA,EAAA,IAAA,EAAA,YAAA,CAAA,EACzB,CAAA,CAAA,MAAA,EAAA,EAAM,CAAC,EAAC,45BAA45B,EAAG,CAAA,CACn6B,CACP;;ACLM,MAAM,YAAY,GAA+C,CAAC,EAAE,SAAS,EAAE,MACpF,WAAK,KAAK,EAAC,4BAA4B,EAAC,CAAC,EAAC,KAAK,EAAC,CAAC,EAAC,KAAK,EAAC,OAAO,EAAC,WAAW,EAAC,KAAK,EAAE,SAAS,EAAA,EAC1F,CAA4B,CAAA,OAAA,EAAA,IAAA,EAAA,eAAA,CAAA,EAC5B,CAAA,CAAA,MAAA,EAAA,EAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,2CAA2C,EAAG,CAAA,EACrE,CACE,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,MAAM,EACX,CAAC,EAAC,sQAAsQ,EAAA,CACxQ,CACE,CACP;;ACTM,MAAM,WAAW,GAA+C,CAAC,EAAE,SAAS,EAAE,MACnF,CAAA,CAAA,KAAA,EAAA,EAAK,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAE,SAAS,EAAA,EACtF,CAA2B,CAAA,OAAA,EAAA,IAAA,EAAA,cAAA,CAAA,EAC3B,CAAA,CAAA,GAAA,EAAA,EAAA,WAAA,EAAa,aAAa,EAAA,EACxB,CACE,CAAA,MAAA,EAAA,EAAA,CAAC,EAAC,+yDAA+yD,EACjzD,IAAI,EAAC,cAAc,GACnB,CACA,EACJ,CAAA,CAAA,MAAA,EAAA,IAAA,EACE,CAAU,CAAA,UAAA,EAAA,EAAA,EAAE,EAAC,OAAO,EAAA,EAClB,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,IAAI,EAAC,OAAO,EAAG,CAAA,CACnC,CACN,CACH,CACP;;ACjBD,MAAM,oBAAoB,GAAG,imSAAimS;;ACY9nS,MAAM,qBAAqB,GAAG,qBAAqB;AAEnD,MAAM,QAAQ,GAAG;IACf,MAAM,EAAE,CAAC,CAAA,UAAU,IAAC,SAAS,EAAE,qBAAqB,EAAI,CAAA;IACxD,QAAQ,EAAE,CAAC,CAAA,YAAY,IAAC,SAAS,EAAE,qBAAqB,EAAI,CAAA;AAC5D,IAAA,KAAK,EAAE,EAAC,SAAS,EAAA,EAAC,SAAS,EAAE,CAAG,EAAA,qBAAqB,CAAiB,eAAA,CAAA,EAAI,CAAA;AAC1E,IAAA,OAAO,EAAE,EAAC,WAAW,EAAA,EAAC,SAAS,EAAE,CAAG,EAAA,qBAAqB,CAAiB,eAAA,CAAA,EAAI,CAAA;IAC9E,QAAQ,EAAE,CAAC,CAAA,YAAY,IAAC,SAAS,EAAC,qBAAqB,EAAG,CAAA;CAClD;MASG,iBAAkB,GAAA,cAAQ,cAAc,CAAA;;;;;IAC3C,QAAQ,GAAwB,QAAQ;AACxC,IAAA,WAAW,GAAW,MAAM,CAAC,QAAQ,CAAC,IAAI;IAC1C,QAAQ,GAAG,KAAK;IAChB,KAAK,GAAqB,OAAO;IAEzC,iBAAiB,GAAA;AACf,QAAA,IAAI,IAAI,CAAC,qBAAqB,EAAE;YAC9BA,gBAAuB,CAAC,CAAA,8CAAA,EAAiD,IAAI,CAAC,QAAQ,CAAI,EAAA,CAAA,CAAC;YAC3F;;;AAIJ,IAAA,IAAY,qBAAqB,GAAA;QAC/B,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO;;AAGpG,IAAA,IAAY,iBAAiB,GAAA;AAC3B,QAAA,IAAIC,KAAS,CAAC,IAAI,KAAK,cAAc,EAAE;YACrC,OAAO,IAAI,CAAC;;AAGd,QAAA,IAAI,CAACA,KAAS,CAAC,qBAAqB,EAAE,aAAa,EAAE;AACnD,YAAA,OAAO,KAAK;;AAGd,QAAA,OAAOA,KAAS,CAAC,qBAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ,CAAC;;IAGhI,UAAU,GAAA;AAChB,QAAA,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO;AAClC,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,OAAO;QAErF,OAAO,CAAA,EAAG,OAAO,CAAsC,mCAAA,EAAA,IAAI,CAAC,QAAQ,CAAA,kBAAA,EAAqB,WAAW,CAAA,CAAE;;IAGhG,OAAO,GAAG,YAAW;AAC3B,QAAA,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE;AACvB,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6EAA6E,CAAC;YAChG;;QAGF,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE;AAC1C,KAAC;IAEO,UAAU,GAAA;QAChB,IAAI,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;AAC3D,YAAA,OAAO,IAAI;;AAGb,QAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC;;IAGxB,gBAAgB,GAAA;QACtB,MAAM,WAAW,GAAG,gFAAgF;AACpG,QAAA,MAAM,WAAW,GAAG,IAAI,CAAC,qBAAqB,GAAG,sBAAsB,GAAG,kBAAkB;AAC5F,QAAA,MAAM,YAAY,GAChB,IAAI,CAAC,KAAK,KAAK;AACb,cAAE;cACA,mEAAmE;AAEzE,QAAA,OAAO,GAAG,WAAW,CAAA,CAAA,EAAI,WAAW,CAAI,CAAA,EAAA,YAAY,EAAE;;IAGxD,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;AAC3B,YAAA,OAAO,IAAI;;QAGb,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACnF,QAAA,MAAM,IAAI,GAAG,CAAC,CAAC,8BAA8B,EAAE;AAC7C,YAAA,YAAY,EAAE,4BAA4B;AAC1C,YAAA,QAAQ,EAAE,YAAY;AACvB,SAAA,CAAC;;AAGF,QAAA,QACE,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,EAAC,qBAAqB,EAAA,EACrG,CAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,wCAAwC,EAAC,IAAI,EAAC,6BAA6B,EAAA,EACpF,CAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,MAAM,EAAA,EACf,CAAA,CAAA,MAAA,EAAA,EAAA,aAAA,EAAkB,MAAM,EAAE,EAAA,IAAI,CAAC,UAAU,EAAE,CAAQ,CAC9C,EAEN,IAAI,CAAC,QAAQ;;QAEZ,CAAA,CAAA,MAAA,EAAA,EAAM,KAAK,EAAC,WAAW,EAAE,EAAA,IAAI,CAAQ,KAErC,CAAM,CAAA,MAAA,EAAA,EAAA,KAAK,EAAE,CAAC,IAAI,CAAC,qBAAqB,GAAG,QAAQ,GAAG,EAAE,EAAE,IAAI,EAAC,0BAA0B,IACtF,IAAI,CACA,CACR,CACG,CACC;;;;;;;"}
1
+ {"version":3,"file":"u-social-login-button.entry.esm.js","sources":["src/auth/components/social-logins/logos/google.tsx","src/auth/components/social-logins/logos/linkedin.tsx","src/auth/components/social-logins/logos/apple.tsx","src/auth/components/social-logins/logos/facebook.tsx","src/auth/components/social-logins/logos/discord.tsx","src/auth/components/social-logins/social-login-button.css?tag=u-social-login-button&encapsulation=shadow","src/auth/components/social-logins/social-login-button.tsx"],"sourcesContent":["import { type FunctionalComponent, h } from \"@stencil/core\";\n\nexport const GoogleLogo: FunctionalComponent<{ className: string }> = ({ className }) => (\n <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 48 48\" style={{ display: \"block\" }} class={className}>\n <title>Google Logo</title>\n <path\n fill=\"#EA4335\"\n d=\"M24 9.5c3.54 0 6.71 1.22 9.21 3.6l6.85-6.85C35.9 2.38 30.47 0 24 0 14.62 0 6.51 5.38 2.56 13.22l7.98 6.19C12.43 13.72 17.74 9.5 24 9.5z\"\n />\n <path\n fill=\"#4285F4\"\n d=\"M46.98 24.55c0-1.57-.15-3.09-.38-4.55H24v9.02h12.94c-.58 2.96-2.26 5.48-4.78 7.18l7.73 6c4.51-4.18 7.09-10.36 7.09-17.65z\"\n />\n <path\n fill=\"#FBBC05\"\n d=\"M10.53 28.59c-.48-1.45-.76-2.99-.76-4.59s.27-3.14.76-4.59l-7.98-6.19C.92 16.46 0 20.12 0 24c0 3.88.92 7.54 2.56 10.78l7.97-6.19z\"\n />\n <path\n fill=\"#34A853\"\n d=\"M24 48c6.48 0 11.93-2.13 15.89-5.81l-7.73-6c-2.15 1.45-4.92 2.3-8.16 2.3-6.26 0-11.57-4.22-13.47-9.91l-7.98 6.19C6.51 42.62 14.62 48 24 48z\"\n />\n <path fill=\"none\" d=\"M0 0h48v48H0z\" />\n </svg>\n);\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\nexport const LinkedInLogo: FunctionalComponent<{ className: string }> = ({ className }) => (\n <svg\n version=\"1.1\"\n id=\"Layer_1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n x=\"0px\"\n y=\"0px\"\n viewBox=\"0 0 382 382\"\n style={{ enableBackground: \"new 0 0 382 382\" }}\n class={className}\n >\n <title>LinkedIn Logo</title>\n <path\n style={{ fill: \"#0077B7\" }}\n d=\"M347.445,0H34.555C15.471,0,0,15.471,0,34.555v312.889C0,366.529,15.471,382,34.555,382h312.889\n \tC366.529,382,382,366.529,382,347.444V34.555C382,15.471,366.529,0,347.445,0z M118.207,329.844c0,5.554-4.502,10.056-10.056,10.056\n \tH65.345c-5.554,0-10.056-4.502-10.056-10.056V150.403c0-5.554,4.502-10.056,10.056-10.056h42.806\n \tc5.554,0,10.056,4.502,10.056,10.056V329.844z M86.748,123.432c-22.459,0-40.666-18.207-40.666-40.666S64.289,42.1,86.748,42.1\n \ts40.666,18.207,40.666,40.666S109.208,123.432,86.748,123.432z M341.91,330.654c0,5.106-4.14,9.246-9.246,9.246H286.73\n \tc-5.106,0-9.246-4.14-9.246-9.246v-84.168c0-12.556,3.683-55.021-32.813-55.021c-28.309,0-34.051,29.066-35.204,42.11v97.079\n \tc0,5.106-4.139,9.246-9.246,9.246h-44.426c-5.106,0-9.246-4.14-9.246-9.246V149.593c0-5.106,4.14-9.246,9.246-9.246h44.426\n \tc5.106,0,9.246,4.14,9.246,9.246v15.655c10.497-15.753,26.097-27.912,59.312-27.912c73.552,0,73.131,68.716,73.131,106.472\n \tL341.91,330.654L341.91,330.654z\"\n />\n </svg>\n);\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\nexport const AppleLogo: FunctionalComponent<{ className: string }> = ({ className }) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 48 48\" class={className}>\n <title>Apple Logo</title>\n <path d=\"M 44.527344 34.75 C 43.449219 37.144531 42.929688 38.214844 41.542969 40.328125 C 39.601563 43.28125 36.863281 46.96875 33.480469 46.992188 C 30.46875 47.019531 29.691406 45.027344 25.601563 45.0625 C 21.515625 45.082031 20.664063 47.03125 17.648438 47 C 14.261719 46.96875 11.671875 43.648438 9.730469 40.699219 C 4.300781 32.429688 3.726563 22.734375 7.082031 17.578125 C 9.457031 13.921875 13.210938 11.773438 16.738281 11.773438 C 20.332031 11.773438 22.589844 13.746094 25.558594 13.746094 C 28.441406 13.746094 30.195313 11.769531 34.351563 11.769531 C 37.492188 11.769531 40.8125 13.480469 43.1875 16.433594 C 35.421875 20.691406 36.683594 31.78125 44.527344 34.75 Z M 31.195313 8.46875 C 32.707031 6.527344 33.855469 3.789063 33.4375 1 C 30.972656 1.167969 28.089844 2.742188 26.40625 4.78125 C 24.878906 6.640625 23.613281 9.398438 24.105469 12.066406 C 26.796875 12.152344 29.582031 10.546875 31.195313 8.46875 Z\" />\n </svg>\n);\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\nexport const FacebookLogo: FunctionalComponent<{ className: string }> = ({ className }) => (\n <svg xmlns=\"http://www.w3.org/2000/svg\" x=\"0px\" y=\"0px\" viewBox=\"0 0 48 48\" class={className}>\n <title>Facebook Logo</title>\n <path fill=\"#4267b2\" d=\"M24 5A19 19 0 1 0 24 43A19 19 0 1 0 24 5Z\" />\n <path\n fill=\"#fff\"\n d=\"M26.572,29.036h4.917l0.772-4.995h-5.69v-2.73c0-2.075,0.678-3.915,2.619-3.915h3.119v-4.359c-0.548-0.074-1.707-0.236-3.897-0.236c-4.573,0-7.254,2.415-7.254,7.917v3.323h-4.701v4.995h4.701v13.729C22.089,42.905,23.032,43,24,43c0.875,0,1.729-0.08,2.572-0.194V29.036z\"\n />\n </svg>\n);\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\nexport const DiscordLogo: FunctionalComponent<{ className: string }> = ({ className }) => (\n <svg viewBox=\"0 0 71 55\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" class={className}>\n <title>Discord Logo</title>\n <g clip-path=\"url(#clip0)\">\n <path\n d=\"M60.1045 4.8978C55.5792 2.8214 50.7265 1.2916 45.6527 0.41542C45.5603 0.39851 45.468 0.440769 45.4204 0.525289C44.7963 1.6353 44.105 3.0834 43.6209 4.2216C38.1637 3.4046 32.7345 3.4046 27.3892 4.2216C26.905 3.0581 26.1886 1.6353 25.5617 0.525289C25.5141 0.443589 25.4218 0.40133 25.3294 0.41542C20.2584 1.2888 15.4057 2.8186 10.8776 4.8978C10.8384 4.9147 10.8048 4.9429 10.7825 4.9795C1.57795 18.7309 -0.943561 32.1443 0.293408 45.3914C0.299005 45.4562 0.335386 45.5182 0.385761 45.5576C6.45866 50.0174 12.3413 52.7249 18.1147 54.5195C18.2071 54.5477 18.305 54.5139 18.3638 54.4378C19.7295 52.5728 20.9469 50.6063 21.9907 48.5383C22.0523 48.4172 21.9935 48.2735 21.8676 48.2256C19.9366 47.4931 18.0979 46.6 16.3292 45.5858C16.1893 45.5041 16.1781 45.304 16.3068 45.2082C16.679 44.9293 17.0513 44.6391 17.4067 44.3461C17.471 44.2926 17.5606 44.2813 17.6362 44.3151C29.2558 49.6202 41.8354 49.6202 53.3179 44.3151C53.3935 44.2785 53.4831 44.2898 53.5502 44.3433C53.9057 44.6363 54.2779 44.9293 54.6529 45.2082C54.7816 45.304 54.7732 45.5041 54.6333 45.5858C52.8646 46.6197 51.0259 47.4931 49.0921 48.2228C48.9662 48.2707 48.9102 48.4172 48.9718 48.5383C50.038 50.6034 51.2554 52.5699 52.5959 54.435C52.6519 54.5139 52.7526 54.5477 52.845 54.5195C58.6464 52.7249 64.529 50.0174 70.6019 45.5576C70.6551 45.5182 70.6887 45.459 70.6943 45.3942C72.1747 30.0791 68.2147 16.7757 60.1968 4.9823C60.1772 4.9429 60.1437 4.9147 60.1045 4.8978ZM23.7259 37.3253C20.2276 37.3253 17.3451 34.1136 17.3451 30.1693C17.3451 26.225 20.1717 23.0133 23.7259 23.0133C27.308 23.0133 30.1626 26.2532 30.1066 30.1693C30.1066 34.1136 27.28 37.3253 23.7259 37.3253ZM47.3178 37.3253C43.8196 37.3253 40.9371 34.1136 40.9371 30.1693C40.9371 26.225 43.7636 23.0133 47.3178 23.0133C50.9 23.0133 53.7545 26.2532 53.6986 30.1693C53.6986 34.1136 50.9 37.3253 47.3178 37.3253Z\"\n fill=\"fill-current\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0\">\n <rect width=\"71\" height=\"55\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n);\n",":host {\n display: block;\n}\n","import * as Sentry from \"@sentry/browser\";\nimport { Component, h, Prop } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { unidyState } from \"../../../shared/store/unidy-store\";\nimport { authState } from \"../../store/auth-store\";\nimport { GoogleLogo } from \"./logos/google\";\nimport { LinkedInLogo } from \"./logos/linkedin\";\nimport { AppleLogo } from \"./logos/apple\";\nimport { FacebookLogo } from \"./logos/facebook\";\nimport { DiscordLogo } from \"./logos/discord\";\nimport { UnidyComponent } from \"../../../logger\";\n\nconst SHARED_ICON_CLASSNAME = \"u:w-5 u:h-5 u:block\";\n\nconst ICON_MAP = {\n google: <GoogleLogo className={SHARED_ICON_CLASSNAME} />,\n linkedin: <LinkedInLogo className={SHARED_ICON_CLASSNAME} />,\n apple: <AppleLogo className={`${SHARED_ICON_CLASSNAME} u:fill-current`} />,\n discord: <DiscordLogo className={`${SHARED_ICON_CLASSNAME} u:fill-current`} />,\n facebook: <FacebookLogo className=\"u:w-6 u:h-6 u:block\" />,\n} as const;\n\ntype SocialLoginProvider = keyof typeof ICON_MAP | \"unidy\";\n\n@Component({\n tag: \"u-social-login-button\",\n styleUrl: \"social-login-button.css\",\n shadow: true,\n})\nexport class SocialLoginButton extends UnidyComponent {\n @Prop() provider: SocialLoginProvider = \"google\";\n @Prop() redirectUri: string = window.location.href;\n @Prop() iconOnly = false;\n @Prop() theme: \"light\" | \"dark\" = \"light\";\n\n componentWillLoad() {\n if (this.isUnsupportedProvider) {\n Sentry.captureException(`[u-social-login-button] Unsupported provider \"${this.provider}\".`);\n return;\n }\n }\n\n private get isUnsupportedProvider(): boolean {\n return !Object.hasOwn(ICON_MAP, this.provider) && this.provider !== \"unidy\";\n }\n\n private get isProviderEnabled(): boolean {\n if (authState.step !== \"verification\") {\n return true; // TODO: for now we show all providers on the email step since we don't have registration flow in place yet\n }\n\n if (!authState.availableLoginOptions?.social_logins) {\n return false;\n }\n\n return authState.availableLoginOptions.social_logins.some((enabled) => enabled.startsWith(this.provider) || enabled === this.provider);\n }\n\n private getAuthUrl(): string {\n const baseUrl = unidyState.baseUrl;\n const redirectUri = this.redirectUri ? encodeURIComponent(this.redirectUri) : baseUrl;\n\n return `${baseUrl}/api/sdk/v1/sign_ins/auth/omniauth/${this.provider}?sdk_redirect_uri=${redirectUri}`;\n }\n\n private onClick = async () => {\n if (!unidyState.baseUrl) {\n this.logger.error(\"baseUrl is not set. Make sure <u-config> is rendered with a valid base-url.\");\n return;\n }\n\n window.location.href = this.getAuthUrl();\n };\n\n private renderIcon() {\n if (this.isUnsupportedProvider || this.provider === \"unidy\") {\n return null;\n }\n\n return ICON_MAP[this.provider];\n }\n\n private getButtonClasses(): string {\n const baseClasses = \"u:w-full u:h-10 u:border u:border-solid u:rounded-md u:text-base u:font-medium\";\n const cursorClass = this.isUnsupportedProvider ? \"u:cursor-not-allowed\" : \"u:cursor-pointer\";\n const themeClasses =\n this.theme === \"dark\"\n ? \"u:bg-[#131314] u:text-white u:border-gray-600 u:hover:bg-[#1f1f20]\"\n : \"u:bg-white u:text-[#1f1f1f] u:border-gray-300 u:hover:bg-gray-100\";\n\n return `${baseClasses} ${cursorClass} ${themeClasses}`;\n }\n\n render() {\n if (!this.isProviderEnabled) {\n return null;\n }\n\n const providerName = this.provider.charAt(0).toUpperCase() + this.provider.slice(1);\n const text = t(\"auth.socialLogin.button_text\", {\n defaultValue: \"Continue with {{provider}}\",\n provider: providerName,\n });\n\n // TODO: allow users to customize already used providers with custom text and icon\n return (\n <button type=\"button\" class={this.getButtonClasses()} onClick={this.onClick} part=\"social-login-button\">\n <div class=\"u:flex u:items-center u:justify-center\" part=\"social-login-button-content\">\n <slot name=\"icon\">\n <span aria-hidden=\"true\">{this.renderIcon()}</span>\n </slot>\n\n {this.iconOnly ? (\n // Render the hidden text for accessibility.\n <span class=\"u:sr-only\">{text}</span>\n ) : (\n <span class={!this.isUnsupportedProvider ? \"u:ml-4\" : \"\"} part=\"social-login-button-text\">\n {text}\n </span>\n )}\n </div>\n </button>\n );\n }\n}\n"],"names":["Sentry.captureException","authState"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"u-spinner.entry.esm.js","sources":["src/shared/components/spinner/spinner.css?tag=u-spinner&encapsulation=shadow","src/shared/components/spinner/spinner.tsx"],"sourcesContent":[":host {\n font-size: var(--spinner-font-size, 20px);\n}\n\n.spinner-inner {\n border: 0.1em solid var(--spinner-color-secondary, #ccc);\n border-top: 0.1em solid var(--spinner-color-primary, #333);\n}\n","import { Component, h, Host } from \"@stencil/core\";\n\n@Component({\n tag: \"u-spinner\",\n styleUrl: \"spinner.css\",\n shadow: true,\n})\nexport class Spinner {\n render() {\n return (\n <Host class=\"u:inline-flex u:items-center u:justify-center\">\n <div class=\"spinner-inner u:w-[1em] u:h-[1em] u:rounded-[50%] u:animate-spin\" part=\"spinner\" aria-label=\"Loading\" />\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,UAAU,GAAG,i+RAAi+R;;MCOv+R,OAAO,GAAA,MAAA;;;;IAClB,MAAM,GAAA;AACJ,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,+CAA+C,EAAA,EACzD,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,kEAAkE,EAAC,IAAI,EAAC,SAAS,EAAA,YAAA,EAAY,SAAS,EAAA,CAAG,CAC/G;;;;;;;"}
1
+ {"version":3,"file":"u-spinner.entry.esm.js","sources":["src/shared/components/spinner/spinner.css?tag=u-spinner&encapsulation=shadow","src/shared/components/spinner/spinner.tsx"],"sourcesContent":[":host {\n font-size: var(--spinner-font-size, 20px);\n}\n\n.spinner-inner {\n border: 0.1em solid var(--spinner-color-secondary, #ccc);\n border-top: 0.1em solid var(--spinner-color-primary, #333);\n}\n","import { Component, h, Host } from \"@stencil/core\";\n\n@Component({\n tag: \"u-spinner\",\n styleUrl: \"spinner.css\",\n shadow: true,\n})\nexport class Spinner {\n render() {\n return (\n <Host class=\"u:inline-flex u:items-center u:justify-center\">\n {/* biome-ignore lint/a11y/useSemanticElements: spinner is a visual element, output tag not appropriate */}\n <div class=\"spinner-inner u:w-[1em] u:h-[1em] u:rounded-[50%] u:animate-spin\" part=\"spinner\" role=\"status\" aria-label=\"Loading\" />\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;AAAA,MAAM,UAAU,GAAG,+3RAA+3R;;MCOr4R,OAAO,GAAA,MAAA;;;;IAClB,MAAM,GAAA;AACJ,QAAA,QACE,CAAC,CAAA,IAAI,EAAC,EAAA,GAAA,EAAA,0CAAA,EAAA,KAAK,EAAC,+CAA+C,EAAA,EAEzD,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAC,kEAAkE,EAAC,IAAI,EAAC,SAAS,EAAC,IAAI,EAAC,QAAQ,EAAY,YAAA,EAAA,SAAS,EAAG,CAAA,CAC7H;;;;;;;"}