@unidy.io/sdk 1.1.1-alpha2 → 1.1.2

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 (661) hide show
  1. package/dist/{esm/auth-DLKPv5Zm.js → sdk/auth-Che07PeV.js} +9 -9
  2. package/dist/{esm/auth-DLKPv5Zm.js.map → sdk/auth-Che07PeV.js.map} +1 -1
  3. package/dist/{components/auth-store.js → sdk/auth-store-CapiC8gJ.js} +4 -4
  4. package/dist/{esm/auth-store-BMqUdTpC.js.map → sdk/auth-store-CapiC8gJ.js.map} +1 -1
  5. package/dist/{components/flash-store.js → sdk/flash-store-DNcSEn2p.js} +4 -3
  6. package/dist/{esm/flash-store-CEvWSG0c.js.map → sdk/flash-store-DNcSEn2p.js.map} +1 -1
  7. package/dist/{components/i18n.js → sdk/i18n-BCI_ARJL.js} +25 -5
  8. package/dist/sdk/i18n-BCI_ARJL.js.map +1 -0
  9. package/dist/{esm/index-Bjp1XO-f.js → sdk/index-BnBstyfp.js} +3 -3
  10. package/dist/{esm/index-Bjp1XO-f.js.map → sdk/index-BnBstyfp.js.map} +1 -1
  11. package/dist/sdk/index-BqL27K_R.js +49640 -0
  12. package/dist/sdk/index-BqL27K_R.js.map +1 -0
  13. package/dist/{collection/auth/error-definitions.js → sdk/index-Cz3idqu9.js} +19 -2
  14. package/dist/sdk/index-Cz3idqu9.js.map +1 -0
  15. package/dist/sdk/index-gEcJztft.js +15349 -0
  16. package/dist/sdk/index-gEcJztft.js.map +1 -0
  17. package/dist/sdk/index.esm.js +22 -2
  18. package/dist/sdk/index.esm.js.map +1 -1
  19. package/dist/sdk/loader.esm.js.map +1 -1
  20. package/dist/sdk/locales/de.json +1 -0
  21. package/dist/sdk/locales/en.json +1 -0
  22. package/dist/sdk/locales/fr.json +1 -0
  23. package/dist/sdk/locales/it.json +1 -0
  24. package/dist/sdk/locales/nl_be.json +1 -0
  25. package/dist/sdk/locales/ro.json +1 -0
  26. package/dist/{esm/newsletter-helpers-Dh9k-4Ph.js → sdk/newsletter-helpers-DEXEBD0F.js} +16 -9
  27. package/dist/sdk/newsletter-helpers-DEXEBD0F.js.map +1 -0
  28. package/dist/sdk/newsletter-store-CvULKmsu.js +39 -0
  29. package/dist/sdk/newsletter-store-CvULKmsu.js.map +1 -0
  30. package/dist/{components/profile-helpers.js → sdk/profile-helpers-Bs3aj0CO.js} +4 -4
  31. package/dist/{esm/profile-helpers-7onubaoR.js.map → sdk/profile-helpers-Bs3aj0CO.js.map} +1 -1
  32. package/dist/{components/profile-store.js → sdk/profile-store-DD6sq42i.js} +3 -3
  33. package/dist/{esm/profile-store-RmZB2PTc.js.map → sdk/profile-store-DD6sq42i.js.map} +1 -1
  34. package/dist/sdk/sdk.esm.js +48 -2
  35. package/dist/sdk/sdk.esm.js.map +1 -1
  36. package/dist/sdk/u-conditional-render.entry.esm.js.map +1 -1
  37. package/dist/{esm → sdk}/u-conditional-render.entry.js +13 -12
  38. package/dist/sdk/u-config.entry.esm.js.map +1 -1
  39. package/dist/{esm → sdk}/u-config.entry.js +13 -12
  40. package/dist/sdk/u-email-field.entry.esm.js.map +1 -1
  41. package/dist/sdk/u-email-field.entry.js +75 -0
  42. package/dist/{esm → sdk}/u-error-message.entry.js +7 -7
  43. package/dist/sdk/u-field.entry.esm.js.map +1 -0
  44. package/dist/sdk/u-field.entry.js +101 -0
  45. package/dist/sdk/u-flash-message.entry.esm.js.map +1 -1
  46. package/dist/sdk/u-flash-message.entry.js +35 -0
  47. package/dist/sdk/u-full-profile.entry.esm.js.map +1 -1
  48. package/dist/sdk/u-full-profile.entry.js +35 -0
  49. package/dist/{esm → sdk}/u-logout-button.entry.js +11 -11
  50. package/dist/sdk/u-magic-code-field.entry.esm.js.map +1 -1
  51. package/dist/{esm → sdk}/u-magic-code-field.entry.js +10 -10
  52. package/dist/{esm → sdk}/u-missing-field.entry.js +5 -5
  53. package/dist/{esm → sdk}/u-missing-fields-submit-button.entry.js +9 -9
  54. package/dist/sdk/u-newsletter-checkbox.entry.esm.js.map +1 -1
  55. package/dist/{esm → sdk}/u-newsletter-checkbox.entry.js +25 -37
  56. package/dist/{esm → sdk}/u-newsletter-logout-button.entry.js +12 -12
  57. package/dist/sdk/u-newsletter-preference-checkbox.entry.esm.js.map +1 -1
  58. package/dist/{esm → sdk}/u-newsletter-preference-checkbox.entry.js +22 -33
  59. package/dist/sdk/u-newsletter-resend-doi-button.entry.esm.js.map +1 -1
  60. package/dist/sdk/u-newsletter-resend-doi-button.entry.js +47 -0
  61. package/dist/sdk/u-newsletter-root.entry.esm.js.map +1 -1
  62. package/dist/{esm → sdk}/u-newsletter-root.entry.js +19 -33
  63. package/dist/sdk/u-newsletter-toggle-subscription-button.entry.esm.js.map +1 -1
  64. package/dist/sdk/u-newsletter-toggle-subscription-button.entry.js +71 -0
  65. package/dist/{esm → sdk}/u-pagination-button.entry.js +2 -2
  66. package/dist/{esm → sdk}/u-pagination-page.entry.js +2 -2
  67. package/dist/{esm → sdk}/u-passkey.entry.js +10 -10
  68. package/dist/{esm → sdk}/u-password-field.entry.js +6 -6
  69. package/dist/sdk/u-profile.entry.esm.js.map +1 -0
  70. package/dist/{components/profile.js → sdk/u-profile.entry.js} +18 -38
  71. package/dist/sdk/u-raw-field.entry.esm.js.map +1 -0
  72. package/dist/{components/raw-field.js → sdk/u-raw-field.entry.js} +10 -51
  73. package/dist/{esm → sdk}/u-registration-button.entry.js +6 -6
  74. package/dist/{esm → sdk}/u-reset-password-button.entry.js +10 -10
  75. package/dist/{esm → sdk}/u-send-magic-code-button.entry.js +10 -10
  76. package/dist/{esm → sdk}/u-signed-in.entry.js +5 -5
  77. package/dist/{esm → sdk}/u-signin-root.entry.js +7 -7
  78. package/dist/sdk/u-signin-step.entry.esm.js.map +1 -1
  79. package/dist/{esm → sdk}/u-signin-step.entry.js +11 -10
  80. package/dist/{esm → sdk}/u-signin-strategy.entry.js +5 -5
  81. package/dist/{esm → sdk}/u-social-login-button.entry.js +6 -6
  82. package/dist/sdk/u-spinner.entry.esm.js.map +1 -1
  83. package/dist/{esm → sdk}/u-spinner.entry.js +3 -3
  84. package/dist/sdk/u-submit-button.entry.esm.js.map +1 -0
  85. package/dist/sdk/u-submit-button.entry.js +204 -0
  86. package/dist/sdk/u-ticketable-list.entry.esm.js.map +1 -1
  87. package/dist/{esm → sdk}/u-ticketable-list.entry.js +141 -73
  88. package/dist/{components/unidy-store.js → sdk/unidy-store-BwZym11Y.js} +4 -3
  89. package/dist/{esm/unidy-store-BldTAtO0.js.map → sdk/unidy-store-BwZym11Y.js.map} +1 -1
  90. package/dist/types/components.d.ts +0 -36
  91. package/dist/types/newsletter/components/newsletter-checkbox/newsletter-checkbox.d.ts +0 -5
  92. package/dist/types/newsletter/components/newsletter-root/newsletter-root.d.ts +0 -9
  93. package/dist/types/newsletter/components/preference-checkbox/preference-checkbox.d.ts +0 -5
  94. package/dist/types/newsletter/newsletter-helpers.d.ts +1 -1
  95. package/dist/types/newsletter/store/newsletter-store.d.ts +3 -0
  96. package/dist/types/shared/components/email-field/email-field.d.ts +0 -2
  97. package/package.json +1 -1
  98. package/dist/cjs/app-globals-DSKjcXX_.js +0 -10
  99. package/dist/cjs/app-globals-DSKjcXX_.js.map +0 -1
  100. package/dist/cjs/auth-BVKZHhXz.js +0 -573
  101. package/dist/cjs/auth-BVKZHhXz.js.map +0 -1
  102. package/dist/cjs/auth-store-DC9EVec8.js +0 -184
  103. package/dist/cjs/auth-store-DC9EVec8.js.map +0 -1
  104. package/dist/cjs/component-utils-BpMyeVQo.js +0 -35
  105. package/dist/cjs/component-utils-BpMyeVQo.js.map +0 -1
  106. package/dist/cjs/flash-store-BuIBuQDx.js +0 -50
  107. package/dist/cjs/flash-store-BuIBuQDx.js.map +0 -1
  108. package/dist/cjs/helpers-BcPlKlBG.js +0 -11
  109. package/dist/cjs/helpers-BcPlKlBG.js.map +0 -1
  110. package/dist/cjs/helpers-DJyRa0Qo.js +0 -11
  111. package/dist/cjs/helpers-DJyRa0Qo.js.map +0 -1
  112. package/dist/cjs/i18n-Xy1So-ba.js +0 -3224
  113. package/dist/cjs/i18n-Xy1So-ba.js.map +0 -1
  114. package/dist/cjs/index-B_N5xKgH.js +0 -12025
  115. package/dist/cjs/index-B_N5xKgH.js.map +0 -1
  116. package/dist/cjs/index-DLz3FT7T.js +0 -214
  117. package/dist/cjs/index-DLz3FT7T.js.map +0 -1
  118. package/dist/cjs/index-DiUlebpf.js +0 -5256
  119. package/dist/cjs/index-DiUlebpf.js.map +0 -1
  120. package/dist/cjs/index.cjs.js +0 -64
  121. package/dist/cjs/index.cjs.js.map +0 -1
  122. package/dist/cjs/loader.cjs.js +0 -14
  123. package/dist/cjs/loader.cjs.js.map +0 -1
  124. package/dist/cjs/newsletter-helpers-D34j8zxr.js +0 -280
  125. package/dist/cjs/newsletter-helpers-D34j8zxr.js.map +0 -1
  126. package/dist/cjs/newsletter-store-dhtu8ywO.js +0 -27
  127. package/dist/cjs/newsletter-store-dhtu8ywO.js.map +0 -1
  128. package/dist/cjs/pagination-store-BEiW3MQd.js +0 -16
  129. package/dist/cjs/pagination-store-BEiW3MQd.js.map +0 -1
  130. package/dist/cjs/profile-helpers-DrcTgN5n.js +0 -39
  131. package/dist/cjs/profile-helpers-DrcTgN5n.js.map +0 -1
  132. package/dist/cjs/profile-store-P_BcYkef.js +0 -22
  133. package/dist/cjs/profile-store-P_BcYkef.js.map +0 -1
  134. package/dist/cjs/sdk.cjs.js +0 -26
  135. package/dist/cjs/sdk.cjs.js.map +0 -1
  136. package/dist/cjs/u-conditional-render.cjs.entry.js +0 -102
  137. package/dist/cjs/u-conditional-render.entry.cjs.js.map +0 -1
  138. package/dist/cjs/u-config.cjs.entry.js +0 -87
  139. package/dist/cjs/u-config.entry.cjs.js.map +0 -1
  140. package/dist/cjs/u-email-field.cjs.entry.js +0 -75
  141. package/dist/cjs/u-email-field.entry.cjs.js.map +0 -1
  142. package/dist/cjs/u-error-message.cjs.entry.js +0 -82
  143. package/dist/cjs/u-error-message.entry.cjs.js.map +0 -1
  144. package/dist/cjs/u-field.u-raw-field.entry.cjs.js.map +0 -1
  145. package/dist/cjs/u-field_2.cjs.entry.js +0 -375
  146. package/dist/cjs/u-flash-message.cjs.entry.js +0 -34
  147. package/dist/cjs/u-flash-message.entry.cjs.js.map +0 -1
  148. package/dist/cjs/u-full-profile.cjs.entry.js +0 -36
  149. package/dist/cjs/u-full-profile.entry.cjs.js.map +0 -1
  150. package/dist/cjs/u-logout-button.cjs.entry.js +0 -38
  151. package/dist/cjs/u-logout-button.entry.cjs.js.map +0 -1
  152. package/dist/cjs/u-magic-code-field.cjs.entry.js +0 -91
  153. package/dist/cjs/u-magic-code-field.entry.cjs.js.map +0 -1
  154. package/dist/cjs/u-missing-field.cjs.entry.js +0 -22
  155. package/dist/cjs/u-missing-field.entry.cjs.js.map +0 -1
  156. package/dist/cjs/u-missing-fields-submit-button.cjs.entry.js +0 -46
  157. package/dist/cjs/u-missing-fields-submit-button.entry.cjs.js.map +0 -1
  158. package/dist/cjs/u-newsletter-checkbox.cjs.entry.js +0 -75
  159. package/dist/cjs/u-newsletter-checkbox.entry.cjs.js.map +0 -1
  160. package/dist/cjs/u-newsletter-logout-button.cjs.entry.js +0 -36
  161. package/dist/cjs/u-newsletter-logout-button.entry.cjs.js.map +0 -1
  162. package/dist/cjs/u-newsletter-preference-checkbox.cjs.entry.js +0 -117
  163. package/dist/cjs/u-newsletter-preference-checkbox.entry.cjs.js.map +0 -1
  164. package/dist/cjs/u-newsletter-resend-doi-button.cjs.entry.js +0 -46
  165. package/dist/cjs/u-newsletter-resend-doi-button.entry.cjs.js.map +0 -1
  166. package/dist/cjs/u-newsletter-root.cjs.entry.js +0 -86
  167. package/dist/cjs/u-newsletter-root.entry.cjs.js.map +0 -1
  168. package/dist/cjs/u-newsletter-toggle-subscription-button.cjs.entry.js +0 -70
  169. package/dist/cjs/u-newsletter-toggle-subscription-button.entry.cjs.js.map +0 -1
  170. package/dist/cjs/u-pagination-button.cjs.entry.js +0 -63
  171. package/dist/cjs/u-pagination-button.entry.cjs.js.map +0 -1
  172. package/dist/cjs/u-pagination-page.cjs.entry.js +0 -44
  173. package/dist/cjs/u-pagination-page.entry.cjs.js.map +0 -1
  174. package/dist/cjs/u-passkey.cjs.entry.js +0 -47
  175. package/dist/cjs/u-passkey.entry.cjs.js.map +0 -1
  176. package/dist/cjs/u-password-field.cjs.entry.js +0 -104
  177. package/dist/cjs/u-password-field.entry.cjs.js.map +0 -1
  178. package/dist/cjs/u-profile.u-submit-button.entry.cjs.js.map +0 -1
  179. package/dist/cjs/u-profile_2.cjs.entry.js +0 -311
  180. package/dist/cjs/u-registration-button.cjs.entry.js +0 -48
  181. package/dist/cjs/u-registration-button.entry.cjs.js.map +0 -1
  182. package/dist/cjs/u-reset-password-button.cjs.entry.js +0 -47
  183. package/dist/cjs/u-reset-password-button.entry.cjs.js.map +0 -1
  184. package/dist/cjs/u-send-magic-code-button.cjs.entry.js +0 -68
  185. package/dist/cjs/u-send-magic-code-button.entry.cjs.js.map +0 -1
  186. package/dist/cjs/u-signed-in.cjs.entry.js +0 -25
  187. package/dist/cjs/u-signed-in.entry.cjs.js.map +0 -1
  188. package/dist/cjs/u-signin-root.cjs.entry.js +0 -43
  189. package/dist/cjs/u-signin-root.entry.cjs.js.map +0 -1
  190. package/dist/cjs/u-signin-step.cjs.entry.js +0 -66
  191. package/dist/cjs/u-signin-step.entry.cjs.js.map +0 -1
  192. package/dist/cjs/u-signin-strategy.cjs.entry.js +0 -30
  193. package/dist/cjs/u-signin-strategy.entry.cjs.js.map +0 -1
  194. package/dist/cjs/u-social-login-button.cjs.entry.js +0 -100
  195. package/dist/cjs/u-social-login-button.entry.cjs.js.map +0 -1
  196. package/dist/cjs/u-spinner.cjs.entry.js +0 -18
  197. package/dist/cjs/u-spinner.entry.cjs.js.map +0 -1
  198. package/dist/cjs/u-ticketable-list.cjs.entry.js +0 -6078
  199. package/dist/cjs/u-ticketable-list.entry.cjs.js.map +0 -1
  200. package/dist/cjs/unidy-store-7AbWnZ6g.js +0 -41
  201. package/dist/cjs/unidy-store-7AbWnZ6g.js.map +0 -1
  202. package/dist/collection/api/client.js +0 -144
  203. package/dist/collection/api/client.js.map +0 -1
  204. package/dist/collection/api/index.js +0 -42
  205. package/dist/collection/api/index.js.map +0 -1
  206. package/dist/collection/api/shared.js +0 -18
  207. package/dist/collection/api/shared.js.map +0 -1
  208. package/dist/collection/auth/api/auth.js +0 -264
  209. package/dist/collection/auth/api/auth.js.map +0 -1
  210. package/dist/collection/auth/auth-helpers.js +0 -291
  211. package/dist/collection/auth/auth-helpers.js.map +0 -1
  212. package/dist/collection/auth/auth.js +0 -121
  213. package/dist/collection/auth/auth.js.map +0 -1
  214. package/dist/collection/auth/components/helpers.js +0 -5
  215. package/dist/collection/auth/components/helpers.js.map +0 -1
  216. package/dist/collection/auth/components/logout-button/logout-button.js +0 -85
  217. package/dist/collection/auth/components/logout-button/logout-button.js.map +0 -1
  218. package/dist/collection/auth/components/magic-code-field/magic-code-field.css +0 -1
  219. package/dist/collection/auth/components/magic-code-field/magic-code-field.js +0 -113
  220. package/dist/collection/auth/components/magic-code-field/magic-code-field.js.map +0 -1
  221. package/dist/collection/auth/components/missing-field/missing-field.js +0 -14
  222. package/dist/collection/auth/components/missing-field/missing-field.js.map +0 -1
  223. package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js +0 -39
  224. package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js.map +0 -1
  225. package/dist/collection/auth/components/passkey/passkey.js +0 -103
  226. package/dist/collection/auth/components/passkey/passkey.js.map +0 -1
  227. package/dist/collection/auth/components/password-field/password-field.js +0 -166
  228. package/dist/collection/auth/components/password-field/password-field.js.map +0 -1
  229. package/dist/collection/auth/components/registration/registration-button.js +0 -104
  230. package/dist/collection/auth/components/registration/registration-button.js.map +0 -1
  231. package/dist/collection/auth/components/reset-pass-button/reset-pass-button.js +0 -59
  232. package/dist/collection/auth/components/reset-pass-button/reset-pass-button.js.map +0 -1
  233. package/dist/collection/auth/components/send-magic-code-button/send-magic-code-button.js +0 -104
  234. package/dist/collection/auth/components/send-magic-code-button/send-magic-code-button.js.map +0 -1
  235. package/dist/collection/auth/components/signed-in/signed-in.js +0 -59
  236. package/dist/collection/auth/components/signed-in/signed-in.js.map +0 -1
  237. package/dist/collection/auth/components/signin-root/signin-root.js +0 -97
  238. package/dist/collection/auth/components/signin-root/signin-root.js.map +0 -1
  239. package/dist/collection/auth/components/signin-step/signin-step.js +0 -135
  240. package/dist/collection/auth/components/signin-step/signin-step.js.map +0 -1
  241. package/dist/collection/auth/components/signin-strategy/signin-strategy.js +0 -64
  242. package/dist/collection/auth/components/signin-strategy/signin-strategy.js.map +0 -1
  243. package/dist/collection/auth/components/social-logins/logos/apple.js +0 -3
  244. package/dist/collection/auth/components/social-logins/logos/apple.js.map +0 -1
  245. package/dist/collection/auth/components/social-logins/logos/discord.js +0 -3
  246. package/dist/collection/auth/components/social-logins/logos/discord.js.map +0 -1
  247. package/dist/collection/auth/components/social-logins/logos/facebook.js +0 -3
  248. package/dist/collection/auth/components/social-logins/logos/facebook.js.map +0 -1
  249. package/dist/collection/auth/components/social-logins/logos/google.js +0 -3
  250. package/dist/collection/auth/components/social-logins/logos/google.js.map +0 -1
  251. package/dist/collection/auth/components/social-logins/logos/linkedin.js +0 -3
  252. package/dist/collection/auth/components/social-logins/logos/linkedin.js.map +0 -1
  253. package/dist/collection/auth/components/social-logins/social-login-button.css +0 -1
  254. package/dist/collection/auth/components/social-logins/social-login-button.js +0 -188
  255. package/dist/collection/auth/components/social-logins/social-login-button.js.map +0 -1
  256. package/dist/collection/auth/components/submit-button/auth-submit-button.js +0 -62
  257. package/dist/collection/auth/components/submit-button/auth-submit-button.js.map +0 -1
  258. package/dist/collection/auth/error-definitions.js.map +0 -1
  259. package/dist/collection/auth/index.js +0 -14
  260. package/dist/collection/auth/index.js.map +0 -1
  261. package/dist/collection/auth/passkey-auth.js +0 -106
  262. package/dist/collection/auth/passkey-auth.js.map +0 -1
  263. package/dist/collection/auth/store/auth-store.js +0 -175
  264. package/dist/collection/auth/store/auth-store.js.map +0 -1
  265. package/dist/collection/collection-manifest.json +0 -46
  266. package/dist/collection/globalScript.js +0 -18
  267. package/dist/collection/globalScript.js.map +0 -1
  268. package/dist/collection/i18n.js +0 -31
  269. package/dist/collection/i18n.js.map +0 -1
  270. package/dist/collection/index.js +0 -16
  271. package/dist/collection/index.js.map +0 -1
  272. package/dist/collection/locales/de.json +0 -131
  273. package/dist/collection/locales/en.json +0 -131
  274. package/dist/collection/locales/fr.json +0 -131
  275. package/dist/collection/locales/it.json +0 -131
  276. package/dist/collection/locales/nl_be.json +0 -131
  277. package/dist/collection/locales/ro.json +0 -131
  278. package/dist/collection/logger.js +0 -106
  279. package/dist/collection/logger.js.map +0 -1
  280. package/dist/collection/newsletter/api/newsletters.js +0 -189
  281. package/dist/collection/newsletter/api/newsletters.js.map +0 -1
  282. package/dist/collection/newsletter/components/helpers.js +0 -5
  283. package/dist/collection/newsletter/components/helpers.js.map +0 -1
  284. package/dist/collection/newsletter/components/logout-button/logout-button.js +0 -48
  285. package/dist/collection/newsletter/components/logout-button/logout-button.js.map +0 -1
  286. package/dist/collection/newsletter/components/newsletter-checkbox/newsletter-checkbox.js +0 -163
  287. package/dist/collection/newsletter/components/newsletter-checkbox/newsletter-checkbox.js.map +0 -1
  288. package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js +0 -164
  289. package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js.map +0 -1
  290. package/dist/collection/newsletter/components/preference-checkbox/preference-checkbox.js +0 -231
  291. package/dist/collection/newsletter/components/preference-checkbox/preference-checkbox.js.map +0 -1
  292. package/dist/collection/newsletter/components/resend-doi-button/resend-doi-button.js +0 -79
  293. package/dist/collection/newsletter/components/resend-doi-button/resend-doi-button.js.map +0 -1
  294. package/dist/collection/newsletter/components/submit-button/newsletter-submit-button.js +0 -19
  295. package/dist/collection/newsletter/components/submit-button/newsletter-submit-button.js.map +0 -1
  296. package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.js +0 -144
  297. package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.js.map +0 -1
  298. package/dist/collection/newsletter/index.js +0 -11
  299. package/dist/collection/newsletter/index.js.map +0 -1
  300. package/dist/collection/newsletter/newsletter-helpers.js +0 -268
  301. package/dist/collection/newsletter/newsletter-helpers.js.map +0 -1
  302. package/dist/collection/newsletter/store/newsletter-store.js +0 -24
  303. package/dist/collection/newsletter/store/newsletter-store.js.map +0 -1
  304. package/dist/collection/profile/api/profile.js +0 -156
  305. package/dist/collection/profile/api/profile.js.map +0 -1
  306. package/dist/collection/profile/components/field/field.css +0 -1
  307. package/dist/collection/profile/components/field/field.js +0 -359
  308. package/dist/collection/profile/components/field/field.js.map +0 -1
  309. package/dist/collection/profile/components/full-profile/full-profile.css +0 -1
  310. package/dist/collection/profile/components/full-profile/full-profile.js +0 -77
  311. package/dist/collection/profile/components/full-profile/full-profile.js.map +0 -1
  312. package/dist/collection/profile/components/profile/profile.js +0 -189
  313. package/dist/collection/profile/components/profile/profile.js.map +0 -1
  314. package/dist/collection/profile/components/raw-field/raw-field.js +0 -697
  315. package/dist/collection/profile/components/raw-field/raw-field.js.map +0 -1
  316. package/dist/collection/profile/components/raw-input-fields/Input.js +0 -3
  317. package/dist/collection/profile/components/raw-input-fields/Input.js.map +0 -1
  318. package/dist/collection/profile/components/raw-input-fields/MultiSelect.js +0 -8
  319. package/dist/collection/profile/components/raw-input-fields/MultiSelect.js.map +0 -1
  320. package/dist/collection/profile/components/raw-input-fields/RadioGroup.js +0 -8
  321. package/dist/collection/profile/components/raw-input-fields/RadioGroup.js.map +0 -1
  322. package/dist/collection/profile/components/raw-input-fields/Select.js +0 -11
  323. package/dist/collection/profile/components/raw-input-fields/Select.js.map +0 -1
  324. package/dist/collection/profile/components/raw-input-fields/Textarea.js +0 -3
  325. package/dist/collection/profile/components/raw-input-fields/Textarea.js.map +0 -1
  326. package/dist/collection/profile/components/submit-button/profile-submit-button.js +0 -17
  327. package/dist/collection/profile/components/submit-button/profile-submit-button.js.map +0 -1
  328. package/dist/collection/profile/index.js +0 -13
  329. package/dist/collection/profile/index.js.map +0 -1
  330. package/dist/collection/profile/profile-helpers.js +0 -31
  331. package/dist/collection/profile/profile-helpers.js.map +0 -1
  332. package/dist/collection/profile/store/profile-store.js +0 -15
  333. package/dist/collection/profile/store/profile-store.js.map +0 -1
  334. package/dist/collection/sdk.css +0 -39
  335. package/dist/collection/shared/component-utils.js +0 -28
  336. package/dist/collection/shared/component-utils.js.map +0 -1
  337. package/dist/collection/shared/components/conditional-render/conditional-render.js +0 -177
  338. package/dist/collection/shared/components/conditional-render/conditional-render.js.map +0 -1
  339. package/dist/collection/shared/components/config/config.js +0 -260
  340. package/dist/collection/shared/components/config/config.js.map +0 -1
  341. package/dist/collection/shared/components/email-field/email-field.js +0 -161
  342. package/dist/collection/shared/components/email-field/email-field.js.map +0 -1
  343. package/dist/collection/shared/components/error-message/error-message.js +0 -141
  344. package/dist/collection/shared/components/error-message/error-message.js.map +0 -1
  345. package/dist/collection/shared/components/flash-message/close-icon.js +0 -3
  346. package/dist/collection/shared/components/flash-message/close-icon.js.map +0 -1
  347. package/dist/collection/shared/components/flash-message/flash-message.js +0 -69
  348. package/dist/collection/shared/components/flash-message/flash-message.js.map +0 -1
  349. package/dist/collection/shared/components/spinner/spinner.css +0 -1
  350. package/dist/collection/shared/components/spinner/spinner.js +0 -19
  351. package/dist/collection/shared/components/spinner/spinner.js.map +0 -1
  352. package/dist/collection/shared/components/submit-button/context.js +0 -10
  353. package/dist/collection/shared/components/submit-button/context.js.map +0 -1
  354. package/dist/collection/shared/components/submit-button/submit-button.js +0 -186
  355. package/dist/collection/shared/components/submit-button/submit-button.js.map +0 -1
  356. package/dist/collection/shared/store/flash-store.js +0 -43
  357. package/dist/collection/shared/store/flash-store.js.map +0 -1
  358. package/dist/collection/shared/store/unidy-store.js +0 -33
  359. package/dist/collection/shared/store/unidy-store.js.map +0 -1
  360. package/dist/collection/ticketable/api/get-with-schema.js +0 -35
  361. package/dist/collection/ticketable/api/get-with-schema.js.map +0 -1
  362. package/dist/collection/ticketable/api/schemas.js +0 -12
  363. package/dist/collection/ticketable/api/schemas.js.map +0 -1
  364. package/dist/collection/ticketable/api/subscriptions.js +0 -47
  365. package/dist/collection/ticketable/api/subscriptions.js.map +0 -1
  366. package/dist/collection/ticketable/api/tickets.js +0 -48
  367. package/dist/collection/ticketable/api/tickets.js.map +0 -1
  368. package/dist/collection/ticketable/components/pagination/pagination-button.js +0 -108
  369. package/dist/collection/ticketable/components/pagination/pagination-button.js.map +0 -1
  370. package/dist/collection/ticketable/components/pagination/pagination-page.js +0 -69
  371. package/dist/collection/ticketable/components/pagination/pagination-page.js.map +0 -1
  372. package/dist/collection/ticketable/components/ticketable-list/skeleton-helpers.js +0 -54
  373. package/dist/collection/ticketable/components/ticketable-list/skeleton-helpers.js.map +0 -1
  374. package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js +0 -442
  375. package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js.map +0 -1
  376. package/dist/collection/ticketable/index.js +0 -13
  377. package/dist/collection/ticketable/index.js.map +0 -1
  378. package/dist/collection/ticketable/store/pagination-store.js +0 -9
  379. package/dist/collection/ticketable/store/pagination-store.js.map +0 -1
  380. package/dist/components/auth-store.js.map +0 -1
  381. package/dist/components/auth.js +0 -572
  382. package/dist/components/auth.js.map +0 -1
  383. package/dist/components/component-utils.js +0 -32
  384. package/dist/components/component-utils.js.map +0 -1
  385. package/dist/components/exports.js +0 -4106
  386. package/dist/components/exports.js.map +0 -1
  387. package/dist/components/field.js +0 -144
  388. package/dist/components/field.js.map +0 -1
  389. package/dist/components/flash-store.js.map +0 -1
  390. package/dist/components/helpers.js +0 -9
  391. package/dist/components/helpers.js.map +0 -1
  392. package/dist/components/helpers2.js +0 -9
  393. package/dist/components/helpers2.js.map +0 -1
  394. package/dist/components/i18n.js.map +0 -1
  395. package/dist/components/index.js +0 -5902
  396. package/dist/components/index.js.map +0 -1
  397. package/dist/components/index2.js +0 -5245
  398. package/dist/components/index2.js.map +0 -1
  399. package/dist/components/index3.js +0 -212
  400. package/dist/components/index3.js.map +0 -1
  401. package/dist/components/logger.js +0 -111
  402. package/dist/components/logger.js.map +0 -1
  403. package/dist/components/newsletter-helpers.js +0 -269
  404. package/dist/components/newsletter-helpers.js.map +0 -1
  405. package/dist/components/newsletter-store.js +0 -24
  406. package/dist/components/newsletter-store.js.map +0 -1
  407. package/dist/components/pagination-store.js +0 -14
  408. package/dist/components/pagination-store.js.map +0 -1
  409. package/dist/components/profile-helpers.js.map +0 -1
  410. package/dist/components/profile-store.js.map +0 -1
  411. package/dist/components/profile.js.map +0 -1
  412. package/dist/components/raw-field.js.map +0 -1
  413. package/dist/components/spinner.js +0 -35
  414. package/dist/components/spinner.js.map +0 -1
  415. package/dist/components/submit-button.js +0 -229
  416. package/dist/components/submit-button.js.map +0 -1
  417. package/dist/components/u-conditional-render.js +0 -120
  418. package/dist/components/u-conditional-render.js.map +0 -1
  419. package/dist/components/u-config.js +0 -113
  420. package/dist/components/u-config.js.map +0 -1
  421. package/dist/components/u-email-field.js +0 -98
  422. package/dist/components/u-email-field.js.map +0 -1
  423. package/dist/components/u-error-message.js +0 -105
  424. package/dist/components/u-error-message.js.map +0 -1
  425. package/dist/components/u-field.js +0 -9
  426. package/dist/components/u-field.js.map +0 -1
  427. package/dist/components/u-flash-message.js +0 -55
  428. package/dist/components/u-flash-message.js.map +0 -1
  429. package/dist/components/u-full-profile.js +0 -86
  430. package/dist/components/u-full-profile.js.map +0 -1
  431. package/dist/components/u-logout-button.js +0 -53
  432. package/dist/components/u-logout-button.js.map +0 -1
  433. package/dist/components/u-magic-code-field.js +0 -106
  434. package/dist/components/u-magic-code-field.js.map +0 -1
  435. package/dist/components/u-missing-field.js +0 -57
  436. package/dist/components/u-missing-field.js.map +0 -1
  437. package/dist/components/u-missing-fields-submit-button.js +0 -70
  438. package/dist/components/u-missing-fields-submit-button.js.map +0 -1
  439. package/dist/components/u-newsletter-checkbox.js +0 -91
  440. package/dist/components/u-newsletter-checkbox.js.map +0 -1
  441. package/dist/components/u-newsletter-logout-button.js +0 -51
  442. package/dist/components/u-newsletter-logout-button.js.map +0 -1
  443. package/dist/components/u-newsletter-preference-checkbox.js +0 -137
  444. package/dist/components/u-newsletter-preference-checkbox.js.map +0 -1
  445. package/dist/components/u-newsletter-resend-doi-button.js +0 -67
  446. package/dist/components/u-newsletter-resend-doi-button.js.map +0 -1
  447. package/dist/components/u-newsletter-root.js +0 -104
  448. package/dist/components/u-newsletter-root.js.map +0 -1
  449. package/dist/components/u-newsletter-toggle-subscription-button.js +0 -94
  450. package/dist/components/u-newsletter-toggle-subscription-button.js.map +0 -1
  451. package/dist/components/u-pagination-button.js +0 -86
  452. package/dist/components/u-pagination-button.js.map +0 -1
  453. package/dist/components/u-pagination-page.js +0 -66
  454. package/dist/components/u-pagination-page.js.map +0 -1
  455. package/dist/components/u-passkey.js +0 -65
  456. package/dist/components/u-passkey.js.map +0 -1
  457. package/dist/components/u-password-field.js +0 -125
  458. package/dist/components/u-password-field.js.map +0 -1
  459. package/dist/components/u-profile.js +0 -9
  460. package/dist/components/u-profile.js.map +0 -1
  461. package/dist/components/u-raw-field.js +0 -9
  462. package/dist/components/u-raw-field.js.map +0 -1
  463. package/dist/components/u-registration-button.js +0 -70
  464. package/dist/components/u-registration-button.js.map +0 -1
  465. package/dist/components/u-reset-password-button.js +0 -63
  466. package/dist/components/u-reset-password-button.js.map +0 -1
  467. package/dist/components/u-send-magic-code-button.js +0 -85
  468. package/dist/components/u-send-magic-code-button.js.map +0 -1
  469. package/dist/components/u-signed-in.js +0 -44
  470. package/dist/components/u-signed-in.js.map +0 -1
  471. package/dist/components/u-signin-root.js +0 -63
  472. package/dist/components/u-signin-root.js.map +0 -1
  473. package/dist/components/u-signin-step.js +0 -84
  474. package/dist/components/u-signin-step.js.map +0 -1
  475. package/dist/components/u-signin-strategy.js +0 -50
  476. package/dist/components/u-signin-strategy.js.map +0 -1
  477. package/dist/components/u-social-login-button.js +0 -125
  478. package/dist/components/u-social-login-button.js.map +0 -1
  479. package/dist/components/u-spinner.js +0 -9
  480. package/dist/components/u-spinner.js.map +0 -1
  481. package/dist/components/u-submit-button.js +0 -9
  482. package/dist/components/u-submit-button.js.map +0 -1
  483. package/dist/components/u-ticketable-list.js +0 -6113
  484. package/dist/components/u-ticketable-list.js.map +0 -1
  485. package/dist/components/unidy-store.js.map +0 -1
  486. package/dist/esm/app-globals-CPU9ZcqZ.js +0 -8
  487. package/dist/esm/app-globals-CPU9ZcqZ.js.map +0 -1
  488. package/dist/esm/auth-store-BMqUdTpC.js +0 -179
  489. package/dist/esm/flash-store-CEvWSG0c.js +0 -47
  490. package/dist/esm/i18n-BR-AGAnn.js +0 -3221
  491. package/dist/esm/i18n-BR-AGAnn.js.map +0 -1
  492. package/dist/esm/index-Ci3aTmzp.js +0 -12007
  493. package/dist/esm/index-Ci3aTmzp.js.map +0 -1
  494. package/dist/esm/index-DKaIwo59.js +0 -5243
  495. package/dist/esm/index-DKaIwo59.js.map +0 -1
  496. package/dist/esm/index.js +0 -40
  497. package/dist/esm/index.js.map +0 -1
  498. package/dist/esm/loader.js +0 -12
  499. package/dist/esm/loader.js.map +0 -1
  500. package/dist/esm/newsletter-helpers-Dh9k-4Ph.js.map +0 -1
  501. package/dist/esm/newsletter-store-BYmuLQg8.js +0 -24
  502. package/dist/esm/newsletter-store-BYmuLQg8.js.map +0 -1
  503. package/dist/esm/pagination-store-DzdJOp-n.js +0 -14
  504. package/dist/esm/pagination-store-DzdJOp-n.js.map +0 -1
  505. package/dist/esm/profile-helpers-7onubaoR.js +0 -36
  506. package/dist/esm/profile-store-RmZB2PTc.js +0 -18
  507. package/dist/esm/sdk.js +0 -22
  508. package/dist/esm/sdk.js.map +0 -1
  509. package/dist/esm/u-conditional-render.entry.js.map +0 -1
  510. package/dist/esm/u-config.entry.js.map +0 -1
  511. package/dist/esm/u-email-field.entry.js +0 -73
  512. package/dist/esm/u-email-field.entry.js.map +0 -1
  513. package/dist/esm/u-error-message.entry.js.map +0 -1
  514. package/dist/esm/u-field.u-raw-field.entry.js.map +0 -1
  515. package/dist/esm/u-field_2.entry.js +0 -372
  516. package/dist/esm/u-flash-message.entry.js +0 -32
  517. package/dist/esm/u-flash-message.entry.js.map +0 -1
  518. package/dist/esm/u-full-profile.entry.js +0 -34
  519. package/dist/esm/u-full-profile.entry.js.map +0 -1
  520. package/dist/esm/u-logout-button.entry.js.map +0 -1
  521. package/dist/esm/u-magic-code-field.entry.js.map +0 -1
  522. package/dist/esm/u-missing-field.entry.js.map +0 -1
  523. package/dist/esm/u-missing-fields-submit-button.entry.js.map +0 -1
  524. package/dist/esm/u-newsletter-checkbox.entry.js.map +0 -1
  525. package/dist/esm/u-newsletter-logout-button.entry.js.map +0 -1
  526. package/dist/esm/u-newsletter-preference-checkbox.entry.js.map +0 -1
  527. package/dist/esm/u-newsletter-resend-doi-button.entry.js +0 -44
  528. package/dist/esm/u-newsletter-resend-doi-button.entry.js.map +0 -1
  529. package/dist/esm/u-newsletter-root.entry.js.map +0 -1
  530. package/dist/esm/u-newsletter-toggle-subscription-button.entry.js +0 -68
  531. package/dist/esm/u-newsletter-toggle-subscription-button.entry.js.map +0 -1
  532. package/dist/esm/u-pagination-button.entry.js.map +0 -1
  533. package/dist/esm/u-pagination-page.entry.js.map +0 -1
  534. package/dist/esm/u-passkey.entry.js.map +0 -1
  535. package/dist/esm/u-password-field.entry.js.map +0 -1
  536. package/dist/esm/u-profile.u-submit-button.entry.js.map +0 -1
  537. package/dist/esm/u-profile_2.entry.js +0 -308
  538. package/dist/esm/u-registration-button.entry.js.map +0 -1
  539. package/dist/esm/u-reset-password-button.entry.js.map +0 -1
  540. package/dist/esm/u-send-magic-code-button.entry.js.map +0 -1
  541. package/dist/esm/u-signed-in.entry.js.map +0 -1
  542. package/dist/esm/u-signin-root.entry.js.map +0 -1
  543. package/dist/esm/u-signin-step.entry.js.map +0 -1
  544. package/dist/esm/u-signin-strategy.entry.js.map +0 -1
  545. package/dist/esm/u-social-login-button.entry.js.map +0 -1
  546. package/dist/esm/u-spinner.entry.js.map +0 -1
  547. package/dist/esm/u-ticketable-list.entry.js.map +0 -1
  548. package/dist/esm/unidy-store-BldTAtO0.js +0 -37
  549. package/dist/index.cjs.js +0 -1
  550. package/dist/index.js +0 -1
  551. package/dist/sdk/p-10e06612.entry.js +0 -2
  552. package/dist/sdk/p-10e06612.entry.js.map +0 -1
  553. package/dist/sdk/p-16f86a4d.entry.js +0 -2
  554. package/dist/sdk/p-16f86a4d.entry.js.map +0 -1
  555. package/dist/sdk/p-20240b02.entry.js +0 -2
  556. package/dist/sdk/p-20240b02.entry.js.map +0 -1
  557. package/dist/sdk/p-26f3d8db.entry.js +0 -2
  558. package/dist/sdk/p-26f3d8db.entry.js.map +0 -1
  559. package/dist/sdk/p-2da4497a.entry.js +0 -2
  560. package/dist/sdk/p-2da4497a.entry.js.map +0 -1
  561. package/dist/sdk/p-3f4c947d.entry.js +0 -2
  562. package/dist/sdk/p-3f4c947d.entry.js.map +0 -1
  563. package/dist/sdk/p-431ec460.entry.js +0 -2
  564. package/dist/sdk/p-431ec460.entry.js.map +0 -1
  565. package/dist/sdk/p-4f54194a.entry.js +0 -2
  566. package/dist/sdk/p-4f54194a.entry.js.map +0 -1
  567. package/dist/sdk/p-552056e7.entry.js +0 -2
  568. package/dist/sdk/p-552056e7.entry.js.map +0 -1
  569. package/dist/sdk/p-5da49d00.entry.js +0 -2
  570. package/dist/sdk/p-5da49d00.entry.js.map +0 -1
  571. package/dist/sdk/p-67096601.entry.js +0 -2
  572. package/dist/sdk/p-67096601.entry.js.map +0 -1
  573. package/dist/sdk/p-6893d167.entry.js +0 -2
  574. package/dist/sdk/p-6893d167.entry.js.map +0 -1
  575. package/dist/sdk/p-6e3c210c.entry.js +0 -2
  576. package/dist/sdk/p-6e3c210c.entry.js.map +0 -1
  577. package/dist/sdk/p-6febeead.entry.js +0 -2
  578. package/dist/sdk/p-6febeead.entry.js.map +0 -1
  579. package/dist/sdk/p-73c2ec89.entry.js +0 -2
  580. package/dist/sdk/p-73c2ec89.entry.js.map +0 -1
  581. package/dist/sdk/p-745742f1.entry.js +0 -2
  582. package/dist/sdk/p-745742f1.entry.js.map +0 -1
  583. package/dist/sdk/p-7a7c0db2.entry.js +0 -2
  584. package/dist/sdk/p-7a7c0db2.entry.js.map +0 -1
  585. package/dist/sdk/p-8d787494.entry.js +0 -2
  586. package/dist/sdk/p-8d787494.entry.js.map +0 -1
  587. package/dist/sdk/p-94dde7e5.entry.js +0 -2
  588. package/dist/sdk/p-94dde7e5.entry.js.map +0 -1
  589. package/dist/sdk/p-97d8ae02.entry.js +0 -2
  590. package/dist/sdk/p-97d8ae02.entry.js.map +0 -1
  591. package/dist/sdk/p-9da4dd6d.entry.js +0 -2
  592. package/dist/sdk/p-9da4dd6d.entry.js.map +0 -1
  593. package/dist/sdk/p-BZ1kW_eK.js +0 -2
  594. package/dist/sdk/p-BZ1kW_eK.js.map +0 -1
  595. package/dist/sdk/p-BlOjABPD.js +0 -2
  596. package/dist/sdk/p-BlOjABPD.js.map +0 -1
  597. package/dist/sdk/p-BqFCd65h.js +0 -2
  598. package/dist/sdk/p-BqFCd65h.js.map +0 -1
  599. package/dist/sdk/p-C0feI0p8.js +0 -2
  600. package/dist/sdk/p-C0feI0p8.js.map +0 -1
  601. package/dist/sdk/p-CDtLILSR.js +0 -2
  602. package/dist/sdk/p-CDtLILSR.js.map +0 -1
  603. package/dist/sdk/p-CFiZLMAA.js +0 -2
  604. package/dist/sdk/p-CFiZLMAA.js.map +0 -1
  605. package/dist/sdk/p-CR1oWC4S.js +0 -2
  606. package/dist/sdk/p-CR1oWC4S.js.map +0 -1
  607. package/dist/sdk/p-Ce8zGAi1.js +0 -2
  608. package/dist/sdk/p-Ce8zGAi1.js.map +0 -1
  609. package/dist/sdk/p-Ci3aTmzp.js +0 -3
  610. package/dist/sdk/p-Ci3aTmzp.js.map +0 -1
  611. package/dist/sdk/p-D1lzXl_Z.js +0 -2
  612. package/dist/sdk/p-D1lzXl_Z.js.map +0 -1
  613. package/dist/sdk/p-D4B6Zkq_.js +0 -2
  614. package/dist/sdk/p-D4B6Zkq_.js.map +0 -1
  615. package/dist/sdk/p-D8RGdjD3.js +0 -2
  616. package/dist/sdk/p-D8RGdjD3.js.map +0 -1
  617. package/dist/sdk/p-DGqadgLO.js +0 -2
  618. package/dist/sdk/p-DGqadgLO.js.map +0 -1
  619. package/dist/sdk/p-DSwwVdp1.js +0 -2
  620. package/dist/sdk/p-DSwwVdp1.js.map +0 -1
  621. package/dist/sdk/p-DUHc_Cx7.js +0 -2
  622. package/dist/sdk/p-DUHc_Cx7.js.map +0 -1
  623. package/dist/sdk/p-DYtgart8.js +0 -2
  624. package/dist/sdk/p-DYtgart8.js.map +0 -1
  625. package/dist/sdk/p-DsSffQBc.js +0 -2
  626. package/dist/sdk/p-DsSffQBc.js.map +0 -1
  627. package/dist/sdk/p-b79abe80.entry.js +0 -2
  628. package/dist/sdk/p-b79abe80.entry.js.map +0 -1
  629. package/dist/sdk/p-bb5ae222.entry.js +0 -2
  630. package/dist/sdk/p-bb5ae222.entry.js.map +0 -1
  631. package/dist/sdk/p-bbbec3d4.entry.js +0 -2
  632. package/dist/sdk/p-bbbec3d4.entry.js.map +0 -1
  633. package/dist/sdk/p-c2b6c674.entry.js +0 -2
  634. package/dist/sdk/p-c2b6c674.entry.js.map +0 -1
  635. package/dist/sdk/p-c2fba7c8.entry.js +0 -2
  636. package/dist/sdk/p-c2fba7c8.entry.js.map +0 -1
  637. package/dist/sdk/p-cba5d81e.entry.js +0 -2
  638. package/dist/sdk/p-cba5d81e.entry.js.map +0 -1
  639. package/dist/sdk/p-d2c6179a.entry.js +0 -2
  640. package/dist/sdk/p-d2c6179a.entry.js.map +0 -1
  641. package/dist/sdk/p-dcd4e8f0.entry.js +0 -2
  642. package/dist/sdk/p-dcd4e8f0.entry.js.map +0 -1
  643. package/dist/sdk/p-eaedb08e.entry.js +0 -2
  644. package/dist/sdk/p-eaedb08e.entry.js.map +0 -1
  645. package/dist/sdk/p-f0aecd55.entry.js +0 -2
  646. package/dist/sdk/p-f0aecd55.entry.js.map +0 -1
  647. package/dist/sdk/p-fc51c88d.entry.js +0 -2
  648. package/dist/sdk/p-fc51c88d.entry.js.map +0 -1
  649. package/dist/sdk/u-field.u-raw-field.entry.esm.js.map +0 -1
  650. package/dist/sdk/u-profile.u-submit-button.entry.esm.js.map +0 -1
  651. package/loader/cdn.js +0 -1
  652. package/loader/index.cjs.js +0 -1
  653. package/loader/index.d.ts +0 -24
  654. package/loader/index.es2017.js +0 -1
  655. package/loader/index.js +0 -2
  656. /package/dist/{esm → sdk}/component-utils-D1lzXl_Z.js +0 -0
  657. /package/dist/{esm → sdk}/component-utils-D1lzXl_Z.js.map +0 -0
  658. /package/dist/{esm → sdk}/helpers-BqFCd65h.js +0 -0
  659. /package/dist/{esm → sdk}/helpers-BqFCd65h.js.map +0 -0
  660. /package/dist/{esm → sdk}/helpers-DUHc_Cx7.js +0 -0
  661. /package/dist/{esm → sdk}/helpers-DUHc_Cx7.js.map +0 -0
