@unidy.io/sdk 1.1.6 → 1.1.8

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 (807) hide show
  1. package/package.json +2 -2
  2. package/dist/cjs/app-globals-DSKjcXX_.js +0 -10
  3. package/dist/cjs/app-globals-DSKjcXX_.js.map +0 -1
  4. package/dist/cjs/auth-B83pzi0f.js +0 -582
  5. package/dist/cjs/auth-B83pzi0f.js.map +0 -1
  6. package/dist/cjs/auth-store-DPHWWmXf.js +0 -183
  7. package/dist/cjs/auth-store-DPHWWmXf.js.map +0 -1
  8. package/dist/cjs/component-utils-BpMyeVQo.js +0 -35
  9. package/dist/cjs/component-utils-BpMyeVQo.js.map +0 -1
  10. package/dist/cjs/flash-store-BuIBuQDx.js +0 -50
  11. package/dist/cjs/flash-store-BuIBuQDx.js.map +0 -1
  12. package/dist/cjs/helpers-BcPlKlBG.js +0 -11
  13. package/dist/cjs/helpers-BcPlKlBG.js.map +0 -1
  14. package/dist/cjs/helpers-DJyRa0Qo.js +0 -11
  15. package/dist/cjs/helpers-DJyRa0Qo.js.map +0 -1
  16. package/dist/cjs/i18n-BoDZ8kd2.js +0 -3236
  17. package/dist/cjs/i18n-BoDZ8kd2.js.map +0 -1
  18. package/dist/cjs/index-B_N5xKgH.js +0 -12025
  19. package/dist/cjs/index-B_N5xKgH.js.map +0 -1
  20. package/dist/cjs/index-DLz3FT7T.js +0 -214
  21. package/dist/cjs/index-DLz3FT7T.js.map +0 -1
  22. package/dist/cjs/index-R2MKLaem.js +0 -5267
  23. package/dist/cjs/index-R2MKLaem.js.map +0 -1
  24. package/dist/cjs/index.cjs.js +0 -64
  25. package/dist/cjs/index.cjs.js.map +0 -1
  26. package/dist/cjs/loader.cjs.js +0 -14
  27. package/dist/cjs/loader.cjs.js.map +0 -1
  28. package/dist/cjs/newsletter-helpers-D-V_8kiN.js +0 -289
  29. package/dist/cjs/newsletter-helpers-D-V_8kiN.js.map +0 -1
  30. package/dist/cjs/newsletter-store-BzytX7Qh.js +0 -38
  31. package/dist/cjs/newsletter-store-BzytX7Qh.js.map +0 -1
  32. package/dist/cjs/pagination-store-BEiW3MQd.js +0 -16
  33. package/dist/cjs/pagination-store-BEiW3MQd.js.map +0 -1
  34. package/dist/cjs/profile-helpers-B2h2III_.js +0 -39
  35. package/dist/cjs/profile-helpers-B2h2III_.js.map +0 -1
  36. package/dist/cjs/profile-store-P_BcYkef.js +0 -22
  37. package/dist/cjs/profile-store-P_BcYkef.js.map +0 -1
  38. package/dist/cjs/sdk.cjs.js +0 -26
  39. package/dist/cjs/sdk.cjs.js.map +0 -1
  40. package/dist/cjs/u-conditional-render.cjs.entry.js +0 -103
  41. package/dist/cjs/u-conditional-render.entry.cjs.js.map +0 -1
  42. package/dist/cjs/u-config.cjs.entry.js +0 -87
  43. package/dist/cjs/u-config.entry.cjs.js.map +0 -1
  44. package/dist/cjs/u-email-field.cjs.entry.js +0 -77
  45. package/dist/cjs/u-email-field.entry.cjs.js.map +0 -1
  46. package/dist/cjs/u-error-message.cjs.entry.js +0 -82
  47. package/dist/cjs/u-error-message.entry.cjs.js.map +0 -1
  48. package/dist/cjs/u-field.u-raw-field.entry.cjs.js.map +0 -1
  49. package/dist/cjs/u-field_2.cjs.entry.js +0 -375
  50. package/dist/cjs/u-flash-message.cjs.entry.js +0 -37
  51. package/dist/cjs/u-flash-message.entry.cjs.js.map +0 -1
  52. package/dist/cjs/u-full-profile.cjs.entry.js +0 -37
  53. package/dist/cjs/u-full-profile.entry.cjs.js.map +0 -1
  54. package/dist/cjs/u-logout-button.cjs.entry.js +0 -38
  55. package/dist/cjs/u-logout-button.entry.cjs.js.map +0 -1
  56. package/dist/cjs/u-magic-code-field.cjs.entry.js +0 -91
  57. package/dist/cjs/u-magic-code-field.entry.cjs.js.map +0 -1
  58. package/dist/cjs/u-missing-field.cjs.entry.js +0 -22
  59. package/dist/cjs/u-missing-field.entry.cjs.js.map +0 -1
  60. package/dist/cjs/u-missing-fields-submit-button.cjs.entry.js +0 -46
  61. package/dist/cjs/u-missing-fields-submit-button.entry.cjs.js.map +0 -1
  62. package/dist/cjs/u-newsletter-checkbox.cjs.entry.js +0 -63
  63. package/dist/cjs/u-newsletter-checkbox.entry.cjs.js.map +0 -1
  64. package/dist/cjs/u-newsletter-logout-button.cjs.entry.js +0 -36
  65. package/dist/cjs/u-newsletter-logout-button.entry.cjs.js.map +0 -1
  66. package/dist/cjs/u-newsletter-preference-checkbox.cjs.entry.js +0 -106
  67. package/dist/cjs/u-newsletter-preference-checkbox.entry.cjs.js.map +0 -1
  68. package/dist/cjs/u-newsletter-resend-doi-button.cjs.entry.js +0 -49
  69. package/dist/cjs/u-newsletter-resend-doi-button.entry.cjs.js.map +0 -1
  70. package/dist/cjs/u-newsletter-root.cjs.entry.js +0 -72
  71. package/dist/cjs/u-newsletter-root.entry.cjs.js.map +0 -1
  72. package/dist/cjs/u-newsletter-toggle-subscription-button.cjs.entry.js +0 -73
  73. package/dist/cjs/u-newsletter-toggle-subscription-button.entry.cjs.js.map +0 -1
  74. package/dist/cjs/u-pagination-button.cjs.entry.js +0 -63
  75. package/dist/cjs/u-pagination-button.entry.cjs.js.map +0 -1
  76. package/dist/cjs/u-pagination-page.cjs.entry.js +0 -44
  77. package/dist/cjs/u-pagination-page.entry.cjs.js.map +0 -1
  78. package/dist/cjs/u-passkey.cjs.entry.js +0 -47
  79. package/dist/cjs/u-passkey.entry.cjs.js.map +0 -1
  80. package/dist/cjs/u-password-field.cjs.entry.js +0 -104
  81. package/dist/cjs/u-password-field.entry.cjs.js.map +0 -1
  82. package/dist/cjs/u-profile.u-submit-button.entry.cjs.js.map +0 -1
  83. package/dist/cjs/u-profile_2.cjs.entry.js +0 -327
  84. package/dist/cjs/u-registration-button.cjs.entry.js +0 -48
  85. package/dist/cjs/u-registration-button.entry.cjs.js.map +0 -1
  86. package/dist/cjs/u-reset-password-button.cjs.entry.js +0 -47
  87. package/dist/cjs/u-reset-password-button.entry.cjs.js.map +0 -1
  88. package/dist/cjs/u-send-magic-code-button.cjs.entry.js +0 -68
  89. package/dist/cjs/u-send-magic-code-button.entry.cjs.js.map +0 -1
  90. package/dist/cjs/u-signed-in.cjs.entry.js +0 -25
  91. package/dist/cjs/u-signed-in.entry.cjs.js.map +0 -1
  92. package/dist/cjs/u-signin-root.cjs.entry.js +0 -43
  93. package/dist/cjs/u-signin-root.entry.cjs.js.map +0 -1
  94. package/dist/cjs/u-signin-step.cjs.entry.js +0 -66
  95. package/dist/cjs/u-signin-step.entry.cjs.js.map +0 -1
  96. package/dist/cjs/u-signin-strategy.cjs.entry.js +0 -30
  97. package/dist/cjs/u-signin-strategy.entry.cjs.js.map +0 -1
  98. package/dist/cjs/u-social-login-button.cjs.entry.js +0 -100
  99. package/dist/cjs/u-social-login-button.entry.cjs.js.map +0 -1
  100. package/dist/cjs/u-spinner.cjs.entry.js +0 -18
  101. package/dist/cjs/u-spinner.entry.cjs.js.map +0 -1
  102. package/dist/cjs/u-ticketable-list.cjs.entry.js +0 -6087
  103. package/dist/cjs/u-ticketable-list.entry.cjs.js.map +0 -1
  104. package/dist/cjs/unidy-store-7AbWnZ6g.js +0 -41
  105. package/dist/cjs/unidy-store-7AbWnZ6g.js.map +0 -1
  106. package/dist/collection/api/client.js +0 -144
  107. package/dist/collection/api/client.js.map +0 -1
  108. package/dist/collection/api/index.js +0 -42
  109. package/dist/collection/api/index.js.map +0 -1
  110. package/dist/collection/api/shared.js +0 -18
  111. package/dist/collection/api/shared.js.map +0 -1
  112. package/dist/collection/auth/api/auth.js +0 -264
  113. package/dist/collection/auth/api/auth.js.map +0 -1
  114. package/dist/collection/auth/auth-helpers.js +0 -297
  115. package/dist/collection/auth/auth-helpers.js.map +0 -1
  116. package/dist/collection/auth/auth.js +0 -124
  117. package/dist/collection/auth/auth.js.map +0 -1
  118. package/dist/collection/auth/components/helpers.js +0 -5
  119. package/dist/collection/auth/components/helpers.js.map +0 -1
  120. package/dist/collection/auth/components/logout-button/logout-button.js +0 -85
  121. package/dist/collection/auth/components/logout-button/logout-button.js.map +0 -1
  122. package/dist/collection/auth/components/magic-code-field/magic-code-field.css +0 -1
  123. package/dist/collection/auth/components/magic-code-field/magic-code-field.js +0 -113
  124. package/dist/collection/auth/components/magic-code-field/magic-code-field.js.map +0 -1
  125. package/dist/collection/auth/components/missing-field/missing-field.js +0 -14
  126. package/dist/collection/auth/components/missing-field/missing-field.js.map +0 -1
  127. package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js +0 -39
  128. package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js.map +0 -1
  129. package/dist/collection/auth/components/passkey/passkey.js +0 -103
  130. package/dist/collection/auth/components/passkey/passkey.js.map +0 -1
  131. package/dist/collection/auth/components/password-field/password-field.js +0 -166
  132. package/dist/collection/auth/components/password-field/password-field.js.map +0 -1
  133. package/dist/collection/auth/components/registration/registration-button.js +0 -104
  134. package/dist/collection/auth/components/registration/registration-button.js.map +0 -1
  135. package/dist/collection/auth/components/reset-pass-button/reset-pass-button.js +0 -59
  136. package/dist/collection/auth/components/reset-pass-button/reset-pass-button.js.map +0 -1
  137. package/dist/collection/auth/components/send-magic-code-button/send-magic-code-button.js +0 -104
  138. package/dist/collection/auth/components/send-magic-code-button/send-magic-code-button.js.map +0 -1
  139. package/dist/collection/auth/components/signed-in/signed-in.js +0 -59
  140. package/dist/collection/auth/components/signed-in/signed-in.js.map +0 -1
  141. package/dist/collection/auth/components/signin-root/signin-root.js +0 -97
  142. package/dist/collection/auth/components/signin-root/signin-root.js.map +0 -1
  143. package/dist/collection/auth/components/signin-step/signin-step.js +0 -135
  144. package/dist/collection/auth/components/signin-step/signin-step.js.map +0 -1
  145. package/dist/collection/auth/components/signin-strategy/signin-strategy.js +0 -64
  146. package/dist/collection/auth/components/signin-strategy/signin-strategy.js.map +0 -1
  147. package/dist/collection/auth/components/social-logins/logos/apple.js +0 -3
  148. package/dist/collection/auth/components/social-logins/logos/apple.js.map +0 -1
  149. package/dist/collection/auth/components/social-logins/logos/discord.js +0 -3
  150. package/dist/collection/auth/components/social-logins/logos/discord.js.map +0 -1
  151. package/dist/collection/auth/components/social-logins/logos/facebook.js +0 -3
  152. package/dist/collection/auth/components/social-logins/logos/facebook.js.map +0 -1
  153. package/dist/collection/auth/components/social-logins/logos/google.js +0 -3
  154. package/dist/collection/auth/components/social-logins/logos/google.js.map +0 -1
  155. package/dist/collection/auth/components/social-logins/logos/linkedin.js +0 -3
  156. package/dist/collection/auth/components/social-logins/logos/linkedin.js.map +0 -1
  157. package/dist/collection/auth/components/social-logins/social-login-button.css +0 -1
  158. package/dist/collection/auth/components/social-logins/social-login-button.js +0 -188
  159. package/dist/collection/auth/components/social-logins/social-login-button.js.map +0 -1
  160. package/dist/collection/auth/components/submit-button/auth-submit-button.js +0 -62
  161. package/dist/collection/auth/components/submit-button/auth-submit-button.js.map +0 -1
  162. package/dist/collection/auth/error-definitions.js +0 -26
  163. package/dist/collection/auth/error-definitions.js.map +0 -1
  164. package/dist/collection/auth/index.js +0 -14
  165. package/dist/collection/auth/index.js.map +0 -1
  166. package/dist/collection/auth/passkey-auth.js +0 -106
  167. package/dist/collection/auth/passkey-auth.js.map +0 -1
  168. package/dist/collection/auth/store/auth-store.js +0 -174
  169. package/dist/collection/auth/store/auth-store.js.map +0 -1
  170. package/dist/collection/collection-manifest.json +0 -46
  171. package/dist/collection/globalScript.js +0 -18
  172. package/dist/collection/globalScript.js.map +0 -1
  173. package/dist/collection/i18n.js +0 -31
  174. package/dist/collection/i18n.js.map +0 -1
  175. package/dist/collection/index.js +0 -16
  176. package/dist/collection/index.js.map +0 -1
  177. package/dist/collection/locales/de.json +0 -133
  178. package/dist/collection/locales/en.json +0 -133
  179. package/dist/collection/locales/fr.json +0 -133
  180. package/dist/collection/locales/it.json +0 -133
  181. package/dist/collection/locales/nl_be.json +0 -133
  182. package/dist/collection/locales/ro.json +0 -133
  183. package/dist/collection/logger.js +0 -106
  184. package/dist/collection/logger.js.map +0 -1
  185. package/dist/collection/newsletter/api/newsletters.js +0 -189
  186. package/dist/collection/newsletter/api/newsletters.js.map +0 -1
  187. package/dist/collection/newsletter/components/helpers.js +0 -5
  188. package/dist/collection/newsletter/components/helpers.js.map +0 -1
  189. package/dist/collection/newsletter/components/logout-button/logout-button.js +0 -48
  190. package/dist/collection/newsletter/components/logout-button/logout-button.js.map +0 -1
  191. package/dist/collection/newsletter/components/newsletter-checkbox/newsletter-checkbox.js +0 -109
  192. package/dist/collection/newsletter/components/newsletter-checkbox/newsletter-checkbox.js.map +0 -1
  193. package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js +0 -119
  194. package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js.map +0 -1
  195. package/dist/collection/newsletter/components/preference-checkbox/preference-checkbox.js +0 -178
  196. package/dist/collection/newsletter/components/preference-checkbox/preference-checkbox.js.map +0 -1
  197. package/dist/collection/newsletter/components/resend-doi-button/resend-doi-button.css +0 -1
  198. package/dist/collection/newsletter/components/resend-doi-button/resend-doi-button.js +0 -89
  199. package/dist/collection/newsletter/components/resend-doi-button/resend-doi-button.js.map +0 -1
  200. package/dist/collection/newsletter/components/submit-button/newsletter-submit-button.js +0 -18
  201. package/dist/collection/newsletter/components/submit-button/newsletter-submit-button.js.map +0 -1
  202. package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.css +0 -1
  203. package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.js +0 -154
  204. package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.js.map +0 -1
  205. package/dist/collection/newsletter/index.js +0 -11
  206. package/dist/collection/newsletter/index.js.map +0 -1
  207. package/dist/collection/newsletter/newsletter-helpers.js +0 -277
  208. package/dist/collection/newsletter/newsletter-helpers.js.map +0 -1
  209. package/dist/collection/newsletter/store/newsletter-store.js +0 -34
  210. package/dist/collection/newsletter/store/newsletter-store.js.map +0 -1
  211. package/dist/collection/profile/api/profile.js +0 -168
  212. package/dist/collection/profile/api/profile.js.map +0 -1
  213. package/dist/collection/profile/components/field/field.css +0 -1
  214. package/dist/collection/profile/components/field/field.js +0 -359
  215. package/dist/collection/profile/components/field/field.js.map +0 -1
  216. package/dist/collection/profile/components/full-profile/full-profile.css +0 -1
  217. package/dist/collection/profile/components/full-profile/full-profile.js +0 -78
  218. package/dist/collection/profile/components/full-profile/full-profile.js.map +0 -1
  219. package/dist/collection/profile/components/profile/profile.js +0 -250
  220. package/dist/collection/profile/components/profile/profile.js.map +0 -1
  221. package/dist/collection/profile/components/raw-field/raw-field.js +0 -697
  222. package/dist/collection/profile/components/raw-field/raw-field.js.map +0 -1
  223. package/dist/collection/profile/components/raw-input-fields/Input.js +0 -3
  224. package/dist/collection/profile/components/raw-input-fields/Input.js.map +0 -1
  225. package/dist/collection/profile/components/raw-input-fields/MultiSelect.js +0 -8
  226. package/dist/collection/profile/components/raw-input-fields/MultiSelect.js.map +0 -1
  227. package/dist/collection/profile/components/raw-input-fields/RadioGroup.js +0 -8
  228. package/dist/collection/profile/components/raw-input-fields/RadioGroup.js.map +0 -1
  229. package/dist/collection/profile/components/raw-input-fields/Select.js +0 -11
  230. package/dist/collection/profile/components/raw-input-fields/Select.js.map +0 -1
  231. package/dist/collection/profile/components/raw-input-fields/Textarea.js +0 -3
  232. package/dist/collection/profile/components/raw-input-fields/Textarea.js.map +0 -1
  233. package/dist/collection/profile/components/submit-button/profile-submit-button.js +0 -17
  234. package/dist/collection/profile/components/submit-button/profile-submit-button.js.map +0 -1
  235. package/dist/collection/profile/index.js +0 -13
  236. package/dist/collection/profile/index.js.map +0 -1
  237. package/dist/collection/profile/profile-helpers.js +0 -31
  238. package/dist/collection/profile/profile-helpers.js.map +0 -1
  239. package/dist/collection/profile/store/profile-store.js +0 -15
  240. package/dist/collection/profile/store/profile-store.js.map +0 -1
  241. package/dist/collection/sdk.css +0 -39
  242. package/dist/collection/shared/component-utils.js +0 -28
  243. package/dist/collection/shared/component-utils.js.map +0 -1
  244. package/dist/collection/shared/components/conditional-render/conditional-render.js +0 -178
  245. package/dist/collection/shared/components/conditional-render/conditional-render.js.map +0 -1
  246. package/dist/collection/shared/components/config/config.js +0 -260
  247. package/dist/collection/shared/components/config/config.js.map +0 -1
  248. package/dist/collection/shared/components/email-field/email-field.css +0 -1
  249. package/dist/collection/shared/components/email-field/email-field.js +0 -145
  250. package/dist/collection/shared/components/email-field/email-field.js.map +0 -1
  251. package/dist/collection/shared/components/error-message/error-message.js +0 -141
  252. package/dist/collection/shared/components/error-message/error-message.js.map +0 -1
  253. package/dist/collection/shared/components/flash-message/close-icon.js +0 -3
  254. package/dist/collection/shared/components/flash-message/close-icon.js.map +0 -1
  255. package/dist/collection/shared/components/flash-message/flash-message.css +0 -1
  256. package/dist/collection/shared/components/flash-message/flash-message.js +0 -79
  257. package/dist/collection/shared/components/flash-message/flash-message.js.map +0 -1
  258. package/dist/collection/shared/components/spinner/spinner.css +0 -1
  259. package/dist/collection/shared/components/spinner/spinner.js +0 -19
  260. package/dist/collection/shared/components/spinner/spinner.js.map +0 -1
  261. package/dist/collection/shared/components/submit-button/context.js +0 -10
  262. package/dist/collection/shared/components/submit-button/context.js.map +0 -1
  263. package/dist/collection/shared/components/submit-button/submit-button.css +0 -1
  264. package/dist/collection/shared/components/submit-button/submit-button.js +0 -196
  265. package/dist/collection/shared/components/submit-button/submit-button.js.map +0 -1
  266. package/dist/collection/shared/store/flash-store.js +0 -43
  267. package/dist/collection/shared/store/flash-store.js.map +0 -1
  268. package/dist/collection/shared/store/unidy-store.js +0 -33
  269. package/dist/collection/shared/store/unidy-store.js.map +0 -1
  270. package/dist/collection/ticketable/api/get-with-schema.js +0 -35
  271. package/dist/collection/ticketable/api/get-with-schema.js.map +0 -1
  272. package/dist/collection/ticketable/api/schemas.js +0 -12
  273. package/dist/collection/ticketable/api/schemas.js.map +0 -1
  274. package/dist/collection/ticketable/api/subscriptions.js +0 -47
  275. package/dist/collection/ticketable/api/subscriptions.js.map +0 -1
  276. package/dist/collection/ticketable/api/tickets.js +0 -48
  277. package/dist/collection/ticketable/api/tickets.js.map +0 -1
  278. package/dist/collection/ticketable/components/pagination/pagination-button.js +0 -108
  279. package/dist/collection/ticketable/components/pagination/pagination-button.js.map +0 -1
  280. package/dist/collection/ticketable/components/pagination/pagination-page.js +0 -69
  281. package/dist/collection/ticketable/components/pagination/pagination-page.js.map +0 -1
  282. package/dist/collection/ticketable/components/ticketable-list/skeleton-helpers.js +0 -54
  283. package/dist/collection/ticketable/components/ticketable-list/skeleton-helpers.js.map +0 -1
  284. package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js +0 -498
  285. package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js.map +0 -1
  286. package/dist/collection/ticketable/index.js +0 -13
  287. package/dist/collection/ticketable/index.js.map +0 -1
  288. package/dist/collection/ticketable/store/pagination-store.js +0 -9
  289. package/dist/collection/ticketable/store/pagination-store.js.map +0 -1
  290. package/dist/components/auth-store.js +0 -178
  291. package/dist/components/auth-store.js.map +0 -1
  292. package/dist/components/auth.js +0 -581
  293. package/dist/components/auth.js.map +0 -1
  294. package/dist/components/component-utils.js +0 -32
  295. package/dist/components/component-utils.js.map +0 -1
  296. package/dist/components/exports.js +0 -4106
  297. package/dist/components/exports.js.map +0 -1
  298. package/dist/components/field.js +0 -144
  299. package/dist/components/field.js.map +0 -1
  300. package/dist/components/flash-store.js +0 -47
  301. package/dist/components/flash-store.js.map +0 -1
  302. package/dist/components/helpers.js +0 -9
  303. package/dist/components/helpers.js.map +0 -1
  304. package/dist/components/helpers2.js +0 -9
  305. package/dist/components/helpers2.js.map +0 -1
  306. package/dist/components/i18n.js +0 -3234
  307. package/dist/components/i18n.js.map +0 -1
  308. package/dist/components/index.d.ts +0 -33
  309. package/dist/components/index.js +0 -5902
  310. package/dist/components/index.js.map +0 -1
  311. package/dist/components/index2.js +0 -5256
  312. package/dist/components/index2.js.map +0 -1
  313. package/dist/components/index3.js +0 -212
  314. package/dist/components/index3.js.map +0 -1
  315. package/dist/components/logger.js +0 -111
  316. package/dist/components/logger.js.map +0 -1
  317. package/dist/components/newsletter-helpers.js +0 -278
  318. package/dist/components/newsletter-helpers.js.map +0 -1
  319. package/dist/components/newsletter-store.js +0 -34
  320. package/dist/components/newsletter-store.js.map +0 -1
  321. package/dist/components/pagination-store.js +0 -14
  322. package/dist/components/pagination-store.js.map +0 -1
  323. package/dist/components/profile-helpers.js +0 -36
  324. package/dist/components/profile-helpers.js.map +0 -1
  325. package/dist/components/profile-store.js +0 -18
  326. package/dist/components/profile-store.js.map +0 -1
  327. package/dist/components/profile.js +0 -151
  328. package/dist/components/profile.js.map +0 -1
  329. package/dist/components/raw-field.js +0 -318
  330. package/dist/components/raw-field.js.map +0 -1
  331. package/dist/components/spinner.js +0 -35
  332. package/dist/components/spinner.js.map +0 -1
  333. package/dist/components/submit-button.js +0 -231
  334. package/dist/components/submit-button.js.map +0 -1
  335. package/dist/components/u-conditional-render.d.ts +0 -11
  336. package/dist/components/u-conditional-render.js +0 -121
  337. package/dist/components/u-conditional-render.js.map +0 -1
  338. package/dist/components/u-config.d.ts +0 -11
  339. package/dist/components/u-config.js +0 -113
  340. package/dist/components/u-config.js.map +0 -1
  341. package/dist/components/u-email-field.d.ts +0 -11
  342. package/dist/components/u-email-field.js +0 -99
  343. package/dist/components/u-email-field.js.map +0 -1
  344. package/dist/components/u-error-message.d.ts +0 -11
  345. package/dist/components/u-error-message.js +0 -105
  346. package/dist/components/u-error-message.js.map +0 -1
  347. package/dist/components/u-field.d.ts +0 -11
  348. package/dist/components/u-field.js +0 -9
  349. package/dist/components/u-field.js.map +0 -1
  350. package/dist/components/u-flash-message.d.ts +0 -11
  351. package/dist/components/u-flash-message.js +0 -58
  352. package/dist/components/u-flash-message.js.map +0 -1
  353. package/dist/components/u-full-profile.d.ts +0 -11
  354. package/dist/components/u-full-profile.js +0 -87
  355. package/dist/components/u-full-profile.js.map +0 -1
  356. package/dist/components/u-logout-button.d.ts +0 -11
  357. package/dist/components/u-logout-button.js +0 -53
  358. package/dist/components/u-logout-button.js.map +0 -1
  359. package/dist/components/u-magic-code-field.d.ts +0 -11
  360. package/dist/components/u-magic-code-field.js +0 -106
  361. package/dist/components/u-magic-code-field.js.map +0 -1
  362. package/dist/components/u-missing-field.d.ts +0 -11
  363. package/dist/components/u-missing-field.js +0 -57
  364. package/dist/components/u-missing-field.js.map +0 -1
  365. package/dist/components/u-missing-fields-submit-button.d.ts +0 -11
  366. package/dist/components/u-missing-fields-submit-button.js +0 -70
  367. package/dist/components/u-missing-fields-submit-button.js.map +0 -1
  368. package/dist/components/u-newsletter-checkbox.d.ts +0 -11
  369. package/dist/components/u-newsletter-checkbox.js +0 -77
  370. package/dist/components/u-newsletter-checkbox.js.map +0 -1
  371. package/dist/components/u-newsletter-logout-button.d.ts +0 -11
  372. package/dist/components/u-newsletter-logout-button.js +0 -51
  373. package/dist/components/u-newsletter-logout-button.js.map +0 -1
  374. package/dist/components/u-newsletter-preference-checkbox.d.ts +0 -11
  375. package/dist/components/u-newsletter-preference-checkbox.js +0 -124
  376. package/dist/components/u-newsletter-preference-checkbox.js.map +0 -1
  377. package/dist/components/u-newsletter-resend-doi-button.d.ts +0 -11
  378. package/dist/components/u-newsletter-resend-doi-button.js +0 -70
  379. package/dist/components/u-newsletter-resend-doi-button.js.map +0 -1
  380. package/dist/components/u-newsletter-root.d.ts +0 -11
  381. package/dist/components/u-newsletter-root.js +0 -90
  382. package/dist/components/u-newsletter-root.js.map +0 -1
  383. package/dist/components/u-newsletter-toggle-subscription-button.d.ts +0 -11
  384. package/dist/components/u-newsletter-toggle-subscription-button.js +0 -97
  385. package/dist/components/u-newsletter-toggle-subscription-button.js.map +0 -1
  386. package/dist/components/u-pagination-button.d.ts +0 -11
  387. package/dist/components/u-pagination-button.js +0 -86
  388. package/dist/components/u-pagination-button.js.map +0 -1
  389. package/dist/components/u-pagination-page.d.ts +0 -11
  390. package/dist/components/u-pagination-page.js +0 -66
  391. package/dist/components/u-pagination-page.js.map +0 -1
  392. package/dist/components/u-passkey.d.ts +0 -11
  393. package/dist/components/u-passkey.js +0 -65
  394. package/dist/components/u-passkey.js.map +0 -1
  395. package/dist/components/u-password-field.d.ts +0 -11
  396. package/dist/components/u-password-field.js +0 -125
  397. package/dist/components/u-password-field.js.map +0 -1
  398. package/dist/components/u-profile.d.ts +0 -11
  399. package/dist/components/u-profile.js +0 -9
  400. package/dist/components/u-profile.js.map +0 -1
  401. package/dist/components/u-raw-field.d.ts +0 -11
  402. package/dist/components/u-raw-field.js +0 -9
  403. package/dist/components/u-raw-field.js.map +0 -1
  404. package/dist/components/u-registration-button.d.ts +0 -11
  405. package/dist/components/u-registration-button.js +0 -70
  406. package/dist/components/u-registration-button.js.map +0 -1
  407. package/dist/components/u-reset-password-button.d.ts +0 -11
  408. package/dist/components/u-reset-password-button.js +0 -63
  409. package/dist/components/u-reset-password-button.js.map +0 -1
  410. package/dist/components/u-send-magic-code-button.d.ts +0 -11
  411. package/dist/components/u-send-magic-code-button.js +0 -85
  412. package/dist/components/u-send-magic-code-button.js.map +0 -1
  413. package/dist/components/u-signed-in.d.ts +0 -11
  414. package/dist/components/u-signed-in.js +0 -44
  415. package/dist/components/u-signed-in.js.map +0 -1
  416. package/dist/components/u-signin-root.d.ts +0 -11
  417. package/dist/components/u-signin-root.js +0 -63
  418. package/dist/components/u-signin-root.js.map +0 -1
  419. package/dist/components/u-signin-step.d.ts +0 -11
  420. package/dist/components/u-signin-step.js +0 -84
  421. package/dist/components/u-signin-step.js.map +0 -1
  422. package/dist/components/u-signin-strategy.d.ts +0 -11
  423. package/dist/components/u-signin-strategy.js +0 -50
  424. package/dist/components/u-signin-strategy.js.map +0 -1
  425. package/dist/components/u-social-login-button.d.ts +0 -11
  426. package/dist/components/u-social-login-button.js +0 -125
  427. package/dist/components/u-social-login-button.js.map +0 -1
  428. package/dist/components/u-spinner.d.ts +0 -11
  429. package/dist/components/u-spinner.js +0 -9
  430. package/dist/components/u-spinner.js.map +0 -1
  431. package/dist/components/u-submit-button.d.ts +0 -11
  432. package/dist/components/u-submit-button.js +0 -9
  433. package/dist/components/u-submit-button.js.map +0 -1
  434. package/dist/components/u-ticketable-list.d.ts +0 -11
  435. package/dist/components/u-ticketable-list.js +0 -6122
  436. package/dist/components/u-ticketable-list.js.map +0 -1
  437. package/dist/components/unidy-store.js +0 -37
  438. package/dist/components/unidy-store.js.map +0 -1
  439. package/dist/esm/app-globals-CPU9ZcqZ.js +0 -8
  440. package/dist/esm/app-globals-CPU9ZcqZ.js.map +0 -1
  441. package/dist/esm/auth-B0RIcDM-.js +0 -580
  442. package/dist/esm/auth-B0RIcDM-.js.map +0 -1
  443. package/dist/esm/auth-store-BGMYm_jK.js +0 -178
  444. package/dist/esm/auth-store-BGMYm_jK.js.map +0 -1
  445. package/dist/esm/component-utils-D1lzXl_Z.js +0 -32
  446. package/dist/esm/component-utils-D1lzXl_Z.js.map +0 -1
  447. package/dist/esm/flash-store-CEvWSG0c.js +0 -47
  448. package/dist/esm/flash-store-CEvWSG0c.js.map +0 -1
  449. package/dist/esm/helpers-BqFCd65h.js +0 -9
  450. package/dist/esm/helpers-BqFCd65h.js.map +0 -1
  451. package/dist/esm/helpers-DUHc_Cx7.js +0 -9
  452. package/dist/esm/helpers-DUHc_Cx7.js.map +0 -1
  453. package/dist/esm/i18n-CLdWzy5J.js +0 -3233
  454. package/dist/esm/i18n-CLdWzy5J.js.map +0 -1
  455. package/dist/esm/index-Bjp1XO-f.js +0 -212
  456. package/dist/esm/index-Bjp1XO-f.js.map +0 -1
  457. package/dist/esm/index-Ci3aTmzp.js +0 -12007
  458. package/dist/esm/index-Ci3aTmzp.js.map +0 -1
  459. package/dist/esm/index-DSDkaHWI.js +0 -5254
  460. package/dist/esm/index-DSDkaHWI.js.map +0 -1
  461. package/dist/esm/index.js +0 -40
  462. package/dist/esm/index.js.map +0 -1
  463. package/dist/esm/loader.js +0 -12
  464. package/dist/esm/loader.js.map +0 -1
  465. package/dist/esm/newsletter-helpers-CONtbKYi.js +0 -278
  466. package/dist/esm/newsletter-helpers-CONtbKYi.js.map +0 -1
  467. package/dist/esm/newsletter-store-DBL1A203.js +0 -34
  468. package/dist/esm/newsletter-store-DBL1A203.js.map +0 -1
  469. package/dist/esm/pagination-store-DzdJOp-n.js +0 -14
  470. package/dist/esm/pagination-store-DzdJOp-n.js.map +0 -1
  471. package/dist/esm/profile-helpers-CglNd6Nw.js +0 -36
  472. package/dist/esm/profile-helpers-CglNd6Nw.js.map +0 -1
  473. package/dist/esm/profile-store-RmZB2PTc.js +0 -18
  474. package/dist/esm/profile-store-RmZB2PTc.js.map +0 -1
  475. package/dist/esm/sdk.js +0 -22
  476. package/dist/esm/sdk.js.map +0 -1
  477. package/dist/esm/u-conditional-render.entry.js +0 -101
  478. package/dist/esm/u-conditional-render.entry.js.map +0 -1
  479. package/dist/esm/u-config.entry.js +0 -85
  480. package/dist/esm/u-config.entry.js.map +0 -1
  481. package/dist/esm/u-email-field.entry.js +0 -75
  482. package/dist/esm/u-email-field.entry.js.map +0 -1
  483. package/dist/esm/u-error-message.entry.js +0 -80
  484. package/dist/esm/u-error-message.entry.js.map +0 -1
  485. package/dist/esm/u-field.u-raw-field.entry.js.map +0 -1
  486. package/dist/esm/u-field_2.entry.js +0 -372
  487. package/dist/esm/u-flash-message.entry.js +0 -35
  488. package/dist/esm/u-flash-message.entry.js.map +0 -1
  489. package/dist/esm/u-full-profile.entry.js +0 -35
  490. package/dist/esm/u-full-profile.entry.js.map +0 -1
  491. package/dist/esm/u-logout-button.entry.js +0 -36
  492. package/dist/esm/u-logout-button.entry.js.map +0 -1
  493. package/dist/esm/u-magic-code-field.entry.js +0 -89
  494. package/dist/esm/u-magic-code-field.entry.js.map +0 -1
  495. package/dist/esm/u-missing-field.entry.js +0 -20
  496. package/dist/esm/u-missing-field.entry.js.map +0 -1
  497. package/dist/esm/u-missing-fields-submit-button.entry.js +0 -44
  498. package/dist/esm/u-missing-fields-submit-button.entry.js.map +0 -1
  499. package/dist/esm/u-newsletter-checkbox.entry.js +0 -61
  500. package/dist/esm/u-newsletter-checkbox.entry.js.map +0 -1
  501. package/dist/esm/u-newsletter-logout-button.entry.js +0 -34
  502. package/dist/esm/u-newsletter-logout-button.entry.js.map +0 -1
  503. package/dist/esm/u-newsletter-preference-checkbox.entry.js +0 -104
  504. package/dist/esm/u-newsletter-preference-checkbox.entry.js.map +0 -1
  505. package/dist/esm/u-newsletter-resend-doi-button.entry.js +0 -47
  506. package/dist/esm/u-newsletter-resend-doi-button.entry.js.map +0 -1
  507. package/dist/esm/u-newsletter-root.entry.js +0 -70
  508. package/dist/esm/u-newsletter-root.entry.js.map +0 -1
  509. package/dist/esm/u-newsletter-toggle-subscription-button.entry.js +0 -71
  510. package/dist/esm/u-newsletter-toggle-subscription-button.entry.js.map +0 -1
  511. package/dist/esm/u-pagination-button.entry.js +0 -61
  512. package/dist/esm/u-pagination-button.entry.js.map +0 -1
  513. package/dist/esm/u-pagination-page.entry.js +0 -42
  514. package/dist/esm/u-pagination-page.entry.js.map +0 -1
  515. package/dist/esm/u-passkey.entry.js +0 -45
  516. package/dist/esm/u-passkey.entry.js.map +0 -1
  517. package/dist/esm/u-password-field.entry.js +0 -102
  518. package/dist/esm/u-password-field.entry.js.map +0 -1
  519. package/dist/esm/u-profile.u-submit-button.entry.js.map +0 -1
  520. package/dist/esm/u-profile_2.entry.js +0 -324
  521. package/dist/esm/u-registration-button.entry.js +0 -46
  522. package/dist/esm/u-registration-button.entry.js.map +0 -1
  523. package/dist/esm/u-reset-password-button.entry.js +0 -45
  524. package/dist/esm/u-reset-password-button.entry.js.map +0 -1
  525. package/dist/esm/u-send-magic-code-button.entry.js +0 -66
  526. package/dist/esm/u-send-magic-code-button.entry.js.map +0 -1
  527. package/dist/esm/u-signed-in.entry.js +0 -23
  528. package/dist/esm/u-signed-in.entry.js.map +0 -1
  529. package/dist/esm/u-signin-root.entry.js +0 -41
  530. package/dist/esm/u-signin-root.entry.js.map +0 -1
  531. package/dist/esm/u-signin-step.entry.js +0 -64
  532. package/dist/esm/u-signin-step.entry.js.map +0 -1
  533. package/dist/esm/u-signin-strategy.entry.js +0 -28
  534. package/dist/esm/u-signin-strategy.entry.js.map +0 -1
  535. package/dist/esm/u-social-login-button.entry.js +0 -98
  536. package/dist/esm/u-social-login-button.entry.js.map +0 -1
  537. package/dist/esm/u-spinner.entry.js +0 -16
  538. package/dist/esm/u-spinner.entry.js.map +0 -1
  539. package/dist/esm/u-ticketable-list.entry.js +0 -6085
  540. package/dist/esm/u-ticketable-list.entry.js.map +0 -1
  541. package/dist/esm/unidy-store-BldTAtO0.js +0 -37
  542. package/dist/esm/unidy-store-BldTAtO0.js.map +0 -1
  543. package/dist/index.cjs.js +0 -1
  544. package/dist/index.js +0 -1
  545. package/dist/sdk/auth-BopPjv7G.js.map +0 -1
  546. package/dist/sdk/auth-C0vldOq6.js.map +0 -1
  547. package/dist/sdk/auth-store-DQaam_Qh.js.map +0 -1
  548. package/dist/sdk/auth-store-sOmplc4z.js.map +0 -1
  549. package/dist/sdk/component-utils-D1lzXl_Z.js.map +0 -1
  550. package/dist/sdk/flash-store-Cgu7WoSN.js.map +0 -1
  551. package/dist/sdk/flash-store-DNcSEn2p.js.map +0 -1
  552. package/dist/sdk/helpers-BqFCd65h.js.map +0 -1
  553. package/dist/sdk/helpers-DUHc_Cx7.js.map +0 -1
  554. package/dist/sdk/i18n-B6rRU-m3.js.map +0 -1
  555. package/dist/sdk/i18n-CZii1E-s.js.map +0 -1
  556. package/dist/sdk/index-B1aDcaWd.js.map +0 -1
  557. package/dist/sdk/index-BnBstyfp.js.map +0 -1
  558. package/dist/sdk/index-BqL27K_R.js.map +0 -1
  559. package/dist/sdk/index-C5jZjlU8.js.map +0 -1
  560. package/dist/sdk/index-Df-7P3r0.js.map +0 -1
  561. package/dist/sdk/index-Eu7hg2ii.js.map +0 -1
  562. package/dist/sdk/index-Iulyfmzq.js.map +0 -1
  563. package/dist/sdk/index-O6h7SI7-.js.map +0 -1
  564. package/dist/sdk/index.esm.js +0 -2
  565. package/dist/sdk/index.esm.js.map +0 -1
  566. package/dist/sdk/loader.esm.js.map +0 -1
  567. package/dist/sdk/locales/de.json +0 -133
  568. package/dist/sdk/locales/en.json +0 -133
  569. package/dist/sdk/locales/fr.json +0 -133
  570. package/dist/sdk/locales/it.json +0 -133
  571. package/dist/sdk/locales/nl_be.json +0 -133
  572. package/dist/sdk/locales/ro.json +0 -133
  573. package/dist/sdk/newsletter-helpers-8ByV38YW.js.map +0 -1
  574. package/dist/sdk/newsletter-helpers-B-Md6T9k.js.map +0 -1
  575. package/dist/sdk/newsletter-store-CqD-GcDC.js.map +0 -1
  576. package/dist/sdk/newsletter-store-CvULKmsu.js.map +0 -1
  577. package/dist/sdk/p-08ff2de2.entry.js +0 -2
  578. package/dist/sdk/p-08ff2de2.entry.js.map +0 -1
  579. package/dist/sdk/p-1ea49938.entry.js +0 -2
  580. package/dist/sdk/p-1ea49938.entry.js.map +0 -1
  581. package/dist/sdk/p-2a65bcbb.entry.js +0 -2
  582. package/dist/sdk/p-2a65bcbb.entry.js.map +0 -1
  583. package/dist/sdk/p-2af8b45f.entry.js +0 -2
  584. package/dist/sdk/p-2af8b45f.entry.js.map +0 -1
  585. package/dist/sdk/p-3411c743.entry.js +0 -2
  586. package/dist/sdk/p-3411c743.entry.js.map +0 -1
  587. package/dist/sdk/p-467c7304.entry.js +0 -2
  588. package/dist/sdk/p-467c7304.entry.js.map +0 -1
  589. package/dist/sdk/p-56abb377.entry.js +0 -2
  590. package/dist/sdk/p-56abb377.entry.js.map +0 -1
  591. package/dist/sdk/p-5703102b.entry.js +0 -2
  592. package/dist/sdk/p-5703102b.entry.js.map +0 -1
  593. package/dist/sdk/p-593c6dde.entry.js +0 -2
  594. package/dist/sdk/p-593c6dde.entry.js.map +0 -1
  595. package/dist/sdk/p-5b627aea.entry.js +0 -2
  596. package/dist/sdk/p-5b627aea.entry.js.map +0 -1
  597. package/dist/sdk/p-5babee6b.entry.js +0 -2
  598. package/dist/sdk/p-5babee6b.entry.js.map +0 -1
  599. package/dist/sdk/p-5cc20a8b.entry.js +0 -2
  600. package/dist/sdk/p-5cc20a8b.entry.js.map +0 -1
  601. package/dist/sdk/p-628ccd68.entry.js +0 -2
  602. package/dist/sdk/p-628ccd68.entry.js.map +0 -1
  603. package/dist/sdk/p-675eb13d.entry.js +0 -2
  604. package/dist/sdk/p-675eb13d.entry.js.map +0 -1
  605. package/dist/sdk/p-6893d167.entry.js +0 -2
  606. package/dist/sdk/p-6893d167.entry.js.map +0 -1
  607. package/dist/sdk/p-6a642433.entry.js +0 -2
  608. package/dist/sdk/p-6a642433.entry.js.map +0 -1
  609. package/dist/sdk/p-73c2ec89.entry.js +0 -2
  610. package/dist/sdk/p-73c2ec89.entry.js.map +0 -1
  611. package/dist/sdk/p-7a0cefff.entry.js +0 -2
  612. package/dist/sdk/p-7a0cefff.entry.js.map +0 -1
  613. package/dist/sdk/p-91bb8b59.entry.js +0 -2
  614. package/dist/sdk/p-91bb8b59.entry.js.map +0 -1
  615. package/dist/sdk/p-9f59909b.entry.js +0 -2
  616. package/dist/sdk/p-9f59909b.entry.js.map +0 -1
  617. package/dist/sdk/p-BZ1kW_eK.js +0 -2
  618. package/dist/sdk/p-BZ1kW_eK.js.map +0 -1
  619. package/dist/sdk/p-BlAULXyw.js +0 -2
  620. package/dist/sdk/p-BlAULXyw.js.map +0 -1
  621. package/dist/sdk/p-BlOjABPD.js +0 -2
  622. package/dist/sdk/p-BlOjABPD.js.map +0 -1
  623. package/dist/sdk/p-BqFCd65h.js +0 -2
  624. package/dist/sdk/p-BqFCd65h.js.map +0 -1
  625. package/dist/sdk/p-C0feI0p8.js +0 -2
  626. package/dist/sdk/p-C0feI0p8.js.map +0 -1
  627. package/dist/sdk/p-C3fhudPT.js +0 -2
  628. package/dist/sdk/p-C3fhudPT.js.map +0 -1
  629. package/dist/sdk/p-CFiZLMAA.js +0 -2
  630. package/dist/sdk/p-CFiZLMAA.js.map +0 -1
  631. package/dist/sdk/p-CPPYdoIv.js +0 -2
  632. package/dist/sdk/p-CPPYdoIv.js.map +0 -1
  633. package/dist/sdk/p-CbRhHGU5.js +0 -2
  634. package/dist/sdk/p-CbRhHGU5.js.map +0 -1
  635. package/dist/sdk/p-Ce8zGAi1.js +0 -2
  636. package/dist/sdk/p-Ce8zGAi1.js.map +0 -1
  637. package/dist/sdk/p-Ci3aTmzp.js +0 -3
  638. package/dist/sdk/p-Ci3aTmzp.js.map +0 -1
  639. package/dist/sdk/p-D1lzXl_Z.js +0 -2
  640. package/dist/sdk/p-D1lzXl_Z.js.map +0 -1
  641. package/dist/sdk/p-DA84OuuU.js +0 -2
  642. package/dist/sdk/p-DA84OuuU.js.map +0 -1
  643. package/dist/sdk/p-DUHc_Cx7.js +0 -2
  644. package/dist/sdk/p-DUHc_Cx7.js.map +0 -1
  645. package/dist/sdk/p-DYtgart8.js +0 -2
  646. package/dist/sdk/p-DYtgart8.js.map +0 -1
  647. package/dist/sdk/p-DdUvQelg.js +0 -2
  648. package/dist/sdk/p-DdUvQelg.js.map +0 -1
  649. package/dist/sdk/p-S3-2d2Qd.js +0 -2
  650. package/dist/sdk/p-S3-2d2Qd.js.map +0 -1
  651. package/dist/sdk/p-a4b7ffd8.entry.js +0 -2
  652. package/dist/sdk/p-a4b7ffd8.entry.js.map +0 -1
  653. package/dist/sdk/p-a5db968f.entry.js +0 -2
  654. package/dist/sdk/p-a5db968f.entry.js.map +0 -1
  655. package/dist/sdk/p-a6393d19.entry.js +0 -2
  656. package/dist/sdk/p-a6393d19.entry.js.map +0 -1
  657. package/dist/sdk/p-c31dbbb4.entry.js +0 -2
  658. package/dist/sdk/p-c31dbbb4.entry.js.map +0 -1
  659. package/dist/sdk/p-c5bffd90.entry.js +0 -2
  660. package/dist/sdk/p-c5bffd90.entry.js.map +0 -1
  661. package/dist/sdk/p-da363474.entry.js +0 -2
  662. package/dist/sdk/p-da363474.entry.js.map +0 -1
  663. package/dist/sdk/p-e3611b71.entry.js +0 -2
  664. package/dist/sdk/p-e3611b71.entry.js.map +0 -1
  665. package/dist/sdk/p-e3f28800.entry.js +0 -2
  666. package/dist/sdk/p-e3f28800.entry.js.map +0 -1
  667. package/dist/sdk/p-effaf86b.entry.js +0 -2
  668. package/dist/sdk/p-effaf86b.entry.js.map +0 -1
  669. package/dist/sdk/p-f0598e42.entry.js +0 -2
  670. package/dist/sdk/p-f0598e42.entry.js.map +0 -1
  671. package/dist/sdk/p-f369a996.entry.js +0 -2
  672. package/dist/sdk/p-f369a996.entry.js.map +0 -1
  673. package/dist/sdk/p-ffac964c.entry.js +0 -2
  674. package/dist/sdk/p-ffac964c.entry.js.map +0 -1
  675. package/dist/sdk/profile-helpers-BDjk573F.js.map +0 -1
  676. package/dist/sdk/profile-helpers-b8Koj20a.js.map +0 -1
  677. package/dist/sdk/profile-store-BZKApsQm.js.map +0 -1
  678. package/dist/sdk/profile-store-DD6sq42i.js.map +0 -1
  679. package/dist/sdk/sdk.css +0 -39
  680. package/dist/sdk/sdk.esm.js +0 -2
  681. package/dist/sdk/sdk.esm.js.map +0 -1
  682. package/dist/sdk/u-conditional-render.entry.esm.js.map +0 -1
  683. package/dist/sdk/u-config.entry.esm.js.map +0 -1
  684. package/dist/sdk/u-email-field.entry.esm.js.map +0 -1
  685. package/dist/sdk/u-error-message.entry.esm.js.map +0 -1
  686. package/dist/sdk/u-field.u-raw-field.entry.esm.js.map +0 -1
  687. package/dist/sdk/u-flash-message.entry.esm.js.map +0 -1
  688. package/dist/sdk/u-full-profile.entry.esm.js.map +0 -1
  689. package/dist/sdk/u-logout-button.entry.esm.js.map +0 -1
  690. package/dist/sdk/u-magic-code-field.entry.esm.js.map +0 -1
  691. package/dist/sdk/u-missing-field.entry.esm.js.map +0 -1
  692. package/dist/sdk/u-missing-fields-submit-button.entry.esm.js.map +0 -1
  693. package/dist/sdk/u-newsletter-checkbox.entry.esm.js.map +0 -1
  694. package/dist/sdk/u-newsletter-logout-button.entry.esm.js.map +0 -1
  695. package/dist/sdk/u-newsletter-preference-checkbox.entry.esm.js.map +0 -1
  696. package/dist/sdk/u-newsletter-resend-doi-button.entry.esm.js.map +0 -1
  697. package/dist/sdk/u-newsletter-root.entry.esm.js.map +0 -1
  698. package/dist/sdk/u-newsletter-toggle-subscription-button.entry.esm.js.map +0 -1
  699. package/dist/sdk/u-pagination-button.entry.esm.js.map +0 -1
  700. package/dist/sdk/u-pagination-page.entry.esm.js.map +0 -1
  701. package/dist/sdk/u-passkey.entry.esm.js.map +0 -1
  702. package/dist/sdk/u-password-field.entry.esm.js.map +0 -1
  703. package/dist/sdk/u-password-field.entry.js +0 -104
  704. package/dist/sdk/u-profile.u-submit-button.entry.esm.js.map +0 -1
  705. package/dist/sdk/u-registration-button.entry.esm.js.map +0 -1
  706. package/dist/sdk/u-reset-password-button.entry.esm.js.map +0 -1
  707. package/dist/sdk/u-reset-password-button.entry.js +0 -54
  708. package/dist/sdk/u-send-magic-code-button.entry.esm.js.map +0 -1
  709. package/dist/sdk/u-signed-in.entry.esm.js.map +0 -1
  710. package/dist/sdk/u-signin-root.entry.esm.js.map +0 -1
  711. package/dist/sdk/u-signin-step.entry.esm.js.map +0 -1
  712. package/dist/sdk/u-signin-strategy.entry.esm.js.map +0 -1
  713. package/dist/sdk/u-social-login-button.entry.esm.js.map +0 -1
  714. package/dist/sdk/u-spinner.entry.esm.js.map +0 -1
  715. package/dist/sdk/u-ticketable-list.entry.esm.js.map +0 -1
  716. package/dist/sdk/unidy-store-BwZym11Y.js.map +0 -1
  717. package/dist/sdk/unidy-store-CtifvCkV.js.map +0 -1
  718. package/dist/types/api/client.d.ts +0 -32
  719. package/dist/types/api/index.d.ts +0 -22
  720. package/dist/types/api/shared.d.ts +0 -20
  721. package/dist/types/auth/api/auth.d.ts +0 -300
  722. package/dist/types/auth/auth-helpers.d.ts +0 -375
  723. package/dist/types/auth/auth.d.ts +0 -54
  724. package/dist/types/auth/components/helpers.d.ts +0 -1
  725. package/dist/types/auth/components/logout-button/logout-button.d.ts +0 -8
  726. package/dist/types/auth/components/magic-code-field/magic-code-field.d.ts +0 -10
  727. package/dist/types/auth/components/missing-field/missing-field.d.ts +0 -4
  728. package/dist/types/auth/components/missing-fields-submit-button/missing-fields-submit-button.d.ts +0 -5
  729. package/dist/types/auth/components/passkey/passkey.d.ts +0 -9
  730. package/dist/types/auth/components/password-field/password-field.d.ts +0 -15
  731. package/dist/types/auth/components/registration/registration-button.d.ts +0 -11
  732. package/dist/types/auth/components/reset-pass-button/reset-pass-button.d.ts +0 -7
  733. package/dist/types/auth/components/send-magic-code-button/send-magic-code-button.d.ts +0 -11
  734. package/dist/types/auth/components/signed-in/signed-in.d.ts +0 -5
  735. package/dist/types/auth/components/signin-root/signin-root.d.ts +0 -14
  736. package/dist/types/auth/components/signin-step/signin-step.d.ts +0 -8
  737. package/dist/types/auth/components/signin-strategy/signin-strategy.d.ts +0 -5
  738. package/dist/types/auth/components/social-logins/logos/apple.d.ts +0 -4
  739. package/dist/types/auth/components/social-logins/logos/discord.d.ts +0 -4
  740. package/dist/types/auth/components/social-logins/logos/facebook.d.ts +0 -4
  741. package/dist/types/auth/components/social-logins/logos/google.d.ts +0 -4
  742. package/dist/types/auth/components/social-logins/logos/linkedin.d.ts +0 -4
  743. package/dist/types/auth/components/social-logins/social-login-button.d.ts +0 -24
  744. package/dist/types/auth/components/submit-button/auth-submit-button.d.ts +0 -3
  745. package/dist/types/auth/error-definitions.d.ts +0 -23
  746. package/dist/types/auth/index.d.ts +0 -16
  747. package/dist/types/auth/passkey-auth.d.ts +0 -2
  748. package/dist/types/auth/store/auth-store.d.ts +0 -56
  749. package/dist/types/components.d.ts +0 -1246
  750. package/dist/types/globalScript.d.ts +0 -1
  751. package/dist/types/i18n.d.ts +0 -3
  752. package/dist/types/index.d.ts +0 -16
  753. package/dist/types/logger.d.ts +0 -55
  754. package/dist/types/newsletter/api/newsletters.d.ts +0 -198
  755. package/dist/types/newsletter/components/helpers.d.ts +0 -1
  756. package/dist/types/newsletter/components/logout-button/logout-button.d.ts +0 -6
  757. package/dist/types/newsletter/components/newsletter-checkbox/newsletter-checkbox.d.ts +0 -10
  758. package/dist/types/newsletter/components/newsletter-root/newsletter-root.d.ts +0 -11
  759. package/dist/types/newsletter/components/preference-checkbox/preference-checkbox.d.ts +0 -23
  760. package/dist/types/newsletter/components/resend-doi-button/resend-doi-button.d.ts +0 -8
  761. package/dist/types/newsletter/components/submit-button/newsletter-submit-button.d.ts +0 -3
  762. package/dist/types/newsletter/components/toggle-subscription-button/toggle-subscription-button.d.ts +0 -12
  763. package/dist/types/newsletter/index.d.ts +0 -10
  764. package/dist/types/newsletter/newsletter-helpers.d.ts +0 -15
  765. package/dist/types/newsletter/store/newsletter-store.d.ts +0 -25
  766. package/dist/types/profile/api/profile.d.ts +0 -238
  767. package/dist/types/profile/components/field/field.d.ts +0 -40
  768. package/dist/types/profile/components/full-profile/full-profile.d.ts +0 -6
  769. package/dist/types/profile/components/profile/profile.d.ts +0 -27
  770. package/dist/types/profile/components/raw-field/raw-field.d.ts +0 -45
  771. package/dist/types/profile/components/raw-input-fields/Input.d.ts +0 -17
  772. package/dist/types/profile/components/raw-input-fields/MultiSelect.d.ts +0 -28
  773. package/dist/types/profile/components/raw-input-fields/RadioGroup.d.ts +0 -30
  774. package/dist/types/profile/components/raw-input-fields/Select.d.ts +0 -24
  775. package/dist/types/profile/components/raw-input-fields/Textarea.d.ts +0 -17
  776. package/dist/types/profile/components/submit-button/profile-submit-button.d.ts +0 -2
  777. package/dist/types/profile/index.d.ts +0 -13
  778. package/dist/types/profile/profile-helpers.d.ts +0 -7
  779. package/dist/types/profile/store/profile-store.d.ts +0 -39
  780. package/dist/types/shared/component-utils.d.ts +0 -9
  781. package/dist/types/shared/components/conditional-render/conditional-render.d.ts +0 -11
  782. package/dist/types/shared/components/config/config.d.ts +0 -31
  783. package/dist/types/shared/components/email-field/email-field.d.ts +0 -13
  784. package/dist/types/shared/components/error-message/error-message.d.ts +0 -15
  785. package/dist/types/shared/components/flash-message/close-icon.d.ts +0 -1
  786. package/dist/types/shared/components/flash-message/flash-message.d.ts +0 -6
  787. package/dist/types/shared/components/spinner/spinner.d.ts +0 -3
  788. package/dist/types/shared/components/submit-button/context.d.ts +0 -9
  789. package/dist/types/shared/components/submit-button/submit-button.d.ts +0 -20
  790. package/dist/types/shared/store/flash-store.d.ts +0 -29
  791. package/dist/types/shared/store/unidy-store.d.ts +0 -12
  792. package/dist/types/stencil-public-runtime.d.ts +0 -1756
  793. package/dist/types/ticketable/api/get-with-schema.d.ts +0 -3
  794. package/dist/types/ticketable/api/schemas.d.ts +0 -18
  795. package/dist/types/ticketable/api/subscriptions.d.ts +0 -84
  796. package/dist/types/ticketable/api/tickets.d.ts +0 -86
  797. package/dist/types/ticketable/components/pagination/pagination-button.d.ts +0 -14
  798. package/dist/types/ticketable/components/pagination/pagination-page.d.ts +0 -12
  799. package/dist/types/ticketable/components/ticketable-list/skeleton-helpers.d.ts +0 -13
  800. package/dist/types/ticketable/components/ticketable-list/ticketable-list.d.ts +0 -41
  801. package/dist/types/ticketable/index.d.ts +0 -12
  802. package/dist/types/ticketable/store/pagination-store.d.ts +0 -10
  803. package/loader/cdn.js +0 -1
  804. package/loader/index.cjs.js +0 -1
  805. package/loader/index.d.ts +0 -24
  806. package/loader/index.es2017.js +0 -1
  807. package/loader/index.js +0 -2
