@unidy.io/sdk 1.0.0 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (515) hide show
  1. package/dist/cjs/app-globals-DSKjcXX_.js +10 -0
  2. package/dist/cjs/app-globals-DSKjcXX_.js.map +1 -0
  3. package/dist/cjs/{auth-COn3PdbX.js → auth-BVKZHhXz.js} +11 -14
  4. package/dist/cjs/{auth-COn3PdbX.js.map → auth-BVKZHhXz.js.map} +1 -1
  5. package/dist/cjs/{auth-store-BT2pDmTN.js → auth-store-DC9EVec8.js} +4 -4
  6. package/dist/cjs/{auth-store-BT2pDmTN.js.map → auth-store-DC9EVec8.js.map} +1 -1
  7. package/dist/cjs/{flash-store-Bz-eFpp2.js → flash-store-BuIBuQDx.js} +3 -3
  8. package/dist/cjs/{flash-store-Bz-eFpp2.js.map → flash-store-BuIBuQDx.js.map} +1 -1
  9. package/dist/cjs/{i18n-DNuyTvmJ.js → i18n-Xy1So-ba.js} +580 -26
  10. package/dist/cjs/i18n-Xy1So-ba.js.map +1 -0
  11. package/dist/cjs/index-B_N5xKgH.js +12025 -0
  12. package/dist/cjs/index-B_N5xKgH.js.map +1 -0
  13. package/dist/cjs/{index-JpRzPaSm.js → index-DLz3FT7T.js} +3 -3
  14. package/dist/cjs/{index-JpRzPaSm.js.map → index-DLz3FT7T.js.map} +1 -1
  15. package/dist/cjs/{index-CtJ5meJ7.js → index-DiUlebpf.js} +18 -17
  16. package/dist/cjs/index-DiUlebpf.js.map +1 -0
  17. package/dist/cjs/index.cjs.js +10 -11
  18. package/dist/cjs/index.cjs.js.map +1 -1
  19. package/dist/cjs/loader.cjs.js +3 -4
  20. package/dist/cjs/loader.cjs.js.map +1 -1
  21. package/dist/cjs/{newsletter-helpers-BINJr8bg.js → newsletter-helpers-DtXuIac8.js} +9 -8
  22. package/dist/cjs/{newsletter-helpers-BINJr8bg.js.map → newsletter-helpers-DtXuIac8.js.map} +1 -1
  23. package/dist/cjs/{newsletter-store-D_RRzlpH.js → newsletter-store-dhtu8ywO.js} +3 -3
  24. package/dist/cjs/{newsletter-store-D_RRzlpH.js.map → newsletter-store-dhtu8ywO.js.map} +1 -1
  25. package/dist/cjs/{pagination-store-TtGIma9Z.js → pagination-store-BEiW3MQd.js} +3 -3
  26. package/dist/cjs/{pagination-store-TtGIma9Z.js.map → pagination-store-BEiW3MQd.js.map} +1 -1
  27. package/dist/cjs/{submit-button-logic-rhAjEO33.js → profile-helpers-DrcTgN5n.js} +4 -4
  28. package/dist/cjs/profile-helpers-DrcTgN5n.js.map +1 -0
  29. package/dist/cjs/{profile-store-JiqaDLcK.js → profile-store-P_BcYkef.js} +3 -3
  30. package/dist/cjs/{profile-store-JiqaDLcK.js.map → profile-store-P_BcYkef.js.map} +1 -1
  31. package/dist/cjs/sdk.cjs.js +3 -4
  32. package/dist/cjs/sdk.cjs.js.map +1 -1
  33. package/dist/cjs/u-conditional-render.cjs.entry.js +11 -12
  34. package/dist/cjs/u-conditional-render.entry.cjs.js.map +1 -1
  35. package/dist/cjs/u-config.cjs.entry.js +11 -12
  36. package/dist/cjs/u-config.entry.cjs.js.map +1 -1
  37. package/dist/cjs/u-email-field.cjs.entry.js +9 -8
  38. package/dist/cjs/u-email-field.entry.cjs.js.map +1 -1
  39. package/dist/cjs/u-error-message.cjs.entry.js +6 -6
  40. package/dist/cjs/u-field.u-raw-field.entry.cjs.js.map +1 -1
  41. package/dist/cjs/u-field_2.cjs.entry.js +13 -11
  42. package/dist/cjs/u-flash-message.cjs.entry.js +7 -7
  43. package/dist/cjs/u-flash-message.entry.cjs.js.map +1 -1
  44. package/dist/cjs/u-full-profile.cjs.entry.js +7 -7
  45. package/dist/cjs/u-full-profile.entry.cjs.js.map +1 -1
  46. package/dist/cjs/u-logout-button.cjs.entry.js +9 -10
  47. package/dist/cjs/u-logout-button.entry.cjs.js.map +1 -1
  48. package/dist/cjs/u-magic-code-field.cjs.entry.js +13 -14
  49. package/dist/cjs/u-magic-code-field.entry.cjs.js.map +1 -1
  50. package/dist/cjs/u-missing-field.cjs.entry.js +4 -4
  51. package/dist/cjs/u-missing-fields-submit-button.cjs.entry.js +10 -11
  52. package/dist/cjs/u-missing-fields-submit-button.entry.cjs.js.map +1 -1
  53. package/dist/cjs/u-newsletter-checkbox.cjs.entry.js +11 -12
  54. package/dist/cjs/u-newsletter-checkbox.entry.cjs.js.map +1 -1
  55. package/dist/cjs/u-newsletter-logout-button.cjs.entry.js +11 -12
  56. package/dist/cjs/u-newsletter-logout-button.entry.cjs.js.map +1 -1
  57. package/dist/cjs/u-newsletter-preference-checkbox.cjs.entry.js +11 -12
  58. package/dist/cjs/u-newsletter-preference-checkbox.entry.cjs.js.map +1 -1
  59. package/dist/cjs/u-newsletter-resend-doi-button.cjs.entry.js +12 -13
  60. package/dist/cjs/u-newsletter-resend-doi-button.entry.cjs.js.map +1 -1
  61. package/dist/cjs/u-newsletter-root.cjs.entry.js +20 -14
  62. package/dist/cjs/u-newsletter-root.entry.cjs.js.map +1 -1
  63. package/dist/cjs/u-newsletter-toggle-subscription-button.cjs.entry.js +12 -13
  64. package/dist/cjs/u-newsletter-toggle-subscription-button.entry.cjs.js.map +1 -1
  65. package/dist/cjs/u-pagination-button.cjs.entry.js +1 -1
  66. package/dist/cjs/u-pagination-button.entry.cjs.js.map +1 -1
  67. package/dist/cjs/u-pagination-page.cjs.entry.js +1 -1
  68. package/dist/cjs/u-passkey.cjs.entry.js +9 -10
  69. package/dist/cjs/u-passkey.entry.cjs.js.map +1 -1
  70. package/dist/cjs/u-password-field.cjs.entry.js +5 -5
  71. package/dist/cjs/u-profile.u-submit-button.entry.cjs.js.map +1 -1
  72. package/dist/cjs/u-profile_2.cjs.entry.js +41 -61
  73. package/dist/cjs/u-registration-button.cjs.entry.js +5 -5
  74. package/dist/cjs/u-reset-password-button.cjs.entry.js +9 -10
  75. package/dist/cjs/u-reset-password-button.entry.cjs.js.map +1 -1
  76. package/dist/cjs/u-send-magic-code-button.cjs.entry.js +9 -10
  77. package/dist/cjs/u-send-magic-code-button.entry.cjs.js.map +1 -1
  78. package/dist/cjs/u-signed-in.cjs.entry.js +5 -5
  79. package/dist/cjs/u-signin-root.cjs.entry.js +4 -4
  80. package/dist/cjs/u-signin-root.entry.cjs.js.map +1 -1
  81. package/dist/cjs/u-signin-step.cjs.entry.js +9 -10
  82. package/dist/cjs/u-signin-step.entry.cjs.js.map +1 -1
  83. package/dist/cjs/u-signin-strategy.cjs.entry.js +4 -4
  84. package/dist/cjs/u-social-login-button.cjs.entry.js +18 -19
  85. package/dist/cjs/u-social-login-button.entry.cjs.js.map +1 -1
  86. package/dist/cjs/u-spinner.cjs.entry.js +3 -3
  87. package/dist/cjs/u-spinner.entry.cjs.js.map +1 -1
  88. package/dist/cjs/u-ticketable-list.cjs.entry.js +9 -10
  89. package/dist/cjs/u-ticketable-list.entry.cjs.js.map +1 -1
  90. package/dist/cjs/{unidy-store-C1O0g41c.js → unidy-store-7AbWnZ6g.js} +3 -3
  91. package/dist/cjs/{unidy-store-C1O0g41c.js.map → unidy-store-7AbWnZ6g.js.map} +1 -1
  92. package/dist/collection/api/client.js +4 -2
  93. package/dist/collection/api/client.js.map +1 -1
  94. package/dist/collection/auth/api/auth.js +1 -1
  95. package/dist/collection/auth/api/auth.js.map +1 -1
  96. package/dist/collection/auth/components/magic-code-field/magic-code-field.css +1 -1
  97. package/dist/collection/auth/components/magic-code-field/magic-code-field.js +3 -3
  98. package/dist/collection/auth/components/magic-code-field/magic-code-field.js.map +1 -1
  99. package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js +1 -1
  100. package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js.map +1 -1
  101. package/dist/collection/auth/components/password-field/password-field.js +1 -1
  102. package/dist/collection/auth/components/signin-root/signin-root.js.map +1 -1
  103. package/dist/collection/auth/components/social-logins/social-login-button.css +1 -1
  104. package/dist/collection/auth/components/social-logins/social-login-button.js +11 -11
  105. package/dist/collection/auth/components/social-logins/social-login-button.js.map +1 -1
  106. package/dist/collection/auth/components/submit-button/auth-submit-button.js +2 -5
  107. package/dist/collection/auth/components/submit-button/auth-submit-button.js.map +1 -1
  108. package/dist/collection/auth/passkey-auth.js +1 -3
  109. package/dist/collection/auth/passkey-auth.js.map +1 -1
  110. package/dist/collection/globalScript.js +1 -0
  111. package/dist/collection/globalScript.js.map +1 -1
  112. package/dist/collection/i18n.js +10 -4
  113. package/dist/collection/i18n.js.map +1 -1
  114. package/dist/collection/locales/fr.json +131 -0
  115. package/dist/collection/locales/it.json +131 -0
  116. package/dist/collection/locales/nl_be.json +131 -0
  117. package/dist/collection/locales/ro.json +131 -0
  118. package/dist/collection/logger.js +25 -55
  119. package/dist/collection/logger.js.map +1 -1
  120. package/dist/collection/newsletter/api/newsletters.js +1 -1
  121. package/dist/collection/newsletter/api/newsletters.js.map +1 -1
  122. package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js +25 -9
  123. package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js.map +1 -1
  124. package/dist/collection/newsletter/components/resend-doi-button/resend-doi-button.js +1 -1
  125. package/dist/collection/newsletter/components/resend-doi-button/resend-doi-button.js.map +1 -1
  126. package/dist/collection/newsletter/components/submit-button/newsletter-submit-button.js +6 -6
  127. package/dist/collection/newsletter/components/submit-button/newsletter-submit-button.js.map +1 -1
  128. package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.js +1 -1
  129. package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.js.map +1 -1
  130. package/dist/collection/profile/components/field/field.css +1 -1
  131. package/dist/collection/profile/components/field/field.js +7 -5
  132. package/dist/collection/profile/components/field/field.js.map +1 -1
  133. package/dist/collection/profile/components/full-profile/full-profile.css +1 -1
  134. package/dist/collection/profile/components/full-profile/full-profile.js +1 -1
  135. package/dist/collection/profile/components/full-profile/full-profile.js.map +1 -1
  136. package/dist/collection/profile/components/profile/profile.js +1 -1
  137. package/dist/collection/profile/components/profile/profile.js.map +1 -1
  138. package/dist/collection/profile/components/raw-input-fields/MultiSelect.js.map +1 -1
  139. package/dist/collection/profile/components/submit-button/profile-submit-button.js +2 -7
  140. package/dist/collection/profile/components/submit-button/profile-submit-button.js.map +1 -1
  141. package/dist/collection/{shared/components/u-fields-submit-button-logic/submit-button-logic.js → profile/profile-helpers.js} +3 -3
  142. package/dist/collection/profile/profile-helpers.js.map +1 -0
  143. package/dist/collection/sdk.css +2 -2
  144. package/dist/collection/shared/components/config/config.js +3 -3
  145. package/dist/collection/shared/components/config/config.js.map +1 -1
  146. package/dist/collection/shared/components/email-field/email-field.js +31 -5
  147. package/dist/collection/shared/components/email-field/email-field.js.map +1 -1
  148. package/dist/collection/shared/components/flash-message/flash-message.js +4 -4
  149. package/dist/collection/shared/components/flash-message/flash-message.js.map +1 -1
  150. package/dist/collection/shared/components/spinner/spinner.css +1 -1
  151. package/dist/collection/shared/components/spinner/spinner.js +1 -1
  152. package/dist/collection/shared/components/spinner/spinner.js.map +1 -1
  153. package/dist/collection/shared/components/submit-button/context.js +2 -3
  154. package/dist/collection/shared/components/submit-button/context.js.map +1 -1
  155. package/dist/collection/shared/components/submit-button/submit-button.js +16 -21
  156. package/dist/collection/shared/components/submit-button/submit-button.js.map +1 -1
  157. package/dist/collection/ticketable/components/pagination/pagination-button.js.map +1 -1
  158. package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js +2 -2
  159. package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js.map +1 -1
  160. package/dist/components/auth.js +0 -2
  161. package/dist/components/auth.js.map +1 -1
  162. package/dist/components/field.js +8 -6
  163. package/dist/components/field.js.map +1 -1
  164. package/dist/components/i18n.js +576 -22
  165. package/dist/components/i18n.js.map +1 -1
  166. package/dist/components/index.js +1 -0
  167. package/dist/components/index.js.map +1 -1
  168. package/dist/components/index2.js +6 -4
  169. package/dist/components/index2.js.map +1 -1
  170. package/dist/components/logger.js +25 -55
  171. package/dist/components/logger.js.map +1 -1
  172. package/dist/components/newsletter-helpers.js +1 -1
  173. package/dist/components/{submit-button-logic.js → profile-helpers.js} +2 -2
  174. package/dist/components/profile-helpers.js.map +1 -0
  175. package/dist/components/profile.js +1 -1
  176. package/dist/components/profile.js.map +1 -1
  177. package/dist/components/raw-field.js.map +1 -1
  178. package/dist/components/spinner.js +2 -2
  179. package/dist/components/spinner.js.map +1 -1
  180. package/dist/components/submit-button.js +28 -47
  181. package/dist/components/submit-button.js.map +1 -1
  182. package/dist/components/u-config.js +1 -1
  183. package/dist/components/u-config.js.map +1 -1
  184. package/dist/components/u-email-field.js +7 -5
  185. package/dist/components/u-email-field.js.map +1 -1
  186. package/dist/components/u-flash-message.js +4 -4
  187. package/dist/components/u-flash-message.js.map +1 -1
  188. package/dist/components/u-full-profile.js +2 -2
  189. package/dist/components/u-full-profile.js.map +1 -1
  190. package/dist/components/u-magic-code-field.js +4 -4
  191. package/dist/components/u-magic-code-field.js.map +1 -1
  192. package/dist/components/u-missing-fields-submit-button.js +1 -1
  193. package/dist/components/u-missing-fields-submit-button.js.map +1 -1
  194. package/dist/components/u-newsletter-resend-doi-button.js +1 -1
  195. package/dist/components/u-newsletter-resend-doi-button.js.map +1 -1
  196. package/dist/components/u-newsletter-root.js +14 -7
  197. package/dist/components/u-newsletter-root.js.map +1 -1
  198. package/dist/components/u-newsletter-toggle-subscription-button.js +2 -2
  199. package/dist/components/u-newsletter-toggle-subscription-button.js.map +1 -1
  200. package/dist/components/u-pagination-button.js.map +1 -1
  201. package/dist/components/u-signin-root.js.map +1 -1
  202. package/dist/components/u-social-login-button.js +12 -12
  203. package/dist/components/u-social-login-button.js.map +1 -1
  204. package/dist/components/u-ticketable-list.js +2 -2
  205. package/dist/components/u-ticketable-list.js.map +1 -1
  206. package/dist/esm/app-globals-CPU9ZcqZ.js +8 -0
  207. package/dist/esm/app-globals-CPU9ZcqZ.js.map +1 -0
  208. package/dist/esm/{auth-C6B1Fl8C.js → auth-DLKPv5Zm.js} +9 -12
  209. package/dist/esm/{auth-C6B1Fl8C.js.map → auth-DLKPv5Zm.js.map} +1 -1
  210. package/dist/esm/{auth-store-BXzAv0RK.js → auth-store-BMqUdTpC.js} +4 -4
  211. package/dist/esm/{auth-store-BXzAv0RK.js.map → auth-store-BMqUdTpC.js.map} +1 -1
  212. package/dist/esm/{flash-store-CF5vw4w-.js → flash-store-CEvWSG0c.js} +3 -3
  213. package/dist/esm/{flash-store-CF5vw4w-.js.map → flash-store-CEvWSG0c.js.map} +1 -1
  214. package/dist/esm/{i18n-CPEM4Hc_.js → i18n-BR-AGAnn.js} +580 -26
  215. package/dist/esm/i18n-BR-AGAnn.js.map +1 -0
  216. package/dist/esm/{index-CJnDmBjL.js → index-Bjp1XO-f.js} +3 -3
  217. package/dist/esm/{index-CJnDmBjL.js.map → index-Bjp1XO-f.js.map} +1 -1
  218. package/dist/esm/index-Ci3aTmzp.js +12007 -0
  219. package/dist/esm/index-Ci3aTmzp.js.map +1 -0
  220. package/dist/esm/{index-CmoCWXkx.js → index-DKaIwo59.js} +12 -11
  221. package/dist/esm/index-DKaIwo59.js.map +1 -0
  222. package/dist/esm/index.js +10 -11
  223. package/dist/esm/index.js.map +1 -1
  224. package/dist/esm/loader.js +4 -5
  225. package/dist/esm/loader.js.map +1 -1
  226. package/dist/esm/{newsletter-helpers-D9OpR1Yd.js → newsletter-helpers-VixG_zoB.js} +9 -9
  227. package/dist/esm/{newsletter-helpers-D9OpR1Yd.js.map → newsletter-helpers-VixG_zoB.js.map} +1 -1
  228. package/dist/esm/{newsletter-store-Bx1ysKBb.js → newsletter-store-BYmuLQg8.js} +3 -3
  229. package/dist/esm/{newsletter-store-Bx1ysKBb.js.map → newsletter-store-BYmuLQg8.js.map} +1 -1
  230. package/dist/esm/{pagination-store-B-ivWcjb.js → pagination-store-DzdJOp-n.js} +3 -3
  231. package/dist/esm/{pagination-store-B-ivWcjb.js.map → pagination-store-DzdJOp-n.js.map} +1 -1
  232. package/dist/esm/{submit-button-logic-CtMezaoG.js → profile-helpers-7onubaoR.js} +4 -4
  233. package/dist/esm/profile-helpers-7onubaoR.js.map +1 -0
  234. package/dist/esm/{profile-store-By-nqzr9.js → profile-store-RmZB2PTc.js} +3 -3
  235. package/dist/esm/{profile-store-By-nqzr9.js.map → profile-store-RmZB2PTc.js.map} +1 -1
  236. package/dist/esm/sdk.js +4 -5
  237. package/dist/esm/sdk.js.map +1 -1
  238. package/dist/esm/u-conditional-render.entry.js +11 -12
  239. package/dist/esm/u-conditional-render.entry.js.map +1 -1
  240. package/dist/esm/u-config.entry.js +10 -11
  241. package/dist/esm/u-config.entry.js.map +1 -1
  242. package/dist/esm/u-email-field.entry.js +9 -8
  243. package/dist/esm/u-email-field.entry.js.map +1 -1
  244. package/dist/esm/u-error-message.entry.js +6 -6
  245. package/dist/esm/u-field.u-raw-field.entry.js.map +1 -1
  246. package/dist/esm/u-field_2.entry.js +13 -11
  247. package/dist/esm/u-flash-message.entry.js +7 -7
  248. package/dist/esm/u-flash-message.entry.js.map +1 -1
  249. package/dist/esm/u-full-profile.entry.js +7 -7
  250. package/dist/esm/u-full-profile.entry.js.map +1 -1
  251. package/dist/esm/u-logout-button.entry.js +9 -10
  252. package/dist/esm/u-logout-button.entry.js.map +1 -1
  253. package/dist/esm/u-magic-code-field.entry.js +13 -14
  254. package/dist/esm/u-magic-code-field.entry.js.map +1 -1
  255. package/dist/esm/u-missing-field.entry.js +4 -4
  256. package/dist/esm/u-missing-fields-submit-button.entry.js +8 -9
  257. package/dist/esm/u-missing-fields-submit-button.entry.js.map +1 -1
  258. package/dist/esm/u-newsletter-checkbox.entry.js +11 -12
  259. package/dist/esm/u-newsletter-checkbox.entry.js.map +1 -1
  260. package/dist/esm/u-newsletter-logout-button.entry.js +11 -12
  261. package/dist/esm/u-newsletter-logout-button.entry.js.map +1 -1
  262. package/dist/esm/u-newsletter-preference-checkbox.entry.js +11 -12
  263. package/dist/esm/u-newsletter-preference-checkbox.entry.js.map +1 -1
  264. package/dist/esm/u-newsletter-resend-doi-button.entry.js +12 -13
  265. package/dist/esm/u-newsletter-resend-doi-button.entry.js.map +1 -1
  266. package/dist/esm/u-newsletter-root.entry.js +20 -14
  267. package/dist/esm/u-newsletter-root.entry.js.map +1 -1
  268. package/dist/esm/u-newsletter-toggle-subscription-button.entry.js +12 -13
  269. package/dist/esm/u-newsletter-toggle-subscription-button.entry.js.map +1 -1
  270. package/dist/esm/u-pagination-button.entry.js +1 -1
  271. package/dist/esm/u-pagination-button.entry.js.map +1 -1
  272. package/dist/esm/u-pagination-page.entry.js +1 -1
  273. package/dist/esm/u-passkey.entry.js +9 -10
  274. package/dist/esm/u-passkey.entry.js.map +1 -1
  275. package/dist/esm/u-password-field.entry.js +5 -5
  276. package/dist/esm/u-profile.u-submit-button.entry.js.map +1 -1
  277. package/dist/esm/u-profile_2.entry.js +38 -58
  278. package/dist/esm/u-registration-button.entry.js +5 -5
  279. package/dist/esm/u-reset-password-button.entry.js +9 -10
  280. package/dist/esm/u-reset-password-button.entry.js.map +1 -1
  281. package/dist/esm/u-send-magic-code-button.entry.js +9 -10
  282. package/dist/esm/u-send-magic-code-button.entry.js.map +1 -1
  283. package/dist/esm/u-signed-in.entry.js +5 -5
  284. package/dist/esm/u-signin-root.entry.js +4 -4
  285. package/dist/esm/u-signin-root.entry.js.map +1 -1
  286. package/dist/esm/u-signin-step.entry.js +9 -10
  287. package/dist/esm/u-signin-step.entry.js.map +1 -1
  288. package/dist/esm/u-signin-strategy.entry.js +4 -4
  289. package/dist/esm/u-social-login-button.entry.js +17 -18
  290. package/dist/esm/u-social-login-button.entry.js.map +1 -1
  291. package/dist/esm/u-spinner.entry.js +3 -3
  292. package/dist/esm/u-spinner.entry.js.map +1 -1
  293. package/dist/esm/u-ticketable-list.entry.js +9 -10
  294. package/dist/esm/u-ticketable-list.entry.js.map +1 -1
  295. package/dist/esm/{unidy-store-C2nKKukb.js → unidy-store-BldTAtO0.js} +3 -3
  296. package/dist/esm/{unidy-store-C2nKKukb.js.map → unidy-store-BldTAtO0.js.map} +1 -1
  297. package/dist/sdk/index.esm.js +1 -1
  298. package/dist/sdk/index.esm.js.map +1 -1
  299. package/dist/sdk/loader.esm.js.map +1 -1
  300. package/dist/sdk/locales/fr.json +131 -0
  301. package/dist/sdk/locales/it.json +131 -0
  302. package/dist/sdk/locales/nl_be.json +131 -0
  303. package/dist/sdk/locales/ro.json +131 -0
  304. package/dist/sdk/p-0b47e1be.entry.js +2 -0
  305. package/dist/sdk/p-0b47e1be.entry.js.map +1 -0
  306. package/dist/sdk/p-20240b02.entry.js +2 -0
  307. package/dist/sdk/p-20240b02.entry.js.map +1 -0
  308. package/dist/sdk/p-2da4497a.entry.js +2 -0
  309. package/dist/sdk/{p-4b63a37a.entry.js.map → p-2da4497a.entry.js.map} +1 -1
  310. package/dist/sdk/p-36433853.entry.js +2 -0
  311. package/dist/sdk/p-36433853.entry.js.map +1 -0
  312. package/dist/sdk/p-431ec460.entry.js +2 -0
  313. package/dist/sdk/p-431ec460.entry.js.map +1 -0
  314. package/dist/sdk/{p-08ddbde8.entry.js → p-5da49d00.entry.js} +2 -2
  315. package/dist/sdk/p-67096601.entry.js +2 -0
  316. package/dist/sdk/p-67096601.entry.js.map +1 -0
  317. package/dist/sdk/{p-63ff8516.entry.js → p-6893d167.entry.js} +2 -2
  318. package/dist/sdk/p-7068661a.entry.js +2 -0
  319. package/dist/sdk/p-7068661a.entry.js.map +1 -0
  320. package/dist/sdk/p-72dc8aa9.entry.js +2 -0
  321. package/dist/sdk/p-72dc8aa9.entry.js.map +1 -0
  322. package/dist/sdk/{p-c2098f5e.entry.js → p-73c2ec89.entry.js} +2 -2
  323. package/dist/sdk/p-745742f1.entry.js +2 -0
  324. package/dist/sdk/p-7a7c0db2.entry.js +2 -0
  325. package/dist/sdk/p-7a7c0db2.entry.js.map +1 -0
  326. package/dist/sdk/p-7d6dc110.entry.js +2 -0
  327. package/dist/sdk/{p-adff35b8.entry.js.map → p-7d6dc110.entry.js.map} +1 -1
  328. package/dist/sdk/{p-5d859a51.entry.js → p-8d787494.entry.js} +2 -2
  329. package/dist/sdk/p-94dde7e5.entry.js +2 -0
  330. package/dist/sdk/p-94dde7e5.entry.js.map +1 -0
  331. package/dist/sdk/p-97d8ae02.entry.js +2 -0
  332. package/dist/sdk/p-97d8ae02.entry.js.map +1 -0
  333. package/dist/sdk/p-9c396daf.entry.js +2 -0
  334. package/dist/sdk/p-9c396daf.entry.js.map +1 -0
  335. package/dist/sdk/p-9da4dd6d.entry.js +2 -0
  336. package/dist/sdk/p-9da4dd6d.entry.js.map +1 -0
  337. package/dist/sdk/{p-ClhmT9TC.js → p-BZ1kW_eK.js} +2 -2
  338. package/dist/sdk/{p-ClhmT9TC.js.map → p-BZ1kW_eK.js.map} +1 -1
  339. package/dist/sdk/p-BlOjABPD.js +2 -0
  340. package/dist/sdk/{p-DBjPNcZQ.js.map → p-BlOjABPD.js.map} +1 -1
  341. package/dist/sdk/{p-BvjIpzI-.js → p-C0feI0p8.js} +2 -2
  342. package/dist/sdk/{p-BvjIpzI-.js.map → p-C0feI0p8.js.map} +1 -1
  343. package/dist/sdk/{p-BGi6Sl8y.js → p-CDtLILSR.js} +2 -2
  344. package/dist/sdk/{p-BGi6Sl8y.js.map → p-CDtLILSR.js.map} +1 -1
  345. package/dist/sdk/p-CFiZLMAA.js +2 -0
  346. package/dist/sdk/p-CFiZLMAA.js.map +1 -0
  347. package/dist/sdk/p-CR1oWC4S.js +2 -0
  348. package/dist/sdk/p-CR1oWC4S.js.map +1 -0
  349. package/dist/sdk/p-Ce8zGAi1.js +2 -0
  350. package/dist/sdk/{p-BeGO8MZ-.js.map → p-Ce8zGAi1.js.map} +1 -1
  351. package/dist/sdk/p-Ci3aTmzp.js +3 -0
  352. package/dist/sdk/p-Ci3aTmzp.js.map +1 -0
  353. package/dist/sdk/p-D4B6Zkq_.js +2 -0
  354. package/dist/sdk/p-D4B6Zkq_.js.map +1 -0
  355. package/dist/sdk/p-D8RGdjD3.js +2 -0
  356. package/dist/sdk/{p-CPMAxeLD.js.map → p-D8RGdjD3.js.map} +1 -1
  357. package/dist/sdk/p-DGqadgLO.js +2 -0
  358. package/dist/sdk/{p-D6-66bay.js.map → p-DGqadgLO.js.map} +1 -1
  359. package/dist/sdk/{p-DNP3fccV.js → p-DSwwVdp1.js} +2 -2
  360. package/dist/sdk/{p-DNP3fccV.js.map → p-DSwwVdp1.js.map} +1 -1
  361. package/dist/sdk/{p-BLUKsznD.js → p-DYtgart8.js} +2 -2
  362. package/dist/sdk/{p-BLUKsznD.js.map → p-DYtgart8.js.map} +1 -1
  363. package/dist/sdk/p-add92871.entry.js +2 -0
  364. package/dist/sdk/p-add92871.entry.js.map +1 -0
  365. package/dist/sdk/{p-2ddce950.entry.js → p-bb5ae222.entry.js} +2 -2
  366. package/dist/sdk/p-bbbec3d4.entry.js +2 -0
  367. package/dist/sdk/{p-35cc6db7.entry.js.map → p-bbbec3d4.entry.js.map} +1 -1
  368. package/dist/sdk/p-c2b6c674.entry.js +2 -0
  369. package/dist/sdk/p-c2b6c674.entry.js.map +1 -0
  370. package/dist/sdk/p-c2fba7c8.entry.js +2 -0
  371. package/dist/sdk/{p-C-vcnxdk.js → p-cOfRiRUO.js} +2 -2
  372. package/dist/sdk/{p-C-vcnxdk.js.map → p-cOfRiRUO.js.map} +1 -1
  373. package/dist/sdk/p-cba5d81e.entry.js +2 -0
  374. package/dist/sdk/p-cba5d81e.entry.js.map +1 -0
  375. package/dist/sdk/p-cd516902.entry.js +2 -0
  376. package/dist/sdk/p-cd516902.entry.js.map +1 -0
  377. package/dist/sdk/p-d2c6179a.entry.js +2 -0
  378. package/dist/sdk/p-d2c6179a.entry.js.map +1 -0
  379. package/dist/sdk/{p-2f8f53ed.entry.js → p-dcd4e8f0.entry.js} +2 -2
  380. package/dist/sdk/p-de931f46.entry.js +2 -0
  381. package/dist/sdk/p-de931f46.entry.js.map +1 -0
  382. package/dist/sdk/p-e0ba330c.entry.js +2 -0
  383. package/dist/sdk/p-e0ba330c.entry.js.map +1 -0
  384. package/dist/sdk/p-e363a33c.entry.js +2 -0
  385. package/dist/sdk/p-e363a33c.entry.js.map +1 -0
  386. package/dist/sdk/p-fc51c88d.entry.js +2 -0
  387. package/dist/sdk/p-fc51c88d.entry.js.map +1 -0
  388. package/dist/sdk/sdk.css +2 -2
  389. package/dist/sdk/sdk.esm.js +1 -1
  390. package/dist/sdk/sdk.esm.js.map +1 -1
  391. package/dist/sdk/u-conditional-render.entry.esm.js.map +1 -1
  392. package/dist/sdk/u-config.entry.esm.js.map +1 -1
  393. package/dist/sdk/u-email-field.entry.esm.js.map +1 -1
  394. package/dist/sdk/u-field.u-raw-field.entry.esm.js.map +1 -1
  395. package/dist/sdk/u-flash-message.entry.esm.js.map +1 -1
  396. package/dist/sdk/u-full-profile.entry.esm.js.map +1 -1
  397. package/dist/sdk/u-logout-button.entry.esm.js.map +1 -1
  398. package/dist/sdk/u-magic-code-field.entry.esm.js.map +1 -1
  399. package/dist/sdk/u-missing-fields-submit-button.entry.esm.js.map +1 -1
  400. package/dist/sdk/u-newsletter-checkbox.entry.esm.js.map +1 -1
  401. package/dist/sdk/u-newsletter-logout-button.entry.esm.js.map +1 -1
  402. package/dist/sdk/u-newsletter-preference-checkbox.entry.esm.js.map +1 -1
  403. package/dist/sdk/u-newsletter-resend-doi-button.entry.esm.js.map +1 -1
  404. package/dist/sdk/u-newsletter-root.entry.esm.js.map +1 -1
  405. package/dist/sdk/u-newsletter-toggle-subscription-button.entry.esm.js.map +1 -1
  406. package/dist/sdk/u-pagination-button.entry.esm.js.map +1 -1
  407. package/dist/sdk/u-passkey.entry.esm.js.map +1 -1
  408. package/dist/sdk/u-profile.u-submit-button.entry.esm.js.map +1 -1
  409. package/dist/sdk/u-reset-password-button.entry.esm.js.map +1 -1
  410. package/dist/sdk/u-send-magic-code-button.entry.esm.js.map +1 -1
  411. package/dist/sdk/u-signin-root.entry.esm.js.map +1 -1
  412. package/dist/sdk/u-signin-step.entry.esm.js.map +1 -1
  413. package/dist/sdk/u-social-login-button.entry.esm.js.map +1 -1
  414. package/dist/sdk/u-spinner.entry.esm.js.map +1 -1
  415. package/dist/sdk/u-ticketable-list.entry.esm.js.map +1 -1
  416. package/dist/types/auth/components/submit-button/auth-submit-button.d.ts +1 -6
  417. package/dist/types/components.d.ts +7 -3
  418. package/dist/types/newsletter/components/newsletter-root/newsletter-root.d.ts +3 -2
  419. package/dist/types/newsletter/components/submit-button/newsletter-submit-button.d.ts +2 -6
  420. package/dist/types/profile/components/submit-button/profile-submit-button.d.ts +0 -3
  421. package/dist/types/{shared/components/u-fields-submit-button-logic/submit-button-logic.d.ts → profile/profile-helpers.d.ts} +1 -1
  422. package/dist/types/shared/components/email-field/email-field.d.ts +2 -0
  423. package/dist/types/shared/components/submit-button/context.d.ts +5 -6
  424. package/dist/types/shared/components/submit-button/submit-button.d.ts +2 -1
  425. package/package.json +12 -5
  426. package/readme.md +2 -1
  427. package/dist/cjs/app-globals-CBeI09cT.js +0 -5867
  428. package/dist/cjs/app-globals-CBeI09cT.js.map +0 -1
  429. package/dist/cjs/exports-BTNx1-cN.js +0 -4174
  430. package/dist/cjs/exports-BTNx1-cN.js.map +0 -1
  431. package/dist/cjs/i18n-DNuyTvmJ.js.map +0 -1
  432. package/dist/cjs/index-BSf3Eyrg.js +0 -2094
  433. package/dist/cjs/index-BSf3Eyrg.js.map +0 -1
  434. package/dist/cjs/index-CtJ5meJ7.js.map +0 -1
  435. package/dist/cjs/submit-button-logic-rhAjEO33.js.map +0 -1
  436. package/dist/collection/shared/components/u-fields-submit-button-logic/submit-button-logic.js.map +0 -1
  437. package/dist/components/submit-button-logic.js.map +0 -1
  438. package/dist/esm/app-globals-DAqFb8zM.js +0 -5865
  439. package/dist/esm/app-globals-DAqFb8zM.js.map +0 -1
  440. package/dist/esm/exports-D7pzDSGS.js +0 -4106
  441. package/dist/esm/exports-D7pzDSGS.js.map +0 -1
  442. package/dist/esm/i18n-CPEM4Hc_.js.map +0 -1
  443. package/dist/esm/index-BF13Y4es.js +0 -2078
  444. package/dist/esm/index-BF13Y4es.js.map +0 -1
  445. package/dist/esm/index-CmoCWXkx.js.map +0 -1
  446. package/dist/esm/submit-button-logic-CtMezaoG.js.map +0 -1
  447. package/dist/sdk/p-0ac36431.entry.js +0 -2
  448. package/dist/sdk/p-0bb59d95.entry.js +0 -2
  449. package/dist/sdk/p-1888fa34.entry.js +0 -2
  450. package/dist/sdk/p-1888fa34.entry.js.map +0 -1
  451. package/dist/sdk/p-206eaf1a.entry.js +0 -2
  452. package/dist/sdk/p-206eaf1a.entry.js.map +0 -1
  453. package/dist/sdk/p-219c8df7.entry.js +0 -2
  454. package/dist/sdk/p-219c8df7.entry.js.map +0 -1
  455. package/dist/sdk/p-266ceb9b.entry.js +0 -2
  456. package/dist/sdk/p-266ceb9b.entry.js.map +0 -1
  457. package/dist/sdk/p-2c01382e.entry.js +0 -2
  458. package/dist/sdk/p-2c01382e.entry.js.map +0 -1
  459. package/dist/sdk/p-339cb94f.entry.js +0 -2
  460. package/dist/sdk/p-339cb94f.entry.js.map +0 -1
  461. package/dist/sdk/p-35cc6db7.entry.js +0 -2
  462. package/dist/sdk/p-40d9f876.entry.js +0 -2
  463. package/dist/sdk/p-40d9f876.entry.js.map +0 -1
  464. package/dist/sdk/p-4b63a37a.entry.js +0 -2
  465. package/dist/sdk/p-4df06d55.entry.js +0 -2
  466. package/dist/sdk/p-4df06d55.entry.js.map +0 -1
  467. package/dist/sdk/p-71d3863b.entry.js +0 -2
  468. package/dist/sdk/p-71d3863b.entry.js.map +0 -1
  469. package/dist/sdk/p-85e072ef.entry.js +0 -2
  470. package/dist/sdk/p-85e072ef.entry.js.map +0 -1
  471. package/dist/sdk/p-87a0b0f0.entry.js +0 -2
  472. package/dist/sdk/p-87a0b0f0.entry.js.map +0 -1
  473. package/dist/sdk/p-8969d1ab.entry.js +0 -2
  474. package/dist/sdk/p-8969d1ab.entry.js.map +0 -1
  475. package/dist/sdk/p-8970a077.entry.js +0 -2
  476. package/dist/sdk/p-8970a077.entry.js.map +0 -1
  477. package/dist/sdk/p-BF13Y4es.js +0 -3
  478. package/dist/sdk/p-BF13Y4es.js.map +0 -1
  479. package/dist/sdk/p-BeGO8MZ-.js +0 -2
  480. package/dist/sdk/p-BsVyUZ6I.js +0 -2
  481. package/dist/sdk/p-BsVyUZ6I.js.map +0 -1
  482. package/dist/sdk/p-CPMAxeLD.js +0 -2
  483. package/dist/sdk/p-D6-66bay.js +0 -2
  484. package/dist/sdk/p-D7pzDSGS.js +0 -2
  485. package/dist/sdk/p-D7pzDSGS.js.map +0 -1
  486. package/dist/sdk/p-DBjPNcZQ.js +0 -2
  487. package/dist/sdk/p-KnO0pPVa.js +0 -2
  488. package/dist/sdk/p-KnO0pPVa.js.map +0 -1
  489. package/dist/sdk/p-PfzIdrPb.js +0 -2
  490. package/dist/sdk/p-PfzIdrPb.js.map +0 -1
  491. package/dist/sdk/p-aab36768.entry.js +0 -2
  492. package/dist/sdk/p-aab36768.entry.js.map +0 -1
  493. package/dist/sdk/p-adff35b8.entry.js +0 -2
  494. package/dist/sdk/p-b39d7b93.entry.js +0 -2
  495. package/dist/sdk/p-b39d7b93.entry.js.map +0 -1
  496. package/dist/sdk/p-b3a64589.entry.js +0 -2
  497. package/dist/sdk/p-b3a64589.entry.js.map +0 -1
  498. package/dist/sdk/p-b5012f17.entry.js +0 -2
  499. package/dist/sdk/p-b5012f17.entry.js.map +0 -1
  500. package/dist/sdk/p-c723d85a.entry.js +0 -2
  501. package/dist/sdk/p-c723d85a.entry.js.map +0 -1
  502. package/dist/sdk/p-dab61f77.entry.js +0 -2
  503. package/dist/sdk/p-dab61f77.entry.js.map +0 -1
  504. package/dist/sdk/p-ec255573.entry.js +0 -2
  505. package/dist/sdk/p-ec255573.entry.js.map +0 -1
  506. package/dist/sdk/p-f38f9c60.entry.js +0 -2
  507. package/dist/sdk/p-f38f9c60.entry.js.map +0 -1
  508. /package/dist/sdk/{p-08ddbde8.entry.js.map → p-5da49d00.entry.js.map} +0 -0
  509. /package/dist/sdk/{p-63ff8516.entry.js.map → p-6893d167.entry.js.map} +0 -0
  510. /package/dist/sdk/{p-c2098f5e.entry.js.map → p-73c2ec89.entry.js.map} +0 -0
  511. /package/dist/sdk/{p-0bb59d95.entry.js.map → p-745742f1.entry.js.map} +0 -0
  512. /package/dist/sdk/{p-5d859a51.entry.js.map → p-8d787494.entry.js.map} +0 -0
  513. /package/dist/sdk/{p-2ddce950.entry.js.map → p-bb5ae222.entry.js.map} +0 -0
  514. /package/dist/sdk/{p-0ac36431.entry.js.map → p-c2fba7c8.entry.js.map} +0 -0
  515. /package/dist/sdk/{p-2f8f53ed.entry.js.map → p-dcd4e8f0.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"u-logout-button.entry.js","sources":["src/auth/components/logout-button/logout-button.tsx"],"sourcesContent":["import { Component, h, Prop, type EventEmitter, Event } from \"@stencil/core\";\nimport { Auth } from \"../../auth\";\nimport { t } from \"../../../i18n\";\n\n@Component({\n tag: \"u-logout-button\",\n shadow: false,\n})\nexport class LogoutButton {\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop() reloadOnSuccess = true;\n\n @Event() logout!: EventEmitter<void>;\n\n private handleLogout = async () => {\n const authInstance = await Auth.getInstance();\n\n const result = await authInstance.logout();\n\n if (result === true) {\n this.logout.emit();\n\n if (this.reloadOnSuccess) {\n window.location.reload();\n }\n }\n };\n\n render() {\n return (\n <button type=\"button\" class={this.componentClassName} onClick={this.handleLogout} aria-live=\"polite\">\n {t(\"buttons.logout\")}\n </button>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;MAQa,YAAY,GAAA,MAAA;;;;;IACY,kBAAkB,GAAG,EAAE;IAClD,eAAe,GAAG,IAAI;AAErB,IAAA,MAAM;IAEP,YAAY,GAAG,YAAW;AAChC,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;AAE7C,QAAA,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;AAE1C,QAAA,IAAI,MAAM,KAAK,IAAI,EAAE;AACnB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAElB,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,gBAAA,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;;;AAG9B,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,QACE,CAAQ,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAA,WAAA,EAAY,QAAQ,EAAA,EACjG,CAAC,CAAC,gBAAgB,CAAC,CACb;;;;;;"}
1
+ {"version":3,"file":"u-logout-button.entry.js","sources":["src/auth/components/logout-button/logout-button.tsx"],"sourcesContent":["import { Component, h, Prop, type EventEmitter, Event } from \"@stencil/core\";\nimport { Auth } from \"../../auth\";\nimport { t } from \"../../../i18n\";\n\n@Component({\n tag: \"u-logout-button\",\n shadow: false,\n})\nexport class LogoutButton {\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop() reloadOnSuccess = true;\n\n @Event() logout!: EventEmitter<void>;\n\n private handleLogout = async () => {\n const authInstance = await Auth.getInstance();\n\n const result = await authInstance.logout();\n\n if (result === true) {\n this.logout.emit();\n\n if (this.reloadOnSuccess) {\n window.location.reload();\n }\n }\n };\n\n render() {\n return (\n <button type=\"button\" class={this.componentClassName} onClick={this.handleLogout} aria-live=\"polite\">\n {t(\"buttons.logout\")}\n </button>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;MAQa,YAAY,GAAA,MAAA;;;;;IACY,kBAAkB,GAAG,EAAE;IAClD,eAAe,GAAG,IAAI;AAErB,IAAA,MAAM;IAEP,YAAY,GAAG,YAAW;AAChC,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;AAE7C,QAAA,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,MAAM,EAAE;AAE1C,QAAA,IAAI,MAAM,KAAK,IAAI,EAAE;AACnB,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;AAElB,YAAA,IAAI,IAAI,CAAC,eAAe,EAAE;AACxB,gBAAA,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE;;;AAG9B,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,QACE,CAAQ,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAA,WAAA,EAAY,QAAQ,EAAA,EACjG,CAAC,CAAC,gBAAgB,CAAC,CACb;;;;;;"}
@@ -1,16 +1,15 @@
1
- import { r as registerInstance, h } from './index-BF13Y4es.js';
2
- import { s as state } from './auth-store-BXzAv0RK.js';
3
- import { A as Auth } from './auth-C6B1Fl8C.js';
4
- import './index-CJnDmBjL.js';
5
- import './unidy-store-C2nKKukb.js';
6
- import './profile-store-By-nqzr9.js';
7
- import './flash-store-CF5vw4w-.js';
1
+ import { r as registerInstance, h } from './index-Ci3aTmzp.js';
2
+ import { s as state } from './auth-store-BMqUdTpC.js';
3
+ import { A as Auth } from './auth-DLKPv5Zm.js';
4
+ import './index-Bjp1XO-f.js';
5
+ import './unidy-store-BldTAtO0.js';
6
+ import './profile-store-RmZB2PTc.js';
7
+ import './flash-store-CEvWSG0c.js';
8
8
  import './component-utils-D1lzXl_Z.js';
9
- import './i18n-CPEM4Hc_.js';
10
- import './index-CmoCWXkx.js';
11
- import './exports-D7pzDSGS.js';
9
+ import './i18n-BR-AGAnn.js';
10
+ import './index-DKaIwo59.js';
12
11
 
13
- const magicCodeFieldCss = "/*! 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-border-style:solid;--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;--tw-duration:initial}}}@layer theme{:host,:root{--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;--color-slate-200:oklch(92.9% .013 255.508);--spacing:.25rem;--text-lg:1.125rem;--text-lg--line-height:1.55556;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--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{-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);tab-size:4;-webkit-tap-highlight-color:transparent;line-height:1.5}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(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;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:currentColor;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{.flex{display:flex}.h-\\[50px\\]{height:50px}.w-\\[50px\\]{width:50px}.w-full{width:100%}.justify-center{justify-content:center}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.rounded-lg{border-radius:var(--radius-lg)}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-slate-200{border-color:var(--color-slate-200)}.text-center{text-align:center}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.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)}.transition-colors{transition-duration:var(--tw-duration,var(--default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.outline-none{--tw-outline-style:none;outline-style:none}} /*! 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-border-style:solid;--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;--tw-duration:initial}}}@layer base{}@layer components;@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@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}@property --tw-duration{syntax:\"*\";inherits:false}";
12
+ const magicCodeFieldCss = "/*! 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-ring-offset-width:0px;--tw-border-style:solid;--tw-duration:initial;--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:0;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@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-color-slate-200:oklch(92.9% .013 255.508);--u-spacing:.25rem;--u-text-lg:1.125rem;--u-text-lg--line-height:1.55556;--u-radius-lg:.5rem;--u-default-transition-duration:.15s;--u-default-transition-timing-function:cubic-bezier(.4,0,.2,1);--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);tab-size:4;-webkit-tap-highlight-color:transparent;line-height:1.5}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:currentColor;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\\:h-\\[50px\\]{height:50px}.u\\:w-\\[50px\\]{width:50px}.u\\:w-full{width:100%}.u\\:justify-center{justify-content:center}.u\\:gap-0\\.5{gap:calc(var(--u-spacing)*.5)}.u\\:rounded-lg{border-radius:var(--u-radius-lg)}.u\\:border-2{border-style:var(--tw-border-style);border-width:2px}.u\\:border-solid{--tw-border-style:solid;border-style:solid}.u\\:border-slate-200{border-color:var(--u-color-slate-200)}.u\\:text-center{text-align:center}.u\\:text-lg{font-size:var(--u-text-lg);line-height:var(--tw-leading,var(--u-text-lg--line-height))}.u\\:transition-colors{transition-duration:var(--tw-duration,var(--u-default-transition-duration));transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--u-default-transition-timing-function))}.u\\:duration-200{--tw-duration:.2s;transition-duration:.2s}.u\\:outline-none{--tw-outline-style:none;outline-style:none}.fixed{position:fixed}.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)}} /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */@layer properties{}@layer base{}@layer components;@layer utilities{}@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}@property --tw-border-style{syntax:\"*\";inherits:false;initial-value:solid}@property --tw-duration{syntax:\"*\";inherits:false}";
14
13
 
15
14
  const MagicCodeField = class {
16
15
  constructor(hostRef) {
@@ -75,12 +74,12 @@ const MagicCodeField = class {
75
74
  if (state.step !== "magic-code") {
76
75
  return null;
77
76
  }
78
- return (h("div", { class: `flex gap-0.5 w-full justify-center ${this.componentClassName}` }, this.codeDigits.map((digit, index) => (h("input", {
79
- // biome-ignore lint/suspicious/noArrayIndexKey:
77
+ return (h("div", { class: `u:flex u:gap-0.5 u:w-full u:justify-center ${this.componentClassName}` }, this.codeDigits.map((digit, index) => (h("input", {
78
+ // biome-ignore lint/suspicious/noArrayIndexKey: digits are fixed position inputs
80
79
  key: index, ref: (el) => {
81
80
  if (el)
82
81
  this.inputRefs[index] = el;
83
- }, id: `digit-input-${index + 1}`, type: "text", inputmode: "numeric", maxlength: "1", value: digit, disabled: state.loading, onInput: (event) => this.handleInput(event, index), onKeyDown: (event) => this.handleKeyDown(event, index), onPaste: index === 0 ? this.handlePaste : undefined, "aria-label": `Digit ${index + 1} of ${this.codeDigits.length}`, class: "w-[50px] h-[50px] text-center text-lg border-2 border-slate-200 rounded-lg outline-none transition-colors duration-200", part: "digit-input"
82
+ }, id: `digit-input-${index + 1}`, type: "text", inputmode: "numeric", maxlength: "1", value: digit, disabled: state.loading, onInput: (event) => this.handleInput(event, index), onKeyDown: (event) => this.handleKeyDown(event, index), onPaste: index === 0 ? this.handlePaste : undefined, "aria-label": `Digit ${index + 1} of ${this.codeDigits.length}`, class: "u:w-[50px] u:h-[50px] u:text-center u:text-lg u:border-2 u:border-solid u:border-slate-200 u:rounded-lg u:outline-none u:transition-colors u:duration-200", part: "digit-input"
84
83
  })))));
85
84
  }
86
85
  };
@@ -1 +1 @@
1
- {"version":3,"file":"u-magic-code-field.entry.js","sources":["src/auth/components/magic-code-field/magic-code-field.css?tag=u-magic-code-field","src/auth/components/magic-code-field/magic-code-field.tsx"],"sourcesContent":["\n","import { Component, h, Prop, State } from \"@stencil/core\";\nimport { authState } from \"../../store/auth-store\";\nimport { Auth } from \"../../auth\";\n\n@Component({\n tag: \"u-magic-code-field\",\n styleUrl: \"magic-code-field.css\",\n shadow: false,\n})\nexport class MagicCodeField {\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n @State() codeDigits: string[] = [\"\", \"\", \"\", \"\"];\n\n private inputRefs: HTMLInputElement[] = [];\n\n private handleInput = (event: Event, index: number) => {\n const target = event.target as HTMLInputElement;\n const value = target.value.replace(/[^0-9]/g, \"\");\n const sanitizedDigit = value.slice(-1);\n target.value = sanitizedDigit;\n\n const newDigits = [...this.codeDigits];\n newDigits[index] = sanitizedDigit;\n this.codeDigits = newDigits;\n\n const fullCode = newDigits.join(\"\");\n\n if (value && index < 3) {\n const nextInput = this.inputRefs[index + 1];\n if (nextInput) {\n nextInput.focus();\n }\n }\n\n if (fullCode.length === 4) {\n this.authenticateWithCode(fullCode);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent, index: number) => {\n if (event.key === \"Backspace\" && !this.codeDigits[index] && index > 0) {\n const prevInput = this.inputRefs[index - 1];\n if (prevInput) {\n prevInput.focus();\n }\n }\n };\n\n private handlePaste = (event: ClipboardEvent) => {\n event.preventDefault();\n const pastedData = event.clipboardData?.getData(\"text\") || \"\";\n const digits = pastedData\n .replace(/[^0-9]/g, \"\")\n .slice(0, 4)\n .split(\"\");\n\n while (digits.length < 4) {\n digits.push(\"\");\n }\n\n this.codeDigits = digits;\n\n const firstEmptyIndex = digits.findIndex((digit) => !digit);\n const targetIndex = firstEmptyIndex !== -1 ? firstEmptyIndex : 3;\n if (this.inputRefs[targetIndex]) {\n this.inputRefs[targetIndex].focus();\n }\n\n const fullCode = digits.join(\"\");\n if (fullCode.length === 4) {\n this.authenticateWithCode(fullCode);\n }\n };\n\n private authenticateWithCode = async (code: string) => {\n const authInstance = await Auth.getInstance();\n\n await authInstance.helpers.authenticateWithMagicCode(code);\n };\n render() {\n if (authState.step !== \"magic-code\") {\n return null;\n }\n\n return (\n <div class={`flex gap-0.5 w-full justify-center ${this.componentClassName}`}>\n {this.codeDigits.map((digit, index) => (\n <input\n // biome-ignore lint/suspicious/noArrayIndexKey:\n key={index}\n ref={(el) => {\n if (el) this.inputRefs[index] = el;\n }}\n id={`digit-input-${index + 1}`}\n type=\"text\"\n inputmode=\"numeric\"\n maxlength=\"1\"\n value={digit}\n disabled={authState.loading}\n onInput={(event) => this.handleInput(event, index)}\n onKeyDown={(event) => this.handleKeyDown(event, index)}\n onPaste={index === 0 ? this.handlePaste : undefined}\n aria-label={`Digit ${index + 1} of ${this.codeDigits.length}`}\n class=\"w-[50px] h-[50px] text-center text-lg border-2 border-slate-200 rounded-lg outline-none transition-colors duration-200\"\n part=\"digit-input\"\n />\n ))}\n </div>\n );\n }\n}\n"],"names":["authState"],"mappings":"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"}
1
+ {"version":3,"file":"u-magic-code-field.entry.js","sources":["src/auth/components/magic-code-field/magic-code-field.css?tag=u-magic-code-field","src/auth/components/magic-code-field/magic-code-field.tsx"],"sourcesContent":["","import { Component, h, Prop, State } from \"@stencil/core\";\nimport { authState } from \"../../store/auth-store\";\nimport { Auth } from \"../../auth\";\n\n@Component({\n tag: \"u-magic-code-field\",\n styleUrl: \"magic-code-field.css\",\n shadow: false,\n})\nexport class MagicCodeField {\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n @State() codeDigits: string[] = [\"\", \"\", \"\", \"\"];\n\n private inputRefs: HTMLInputElement[] = [];\n\n private handleInput = (event: Event, index: number) => {\n const target = event.target as HTMLInputElement;\n const value = target.value.replace(/[^0-9]/g, \"\");\n const sanitizedDigit = value.slice(-1);\n target.value = sanitizedDigit;\n\n const newDigits = [...this.codeDigits];\n newDigits[index] = sanitizedDigit;\n this.codeDigits = newDigits;\n\n const fullCode = newDigits.join(\"\");\n\n if (value && index < 3) {\n const nextInput = this.inputRefs[index + 1];\n if (nextInput) {\n nextInput.focus();\n }\n }\n\n if (fullCode.length === 4) {\n this.authenticateWithCode(fullCode);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent, index: number) => {\n if (event.key === \"Backspace\" && !this.codeDigits[index] && index > 0) {\n const prevInput = this.inputRefs[index - 1];\n if (prevInput) {\n prevInput.focus();\n }\n }\n };\n\n private handlePaste = (event: ClipboardEvent) => {\n event.preventDefault();\n const pastedData = event.clipboardData?.getData(\"text\") || \"\";\n const digits = pastedData\n .replace(/[^0-9]/g, \"\")\n .slice(0, 4)\n .split(\"\");\n\n while (digits.length < 4) {\n digits.push(\"\");\n }\n\n this.codeDigits = digits;\n\n const firstEmptyIndex = digits.findIndex((digit) => !digit);\n const targetIndex = firstEmptyIndex !== -1 ? firstEmptyIndex : 3;\n if (this.inputRefs[targetIndex]) {\n this.inputRefs[targetIndex].focus();\n }\n\n const fullCode = digits.join(\"\");\n if (fullCode.length === 4) {\n this.authenticateWithCode(fullCode);\n }\n };\n\n private authenticateWithCode = async (code: string) => {\n const authInstance = await Auth.getInstance();\n\n await authInstance.helpers.authenticateWithMagicCode(code);\n };\n render() {\n if (authState.step !== \"magic-code\") {\n return null;\n }\n\n return (\n <div class={`u:flex u:gap-0.5 u:w-full u:justify-center ${this.componentClassName}`}>\n {this.codeDigits.map((digit, index) => (\n <input\n // biome-ignore lint/suspicious/noArrayIndexKey: digits are fixed position inputs\n key={index}\n ref={(el) => {\n if (el) this.inputRefs[index] = el;\n }}\n id={`digit-input-${index + 1}`}\n type=\"text\"\n inputmode=\"numeric\"\n maxlength=\"1\"\n value={digit}\n disabled={authState.loading}\n onInput={(event) => this.handleInput(event, index)}\n onKeyDown={(event) => this.handleKeyDown(event, index)}\n onPaste={index === 0 ? this.handlePaste : undefined}\n aria-label={`Digit ${index + 1} of ${this.codeDigits.length}`}\n class=\"u:w-[50px] u:h-[50px] u:text-center u:text-lg u:border-2 u:border-solid u:border-slate-200 u:rounded-lg u:outline-none u:transition-colors u:duration-200\"\n part=\"digit-input\"\n />\n ))}\n </div>\n );\n }\n}\n"],"names":["authState"],"mappings":";;;;;;;;;;;AAAA,MAAM,iBAAiB,GAAG,6/PAA6/P;;MCS1gQ,cAAc,GAAA,MAAA;;;;IACU,kBAAkB,GAAG,EAAE;IAEjD,UAAU,GAAa,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAExC,SAAS,GAAuB,EAAE;AAElC,IAAA,WAAW,GAAG,CAAC,KAAY,EAAE,KAAa,KAAI;AACpD,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAA0B;AAC/C,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;QACjD,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;AACtC,QAAA,MAAM,CAAC,KAAK,GAAG,cAAc;QAE7B,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC;AACtC,QAAA,SAAS,CAAC,KAAK,CAAC,GAAG,cAAc;AACjC,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS;QAE3B,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;AAEnC,QAAA,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE;YACtB,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;YAC3C,IAAI,SAAS,EAAE;gBACb,SAAS,CAAC,KAAK,EAAE;;;AAIrB,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,YAAA,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;;AAEvC,KAAC;AAEO,IAAA,aAAa,GAAG,CAAC,KAAoB,EAAE,KAAa,KAAI;AAC9D,QAAA,IAAI,KAAK,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE;YACrE,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC;YAC3C,IAAI,SAAS,EAAE;gBACb,SAAS,CAAC,KAAK,EAAE;;;AAGvB,KAAC;AAEO,IAAA,WAAW,GAAG,CAAC,KAAqB,KAAI;QAC9C,KAAK,CAAC,cAAc,EAAE;AACtB,QAAA,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE;QAC7D,MAAM,MAAM,GAAG;AACZ,aAAA,OAAO,CAAC,SAAS,EAAE,EAAE;AACrB,aAAA,KAAK,CAAC,CAAC,EAAE,CAAC;aACV,KAAK,CAAC,EAAE,CAAC;AAEZ,QAAA,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACxB,YAAA,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;;AAGjB,QAAA,IAAI,CAAC,UAAU,GAAG,MAAM;AAExB,QAAA,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC;AAC3D,QAAA,MAAM,WAAW,GAAG,eAAe,KAAK,EAAE,GAAG,eAAe,GAAG,CAAC;AAChE,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAAE;YAC/B,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE;;QAGrC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;AAChC,QAAA,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AACzB,YAAA,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;;AAEvC,KAAC;AAEO,IAAA,oBAAoB,GAAG,OAAO,IAAY,KAAI;AACpD,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;QAE7C,MAAM,YAAY,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC;AAC5D,KAAC;IACD,MAAM,GAAA;AACJ,QAAA,IAAIA,KAAS,CAAC,IAAI,KAAK,YAAY,EAAE;AACnC,YAAA,OAAO,IAAI;;AAGb,QAAA,QACE,WAAK,KAAK,EAAE,CAAA,2CAAA,EAA8C,IAAI,CAAC,kBAAkB,CAAA,CAAE,EAChF,EAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,MAChC,CAAA,CAAA,OAAA,EAAA;;YAEE,GAAG,EAAE,KAAK,EACV,GAAG,EAAE,CAAC,EAAE,KAAI;AACV,gBAAA,IAAI,EAAE;AAAE,oBAAA,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,EAAE;aACnC,EACD,EAAE,EAAE,CAAA,YAAA,EAAe,KAAK,GAAG,CAAC,EAAE,EAC9B,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,SAAS,EACnB,SAAS,EAAC,GAAG,EACb,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAEA,KAAS,CAAC,OAAO,EAC3B,OAAO,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC,EAClD,SAAS,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC,EACtD,OAAO,EAAE,KAAK,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,SAAS,gBACvC,SAAS,KAAK,GAAG,CAAC,CAAA,IAAA,EAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAC7D,KAAK,EAAC,2JAA2J,EACjK,IAAI,EAAC;UACL,CACH,CAAC,CACE;;;;;;;"}
@@ -1,7 +1,7 @@
1
- import { r as registerInstance, g as getElement, h } from './index-BF13Y4es.js';
2
- import { s as state, m as missingFieldNames } from './auth-store-BXzAv0RK.js';
3
- import './index-CJnDmBjL.js';
4
- import './unidy-store-C2nKKukb.js';
1
+ import { r as registerInstance, g as getElement, h } from './index-Ci3aTmzp.js';
2
+ import { s as state, m as missingFieldNames } from './auth-store-BMqUdTpC.js';
3
+ import './index-Bjp1XO-f.js';
4
+ import './unidy-store-BldTAtO0.js';
5
5
 
6
6
  const MissingField = class {
7
7
  constructor(hostRef) {
@@ -1,13 +1,12 @@
1
- import { r as registerInstance, g as getElement, h } from './index-BF13Y4es.js';
2
- import { g as getUnidyClient } from './index-CmoCWXkx.js';
3
- import { s as state } from './profile-store-By-nqzr9.js';
4
- import { s as state$1, a as authStore } from './auth-store-BXzAv0RK.js';
5
- import { v as validateRequiredFieldsUnchanged, b as buildPayload } from './submit-button-logic-CtMezaoG.js';
1
+ import { r as registerInstance, g as getElement, h } from './index-Ci3aTmzp.js';
2
+ import { g as getUnidyClient } from './index-DKaIwo59.js';
3
+ import { s as state } from './profile-store-RmZB2PTc.js';
4
+ import { s as state$1, a as authStore } from './auth-store-BMqUdTpC.js';
5
+ import { v as validateRequiredFieldsUnchanged, b as buildPayload } from './profile-helpers-7onubaoR.js';
6
6
  import { h as hasSlotContent } from './component-utils-D1lzXl_Z.js';
7
- import { t } from './i18n-CPEM4Hc_.js';
8
- import './exports-D7pzDSGS.js';
9
- import './unidy-store-C2nKKukb.js';
10
- import './index-CJnDmBjL.js';
7
+ import { t } from './i18n-BR-AGAnn.js';
8
+ import './unidy-store-BldTAtO0.js';
9
+ import './index-Bjp1XO-f.js';
11
10
 
12
11
  const MissingFieldsSubmitButton = class {
13
12
  constructor(hostRef) {
@@ -1 +1 @@
1
- {"version":3,"file":"u-missing-fields-submit-button.entry.js","sources":["src/auth/components/missing-fields-submit-button/missing-fields-submit-button.tsx"],"sourcesContent":["import { Component, Element, h } from \"@stencil/core\";\nimport { getUnidyClient } from \"../../../api\";\nimport { state as profileState } from \"../../../profile/store/profile-store\";\nimport { authState, authStore } from \"../../store/auth-store\";\nimport { validateRequiredFieldsUnchanged, buildPayload } from \"../../../shared/components/u-fields-submit-button-logic/submit-button-logic\";\nimport type { TokenResponse } from \"../../api/auth\";\nimport { hasSlotContent } from \"../../../shared/component-utils\";\nimport { t } from \"../../../i18n\";\n\n@Component({\n tag: \"u-missing-fields-submit-button\",\n shadow: true,\n})\nexport class MissingFieldsSubmitButton {\n @Element() el!: HTMLElement;\n\n private async onSubmit() {\n profileState.loading = true;\n\n const { configuration, ...stateWithoutConfig } = profileState;\n\n if (!validateRequiredFieldsUnchanged(stateWithoutConfig.data)) {\n profileState.loading = false;\n return;\n }\n\n const updatedProfileData = buildPayload(stateWithoutConfig.data);\n const sid = authState.sid as string;\n\n const [error, response] = await getUnidyClient().auth.updateMissingFields(sid, updatedProfileData);\n\n if (error) {\n profileState.loading = false;\n return;\n }\n\n const { jwt } = response as TokenResponse;\n profileState.loading = false;\n authStore.setToken(jwt);\n\n // Emit authEvent to allow modal-based logins to close after successful submission\n this.el.dispatchEvent(new CustomEvent(\"authEvent\", { detail: { jwt }, bubbles: true, composed: true }));\n }\n\n render() {\n if (authState.step !== \"missing-fields\") return null;\n\n return (\n <div>\n <button\n type=\"button\"\n onClick={() => this.onSubmit()}\n part=\"button\"\n disabled={(profileState.errors && Object.keys(profileState.errors).length > 0) || profileState.phoneValid === false}\n aria-live=\"polite\"\n >\n {profileState.loading ? <u-spinner /> : hasSlotContent(this.el) ? <slot /> : t(\"buttons.submit\")}\n </button>\n </div>\n );\n }\n}\n"],"names":["profileState","authState"],"mappings":";;;;;;;;;;;MAaa,yBAAyB,GAAA,MAAA;;;;;AAG5B,IAAA,MAAM,QAAQ,GAAA;AACpB,QAAAA,KAAY,CAAC,OAAO,GAAG,IAAI;QAE3B,MAAM,EAAE,aAAa,EAAE,GAAG,kBAAkB,EAAE,GAAGA,KAAY;QAE7D,IAAI,CAAC,+BAA+B,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;AAC7D,YAAAA,KAAY,CAAC,OAAO,GAAG,KAAK;YAC5B;;QAGF,MAAM,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAChE,QAAA,MAAM,GAAG,GAAGC,OAAS,CAAC,GAAa;AAEnC,QAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,cAAc,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,kBAAkB,CAAC;QAElG,IAAI,KAAK,EAAE;AACT,YAAAD,KAAY,CAAC,OAAO,GAAG,KAAK;YAC5B;;AAGF,QAAA,MAAM,EAAE,GAAG,EAAE,GAAG,QAAyB;AACzC,QAAAA,KAAY,CAAC,OAAO,GAAG,KAAK;AAC5B,QAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;;QAGvB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;;IAGzG,MAAM,GAAA;AACJ,QAAA,IAAIC,OAAS,CAAC,IAAI,KAAK,gBAAgB;AAAE,YAAA,OAAO,IAAI;QAEpD,QACE,CAAA,CAAA,KAAA,EAAA,IAAA,EACE,CAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,EAC9B,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAACD,KAAY,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAACA,KAAY,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,KAAKA,KAAY,CAAC,UAAU,KAAK,KAAK,EAAA,WAAA,EACzG,QAAQ,EAEjB,EAAAA,KAAY,CAAC,OAAO,GAAG,CAAa,CAAA,WAAA,EAAA,IAAA,CAAA,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAQ,CAAA,MAAA,EAAA,IAAA,CAAA,GAAG,CAAC,CAAC,gBAAgB,CAAC,CACzF,CACL;;;;;;"}
1
+ {"version":3,"file":"u-missing-fields-submit-button.entry.js","sources":["src/auth/components/missing-fields-submit-button/missing-fields-submit-button.tsx"],"sourcesContent":["import { Component, Element, h } from \"@stencil/core\";\nimport { getUnidyClient } from \"../../../api\";\nimport { state as profileState } from \"../../../profile/store/profile-store\";\nimport { authState, authStore } from \"../../store/auth-store\";\nimport { validateRequiredFieldsUnchanged, buildPayload } from \"../../../profile/profile-helpers\";\nimport type { TokenResponse } from \"../../api/auth\";\nimport { hasSlotContent } from \"../../../shared/component-utils\";\nimport { t } from \"../../../i18n\";\n\n@Component({\n tag: \"u-missing-fields-submit-button\",\n shadow: true,\n})\nexport class MissingFieldsSubmitButton {\n @Element() el!: HTMLElement;\n\n private async onSubmit() {\n profileState.loading = true;\n\n const { configuration, ...stateWithoutConfig } = profileState;\n\n if (!validateRequiredFieldsUnchanged(stateWithoutConfig.data)) {\n profileState.loading = false;\n return;\n }\n\n const updatedProfileData = buildPayload(stateWithoutConfig.data);\n const sid = authState.sid as string;\n\n const [error, response] = await getUnidyClient().auth.updateMissingFields(sid, updatedProfileData);\n\n if (error) {\n profileState.loading = false;\n return;\n }\n\n const { jwt } = response as TokenResponse;\n profileState.loading = false;\n authStore.setToken(jwt);\n\n // Emit authEvent to allow modal-based logins to close after successful submission\n this.el.dispatchEvent(new CustomEvent(\"authEvent\", { detail: { jwt }, bubbles: true, composed: true }));\n }\n\n render() {\n if (authState.step !== \"missing-fields\") return null;\n\n return (\n <div>\n <button\n type=\"button\"\n onClick={() => this.onSubmit()}\n part=\"button\"\n disabled={(profileState.errors && Object.keys(profileState.errors).length > 0) || profileState.phoneValid === false}\n aria-live=\"polite\"\n >\n {profileState.loading ? <u-spinner /> : hasSlotContent(this.el) ? <slot /> : t(\"buttons.submit\")}\n </button>\n </div>\n );\n }\n}\n"],"names":["profileState","authState"],"mappings":";;;;;;;;;;MAaa,yBAAyB,GAAA,MAAA;;;;;AAG5B,IAAA,MAAM,QAAQ,GAAA;AACpB,QAAAA,KAAY,CAAC,OAAO,GAAG,IAAI;QAE3B,MAAM,EAAE,aAAa,EAAE,GAAG,kBAAkB,EAAE,GAAGA,KAAY;QAE7D,IAAI,CAAC,+BAA+B,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;AAC7D,YAAAA,KAAY,CAAC,OAAO,GAAG,KAAK;YAC5B;;QAGF,MAAM,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAChE,QAAA,MAAM,GAAG,GAAGC,OAAS,CAAC,GAAa;AAEnC,QAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,cAAc,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,kBAAkB,CAAC;QAElG,IAAI,KAAK,EAAE;AACT,YAAAD,KAAY,CAAC,OAAO,GAAG,KAAK;YAC5B;;AAGF,QAAA,MAAM,EAAE,GAAG,EAAE,GAAG,QAAyB;AACzC,QAAAA,KAAY,CAAC,OAAO,GAAG,KAAK;AAC5B,QAAA,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;;QAGvB,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;;IAGzG,MAAM,GAAA;AACJ,QAAA,IAAIC,OAAS,CAAC,IAAI,KAAK,gBAAgB;AAAE,YAAA,OAAO,IAAI;QAEpD,QACE,CAAA,CAAA,KAAA,EAAA,IAAA,EACE,CAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,EAC9B,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAACD,KAAY,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAACA,KAAY,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,KAAKA,KAAY,CAAC,UAAU,KAAK,KAAK,EAAA,WAAA,EACzG,QAAQ,EAEjB,EAAAA,KAAY,CAAC,OAAO,GAAG,CAAa,CAAA,WAAA,EAAA,IAAA,CAAA,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,CAAQ,CAAA,MAAA,EAAA,IAAA,CAAA,GAAG,CAAC,CAAC,gBAAgB,CAAC,CACzF,CACL;;;;;;"}
@@ -1,15 +1,14 @@
1
- import { r as registerInstance, h } from './index-BF13Y4es.js';
2
- import { n as newsletterStore } from './newsletter-store-Bx1ysKBb.js';
3
- import { a as isSubscribed } from './newsletter-helpers-D9OpR1Yd.js';
4
- import './index-CJnDmBjL.js';
5
- import './index-CmoCWXkx.js';
6
- import './i18n-CPEM4Hc_.js';
7
- import './unidy-store-C2nKKukb.js';
8
- import './exports-D7pzDSGS.js';
9
- import './profile-store-By-nqzr9.js';
10
- import './flash-store-CF5vw4w-.js';
11
- import './auth-C6B1Fl8C.js';
12
- import './auth-store-BXzAv0RK.js';
1
+ import { r as registerInstance, h } from './index-Ci3aTmzp.js';
2
+ import { n as newsletterStore } from './newsletter-store-BYmuLQg8.js';
3
+ import { a as isSubscribed } from './newsletter-helpers-VixG_zoB.js';
4
+ import './index-Bjp1XO-f.js';
5
+ import './index-DKaIwo59.js';
6
+ import './i18n-BR-AGAnn.js';
7
+ import './unidy-store-BldTAtO0.js';
8
+ import './profile-store-RmZB2PTc.js';
9
+ import './flash-store-CEvWSG0c.js';
10
+ import './auth-DLKPv5Zm.js';
11
+ import './auth-store-BMqUdTpC.js';
13
12
  import './component-utils-D1lzXl_Z.js';
14
13
 
15
14
  const NewsletterCheckbox = class {
@@ -1 +1 @@
1
- {"version":3,"file":"u-newsletter-checkbox.entry.js","sources":["src/newsletter/components/newsletter-checkbox/newsletter-checkbox.tsx"],"sourcesContent":["import { Component, h, Prop } from \"@stencil/core\";\nimport { newsletterStore } from \"../../store/newsletter-store\";\nimport * as NewsletterHelpers from \"../../newsletter-helpers\";\n\n@Component({\n tag: \"u-newsletter-checkbox\",\n shadow: false,\n})\nexport class NewsletterCheckbox {\n @Prop() internalName!: string;\n @Prop() checked = false;\n @Prop({ attribute: \"class-name\" }) componentClassName?: string;\n\n componentWillLoad() {\n if (this.checked && !this.isSubscribed) {\n const checkedNewsletters = newsletterStore.state.checkedNewsletters;\n if (!(this.internalName in checkedNewsletters)) {\n newsletterStore.set(\"checkedNewsletters\", {\n ...checkedNewsletters,\n [this.internalName]: [],\n });\n }\n }\n }\n\n private get isSubscribed(): boolean {\n return NewsletterHelpers.isSubscribed(this.internalName);\n }\n\n private get isChecked(): boolean {\n return this.isSubscribed || this.internalName in newsletterStore.state.checkedNewsletters;\n }\n\n private handleChange = () => {\n if (this.isSubscribed) return;\n\n const currentlyChecked = this.internalName in newsletterStore.state.checkedNewsletters;\n\n if (currentlyChecked) {\n const { [this.internalName]: _, ...rest } = newsletterStore.state.checkedNewsletters;\n newsletterStore.set(\"checkedNewsletters\", rest);\n } else {\n newsletterStore.set(\"checkedNewsletters\", {\n ...newsletterStore.state.checkedNewsletters,\n [this.internalName]: [],\n });\n }\n };\n\n render() {\n return (\n <input\n type=\"checkbox\"\n checked={this.isChecked}\n disabled={this.isSubscribed}\n onChange={this.handleChange}\n class={this.componentClassName}\n aria-checked={this.isChecked}\n />\n );\n }\n}\n"],"names":["NewsletterHelpers.isSubscribed"],"mappings":";;;;;;;;;;;;;;MAQa,kBAAkB,GAAA,MAAA;;;;AACrB,IAAA,YAAY;IACZ,OAAO,GAAG,KAAK;AACY,IAAA,kBAAkB;IAErD,iBAAiB,GAAA;QACf,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACtC,YAAA,MAAM,kBAAkB,GAAG,eAAe,CAAC,KAAK,CAAC,kBAAkB;YACnE,IAAI,EAAE,IAAI,CAAC,YAAY,IAAI,kBAAkB,CAAC,EAAE;AAC9C,gBAAA,eAAe,CAAC,GAAG,CAAC,oBAAoB,EAAE;AACxC,oBAAA,GAAG,kBAAkB;AACrB,oBAAA,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE;AACxB,iBAAA,CAAC;;;;AAKR,IAAA,IAAY,YAAY,GAAA;QACtB,OAAOA,YAA8B,CAAC,IAAI,CAAC,YAAY,CAAC;;AAG1D,IAAA,IAAY,SAAS,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,eAAe,CAAC,KAAK,CAAC,kBAAkB;;IAGnF,YAAY,GAAG,MAAK;QAC1B,IAAI,IAAI,CAAC,YAAY;YAAE;QAEvB,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,IAAI,eAAe,CAAC,KAAK,CAAC,kBAAkB;QAEtF,IAAI,gBAAgB,EAAE;AACpB,YAAA,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,kBAAkB;AACpF,YAAA,eAAe,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC;;aAC1C;AACL,YAAA,eAAe,CAAC,GAAG,CAAC,oBAAoB,EAAE;AACxC,gBAAA,GAAG,eAAe,CAAC,KAAK,CAAC,kBAAkB;AAC3C,gBAAA,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE;AACxB,aAAA,CAAC;;AAEN,KAAC;IAED,MAAM,GAAA;QACJ,QACE,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,KAAK,EAAE,IAAI,CAAC,kBAAkB,kBAChB,IAAI,CAAC,SAAS,EAAA,CAC5B;;;;;;"}
1
+ {"version":3,"file":"u-newsletter-checkbox.entry.js","sources":["src/newsletter/components/newsletter-checkbox/newsletter-checkbox.tsx"],"sourcesContent":["import { Component, h, Prop } from \"@stencil/core\";\nimport { newsletterStore } from \"../../store/newsletter-store\";\nimport * as NewsletterHelpers from \"../../newsletter-helpers\";\n\n@Component({\n tag: \"u-newsletter-checkbox\",\n shadow: false,\n})\nexport class NewsletterCheckbox {\n @Prop() internalName!: string;\n @Prop() checked = false;\n @Prop({ attribute: \"class-name\" }) componentClassName?: string;\n\n componentWillLoad() {\n if (this.checked && !this.isSubscribed) {\n const checkedNewsletters = newsletterStore.state.checkedNewsletters;\n if (!(this.internalName in checkedNewsletters)) {\n newsletterStore.set(\"checkedNewsletters\", {\n ...checkedNewsletters,\n [this.internalName]: [],\n });\n }\n }\n }\n\n private get isSubscribed(): boolean {\n return NewsletterHelpers.isSubscribed(this.internalName);\n }\n\n private get isChecked(): boolean {\n return this.isSubscribed || this.internalName in newsletterStore.state.checkedNewsletters;\n }\n\n private handleChange = () => {\n if (this.isSubscribed) return;\n\n const currentlyChecked = this.internalName in newsletterStore.state.checkedNewsletters;\n\n if (currentlyChecked) {\n const { [this.internalName]: _, ...rest } = newsletterStore.state.checkedNewsletters;\n newsletterStore.set(\"checkedNewsletters\", rest);\n } else {\n newsletterStore.set(\"checkedNewsletters\", {\n ...newsletterStore.state.checkedNewsletters,\n [this.internalName]: [],\n });\n }\n };\n\n render() {\n return (\n <input\n type=\"checkbox\"\n checked={this.isChecked}\n disabled={this.isSubscribed}\n onChange={this.handleChange}\n class={this.componentClassName}\n aria-checked={this.isChecked}\n />\n );\n }\n}\n"],"names":["NewsletterHelpers.isSubscribed"],"mappings":";;;;;;;;;;;;;MAQa,kBAAkB,GAAA,MAAA;;;;AACrB,IAAA,YAAY;IACZ,OAAO,GAAG,KAAK;AACY,IAAA,kBAAkB;IAErD,iBAAiB,GAAA;QACf,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;AACtC,YAAA,MAAM,kBAAkB,GAAG,eAAe,CAAC,KAAK,CAAC,kBAAkB;YACnE,IAAI,EAAE,IAAI,CAAC,YAAY,IAAI,kBAAkB,CAAC,EAAE;AAC9C,gBAAA,eAAe,CAAC,GAAG,CAAC,oBAAoB,EAAE;AACxC,oBAAA,GAAG,kBAAkB;AACrB,oBAAA,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE;AACxB,iBAAA,CAAC;;;;AAKR,IAAA,IAAY,YAAY,GAAA;QACtB,OAAOA,YAA8B,CAAC,IAAI,CAAC,YAAY,CAAC;;AAG1D,IAAA,IAAY,SAAS,GAAA;AACnB,QAAA,OAAO,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,IAAI,eAAe,CAAC,KAAK,CAAC,kBAAkB;;IAGnF,YAAY,GAAG,MAAK;QAC1B,IAAI,IAAI,CAAC,YAAY;YAAE;QAEvB,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,IAAI,eAAe,CAAC,KAAK,CAAC,kBAAkB;QAEtF,IAAI,gBAAgB,EAAE;AACpB,YAAA,MAAM,EAAE,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,EAAE,GAAG,IAAI,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,kBAAkB;AACpF,YAAA,eAAe,CAAC,GAAG,CAAC,oBAAoB,EAAE,IAAI,CAAC;;aAC1C;AACL,YAAA,eAAe,CAAC,GAAG,CAAC,oBAAoB,EAAE;AACxC,gBAAA,GAAG,eAAe,CAAC,KAAK,CAAC,kBAAkB;AAC3C,gBAAA,CAAC,IAAI,CAAC,YAAY,GAAG,EAAE;AACxB,aAAA,CAAC;;AAEN,KAAC;IAED,MAAM,GAAA;QACJ,QACE,CAAA,CAAA,OAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,KAAK,EAAE,IAAI,CAAC,kBAAkB,kBAChB,IAAI,CAAC,SAAS,EAAA,CAC5B;;;;;;"}
@@ -1,16 +1,15 @@
1
- import { r as registerInstance, g as getElement, h, H as Host } from './index-BF13Y4es.js';
2
- import { n as newsletterLogout } from './newsletter-helpers-D9OpR1Yd.js';
3
- import { t } from './i18n-CPEM4Hc_.js';
4
- import { F as Flash } from './flash-store-CF5vw4w-.js';
5
- import { n as newsletterStore } from './newsletter-store-Bx1ysKBb.js';
1
+ import { r as registerInstance, g as getElement, h, H as Host } from './index-Ci3aTmzp.js';
2
+ import { n as newsletterLogout } from './newsletter-helpers-VixG_zoB.js';
3
+ import { t } from './i18n-BR-AGAnn.js';
4
+ import { F as Flash } from './flash-store-CEvWSG0c.js';
5
+ import { n as newsletterStore } from './newsletter-store-BYmuLQg8.js';
6
6
  import { h as hasSlotContent } from './component-utils-D1lzXl_Z.js';
7
- import './index-CmoCWXkx.js';
8
- import './exports-D7pzDSGS.js';
9
- import './profile-store-By-nqzr9.js';
10
- import './index-CJnDmBjL.js';
11
- import './unidy-store-C2nKKukb.js';
12
- import './auth-C6B1Fl8C.js';
13
- import './auth-store-BXzAv0RK.js';
7
+ import './index-DKaIwo59.js';
8
+ import './profile-store-RmZB2PTc.js';
9
+ import './index-Bjp1XO-f.js';
10
+ import './unidy-store-BldTAtO0.js';
11
+ import './auth-DLKPv5Zm.js';
12
+ import './auth-store-BMqUdTpC.js';
14
13
 
15
14
  const LogoutButton = class {
16
15
  constructor(hostRef) {
@@ -1 +1 @@
1
- {"version":3,"file":"u-newsletter-logout-button.entry.js","sources":["src/newsletter/components/logout-button/logout-button.tsx"],"sourcesContent":["import { Component, h, Prop, Element, Host } from \"@stencil/core\";\nimport { newsletterLogout } from \"../../newsletter-helpers\";\nimport { t } from \"../../../i18n\";\nimport { Flash } from \"../../../shared/store/flash-store\";\nimport { newsletterStore } from \"../../store/newsletter-store\";\nimport { hasSlotContent } from \"../../../shared/component-utils\";\n\n@Component({\n tag: \"u-newsletter-logout-button\",\n shadow: false,\n})\nexport class LogoutButton {\n @Element() el!: HTMLElement;\n\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n private handleLogout = () => {\n newsletterLogout();\n Flash.success.addMessage(t(\"newsletter.success.logout\"));\n };\n\n render() {\n if (newsletterStore.state.preferenceToken === \"\" || newsletterStore.state.isAuthenticated) {\n return <Host style={{ display: \"none\" }} />;\n }\n\n const hasContent = hasSlotContent(this.el);\n\n return (\n <Host>\n <button\n type=\"button\"\n part=\"button\"\n class={this.componentClassName}\n onClick={this.handleLogout}\n aria-label=\"Logout\"\n aria-live=\"polite\"\n >\n {hasContent ? <slot /> : t(\"newsletter.buttons.logout\")}\n </button>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;;MAWa,YAAY,GAAA,MAAA;;;;;IAGY,kBAAkB,GAAG,EAAE;IAElD,YAAY,GAAG,MAAK;AAC1B,QAAA,gBAAgB,EAAE;QAClB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;AAC1D,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,eAAe,CAAC,KAAK,CAAC,eAAe,KAAK,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,eAAe,EAAE;AACzF,YAAA,OAAO,CAAA,CAAC,IAAI,EAAA,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAA,CAAI;;QAG7C,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;AAE1C,QAAA,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAC9B,OAAO,EAAE,IAAI,CAAC,YAAY,EACf,YAAA,EAAA,QAAQ,eACT,QAAQ,EAAA,EAEjB,UAAU,GAAG,CAAQ,CAAA,MAAA,EAAA,IAAA,CAAA,GAAG,CAAC,CAAC,2BAA2B,CAAC,CAChD,CACJ;;;;;;"}
1
+ {"version":3,"file":"u-newsletter-logout-button.entry.js","sources":["src/newsletter/components/logout-button/logout-button.tsx"],"sourcesContent":["import { Component, h, Prop, Element, Host } from \"@stencil/core\";\nimport { newsletterLogout } from \"../../newsletter-helpers\";\nimport { t } from \"../../../i18n\";\nimport { Flash } from \"../../../shared/store/flash-store\";\nimport { newsletterStore } from \"../../store/newsletter-store\";\nimport { hasSlotContent } from \"../../../shared/component-utils\";\n\n@Component({\n tag: \"u-newsletter-logout-button\",\n shadow: false,\n})\nexport class LogoutButton {\n @Element() el!: HTMLElement;\n\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n private handleLogout = () => {\n newsletterLogout();\n Flash.success.addMessage(t(\"newsletter.success.logout\"));\n };\n\n render() {\n if (newsletterStore.state.preferenceToken === \"\" || newsletterStore.state.isAuthenticated) {\n return <Host style={{ display: \"none\" }} />;\n }\n\n const hasContent = hasSlotContent(this.el);\n\n return (\n <Host>\n <button\n type=\"button\"\n part=\"button\"\n class={this.componentClassName}\n onClick={this.handleLogout}\n aria-label=\"Logout\"\n aria-live=\"polite\"\n >\n {hasContent ? <slot /> : t(\"newsletter.buttons.logout\")}\n </button>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;MAWa,YAAY,GAAA,MAAA;;;;;IAGY,kBAAkB,GAAG,EAAE;IAElD,YAAY,GAAG,MAAK;AAC1B,QAAA,gBAAgB,EAAE;QAClB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC;AAC1D,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,eAAe,CAAC,KAAK,CAAC,eAAe,KAAK,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,eAAe,EAAE;AACzF,YAAA,OAAO,CAAA,CAAC,IAAI,EAAA,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,EAAA,CAAI;;QAG7C,MAAM,UAAU,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;AAE1C,QAAA,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAC9B,OAAO,EAAE,IAAI,CAAC,YAAY,EACf,YAAA,EAAA,QAAQ,eACT,QAAQ,EAAA,EAEjB,UAAU,GAAG,CAAQ,CAAA,MAAA,EAAA,IAAA,CAAA,GAAG,CAAC,CAAC,2BAA2B,CAAC,CAChD,CACJ;;;;;;"}
@@ -1,15 +1,14 @@
1
- import { r as registerInstance, h } from './index-BF13Y4es.js';
2
- import { n as newsletterStore } from './newsletter-store-Bx1ysKBb.js';
3
- import { a as isSubscribed, u as updateSubscriptionPreferences } from './newsletter-helpers-D9OpR1Yd.js';
4
- import './index-CJnDmBjL.js';
5
- import './index-CmoCWXkx.js';
6
- import './i18n-CPEM4Hc_.js';
7
- import './unidy-store-C2nKKukb.js';
8
- import './exports-D7pzDSGS.js';
9
- import './profile-store-By-nqzr9.js';
10
- import './flash-store-CF5vw4w-.js';
11
- import './auth-C6B1Fl8C.js';
12
- import './auth-store-BXzAv0RK.js';
1
+ import { r as registerInstance, h } from './index-Ci3aTmzp.js';
2
+ import { n as newsletterStore } from './newsletter-store-BYmuLQg8.js';
3
+ import { a as isSubscribed, u as updateSubscriptionPreferences } from './newsletter-helpers-VixG_zoB.js';
4
+ import './index-Bjp1XO-f.js';
5
+ import './index-DKaIwo59.js';
6
+ import './i18n-BR-AGAnn.js';
7
+ import './unidy-store-BldTAtO0.js';
8
+ import './profile-store-RmZB2PTc.js';
9
+ import './flash-store-CEvWSG0c.js';
10
+ import './auth-DLKPv5Zm.js';
11
+ import './auth-store-BMqUdTpC.js';
13
12
  import './component-utils-D1lzXl_Z.js';
14
13
 
15
14
  const NewsletterPreferenceCheckbox = class {
@@ -1 +1 @@
1
- {"version":3,"file":"u-newsletter-preference-checkbox.entry.js","sources":["src/newsletter/components/preference-checkbox/preference-checkbox.tsx"],"sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { newsletterStore, type ExistingSubscription } from \"../../store/newsletter-store\";\nimport * as NewsletterHelpers from \"../../newsletter-helpers\";\n\n@Component({\n tag: \"u-newsletter-preference-checkbox\",\n shadow: false,\n})\nexport class NewsletterPreferenceCheckbox {\n @Prop() internalName!: string;\n @Prop() preferenceIdentifier!: string;\n @Prop() checked = false;\n @Prop({ attribute: \"class-name\" }) componentClassName?: string;\n\n @State() loading = false;\n\n @State() existingSubscriptions: ExistingSubscription[] = [];\n @State() checkedPreferences: string[] = [];\n\n private storeUnsubscribe?: () => void;\n\n componentWillLoad() {\n this.subscribeToStore();\n this.initializeCheckedState();\n }\n\n disconnectedCallback() {\n this.storeUnsubscribe?.();\n }\n\n private subscribeToStore() {\n this.storeUnsubscribe = newsletterStore.onChange(\"existingSubscriptions\", (subscriptions) => {\n this.existingSubscriptions = subscriptions;\n });\n\n newsletterStore.onChange(\"checkedNewsletters\", (checkedNewsletters) => {\n this.checkedPreferences = checkedNewsletters[this.internalName] || [];\n });\n\n this.existingSubscriptions = newsletterStore.state.existingSubscriptions;\n this.checkedPreferences = newsletterStore.state.checkedNewsletters[this.internalName] || [];\n }\n\n private initializeCheckedState() {\n if (NewsletterHelpers.isSubscribed(this.internalName)) {\n return;\n }\n\n if (this.checked) {\n this.syncToStore(true);\n }\n }\n\n private get subscription(): ExistingSubscription | undefined {\n return this.existingSubscriptions.find((sub) => sub.newsletter_internal_name === this.internalName);\n }\n\n private get isSubscribed(): boolean {\n return this.subscription !== undefined;\n }\n\n private get isConfirmed(): boolean {\n return this.subscription?.confirmed ?? false;\n }\n\n private get isDisabled(): boolean {\n return this.loading || (this.isSubscribed && !this.isConfirmed);\n }\n\n private get isChecked(): boolean {\n return this.checkedPreferences.includes(this.preferenceIdentifier);\n }\n\n private syncToStore(add: boolean) {\n const currentPreferences = newsletterStore.state.checkedNewsletters[this.internalName] || [];\n\n if (add) {\n if (!currentPreferences.includes(this.preferenceIdentifier)) {\n newsletterStore.set(\"checkedNewsletters\", {\n ...newsletterStore.state.checkedNewsletters,\n [this.internalName]: [...currentPreferences, this.preferenceIdentifier],\n });\n }\n } else {\n newsletterStore.set(\"checkedNewsletters\", {\n ...newsletterStore.state.checkedNewsletters,\n [this.internalName]: currentPreferences.filter((p) => p !== this.preferenceIdentifier),\n });\n }\n }\n\n private handleChange = async () => {\n if (this.isDisabled) return;\n\n const currentlyChecked = this.isChecked;\n this.syncToStore(!currentlyChecked);\n\n // If subscribed and confirmed persist the change to the API\n if (this.isSubscribed && this.isConfirmed) {\n this.loading = true;\n await NewsletterHelpers.updateSubscriptionPreferences(this.internalName);\n this.loading = false;\n }\n };\n\n render() {\n return (\n <input\n type=\"checkbox\"\n checked={this.isChecked}\n disabled={this.isDisabled}\n onChange={this.handleChange}\n class={this.componentClassName}\n aria-checked={this.isChecked}\n aria-busy={this.loading}\n aria-disabled={this.isDisabled}\n data-internal-name={this.internalName}\n data-preference-identifier={this.preferenceIdentifier}\n />\n );\n }\n}\n"],"names":["NewsletterHelpers.isSubscribed","NewsletterHelpers.updateSubscriptionPreferences"],"mappings":"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"}
1
+ {"version":3,"file":"u-newsletter-preference-checkbox.entry.js","sources":["src/newsletter/components/preference-checkbox/preference-checkbox.tsx"],"sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { newsletterStore, type ExistingSubscription } from \"../../store/newsletter-store\";\nimport * as NewsletterHelpers from \"../../newsletter-helpers\";\n\n@Component({\n tag: \"u-newsletter-preference-checkbox\",\n shadow: false,\n})\nexport class NewsletterPreferenceCheckbox {\n @Prop() internalName!: string;\n @Prop() preferenceIdentifier!: string;\n @Prop() checked = false;\n @Prop({ attribute: \"class-name\" }) componentClassName?: string;\n\n @State() loading = false;\n\n @State() existingSubscriptions: ExistingSubscription[] = [];\n @State() checkedPreferences: string[] = [];\n\n private storeUnsubscribe?: () => void;\n\n componentWillLoad() {\n this.subscribeToStore();\n this.initializeCheckedState();\n }\n\n disconnectedCallback() {\n this.storeUnsubscribe?.();\n }\n\n private subscribeToStore() {\n this.storeUnsubscribe = newsletterStore.onChange(\"existingSubscriptions\", (subscriptions) => {\n this.existingSubscriptions = subscriptions;\n });\n\n newsletterStore.onChange(\"checkedNewsletters\", (checkedNewsletters) => {\n this.checkedPreferences = checkedNewsletters[this.internalName] || [];\n });\n\n this.existingSubscriptions = newsletterStore.state.existingSubscriptions;\n this.checkedPreferences = newsletterStore.state.checkedNewsletters[this.internalName] || [];\n }\n\n private initializeCheckedState() {\n if (NewsletterHelpers.isSubscribed(this.internalName)) {\n return;\n }\n\n if (this.checked) {\n this.syncToStore(true);\n }\n }\n\n private get subscription(): ExistingSubscription | undefined {\n return this.existingSubscriptions.find((sub) => sub.newsletter_internal_name === this.internalName);\n }\n\n private get isSubscribed(): boolean {\n return this.subscription !== undefined;\n }\n\n private get isConfirmed(): boolean {\n return this.subscription?.confirmed ?? false;\n }\n\n private get isDisabled(): boolean {\n return this.loading || (this.isSubscribed && !this.isConfirmed);\n }\n\n private get isChecked(): boolean {\n return this.checkedPreferences.includes(this.preferenceIdentifier);\n }\n\n private syncToStore(add: boolean) {\n const currentPreferences = newsletterStore.state.checkedNewsletters[this.internalName] || [];\n\n if (add) {\n if (!currentPreferences.includes(this.preferenceIdentifier)) {\n newsletterStore.set(\"checkedNewsletters\", {\n ...newsletterStore.state.checkedNewsletters,\n [this.internalName]: [...currentPreferences, this.preferenceIdentifier],\n });\n }\n } else {\n newsletterStore.set(\"checkedNewsletters\", {\n ...newsletterStore.state.checkedNewsletters,\n [this.internalName]: currentPreferences.filter((p) => p !== this.preferenceIdentifier),\n });\n }\n }\n\n private handleChange = async () => {\n if (this.isDisabled) return;\n\n const currentlyChecked = this.isChecked;\n this.syncToStore(!currentlyChecked);\n\n // If subscribed and confirmed persist the change to the API\n if (this.isSubscribed && this.isConfirmed) {\n this.loading = true;\n await NewsletterHelpers.updateSubscriptionPreferences(this.internalName);\n this.loading = false;\n }\n };\n\n render() {\n return (\n <input\n type=\"checkbox\"\n checked={this.isChecked}\n disabled={this.isDisabled}\n onChange={this.handleChange}\n class={this.componentClassName}\n aria-checked={this.isChecked}\n aria-busy={this.loading}\n aria-disabled={this.isDisabled}\n data-internal-name={this.internalName}\n data-preference-identifier={this.preferenceIdentifier}\n />\n );\n }\n}\n"],"names":["NewsletterHelpers.isSubscribed","NewsletterHelpers.updateSubscriptionPreferences"],"mappings":"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"}
@@ -1,15 +1,14 @@
1
- import { r as registerInstance, h } from './index-BF13Y4es.js';
2
- import { t } from './i18n-CPEM4Hc_.js';
3
- import { a as isSubscribed, i as isConfirmed, r as resendDoi } from './newsletter-helpers-D9OpR1Yd.js';
4
- import { F as Flash } from './flash-store-CF5vw4w-.js';
5
- import './unidy-store-C2nKKukb.js';
6
- import './index-CJnDmBjL.js';
7
- import './index-CmoCWXkx.js';
8
- import './exports-D7pzDSGS.js';
9
- import './profile-store-By-nqzr9.js';
10
- import './newsletter-store-Bx1ysKBb.js';
11
- import './auth-C6B1Fl8C.js';
12
- import './auth-store-BXzAv0RK.js';
1
+ import { r as registerInstance, h } from './index-Ci3aTmzp.js';
2
+ import { t } from './i18n-BR-AGAnn.js';
3
+ import { a as isSubscribed, i as isConfirmed, r as resendDoi } from './newsletter-helpers-VixG_zoB.js';
4
+ import { F as Flash } from './flash-store-CEvWSG0c.js';
5
+ import './unidy-store-BldTAtO0.js';
6
+ import './index-Bjp1XO-f.js';
7
+ import './index-DKaIwo59.js';
8
+ import './profile-store-RmZB2PTc.js';
9
+ import './newsletter-store-BYmuLQg8.js';
10
+ import './auth-DLKPv5Zm.js';
11
+ import './auth-store-BMqUdTpC.js';
13
12
  import './component-utils-D1lzXl_Z.js';
14
13
 
15
14
  const NewsletterResendDoiButton = class {
@@ -37,7 +36,7 @@ const NewsletterResendDoiButton = class {
37
36
  if (!this.shouldShow) {
38
37
  return null;
39
38
  }
40
- return (h("button", { type: "button", onClick: this.handleClick, disabled: this.isResending, "aria-busy": this.isResending, "aria-live": "polite", class: `${this.componentClassName} flex items-center justify-center` }, this.isResending ? h("u-spinner", null) : t("newsletter.buttons.resend_doi")));
39
+ return (h("button", { type: "button", onClick: this.handleClick, disabled: this.isResending, "aria-busy": this.isResending, "aria-live": "polite", class: `${this.componentClassName} u:flex u:items-center u:justify-center` }, this.isResending ? h("u-spinner", null) : t("newsletter.buttons.resend_doi")));
41
40
  }
42
41
  };
43
42
 
@@ -1 +1 @@
1
- {"version":3,"file":"u-newsletter-resend-doi-button.entry.js","sources":["src/newsletter/components/resend-doi-button/resend-doi-button.tsx"],"sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport * as NewsletterHelpers from \"../../newsletter-helpers\";\nimport { Flash } from \"../../../shared/store/flash-store\";\n\n@Component({\n tag: \"u-newsletter-resend-doi-button\",\n shadow: false,\n})\nexport class NewsletterResendDoiButton {\n @Prop() internalName!: string;\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n @State() isResending = false;\n\n private get shouldShow(): boolean {\n return NewsletterHelpers.isSubscribed(this.internalName) && !NewsletterHelpers.isConfirmed(this.internalName);\n }\n\n private handleClick = async () => {\n this.isResending = true;\n const success = await NewsletterHelpers.resendDoi(this.internalName);\n this.isResending = false;\n\n if (success) {\n Flash.success.addMessage(t(\"newsletter.success.doi_sent\"));\n } else {\n Flash.error.addMessage(t(\"newsletter.errors.resend_doi_failed\"));\n }\n };\n\n render() {\n if (!this.shouldShow) {\n return null;\n }\n\n return (\n <button\n type=\"button\"\n onClick={this.handleClick}\n disabled={this.isResending}\n aria-busy={this.isResending}\n aria-live=\"polite\"\n class={`${this.componentClassName} flex items-center justify-center`}\n >\n {this.isResending ? <u-spinner /> : t(\"newsletter.buttons.resend_doi\")}\n </button>\n );\n }\n}\n"],"names":["NewsletterHelpers.isSubscribed","NewsletterHelpers.isConfirmed","NewsletterHelpers.resendDoi"],"mappings":";;;;;;;;;;;;;;MASa,yBAAyB,GAAA,MAAA;;;;AAC5B,IAAA,YAAY;IACe,kBAAkB,GAAG,EAAE;IAEjD,WAAW,GAAG,KAAK;AAE5B,IAAA,IAAY,UAAU,GAAA;AACpB,QAAA,OAAOA,YAA8B,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAACC,WAA6B,CAAC,IAAI,CAAC,YAAY,CAAC;;IAGvG,WAAW,GAAG,YAAW;AAC/B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;QACvB,MAAM,OAAO,GAAG,MAAMC,SAA2B,CAAC,IAAI,CAAC,YAAY,CAAC;AACpE,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;QAExB,IAAI,OAAO,EAAE;YACX,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;;aACrD;YACL,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC;;AAEpE,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,YAAA,OAAO,IAAI;;AAGb,QAAA,QACE,cACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,IAAI,CAAC,WAAW,eACf,IAAI,CAAC,WAAW,EAAA,WAAA,EACjB,QAAQ,EAClB,KAAK,EAAE,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,iCAAA,CAAmC,EAEnE,EAAA,IAAI,CAAC,WAAW,GAAG,CAAa,CAAA,WAAA,EAAA,IAAA,CAAA,GAAG,CAAC,CAAC,+BAA+B,CAAC,CAC/D;;;;;;"}
1
+ {"version":3,"file":"u-newsletter-resend-doi-button.entry.js","sources":["src/newsletter/components/resend-doi-button/resend-doi-button.tsx"],"sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport * as NewsletterHelpers from \"../../newsletter-helpers\";\nimport { Flash } from \"../../../shared/store/flash-store\";\n\n@Component({\n tag: \"u-newsletter-resend-doi-button\",\n shadow: false,\n})\nexport class NewsletterResendDoiButton {\n @Prop() internalName!: string;\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n @State() isResending = false;\n\n private get shouldShow(): boolean {\n return NewsletterHelpers.isSubscribed(this.internalName) && !NewsletterHelpers.isConfirmed(this.internalName);\n }\n\n private handleClick = async () => {\n this.isResending = true;\n const success = await NewsletterHelpers.resendDoi(this.internalName);\n this.isResending = false;\n\n if (success) {\n Flash.success.addMessage(t(\"newsletter.success.doi_sent\"));\n } else {\n Flash.error.addMessage(t(\"newsletter.errors.resend_doi_failed\"));\n }\n };\n\n render() {\n if (!this.shouldShow) {\n return null;\n }\n\n return (\n <button\n type=\"button\"\n onClick={this.handleClick}\n disabled={this.isResending}\n aria-busy={this.isResending}\n aria-live=\"polite\"\n class={`${this.componentClassName} u:flex u:items-center u:justify-center`}\n >\n {this.isResending ? <u-spinner /> : t(\"newsletter.buttons.resend_doi\")}\n </button>\n );\n }\n}\n"],"names":["NewsletterHelpers.isSubscribed","NewsletterHelpers.isConfirmed","NewsletterHelpers.resendDoi"],"mappings":";;;;;;;;;;;;;MASa,yBAAyB,GAAA,MAAA;;;;AAC5B,IAAA,YAAY;IACe,kBAAkB,GAAG,EAAE;IAEjD,WAAW,GAAG,KAAK;AAE5B,IAAA,IAAY,UAAU,GAAA;AACpB,QAAA,OAAOA,YAA8B,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAACC,WAA6B,CAAC,IAAI,CAAC,YAAY,CAAC;;IAGvG,WAAW,GAAG,YAAW;AAC/B,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI;QACvB,MAAM,OAAO,GAAG,MAAMC,SAA2B,CAAC,IAAI,CAAC,YAAY,CAAC;AACpE,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK;QAExB,IAAI,OAAO,EAAE;YACX,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC;;aACrD;YACL,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,qCAAqC,CAAC,CAAC;;AAEpE,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;AACpB,YAAA,OAAO,IAAI;;AAGb,QAAA,QACE,cACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,IAAI,CAAC,WAAW,eACf,IAAI,CAAC,WAAW,EAAA,WAAA,EACjB,QAAQ,EAClB,KAAK,EAAE,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,uCAAA,CAAyC,EAEzE,EAAA,IAAI,CAAC,WAAW,GAAG,CAAa,CAAA,WAAA,EAAA,IAAA,CAAA,GAAG,CAAC,CAAC,+BAA+B,CAAC,CAC/D;;;;;;"}
@@ -1,16 +1,15 @@
1
- import { U as UnidyComponent, r as registerInstance, g as getElement, l as logger, h, H as Host } from './index-BF13Y4es.js';
2
- import { n as newsletterStore, p as persist } from './newsletter-store-Bx1ysKBb.js';
3
- import { f as fetchSubscriptions, c as createSubscriptions } from './newsletter-helpers-D9OpR1Yd.js';
1
+ import { U as UnidyComponent, r as registerInstance, g as getElement, l as logger, h, H as Host } from './index-Ci3aTmzp.js';
2
+ import { A as Auth } from './auth-DLKPv5Zm.js';
3
+ import { t } from './i18n-BR-AGAnn.js';
4
4
  import { c as clearUrlParam } from './component-utils-D1lzXl_Z.js';
5
- import { w as waitForConfig } from './unidy-store-C2nKKukb.js';
6
- import { t } from './i18n-CPEM4Hc_.js';
7
- import { A as Auth } from './auth-C6B1Fl8C.js';
8
- import { F as Flash } from './flash-store-CF5vw4w-.js';
9
- import './index-CJnDmBjL.js';
10
- import './index-CmoCWXkx.js';
11
- import './exports-D7pzDSGS.js';
12
- import './profile-store-By-nqzr9.js';
13
- import './auth-store-BXzAv0RK.js';
5
+ import { F as Flash } from './flash-store-CEvWSG0c.js';
6
+ import { w as waitForConfig } from './unidy-store-BldTAtO0.js';
7
+ import { f as fetchSubscriptions, s as sendLoginEmail, c as createSubscriptions } from './newsletter-helpers-VixG_zoB.js';
8
+ import { n as newsletterStore, p as persist } from './newsletter-store-BYmuLQg8.js';
9
+ import './auth-store-BMqUdTpC.js';
10
+ import './index-Bjp1XO-f.js';
11
+ import './profile-store-RmZB2PTc.js';
12
+ import './index-DKaIwo59.js';
14
13
 
15
14
  const NewsletterRoot = class extends UnidyComponent {
16
15
  constructor(hostRef) {
@@ -47,8 +46,15 @@ const NewsletterRoot = class extends UnidyComponent {
47
46
  await waitForConfig();
48
47
  await fetchSubscriptions();
49
48
  }
50
- async submit() {
49
+ async submit(forType) {
51
50
  const { email, checkedNewsletters } = newsletterStore.state;
51
+ if (forType === "login") {
52
+ if (!email) {
53
+ logger.error("Email is required for login");
54
+ return;
55
+ }
56
+ return await sendLoginEmail(email);
57
+ }
52
58
  if (Object.keys(checkedNewsletters).length === 0) {
53
59
  logger.error("No newsletters selected: please select at least one newsletter");
54
60
  return;
@@ -56,7 +62,7 @@ const NewsletterRoot = class extends UnidyComponent {
56
62
  await createSubscriptions({ email });
57
63
  }
58
64
  render() {
59
- return (h(Host, { key: '744c91a35c2e5a7c1c120393c8b5ec60c0a4f33a', class: this.componentClassName }, h("slot", { key: 'b4c34af9b7d92359404cfa2fc8f0e16367d1bcd0' })));
65
+ return (h(Host, { key: 'cf821d06d0f6bd88ddb141d8d32f238e8688b5bf', class: this.componentClassName }, h("slot", { key: '9c316c3ba2faf49f9b66bc49420f33943121ae12' })));
60
66
  }
61
67
  };
62
68
 
@@ -1 +1 @@
1
- {"version":3,"file":"u-newsletter-root.entry.js","sources":["src/newsletter/components/newsletter-root/newsletter-root.tsx"],"sourcesContent":["import { Component, Prop, Element, Method, Host, h } from \"@stencil/core\";\nimport { newsletterStore, persist, type NewsletterErrorIdentifier } from \"../../store/newsletter-store\";\nimport * as NewsletterHelpers from \"../../newsletter-helpers\";\nimport { clearUrlParam } from \"../../../shared/component-utils\";\nimport { waitForConfig } from \"../../../shared/store/unidy-store\";\nimport { t } from \"../../../i18n\";\nimport { Auth } from \"../../../auth/auth\";\nimport { logger, UnidyComponent } from \"../../../logger\";\nimport { Flash } from \"../../../shared/store/flash-store\";\n\n@Component({\n tag: \"u-newsletter-root\",\n shadow: false,\n})\nexport class NewsletterRoot extends UnidyComponent {\n @Element() el!: HTMLElement;\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n getErrorText(errorIdentifier: NewsletterErrorIdentifier): string {\n return t(`newsletter.errors.${errorIdentifier}`) || t(\"errors.unknown\", { defaultValue: \"An unknown error occurred\" });\n }\n\n async componentWillLoad() {\n const newsletterError = clearUrlParam(\"newsletter_error\");\n const preferenceToken = clearUrlParam(\"preference_token\");\n const email = clearUrlParam(\"email\");\n\n if (newsletterError) {\n Flash.error.addMessage(this.getErrorText(newsletterError as NewsletterErrorIdentifier));\n }\n\n if (preferenceToken && email) {\n newsletterStore.state.preferenceToken = preferenceToken;\n newsletterStore.state.email = email;\n\n persist(\"preferenceToken\");\n persist(\"email\");\n }\n\n const authInstance = await Auth.getInstance();\n const isAuthenticated = await authInstance.isAuthenticated();\n newsletterStore.state.isAuthenticated = isAuthenticated;\n\n if (isAuthenticated) {\n const userData = await authInstance.userData();\n\n if (userData) {\n newsletterStore.state.email = userData.email;\n }\n }\n\n await waitForConfig();\n await NewsletterHelpers.fetchSubscriptions();\n }\n\n @Method()\n async submit() {\n const { email, checkedNewsletters } = newsletterStore.state;\n\n if (Object.keys(checkedNewsletters).length === 0) {\n logger.error(\"No newsletters selected: please select at least one newsletter\");\n return;\n }\n\n await NewsletterHelpers.createSubscriptions({ email });\n }\n\n render() {\n return (\n <Host class={this.componentClassName}>\n <slot />\n </Host>\n );\n }\n}\n"],"names":["NewsletterHelpers.fetchSubscriptions","NewsletterHelpers.createSubscriptions"],"mappings":";;;;;;;;;;;;;;MAca,cAAe,GAAA,cAAQ,cAAc,CAAA;;;;;;IAEb,kBAAkB,GAAG,EAAE;AAE1D,IAAA,YAAY,CAAC,eAA0C,EAAA;AACrD,QAAA,OAAO,CAAC,CAAC,CAAA,kBAAA,EAAqB,eAAe,CAAA,CAAE,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,2BAA2B,EAAE,CAAC;;AAGxH,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,MAAM,eAAe,GAAG,aAAa,CAAC,kBAAkB,CAAC;AACzD,QAAA,MAAM,eAAe,GAAG,aAAa,CAAC,kBAAkB,CAAC;AACzD,QAAA,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC;QAEpC,IAAI,eAAe,EAAE;AACnB,YAAA,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,eAA4C,CAAC,CAAC;;AAGzF,QAAA,IAAI,eAAe,IAAI,KAAK,EAAE;AAC5B,YAAA,eAAe,CAAC,KAAK,CAAC,eAAe,GAAG,eAAe;AACvD,YAAA,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK;YAEnC,OAAO,CAAC,iBAAiB,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC;;AAGlB,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;AAC7C,QAAA,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE;AAC5D,QAAA,eAAe,CAAC,KAAK,CAAC,eAAe,GAAG,eAAe;QAEvD,IAAI,eAAe,EAAE;AACnB,YAAA,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE;YAE9C,IAAI,QAAQ,EAAE;gBACZ,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK;;;QAIhD,MAAM,aAAa,EAAE;AACrB,QAAA,MAAMA,kBAAoC,EAAE;;AAI9C,IAAA,MAAM,MAAM,GAAA;QACV,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,eAAe,CAAC,KAAK;QAE3D,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AAChD,YAAA,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC;YAC9E;;QAGF,MAAMC,mBAAqC,CAAC,EAAE,KAAK,EAAE,CAAC;;IAGxD,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAA,EAClC,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACH;;;;;;"}
1
+ {"version":3,"file":"u-newsletter-root.entry.js","sources":["src/newsletter/components/newsletter-root/newsletter-root.tsx"],"sourcesContent":["import { Component, Element, Host, h, Method, Prop } from \"@stencil/core\";\nimport { Auth } from \"../../../auth/auth\";\nimport { t } from \"../../../i18n\";\nimport { logger, UnidyComponent } from \"../../../logger\";\nimport { clearUrlParam } from \"../../../shared/component-utils\";\nimport { Flash } from \"../../../shared/store/flash-store\";\nimport { waitForConfig } from \"../../../shared/store/unidy-store\";\nimport * as NewsletterHelpers from \"../../newsletter-helpers\";\nimport { type NewsletterErrorIdentifier, newsletterStore, persist } from \"../../store/newsletter-store\";\nimport type { NewsletterButtonFor } from \"../submit-button/newsletter-submit-button\";\n\n@Component({\n tag: \"u-newsletter-root\",\n shadow: false,\n})\nexport class NewsletterRoot extends UnidyComponent {\n @Element() el!: HTMLElement;\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n getErrorText(errorIdentifier: NewsletterErrorIdentifier): string {\n return t(`newsletter.errors.${errorIdentifier}`) || t(\"errors.unknown\", { defaultValue: \"An unknown error occurred\" });\n }\n\n async componentWillLoad() {\n const newsletterError = clearUrlParam(\"newsletter_error\");\n const preferenceToken = clearUrlParam(\"preference_token\");\n const email = clearUrlParam(\"email\");\n\n if (newsletterError) {\n Flash.error.addMessage(this.getErrorText(newsletterError as NewsletterErrorIdentifier));\n }\n\n if (preferenceToken && email) {\n newsletterStore.state.preferenceToken = preferenceToken;\n newsletterStore.state.email = email;\n\n persist(\"preferenceToken\");\n persist(\"email\");\n }\n\n const authInstance = await Auth.getInstance();\n const isAuthenticated = await authInstance.isAuthenticated();\n newsletterStore.state.isAuthenticated = isAuthenticated;\n\n if (isAuthenticated) {\n const userData = await authInstance.userData();\n\n if (userData) {\n newsletterStore.state.email = userData.email;\n }\n }\n\n await waitForConfig();\n await NewsletterHelpers.fetchSubscriptions();\n }\n\n @Method()\n async submit(forType?: NewsletterButtonFor) {\n const { email, checkedNewsletters } = newsletterStore.state;\n\n if (forType === \"login\") {\n if (!email) {\n logger.error(\"Email is required for login\");\n return;\n }\n return await NewsletterHelpers.sendLoginEmail(email);\n }\n\n if (Object.keys(checkedNewsletters).length === 0) {\n logger.error(\"No newsletters selected: please select at least one newsletter\");\n return;\n }\n\n await NewsletterHelpers.createSubscriptions({ email });\n }\n\n render() {\n return (\n <Host class={this.componentClassName}>\n <slot />\n </Host>\n );\n }\n}\n"],"names":["NewsletterHelpers.fetchSubscriptions","NewsletterHelpers.sendLoginEmail","NewsletterHelpers.createSubscriptions"],"mappings":";;;;;;;;;;;;;MAea,cAAe,GAAA,cAAQ,cAAc,CAAA;;;;;;IAEb,kBAAkB,GAAG,EAAE;AAE1D,IAAA,YAAY,CAAC,eAA0C,EAAA;AACrD,QAAA,OAAO,CAAC,CAAC,CAAA,kBAAA,EAAqB,eAAe,CAAA,CAAE,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,2BAA2B,EAAE,CAAC;;AAGxH,IAAA,MAAM,iBAAiB,GAAA;AACrB,QAAA,MAAM,eAAe,GAAG,aAAa,CAAC,kBAAkB,CAAC;AACzD,QAAA,MAAM,eAAe,GAAG,aAAa,CAAC,kBAAkB,CAAC;AACzD,QAAA,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC;QAEpC,IAAI,eAAe,EAAE;AACnB,YAAA,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,eAA4C,CAAC,CAAC;;AAGzF,QAAA,IAAI,eAAe,IAAI,KAAK,EAAE;AAC5B,YAAA,eAAe,CAAC,KAAK,CAAC,eAAe,GAAG,eAAe;AACvD,YAAA,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK;YAEnC,OAAO,CAAC,iBAAiB,CAAC;YAC1B,OAAO,CAAC,OAAO,CAAC;;AAGlB,QAAA,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE;AAC7C,QAAA,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE;AAC5D,QAAA,eAAe,CAAC,KAAK,CAAC,eAAe,GAAG,eAAe;QAEvD,IAAI,eAAe,EAAE;AACnB,YAAA,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE;YAE9C,IAAI,QAAQ,EAAE;gBACZ,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK;;;QAIhD,MAAM,aAAa,EAAE;AACrB,QAAA,MAAMA,kBAAoC,EAAE;;IAI9C,MAAM,MAAM,CAAC,OAA6B,EAAA;QACxC,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,GAAG,eAAe,CAAC,KAAK;AAE3D,QAAA,IAAI,OAAO,KAAK,OAAO,EAAE;YACvB,IAAI,CAAC,KAAK,EAAE;AACV,gBAAA,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC;gBAC3C;;AAEF,YAAA,OAAO,MAAMC,cAAgC,CAAC,KAAK,CAAC;;QAGtD,IAAI,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AAChD,YAAA,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC;YAC9E;;QAGF,MAAMC,mBAAqC,CAAC,EAAE,KAAK,EAAE,CAAC;;IAGxD,MAAM,GAAA;AACJ,QAAA,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAA,EAClC,CAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACH;;;;;;"}
@@ -1,15 +1,14 @@
1
- import { r as registerInstance, h } from './index-BF13Y4es.js';
2
- import { t } from './i18n-CPEM4Hc_.js';
3
- import { n as newsletterStore } from './newsletter-store-Bx1ysKBb.js';
4
- import { a as isSubscribed, s as subscribeToNewsletter, d as deleteSubscription } from './newsletter-helpers-D9OpR1Yd.js';
5
- import { F as Flash } from './flash-store-CF5vw4w-.js';
6
- import './unidy-store-C2nKKukb.js';
7
- import './index-CJnDmBjL.js';
8
- import './index-CmoCWXkx.js';
9
- import './exports-D7pzDSGS.js';
10
- import './profile-store-By-nqzr9.js';
11
- import './auth-C6B1Fl8C.js';
12
- import './auth-store-BXzAv0RK.js';
1
+ import { r as registerInstance, h } from './index-Ci3aTmzp.js';
2
+ import { t } from './i18n-BR-AGAnn.js';
3
+ import { n as newsletterStore } from './newsletter-store-BYmuLQg8.js';
4
+ import { a as isSubscribed, b as subscribeToNewsletter, d as deleteSubscription } from './newsletter-helpers-VixG_zoB.js';
5
+ import { F as Flash } from './flash-store-CEvWSG0c.js';
6
+ import './unidy-store-BldTAtO0.js';
7
+ import './index-Bjp1XO-f.js';
8
+ import './index-DKaIwo59.js';
9
+ import './profile-store-RmZB2PTc.js';
10
+ import './auth-DLKPv5Zm.js';
11
+ import './auth-store-BMqUdTpC.js';
13
12
  import './component-utils-D1lzXl_Z.js';
14
13
 
15
14
  const ToggleNewsletterSubscriptionButton = class {
@@ -61,7 +60,7 @@ const ToggleNewsletterSubscriptionButton = class {
61
60
  render() {
62
61
  const isSubscribed = this.isSubscribed;
63
62
  const stateClassName = isSubscribed ? this.unsubscribeClassName : this.subscribeClassName;
64
- return (h("button", { key: '39cec16ebf013dfa604c7baa9223d1ee10133a83', type: "button", onClick: this.handleClick, disabled: this.loading, "aria-busy": this.loading, "aria-label": isSubscribed ? t("newsletter.buttons.unsubscribe") : t("newsletter.buttons.subscribe"), "aria-live": "polite", "data-subscribed": isSubscribed, class: `${this.componentClassName} ${stateClassName} flex items-center justify-center`.trim() }, this.loading ? h("u-spinner", null) : isSubscribed ? t("newsletter.buttons.unsubscribe") : t("newsletter.buttons.subscribe")));
63
+ return (h("button", { key: '76b7f2de7c121586c04e70f30002ce65da5cce7e', type: "button", onClick: this.handleClick, disabled: this.loading, "aria-busy": this.loading, "aria-label": isSubscribed ? t("newsletter.buttons.unsubscribe") : t("newsletter.buttons.subscribe"), "aria-live": "polite", "data-subscribed": isSubscribed, class: `${this.componentClassName} ${stateClassName} u:flex u:items-center u:justify-center`.trim() }, this.loading ? h("u-spinner", null) : isSubscribed ? t("newsletter.buttons.unsubscribe") : t("newsletter.buttons.subscribe")));
65
64
  }
66
65
  };
67
66
 
@@ -1 +1 @@
1
- {"version":3,"file":"u-newsletter-toggle-subscription-button.entry.js","sources":["src/newsletter/components/toggle-subscription-button/toggle-subscription-button.tsx"],"sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { newsletterStore } from \"../../store/newsletter-store\";\nimport * as NewsletterHelpers from \"../../newsletter-helpers\";\nimport { Flash } from \"../../../shared/store/flash-store\";\n\n@Component({\n tag: \"u-newsletter-toggle-subscription-button\",\n shadow: false,\n})\nexport class ToggleNewsletterSubscriptionButton {\n @Prop() internalName!: string;\n\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop({ attribute: \"subscribe-class-name\" }) subscribeClassName = \"\";\n @Prop({ attribute: \"unsubscribe-class-name\" }) unsubscribeClassName = \"\";\n\n @State() loading = false;\n\n private get isSubscribed(): boolean {\n return NewsletterHelpers.isSubscribed(this.internalName);\n }\n\n private handleClick = async () => {\n if (this.loading) return;\n\n if (this.isSubscribed) {\n await this.handleUnsubscribe();\n } else {\n await this.handleSubscribe();\n }\n };\n\n private handleSubscribe = async () => {\n const { email } = newsletterStore.state;\n\n if (!email) {\n Flash.error.addMessage(t(\"newsletter.errors.email_required\"));\n return;\n }\n\n this.loading = true;\n const success = await NewsletterHelpers.subscribeToNewsletter(this.internalName, email);\n this.loading = false;\n\n if (success) {\n Flash.success.addMessage(t(\"newsletter.success.subscribe\"));\n }\n };\n\n private handleUnsubscribe = async () => {\n this.loading = true;\n const success = await NewsletterHelpers.deleteSubscription(this.internalName);\n this.loading = false;\n\n if (success) {\n Flash.info.addMessage(t(\"newsletter.success.unsubscribe\"));\n } else {\n Flash.error.addMessage(t(\"newsletter.errors.unsubscribe_failed\"));\n }\n };\n\n render() {\n const isSubscribed = this.isSubscribed;\n const stateClassName = isSubscribed ? this.unsubscribeClassName : this.subscribeClassName;\n\n return (\n <button\n type=\"button\"\n onClick={this.handleClick}\n disabled={this.loading}\n aria-busy={this.loading}\n aria-label={isSubscribed ? t(\"newsletter.buttons.unsubscribe\") : t(\"newsletter.buttons.subscribe\")}\n aria-live=\"polite\"\n data-subscribed={isSubscribed}\n class={`${this.componentClassName} ${stateClassName} flex items-center justify-center`.trim()}\n >\n {this.loading ? <u-spinner /> : isSubscribed ? t(\"newsletter.buttons.unsubscribe\") : t(\"newsletter.buttons.subscribe\")}\n </button>\n );\n }\n}\n"],"names":["NewsletterHelpers.isSubscribed","NewsletterHelpers.subscribeToNewsletter","NewsletterHelpers.deleteSubscription"],"mappings":";;;;;;;;;;;;;;MAUa,kCAAkC,GAAA,MAAA;;;;AACrC,IAAA,YAAY;IAEe,kBAAkB,GAAG,EAAE;IACb,kBAAkB,GAAG,EAAE;IACrB,oBAAoB,GAAG,EAAE;IAE/D,OAAO,GAAG,KAAK;AAExB,IAAA,IAAY,YAAY,GAAA;QACtB,OAAOA,YAA8B,CAAC,IAAI,CAAC,YAAY,CAAC;;IAGlD,WAAW,GAAG,YAAW;QAC/B,IAAI,IAAI,CAAC,OAAO;YAAE;AAElB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,MAAM,IAAI,CAAC,iBAAiB,EAAE;;aACzB;AACL,YAAA,MAAM,IAAI,CAAC,eAAe,EAAE;;AAEhC,KAAC;IAEO,eAAe,GAAG,YAAW;AACnC,QAAA,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,KAAK;QAEvC,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC;YAC7D;;AAGF,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,QAAA,MAAM,OAAO,GAAG,MAAMC,qBAAuC,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC;AACvF,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QAEpB,IAAI,OAAO,EAAE;YACX,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;;AAE/D,KAAC;IAEO,iBAAiB,GAAG,YAAW;AACrC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACnB,MAAM,OAAO,GAAG,MAAMC,kBAAoC,CAAC,IAAI,CAAC,YAAY,CAAC;AAC7E,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QAEpB,IAAI,OAAO,EAAE;YACX,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC;;aACrD;YACL,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC;;AAErE,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY;AACtC,QAAA,MAAM,cAAc,GAAG,YAAY,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,kBAAkB;QAEzF,QACE,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,IAAI,CAAC,OAAO,EACX,WAAA,EAAA,IAAI,CAAC,OAAO,gBACX,YAAY,GAAG,CAAC,CAAC,gCAAgC,CAAC,GAAG,CAAC,CAAC,8BAA8B,CAAC,EAAA,WAAA,EACxF,QAAQ,EACD,iBAAA,EAAA,YAAY,EAC7B,KAAK,EAAE,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,CAAA,EAAI,cAAc,CAAmC,iCAAA,CAAA,CAAC,IAAI,EAAE,EAE5F,EAAA,IAAI,CAAC,OAAO,GAAG,CAAA,CAAA,WAAA,EAAA,IAAA,CAAa,GAAG,YAAY,GAAG,CAAC,CAAC,gCAAgC,CAAC,GAAG,CAAC,CAAC,8BAA8B,CAAC,CAC/G;;;;;;"}
1
+ {"version":3,"file":"u-newsletter-toggle-subscription-button.entry.js","sources":["src/newsletter/components/toggle-subscription-button/toggle-subscription-button.tsx"],"sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { newsletterStore } from \"../../store/newsletter-store\";\nimport * as NewsletterHelpers from \"../../newsletter-helpers\";\nimport { Flash } from \"../../../shared/store/flash-store\";\n\n@Component({\n tag: \"u-newsletter-toggle-subscription-button\",\n shadow: false,\n})\nexport class ToggleNewsletterSubscriptionButton {\n @Prop() internalName!: string;\n\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop({ attribute: \"subscribe-class-name\" }) subscribeClassName = \"\";\n @Prop({ attribute: \"unsubscribe-class-name\" }) unsubscribeClassName = \"\";\n\n @State() loading = false;\n\n private get isSubscribed(): boolean {\n return NewsletterHelpers.isSubscribed(this.internalName);\n }\n\n private handleClick = async () => {\n if (this.loading) return;\n\n if (this.isSubscribed) {\n await this.handleUnsubscribe();\n } else {\n await this.handleSubscribe();\n }\n };\n\n private handleSubscribe = async () => {\n const { email } = newsletterStore.state;\n\n if (!email) {\n Flash.error.addMessage(t(\"newsletter.errors.email_required\"));\n return;\n }\n\n this.loading = true;\n const success = await NewsletterHelpers.subscribeToNewsletter(this.internalName, email);\n this.loading = false;\n\n if (success) {\n Flash.success.addMessage(t(\"newsletter.success.subscribe\"));\n }\n };\n\n private handleUnsubscribe = async () => {\n this.loading = true;\n const success = await NewsletterHelpers.deleteSubscription(this.internalName);\n this.loading = false;\n\n if (success) {\n Flash.info.addMessage(t(\"newsletter.success.unsubscribe\"));\n } else {\n Flash.error.addMessage(t(\"newsletter.errors.unsubscribe_failed\"));\n }\n };\n\n render() {\n const isSubscribed = this.isSubscribed;\n const stateClassName = isSubscribed ? this.unsubscribeClassName : this.subscribeClassName;\n\n return (\n <button\n type=\"button\"\n onClick={this.handleClick}\n disabled={this.loading}\n aria-busy={this.loading}\n aria-label={isSubscribed ? t(\"newsletter.buttons.unsubscribe\") : t(\"newsletter.buttons.subscribe\")}\n aria-live=\"polite\"\n data-subscribed={isSubscribed}\n class={`${this.componentClassName} ${stateClassName} u:flex u:items-center u:justify-center`.trim()}\n >\n {this.loading ? <u-spinner /> : isSubscribed ? t(\"newsletter.buttons.unsubscribe\") : t(\"newsletter.buttons.subscribe\")}\n </button>\n );\n }\n}\n"],"names":["NewsletterHelpers.isSubscribed","NewsletterHelpers.subscribeToNewsletter","NewsletterHelpers.deleteSubscription"],"mappings":";;;;;;;;;;;;;MAUa,kCAAkC,GAAA,MAAA;;;;AACrC,IAAA,YAAY;IAEe,kBAAkB,GAAG,EAAE;IACb,kBAAkB,GAAG,EAAE;IACrB,oBAAoB,GAAG,EAAE;IAE/D,OAAO,GAAG,KAAK;AAExB,IAAA,IAAY,YAAY,GAAA;QACtB,OAAOA,YAA8B,CAAC,IAAI,CAAC,YAAY,CAAC;;IAGlD,WAAW,GAAG,YAAW;QAC/B,IAAI,IAAI,CAAC,OAAO;YAAE;AAElB,QAAA,IAAI,IAAI,CAAC,YAAY,EAAE;AACrB,YAAA,MAAM,IAAI,CAAC,iBAAiB,EAAE;;aACzB;AACL,YAAA,MAAM,IAAI,CAAC,eAAe,EAAE;;AAEhC,KAAC;IAEO,eAAe,GAAG,YAAW;AACnC,QAAA,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,KAAK;QAEvC,IAAI,CAAC,KAAK,EAAE;YACV,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC;YAC7D;;AAGF,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AACnB,QAAA,MAAM,OAAO,GAAG,MAAMC,qBAAuC,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC;AACvF,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QAEpB,IAAI,OAAO,EAAE;YACX,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC;;AAE/D,KAAC;IAEO,iBAAiB,GAAG,YAAW;AACrC,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;QACnB,MAAM,OAAO,GAAG,MAAMC,kBAAoC,CAAC,IAAI,CAAC,YAAY,CAAC;AAC7E,QAAA,IAAI,CAAC,OAAO,GAAG,KAAK;QAEpB,IAAI,OAAO,EAAE;YACX,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC;;aACrD;YACL,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC;;AAErE,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY;AACtC,QAAA,MAAM,cAAc,GAAG,YAAY,GAAG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,kBAAkB;QAEzF,QACE,CACE,CAAA,QAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,IAAI,CAAC,OAAO,EACX,WAAA,EAAA,IAAI,CAAC,OAAO,gBACX,YAAY,GAAG,CAAC,CAAC,gCAAgC,CAAC,GAAG,CAAC,CAAC,8BAA8B,CAAC,EAAA,WAAA,EACxF,QAAQ,EACD,iBAAA,EAAA,YAAY,EAC7B,KAAK,EAAE,CAAA,EAAG,IAAI,CAAC,kBAAkB,CAAA,CAAA,EAAI,cAAc,CAAyC,uCAAA,CAAA,CAAC,IAAI,EAAE,EAElG,EAAA,IAAI,CAAC,OAAO,GAAG,CAAA,CAAA,WAAA,EAAA,IAAA,CAAa,GAAG,YAAY,GAAG,CAAC,CAAC,gCAAgC,CAAC,GAAG,CAAC,CAAC,8BAA8B,CAAC,CAC/G;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { U as UnidyComponent, r as registerInstance, g as getElement, h, H as Host } from './index-BF13Y4es.js';
1
+ import { U as UnidyComponent, r as registerInstance, g as getElement, h, H as Host } from './index-Ci3aTmzp.js';
2
2
 
3
3
  const PaginationButton = class extends UnidyComponent {
4
4
  constructor(hostRef) {
@@ -1 +1 @@
1
- {"version":3,"file":"u-pagination-button.entry.js","sources":["src/ticketable/components/pagination/pagination-button.tsx"],"sourcesContent":["import { Component, h, Prop, Element, Host, State } from \"@stencil/core\";\nimport type { PaginationMeta } from \"../../../api\";\nimport type { PaginationStore } from \"../../store/pagination-store\";\nimport { UnidyComponent } from \"../../../logger\";\n\n@Component({ tag: \"u-pagination-button\", shadow: false })\nexport class PaginationButton extends UnidyComponent {\n @Element() element: HTMLElement;\n\n @Prop() direction: \"prev\" | \"next\" = \"next\";\n @Prop() customClass?: string;\n\n @State() paginationMeta: PaginationMeta | null = null;\n\n private store: PaginationStore | null = null;\n private unsubscribe: (() => void) | null = null;\n\n componentDidLoad() {\n this.store = this.element.closest(\"u-ticketable-list\")?.store;\n if (!this.store) {\n this.logger.warn(\"TicketableList component not found\");\n return;\n }\n\n // Get initial state\n this.paginationMeta = this.store.state.paginationMeta;\n\n // Subscribe to store changes - watch for changes to paginationMeta\n this.unsubscribe = this.store.onChange(\"paginationMeta\", (value: PaginationMeta | null) => {\n this.paginationMeta = value;\n });\n }\n\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n\n private handleClick = () => {\n const parent = this.element.closest(\"u-ticketable-list\");\n if (!parent || !this.paginationMeta) {\n return;\n }\n\n const isPrev = this.direction === \"prev\";\n let newPage: number | null = null;\n\n if (isPrev && this.paginationMeta.prev !== null) {\n newPage = this.paginationMeta.prev;\n } else if (!isPrev && this.paginationMeta.next !== null) {\n newPage = this.paginationMeta.next;\n }\n\n if (newPage !== null) {\n parent.setAttribute(\"page\", String(newPage));\n }\n };\n\n render() {\n if (!this.store) {\n this.logger.warn(\"TicketableList component not found\");\n return null;\n }\n\n const isPrev = this.direction === \"prev\";\n const icon = isPrev ? \"←\" : \"→\";\n\n // Determine disabled state based on pagination meta\n const disabled = !this.paginationMeta || (isPrev ? this.paginationMeta.prev === null : this.paginationMeta.next === null);\n\n return (\n <Host>\n <button\n type=\"button\"\n onClick={this.handleClick}\n disabled={disabled}\n aria-label={isPrev ? \"Previous page\" : \"Next page\"}\n class={this.customClass}\n >\n <slot name=\"icon\"><span aria-hidden=\"true\">{icon}</span></slot>\n </button>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;MAMa,gBAAiB,GAAA,cAAQ,cAAc,CAAA;;;;;;IAG1C,SAAS,GAAoB,MAAM;AACnC,IAAA,WAAW;IAEV,cAAc,GAA0B,IAAI;IAE7C,KAAK,GAA2B,IAAI;IACpC,WAAW,GAAwB,IAAI;IAE/C,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,KAAK;AAC7D,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC;YACtD;;;QAIF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc;;AAGrD,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAA4B,KAAI;AACxF,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC7B,SAAC,CAAC;;IAGJ,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,WAAW,IAAI;;IAGd,WAAW,GAAG,MAAK;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACxD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACnC;;AAGF,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,KAAK,MAAM;QACxC,IAAI,OAAO,GAAkB,IAAI;QAEjC,IAAI,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,IAAI,EAAE;AAC/C,YAAA,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI;;aAC7B,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,IAAI,EAAE;AACvD,YAAA,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI;;AAGpC,QAAA,IAAI,OAAO,KAAK,IAAI,EAAE;YACpB,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;;AAEhD,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC;AACtD,YAAA,OAAO,IAAI;;AAGb,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,KAAK,MAAM;QACxC,MAAM,IAAI,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG;;AAG/B,QAAA,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,IAAI,CAAC;AAEzH,QAAA,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,QAAQ,EAAA,YAAA,EACN,MAAM,GAAG,eAAe,GAAG,WAAW,EAClD,KAAK,EAAE,IAAI,CAAC,WAAW,EAAA,EAEvB,CAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,MAAM,EAAA,EAAC,CAAkB,CAAA,MAAA,EAAA,EAAA,aAAA,EAAA,MAAM,IAAE,IAAI,CAAQ,CAAO,CACxD,CACJ;;;;;;"}
1
+ {"version":3,"file":"u-pagination-button.entry.js","sources":["src/ticketable/components/pagination/pagination-button.tsx"],"sourcesContent":["import { Component, h, Prop, Element, Host, State } from \"@stencil/core\";\nimport type { PaginationMeta } from \"../../../api\";\nimport type { PaginationStore } from \"../../store/pagination-store\";\nimport { UnidyComponent } from \"../../../logger\";\n\n@Component({ tag: \"u-pagination-button\", shadow: false })\nexport class PaginationButton extends UnidyComponent {\n @Element() element: HTMLElement;\n\n @Prop() direction: \"prev\" | \"next\" = \"next\";\n @Prop() customClass?: string;\n\n @State() paginationMeta: PaginationMeta | null = null;\n\n private store: PaginationStore | null = null;\n private unsubscribe: (() => void) | null = null;\n\n componentDidLoad() {\n this.store = this.element.closest(\"u-ticketable-list\")?.store;\n if (!this.store) {\n this.logger.warn(\"TicketableList component not found\");\n return;\n }\n\n // Get initial state\n this.paginationMeta = this.store.state.paginationMeta;\n\n // Subscribe to store changes - watch for changes to paginationMeta\n this.unsubscribe = this.store.onChange(\"paginationMeta\", (value: PaginationMeta | null) => {\n this.paginationMeta = value;\n });\n }\n\n disconnectedCallback() {\n this.unsubscribe?.();\n }\n\n private handleClick = () => {\n const parent = this.element.closest(\"u-ticketable-list\");\n if (!parent || !this.paginationMeta) {\n return;\n }\n\n const isPrev = this.direction === \"prev\";\n let newPage: number | null = null;\n\n if (isPrev && this.paginationMeta.prev !== null) {\n newPage = this.paginationMeta.prev;\n } else if (!isPrev && this.paginationMeta.next !== null) {\n newPage = this.paginationMeta.next;\n }\n\n if (newPage !== null) {\n parent.setAttribute(\"page\", String(newPage));\n }\n };\n\n render() {\n if (!this.store) {\n this.logger.warn(\"TicketableList component not found\");\n return null;\n }\n\n const isPrev = this.direction === \"prev\";\n const icon = isPrev ? \"←\" : \"→\";\n\n // Determine disabled state based on pagination meta\n const disabled = !this.paginationMeta || (isPrev ? this.paginationMeta.prev === null : this.paginationMeta.next === null);\n\n return (\n <Host>\n <button\n type=\"button\"\n onClick={this.handleClick}\n disabled={disabled}\n aria-label={isPrev ? \"Previous page\" : \"Next page\"}\n class={this.customClass}\n >\n <slot name=\"icon\">\n <span aria-hidden=\"true\">{icon}</span>\n </slot>\n </button>\n </Host>\n );\n }\n}\n"],"names":[],"mappings":";;MAMa,gBAAiB,GAAA,cAAQ,cAAc,CAAA;;;;;;IAG1C,SAAS,GAAoB,MAAM;AACnC,IAAA,WAAW;IAEV,cAAc,GAA0B,IAAI;IAE7C,KAAK,GAA2B,IAAI;IACpC,WAAW,GAAwB,IAAI;IAE/C,gBAAgB,GAAA;AACd,QAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,KAAK;AAC7D,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC;YACtD;;;QAIF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,cAAc;;AAGrD,QAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC,KAA4B,KAAI;AACxF,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK;AAC7B,SAAC,CAAC;;IAGJ,oBAAoB,GAAA;AAClB,QAAA,IAAI,CAAC,WAAW,IAAI;;IAGd,WAAW,GAAG,MAAK;QACzB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC;QACxD,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACnC;;AAGF,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,KAAK,MAAM;QACxC,IAAI,OAAO,GAAkB,IAAI;QAEjC,IAAI,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,IAAI,EAAE;AAC/C,YAAA,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI;;aAC7B,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,IAAI,EAAE;AACvD,YAAA,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI;;AAGpC,QAAA,IAAI,OAAO,KAAK,IAAI,EAAE;YACpB,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;;AAEhD,KAAC;IAED,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;AACf,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC;AACtD,YAAA,OAAO,IAAI;;AAGb,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,KAAK,MAAM;QACxC,MAAM,IAAI,GAAG,MAAM,GAAG,GAAG,GAAG,GAAG;;AAG/B,QAAA,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,cAAc,KAAK,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,IAAI,CAAC;AAEzH,QAAA,QACE,EAAC,IAAI,EAAA,IAAA,EACH,CAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,QAAQ,EAAE,QAAQ,EAAA,YAAA,EACN,MAAM,GAAG,eAAe,GAAG,WAAW,EAClD,KAAK,EAAE,IAAI,CAAC,WAAW,EAAA,EAEvB,CAAM,CAAA,MAAA,EAAA,EAAA,IAAI,EAAC,MAAM,EAAA,EACf,CAAkB,CAAA,MAAA,EAAA,EAAA,aAAA,EAAA,MAAM,IAAE,IAAI,CAAQ,CACjC,CACA,CACJ;;;;;;"}
@@ -1,4 +1,4 @@
1
- import { U as UnidyComponent, r as registerInstance, g as getElement, h, H as Host } from './index-BF13Y4es.js';
1
+ import { U as UnidyComponent, r as registerInstance, g as getElement, h, H as Host } from './index-Ci3aTmzp.js';
2
2
 
3
3
  const PaginationPage = class extends UnidyComponent {
4
4
  constructor(hostRef) {