@@ -1,572 +0,0 @@
1
- import { a as authStore, s as state } from './auth-store.js';
2
- import { s as state$1 } from './profile-store.js';
3
- import { F as Flash } from './flash-store.js';
4
- import { c as clearUrlParam } from './component-utils.js';
5
- import { t } from './i18n.js';
6
- import { c as createLogger } from './logger.js';
7
- import { w as waitForConfig } from './unidy-store.js';
8
- import { g as getUnidyClient } from './index2.js';
9
- import { Y as captureException } from './exports.js';
10
-
11
- class InvalidTokenError extends Error {
12
- }
13
- InvalidTokenError.prototype.name = "InvalidTokenError";
14
- function b64DecodeUnicode(str) {
15
- return decodeURIComponent(atob(str).replace(/(.)/g, (m, p) => {
16
- let code = p.charCodeAt(0).toString(16).toUpperCase();
17
- if (code.length < 2) {
18
- code = "0" + code;
19
- }
20
- return "%" + code;
21
- }));
22
- }
23
- function base64UrlDecode(str) {
24
- let output = str.replace(/-/g, "+").replace(/_/g, "/");
25
- switch (output.length % 4) {
26
- case 0:
27
- break;
28
- case 2:
29
- output += "==";
30
- break;
31
- case 3:
32
- output += "=";
33
- break;
34
- default:
35
- throw new Error("base64 string is not of the correct length");
36
- }
37
- try {
38
- return b64DecodeUnicode(output);
39
- }
40
- catch (err) {
41
- return atob(output);
42
- }
43
- }
44
- function jwtDecode(token, options) {
45
- if (typeof token !== "string") {
46
- throw new InvalidTokenError("Invalid token specified: must be a string");
47
- }
48
- options || (options = {});
49
- const pos = options.header === true ? 0 : 1;
50
- const part = token.split(".")[pos];
51
- if (typeof part !== "string") {
52
- throw new InvalidTokenError(`Invalid token specified: missing part #${pos + 1}`);
53
- }
54
- let decoded;
55
- try {
56
- decoded = base64UrlDecode(part);
57
- }
58
- catch (e) {
59
- throw new InvalidTokenError(`Invalid token specified: invalid base64 for part #${pos + 1} (${e.message})`);
60
- }
61
- try {
62
- return JSON.parse(decoded);
63
- }
64
- catch (e) {
65
- throw new InvalidTokenError(`Invalid token specified: invalid json for part #${pos + 1} (${e.message})`);
66
- }
67
- }
68
-
69
- const logger = createLogger("PasskeyAuth");
70
- const PASSKEY_ERRORS = {
71
- NotSupportedError: "passkey_not_supported",
72
- NotAllowedError: "passkey_cancelled",
73
- SecurityError: "passkey_security_error",
74
- InvalidStateError: "passkey_invalid_state",
75
- };
76
- function decodeBase64Url(base64url) {
77
- const base64 = base64url.replace(/-/g, "+").replace(/_/g, "/");
78
- const padded = base64 + "=".repeat((4 - (base64.length % 4)) % 4);
79
- return Uint8Array.from(atob(padded), (c) => c.charCodeAt(0));
80
- }
81
- function buildPublicKeyOptions(options) {
82
- return {
83
- challenge: Uint8Array.from(atob(options.challenge), (c) => c.charCodeAt(0)),
84
- timeout: options.timeout || 60000,
85
- rpId: options.rpId,
86
- userVerification: options.userVerification || "required",
87
- allowCredentials: options.allowCredentials?.map((cred) => ({
88
- ...cred,
89
- id: decodeBase64Url(cred.id),
90
- })),
91
- };
92
- }
93
- function formatCredentialForServer(credential) {
94
- const response = credential.response;
95
- return {
96
- id: credential.id,
97
- rawId: btoa(String.fromCharCode(...new Uint8Array(credential.rawId))),
98
- response: {
99
- authenticatorData: btoa(String.fromCharCode(...new Uint8Array(response.authenticatorData))),
100
- clientDataJSON: btoa(String.fromCharCode(...new Uint8Array(response.clientDataJSON))),
101
- signature: btoa(String.fromCharCode(...new Uint8Array(response.signature))),
102
- },
103
- type: credential.type,
104
- };
105
- }
106
- function extractAndSetSignInId(tokenResponse) {
107
- if (tokenResponse.sid) {
108
- authStore.setSignInId(tokenResponse.sid);
109
- return;
110
- }
111
- // Fallback: extract sid from JWT token payload
112
- try {
113
- const decoded = jwtDecode(tokenResponse.jwt);
114
- if (decoded.sid) {
115
- authStore.setSignInId(decoded.sid);
116
- }
117
- }
118
- catch {
119
- // Failed to decode JWT token to extract sid, continue without it
120
- }
121
- }
122
- function handlePasskeyError(error) {
123
- logger.error("Passkey error:", error);
124
- let errorMessage = "passkey_error";
125
- if (error instanceof DOMException) {
126
- errorMessage = PASSKEY_ERRORS[error.name] || "passkey_error";
127
- }
128
- authStore.setGlobalError("auth", errorMessage);
129
- authStore.setLoading(false);
130
- }
131
- async function authenticateWithPasskey(client, onSuccess) {
132
- authStore.setLoading(true);
133
- authStore.clearErrors();
134
- if (!window.PublicKeyCredential) {
135
- authStore.setGlobalError("auth", "passkey_not_supported");
136
- authStore.setLoading(false);
137
- return;
138
- }
139
- try {
140
- const [optionsError, options] = await client.auth.getPasskeyOptions(state.sid || undefined);
141
- if (optionsError || !options) {
142
- authStore.setGlobalError("auth", optionsError || "bad_request");
143
- authStore.setLoading(false);
144
- return;
145
- }
146
- const publicKeyOptions = buildPublicKeyOptions(options);
147
- const credential = (await navigator.credentials.get({
148
- publicKey: publicKeyOptions,
149
- }));
150
- if (!credential) {
151
- authStore.setGlobalError("auth", "passkey_cancelled");
152
- authStore.setLoading(false);
153
- return;
154
- }
155
- const formattedCredential = formatCredentialForServer(credential);
156
- const [verifyError, tkResponse] = await client.auth.authenticateWithPasskey(formattedCredential);
157
- const tokenResponse = tkResponse;
158
- if (verifyError || !tokenResponse) {
159
- authStore.setGlobalError("auth", verifyError || "authentication_failed");
160
- authStore.setLoading(false);
161
- return;
162
- }
163
- authStore.setToken(tokenResponse.jwt);
164
- extractAndSetSignInId(tokenResponse);
165
- onSuccess(tokenResponse);
166
- }
167
- catch (error) {
168
- handlePasskeyError(error);
169
- }
170
- }
171
-
172
- class AuthHelpers {
173
- client;
174
- logger = createLogger("AuthHelpers");
175
- constructor(client) {
176
- this.client = client;
177
- }
178
- async createSignIn(email, password, sendMagicCode) {
179
- if (!email) {
180
- throw new Error(t("errors.required_field", { field: "Email" }));
181
- }
182
- authStore.setLoading(true);
183
- authStore.clearErrors();
184
- const [error, response] = await this.client.auth.createSignIn(email, password, sendMagicCode);
185
- if (error) {
186
- this.handleAuthError(error, response);
187
- return;
188
- }
189
- if (password) {
190
- const token = jwtDecode(response.jwt);
191
- authStore.setSignInId(token.sid);
192
- authStore.setToken(response.jwt);
193
- authStore.setLoading(false);
194
- authStore.getRootComponentRef()?.onAuth(response);
195
- return;
196
- }
197
- if (sendMagicCode) {
198
- authStore.setSignInId(response.sid);
199
- authStore.setMagicCodeStep("sent");
200
- authStore.setStep("magic-code");
201
- authStore.setLoading(false);
202
- return [error, response];
203
- }
204
- const signInResponse = response;
205
- authStore.setStep("verification");
206
- authStore.setEmail(email);
207
- authStore.setSignInId(signInResponse.sid);
208
- authStore.setLoginOptions(signInResponse.login_options);
209
- authStore.setLoading(false);
210
- }
211
- async authenticateWithPassword(password) {
212
- if (!state.sid) {
213
- throw new Error(t("errors.no_sign_in_id"));
214
- }
215
- if (!password) {
216
- throw new Error(t("errors.required_field", { field: "Password" }));
217
- }
218
- authStore.setLoading(true);
219
- authStore.clearErrors();
220
- const [error, response] = await this.client.auth.authenticateWithPassword(state.sid, password);
221
- if (error) {
222
- this.handleAuthError(error, response);
223
- }
224
- else {
225
- authStore.setLoading(false);
226
- this.handleAuthSuccess(response);
227
- return;
228
- }
229
- }
230
- handleAuthError(error, response) {
231
- if (error === "account_not_found") {
232
- authStore.setFieldError("email", error);
233
- authStore.setLoading(false);
234
- return;
235
- }
236
- if (error === "missing_required_fields") {
237
- authStore.setMissingFields(response.fields);
238
- state$1.data = response.fields;
239
- if (response.sid) {
240
- authStore.setSignInId(response.sid);
241
- }
242
- authStore.setStep("missing-fields");
243
- authStore.setLoading(false);
244
- return;
245
- }
246
- if (error === "account_locked") {
247
- authStore.setGlobalError("auth", error);
248
- }
249
- else {
250
- authStore.setFieldError("password", error);
251
- }
252
- authStore.setLoading(false);
253
- }
254
- async logout() {
255
- const [error, _] = await this.client.auth.signOut(state.sid);
256
- if (error) {
257
- authStore.setGlobalError("auth", error);
258
- }
259
- return [error, _];
260
- }
261
- async refreshToken() {
262
- if (state.step === "missing-fields") {
263
- return;
264
- }
265
- this.extractSignInIdFromQuery();
266
- if (!state.sid) {
267
- this.logger.warn("No sign-in ID in the session");
268
- return;
269
- }
270
- const [error, response] = await this.client.auth.refreshToken(state.sid);
271
- if (error) {
272
- authStore.reset();
273
- authStore.setGlobalError("auth", error);
274
- }
275
- else {
276
- authStore.setToken(response.jwt);
277
- }
278
- }
279
- handleSocialAuthRedirect() {
280
- // missing required fields flow
281
- const url = new URL(window.location.href);
282
- const params = url.searchParams;
283
- const error = params.get("error");
284
- if (error !== "missing_required_fields") {
285
- return;
286
- }
287
- const fieldsFromUrl = params.get("fields");
288
- if (!fieldsFromUrl) {
289
- return;
290
- }
291
- const signInId = params.get("sid");
292
- if (signInId) {
293
- authStore.setSignInId(signInId);
294
- }
295
- else {
296
- return;
297
- }
298
- try {
299
- const fields = JSON.parse(fieldsFromUrl);
300
- authStore.setMissingFields(fields);
301
- state$1.data = fields;
302
- authStore.setStep("missing-fields");
303
- params.delete("error");
304
- params.delete("fields");
305
- const cleanUrl = `${url.origin}${url.pathname}${url.hash}`;
306
- window.history.replaceState(null, "", cleanUrl);
307
- }
308
- catch (e) {
309
- this.logger.error("Failed to parse missing fields payload:", e);
310
- authStore.setGlobalError("auth", "invalid_required_fields_payload");
311
- }
312
- }
313
- async sendMagicCode() {
314
- if (!state.sid && state.step !== "single-login") {
315
- throw new Error(t("errors.no_sign_in_id"));
316
- }
317
- authStore.setMagicCodeStep("requested");
318
- authStore.setLoading(true);
319
- authStore.clearErrors();
320
- if (state.step === "single-login") {
321
- const [error, response] = await this.createSignIn(state.email, undefined, true);
322
- authStore.setLoading(false);
323
- return [error, response];
324
- }
325
- const [error, response] = await this.client.auth.sendMagicCode(state.sid);
326
- authStore.setLoading(false);
327
- authStore.setStep("magic-code");
328
- if (!error) {
329
- authStore.setMagicCodeStep("sent");
330
- return [null, response];
331
- }
332
- authStore.setFieldError("magicCode", error);
333
- if (error === "magic_code_recently_created") {
334
- authStore.setMagicCodeStep("sent");
335
- }
336
- return [error, response];
337
- }
338
- async authenticateWithMagicCode(code) {
339
- if (!state.sid) {
340
- throw new Error(t("errors.no_sign_in_id"));
341
- }
342
- if (!code) {
343
- throw new Error(t("errors.magic_code_is_missing"));
344
- }
345
- authStore.setLoading(true);
346
- authStore.clearErrors();
347
- const [error, response] = await this.client.auth.authenticateWithMagicCode(state.sid, code);
348
- if (!error) {
349
- this.handleAuthSuccess(response);
350
- return;
351
- }
352
- if (error === "missing_required_fields") {
353
- this.handleMissingFields(response);
354
- return;
355
- }
356
- authStore.setLoading(false);
357
- authStore.setFieldError("magicCode", error);
358
- }
359
- async sendResetPasswordEmail() {
360
- if (!state.sid) {
361
- throw new Error(t("errors.no_sign_in_id"));
362
- }
363
- authStore.setLoading(true);
364
- authStore.setResetPasswordStep("requested");
365
- const [error, _] = await this.client.auth.sendResetPasswordEmail(state.sid, window.location.href);
366
- if (error) {
367
- authStore.setFieldError("resetPassword", error);
368
- }
369
- else {
370
- authStore.setResetPasswordStep("sent");
371
- authStore.clearErrors();
372
- }
373
- authStore.setLoading(false);
374
- }
375
- async handleResetPasswordRedirect() {
376
- const url = new URL(window.location.href);
377
- const params = url.searchParams;
378
- const resetToken = params.get("reset_password_token");
379
- if (!resetToken) {
380
- return false;
381
- }
382
- if (state.sid) {
383
- authStore.setLoading(true);
384
- const [error] = await this.client.auth.validateResetPasswordToken(state.sid, resetToken);
385
- if (error) {
386
- authStore.setFieldError("resetPassword", error);
387
- authStore.setStep("reset-password");
388
- authStore.setLoading(false);
389
- return false;
390
- }
391
- }
392
- authStore.setResetToken(resetToken);
393
- authStore.setStep("reset-password");
394
- authStore.setLoading(false);
395
- return true;
396
- }
397
- async resetPassword() {
398
- if (!state.resetPassword.token) {
399
- throw new Error("No reset token available");
400
- }
401
- if (!state.resetPassword.newPassword) {
402
- authStore.setFieldError("resetPassword", "password_required");
403
- return;
404
- }
405
- if (state.resetPassword.passwordConfirmation &&
406
- state.resetPassword.newPassword !== state.resetPassword.passwordConfirmation) {
407
- authStore.setFieldError("resetPassword", "passwords_do_not_match");
408
- return;
409
- }
410
- authStore.setLoading(true);
411
- authStore.clearErrors();
412
- const [error, response] = await this.client.auth.resetPassword(state.sid, state.resetPassword.token, state.resetPassword.newPassword, state.resetPassword.passwordConfirmation);
413
- if (error) {
414
- authStore.setFieldError("resetPassword", error);
415
- // TODO: add proper password requirements handling --> for now this is fine
416
- if (error === "invalid_password") {
417
- authStore.setFieldError("password", response.error_details?.password.map((p) => t(`errors.password_requirements.${p}`)).join("\n"));
418
- }
419
- }
420
- else {
421
- authStore.setStep("email");
422
- authStore.updateResetPassword({
423
- step: "completed",
424
- token: null,
425
- newPassword: "",
426
- passwordConfirmation: "",
427
- });
428
- clearUrlParam("reset_password_token");
429
- Flash.success.addMessage("Password reset successfully");
430
- }
431
- authStore.setLoading(false);
432
- }
433
- authenticateWithPasskey() {
434
- return authenticateWithPasskey(this.client, (response) => this.handleAuthSuccess(response));
435
- }
436
- extractSignInIdFromQuery() {
437
- const sid = clearUrlParam("sid");
438
- if (sid) {
439
- authStore.setSignInId(sid);
440
- }
441
- }
442
- handleMissingFields(response) {
443
- authStore.setMissingFields(response.fields);
444
- state$1.data = response.fields;
445
- authStore.setStep("missing-fields");
446
- authStore.setLoading(false);
447
- }
448
- handleAuthSuccess(response) {
449
- authStore.setToken(response.jwt);
450
- authStore.setLoading(false);
451
- authStore.getRootComponentRef()?.onAuth(response);
452
- }
453
- }
454
-
455
- class Auth {
456
- static instance;
457
- helpers;
458
- constructor(client) {
459
- this.helpers = new AuthHelpers(client);
460
- this.helpers.handleSocialAuthRedirect();
461
- this.helpers.handleResetPasswordRedirect();
462
- }
463
- static Errors = {
464
- email: {
465
- NOT_FOUND: "account_not_found",
466
- },
467
- magicCode: {
468
- RECENTLY_CREATED: "magic_code_recently_created",
469
- NOT_VALID: "magic_code_not_valid",
470
- EXPIRED: "magic_code_expired",
471
- USED: "magic_code_used",
472
- },
473
- password: {
474
- INVALID: "invalid_password",
475
- NOT_SET: "password_not_set",
476
- RESET_PASSWORD_ALREADY_SENT: "reset_password_already_sent",
477
- },
478
- general: {
479
- ACCOUNT_LOCKED: "account_locked",
480
- SIGN_IN_EXPIRED: "sign_in_expired",
481
- },
482
- };
483
- static async getInstance() {
484
- if (!Auth.isInitialized()) {
485
- await waitForConfig();
486
- return Auth.initialize(getUnidyClient());
487
- }
488
- return Auth.instance;
489
- }
490
- static initialize(client) {
491
- Auth.instance = new Auth(client);
492
- if (Auth.instance.isTokenValid(state.token)) {
493
- authStore.setAuthenticated(true);
494
- }
495
- return Auth.instance;
496
- }
497
- static isInitialized() {
498
- return !!Auth.instance;
499
- }
500
- isTokenValid(token) {
501
- try {
502
- let decoded;
503
- if (typeof token === "string") {
504
- decoded = jwtDecode(token);
505
- }
506
- else {
507
- decoded = token;
508
- }
509
- if (!decoded)
510
- return false;
511
- const currentTime = Date.now() / 1000;
512
- return decoded.exp > currentTime;
513
- }
514
- catch (error) {
515
- captureException(error);
516
- return false;
517
- }
518
- }
519
- async isAuthenticated() {
520
- const token = await this.getToken();
521
- return typeof token === "string";
522
- }
523
- async getToken() {
524
- const currentToken = state.token;
525
- if (currentToken && this.isTokenValid(currentToken)) {
526
- return currentToken;
527
- }
528
- await this.helpers.refreshToken();
529
- if (state.globalErrors.auth || !state.token) {
530
- return this.createAuthError(t("errors.refresh_failed"), "REFRESH_FAILED", true);
531
- }
532
- return state.token;
533
- }
534
- async userData() {
535
- const token = await this.getToken();
536
- if (typeof token !== "string") {
537
- return null;
538
- }
539
- if (!token) {
540
- return null;
541
- }
542
- try {
543
- return jwtDecode(token);
544
- }
545
- catch (error) {
546
- captureException(error);
547
- return null;
548
- }
549
- }
550
- async logout() {
551
- const [error, _] = await this.helpers.logout();
552
- if (error) {
553
- return this.createAuthError(t("errors.sign_out_failed", { reason: error }), "SIGN_OUT_FAILED", false);
554
- }
555
- authStore.reset();
556
- return true;
557
- }
558
- getEmail() {
559
- return state.email;
560
- }
561
- createAuthError(message, code, requiresReauth = false) {
562
- const error = new Error(message);
563
- error.code = code;
564
- error.requiresReauth = requiresReauth;
565
- return error;
566
- }
567
- }
568
-
569
- export { Auth as A };
570
- //# sourceMappingURL=auth.js.map
571
-
572
- //# sourceMappingURL=auth.js.map
@@ -1 +0,0 @@
1
- {"file":"auth.js","mappings":"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","names":["authState","profileState","Sentry.captureException"],"sources":["../../node_modules/jwt-decode/build/esm/index.js","src/auth/passkey-auth.ts","src/auth/auth-helpers.ts","src/auth/auth.ts"],"sourcesContent":["export class InvalidTokenError extends Error {\n}\nInvalidTokenError.prototype.name = \"InvalidTokenError\";\nfunction b64DecodeUnicode(str) {\n return decodeURIComponent(atob(str).replace(/(.)/g, (m, p) => {\n let code = p.charCodeAt(0).toString(16).toUpperCase();\n if (code.length < 2) {\n code = \"0\" + code;\n }\n return \"%\" + code;\n }));\n}\nfunction base64UrlDecode(str) {\n let output = str.replace(/-/g, \"+\").replace(/_/g, \"/\");\n switch (output.length % 4) {\n case 0:\n break;\n case 2:\n output += \"==\";\n break;\n case 3:\n output += \"=\";\n break;\n default:\n throw new Error(\"base64 string is not of the correct length\");\n }\n try {\n return b64DecodeUnicode(output);\n }\n catch (err) {\n return atob(output);\n }\n}\nexport function jwtDecode(token, options) {\n if (typeof token !== \"string\") {\n throw new InvalidTokenError(\"Invalid token specified: must be a string\");\n }\n options || (options = {});\n const pos = options.header === true ? 0 : 1;\n const part = token.split(\".\")[pos];\n if (typeof part !== \"string\") {\n throw new InvalidTokenError(`Invalid token specified: missing part #${pos + 1}`);\n }\n let decoded;\n try {\n decoded = base64UrlDecode(part);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid base64 for part #${pos + 1} (${e.message})`);\n }\n try {\n return JSON.parse(decoded);\n }\n catch (e) {\n throw new InvalidTokenError(`Invalid token specified: invalid json for part #${pos + 1} (${e.message})`);\n }\n}\n","import { jwtDecode } from \"jwt-decode\";\nimport type { PasskeyOptionsResponse, TokenResponse, UnidyClient } from \"../api\";\nimport { createLogger } from \"../logger\";\nimport type { TokenPayload } from \"./auth\";\nimport { authState, authStore } from \"./store/auth-store\";\n\nconst logger = createLogger(\"PasskeyAuth\");\n\nconst PASSKEY_ERRORS: Record<string, string> = {\n NotSupportedError: \"passkey_not_supported\",\n NotAllowedError: \"passkey_cancelled\",\n SecurityError: \"passkey_security_error\",\n InvalidStateError: \"passkey_invalid_state\",\n};\n\nfunction decodeBase64Url(base64url: string): Uint8Array {\n const base64 = base64url.replace(/-/g, \"+\").replace(/_/g, \"/\");\n const padded = base64 + \"=\".repeat((4 - (base64.length % 4)) % 4);\n return Uint8Array.from(atob(padded), (c) => c.charCodeAt(0));\n}\n\nfunction buildPublicKeyOptions(options: PasskeyOptionsResponse): PublicKeyCredentialRequestOptions {\n return {\n challenge: Uint8Array.from(atob(options.challenge), (c) => c.charCodeAt(0)),\n timeout: options.timeout || 60000,\n rpId: options.rpId,\n userVerification: (options.userVerification as UserVerificationRequirement) || \"required\",\n allowCredentials: options.allowCredentials?.map((cred) => ({\n ...cred,\n id: decodeBase64Url(cred.id),\n })),\n };\n}\n\nfunction formatCredentialForServer(credential: PublicKeyCredential) {\n const response = credential.response as AuthenticatorAssertionResponse;\n return {\n id: credential.id,\n rawId: btoa(String.fromCharCode(...new Uint8Array(credential.rawId))),\n response: {\n authenticatorData: btoa(String.fromCharCode(...new Uint8Array(response.authenticatorData))),\n clientDataJSON: btoa(String.fromCharCode(...new Uint8Array(response.clientDataJSON))),\n signature: btoa(String.fromCharCode(...new Uint8Array(response.signature))),\n },\n type: credential.type,\n };\n}\n\nfunction extractAndSetSignInId(tokenResponse: TokenResponse) {\n if (tokenResponse.sid) {\n authStore.setSignInId(tokenResponse.sid);\n return;\n }\n\n // Fallback: extract sid from JWT token payload\n try {\n const decoded = jwtDecode<TokenPayload>(tokenResponse.jwt);\n if (decoded.sid) {\n authStore.setSignInId(decoded.sid);\n }\n } catch {\n // Failed to decode JWT token to extract sid, continue without it\n }\n}\n\nfunction handlePasskeyError(error: unknown) {\n logger.error(\"Passkey error:\", error);\n\n let errorMessage = \"passkey_error\";\n if (error instanceof DOMException) {\n errorMessage = PASSKEY_ERRORS[error.name] || \"passkey_error\";\n }\n\n authStore.setGlobalError(\"auth\", errorMessage);\n authStore.setLoading(false);\n}\n\nexport async function authenticateWithPasskey(client: UnidyClient, onSuccess: (response: TokenResponse) => void) {\n authStore.setLoading(true);\n authStore.clearErrors();\n\n if (!window.PublicKeyCredential) {\n authStore.setGlobalError(\"auth\", \"passkey_not_supported\");\n authStore.setLoading(false);\n return;\n }\n\n try {\n const [optionsError, options] = await client.auth.getPasskeyOptions(authState.sid || undefined);\n\n if (optionsError || !options) {\n authStore.setGlobalError(\"auth\", optionsError || \"bad_request\");\n authStore.setLoading(false);\n return;\n }\n\n const publicKeyOptions = buildPublicKeyOptions(options as PasskeyOptionsResponse);\n\n const credential = (await navigator.credentials.get({\n publicKey: publicKeyOptions,\n })) as PublicKeyCredential | null;\n\n if (!credential) {\n authStore.setGlobalError(\"auth\", \"passkey_cancelled\");\n authStore.setLoading(false);\n return;\n }\n\n const formattedCredential = formatCredentialForServer(credential);\n\n const [verifyError, tkResponse] = await client.auth.authenticateWithPasskey(formattedCredential);\n\n const tokenResponse = tkResponse as TokenResponse;\n if (verifyError || !tokenResponse) {\n authStore.setGlobalError(\"auth\", verifyError || \"authentication_failed\");\n authStore.setLoading(false);\n return;\n }\n\n authStore.setToken(tokenResponse.jwt);\n extractAndSetSignInId(tokenResponse);\n onSuccess(tokenResponse);\n } catch (error) {\n handlePasskeyError(error);\n }\n}\n","import { authStore, authState } from \"../auth/store/auth-store\";\nimport type { CreateSignInResponse, RequiredFieldsResponse, TokenResponse, UnidyClient } from \"../api\";\nimport type { ProfileRaw } from \"../profile\";\nimport { state as profileState } from \"../profile/store/profile-store\";\nimport { Flash } from \"../shared/store/flash-store\";\nimport { clearUrlParam } from \"../shared/component-utils\";\nimport { t } from \"../i18n\";\nimport { authenticateWithPasskey } from \"./passkey-auth\";\nimport { jwtDecode } from \"jwt-decode\";\nimport type { TokenPayload } from \"./auth\";\nimport { createLogger } from \"../logger\";\n\nexport class AuthHelpers {\n private client: UnidyClient;\n private logger = createLogger(\"AuthHelpers\");\n\n constructor(client: UnidyClient) {\n this.client = client;\n }\n\n async createSignIn(email: string, password?: string, sendMagicCode?: boolean) {\n if (!email) {\n throw new Error(t(\"errors.required_field\", { field: \"Email\" }));\n }\n\n authStore.setLoading(true);\n authStore.clearErrors();\n\n const [error, response] = await this.client.auth.createSignIn(email, password, sendMagicCode);\n\n if (error) {\n this.handleAuthError(error, response);\n return;\n }\n\n if (password) {\n const token = jwtDecode<TokenPayload>((response as TokenResponse).jwt);\n authStore.setSignInId(token.sid);\n authStore.setToken((response as TokenResponse).jwt);\n authStore.setLoading(false);\n authStore.getRootComponentRef()?.onAuth(response as TokenResponse);\n return;\n }\n\n if (sendMagicCode) {\n authStore.setSignInId((response as CreateSignInResponse).sid);\n authStore.setMagicCodeStep(\"sent\");\n authStore.setStep(\"magic-code\");\n authStore.setLoading(false);\n return [error, response] as const;\n }\n const signInResponse = response as CreateSignInResponse;\n authStore.setStep(\"verification\");\n authStore.setEmail(email);\n authStore.setSignInId(signInResponse.sid);\n authStore.setLoginOptions(signInResponse.login_options);\n authStore.setLoading(false);\n }\n\n async authenticateWithPassword(password: string) {\n if (!authState.sid) {\n throw new Error(t(\"errors.no_sign_in_id\"));\n }\n\n if (!password) {\n throw new Error(t(\"errors.required_field\", { field: \"Password\" }));\n }\n\n authStore.setLoading(true);\n authStore.clearErrors();\n\n const [error, response] = await this.client.auth.authenticateWithPassword(authState.sid, password);\n\n if (error) {\n this.handleAuthError(error, response);\n } else {\n authStore.setLoading(false);\n this.handleAuthSuccess(response as TokenResponse);\n return;\n }\n }\n\n private handleAuthError(error: string, response: unknown) {\n if (error === \"account_not_found\") {\n authStore.setFieldError(\"email\", error);\n authStore.setLoading(false);\n return;\n }\n if (error === \"missing_required_fields\") {\n authStore.setMissingFields((response as RequiredFieldsResponse).fields);\n profileState.data = (response as RequiredFieldsResponse).fields as ProfileRaw;\n\n if ((response as RequiredFieldsResponse).sid) {\n authStore.setSignInId((response as RequiredFieldsResponse).sid as string);\n }\n\n authStore.setStep(\"missing-fields\");\n authStore.setLoading(false);\n return;\n }\n if (error === \"account_locked\") {\n authStore.setGlobalError(\"auth\", error);\n } else {\n authStore.setFieldError(\"password\", error);\n }\n authStore.setLoading(false);\n }\n\n async logout() {\n const [error, _] = await this.client.auth.signOut(authState.sid as string);\n\n if (error) {\n authStore.setGlobalError(\"auth\", error);\n }\n\n return [error, _] as const;\n }\n\n async refreshToken() {\n if (authState.step === \"missing-fields\") {\n return;\n }\n this.extractSignInIdFromQuery();\n\n if (!authState.sid) {\n this.logger.warn(\"No sign-in ID in the session\");\n return;\n }\n\n const [error, response] = await this.client.auth.refreshToken(authState.sid);\n\n if (error) {\n authStore.reset();\n authStore.setGlobalError(\"auth\", error);\n } else {\n authStore.setToken((response as TokenResponse).jwt);\n }\n }\n\n handleSocialAuthRedirect(): void {\n // missing required fields flow\n const url = new URL(window.location.href);\n const params = url.searchParams;\n const error = params.get(\"error\");\n\n if (error !== \"missing_required_fields\") {\n return;\n }\n\n const fieldsFromUrl = params.get(\"fields\");\n if (!fieldsFromUrl) {\n return;\n }\n\n const signInId = params.get(\"sid\");\n if (signInId) {\n authStore.setSignInId(signInId);\n } else {\n return;\n }\n\n try {\n const fields = JSON.parse(fieldsFromUrl);\n\n authStore.setMissingFields(fields);\n profileState.data = fields as ProfileRaw;\n authStore.setStep(\"missing-fields\");\n\n params.delete(\"error\");\n params.delete(\"fields\");\n const cleanUrl = `${url.origin}${url.pathname}${url.hash}`;\n window.history.replaceState(null, \"\", cleanUrl);\n } catch (e) {\n this.logger.error(\"Failed to parse missing fields payload:\", e);\n authStore.setGlobalError(\"auth\", \"invalid_required_fields_payload\");\n }\n }\n\n async sendMagicCode() {\n if (!authState.sid && authState.step !== \"single-login\") {\n throw new Error(t(\"errors.no_sign_in_id\"));\n }\n\n authStore.setMagicCodeStep(\"requested\");\n authStore.setLoading(true);\n authStore.clearErrors();\n\n if (authState.step === \"single-login\") {\n const [error, response] = await this.createSignIn(authState.email, undefined, true);\n authStore.setLoading(false);\n return [error, response] as const;\n }\n\n const [error, response] = await this.client.auth.sendMagicCode(authState.sid);\n\n authStore.setLoading(false);\n\n authStore.setStep(\"magic-code\");\n\n if (!error) {\n authStore.setMagicCodeStep(\"sent\");\n\n return [null, response] as const;\n }\n\n authStore.setFieldError(\"magicCode\", error);\n\n if (error === \"magic_code_recently_created\") {\n authStore.setMagicCodeStep(\"sent\");\n }\n\n return [error, response] as const;\n }\n\n async authenticateWithMagicCode(code: string) {\n if (!authState.sid) {\n throw new Error(t(\"errors.no_sign_in_id\"));\n }\n\n if (!code) {\n throw new Error(t(\"errors.magic_code_is_missing\"));\n }\n\n authStore.setLoading(true);\n authStore.clearErrors();\n\n const [error, response] = await this.client.auth.authenticateWithMagicCode(authState.sid, code);\n\n if (!error) {\n this.handleAuthSuccess(response as TokenResponse);\n return;\n }\n\n if (error === \"missing_required_fields\") {\n this.handleMissingFields(response as RequiredFieldsResponse);\n return;\n }\n\n authStore.setLoading(false);\n authStore.setFieldError(\"magicCode\", error);\n }\n\n async sendResetPasswordEmail() {\n if (!authState.sid) {\n throw new Error(t(\"errors.no_sign_in_id\"));\n }\n\n authStore.setLoading(true);\n authStore.setResetPasswordStep(\"requested\");\n\n const [error, _] = await this.client.auth.sendResetPasswordEmail(authState.sid, window.location.href);\n\n if (error) {\n authStore.setFieldError(\"resetPassword\", error);\n } else {\n authStore.setResetPasswordStep(\"sent\");\n authStore.clearErrors();\n }\n\n authStore.setLoading(false);\n }\n\n async handleResetPasswordRedirect(): Promise<boolean> {\n const url = new URL(window.location.href);\n const params = url.searchParams;\n const resetToken = params.get(\"reset_password_token\");\n\n if (!resetToken) {\n return false;\n }\n\n if (authState.sid) {\n authStore.setLoading(true);\n\n const [error] = await this.client.auth.validateResetPasswordToken(authState.sid, resetToken);\n\n if (error) {\n authStore.setFieldError(\"resetPassword\", error);\n authStore.setStep(\"reset-password\");\n authStore.setLoading(false);\n return false;\n }\n }\n\n authStore.setResetToken(resetToken);\n authStore.setStep(\"reset-password\");\n authStore.setLoading(false);\n\n return true;\n }\n\n async resetPassword() {\n if (!authState.resetPassword.token) {\n throw new Error(\"No reset token available\");\n }\n\n if (!authState.resetPassword.newPassword) {\n authStore.setFieldError(\"resetPassword\", \"password_required\");\n return;\n }\n\n if (\n authState.resetPassword.passwordConfirmation &&\n authState.resetPassword.newPassword !== authState.resetPassword.passwordConfirmation\n ) {\n authStore.setFieldError(\"resetPassword\", \"passwords_do_not_match\");\n return;\n }\n\n authStore.setLoading(true);\n authStore.clearErrors();\n\n const [error, response] = await this.client.auth.resetPassword(\n authState.sid as string,\n authState.resetPassword.token,\n authState.resetPassword.newPassword,\n authState.resetPassword.passwordConfirmation,\n );\n\n if (error) {\n authStore.setFieldError(\"resetPassword\", error);\n\n // TODO: add proper password requirements handling --> for now this is fine\n if (error === \"invalid_password\") {\n authStore.setFieldError(\"password\", response.error_details?.password.map((p) => t(`errors.password_requirements.${p}`)).join(\"\\n\"));\n }\n } else {\n authStore.setStep(\"email\");\n authStore.updateResetPassword({\n step: \"completed\",\n token: null,\n newPassword: \"\",\n passwordConfirmation: \"\",\n });\n\n clearUrlParam(\"reset_password_token\");\n Flash.success.addMessage(\"Password reset successfully\");\n }\n\n authStore.setLoading(false);\n }\n\n authenticateWithPasskey() {\n return authenticateWithPasskey(this.client, (response) => this.handleAuthSuccess(response));\n }\n\n private extractSignInIdFromQuery() {\n const sid = clearUrlParam(\"sid\");\n\n if (sid) {\n authStore.setSignInId(sid);\n }\n }\n\n private handleMissingFields(response: RequiredFieldsResponse) {\n authStore.setMissingFields(response.fields);\n profileState.data = response.fields as ProfileRaw;\n authStore.setStep(\"missing-fields\");\n authStore.setLoading(false);\n }\n\n private handleAuthSuccess(response: TokenResponse) {\n authStore.setToken(response.jwt);\n authStore.setLoading(false);\n authStore.getRootComponentRef()?.onAuth(response);\n }\n}\n","import * as Sentry from \"@sentry/browser\";\nimport type { UnidyClient } from \"../api\";\nimport { authStore, authState } from \"./store/auth-store\";\nimport { jwtDecode } from \"jwt-decode\";\nimport { AuthHelpers } from \"./auth-helpers\";\nimport { waitForConfig } from \"../shared/store/unidy-store\";\nimport { getUnidyClient } from \"../api\";\nimport { t } from \"../i18n\";\n\nexport interface TokenPayload {\n sub: string; // unidy id\n sid: string; // sign-in id\n exp: number;\n iat: number;\n iss: string;\n aud: string;\n nonce: string;\n auth_time: number;\n email: string;\n email_verified: boolean;\n [key: string]: unknown;\n}\n\nexport type AuthError = Error & {\n code: \"TOKEN_EXPIRED\" | \"REFRESH_FAILED\" | \"NO_TOKEN\" | \"INVALID_TOKEN\" | \"SIGN_IN_NOT_FOUND\" | \"SIGN_OUT_FAILED\";\n requiresReauth: boolean;\n};\n\nexport class Auth {\n private static instance: Auth;\n\n readonly helpers: AuthHelpers;\n\n private constructor(client: UnidyClient) {\n this.helpers = new AuthHelpers(client);\n this.helpers.handleSocialAuthRedirect();\n this.helpers.handleResetPasswordRedirect();\n }\n\n static Errors = {\n email: {\n NOT_FOUND: \"account_not_found\",\n },\n magicCode: {\n RECENTLY_CREATED: \"magic_code_recently_created\",\n NOT_VALID: \"magic_code_not_valid\",\n EXPIRED: \"magic_code_expired\",\n USED: \"magic_code_used\",\n },\n password: {\n INVALID: \"invalid_password\",\n NOT_SET: \"password_not_set\",\n RESET_PASSWORD_ALREADY_SENT: \"reset_password_already_sent\",\n },\n general: {\n ACCOUNT_LOCKED: \"account_locked\",\n SIGN_IN_EXPIRED: \"sign_in_expired\",\n },\n } as const;\n\n static async getInstance(): Promise<Auth> {\n if (!Auth.isInitialized()) {\n await waitForConfig();\n\n return Auth.initialize(getUnidyClient());\n }\n\n return Auth.instance;\n }\n\n static initialize(client: UnidyClient): Auth {\n Auth.instance = new Auth(client);\n\n if (Auth.instance.isTokenValid(authState.token)) {\n authStore.setAuthenticated(true);\n }\n\n return Auth.instance;\n }\n\n static isInitialized(): boolean {\n return !!Auth.instance;\n }\n\n isTokenValid(token: string | TokenPayload | null): boolean {\n try {\n let decoded: TokenPayload | null;\n\n if (typeof token === \"string\") {\n decoded = jwtDecode<TokenPayload>(token);\n } else {\n decoded = token;\n }\n\n if (!decoded) return false;\n\n const currentTime = Date.now() / 1000;\n return decoded.exp > currentTime;\n } catch (error) {\n Sentry.captureException(error);\n return false;\n }\n }\n\n async isAuthenticated(): Promise<boolean> {\n const token = await this.getToken();\n return typeof token === \"string\";\n }\n\n async getToken(): Promise<string | AuthError> {\n const currentToken = authState.token;\n\n if (currentToken && this.isTokenValid(currentToken)) {\n return currentToken;\n }\n\n await this.helpers.refreshToken();\n\n if (authState.globalErrors.auth || !authState.token) {\n return this.createAuthError(t(\"errors.refresh_failed\"), \"REFRESH_FAILED\", true);\n }\n\n return authState.token as string;\n }\n\n async userData(): Promise<TokenPayload | null> {\n const token = await this.getToken();\n\n if (typeof token !== \"string\") {\n return null;\n }\n\n if (!token) {\n return null;\n }\n\n try {\n return jwtDecode<TokenPayload>(token);\n } catch (error) {\n Sentry.captureException(error);\n return null;\n }\n }\n\n async logout(): Promise<boolean | AuthError> {\n const [error, _] = await this.helpers.logout();\n\n if (error) {\n return this.createAuthError(t(\"errors.sign_out_failed\", { reason: error }), \"SIGN_OUT_FAILED\", false);\n }\n\n authStore.reset();\n\n return true;\n }\n\n getEmail(): string | null {\n return authState.email;\n }\n\n private createAuthError(message: string, code: AuthError[\"code\"], requiresReauth = false): AuthError {\n const error = new Error(message) as AuthError;\n error.code = code;\n error.requiresReauth = requiresReauth;\n\n return error;\n }\n}\n"],"version":3}