@@ -1,277 +0,0 @@
1
- import { getUnidyClient } from "../api";
2
- import { Auth } from "../auth/auth";
3
- import { t } from "../i18n";
4
- import { createLogger } from "../logger";
5
- import { Flash } from "../shared/store/flash-store";
6
- import { newsletterStore, persist, } from "./store/newsletter-store";
7
- const logger = createLogger("NewsletterHelpers");
8
- const PERSIST_KEY_PREFIX = "unidy_newsletter_";
9
- export function newsletterLogout() {
10
- newsletterStore.state.preferenceToken = "";
11
- newsletterStore.state.existingSubscriptions = [];
12
- sessionStorage.removeItem(`${PERSIST_KEY_PREFIX}preferenceToken`);
13
- sessionStorage.removeItem(`${PERSIST_KEY_PREFIX}email`);
14
- }
15
- export async function resendDoi(internalName) {
16
- const { preferenceToken } = newsletterStore.state;
17
- const authInstance = await Auth.getInstance();
18
- const idToken = await authInstance.getToken();
19
- const response = await getUnidyClient().newsletters.resendDoi(internalName, { redirect_to_after_confirmation: redirectToAfterConfirmationUrl() }, {
20
- preferenceToken: typeof preferenceToken === "string" ? preferenceToken : "",
21
- idToken: typeof idToken === "string" ? idToken : "",
22
- });
23
- if (response.status === 204) {
24
- return true;
25
- }
26
- if (response.status === 401) {
27
- Flash.error.addMessage(t("newsletter.errors.unauthorized"));
28
- newsletterLogout();
29
- return false;
30
- }
31
- return false;
32
- }
33
- export async function sendLoginEmail(email) {
34
- const response = await getUnidyClient().newsletters.sendLoginEmail({
35
- email,
36
- redirect_uri: redirectToAfterConfirmationUrl(),
37
- });
38
- if (response.status === 204) {
39
- Flash.info.addMessage(t("newsletter.success.login_email_sent"));
40
- }
41
- else if (response.status === 404) {
42
- Flash.error.addMessage(t("newsletter.errors.login_email_not_found"));
43
- }
44
- else {
45
- Flash.error.addMessage(t("errors.unknown", { defaultValue: "An unknown error occurred" }));
46
- }
47
- }
48
- export async function fetchSubscriptions() {
49
- const { preferenceToken } = newsletterStore.state;
50
- // either preference token is needed or the user must be authenticated
51
- if (!preferenceToken && !newsletterStore.state.isAuthenticated) {
52
- logger.error("Preference token or authentication is required to fetch subscriptions");
53
- return;
54
- }
55
- const authInstance = await Auth.getInstance();
56
- const idToken = await authInstance.getToken();
57
- newsletterStore.state.fetchingSubscriptions = true;
58
- const response = await getUnidyClient().newsletters.listSubscriptions({
59
- preferenceToken,
60
- idToken: typeof idToken === "string" ? idToken : "",
61
- });
62
- newsletterStore.state.fetchingSubscriptions = false;
63
- if (response.status === 401) {
64
- newsletterLogout();
65
- Flash.error.addMessage(t("newsletter.errors.unauthorized"));
66
- return;
67
- }
68
- if (response.success && response.data) {
69
- newsletterStore.state.existingSubscriptions = response.data.map((sub) => ({
70
- newsletter_internal_name: sub.newsletter_internal_name,
71
- confirmed: sub.confirmed_at !== null,
72
- preference_identifiers: sub.preference_identifiers || [],
73
- }));
74
- // init checked newsletters and preferences
75
- const checkedNewsletters = { ...newsletterStore.state.checkedNewsletters };
76
- for (const sub of response.data) {
77
- checkedNewsletters[sub.newsletter_internal_name] = [...(sub.preference_identifiers || [])];
78
- }
79
- newsletterStore.state.checkedNewsletters = checkedNewsletters;
80
- }
81
- }
82
- async function handleAlreadySubscribedError(email, errors) {
83
- if (newsletterStore.state.isAuthenticated || newsletterStore.state.preferenceToken) {
84
- const existingNames = new Set(newsletterStore.state.existingSubscriptions.map((s) => s.newsletter_internal_name));
85
- const newSubscriptions = errors
86
- .filter((err) => err.error_identifier === "already_subscribed" && !existingNames.has(err.meta.newsletter_internal_name))
87
- .map((err) => ({
88
- newsletter_internal_name: err.meta.newsletter_internal_name,
89
- confirmed: null,
90
- preference_identifiers: [],
91
- }));
92
- if (newSubscriptions.length > 0) {
93
- newsletterStore.state.existingSubscriptions = [...newsletterStore.state.existingSubscriptions, ...newSubscriptions];
94
- }
95
- }
96
- else {
97
- await sendLoginEmail(email);
98
- }
99
- }
100
- async function handleCreateSubscriptionRequest(email, internalNames, showSuccessMessage = true) {
101
- const authInstance = await Auth.getInstance();
102
- const idToken = await authInstance.getToken();
103
- const { checkedNewsletters } = newsletterStore.state;
104
- const [error, response] = await getUnidyClient().newsletters.createSubscriptions({
105
- email,
106
- newsletter_subscriptions: internalNames.map((newsletter) => ({
107
- newsletter_internal_name: newsletter,
108
- preference_identifiers: checkedNewsletters[newsletter] || [],
109
- })),
110
- redirect_to_after_confirmation: redirectToAfterConfirmationUrl(),
111
- }, {
112
- idToken: typeof idToken === "string" ? idToken : "",
113
- });
114
- if (error === null) {
115
- if (response.data?.results && response.data.results.length > 0) {
116
- const newSubscriptions = response.data.results.map((result) => ({
117
- newsletter_internal_name: result.newsletter_internal_name,
118
- confirmed: result.confirmed_at !== null,
119
- preference_identifiers: result.preference_identifiers || [],
120
- }));
121
- newsletterStore.state.existingSubscriptions = [...newsletterStore.state.existingSubscriptions, ...newSubscriptions];
122
- }
123
- if (showSuccessMessage) {
124
- Flash.success.addMessage(t("newsletter.success.subscribe"));
125
- }
126
- return true;
127
- }
128
- if (error === "unauthorized") {
129
- Flash.error.addMessage(t("newsletter.errors.unauthorized"));
130
- newsletterLogout();
131
- return false;
132
- }
133
- if (error === "newsletter_error") {
134
- const errors = response.data?.errors || [];
135
- const errorMap = {};
136
- // special error case which is handled differently: if user is not authenticated, we send a login email, otherwise we add the
137
- // already_subscribed subscriptions to the existing subscriptions
138
- const hasAlreadySubscribedError = errors.some((err) => err.error_identifier === "already_subscribed");
139
- if (hasAlreadySubscribedError) {
140
- await handleAlreadySubscribedError(email, errors);
141
- }
142
- const newsletterNotFoundError = errors.some((err) => err.error_identifier === "newsletter_not_found");
143
- if (newsletterNotFoundError) {
144
- errorMap.general = "newsletter_not_found";
145
- }
146
- const hasInvalidEmailError = errors.some((err) => err.error_identifier === "validation_error" && err.error_details && "email" in err.error_details);
147
- if (hasInvalidEmailError) {
148
- errorMap.email = "invalid_email";
149
- }
150
- else {
151
- for (const err of errors) {
152
- errorMap[err.meta.newsletter_internal_name] = err.error_identifier;
153
- }
154
- }
155
- newsletterStore.state.errors = errorMap;
156
- }
157
- else {
158
- Flash.error.addMessage(t("errors.unknown", { defaultValue: "An unknown error occurred" }));
159
- }
160
- return false;
161
- }
162
- export async function subscribeToNewsletter(internalName, email) {
163
- return handleCreateSubscriptionRequest(email, [internalName], false);
164
- }
165
- export async function createSubscriptions({ email }) {
166
- const internalNames = Object.keys(newsletterStore.state.checkedNewsletters);
167
- await handleCreateSubscriptionRequest(email, internalNames, true);
168
- }
169
- export async function deleteSubscription(internalName) {
170
- const { preferenceToken } = newsletterStore.state;
171
- // either preference token is needed or the user must be authenticated to delete a subscription
172
- if (!preferenceToken && !newsletterStore.state.isAuthenticated) {
173
- logger.error("Preference token or authentication is required to delete a subscription");
174
- return false;
175
- }
176
- const authInstance = await Auth.getInstance();
177
- const idToken = await authInstance.getToken();
178
- const response = await getUnidyClient().newsletters.deleteSubscription(internalName, {
179
- preferenceToken,
180
- idToken: typeof idToken === "string" ? idToken : "",
181
- });
182
- if (response.status === 200 && response.data?.new_preference_token) {
183
- // if user is not authenticated, we need to store the new preference token which is used for the next request
184
- if (!newsletterStore.state.isAuthenticated) {
185
- newsletterStore.state.preferenceToken = response.data.new_preference_token;
186
- persist("preferenceToken");
187
- }
188
- newsletterStore.state.existingSubscriptions = newsletterStore.state.existingSubscriptions.filter((sub) => sub.newsletter_internal_name !== internalName);
189
- // Reset checked preferences to defaults (preferences marked with checked='true')
190
- const defaultPrefs = newsletterStore.state.defaultPreferences[internalName];
191
- newsletterStore.state.checkedNewsletters = {
192
- ...newsletterStore.state.checkedNewsletters,
193
- [internalName]: defaultPrefs ? [...defaultPrefs] : [],
194
- };
195
- return true;
196
- }
197
- if (response.status === 204) {
198
- newsletterLogout();
199
- newsletterStore.state.checkedNewsletters = {};
200
- return true;
201
- }
202
- if (response.status === 401) {
203
- Flash.error.addMessage(t("newsletter.errors.unauthorized"));
204
- newsletterLogout();
205
- return false;
206
- }
207
- if (response.status === 422) {
208
- return false;
209
- }
210
- Flash.error.addMessage(t("errors.unknown", { defaultValue: "An unknown error occurred" }));
211
- return false;
212
- }
213
- export function getSubscription(internalName) {
214
- return newsletterStore.state.existingSubscriptions.find((sub) => sub.newsletter_internal_name === internalName);
215
- }
216
- export function isSubscribed(internalName) {
217
- return newsletterStore.state.existingSubscriptions.some((sub) => sub.newsletter_internal_name === internalName);
218
- }
219
- export function isConfirmed(internalName) {
220
- const sub = getSubscription(internalName);
221
- return sub?.confirmed ?? false;
222
- }
223
- function redirectToAfterConfirmationUrl() {
224
- const baseUrl = `${location.origin}${location.pathname}`;
225
- const params = new URLSearchParams(location.search);
226
- for (const key of ["email", "newsletter_error"]) {
227
- params.delete(key);
228
- }
229
- const queryString = params.toString();
230
- return queryString ? `${baseUrl}?${queryString}` : baseUrl;
231
- }
232
- export function getSubscriptionPreferences(internalName) {
233
- const subscription = getSubscription(internalName);
234
- return subscription?.preference_identifiers || [];
235
- }
236
- export async function updateSubscriptionPreferences(internalName) {
237
- const { preferenceToken } = newsletterStore.state;
238
- // Either preference token is needed or the user must be authenticated
239
- if (!preferenceToken && !newsletterStore.state.isAuthenticated) {
240
- logger.error("Preference token or authentication is required to update subscription preferences");
241
- return false;
242
- }
243
- // Check if the subscription exists
244
- if (!isSubscribed(internalName)) {
245
- logger.error(`Cannot update preferences: not subscribed to newsletter '${internalName}'`);
246
- return false;
247
- }
248
- const authInstance = await Auth.getInstance();
249
- const idToken = await authInstance.getToken();
250
- const preferenceIdentifiers = newsletterStore.state.checkedNewsletters[internalName] || [];
251
- const response = await getUnidyClient().newsletters.updateSubscription(internalName, { preference_identifiers: preferenceIdentifiers }, {
252
- preferenceToken,
253
- idToken: typeof idToken === "string" ? idToken : "",
254
- });
255
- if (response.status === 401) {
256
- Flash.error.addMessage(t("newsletter.errors.unauthorized"));
257
- newsletterLogout();
258
- return false;
259
- }
260
- if (response.success && response.data) {
261
- // Update the local subscription with the new preferences
262
- const subscriptionIndex = newsletterStore.state.existingSubscriptions.findIndex((sub) => sub.newsletter_internal_name === internalName);
263
- if (subscriptionIndex !== -1) {
264
- const updatedSubscriptions = [...newsletterStore.state.existingSubscriptions];
265
- updatedSubscriptions[subscriptionIndex] = {
266
- ...updatedSubscriptions[subscriptionIndex],
267
- preference_identifiers: response.data.preference_identifiers || [],
268
- };
269
- newsletterStore.state.existingSubscriptions = updatedSubscriptions;
270
- }
271
- Flash.success.addMessage(t("newsletter.success.preferences_updated"));
272
- return true;
273
- }
274
- Flash.error.addMessage(t("errors.unknown", { defaultValue: "An unknown error occurred" }));
275
- return false;
276
- }
277
- //# sourceMappingURL=newsletter-helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"newsletter-helpers.js","sourceRoot":"","sources":["../../src/newsletter/newsletter-helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { getUnidyClient } from \"../api\";\nimport { Auth } from \"../auth/auth\";\nimport { t } from \"../i18n\";\nimport { createLogger } from \"../logger\";\nimport { Flash } from \"../shared/store/flash-store\";\nimport {\n type CheckedNewsletters,\n type ExistingSubscription,\n type NewsletterErrorIdentifier,\n newsletterStore,\n persist,\n} from \"./store/newsletter-store\";\n\nconst logger = createLogger(\"NewsletterHelpers\");\n\nconst PERSIST_KEY_PREFIX = \"unidy_newsletter_\";\n\nexport function newsletterLogout(): void {\n newsletterStore.state.preferenceToken = \"\";\n newsletterStore.state.existingSubscriptions = [];\n sessionStorage.removeItem(`${PERSIST_KEY_PREFIX}preferenceToken`);\n sessionStorage.removeItem(`${PERSIST_KEY_PREFIX}email`);\n}\n\nexport async function resendDoi(internalName: string): Promise<boolean> {\n const { preferenceToken } = newsletterStore.state;\n\n const authInstance = await Auth.getInstance();\n const idToken = await authInstance.getToken();\n\n const response = await getUnidyClient().newsletters.resendDoi(\n internalName,\n { redirect_to_after_confirmation: redirectToAfterConfirmationUrl() },\n {\n preferenceToken: typeof preferenceToken === \"string\" ? preferenceToken : \"\",\n idToken: typeof idToken === \"string\" ? idToken : \"\",\n },\n );\n\n if (response.status === 204) {\n return true;\n }\n\n if (response.status === 401) {\n Flash.error.addMessage(t(\"newsletter.errors.unauthorized\"));\n newsletterLogout();\n return false;\n }\n\n return false;\n}\n\nexport async function sendLoginEmail(email: string): Promise<void> {\n const response = await getUnidyClient().newsletters.sendLoginEmail({\n email,\n redirect_uri: redirectToAfterConfirmationUrl(),\n });\n\n if (response.status === 204) {\n Flash.info.addMessage(t(\"newsletter.success.login_email_sent\"));\n } else if (response.status === 404) {\n Flash.error.addMessage(t(\"newsletter.errors.login_email_not_found\"));\n } else {\n Flash.error.addMessage(t(\"errors.unknown\", { defaultValue: \"An unknown error occurred\" }));\n }\n}\n\nexport async function fetchSubscriptions(): Promise<void> {\n const { preferenceToken } = newsletterStore.state;\n\n // either preference token is needed or the user must be authenticated\n if (!preferenceToken && !newsletterStore.state.isAuthenticated) {\n logger.error(\"Preference token or authentication is required to fetch subscriptions\");\n return;\n }\n\n const authInstance = await Auth.getInstance();\n const idToken = await authInstance.getToken();\n\n newsletterStore.state.fetchingSubscriptions = true;\n\n const response = await getUnidyClient().newsletters.listSubscriptions({\n preferenceToken,\n idToken: typeof idToken === \"string\" ? idToken : \"\",\n });\n\n newsletterStore.state.fetchingSubscriptions = false;\n\n if (response.status === 401) {\n newsletterLogout();\n Flash.error.addMessage(t(\"newsletter.errors.unauthorized\"));\n return;\n }\n\n if (response.success && response.data) {\n newsletterStore.state.existingSubscriptions = response.data.map(\n (sub): ExistingSubscription => ({\n newsletter_internal_name: sub.newsletter_internal_name,\n confirmed: sub.confirmed_at !== null,\n preference_identifiers: sub.preference_identifiers || [],\n }),\n );\n\n // init checked newsletters and preferences\n const checkedNewsletters: CheckedNewsletters = { ...newsletterStore.state.checkedNewsletters };\n for (const sub of response.data) {\n checkedNewsletters[sub.newsletter_internal_name] = [...(sub.preference_identifiers || [])];\n }\n newsletterStore.state.checkedNewsletters = checkedNewsletters;\n }\n}\n\nasync function handleAlreadySubscribedError(\n email: string,\n errors: Array<{ error_identifier: string; meta: { newsletter_internal_name: string } }>,\n): Promise<void> {\n if (newsletterStore.state.isAuthenticated || newsletterStore.state.preferenceToken) {\n const existingNames = new Set(newsletterStore.state.existingSubscriptions.map((s) => s.newsletter_internal_name));\n\n const newSubscriptions: ExistingSubscription[] = errors\n .filter((err) => err.error_identifier === \"already_subscribed\" && !existingNames.has(err.meta.newsletter_internal_name))\n .map((err) => ({\n newsletter_internal_name: err.meta.newsletter_internal_name,\n confirmed: null,\n preference_identifiers: [],\n }));\n\n if (newSubscriptions.length > 0) {\n newsletterStore.state.existingSubscriptions = [...newsletterStore.state.existingSubscriptions, ...newSubscriptions];\n }\n } else {\n await sendLoginEmail(email);\n }\n}\n\nasync function handleCreateSubscriptionRequest(email: string, internalNames: string[], showSuccessMessage = true): Promise<boolean> {\n const authInstance = await Auth.getInstance();\n const idToken = await authInstance.getToken();\n const { checkedNewsletters } = newsletterStore.state;\n\n const [error, response] = await getUnidyClient().newsletters.createSubscriptions(\n {\n email,\n newsletter_subscriptions: internalNames.map((newsletter) => ({\n newsletter_internal_name: newsletter,\n preference_identifiers: checkedNewsletters[newsletter] || [],\n })),\n redirect_to_after_confirmation: redirectToAfterConfirmationUrl(),\n },\n {\n idToken: typeof idToken === \"string\" ? idToken : \"\",\n },\n );\n\n if (error === null) {\n if (response.data?.results && response.data.results.length > 0) {\n const newSubscriptions: ExistingSubscription[] = response.data.results.map((result) => ({\n newsletter_internal_name: result.newsletter_internal_name,\n confirmed: result.confirmed_at !== null,\n preference_identifiers: result.preference_identifiers || [],\n }));\n\n newsletterStore.state.existingSubscriptions = [...newsletterStore.state.existingSubscriptions, ...newSubscriptions];\n }\n\n if (showSuccessMessage) {\n Flash.success.addMessage(t(\"newsletter.success.subscribe\"));\n }\n\n return true;\n }\n\n if (error === \"unauthorized\") {\n Flash.error.addMessage(t(\"newsletter.errors.unauthorized\"));\n newsletterLogout();\n return false;\n }\n\n if (error === \"newsletter_error\") {\n const errors = response.data?.errors || [];\n const errorMap: Record<string, NewsletterErrorIdentifier> = {};\n\n // special error case which is handled differently: if user is not authenticated, we send a login email, otherwise we add the\n // already_subscribed subscriptions to the existing subscriptions\n const hasAlreadySubscribedError = errors.some((err) => err.error_identifier === \"already_subscribed\");\n if (hasAlreadySubscribedError) {\n await handleAlreadySubscribedError(email, errors);\n }\n\n const newsletterNotFoundError = errors.some((err) => err.error_identifier === \"newsletter_not_found\");\n if (newsletterNotFoundError) {\n errorMap.general = \"newsletter_not_found\";\n }\n\n const hasInvalidEmailError = errors.some(\n (err) => err.error_identifier === \"validation_error\" && err.error_details && \"email\" in err.error_details,\n );\n\n if (hasInvalidEmailError) {\n errorMap.email = \"invalid_email\";\n } else {\n for (const err of errors) {\n errorMap[err.meta.newsletter_internal_name] = err.error_identifier as NewsletterErrorIdentifier;\n }\n }\n\n newsletterStore.state.errors = errorMap;\n } else {\n Flash.error.addMessage(t(\"errors.unknown\", { defaultValue: \"An unknown error occurred\" }));\n }\n\n return false;\n}\n\nexport async function subscribeToNewsletter(internalName: string, email: string): Promise<boolean> {\n return handleCreateSubscriptionRequest(email, [internalName], false);\n}\n\nexport async function createSubscriptions({ email }: { email: string }): Promise<void> {\n const internalNames = Object.keys(newsletterStore.state.checkedNewsletters);\n await handleCreateSubscriptionRequest(email, internalNames, true);\n}\n\nexport async function deleteSubscription(internalName: string): Promise<boolean> {\n const { preferenceToken } = newsletterStore.state;\n\n // either preference token is needed or the user must be authenticated to delete a subscription\n if (!preferenceToken && !newsletterStore.state.isAuthenticated) {\n logger.error(\"Preference token or authentication is required to delete a subscription\");\n return false;\n }\n\n const authInstance = await Auth.getInstance();\n const idToken = await authInstance.getToken();\n\n const response = await getUnidyClient().newsletters.deleteSubscription(internalName, {\n preferenceToken,\n idToken: typeof idToken === \"string\" ? idToken : \"\",\n });\n\n if (response.status === 200 && response.data?.new_preference_token) {\n // if user is not authenticated, we need to store the new preference token which is used for the next request\n if (!newsletterStore.state.isAuthenticated) {\n newsletterStore.state.preferenceToken = response.data.new_preference_token;\n persist(\"preferenceToken\");\n }\n\n newsletterStore.state.existingSubscriptions = newsletterStore.state.existingSubscriptions.filter(\n (sub) => sub.newsletter_internal_name !== internalName,\n );\n\n // Reset checked preferences to defaults (preferences marked with checked='true')\n const defaultPrefs = newsletterStore.state.defaultPreferences[internalName];\n newsletterStore.state.checkedNewsletters = {\n ...newsletterStore.state.checkedNewsletters,\n [internalName]: defaultPrefs ? [...defaultPrefs] : [],\n };\n\n return true;\n }\n\n if (response.status === 204) {\n newsletterLogout();\n\n newsletterStore.state.checkedNewsletters = {};\n return true;\n }\n\n if (response.status === 401) {\n Flash.error.addMessage(t(\"newsletter.errors.unauthorized\"));\n newsletterLogout();\n return false;\n }\n\n if (response.status === 422) {\n return false;\n }\n\n Flash.error.addMessage(t(\"errors.unknown\", { defaultValue: \"An unknown error occurred\" }));\n return false;\n}\n\nexport function getSubscription(internalName: string): ExistingSubscription | undefined {\n return newsletterStore.state.existingSubscriptions.find((sub) => sub.newsletter_internal_name === internalName);\n}\n\nexport function isSubscribed(internalName: string): boolean {\n return newsletterStore.state.existingSubscriptions.some((sub) => sub.newsletter_internal_name === internalName);\n}\n\nexport function isConfirmed(internalName: string): boolean {\n const sub = getSubscription(internalName);\n return sub?.confirmed ?? false;\n}\n\nfunction redirectToAfterConfirmationUrl(): string {\n const baseUrl = `${location.origin}${location.pathname}`;\n const params = new URLSearchParams(location.search);\n for (const key of [\"email\", \"newsletter_error\"]) {\n params.delete(key);\n }\n const queryString = params.toString();\n return queryString ? `${baseUrl}?${queryString}` : baseUrl;\n}\n\nexport function getSubscriptionPreferences(internalName: string): string[] {\n const subscription = getSubscription(internalName);\n return subscription?.preference_identifiers || [];\n}\n\nexport async function updateSubscriptionPreferences(internalName: string): Promise<boolean> {\n const { preferenceToken } = newsletterStore.state;\n\n // Either preference token is needed or the user must be authenticated\n if (!preferenceToken && !newsletterStore.state.isAuthenticated) {\n logger.error(\"Preference token or authentication is required to update subscription preferences\");\n return false;\n }\n\n // Check if the subscription exists\n if (!isSubscribed(internalName)) {\n logger.error(`Cannot update preferences: not subscribed to newsletter '${internalName}'`);\n return false;\n }\n\n const authInstance = await Auth.getInstance();\n const idToken = await authInstance.getToken();\n\n const preferenceIdentifiers = newsletterStore.state.checkedNewsletters[internalName] || [];\n\n const response = await getUnidyClient().newsletters.updateSubscription(\n internalName,\n { preference_identifiers: preferenceIdentifiers },\n {\n preferenceToken,\n idToken: typeof idToken === \"string\" ? idToken : \"\",\n },\n );\n\n if (response.status === 401) {\n Flash.error.addMessage(t(\"newsletter.errors.unauthorized\"));\n newsletterLogout();\n return false;\n }\n\n if (response.success && response.data) {\n // Update the local subscription with the new preferences\n const subscriptionIndex = newsletterStore.state.existingSubscriptions.findIndex((sub) => sub.newsletter_internal_name === internalName);\n\n if (subscriptionIndex !== -1) {\n const updatedSubscriptions = [...newsletterStore.state.existingSubscriptions];\n updatedSubscriptions[subscriptionIndex] = {\n ...updatedSubscriptions[subscriptionIndex],\n preference_identifiers: response.data.preference_identifiers || [],\n };\n newsletterStore.state.existingSubscriptions = updatedSubscriptions;\n }\n\n Flash.success.addMessage(t(\"newsletter.success.preferences_updated\"));\n return true;\n }\n\n Flash.error.addMessage(t(\"errors.unknown\", { defaultValue: \"An unknown error occurred\" }));\n return false;\n}\n"]}
@@ -1,34 +0,0 @@
1
- import { createStore } from "@stencil/store";
2
- const PERSIST_KEY_PREFIX = "unidy_newsletter_";
3
- export const persist = (key) => {
4
- sessionStorage.setItem(`${PERSIST_KEY_PREFIX}${key}`, newsletterStore.state[key]);
5
- };
6
- const getPersistedValue = (key) => {
7
- return sessionStorage.getItem(`${PERSIST_KEY_PREFIX}${key}`);
8
- };
9
- const initialState = {
10
- email: getPersistedValue("email") ?? "",
11
- preferenceToken: getPersistedValue("preferenceToken") ?? "",
12
- checkedNewsletters: {},
13
- defaultPreferences: {},
14
- fetchingSubscriptions: false,
15
- existingSubscriptions: [],
16
- errors: {},
17
- isAuthenticated: false,
18
- };
19
- export const newsletterStore = createStore(initialState);
20
- export const storeDefaultPreference = (internalName, preferenceIdentifier) => {
21
- const current = newsletterStore.state.defaultPreferences[internalName] ?? new Set();
22
- const updated = new Set(current);
23
- updated.add(preferenceIdentifier);
24
- newsletterStore.state.defaultPreferences = {
25
- ...newsletterStore.state.defaultPreferences,
26
- [internalName]: updated,
27
- };
28
- };
29
- export const reset = () => {
30
- sessionStorage.removeItem(`${PERSIST_KEY_PREFIX}preferenceToken`);
31
- sessionStorage.removeItem(`${PERSIST_KEY_PREFIX}email`);
32
- newsletterStore.state = initialState;
33
- };
34
- //# sourceMappingURL=newsletter-store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"newsletter-store.js","sourceRoot":"","sources":["../../../src/newsletter/store/newsletter-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAsC7C,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAE/C,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAgC,EAAE,EAAE;IAC1D,cAAc,CAAC,OAAO,CAAC,GAAG,kBAAkB,GAAG,GAAG,EAAE,EAAE,eAAe,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;AACpF,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,GAAgC,EAAE,EAAE;IAC7D,OAAO,cAAc,CAAC,OAAO,CAAC,GAAG,kBAAkB,GAAG,GAAG,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,YAAY,GAAoB;IACpC,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE;IACvC,eAAe,EAAE,iBAAiB,CAAC,iBAAiB,CAAC,IAAI,EAAE;IAC3D,kBAAkB,EAAE,EAAE;IACtB,kBAAkB,EAAE,EAAE;IAEtB,qBAAqB,EAAE,KAAK;IAC5B,qBAAqB,EAAE,EAAE;IAEzB,MAAM,EAAE,EAAE;IACV,eAAe,EAAE,KAAK;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAkB,YAAY,CAAC,CAAC;AAE1E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,YAAoC,EAAE,oBAA0C,EAAE,EAAE;IACzH,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,kBAAkB,CAAC,YAAY,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IACpF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAClC,eAAe,CAAC,KAAK,CAAC,kBAAkB,GAAG;QACzC,GAAG,eAAe,CAAC,KAAK,CAAC,kBAAkB;QAC3C,CAAC,YAAY,CAAC,EAAE,OAAO;KACxB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,EAAE;IACxB,cAAc,CAAC,UAAU,CAAC,GAAG,kBAAkB,iBAAiB,CAAC,CAAC;IAClE,cAAc,CAAC,UAAU,CAAC,GAAG,kBAAkB,OAAO,CAAC,CAAC;IACxD,eAAe,CAAC,KAAK,GAAG,YAAY,CAAC;AACvC,CAAC,CAAC","sourcesContent":["import { createStore } from \"@stencil/store\";\n\nexport type NewsletterErrorIdentifier =\n | \"unconfirmed\"\n | \"already_subscribed\"\n | \"invalid_email\"\n | \"newsletter_not_found\"\n | \"preferences_not_found\"\n | \"invalid_preference_token\"\n | \"unknown\";\n\nexport type NewsletterInternalName = string;\nexport type PreferenceIdentifier = string;\n\nexport interface ExistingSubscription {\n newsletter_internal_name: NewsletterInternalName;\n confirmed: boolean;\n preference_identifiers: PreferenceIdentifier[];\n}\n\nexport type CheckedNewsletters = Record<NewsletterInternalName, PreferenceIdentifier[]>;\n\nexport type DefaultPreferences = Record<NewsletterInternalName, Set<PreferenceIdentifier>>;\n\ninterface NewsletterState {\n email: string;\n preferenceToken: string;\n checkedNewsletters: CheckedNewsletters;\n defaultPreferences: DefaultPreferences;\n\n fetchingSubscriptions: boolean;\n existingSubscriptions: ExistingSubscription[];\n\n errors: Record<string, NewsletterErrorIdentifier>;\n\n isAuthenticated: boolean;\n}\n\nconst PERSIST_KEY_PREFIX = \"unidy_newsletter_\";\n\nexport const persist = (key: \"email\" | \"preferenceToken\") => {\n sessionStorage.setItem(`${PERSIST_KEY_PREFIX}${key}`, newsletterStore.state[key]);\n};\n\nconst getPersistedValue = (key: \"email\" | \"preferenceToken\") => {\n return sessionStorage.getItem(`${PERSIST_KEY_PREFIX}${key}`);\n};\n\nconst initialState: NewsletterState = {\n email: getPersistedValue(\"email\") ?? \"\",\n preferenceToken: getPersistedValue(\"preferenceToken\") ?? \"\",\n checkedNewsletters: {},\n defaultPreferences: {},\n\n fetchingSubscriptions: false,\n existingSubscriptions: [],\n\n errors: {},\n isAuthenticated: false,\n};\n\nexport const newsletterStore = createStore<NewsletterState>(initialState);\n\nexport const storeDefaultPreference = (internalName: NewsletterInternalName, preferenceIdentifier: PreferenceIdentifier) => {\n const current = newsletterStore.state.defaultPreferences[internalName] ?? new Set();\n const updated = new Set(current);\n updated.add(preferenceIdentifier);\n newsletterStore.state.defaultPreferences = {\n ...newsletterStore.state.defaultPreferences,\n [internalName]: updated,\n };\n};\n\nexport const reset = () => {\n sessionStorage.removeItem(`${PERSIST_KEY_PREFIX}preferenceToken`);\n sessionStorage.removeItem(`${PERSIST_KEY_PREFIX}email`);\n newsletterStore.state = initialState;\n};\n"]}
@@ -1,168 +0,0 @@
1
- import * as Sentry from "@sentry/browser";
2
- import * as z from "zod";
3
- const FieldType = z.enum(["text", "textarea", "number", "boolean", "select", "radio", "date", "datetime-local", "checkbox", "tel"]);
4
- const BaseFieldDataSchema = z
5
- .object({
6
- required: z.boolean(),
7
- label: z.string(),
8
- attr_name: z.string(),
9
- locked: z.boolean().optional(),
10
- locked_text: z.string().optional(),
11
- })
12
- .strict();
13
- const SelectOptionSchema = z
14
- .object({
15
- value: z.string(),
16
- label: z.string(),
17
- })
18
- .strict();
19
- const RadioValue = z.union([z.string(), z.literal("_NOT_SET_"), z.boolean()]).nullable();
20
- const RadioOptionSchema = z
21
- .object({
22
- value: RadioValue,
23
- label: z.string(),
24
- checked: z.boolean(),
25
- })
26
- .strict();
27
- const TextFieldSchema = BaseFieldDataSchema.extend({
28
- value: z.union([z.string(), z.null()]),
29
- type: z.enum(["text", "textarea"]),
30
- }).strict();
31
- const PhoneFieldSchema = BaseFieldDataSchema.extend({
32
- value: z.union([z.string().nullable()]),
33
- type: z.enum(["tel"]),
34
- }).strict();
35
- const RadioFieldSchema = BaseFieldDataSchema.extend({
36
- value: RadioValue,
37
- type: z.enum(["radio"]),
38
- radio_options: z.array(RadioOptionSchema),
39
- }).strict();
40
- const SelectFieldSchema = BaseFieldDataSchema.extend({
41
- value: z.string().nullable(),
42
- type: z.enum(["select"]),
43
- options: z.array(SelectOptionSchema),
44
- }).strict();
45
- const DateFieldSchema = BaseFieldDataSchema.extend({
46
- value: z.union([z.string(), z.null()]),
47
- type: z.enum(["date", "datetime-local"]),
48
- }).strict();
49
- const CustomFieldSchema = BaseFieldDataSchema.extend({
50
- value: z.union([z.string(), z.null(), z.boolean(), z.number(), z.array(z.string())]),
51
- type: FieldType,
52
- readonly: z.boolean(),
53
- radio_options: z.array(RadioOptionSchema).optional(),
54
- options: z.array(SelectOptionSchema).optional(),
55
- }).strict();
56
- export const UserProfileSchema = z.object({
57
- salutation: RadioFieldSchema,
58
- first_name: TextFieldSchema,
59
- last_name: TextFieldSchema,
60
- email: TextFieldSchema,
61
- phone_number: PhoneFieldSchema,
62
- company_name: TextFieldSchema,
63
- address_line_1: TextFieldSchema,
64
- address_line_2: TextFieldSchema,
65
- city: TextFieldSchema,
66
- postal_code: TextFieldSchema,
67
- country_code: SelectFieldSchema,
68
- date_of_birth: DateFieldSchema,
69
- preferred_language: TextFieldSchema.optional(),
70
- custom_attributes: z.record(z.string(), CustomFieldSchema),
71
- });
72
- const UserProfileErrorSchema = z
73
- .object({
74
- error_identifier: z.string(),
75
- })
76
- .strict();
77
- const FormErrorsValue = z.union([z.array(z.string()), z.array(z.tuple([z.number(), z.array(z.string())]))]);
78
- const FormErrorsRawSchema = z.record(z.string(), FormErrorsValue);
79
- const UserProfileFormErrorSchema = z
80
- .object({
81
- errors: FormErrorsRawSchema,
82
- })
83
- .strict()
84
- .transform(({ errors }) => {
85
- const flatErrors = Object.fromEntries(Object.entries(errors).map(([field, value]) => {
86
- const errorMessages = Array.isArray(value) && value.length > 0 && typeof value[0] === "string"
87
- ? value
88
- : value.flatMap(([, arr]) => arr);
89
- return [field, errorMessages.join(" | ")];
90
- }));
91
- return { errors, flatErrors };
92
- });
93
- const UserProfileRailsFormErrorSchema = z
94
- .object({
95
- error_details: FormErrorsRawSchema,
96
- })
97
- .loose()
98
- .transform(({ error_details }) => ({ errors: error_details }))
99
- .pipe(UserProfileFormErrorSchema);
100
- const ProfileResultSchema = z.union([
101
- UserProfileSchema,
102
- UserProfileErrorSchema,
103
- UserProfileFormErrorSchema,
104
- UserProfileRailsFormErrorSchema,
105
- ]);
106
- export class ProfileService {
107
- client;
108
- constructor(client) {
109
- this.client = client;
110
- }
111
- async fetchProfile({ idToken, lang }) {
112
- if (!idToken) {
113
- return { status: 401, success: false, headers: new Headers(), error: "missing id_token" };
114
- }
115
- try {
116
- const resp = await this.client.get(`/api/sdk/v1/profile${lang ? `?lang=${lang}` : ""}`, { "X-ID-Token": idToken });
117
- const parsed = ProfileResultSchema.safeParse(resp.data);
118
- if (!parsed.success) {
119
- return { status: 400, success: false, headers: new Headers(), error: "invalid profile data" };
120
- }
121
- const data = parsed.data;
122
- if ("error_identifier" in data) {
123
- return { ...resp, data, error: data.error_identifier };
124
- }
125
- return { ...resp, data };
126
- }
127
- catch (error) {
128
- Sentry.captureException(error);
129
- return {
130
- status: error instanceof TypeError ? 0 : 500,
131
- success: false,
132
- headers: new Headers(),
133
- error: error instanceof Error ? error.message : String(error),
134
- };
135
- }
136
- }
137
- async updateProfile({ idToken, data, lang }) {
138
- if (!idToken) {
139
- return { status: 401, success: false, headers: new Headers(), error: "missing id_token" };
140
- }
141
- const payload = data;
142
- try {
143
- const resp = await this.client.patch(`/api/sdk/v1/profile${lang ? `?lang=${lang}` : ""}`, { ...payload }, { "X-ID-Token": idToken });
144
- const parsed = ProfileResultSchema.safeParse(resp.data);
145
- if (!parsed.success) {
146
- return { status: 400, success: false, headers: new Headers(), error: "invalid profile data" };
147
- }
148
- const result = parsed.data;
149
- if ("errors" in result) {
150
- return { ...resp, data: result };
151
- }
152
- if ("error_identifier" in result) {
153
- return { ...resp, data: result, error: result.error_identifier };
154
- }
155
- return { ...resp, data: result };
156
- }
157
- catch (error) {
158
- Sentry.captureException(error);
159
- return {
160
- status: error instanceof TypeError ? 0 : 500,
161
- success: false,
162
- headers: new Headers(),
163
- error: error instanceof Error ? error.message : String(error),
164
- };
165
- }
166
- }
167
- }
168
- //# sourceMappingURL=profile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/profile/api/profile.ts"],"names":[],"mappings":"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","sourcesContent":["import * as Sentry from \"@sentry/browser\";\nimport * as z from \"zod\";\nimport type { ApiClient, ApiResponse } from \"../../api\";\n\nconst FieldType = z.enum([\"text\", \"textarea\", \"number\", \"boolean\", \"select\", \"radio\", \"date\", \"datetime-local\", \"checkbox\", \"tel\"]);\n\nconst BaseFieldDataSchema = z\n .object({\n required: z.boolean(),\n label: z.string(),\n attr_name: z.string(),\n locked: z.boolean().optional(),\n locked_text: z.string().optional(),\n })\n .strict();\n\nconst SelectOptionSchema = z\n .object({\n value: z.string(),\n label: z.string(),\n })\n .strict();\n\nconst RadioValue = z.union([z.string(), z.literal(\"_NOT_SET_\"), z.boolean()]).nullable();\n\nconst RadioOptionSchema = z\n .object({\n value: RadioValue,\n label: z.string(),\n checked: z.boolean(),\n })\n .strict();\n\nconst TextFieldSchema = BaseFieldDataSchema.extend({\n value: z.union([z.string(), z.null()]),\n type: z.enum([\"text\", \"textarea\"]),\n}).strict();\n\nconst PhoneFieldSchema = BaseFieldDataSchema.extend({\n value: z.union([z.string().nullable()]),\n type: z.enum([\"tel\"]),\n}).strict();\n\nconst RadioFieldSchema = BaseFieldDataSchema.extend({\n value: RadioValue,\n type: z.enum([\"radio\"]),\n radio_options: z.array(RadioOptionSchema),\n}).strict();\n\nconst SelectFieldSchema = BaseFieldDataSchema.extend({\n value: z.string().nullable(),\n type: z.enum([\"select\"]),\n options: z.array(SelectOptionSchema),\n}).strict();\n\nconst DateFieldSchema = BaseFieldDataSchema.extend({\n value: z.union([z.string(), z.null()]),\n type: z.enum([\"date\", \"datetime-local\"]),\n}).strict();\n\nconst CustomFieldSchema = BaseFieldDataSchema.extend({\n value: z.union([z.string(), z.null(), z.boolean(), z.number(), z.array(z.string())]),\n type: FieldType,\n readonly: z.boolean(),\n radio_options: z.array(RadioOptionSchema).optional(),\n options: z.array(SelectOptionSchema).optional(),\n}).strict();\n\nexport const UserProfileSchema = z.object({\n salutation: RadioFieldSchema,\n first_name: TextFieldSchema,\n last_name: TextFieldSchema,\n email: TextFieldSchema,\n phone_number: PhoneFieldSchema,\n company_name: TextFieldSchema,\n address_line_1: TextFieldSchema,\n address_line_2: TextFieldSchema,\n city: TextFieldSchema,\n postal_code: TextFieldSchema,\n country_code: SelectFieldSchema,\n date_of_birth: DateFieldSchema,\n preferred_language: TextFieldSchema.optional(),\n custom_attributes: z.record(z.string(), CustomFieldSchema),\n});\n\nconst UserProfileErrorSchema = z\n .object({\n error_identifier: z.string(),\n })\n .strict();\n\nconst FormErrorsValue = z.union([z.array(z.string()), z.array(z.tuple([z.number(), z.array(z.string())]))]);\n\nconst FormErrorsRawSchema = z.record(z.string(), FormErrorsValue);\n\nconst UserProfileFormErrorSchema = z\n .object({\n errors: FormErrorsRawSchema,\n })\n .strict()\n .transform(({ errors }) => {\n const flatErrors = Object.fromEntries(\n Object.entries(errors).map(([field, value]) => {\n const errorMessages =\n Array.isArray(value) && value.length > 0 && typeof value[0] === \"string\"\n ? (value as string[])\n : (value as Array<[number, string[]]>).flatMap(([, arr]) => arr);\n return [field, errorMessages.join(\" | \")];\n }),\n );\n return { errors, flatErrors };\n });\n\nconst UserProfileRailsFormErrorSchema = z\n .object({\n error_details: FormErrorsRawSchema,\n })\n .loose()\n .transform(({ error_details }) => ({ errors: error_details }))\n .pipe(UserProfileFormErrorSchema);\n\nexport type UserProfileData = z.infer<typeof UserProfileSchema>;\nexport type UserProfileError = z.infer<typeof UserProfileErrorSchema>;\nexport type UserProfileFormError = z.infer<typeof UserProfileFormErrorSchema>;\n\nconst ProfileResultSchema = z.union([\n UserProfileSchema,\n UserProfileErrorSchema,\n UserProfileFormErrorSchema,\n UserProfileRailsFormErrorSchema,\n]);\n\nexport type ProfileResult = UserProfileData | UserProfileError | UserProfileFormError | Record<string, string>;\n\ndeclare global {\n interface Window {\n UNIDY?: { auth?: { id_token?: string } };\n }\n}\n\ntype FetchProfileArgs = { idToken: string; lang?: string };\ntype UpdateProfileArgs = { idToken: string; data: unknown; lang?: string };\n\nexport class ProfileService {\n constructor(private client: ApiClient) {}\n\n async fetchProfile({ idToken, lang }: FetchProfileArgs): Promise<ApiResponse<ProfileResult>> {\n if (!idToken) {\n return { status: 401, success: false, headers: new Headers(), error: \"missing id_token\" };\n }\n\n try {\n const resp = await this.client.get<unknown>(`/api/sdk/v1/profile${lang ? `?lang=${lang}` : \"\"}`, { \"X-ID-Token\": idToken });\n\n const parsed = ProfileResultSchema.safeParse(resp.data);\n if (!parsed.success) {\n return { status: 400, success: false, headers: new Headers(), error: \"invalid profile data\" };\n }\n\n const data = parsed.data;\n\n if (\"error_identifier\" in data) {\n return { ...resp, data, error: data.error_identifier };\n }\n\n return { ...resp, data };\n } catch (error) {\n Sentry.captureException(error);\n return {\n status: error instanceof TypeError ? 0 : 500,\n success: false,\n headers: new Headers(),\n error: error instanceof Error ? error.message : String(error),\n };\n }\n }\n\n async updateProfile({ idToken, data, lang }: UpdateProfileArgs): Promise<ApiResponse<ProfileResult>> {\n if (!idToken) {\n return { status: 401, success: false, headers: new Headers(), error: \"missing id_token\" };\n }\n\n const payload = data as object;\n\n try {\n const resp = await this.client.patch<unknown>(\n `/api/sdk/v1/profile${lang ? `?lang=${lang}` : \"\"}`,\n { ...payload },\n { \"X-ID-Token\": idToken },\n );\n\n const parsed = ProfileResultSchema.safeParse(resp.data);\n if (!parsed.success) {\n return { status: 400, success: false, headers: new Headers(), error: \"invalid profile data\" };\n }\n\n const result = parsed.data;\n\n if (\"errors\" in result) {\n return { ...resp, data: result };\n }\n\n if (\"error_identifier\" in result) {\n return { ...resp, data: result, error: result.error_identifier };\n }\n\n return { ...resp, data: result };\n } catch (error) {\n Sentry.captureException(error);\n return {\n status: error instanceof TypeError ? 0 : 500,\n success: false,\n headers: new Headers(),\n error: error instanceof Error ? error.message : String(error),\n };\n }\n }\n}\n"]}
@@ -1 +0,0 @@
1
- /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--u-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--u-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--u-default-font-family:var(--u-font-sans);--u-default-mono-font-family:var(--u-font-mono);--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{font-family:var(--u-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--u-default-font-feature-settings,normal);font-variation-settings:var(--u-default-font-variation-settings,normal);-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--u-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--u-default-mono-font-feature-settings,normal);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--u-default-mono-font-variation-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.u\:flex{display:flex}.u\:justify-end{justify-content:flex-end}} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer base{}@layer components;@layer utilities{.block{display:block}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}:host{display:block}.field-error:focus{border-color:red;outline-color:red}.multi-select-readonly-container{list-style:none}.multi-select-readonly-container li{display:inline-block}[part=input]:disabled,[part=select]:disabled{cursor:not-allowed}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}