@unidy.io/sdk 1.2.0-alpha9 → 1.2.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 (715) hide show
  1. package/dist/cjs/_commonjsHelpers-CFO10eej.js +10 -0
  2. package/dist/cjs/_commonjsHelpers-CFO10eej.js.map +1 -0
  3. package/dist/cjs/app-globals-C-Wl5lPS.js +10 -0
  4. package/dist/cjs/app-globals-C-Wl5lPS.js.map +1 -0
  5. package/dist/cjs/{auth-store-DPmGKHZ2.js → auth-store-0vv3uOib.js} +4 -4
  6. package/dist/cjs/{auth-store-DPmGKHZ2.js.map → auth-store-0vv3uOib.js.map} +1 -1
  7. package/dist/cjs/component-DLxnZCW6.js +34 -0
  8. package/dist/cjs/component-DLxnZCW6.js.map +1 -0
  9. package/dist/cjs/component-utils-XXctnOM9.js +38 -0
  10. package/dist/cjs/component-utils-XXctnOM9.js.map +1 -0
  11. package/dist/cjs/de-BWF6Glzg.js +704 -0
  12. package/dist/cjs/de-BWF6Glzg.js.map +1 -0
  13. package/dist/cjs/en-GB-DhD5mdQw.js +119 -0
  14. package/dist/cjs/en-GB-DhD5mdQw.js.map +1 -0
  15. package/dist/cjs/{flash-store-gbSYhPAV.js → flash-store-CR6Umh1O.js} +3 -3
  16. package/dist/cjs/{flash-store-gbSYhPAV.js.map → flash-store-CR6Umh1O.js.map} +1 -1
  17. package/dist/cjs/fr-j2wwoj-A.js +577 -0
  18. package/dist/cjs/fr-j2wwoj-A.js.map +1 -0
  19. package/dist/cjs/has-slot-content-CfJbU4t-.js +37 -0
  20. package/dist/cjs/has-slot-content-CfJbU4t-.js.map +1 -0
  21. package/dist/cjs/{i18n-D5j_Zl-4.js → i18n-ClWrNmGh.js} +100 -4
  22. package/dist/cjs/{i18n-D5j_Zl-4.js.map → i18n-ClWrNmGh.js.map} +1 -1
  23. package/dist/cjs/{index-B325yXfO.js → index-2Fz3r5o0.js} +5 -41
  24. package/dist/cjs/index-2Fz3r5o0.js.map +1 -0
  25. package/dist/cjs/{index-yaeiYlfa.js → index-C6ZBKFYr.js} +3 -3
  26. package/dist/cjs/{index-yaeiYlfa.js.map → index-C6ZBKFYr.js.map} +1 -1
  27. package/dist/cjs/{index-BzPYBLYC.js → index-CpPKy1CZ.js} +1170 -1087
  28. package/dist/cjs/index-CpPKy1CZ.js.map +1 -0
  29. package/dist/cjs/index.cjs.js +24 -11
  30. package/dist/cjs/index.cjs.js.map +1 -1
  31. package/dist/cjs/loader.cjs.js +3 -3
  32. package/dist/cjs/{newsletter-helpers-hdDC5X-V.js → newsletter-helpers-BHvOI8M4.js} +46 -9
  33. package/dist/cjs/newsletter-helpers-BHvOI8M4.js.map +1 -0
  34. package/dist/cjs/{newsletter-store-CupsLgO9.js → newsletter-store-22Jswiqe.js} +5 -3
  35. package/dist/cjs/newsletter-store-22Jswiqe.js.map +1 -0
  36. package/dist/cjs/nl-BE-yKvOp1-G.js +542 -0
  37. package/dist/cjs/nl-BE-yKvOp1-G.js.map +1 -0
  38. package/dist/cjs/{profile-helpers-Bprrm-Xl.js → profile-helpers-BBpAqHjK.js} +4 -4
  39. package/dist/cjs/{profile-helpers-Bprrm-Xl.js.map → profile-helpers-BBpAqHjK.js.map} +1 -1
  40. package/dist/cjs/{profile-store-C_q-TuA_.js → profile-store-CQEQhPQD.js} +4 -4
  41. package/dist/cjs/{profile-store-C_q-TuA_.js.map → profile-store-CQEQhPQD.js.map} +1 -1
  42. package/dist/cjs/redirect-with-token-wupYX97S.js +37 -0
  43. package/dist/cjs/redirect-with-token-wupYX97S.js.map +1 -0
  44. package/dist/cjs/ro-CXq9d1lv.js +578 -0
  45. package/dist/cjs/ro-CXq9d1lv.js.map +1 -0
  46. package/dist/cjs/sdk.cjs.js +3 -3
  47. package/dist/cjs/sv-CMln4V33.js +597 -0
  48. package/dist/cjs/sv-CMln4V33.js.map +1 -0
  49. package/dist/cjs/u-conditional-render.cjs.entry.js +14 -14
  50. package/dist/cjs/u-conditional-render.entry.cjs.js.map +1 -1
  51. package/dist/cjs/u-config.cjs.entry.js +24 -11
  52. package/dist/cjs/u-config.entry.cjs.js.map +1 -1
  53. package/dist/cjs/u-email-field.cjs.entry.js +7 -7
  54. package/dist/cjs/u-error-message.cjs.entry.js +49 -22
  55. package/dist/cjs/u-error-message.entry.cjs.js.map +1 -1
  56. package/dist/cjs/u-field.u-raw-field.entry.cjs.js.map +1 -1
  57. package/dist/cjs/u-field_2.cjs.entry.js +124 -12
  58. package/dist/cjs/u-flash-message.cjs.entry.js +3 -3
  59. package/dist/cjs/u-full-profile.cjs.entry.js +6 -6
  60. package/dist/cjs/u-jump-to-service.cjs.entry.js +23 -44
  61. package/dist/cjs/u-jump-to-service.entry.cjs.js.map +1 -1
  62. package/dist/cjs/u-jump-to-unidy.cjs.entry.js +22 -43
  63. package/dist/cjs/u-jump-to-unidy.entry.cjs.js.map +1 -1
  64. package/dist/cjs/u-logout-button.u-signed-in.entry.cjs.js.map +1 -1
  65. package/dist/cjs/u-logout-button_2.cjs.entry.js +15 -22
  66. package/dist/cjs/u-magic-code-field.cjs.entry.js +8 -9
  67. package/dist/cjs/u-magic-code-field.entry.cjs.js.map +1 -1
  68. package/dist/cjs/u-missing-field.cjs.entry.js +6 -5
  69. package/dist/cjs/u-missing-field.entry.cjs.js.map +1 -1
  70. package/dist/cjs/u-missing-fields-submit-button.cjs.entry.js +16 -14
  71. package/dist/cjs/u-missing-fields-submit-button.entry.cjs.js.map +1 -1
  72. package/dist/cjs/u-newsletter-checkbox.cjs.entry.js +11 -12
  73. package/dist/cjs/u-newsletter-checkbox.entry.cjs.js.map +1 -1
  74. package/dist/cjs/u-newsletter-consent-checkbox.cjs.entry.js +4 -4
  75. package/dist/cjs/u-newsletter-logout-button.cjs.entry.js +15 -20
  76. package/dist/cjs/u-newsletter-logout-button.entry.cjs.js.map +1 -1
  77. package/dist/cjs/u-newsletter-preference-checkbox.cjs.entry.js +11 -12
  78. package/dist/cjs/u-newsletter-preference-checkbox.entry.cjs.js.map +1 -1
  79. package/dist/cjs/u-newsletter-resend-doi-button.cjs.entry.js +10 -11
  80. package/dist/cjs/u-newsletter-resend-doi-button.entry.cjs.js.map +1 -1
  81. package/dist/cjs/u-newsletter-root.cjs.entry.js +45 -22
  82. package/dist/cjs/u-newsletter-root.entry.cjs.js.map +1 -1
  83. package/dist/cjs/u-newsletter-toggle-subscription-button.cjs.entry.js +11 -12
  84. package/dist/cjs/u-newsletter-toggle-subscription-button.entry.cjs.js.map +1 -1
  85. package/dist/cjs/u-pagination-button.cjs.entry.js +4 -4
  86. package/dist/cjs/u-pagination-button.entry.cjs.js.map +1 -1
  87. package/dist/cjs/u-pagination-page.cjs.entry.js +4 -4
  88. package/dist/cjs/u-pagination-page.entry.cjs.js.map +1 -1
  89. package/dist/cjs/u-passkey.cjs.entry.js +8 -9
  90. package/dist/cjs/u-passkey.entry.cjs.js.map +1 -1
  91. package/dist/cjs/u-password-field.cjs.entry.js +5 -5
  92. package/dist/cjs/u-profile.u-submit-button.entry.cjs.js.map +1 -1
  93. package/dist/cjs/u-profile_2.cjs.entry.js +31 -33
  94. package/dist/cjs/u-registration-button.cjs.entry.js +5 -5
  95. package/dist/cjs/u-reset-password-button.cjs.entry.js +12 -15
  96. package/dist/cjs/u-reset-password-button.entry.cjs.js.map +1 -1
  97. package/dist/cjs/u-send-magic-code-button.cjs.entry.js +8 -9
  98. package/dist/cjs/u-send-magic-code-button.entry.cjs.js.map +1 -1
  99. package/dist/cjs/u-signin-root.cjs.entry.js +6 -8
  100. package/dist/cjs/u-signin-root.entry.cjs.js.map +1 -1
  101. package/dist/cjs/u-signin-step.cjs.entry.js +17 -21
  102. package/dist/cjs/u-signin-step.entry.cjs.js.map +1 -1
  103. package/dist/cjs/u-social-login-button.cjs.entry.js +16 -15
  104. package/dist/cjs/u-social-login-button.entry.cjs.js.map +1 -1
  105. package/dist/cjs/u-spinner.cjs.entry.js +3 -3
  106. package/dist/cjs/u-spinner.entry.cjs.js.map +1 -1
  107. package/dist/cjs/u-ticketable-export.cjs.entry.js +76 -0
  108. package/dist/cjs/u-ticketable-export.entry.cjs.js.map +1 -0
  109. package/dist/cjs/u-ticketable-list-D3M8iA-g.js +3991 -0
  110. package/dist/cjs/u-ticketable-list-D3M8iA-g.js.map +1 -0
  111. package/dist/cjs/u-ticketable-list.cjs.entry.js +11 -6118
  112. package/dist/cjs/u-ticketable-list.entry.cjs.js.map +1 -1
  113. package/dist/cjs/{unidy-store-BGnWn9pc.js → unidy-store-Bvnl24i9.js} +3 -3
  114. package/dist/cjs/{unidy-store-BGnWn9pc.js.map → unidy-store-Bvnl24i9.js.map} +1 -1
  115. package/dist/collection/api/base-service.js.map +1 -1
  116. package/dist/collection/api/client.js.map +1 -1
  117. package/dist/collection/api/index.js +6 -6
  118. package/dist/collection/api/index.js.map +1 -1
  119. package/dist/collection/api/standalone.js +88 -39
  120. package/dist/collection/api/standalone.js.map +1 -1
  121. package/dist/collection/auth/api/auth.js.map +1 -1
  122. package/dist/collection/auth/api/schemas.js +5 -5
  123. package/dist/collection/auth/api/schemas.js.map +1 -1
  124. package/dist/collection/auth/auth-helpers.js +7 -8
  125. package/dist/collection/auth/auth-helpers.js.map +1 -1
  126. package/dist/collection/auth/auth.js +1 -0
  127. package/dist/collection/auth/auth.js.map +1 -1
  128. package/dist/collection/auth/components/jump-to-service/jump-to-service.js +20 -40
  129. package/dist/collection/auth/components/jump-to-service/jump-to-service.js.map +1 -1
  130. package/dist/collection/auth/components/jump-to-unidy/jump-to-unidy.js +20 -39
  131. package/dist/collection/auth/components/jump-to-unidy/jump-to-unidy.js.map +1 -1
  132. package/dist/collection/auth/components/logout-button/logout-button.js +7 -11
  133. package/dist/collection/auth/components/logout-button/logout-button.js.map +1 -1
  134. package/dist/collection/auth/components/missing-field/missing-field.js +25 -1
  135. package/dist/collection/auth/components/missing-field/missing-field.js.map +1 -1
  136. package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js +33 -7
  137. package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js.map +1 -1
  138. package/dist/collection/auth/components/password-field/password-field.js +1 -1
  139. package/dist/collection/auth/components/reset-pass-button/reset-pass-button.js +6 -8
  140. package/dist/collection/auth/components/reset-pass-button/reset-pass-button.js.map +1 -1
  141. package/dist/collection/auth/components/signed-in/signed-in.js +2 -5
  142. package/dist/collection/auth/components/signed-in/signed-in.js.map +1 -1
  143. package/dist/collection/auth/components/signin-root/signin-root.js +2 -5
  144. package/dist/collection/auth/components/signin-root/signin-root.js.map +1 -1
  145. package/dist/collection/auth/components/signin-step/signin-step.js +9 -13
  146. package/dist/collection/auth/components/signin-step/signin-step.js.map +1 -1
  147. package/dist/collection/auth/components/social-logins/social-login-button.css +1 -1
  148. package/dist/collection/auth/components/social-logins/social-login-button.js +11 -12
  149. package/dist/collection/auth/components/social-logins/social-login-button.js.map +1 -1
  150. package/dist/collection/auth/components/submit-button/auth-submit-button.js +10 -0
  151. package/dist/collection/auth/components/submit-button/auth-submit-button.js.map +1 -1
  152. package/dist/collection/collection-manifest.json +1 -0
  153. package/dist/collection/locales/de.json +16 -0
  154. package/dist/collection/locales/en.json +16 -0
  155. package/dist/collection/locales/fr.json +16 -0
  156. package/dist/collection/locales/it.json +16 -0
  157. package/dist/collection/locales/nl_be.json +16 -0
  158. package/dist/collection/locales/ro.json +16 -0
  159. package/dist/collection/logger.js +0 -37
  160. package/dist/collection/logger.js.map +1 -1
  161. package/dist/collection/newsletter/api/newsletters.js +19 -18
  162. package/dist/collection/newsletter/api/newsletters.js.map +1 -1
  163. package/dist/collection/newsletter/components/consent-checkbox/consent-checkbox.js +1 -1
  164. package/dist/collection/newsletter/components/logout-button/logout-button.js +6 -10
  165. package/dist/collection/newsletter/components/logout-button/logout-button.js.map +1 -1
  166. package/dist/collection/newsletter/components/newsletter-checkbox/newsletter-checkbox.js +1 -1
  167. package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js +65 -10
  168. package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js.map +1 -1
  169. package/dist/collection/newsletter/components/preference-checkbox/preference-checkbox.js +1 -1
  170. package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.js +1 -1
  171. package/dist/collection/newsletter/newsletter-helpers.js +39 -2
  172. package/dist/collection/newsletter/newsletter-helpers.js.map +1 -1
  173. package/dist/collection/newsletter/store/newsletter-store.js +2 -0
  174. package/dist/collection/newsletter/store/newsletter-store.js.map +1 -1
  175. package/dist/collection/profile/api/profile.js.map +1 -1
  176. package/dist/collection/profile/api/schemas.js +1 -1
  177. package/dist/collection/profile/api/schemas.js.map +1 -1
  178. package/dist/collection/profile/components/field/field.js +3 -1
  179. package/dist/collection/profile/components/field/field.js.map +1 -1
  180. package/dist/collection/profile/components/full-profile/full-profile.js +1 -1
  181. package/dist/collection/profile/components/raw-field/raw-field.js +40 -7
  182. package/dist/collection/profile/components/raw-field/raw-field.js.map +1 -1
  183. package/dist/collection/profile/store/profile-store.js +1 -1
  184. package/dist/collection/profile/store/profile-store.js.map +1 -1
  185. package/dist/collection/shared/base/component.js +28 -0
  186. package/dist/collection/shared/base/component.js.map +1 -0
  187. package/dist/collection/shared/base/has-slot-content.js +31 -0
  188. package/dist/collection/shared/base/has-slot-content.js.map +1 -0
  189. package/dist/collection/shared/component-utils.js +23 -27
  190. package/dist/collection/shared/component-utils.js.map +1 -1
  191. package/dist/collection/shared/components/conditional-render/conditional-render.js +4 -5
  192. package/dist/collection/shared/components/conditional-render/conditional-render.js.map +1 -1
  193. package/dist/collection/shared/components/config/config.js +18 -5
  194. package/dist/collection/shared/components/config/config.js.map +1 -1
  195. package/dist/collection/shared/components/email-field/email-field.js +1 -1
  196. package/dist/collection/shared/components/error-message/error-message.css +1 -1
  197. package/dist/collection/shared/components/error-message/error-message.js +44 -17
  198. package/dist/collection/shared/components/error-message/error-message.js.map +1 -1
  199. package/dist/collection/shared/components/spinner/spinner.css +1 -1
  200. package/dist/collection/shared/components/spinner/spinner.js +1 -1
  201. package/dist/collection/shared/components/submit-button/submit-button.css +1 -1
  202. package/dist/collection/shared/components/submit-button/submit-button.js +12 -23
  203. package/dist/collection/shared/components/submit-button/submit-button.js.map +1 -1
  204. package/dist/collection/shared/context-utils.js +96 -0
  205. package/dist/collection/shared/context-utils.js.map +1 -0
  206. package/dist/collection/shared/utils/redirect-with-token.js +30 -0
  207. package/dist/collection/shared/utils/redirect-with-token.js.map +1 -0
  208. package/dist/collection/shared/utils/url-utils.js +25 -0
  209. package/dist/collection/shared/utils/url-utils.js.map +1 -0
  210. package/dist/collection/ticketable/api/schemas.js +10 -2
  211. package/dist/collection/ticketable/api/schemas.js.map +1 -1
  212. package/dist/collection/ticketable/api/subscriptions.js +22 -1
  213. package/dist/collection/ticketable/api/subscriptions.js.map +1 -1
  214. package/dist/collection/ticketable/api/tickets.js +22 -1
  215. package/dist/collection/ticketable/api/tickets.js.map +1 -1
  216. package/dist/collection/ticketable/components/pagination/pagination-button.js +3 -5
  217. package/dist/collection/ticketable/components/pagination/pagination-button.js.map +1 -1
  218. package/dist/collection/ticketable/components/pagination/pagination-page.js +3 -5
  219. package/dist/collection/ticketable/components/pagination/pagination-page.js.map +1 -1
  220. package/dist/collection/ticketable/components/ticketable-export/ticketable-export.js +175 -0
  221. package/dist/collection/ticketable/components/ticketable-export/ticketable-export.js.map +1 -0
  222. package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js +163 -25
  223. package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js.map +1 -1
  224. package/dist/collection/ticketable/index.js +1 -0
  225. package/dist/collection/ticketable/index.js.map +1 -1
  226. package/dist/components/_commonjsHelpers.js +8 -0
  227. package/dist/components/_commonjsHelpers.js.map +1 -0
  228. package/dist/components/component-utils.js +25 -28
  229. package/dist/components/component-utils.js.map +1 -1
  230. package/dist/components/component.js +33 -0
  231. package/dist/components/component.js.map +1 -0
  232. package/dist/components/de.js +702 -0
  233. package/dist/components/de.js.map +1 -0
  234. package/dist/components/en-GB.js +117 -0
  235. package/dist/components/en-GB.js.map +1 -0
  236. package/dist/components/field.js +3 -1
  237. package/dist/components/field.js.map +1 -1
  238. package/dist/components/fr.js +575 -0
  239. package/dist/components/fr.js.map +1 -0
  240. package/dist/components/has-slot-content.js +35 -0
  241. package/dist/components/has-slot-content.js.map +1 -0
  242. package/dist/components/i18n.js +96 -0
  243. package/dist/components/i18n.js.map +1 -1
  244. package/dist/components/index.js +11 -3
  245. package/dist/components/index.js.map +1 -1
  246. package/dist/components/index2.js +1158 -1083
  247. package/dist/components/index2.js.map +1 -1
  248. package/dist/components/logger.js +1 -39
  249. package/dist/components/logger.js.map +1 -1
  250. package/dist/components/newsletter-helpers.js +39 -2
  251. package/dist/components/newsletter-helpers.js.map +1 -1
  252. package/dist/components/newsletter-store.js +2 -0
  253. package/dist/components/newsletter-store.js.map +1 -1
  254. package/dist/components/nl-BE.js +540 -0
  255. package/dist/components/nl-BE.js.map +1 -0
  256. package/dist/components/profile-store.js +1 -1
  257. package/dist/components/profile-store.js.map +1 -1
  258. package/dist/components/raw-field.js +116 -7
  259. package/dist/components/raw-field.js.map +1 -1
  260. package/dist/components/redirect-with-token.js +35 -0
  261. package/dist/components/redirect-with-token.js.map +1 -0
  262. package/dist/components/ro.js +576 -0
  263. package/dist/components/ro.js.map +1 -0
  264. package/dist/components/spinner.js +2 -2
  265. package/dist/components/spinner.js.map +1 -1
  266. package/dist/components/submit-button.js +21 -24
  267. package/dist/components/submit-button.js.map +1 -1
  268. package/dist/components/sv.js +595 -0
  269. package/dist/components/sv.js.map +1 -0
  270. package/dist/components/u-conditional-render.js +5 -6
  271. package/dist/components/u-conditional-render.js.map +1 -1
  272. package/dist/components/u-config.js +16 -3
  273. package/dist/components/u-config.js.map +1 -1
  274. package/dist/components/u-email-field.js +1 -1
  275. package/dist/components/u-error-message.js +44 -19
  276. package/dist/components/u-error-message.js.map +1 -1
  277. package/dist/components/u-full-profile.js +1 -1
  278. package/dist/components/u-jump-to-service.js +16 -38
  279. package/dist/components/u-jump-to-service.js.map +1 -1
  280. package/dist/components/u-jump-to-unidy.js +16 -37
  281. package/dist/components/u-jump-to-unidy.js.map +1 -1
  282. package/dist/components/u-logout-button.js +5 -11
  283. package/dist/components/u-logout-button.js.map +1 -1
  284. package/dist/components/u-missing-field.js +5 -2
  285. package/dist/components/u-missing-field.js.map +1 -1
  286. package/dist/components/u-missing-fields-submit-button.js +10 -8
  287. package/dist/components/u-missing-fields-submit-button.js.map +1 -1
  288. package/dist/components/u-newsletter-checkbox.js +1 -1
  289. package/dist/components/u-newsletter-consent-checkbox.js +1 -1
  290. package/dist/components/u-newsletter-logout-button.js +6 -12
  291. package/dist/components/u-newsletter-logout-button.js.map +1 -1
  292. package/dist/components/u-newsletter-preference-checkbox.js +1 -1
  293. package/dist/components/u-newsletter-root.js +35 -12
  294. package/dist/components/u-newsletter-root.js.map +1 -1
  295. package/dist/components/u-newsletter-toggle-subscription-button.js +1 -1
  296. package/dist/components/u-pagination-button.js +3 -4
  297. package/dist/components/u-pagination-button.js.map +1 -1
  298. package/dist/components/u-pagination-page.js +3 -4
  299. package/dist/components/u-pagination-page.js.map +1 -1
  300. package/dist/components/u-reset-password-button.js +4 -8
  301. package/dist/components/u-reset-password-button.js.map +1 -1
  302. package/dist/components/u-signed-in.js +3 -6
  303. package/dist/components/u-signed-in.js.map +1 -1
  304. package/dist/components/u-signin-root.js +3 -6
  305. package/dist/components/u-signin-root.js.map +1 -1
  306. package/dist/components/u-signin-step.js +10 -14
  307. package/dist/components/u-signin-step.js.map +1 -1
  308. package/dist/components/u-social-login-button.js +13 -14
  309. package/dist/components/u-social-login-button.js.map +1 -1
  310. package/dist/components/u-ticketable-export.d.ts +11 -0
  311. package/dist/components/u-ticketable-export.js +93 -0
  312. package/dist/components/u-ticketable-export.js.map +1 -0
  313. package/dist/components/u-ticketable-list.js +256 -2396
  314. package/dist/components/u-ticketable-list.js.map +1 -1
  315. package/dist/esm/_commonjsHelpers-B85MJLTf.js +8 -0
  316. package/dist/esm/_commonjsHelpers-B85MJLTf.js.map +1 -0
  317. package/dist/esm/app-globals-J743qnJf.js +8 -0
  318. package/dist/esm/app-globals-J743qnJf.js.map +1 -0
  319. package/dist/esm/{auth-store-DBlGNGhq.js → auth-store-CSpEdi46.js} +4 -4
  320. package/dist/esm/{auth-store-DBlGNGhq.js.map → auth-store-CSpEdi46.js.map} +1 -1
  321. package/dist/esm/component-qfegGRWr.js +32 -0
  322. package/dist/esm/component-qfegGRWr.js.map +1 -0
  323. package/dist/esm/component-utils-WEof9bTg.js +36 -0
  324. package/dist/esm/component-utils-WEof9bTg.js.map +1 -0
  325. package/dist/esm/de-C6AnCqsA.js +702 -0
  326. package/dist/esm/de-C6AnCqsA.js.map +1 -0
  327. package/dist/esm/en-GB-DO63WPxt.js +117 -0
  328. package/dist/esm/en-GB-DO63WPxt.js.map +1 -0
  329. package/dist/esm/{flash-store-Df2YkLTB.js → flash-store-Dn1Bava8.js} +3 -3
  330. package/dist/esm/{flash-store-Df2YkLTB.js.map → flash-store-Dn1Bava8.js.map} +1 -1
  331. package/dist/esm/fr-C0oU6-EJ.js +575 -0
  332. package/dist/esm/fr-C0oU6-EJ.js.map +1 -0
  333. package/dist/esm/has-slot-content-DSMkJu9G.js +35 -0
  334. package/dist/esm/has-slot-content-DSMkJu9G.js.map +1 -0
  335. package/dist/esm/{i18n-Da7S9Oqf.js → i18n-ioyZxWsT.js} +100 -4
  336. package/dist/esm/{i18n-Da7S9Oqf.js.map → i18n-ioyZxWsT.js.map} +1 -1
  337. package/dist/esm/{index-FTKB5a1d.js → index-BsJDptgj.js} +4 -40
  338. package/dist/esm/index-BsJDptgj.js.map +1 -0
  339. package/dist/esm/{index-BnAYOYR5.js → index-C8kmD3tu.js} +3 -3
  340. package/dist/esm/{index-BnAYOYR5.js.map → index-C8kmD3tu.js.map} +1 -1
  341. package/dist/esm/{index-BVlbCQEX.js → index-kgGjfc-n.js} +1163 -1088
  342. package/dist/esm/index-kgGjfc-n.js.map +1 -0
  343. package/dist/esm/index.js +18 -12
  344. package/dist/esm/index.js.map +1 -1
  345. package/dist/esm/loader.js +4 -4
  346. package/dist/esm/{newsletter-helpers-fCpxzovf.js → newsletter-helpers-DoKGN_Kq.js} +46 -9
  347. package/dist/esm/newsletter-helpers-DoKGN_Kq.js.map +1 -0
  348. package/dist/esm/{newsletter-store-BB618FgS.js → newsletter-store-DpR85vaC.js} +5 -3
  349. package/dist/esm/newsletter-store-DpR85vaC.js.map +1 -0
  350. package/dist/esm/nl-BE-C8uPYb_H.js +540 -0
  351. package/dist/esm/nl-BE-C8uPYb_H.js.map +1 -0
  352. package/dist/esm/{profile-helpers-CXK2X6Ts.js → profile-helpers-BMJy0ei_.js} +4 -4
  353. package/dist/esm/{profile-helpers-CXK2X6Ts.js.map → profile-helpers-BMJy0ei_.js.map} +1 -1
  354. package/dist/esm/{profile-store-CHlSKuTY.js → profile-store-7wBS3gBH.js} +4 -4
  355. package/dist/esm/{profile-store-CHlSKuTY.js.map → profile-store-7wBS3gBH.js.map} +1 -1
  356. package/dist/esm/redirect-with-token-StCLJlSp.js +35 -0
  357. package/dist/esm/redirect-with-token-StCLJlSp.js.map +1 -0
  358. package/dist/esm/ro-BlDHz7d-.js +576 -0
  359. package/dist/esm/ro-BlDHz7d-.js.map +1 -0
  360. package/dist/esm/sdk.js +4 -4
  361. package/dist/esm/sv-B_Gq29K0.js +595 -0
  362. package/dist/esm/sv-B_Gq29K0.js.map +1 -0
  363. package/dist/esm/u-conditional-render.entry.js +14 -14
  364. package/dist/esm/u-conditional-render.entry.js.map +1 -1
  365. package/dist/esm/u-config.entry.js +24 -11
  366. package/dist/esm/u-config.entry.js.map +1 -1
  367. package/dist/esm/u-email-field.entry.js +7 -7
  368. package/dist/esm/u-error-message.entry.js +49 -22
  369. package/dist/esm/u-error-message.entry.js.map +1 -1
  370. package/dist/esm/u-field.u-raw-field.entry.js.map +1 -1
  371. package/dist/esm/u-field_2.entry.js +124 -12
  372. package/dist/esm/u-flash-message.entry.js +3 -3
  373. package/dist/esm/u-full-profile.entry.js +6 -6
  374. package/dist/esm/u-jump-to-service.entry.js +23 -44
  375. package/dist/esm/u-jump-to-service.entry.js.map +1 -1
  376. package/dist/esm/u-jump-to-unidy.entry.js +22 -43
  377. package/dist/esm/u-jump-to-unidy.entry.js.map +1 -1
  378. package/dist/esm/u-logout-button.u-signed-in.entry.js.map +1 -1
  379. package/dist/esm/u-logout-button_2.entry.js +15 -22
  380. package/dist/esm/u-magic-code-field.entry.js +8 -9
  381. package/dist/esm/u-magic-code-field.entry.js.map +1 -1
  382. package/dist/esm/u-missing-field.entry.js +6 -5
  383. package/dist/esm/u-missing-field.entry.js.map +1 -1
  384. package/dist/esm/u-missing-fields-submit-button.entry.js +16 -14
  385. package/dist/esm/u-missing-fields-submit-button.entry.js.map +1 -1
  386. package/dist/esm/u-newsletter-checkbox.entry.js +11 -12
  387. package/dist/esm/u-newsletter-checkbox.entry.js.map +1 -1
  388. package/dist/esm/u-newsletter-consent-checkbox.entry.js +4 -4
  389. package/dist/esm/u-newsletter-logout-button.entry.js +15 -20
  390. package/dist/esm/u-newsletter-logout-button.entry.js.map +1 -1
  391. package/dist/esm/u-newsletter-preference-checkbox.entry.js +11 -12
  392. package/dist/esm/u-newsletter-preference-checkbox.entry.js.map +1 -1
  393. package/dist/esm/u-newsletter-resend-doi-button.entry.js +10 -11
  394. package/dist/esm/u-newsletter-resend-doi-button.entry.js.map +1 -1
  395. package/dist/esm/u-newsletter-root.entry.js +42 -19
  396. package/dist/esm/u-newsletter-root.entry.js.map +1 -1
  397. package/dist/esm/u-newsletter-toggle-subscription-button.entry.js +11 -12
  398. package/dist/esm/u-newsletter-toggle-subscription-button.entry.js.map +1 -1
  399. package/dist/esm/u-pagination-button.entry.js +4 -4
  400. package/dist/esm/u-pagination-button.entry.js.map +1 -1
  401. package/dist/esm/u-pagination-page.entry.js +4 -4
  402. package/dist/esm/u-pagination-page.entry.js.map +1 -1
  403. package/dist/esm/u-passkey.entry.js +8 -9
  404. package/dist/esm/u-passkey.entry.js.map +1 -1
  405. package/dist/esm/u-password-field.entry.js +5 -5
  406. package/dist/esm/u-profile.u-submit-button.entry.js.map +1 -1
  407. package/dist/esm/u-profile_2.entry.js +31 -33
  408. package/dist/esm/u-registration-button.entry.js +5 -5
  409. package/dist/esm/u-reset-password-button.entry.js +12 -15
  410. package/dist/esm/u-reset-password-button.entry.js.map +1 -1
  411. package/dist/esm/u-send-magic-code-button.entry.js +8 -9
  412. package/dist/esm/u-send-magic-code-button.entry.js.map +1 -1
  413. package/dist/esm/u-signin-root.entry.js +6 -8
  414. package/dist/esm/u-signin-root.entry.js.map +1 -1
  415. package/dist/esm/u-signin-step.entry.js +17 -21
  416. package/dist/esm/u-signin-step.entry.js.map +1 -1
  417. package/dist/esm/u-social-login-button.entry.js +16 -15
  418. package/dist/esm/u-social-login-button.entry.js.map +1 -1
  419. package/dist/esm/u-spinner.entry.js +3 -3
  420. package/dist/esm/u-spinner.entry.js.map +1 -1
  421. package/dist/esm/u-ticketable-export.entry.js +74 -0
  422. package/dist/esm/u-ticketable-export.entry.js.map +1 -0
  423. package/dist/esm/u-ticketable-list-D2p21JjR.js +3981 -0
  424. package/dist/esm/u-ticketable-list-D2p21JjR.js.map +1 -0
  425. package/dist/esm/u-ticketable-list.entry.js +10 -6121
  426. package/dist/esm/u-ticketable-list.entry.js.map +1 -1
  427. package/dist/esm/{unidy-store-Bg7IaIMd.js → unidy-store-B5Bf4Vit.js} +3 -3
  428. package/dist/esm/{unidy-store-Bg7IaIMd.js.map → unidy-store-B5Bf4Vit.js.map} +1 -1
  429. package/dist/sdk/index.esm.js +1 -1
  430. package/dist/sdk/index.esm.js.map +1 -1
  431. package/dist/sdk/locales/de.json +16 -0
  432. package/dist/sdk/locales/en.json +16 -0
  433. package/dist/sdk/locales/fr.json +16 -0
  434. package/dist/sdk/locales/it.json +16 -0
  435. package/dist/sdk/locales/nl_be.json +16 -0
  436. package/dist/sdk/locales/ro.json +16 -0
  437. package/dist/sdk/p-02dce5da.entry.js +2 -0
  438. package/dist/sdk/p-02dce5da.entry.js.map +1 -0
  439. package/dist/sdk/p-043c7643.entry.js +2 -0
  440. package/dist/sdk/p-043c7643.entry.js.map +1 -0
  441. package/dist/sdk/p-18c17747.entry.js +2 -0
  442. package/dist/sdk/p-18c17747.entry.js.map +1 -0
  443. package/dist/sdk/p-1a1c1af0.entry.js +2 -0
  444. package/dist/sdk/p-1a1c1af0.entry.js.map +1 -0
  445. package/dist/sdk/p-271781c7.entry.js +2 -0
  446. package/dist/sdk/{p-1a8973a6.entry.js.map → p-271781c7.entry.js.map} +1 -1
  447. package/dist/sdk/p-29473a55.entry.js +2 -0
  448. package/dist/sdk/p-29473a55.entry.js.map +1 -0
  449. package/dist/sdk/p-2a25d62e.entry.js +2 -0
  450. package/dist/sdk/p-2a25d62e.entry.js.map +1 -0
  451. package/dist/sdk/{p-C8lRzJEX.js → p-2bKltz_F.js} +2 -2
  452. package/dist/sdk/{p-C8lRzJEX.js.map → p-2bKltz_F.js.map} +1 -1
  453. package/dist/sdk/p-2cc3a00d.entry.js +2 -0
  454. package/dist/sdk/p-2cc3a00d.entry.js.map +1 -0
  455. package/dist/sdk/p-2f49e0cb.entry.js +2 -0
  456. package/dist/sdk/p-2f49e0cb.entry.js.map +1 -0
  457. package/dist/sdk/p-34f5d201.entry.js +2 -0
  458. package/dist/sdk/p-34f5d201.entry.js.map +1 -0
  459. package/dist/sdk/p-52c4bdd9.entry.js +2 -0
  460. package/dist/sdk/p-52c4bdd9.entry.js.map +1 -0
  461. package/dist/sdk/p-585a0efa.entry.js +2 -0
  462. package/dist/sdk/p-585a0efa.entry.js.map +1 -0
  463. package/dist/sdk/p-60675019.entry.js +2 -0
  464. package/dist/sdk/p-60675019.entry.js.map +1 -0
  465. package/dist/sdk/p-79ef9a70.entry.js +2 -0
  466. package/dist/sdk/p-79ef9a70.entry.js.map +1 -0
  467. package/dist/sdk/p-7d88e21c.entry.js +2 -0
  468. package/dist/sdk/p-7d88e21c.entry.js.map +1 -0
  469. package/dist/sdk/p-7eaf3468.entry.js +2 -0
  470. package/dist/sdk/p-7eaf3468.entry.js.map +1 -0
  471. package/dist/sdk/{p-88beb872.entry.js → p-8412762c.entry.js} +2 -2
  472. package/dist/sdk/p-8ea70c08.entry.js +2 -0
  473. package/dist/sdk/p-8ea70c08.entry.js.map +1 -0
  474. package/dist/sdk/p-946cdb0a.entry.js +2 -0
  475. package/dist/sdk/p-946cdb0a.entry.js.map +1 -0
  476. package/dist/sdk/p-94bb0217.entry.js +2 -0
  477. package/dist/sdk/p-94bb0217.entry.js.map +1 -0
  478. package/dist/sdk/{p-bcca06f1.entry.js → p-96860b09.entry.js} +2 -2
  479. package/dist/sdk/p-B1A6Nu24.js +2 -0
  480. package/dist/sdk/p-B1A6Nu24.js.map +1 -0
  481. package/dist/sdk/p-B85MJLTf.js +2 -0
  482. package/dist/sdk/p-B85MJLTf.js.map +1 -0
  483. package/dist/sdk/p-B8N6Bwsa.js +2 -0
  484. package/dist/sdk/{p-DCG3L43i.js.map → p-B8N6Bwsa.js.map} +1 -1
  485. package/dist/sdk/p-Ba5szISo.js +2 -0
  486. package/dist/sdk/p-Ba5szISo.js.map +1 -0
  487. package/dist/sdk/p-BsJDptgj.js +14 -0
  488. package/dist/sdk/p-BsJDptgj.js.map +1 -0
  489. package/dist/sdk/{p-bpXpOZY_.js → p-C0Mo15qt.js} +2 -2
  490. package/dist/sdk/{p-bpXpOZY_.js.map → p-C0Mo15qt.js.map} +1 -1
  491. package/dist/sdk/p-C10MAuCE.js +2 -0
  492. package/dist/sdk/p-C10MAuCE.js.map +1 -0
  493. package/dist/sdk/p-CTy6pQSg.js +2 -0
  494. package/dist/sdk/p-CTy6pQSg.js.map +1 -0
  495. package/dist/sdk/p-CW6kGAuQ.js +2 -0
  496. package/dist/sdk/p-CW6kGAuQ.js.map +1 -0
  497. package/dist/sdk/{p-DdMKVWx8.js → p-CbSP8My1.js} +2 -2
  498. package/dist/sdk/{p-DdMKVWx8.js.map → p-CbSP8My1.js.map} +1 -1
  499. package/dist/sdk/p-CbzzI4uW.js +2 -0
  500. package/dist/sdk/p-CbzzI4uW.js.map +1 -0
  501. package/dist/sdk/p-CgT6fZjb.js +2 -0
  502. package/dist/sdk/p-CgT6fZjb.js.map +1 -0
  503. package/dist/sdk/p-CuHZ3IkE.js +2 -0
  504. package/dist/sdk/p-CuHZ3IkE.js.map +1 -0
  505. package/dist/sdk/p-Cysk_vik.js +2 -0
  506. package/dist/sdk/p-Cysk_vik.js.map +1 -0
  507. package/dist/sdk/p-D0ut3waq.js +2 -0
  508. package/dist/sdk/p-D0ut3waq.js.map +1 -0
  509. package/dist/sdk/{p-BigbTrKk.js → p-D2Rf-QGm.js} +2 -2
  510. package/dist/sdk/{p-BigbTrKk.js.map → p-D2Rf-QGm.js.map} +1 -1
  511. package/dist/sdk/{p-6rqGeAfT.js → p-D9yFO_ID.js} +2 -2
  512. package/dist/sdk/{p-6rqGeAfT.js.map → p-D9yFO_ID.js.map} +1 -1
  513. package/dist/sdk/p-DD_5soRi.js +2 -0
  514. package/dist/sdk/p-DD_5soRi.js.map +1 -0
  515. package/dist/sdk/p-DHuvvagO.js +2 -0
  516. package/dist/sdk/p-DHuvvagO.js.map +1 -0
  517. package/dist/sdk/p-DSMkJu9G.js +2 -0
  518. package/dist/sdk/p-DSMkJu9G.js.map +1 -0
  519. package/dist/sdk/p-DcirMfca.js +2 -0
  520. package/dist/sdk/p-DcirMfca.js.map +1 -0
  521. package/dist/sdk/p-J0cv5IOA.js +2 -0
  522. package/dist/sdk/p-J0cv5IOA.js.map +1 -0
  523. package/dist/sdk/p-_5evboqW.js +2 -0
  524. package/dist/sdk/{p-DSktNM_k.js.map → p-_5evboqW.js.map} +1 -1
  525. package/dist/sdk/{p-7ee2f2ab.entry.js → p-ac3a6bbf.entry.js} +2 -2
  526. package/dist/sdk/p-b498bcdd.entry.js +2 -0
  527. package/dist/sdk/p-b498bcdd.entry.js.map +1 -0
  528. package/dist/sdk/p-b5dd5b4c.entry.js +2 -0
  529. package/dist/sdk/p-b5dd5b4c.entry.js.map +1 -0
  530. package/dist/sdk/{p-6b061b18.entry.js → p-b99588a8.entry.js} +2 -2
  531. package/dist/sdk/p-bf9c27a8.entry.js +2 -0
  532. package/dist/sdk/p-bf9c27a8.entry.js.map +1 -0
  533. package/dist/sdk/p-c10d9b8e.entry.js +2 -0
  534. package/dist/sdk/p-c10d9b8e.entry.js.map +1 -0
  535. package/dist/sdk/{p-10e20afd.entry.js → p-c2634439.entry.js} +2 -2
  536. package/dist/sdk/p-d6777395.entry.js +2 -0
  537. package/dist/sdk/p-d6777395.entry.js.map +1 -0
  538. package/dist/sdk/p-dbfe7b29.entry.js +2 -0
  539. package/dist/sdk/p-dbfe7b29.entry.js.map +1 -0
  540. package/dist/sdk/p-def4e874.entry.js +2 -0
  541. package/dist/sdk/p-def4e874.entry.js.map +1 -0
  542. package/dist/sdk/p-e872a012.entry.js +2 -0
  543. package/dist/sdk/p-e872a012.entry.js.map +1 -0
  544. package/dist/sdk/p-eaaf3989.entry.js +2 -0
  545. package/dist/sdk/p-eaaf3989.entry.js.map +1 -0
  546. package/dist/sdk/p-fd46b459.entry.js +2 -0
  547. package/dist/sdk/{p-830778eb.entry.js.map → p-fd46b459.entry.js.map} +1 -1
  548. package/dist/sdk/sdk.esm.js +1 -1
  549. package/dist/sdk/u-conditional-render.entry.esm.js.map +1 -1
  550. package/dist/sdk/u-config.entry.esm.js.map +1 -1
  551. package/dist/sdk/u-error-message.entry.esm.js.map +1 -1
  552. package/dist/sdk/u-field.u-raw-field.entry.esm.js.map +1 -1
  553. package/dist/sdk/u-jump-to-service.entry.esm.js.map +1 -1
  554. package/dist/sdk/u-jump-to-unidy.entry.esm.js.map +1 -1
  555. package/dist/sdk/u-logout-button.u-signed-in.entry.esm.js.map +1 -1
  556. package/dist/sdk/u-magic-code-field.entry.esm.js.map +1 -1
  557. package/dist/sdk/u-missing-field.entry.esm.js.map +1 -1
  558. package/dist/sdk/u-missing-fields-submit-button.entry.esm.js.map +1 -1
  559. package/dist/sdk/u-newsletter-checkbox.entry.esm.js.map +1 -1
  560. package/dist/sdk/u-newsletter-logout-button.entry.esm.js.map +1 -1
  561. package/dist/sdk/u-newsletter-preference-checkbox.entry.esm.js.map +1 -1
  562. package/dist/sdk/u-newsletter-resend-doi-button.entry.esm.js.map +1 -1
  563. package/dist/sdk/u-newsletter-root.entry.esm.js.map +1 -1
  564. package/dist/sdk/u-newsletter-toggle-subscription-button.entry.esm.js.map +1 -1
  565. package/dist/sdk/u-pagination-button.entry.esm.js.map +1 -1
  566. package/dist/sdk/u-pagination-page.entry.esm.js.map +1 -1
  567. package/dist/sdk/u-passkey.entry.esm.js.map +1 -1
  568. package/dist/sdk/u-profile.u-submit-button.entry.esm.js.map +1 -1
  569. package/dist/sdk/u-reset-password-button.entry.esm.js.map +1 -1
  570. package/dist/sdk/u-send-magic-code-button.entry.esm.js.map +1 -1
  571. package/dist/sdk/u-signin-root.entry.esm.js.map +1 -1
  572. package/dist/sdk/u-signin-step.entry.esm.js.map +1 -1
  573. package/dist/sdk/u-social-login-button.entry.esm.js.map +1 -1
  574. package/dist/sdk/u-spinner.entry.esm.js.map +1 -1
  575. package/dist/sdk/u-ticketable-export.entry.esm.js.map +1 -0
  576. package/dist/sdk/u-ticketable-list.entry.esm.js.map +1 -1
  577. package/dist/types/api/client.d.ts +1 -1
  578. package/dist/types/api/index.d.ts +4 -4
  579. package/dist/types/api/standalone.d.ts +9 -9
  580. package/dist/types/auth/api/auth.d.ts +2 -3
  581. package/dist/types/auth/api/schemas.d.ts +19 -19
  582. package/dist/types/auth/auth-helpers.d.ts +1 -0
  583. package/dist/types/auth/components/jump-to-service/jump-to-service.d.ts +13 -5
  584. package/dist/types/auth/components/jump-to-unidy/jump-to-unidy.d.ts +13 -9
  585. package/dist/types/auth/components/logout-button/logout-button.d.ts +13 -4
  586. package/dist/types/auth/components/missing-field/missing-field.d.ts +1 -0
  587. package/dist/types/auth/components/missing-fields-submit-button/missing-fields-submit-button.d.ts +14 -2
  588. package/dist/types/auth/components/reset-pass-button/reset-pass-button.d.ts +13 -4
  589. package/dist/types/auth/components/social-logins/social-login-button.d.ts +11 -7
  590. package/dist/types/components.d.ts +73 -0
  591. package/dist/types/logger.d.ts +0 -34
  592. package/dist/types/newsletter/components/logout-button/logout-button.d.ts +13 -4
  593. package/dist/types/newsletter/components/newsletter-root/newsletter-root.d.ts +16 -2
  594. package/dist/types/newsletter/newsletter-helpers.d.ts +8 -2
  595. package/dist/types/newsletter/store/newsletter-store.d.ts +8 -1
  596. package/dist/types/profile/api/profile.d.ts +2 -2
  597. package/dist/types/profile/api/schemas.d.ts +21 -21
  598. package/dist/types/profile/components/raw-field/raw-field.d.ts +14 -2
  599. package/dist/types/shared/base/component.d.ts +46 -0
  600. package/dist/types/shared/base/has-slot-content.d.ts +10 -0
  601. package/dist/types/shared/component-utils.d.ts +20 -12
  602. package/dist/types/shared/components/conditional-render/conditional-render.d.ts +7 -2
  603. package/dist/types/shared/components/config/config.d.ts +7 -2
  604. package/dist/types/shared/components/error-message/error-message.d.ts +14 -2
  605. package/dist/types/shared/components/submit-button/submit-button.d.ts +13 -4
  606. package/dist/types/shared/context-utils.d.ts +73 -0
  607. package/dist/types/shared/utils/redirect-with-token.d.ts +21 -0
  608. package/dist/types/shared/utils/url-utils.d.ts +16 -0
  609. package/dist/types/ticketable/api/schemas.d.ts +16 -2
  610. package/dist/types/ticketable/api/subscriptions.d.ts +8 -3
  611. package/dist/types/ticketable/api/tickets.d.ts +8 -3
  612. package/dist/types/ticketable/components/pagination/pagination-button.d.ts +8 -4
  613. package/dist/types/ticketable/components/pagination/pagination-page.d.ts +8 -4
  614. package/dist/types/ticketable/components/ticketable-export/ticketable-export.d.ts +24 -0
  615. package/dist/types/ticketable/components/ticketable-list/ticketable-list.d.ts +10 -4
  616. package/dist/types/ticketable/index.d.ts +1 -0
  617. package/package.json +6 -2
  618. package/readme.md +248 -27
  619. package/dist/cjs/app-globals-hdkLqF51.js +0 -10
  620. package/dist/cjs/app-globals-hdkLqF51.js.map +0 -1
  621. package/dist/cjs/component-utils-bu3SY4dE.js +0 -42
  622. package/dist/cjs/component-utils-bu3SY4dE.js.map +0 -1
  623. package/dist/cjs/index-B325yXfO.js.map +0 -1
  624. package/dist/cjs/index-BzPYBLYC.js.map +0 -1
  625. package/dist/cjs/newsletter-helpers-hdDC5X-V.js.map +0 -1
  626. package/dist/cjs/newsletter-store-CupsLgO9.js.map +0 -1
  627. package/dist/cjs/pagination-store-zo48QpTm.js +0 -16
  628. package/dist/cjs/pagination-store-zo48QpTm.js.map +0 -1
  629. package/dist/components/pagination-store.js +0 -14
  630. package/dist/components/pagination-store.js.map +0 -1
  631. package/dist/esm/app-globals-iHhGdwBB.js +0 -8
  632. package/dist/esm/app-globals-iHhGdwBB.js.map +0 -1
  633. package/dist/esm/component-utils-BGq0leDV.js +0 -39
  634. package/dist/esm/component-utils-BGq0leDV.js.map +0 -1
  635. package/dist/esm/index-BVlbCQEX.js.map +0 -1
  636. package/dist/esm/index-FTKB5a1d.js.map +0 -1
  637. package/dist/esm/newsletter-helpers-fCpxzovf.js.map +0 -1
  638. package/dist/esm/newsletter-store-BB618FgS.js.map +0 -1
  639. package/dist/esm/pagination-store-DxmcQH8R.js +0 -14
  640. package/dist/esm/pagination-store-DxmcQH8R.js.map +0 -1
  641. package/dist/sdk/p-1a8973a6.entry.js +0 -2
  642. package/dist/sdk/p-35ad60ab.entry.js +0 -2
  643. package/dist/sdk/p-35ad60ab.entry.js.map +0 -1
  644. package/dist/sdk/p-3f352f38.entry.js +0 -2
  645. package/dist/sdk/p-3f352f38.entry.js.map +0 -1
  646. package/dist/sdk/p-468aaf62.entry.js +0 -2
  647. package/dist/sdk/p-468aaf62.entry.js.map +0 -1
  648. package/dist/sdk/p-4e2e6a13.entry.js +0 -2
  649. package/dist/sdk/p-4e2e6a13.entry.js.map +0 -1
  650. package/dist/sdk/p-57c8dc68.entry.js +0 -2
  651. package/dist/sdk/p-57c8dc68.entry.js.map +0 -1
  652. package/dist/sdk/p-594aec0c.entry.js +0 -2
  653. package/dist/sdk/p-594aec0c.entry.js.map +0 -1
  654. package/dist/sdk/p-60c8be64.entry.js +0 -2
  655. package/dist/sdk/p-60c8be64.entry.js.map +0 -1
  656. package/dist/sdk/p-760718d3.entry.js +0 -2
  657. package/dist/sdk/p-760718d3.entry.js.map +0 -1
  658. package/dist/sdk/p-77f541f3.entry.js +0 -2
  659. package/dist/sdk/p-77f541f3.entry.js.map +0 -1
  660. package/dist/sdk/p-830778eb.entry.js +0 -2
  661. package/dist/sdk/p-8839648e.entry.js +0 -2
  662. package/dist/sdk/p-8839648e.entry.js.map +0 -1
  663. package/dist/sdk/p-B6MYe-dh.js +0 -2
  664. package/dist/sdk/p-B6MYe-dh.js.map +0 -1
  665. package/dist/sdk/p-BGq0leDV.js +0 -2
  666. package/dist/sdk/p-BGq0leDV.js.map +0 -1
  667. package/dist/sdk/p-C_UZBwdm.js +0 -2
  668. package/dist/sdk/p-C_UZBwdm.js.map +0 -1
  669. package/dist/sdk/p-CbazSxaZ.js +0 -2
  670. package/dist/sdk/p-CbazSxaZ.js.map +0 -1
  671. package/dist/sdk/p-DCG3L43i.js +0 -2
  672. package/dist/sdk/p-DEUPZOH-.js +0 -2
  673. package/dist/sdk/p-DEUPZOH-.js.map +0 -1
  674. package/dist/sdk/p-DSktNM_k.js +0 -2
  675. package/dist/sdk/p-FTKB5a1d.js +0 -14
  676. package/dist/sdk/p-FTKB5a1d.js.map +0 -1
  677. package/dist/sdk/p-a7ffcff9.entry.js +0 -2
  678. package/dist/sdk/p-a7ffcff9.entry.js.map +0 -1
  679. package/dist/sdk/p-acaba1d5.entry.js +0 -2
  680. package/dist/sdk/p-acaba1d5.entry.js.map +0 -1
  681. package/dist/sdk/p-ae47a7a3.entry.js +0 -2
  682. package/dist/sdk/p-ae47a7a3.entry.js.map +0 -1
  683. package/dist/sdk/p-aec580e4.entry.js +0 -2
  684. package/dist/sdk/p-aec580e4.entry.js.map +0 -1
  685. package/dist/sdk/p-b63438ff.entry.js +0 -2
  686. package/dist/sdk/p-b63438ff.entry.js.map +0 -1
  687. package/dist/sdk/p-baaaa7f5.entry.js +0 -2
  688. package/dist/sdk/p-baaaa7f5.entry.js.map +0 -1
  689. package/dist/sdk/p-bba2da84.entry.js +0 -2
  690. package/dist/sdk/p-bba2da84.entry.js.map +0 -1
  691. package/dist/sdk/p-bc47f42b.entry.js +0 -2
  692. package/dist/sdk/p-bc47f42b.entry.js.map +0 -1
  693. package/dist/sdk/p-bd51e26f.entry.js +0 -2
  694. package/dist/sdk/p-bd51e26f.entry.js.map +0 -1
  695. package/dist/sdk/p-c3552f75.entry.js +0 -2
  696. package/dist/sdk/p-c3552f75.entry.js.map +0 -1
  697. package/dist/sdk/p-d9900482.entry.js +0 -2
  698. package/dist/sdk/p-d9900482.entry.js.map +0 -1
  699. package/dist/sdk/p-e6796c38.entry.js +0 -2
  700. package/dist/sdk/p-e6796c38.entry.js.map +0 -1
  701. package/dist/sdk/p-f272eb38.entry.js +0 -2
  702. package/dist/sdk/p-f272eb38.entry.js.map +0 -1
  703. package/dist/sdk/p-f4a47ef8.entry.js +0 -2
  704. package/dist/sdk/p-f4a47ef8.entry.js.map +0 -1
  705. package/dist/sdk/p-f608e64a.entry.js +0 -2
  706. package/dist/sdk/p-f608e64a.entry.js.map +0 -1
  707. package/dist/sdk/p-f762ac70.entry.js +0 -2
  708. package/dist/sdk/p-f762ac70.entry.js.map +0 -1
  709. package/dist/sdk/p-l6NinBiD.js +0 -2
  710. package/dist/sdk/p-l6NinBiD.js.map +0 -1
  711. /package/dist/sdk/{p-88beb872.entry.js.map → p-8412762c.entry.js.map} +0 -0
  712. /package/dist/sdk/{p-bcca06f1.entry.js.map → p-96860b09.entry.js.map} +0 -0
  713. /package/dist/sdk/{p-7ee2f2ab.entry.js.map → p-ac3a6bbf.entry.js.map} +0 -0
  714. /package/dist/sdk/{p-6b061b18.entry.js.map → p-b99588a8.entry.js.map} +0 -0
  715. /package/dist/sdk/{p-10e20afd.entry.js.map → p-c2634439.entry.js.map} +0 -0
@@ -1,20 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-B325yXfO.js');
4
- var index$1 = require('./index-BzPYBLYC.js');
5
- var authStore = require('./auth-store-DPmGKHZ2.js');
6
- var unidyStore = require('./unidy-store-BGnWn9pc.js');
7
- var i18n = require('./i18n-D5j_Zl-4.js');
8
- require('./profile-store-C_q-TuA_.js');
9
- require('./index-yaeiYlfa.js');
10
- require('./component-utils-bu3SY4dE.js');
11
- require('./flash-store-gbSYhPAV.js');
3
+ var index = require('./index-2Fz3r5o0.js');
4
+ var index$1 = require('./index-CpPKy1CZ.js');
5
+ var i18n = require('./i18n-ClWrNmGh.js');
6
+ var component = require('./component-DLxnZCW6.js');
7
+ var hasSlotContent = require('./has-slot-content-CfJbU4t-.js');
8
+ var componentUtils = require('./component-utils-XXctnOM9.js');
9
+ var redirectWithToken = require('./redirect-with-token-wupYX97S.js');
10
+ var authStore = require('./auth-store-0vv3uOib.js');
11
+ require('./profile-store-CQEQhPQD.js');
12
+ require('./index-C6ZBKFYr.js');
13
+ require('./unidy-store-Bvnl24i9.js');
14
+ require('./flash-store-CR6Umh1O.js');
12
15
 
13
- const JumpToService = class {
16
+ const JumpToService = class extends component.UnidyComponent(hasSlotContent.HasSlotContent) {
14
17
  constructor(hostRef) {
18
+ super();
15
19
  index.registerInstance(this, hostRef);
16
20
  }
17
- get el() { return index.getElement(this); }
18
21
  /**
19
22
  * The OAuth Application ID (service ID) to jump to.
20
23
  * @example "2"
@@ -44,18 +47,6 @@ const JumpToService = class {
44
47
  */
45
48
  skipOauthAuthorization = false;
46
49
  loading = false;
47
- // TODO: Figure out a way to share this across components
48
- unsubscribe;
49
- connectedCallback() {
50
- this.unsubscribe = authStore.authStoreOnChange("authenticated", () => {
51
- index.forceUpdate(this);
52
- });
53
- }
54
- disconnectedCallback() {
55
- if (this.unsubscribe) {
56
- this.unsubscribe();
57
- }
58
- }
59
50
  handleClick = async (event) => {
60
51
  event.preventDefault();
61
52
  if (!this.serviceId) {
@@ -63,21 +54,19 @@ const JumpToService = class {
63
54
  return;
64
55
  }
65
56
  const auth = await index$1.Auth.getInstance();
66
- const isAuthenticated = await auth.isAuthenticated();
67
- if (!isAuthenticated) {
57
+ if (!(await auth.isAuthenticated())) {
68
58
  console.error("[u-jump-to-service] User is not authenticated. Please log in first.");
69
59
  return;
70
60
  }
71
61
  const userData = await auth.userData();
72
- if (!userData || !userData.email) {
62
+ if (!userData?.email) {
73
63
  console.error("Failed to get user email from authentication token");
74
64
  return;
75
65
  }
76
66
  this.loading = true;
77
67
  try {
78
68
  const client = index$1.getUnidyClient();
79
- // Parse scopes if provided
80
- const scopesArray = this.scopes ? this.scopes.split(",").map((s) => s.trim()) : undefined;
69
+ const scopesArray = this.scopes?.split(",").map((s) => s.trim());
81
70
  const [error, token] = await client.auth.jumpToService(this.serviceId, {
82
71
  email: userData.email,
83
72
  redirect_uri: this.redirectUri,
@@ -86,22 +75,13 @@ const JumpToService = class {
86
75
  });
87
76
  if (error) {
88
77
  console.error("Failed to get jump token:", error);
89
- this.loading = false;
90
78
  return;
91
79
  }
92
- const redirectUrl = new URL("/one_time_login", unidyStore.unidyState.baseUrl);
93
- // @ts-expect-error - TOKEN IS A STRING, BUT we need to enable strict for it to work
94
- redirectUrl.searchParams.set("token", token);
95
- if (this.redirectUri) {
96
- redirectUrl.searchParams.set("redirect_uri", this.redirectUri);
97
- }
98
- const finalUrl = redirectUrl.toString();
99
- if (this.newtab) {
100
- window.open(finalUrl, "_blank");
101
- }
102
- else {
103
- window.location.href = finalUrl;
104
- }
80
+ redirectWithToken.redirectWithToken({
81
+ token: token,
82
+ newTab: this.newtab,
83
+ extraParams: this.redirectUri ? { redirect_uri: this.redirectUri } : undefined,
84
+ });
105
85
  }
106
86
  catch (error) {
107
87
  console.error("Error jumping to service:", error);
@@ -114,8 +94,7 @@ const JumpToService = class {
114
94
  return !authStore.state.authenticated || this.loading || !this.serviceId;
115
95
  }
116
96
  render() {
117
- const hasSlot = this.el.childNodes.length > 0;
118
- return (index.h("button", { key: '3f0526c3a12b73cada7b044dfe55fd74757031cf', type: "button", disabled: this.isDisabled(), class: this.componentClassName, onClick: this.handleClick, "aria-live": "polite" }, this.loading ? index.h("u-spinner", null) : hasSlot ? index.h("slot", null) : i18n.t("buttons.jump_to_service")));
97
+ return (index.h("button", { key: 'dc593d260c7b74bbfa108c1201b02c1ed7a414c0', type: "button", disabled: this.isDisabled(), class: this.componentClassName, onClick: this.handleClick, "aria-live": "polite" }, componentUtils.slotFallbackText(i18n.t("buttons.jump_to_service"), { hasSlot: this.hasSlot, loading: this.loading })));
119
98
  }
120
99
  };
121
100
 
@@ -1 +1 @@
1
- {"version":3,"file":"u-jump-to-service.entry.cjs.js","sources":["src/auth/components/jump-to-service/jump-to-service.tsx"],"sourcesContent":["import { Component, h, Prop, State, forceUpdate, Element } from \"@stencil/core\";\nimport { Auth } from \"../../auth\";\nimport { authState, onChange } from \"../../store/auth-store\";\nimport { getUnidyClient } from \"../../../api\";\nimport { unidyState } from \"../../../shared/store/unidy-store\";\nimport { t } from \"../../../i18n\";\n\n@Component({\n tag: \"u-jump-to-service\",\n shadow: false,\n})\nexport class JumpToService {\n @Element() el!: HTMLElement;\n\n /**\n * The OAuth Application ID (service ID) to jump to.\n * @example \"2\"\n */\n @Prop({ attribute: \"service-id\" }) serviceId!: string;\n\n /**\n * If true, opens the URL in a new tab. Defaults to false.\n */\n @Prop() newtab = false;\n\n /**\n * Custom CSS class name(s) to apply to the button element.\n */\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n /**\n * Optional redirect URI for the OAuth flow.\n * Must match one of the application's allowed redirect URIs.\n */\n @Prop({ attribute: \"redirect-uri\" }) redirectUri?: string;\n\n /**\n * Comma-separated list of OAuth scopes to request.\n * Defaults to [\"openid\"] if not provided.\n * @example \"openid,profile\"\n */\n @Prop() scopes?: string;\n\n /**\n * If true, skips the OAuth authorization step (if already authorized once). Defaults to false.\n */\n @Prop({ attribute: \"skip-oauth-authorization\" }) skipOauthAuthorization = false;\n\n @State() loading = false;\n\n // TODO: Figure out a way to share this across components\n private unsubscribe?: () => void;\n\n connectedCallback() {\n this.unsubscribe = onChange(\"authenticated\", () => {\n forceUpdate(this);\n });\n }\n\n disconnectedCallback() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n }\n\n private handleClick = async (event: Event) => {\n event.preventDefault();\n\n if (!this.serviceId) {\n console.error(\"[u-jump-to-service] service-id is required\");\n return;\n }\n\n const auth = await Auth.getInstance();\n const isAuthenticated = await auth.isAuthenticated();\n\n if (!isAuthenticated) {\n console.error(\"[u-jump-to-service] User is not authenticated. Please log in first.\");\n return;\n }\n\n const userData = await auth.userData();\n if (!userData || !userData.email) {\n console.error(\"Failed to get user email from authentication token\");\n return;\n }\n\n this.loading = true;\n\n try {\n const client = getUnidyClient();\n\n // Parse scopes if provided\n const scopesArray = this.scopes ? this.scopes.split(\",\").map((s) => s.trim()) : undefined;\n\n const [error, token] = await client.auth.jumpToService(this.serviceId, {\n email: userData.email,\n redirect_uri: this.redirectUri,\n scopes: scopesArray,\n skip_oauth_authorization: this.skipOauthAuthorization,\n });\n\n if (error) {\n console.error(\"Failed to get jump token:\", error);\n this.loading = false;\n return;\n }\n\n const redirectUrl = new URL(\"/one_time_login\", unidyState.baseUrl);\n // @ts-expect-error - TOKEN IS A STRING, BUT we need to enable strict for it to work\n redirectUrl.searchParams.set(\"token\", token);\n if (this.redirectUri) {\n redirectUrl.searchParams.set(\"redirect_uri\", this.redirectUri);\n }\n\n const finalUrl = redirectUrl.toString();\n\n if (this.newtab) {\n window.open(finalUrl, \"_blank\");\n } else {\n window.location.href = finalUrl;\n }\n } catch (error) {\n console.error(\"Error jumping to service:\", error);\n } finally {\n this.loading = false;\n }\n };\n\n private isDisabled(): boolean {\n return !authState.authenticated || this.loading || !this.serviceId;\n }\n\n render() {\n const hasSlot = this.el.childNodes.length > 0;\n return (\n <button type=\"button\" disabled={this.isDisabled()} class={this.componentClassName} onClick={this.handleClick} aria-live=\"polite\">\n {this.loading ? <u-spinner /> : hasSlot ? <slot /> : t(\"buttons.jump_to_service\")}\n </button>\n );\n }\n}\n"],"names":["onChange","forceUpdate","Auth","getUnidyClient","unidyState","authState","h","t"],"mappings":"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"}
1
+ {"version":3,"file":"u-jump-to-service.entry.cjs.js","sources":["src/auth/components/jump-to-service/jump-to-service.tsx"],"sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { getUnidyClient } from \"../../../api\";\nimport { t } from \"../../../i18n\";\nimport { UnidyComponent } from \"../../../shared/base/component\";\nimport { HasSlotContent } from \"../../../shared/base/has-slot-content\";\nimport { slotFallbackText } from \"../../../shared/component-utils\";\nimport { redirectWithToken } from \"../../../shared/utils/redirect-with-token\";\nimport { Auth } from \"../../auth\";\nimport { authState } from \"../../store/auth-store\";\n\n@Component({\n tag: \"u-jump-to-service\",\n shadow: false,\n})\nexport class JumpToService extends UnidyComponent(HasSlotContent) {\n /**\n * The OAuth Application ID (service ID) to jump to.\n * @example \"2\"\n */\n @Prop({ attribute: \"service-id\" }) serviceId!: string;\n\n /**\n * If true, opens the URL in a new tab. Defaults to false.\n */\n @Prop() newtab = false;\n\n /**\n * Custom CSS class name(s) to apply to the button element.\n */\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n /**\n * Optional redirect URI for the OAuth flow.\n * Must match one of the application's allowed redirect URIs.\n */\n @Prop({ attribute: \"redirect-uri\" }) redirectUri?: string;\n\n /**\n * Comma-separated list of OAuth scopes to request.\n * Defaults to [\"openid\"] if not provided.\n * @example \"openid,profile\"\n */\n @Prop() scopes?: string;\n\n /**\n * If true, skips the OAuth authorization step (if already authorized once). Defaults to false.\n */\n @Prop({ attribute: \"skip-oauth-authorization\" }) skipOauthAuthorization = false;\n\n @State() loading = false;\n\n private handleClick = async (event: Event) => {\n event.preventDefault();\n\n if (!this.serviceId) {\n console.error(\"[u-jump-to-service] service-id is required\");\n return;\n }\n\n const auth = await Auth.getInstance();\n if (!(await auth.isAuthenticated())) {\n console.error(\"[u-jump-to-service] User is not authenticated. Please log in first.\");\n return;\n }\n\n const userData = await auth.userData();\n if (!userData?.email) {\n console.error(\"Failed to get user email from authentication token\");\n return;\n }\n\n this.loading = true;\n\n try {\n const client = getUnidyClient();\n const scopesArray = this.scopes?.split(\",\").map((s) => s.trim());\n\n const [error, token] = await client.auth.jumpToService(this.serviceId, {\n email: userData.email,\n redirect_uri: this.redirectUri,\n scopes: scopesArray,\n skip_oauth_authorization: this.skipOauthAuthorization,\n });\n\n if (error) {\n console.error(\"Failed to get jump token:\", error);\n return;\n }\n\n redirectWithToken({\n token: token as string,\n newTab: this.newtab,\n extraParams: this.redirectUri ? { redirect_uri: this.redirectUri } : undefined,\n });\n } catch (error) {\n console.error(\"Error jumping to service:\", error);\n } finally {\n this.loading = false;\n }\n };\n\n private isDisabled(): boolean {\n return !authState.authenticated || this.loading || !this.serviceId;\n }\n\n render() {\n return (\n <button type=\"button\" disabled={this.isDisabled()} class={this.componentClassName} onClick={this.handleClick} aria-live=\"polite\">\n {slotFallbackText(t(\"buttons.jump_to_service\"), { hasSlot: this.hasSlot, loading: this.loading })}\n </button>\n );\n }\n}\n"],"names":["UnidyComponent","HasSlotContent","Auth","getUnidyClient","redirectWithToken","authState","h","slotFallbackText","t"],"mappings":";;;;;;;;;;;;;;;AAca,MAAA,aAAc,GAAA,cAAQA,wBAAc,CAACC,6BAAc,CAAC,CAAA;;;;;AAC/D;;;AAGG;AACgC,IAAA,SAAS;AAE5C;;AAEG;IACK,MAAM,GAAG,KAAK;AAEtB;;AAEG;IACgC,kBAAkB,GAAG,EAAE;AAE1D;;;AAGG;AACkC,IAAA,WAAW;AAEhD;;;;AAIG;AACK,IAAA,MAAM;AAEd;;AAEG;IAC8C,sBAAsB,GAAG,KAAK;IAEtE,OAAO,GAAG,KAAK;AAEhB,IAAA,WAAW,GAAG,OAAO,KAAY,KAAI;QAC3C,KAAK,CAAC,cAAc,EAAE;AAEtB,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;AACnB,YAAA,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC;YAC3D;;AAGF,QAAA,MAAM,IAAI,GAAG,MAAMC,YAAI,CAAC,WAAW,EAAE;QACrC,IAAI,EAAE,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE;AACnC,YAAA,OAAO,CAAC,KAAK,CAAC,qEAAqE,CAAC;YACpF;;AAGF,QAAA,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE;AACtC,QAAA,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE;AACpB,YAAA,OAAO,CAAC,KAAK,CAAC,oDAAoD,CAAC;YACnE;;AAGF,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI;AAEnB,QAAA,IAAI;AACF,YAAA,MAAM,MAAM,GAAGC,sBAAc,EAAE;YAC/B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;AAEhE,YAAA,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE;gBACrE,KAAK,EAAE,QAAQ,CAAC,KAAK;gBACrB,YAAY,EAAE,IAAI,CAAC,WAAW;AAC9B,gBAAA,MAAM,EAAE,WAAW;gBACnB,wBAAwB,EAAE,IAAI,CAAC,sBAAsB;AACtD,aAAA,CAAC;YAEF,IAAI,KAAK,EAAE;AACT,gBAAA,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC;gBACjD;;AAGF,YAAAC,mCAAiB,CAAC;AAChB,gBAAA,KAAK,EAAE,KAAe;gBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;AACnB,gBAAA,WAAW,EAAE,IAAI,CAAC,WAAW,GAAG,EAAE,YAAY,EAAE,IAAI,CAAC,WAAW,EAAE,GAAG,SAAS;AAC/E,aAAA,CAAC;;QACF,OAAO,KAAK,EAAE;AACd,YAAA,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC;;gBACzC;AACR,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK;;AAExB,KAAC;IAEO,UAAU,GAAA;AAChB,QAAA,OAAO,CAACC,eAAS,CAAC,aAAa,IAAI,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS;;IAGpE,MAAM,GAAA;AACJ,QAAA,QACEC,qEAAQ,IAAI,EAAC,QAAQ,EAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,EAAA,WAAA,EAAY,QAAQ,EAC7H,EAAAC,+BAAgB,CAACC,MAAC,CAAC,yBAAyB,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAC1F;;;;;;"}
@@ -1,20 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-B325yXfO.js');
4
- var index$1 = require('./index-BzPYBLYC.js');
5
- var authStore = require('./auth-store-DPmGKHZ2.js');
6
- var unidyStore = require('./unidy-store-BGnWn9pc.js');
7
- var i18n = require('./i18n-D5j_Zl-4.js');
8
- require('./profile-store-C_q-TuA_.js');
9
- require('./index-yaeiYlfa.js');
10
- require('./component-utils-bu3SY4dE.js');
11
- require('./flash-store-gbSYhPAV.js');
3
+ var index = require('./index-2Fz3r5o0.js');
4
+ var index$1 = require('./index-CpPKy1CZ.js');
5
+ var i18n = require('./i18n-ClWrNmGh.js');
6
+ var component = require('./component-DLxnZCW6.js');
7
+ var hasSlotContent = require('./has-slot-content-CfJbU4t-.js');
8
+ var componentUtils = require('./component-utils-XXctnOM9.js');
9
+ var unidyStore = require('./unidy-store-Bvnl24i9.js');
10
+ var redirectWithToken = require('./redirect-with-token-wupYX97S.js');
11
+ var authStore = require('./auth-store-0vv3uOib.js');
12
+ require('./profile-store-CQEQhPQD.js');
13
+ require('./index-C6ZBKFYr.js');
14
+ require('./flash-store-CR6Umh1O.js');
12
15
 
13
- const JumpToUnidy = class {
16
+ const JumpToUnidy = class extends component.UnidyComponent(hasSlotContent.HasSlotContent) {
14
17
  constructor(hostRef) {
18
+ super();
15
19
  index.registerInstance(this, hostRef);
16
20
  }
17
- get el() { return index.getElement(this); }
18
21
  /**
19
22
  * The Unidy path to redirect to. Must start with "/".
20
23
  * @example "/subscriptions"
@@ -35,11 +38,6 @@ const JumpToUnidy = class {
35
38
  */
36
39
  componentClassName = "";
37
40
  loading = false;
38
- unsubscribe;
39
- /**
40
- * Validates that the path prop is valid (not empty and starts with "/").
41
- * @returns true if path is valid, false otherwise
42
- */
43
41
  isValidPath() {
44
42
  return !!this.path && this.path.startsWith("/");
45
43
  }
@@ -48,17 +46,6 @@ const JumpToUnidy = class {
48
46
  console.error(`[u-jump-to-unidy] Invalid path prop: "${this.path}". Path must be provided and start with "/".`);
49
47
  }
50
48
  }
51
- // TODO: Figure out a way to share this across components
52
- connectedCallback() {
53
- this.unsubscribe = authStore.authStoreOnChange("authenticated", () => {
54
- index.forceUpdate(this);
55
- });
56
- }
57
- disconnectedCallback() {
58
- if (this.unsubscribe) {
59
- this.unsubscribe();
60
- }
61
- }
62
49
  handleClick = async (event) => {
63
50
  event.preventDefault();
64
51
  if (!this.isValidPath()) {
@@ -77,13 +64,12 @@ const JumpToUnidy = class {
77
64
  return;
78
65
  }
79
66
  const auth = await index$1.Auth.getInstance();
80
- const isAuthenticated = await auth.isAuthenticated();
81
- if (!isAuthenticated) {
67
+ if (!(await auth.isAuthenticated())) {
82
68
  console.error("[u-jump-to-unidy] User is not authenticated. Please log in first.");
83
69
  return;
84
70
  }
85
71
  const userData = await auth.userData();
86
- if (!userData || !userData.email) {
72
+ if (!userData?.email) {
87
73
  console.error("Failed to get user email from authentication token");
88
74
  return;
89
75
  }
@@ -96,19 +82,13 @@ const JumpToUnidy = class {
96
82
  });
97
83
  if (error) {
98
84
  console.error("Failed to get jump token:", error);
99
- this.loading = false;
100
85
  return;
101
86
  }
102
- const redirectUrl = new URL("/one_time_login", unidyStore.unidyState.baseUrl);
103
- // @ts-expect-error - TOKEN IS A STRING, BUT we need to enable strict for it to work
104
- redirectUrl.searchParams.set("token", token);
105
- const finalUrl = redirectUrl.toString();
106
- if (this.newtab) {
107
- window.open(finalUrl, "_blank");
108
- }
109
- else {
110
- window.location.href = finalUrl;
111
- }
87
+ redirectWithToken.redirectWithToken({
88
+ // @ts-expect-error - TOKEN IS A STRING, BUT we need to enable strict for it to work
89
+ token,
90
+ newTab: this.newtab,
91
+ });
112
92
  }
113
93
  catch (error) {
114
94
  console.error("Error jumping to Unidy:", error);
@@ -124,8 +104,7 @@ const JumpToUnidy = class {
124
104
  return !authStore.state.authenticated || this.loading || !this.isValidPath();
125
105
  }
126
106
  render() {
127
- const hasSlot = this.el.childNodes.length > 0;
128
- return (index.h("button", { key: 'bcf35a95e8ea304da27320e6f4406dd57e94aaf7', type: "button", disabled: this.isDisabled(), class: this.componentClassName, onClick: this.handleClick, "aria-live": "polite" }, this.loading ? index.h("u-spinner", null) : hasSlot ? index.h("slot", null) : i18n.t("buttons.jump_to_unidy")));
107
+ return (index.h("button", { key: 'b5747e752d731be9281f82ca0487841ee7baf2d3', type: "button", disabled: this.isDisabled(), class: this.componentClassName, onClick: this.handleClick, "aria-live": "polite" }, componentUtils.slotFallbackText(i18n.t("buttons.jump_to_unidy"), { hasSlot: this.hasSlot, loading: this.loading })));
129
108
  }
130
109
  };
131
110
 
@@ -1 +1 @@
1
- {"version":3,"file":"u-jump-to-unidy.entry.cjs.js","sources":["src/auth/components/jump-to-unidy/jump-to-unidy.tsx"],"sourcesContent":["import { Component, h, Prop, State, forceUpdate, Element } from \"@stencil/core\";\nimport { Auth } from \"../../auth\";\nimport { authState, onChange } from \"../../store/auth-store\";\nimport { getUnidyClient } from \"../../../api\";\nimport { unidyState } from \"../../../shared/store/unidy-store\";\nimport { t } from \"../../../i18n\";\n\n@Component({\n tag: \"u-jump-to-unidy\",\n shadow: false,\n})\nexport class JumpToUnidy {\n @Element() el!: HTMLElement;\n\n /**\n * The Unidy path to redirect to. Must start with \"/\".\n * @example \"/subscriptions\"\n * @example \"/tickets\"\n */\n @Prop() path!: string;\n\n /**\n * If true, opens the URL in a new tab. Defaults to false.\n */\n @Prop() newtab = false;\n\n /**\n * If true, skips authentication and redirects directly to the Unidy path.\n * Useful for public pages like terms of service.\n */\n @Prop({ attribute: \"no-auth\" }) noAuth = false;\n\n /**\n * Custom CSS class name(s) to apply to the button element.\n */\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n @State() loading = false;\n private unsubscribe?: () => void;\n\n /**\n * Validates that the path prop is valid (not empty and starts with \"/\").\n * @returns true if path is valid, false otherwise\n */\n private isValidPath(): boolean {\n return !!this.path && this.path.startsWith(\"/\");\n }\n\n componentWillLoad() {\n if (!this.isValidPath()) {\n console.error(`[u-jump-to-unidy] Invalid path prop: \"${this.path}\". Path must be provided and start with \"/\".`);\n }\n }\n\n // TODO: Figure out a way to share this across components\n connectedCallback() {\n this.unsubscribe = onChange(\"authenticated\", () => {\n forceUpdate(this);\n });\n }\n\n disconnectedCallback() {\n if (this.unsubscribe) {\n this.unsubscribe();\n }\n }\n\n private handleClick = async (event: Event) => {\n event.preventDefault();\n\n if (!this.isValidPath()) {\n console.error(`[u-jump-to-unidy] Invalid path: \"${this.path}\". Path must be provided and start with \"/\".`);\n return;\n }\n\n // If no-auth mode, redirect directly to the path without authentication\n if (this.noAuth) {\n const finalUrl = new URL(this.path, unidyState.baseUrl).toString();\n if (this.newtab) {\n window.open(finalUrl, \"_blank\");\n } else {\n window.location.href = finalUrl;\n }\n return;\n }\n\n const auth = await Auth.getInstance();\n const isAuthenticated = await auth.isAuthenticated();\n\n if (!isAuthenticated) {\n console.error(\"[u-jump-to-unidy] User is not authenticated. Please log in first.\");\n return;\n }\n\n const userData = await auth.userData();\n if (!userData || !userData.email) {\n console.error(\"Failed to get user email from authentication token\");\n return;\n }\n\n this.loading = true;\n\n try {\n const client = getUnidyClient();\n\n const [error, token] = await client.auth.jumpToUnidy({\n email: userData.email,\n path: this.path,\n });\n\n if (error) {\n console.error(\"Failed to get jump token:\", error);\n this.loading = false;\n return;\n }\n\n const redirectUrl = new URL(\"/one_time_login\", unidyState.baseUrl);\n // @ts-expect-error - TOKEN IS A STRING, BUT we need to enable strict for it to work\n redirectUrl.searchParams.set(\"token\", token);\n\n const finalUrl = redirectUrl.toString();\n\n if (this.newtab) {\n window.open(finalUrl, \"_blank\");\n } else {\n window.location.href = finalUrl;\n }\n } catch (error) {\n console.error(\"Error jumping to Unidy:\", error);\n } finally {\n this.loading = false;\n }\n };\n\n private isDisabled(): boolean {\n if (this.noAuth) {\n return this.loading || !this.isValidPath();\n }\n return !authState.authenticated || this.loading || !this.isValidPath();\n }\n\n render() {\n const hasSlot = this.el.childNodes.length > 0;\n return (\n <button type=\"button\" disabled={this.isDisabled()} class={this.componentClassName} onClick={this.handleClick} aria-live=\"polite\">\n {this.loading ? <u-spinner /> : hasSlot ? <slot /> : t(\"buttons.jump_to_unidy\")}\n </button>\n );\n }\n}\n"],"names":["onChange","forceUpdate","unidyState","Auth","getUnidyClient","authState","h","t"],"mappings":"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"}
1
+ {"version":3,"file":"u-jump-to-unidy.entry.cjs.js","sources":["src/auth/components/jump-to-unidy/jump-to-unidy.tsx"],"sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { getUnidyClient } from \"../../../api\";\nimport { t } from \"../../../i18n\";\nimport { UnidyComponent } from \"../../../shared/base/component\";\nimport { HasSlotContent } from \"../../../shared/base/has-slot-content\";\nimport { slotFallbackText } from \"../../../shared/component-utils\";\nimport { unidyState } from \"../../../shared/store/unidy-store\";\nimport { redirectWithToken } from \"../../../shared/utils/redirect-with-token\";\nimport { Auth } from \"../../auth\";\nimport { authState } from \"../../store/auth-store\";\n\n@Component({\n tag: \"u-jump-to-unidy\",\n shadow: false,\n})\nexport class JumpToUnidy extends UnidyComponent(HasSlotContent) {\n /**\n * The Unidy path to redirect to. Must start with \"/\".\n * @example \"/subscriptions\"\n * @example \"/tickets\"\n */\n @Prop() path!: string;\n\n /**\n * If true, opens the URL in a new tab. Defaults to false.\n */\n @Prop() newtab = false;\n\n /**\n * If true, skips authentication and redirects directly to the Unidy path.\n * Useful for public pages like terms of service.\n */\n @Prop({ attribute: \"no-auth\" }) noAuth = false;\n\n /**\n * Custom CSS class name(s) to apply to the button element.\n */\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n @State() loading = false;\n\n private isValidPath(): boolean {\n return !!this.path && this.path.startsWith(\"/\");\n }\n\n componentWillLoad() {\n if (!this.isValidPath()) {\n console.error(`[u-jump-to-unidy] Invalid path prop: \"${this.path}\". Path must be provided and start with \"/\".`);\n }\n }\n\n private handleClick = async (event: Event) => {\n event.preventDefault();\n\n if (!this.isValidPath()) {\n console.error(`[u-jump-to-unidy] Invalid path: \"${this.path}\". Path must be provided and start with \"/\".`);\n return;\n }\n\n // If no-auth mode, redirect directly to the path without authentication\n if (this.noAuth) {\n const finalUrl = new URL(this.path, unidyState.baseUrl).toString();\n if (this.newtab) {\n window.open(finalUrl, \"_blank\");\n } else {\n window.location.href = finalUrl;\n }\n return;\n }\n\n const auth = await Auth.getInstance();\n if (!(await auth.isAuthenticated())) {\n console.error(\"[u-jump-to-unidy] User is not authenticated. Please log in first.\");\n return;\n }\n\n const userData = await auth.userData();\n if (!userData?.email) {\n console.error(\"Failed to get user email from authentication token\");\n return;\n }\n\n this.loading = true;\n\n try {\n const client = getUnidyClient();\n const [error, token] = await client.auth.jumpToUnidy({\n email: userData.email,\n path: this.path,\n });\n\n if (error) {\n console.error(\"Failed to get jump token:\", error);\n return;\n }\n\n redirectWithToken({\n // @ts-expect-error - TOKEN IS A STRING, BUT we need to enable strict for it to work\n token,\n newTab: this.newtab,\n });\n } catch (error) {\n console.error(\"Error jumping to Unidy:\", error);\n } finally {\n this.loading = false;\n }\n };\n\n private isDisabled(): boolean {\n if (this.noAuth) {\n return this.loading || !this.isValidPath();\n }\n return !authState.authenticated || this.loading || !this.isValidPath();\n }\n\n render() {\n return (\n <button type=\"button\" disabled={this.isDisabled()} class={this.componentClassName} onClick={this.handleClick} aria-live=\"polite\">\n {slotFallbackText(t(\"buttons.jump_to_unidy\"), { hasSlot: this.hasSlot, loading: this.loading })}\n </button>\n );\n }\n}\n"],"names":["UnidyComponent","HasSlotContent","unidyState","Auth","getUnidyClient","redirectWithToken","authState","h","slotFallbackText","t"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"u-logout-button.u-signed-in.entry.cjs.js","sources":["src/auth/components/logout-button/logout-button.tsx","src/auth/components/signed-in/signed-in.tsx"],"sourcesContent":["import { Component, Element, Event, type EventEmitter, h, Prop } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { hasSlotContent } from \"../../../shared/component-utils\";\nimport { Auth } from \"../../auth\";\n\n@Component({\n tag: \"u-logout-button\",\n shadow: false,\n})\nexport class LogoutButton {\n @Element() el!: HTMLElement;\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop() reloadOnSuccess = true;\n\n @Event() logout!: EventEmitter<void>;\n\n private hasSlot = false;\n\n async componentWillLoad() {\n // this needs to be evaluated on load, bc doing it on render will evaluate the generated dom for \"shadow: false\"\n // components and always return true on re-render\n this.hasSlot = hasSlotContent(this.el);\n }\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 {this.hasSlot ? <slot /> : t(\"buttons.logout\")}\n </button>\n );\n }\n}\n","import { Component, Host, h, Prop } from \"@stencil/core\";\nimport { authStore } from \"../../store/auth-store\";\n\n@Component({\n tag: \"u-signed-in\",\n shadow: true,\n})\nexport class SignedIn {\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop() not = false;\n\n render() {\n if (this.not ? authStore.state.authenticated : !authStore.state.authenticated) {\n return null;\n }\n\n return (\n <Host class={this.componentClassName}>\n <slot />\n </Host>\n );\n }\n}\n"],"names":["hasSlotContent","Auth","h","t","authStore","Host"],"mappings":";;;;;;;;;;;;MASa,YAAY,GAAA,MAAA;;;;;;IAEY,kBAAkB,GAAG,EAAE;IAClD,eAAe,GAAG,IAAI;AAErB,IAAA,MAAM;IAEP,OAAO,GAAG,KAAK;AAEvB,IAAA,MAAM,iBAAiB,GAAA;;;QAGrB,IAAI,CAAC,OAAO,GAAGA,6BAAc,CAAC,IAAI,CAAC,EAAE,CAAC;;IAGhC,YAAY,GAAG,YAAW;AAChC,QAAA,MAAM,YAAY,GAAG,MAAMC,YAAI,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;QACJ,QACEC,OAAQ,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,IAAI,CAAC,OAAO,GAAGA,OAAQ,CAAA,MAAA,EAAA,IAAA,CAAA,GAAGC,MAAC,CAAC,gBAAgB,CAAC,CACvC;;;;MCnCF,QAAQ,GAAA,MAAA;;;;IACgB,kBAAkB,GAAG,EAAE;IAClD,GAAG,GAAG,KAAK;IAEnB,MAAM,GAAA;QACJ,IAAI,IAAI,CAAC,GAAG,GAAGC,mBAAS,CAAC,KAAK,CAAC,aAAa,GAAG,CAACA,mBAAS,CAAC,KAAK,CAAC,aAAa,EAAE;AAC7E,YAAA,OAAO,IAAI;;QAGb,QACEF,QAACG,UAAI,EAAA,EAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAA,EAClCH,OAAQ,CAAA,MAAA,EAAA,IAAA,CAAA,CACH;;;;;;;;;"}
1
+ {"version":3,"file":"u-logout-button.u-signed-in.entry.cjs.js","sources":["src/auth/components/logout-button/logout-button.tsx","src/auth/components/signed-in/signed-in.tsx"],"sourcesContent":["import { Component, Event, type EventEmitter, h, Prop } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { UnidyComponent } from \"../../../shared/base/component\";\nimport { HasSlotContent } from \"../../../shared/base/has-slot-content\";\nimport { Auth } from \"../../auth\";\n\n@Component({\n tag: \"u-logout-button\",\n shadow: false,\n})\nexport class LogoutButton extends UnidyComponent(HasSlotContent) {\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 {this.hasSlot ? <slot /> : t(\"buttons.logout\")}\n </button>\n );\n }\n}\n","import { Component, Host, h, Prop } from \"@stencil/core\";\nimport { authStore } from \"../../store/auth-store\";\n\n@Component({\n tag: \"u-signed-in\",\n shadow: false,\n})\nexport class SignedIn {\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop() not = false;\n\n render() {\n const shouldShow = this.not ? !authStore.state.authenticated : authStore.state.authenticated;\n\n return (\n <Host\n class={this.componentClassName}\n hidden={!shouldShow}\n style={{ display: shouldShow ? undefined : \"none\" }}\n aria-hidden={!shouldShow ? \"true\" : null}\n aria-live=\"polite\"\n >\n <slot />\n </Host>\n );\n }\n}\n"],"names":["UnidyComponent","HasSlotContent","Auth","h","t","authStore","Host"],"mappings":";;;;;;;;;;;;;AAUa,MAAA,YAAa,GAAA,cAAQA,wBAAc,CAACC,6BAAc,CAAC,CAAA;;;;;;IAC3B,kBAAkB,GAAG,EAAE;IAClD,eAAe,GAAG,IAAI;AAErB,IAAA,MAAM;IAEP,YAAY,GAAG,YAAW;AAChC,QAAA,MAAM,YAAY,GAAG,MAAMC,YAAI,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;QACJ,QACEC,OAAQ,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,IAAI,CAAC,OAAO,GAAGA,OAAQ,CAAA,MAAA,EAAA,IAAA,CAAA,GAAGC,MAAC,CAAC,gBAAgB,CAAC,CACvC;;;;MC3BF,QAAQ,GAAA,MAAA;;;;IACgB,kBAAkB,GAAG,EAAE;IAClD,GAAG,GAAG,KAAK;IAEnB,MAAM,GAAA;QACJ,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,GAAG,CAACC,mBAAS,CAAC,KAAK,CAAC,aAAa,GAAGA,mBAAS,CAAC,KAAK,CAAC,aAAa;AAE5F,QAAA,QACEF,OAAC,CAAAG,UAAI,qDACH,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAC9B,MAAM,EAAE,CAAC,UAAU,EACnB,KAAK,EAAE,EAAE,OAAO,EAAE,UAAU,GAAG,SAAS,GAAG,MAAM,EAAE,EACtC,aAAA,EAAA,CAAC,UAAU,GAAG,MAAM,GAAG,IAAI,eAC9B,QAAQ,EAAA,EAElBH,OAAQ,CAAA,MAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,CAAA,CACH;;;;;;;;;"}
@@ -1,30 +1,25 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-B325yXfO.js');
4
- var i18n = require('./i18n-D5j_Zl-4.js');
5
- var componentUtils = require('./component-utils-bu3SY4dE.js');
6
- var index$1 = require('./index-BzPYBLYC.js');
7
- var authStore = require('./auth-store-DPmGKHZ2.js');
8
- require('./unidy-store-BGnWn9pc.js');
9
- require('./index-yaeiYlfa.js');
10
- require('./profile-store-C_q-TuA_.js');
11
- require('./flash-store-gbSYhPAV.js');
3
+ var index = require('./index-2Fz3r5o0.js');
4
+ var i18n = require('./i18n-ClWrNmGh.js');
5
+ var component = require('./component-DLxnZCW6.js');
6
+ var hasSlotContent = require('./has-slot-content-CfJbU4t-.js');
7
+ var index$1 = require('./index-CpPKy1CZ.js');
8
+ var authStore = require('./auth-store-0vv3uOib.js');
9
+ require('./unidy-store-Bvnl24i9.js');
10
+ require('./index-C6ZBKFYr.js');
11
+ require('./profile-store-CQEQhPQD.js');
12
+ require('./flash-store-CR6Umh1O.js');
12
13
 
13
- const LogoutButton = class {
14
+ const LogoutButton = class extends component.UnidyComponent(hasSlotContent.HasSlotContent) {
14
15
  constructor(hostRef) {
16
+ super();
15
17
  index.registerInstance(this, hostRef);
16
18
  this.logout = index.createEvent(this, "logout", 7);
17
19
  }
18
- get el() { return index.getElement(this); }
19
20
  componentClassName = "";
20
21
  reloadOnSuccess = true;
21
22
  logout;
22
- hasSlot = false;
23
- async componentWillLoad() {
24
- // this needs to be evaluated on load, bc doing it on render will evaluate the generated dom for "shadow: false"
25
- // components and always return true on re-render
26
- this.hasSlot = componentUtils.hasSlotContent(this.el);
27
- }
28
23
  handleLogout = async () => {
29
24
  const authInstance = await index$1.Auth.getInstance();
30
25
  const result = await authInstance.logout();
@@ -36,7 +31,7 @@ const LogoutButton = class {
36
31
  }
37
32
  };
38
33
  render() {
39
- return (index.h("button", { key: '6b5f92f7ab2b5e9de1d58ea42cd05e3b15f1d75f', type: "button", class: this.componentClassName, onClick: this.handleLogout, "aria-live": "polite" }, this.hasSlot ? index.h("slot", null) : i18n.t("buttons.logout")));
34
+ return (index.h("button", { key: '07163c43a269a3f25dcc84451cbd6d52ecb28b0b', type: "button", class: this.componentClassName, onClick: this.handleLogout, "aria-live": "polite" }, this.hasSlot ? index.h("slot", null) : i18n.t("buttons.logout")));
40
35
  }
41
36
  };
42
37
 
@@ -47,10 +42,8 @@ const SignedIn = class {
47
42
  componentClassName = "";
48
43
  not = false;
49
44
  render() {
50
- if (this.not ? authStore.authStore.state.authenticated : !authStore.authStore.state.authenticated) {
51
- return null;
52
- }
53
- return (index.h(index.Host, { class: this.componentClassName }, index.h("slot", null)));
45
+ const shouldShow = this.not ? !authStore.authStore.state.authenticated : authStore.authStore.state.authenticated;
46
+ return (index.h(index.Host, { key: "678665a8b0b36eb84be4374c20a6036424675d0c", class: this.componentClassName, hidden: !shouldShow, style: { display: shouldShow ? undefined : "none" }, "aria-hidden": !shouldShow ? "true" : null, "aria-live": "polite" }, index.h("slot", { key: "cad91fa9ea14bf4f51e3635814cbca82db529620" })));
54
47
  }
55
48
  };
56
49
 
@@ -1,14 +1,13 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-B325yXfO.js');
4
- var index$1 = require('./index-BzPYBLYC.js');
5
- var authStore = require('./auth-store-DPmGKHZ2.js');
6
- require('./unidy-store-BGnWn9pc.js');
7
- require('./index-yaeiYlfa.js');
8
- require('./profile-store-C_q-TuA_.js');
9
- require('./i18n-D5j_Zl-4.js');
10
- require('./component-utils-bu3SY4dE.js');
11
- require('./flash-store-gbSYhPAV.js');
3
+ var index = require('./index-2Fz3r5o0.js');
4
+ var index$1 = require('./index-CpPKy1CZ.js');
5
+ var authStore = require('./auth-store-0vv3uOib.js');
6
+ require('./profile-store-CQEQhPQD.js');
7
+ require('./index-C6ZBKFYr.js');
8
+ require('./unidy-store-Bvnl24i9.js');
9
+ require('./i18n-ClWrNmGh.js');
10
+ require('./flash-store-CR6Umh1O.js');
12
11
 
13
12
  const magicCodeFieldCss = "/*! tailwindcss v4.1.18 | 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.18 | 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
 
@@ -1 +1 @@
1
- {"version":3,"file":"u-magic-code-field.entry.cjs.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 { Auth } from \"../../auth\";\nimport { authState } from \"../../store/auth-store\";\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":["Auth","authState","h","index"],"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,MAAMA,YAAI,CAAC,WAAW,EAAE;QAE7C,MAAM,YAAY,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAI,CAAC;AAC5D,KAAC;IACD,MAAM,GAAA;AACJ,QAAA,IAAIC,eAAS,CAAC,IAAI,KAAK,YAAY,EAAE;AACnC,YAAA,OAAO,IAAI;;AAGb,QAAA,QACEC,iBAAK,KAAK,EAAE,CAAA,2CAAA,EAA8C,IAAI,CAAC,kBAAkB,CAAA,CAAE,EAChF,EAAA,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAEC,OAAK,MAChCD,OAAA,CAAA,OAAA,EAAA;;YAEE,GAAG,EAAEC,OAAK,EACV,GAAG,EAAE,CAAC,EAAE,KAAI;AACV,gBAAA,IAAI,EAAE;AAAE,oBAAA,IAAI,CAAC,SAAS,CAACA,OAAK,CAAC,GAAG,EAAE;aACnC,EACD,EAAE,EAAE,CAAA,YAAA,EAAeA,OAAK,GAAG,CAAC,EAAE,EAC9B,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,SAAS,EACnB,SAAS,EAAC,GAAG,EACb,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAEF,eAAS,CAAC,OAAO,EAC3B,OAAO,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,EAAEE,OAAK,CAAC,EAClD,SAAS,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,aAAa,CAAC,KAAK,EAAEA,OAAK,CAAC,EACtD,OAAO,EAAEA,OAAK,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,GAAG,SAAS,gBACvC,SAASA,OAAK,GAAG,CAAC,CAAA,IAAA,EAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,EAC7D,KAAK,EAAC,2JAA2J,EACjK,IAAI,EAAC;UACL,CACH,CAAC,CACE;;;;;;;"}
1
+ {"version":3,"file":"u-magic-code-field.entry.cjs.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 { Auth } from \"../../auth\";\nimport { authState } from \"../../store/auth-store\";\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":["Auth","authState","h","index"],"mappings":"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"}
@@ -1,20 +1,21 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-B325yXfO.js');
4
- var authStore = require('./auth-store-DPmGKHZ2.js');
5
- require('./index-yaeiYlfa.js');
6
- require('./unidy-store-BGnWn9pc.js');
3
+ var index = require('./index-2Fz3r5o0.js');
4
+ var authStore = require('./auth-store-0vv3uOib.js');
5
+ require('./index-C6ZBKFYr.js');
6
+ require('./unidy-store-Bvnl24i9.js');
7
7
 
8
8
  const MissingField = class {
9
9
  constructor(hostRef) {
10
10
  index.registerInstance(this, hostRef);
11
11
  }
12
12
  get el() { return index.getElement(this); }
13
+ componentClassName;
13
14
  render() {
14
15
  if (authStore.state.step !== "missing-fields")
15
16
  return null;
16
17
  const fieldNames = authStore.missingFieldNames();
17
- return (index.h("div", { class: "missing-fields" }, index.h("form", null, fieldNames.map((fieldName) => (index.h("u-field", { key: fieldName, field: fieldName, renderDefaultLabel: true }))))));
18
+ return (index.h("div", { class: "missing-fields" }, index.h("form", null, fieldNames.map((fieldName) => (index.h("u-field", { key: fieldName, field: fieldName, renderDefaultLabel: true, "class-name": this.componentClassName }))))));
18
19
  }
19
20
  };
20
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"u-missing-field.entry.cjs.js","sources":["src/auth/components/missing-field/missing-field.tsx"],"sourcesContent":["import { Component, Element, h } from \"@stencil/core\";\nimport { authState, missingFieldNames } from \"../../store/auth-store\";\n\n@Component({\n tag: \"u-missing-field\",\n shadow: false,\n})\nexport class MissingField {\n @Element() el!: HTMLElement;\n\n render() {\n if (authState.step !== \"missing-fields\") return null;\n\n const fieldNames = missingFieldNames();\n\n return (\n <div class=\"missing-fields\">\n <form>\n {fieldNames.map((fieldName) => (\n <u-field key={fieldName} field={fieldName} renderDefaultLabel={true} />\n ))}\n </form>\n </div>\n );\n }\n}\n"],"names":["authState","missingFieldNames","h"],"mappings":";;;;;;;MAOa,YAAY,GAAA,MAAA;;;;;IAGvB,MAAM,GAAA;AACJ,QAAA,IAAIA,eAAS,CAAC,IAAI,KAAK,gBAAgB;AAAE,YAAA,OAAO,IAAI;AAEpD,QAAA,MAAM,UAAU,GAAGC,2BAAiB,EAAE;QAEtC,QACEC,OAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,gBAAgB,EAAA,EACzBA,OAAA,CAAA,MAAA,EAAA,IAAA,EACG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,MACxBA,OAAS,CAAA,SAAA,EAAA,EAAA,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,EAAI,CAAA,CACxE,CAAC,CACG,CACH;;;;;;"}
1
+ {"version":3,"file":"u-missing-field.entry.cjs.js","sources":["src/auth/components/missing-field/missing-field.tsx"],"sourcesContent":["import { Component, Element, h, Prop } from \"@stencil/core\";\nimport { authState, missingFieldNames } from \"../../store/auth-store\";\n\n@Component({\n tag: \"u-missing-field\",\n shadow: false,\n})\nexport class MissingField {\n @Element() el!: HTMLElement;\n @Prop({ attribute: \"class-name\" }) componentClassName?: string;\n\n render() {\n if (authState.step !== \"missing-fields\") return null;\n\n const fieldNames = missingFieldNames();\n\n return (\n <div class=\"missing-fields\">\n <form>\n {fieldNames.map((fieldName) => (\n <u-field key={fieldName} field={fieldName} renderDefaultLabel={true} class-name={this.componentClassName} />\n ))}\n </form>\n </div>\n );\n }\n}\n"],"names":["authState","missingFieldNames","h"],"mappings":";;;;;;;MAOa,YAAY,GAAA,MAAA;;;;;AAEY,IAAA,kBAAkB;IAErD,MAAM,GAAA;AACJ,QAAA,IAAIA,eAAS,CAAC,IAAI,KAAK,gBAAgB;AAAE,YAAA,OAAO,IAAI;AAEpD,QAAA,MAAM,UAAU,GAAGC,2BAAiB,EAAE;QAEtC,QACEC,OAAA,CAAA,KAAA,EAAA,EAAK,KAAK,EAAC,gBAAgB,EAAA,EACzBA,OAAA,CAAA,MAAA,EAAA,IAAA,EACG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,MACxBA,OAAA,CAAA,SAAA,EAAA,EAAS,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,gBAAc,IAAI,CAAC,kBAAkB,EAAA,CAAI,CAC7G,CAAC,CACG,CACH;;;;;;"}
@@ -1,21 +1,23 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./index-B325yXfO.js');
4
- var index$1 = require('./index-BzPYBLYC.js');
5
- var i18n = require('./i18n-D5j_Zl-4.js');
6
- var profileHelpers = require('./profile-helpers-Bprrm-Xl.js');
7
- var profileStore = require('./profile-store-C_q-TuA_.js');
8
- var componentUtils = require('./component-utils-bu3SY4dE.js');
9
- var authStore = require('./auth-store-DPmGKHZ2.js');
10
- require('./unidy-store-BGnWn9pc.js');
11
- require('./index-yaeiYlfa.js');
12
- require('./flash-store-gbSYhPAV.js');
3
+ var index = require('./index-2Fz3r5o0.js');
4
+ var index$1 = require('./index-CpPKy1CZ.js');
5
+ var i18n = require('./i18n-ClWrNmGh.js');
6
+ var profileHelpers = require('./profile-helpers-BBpAqHjK.js');
7
+ var profileStore = require('./profile-store-CQEQhPQD.js');
8
+ var component = require('./component-DLxnZCW6.js');
9
+ var hasSlotContent = require('./has-slot-content-CfJbU4t-.js');
10
+ var authStore = require('./auth-store-0vv3uOib.js');
11
+ require('./unidy-store-Bvnl24i9.js');
12
+ require('./index-C6ZBKFYr.js');
13
+ require('./flash-store-CR6Umh1O.js');
13
14
 
14
- const MissingFieldsSubmitButton = class {
15
+ const MissingFieldsSubmitButton = class extends component.UnidyComponent(hasSlotContent.HasSlotContent) {
15
16
  constructor(hostRef) {
17
+ super();
16
18
  index.registerInstance(this, hostRef);
17
19
  }
18
- get el() { return index.getElement(this); }
20
+ componentClassName = "";
19
21
  async onSubmit() {
20
22
  profileStore.state.loading = true;
21
23
  const { configuration, ...stateWithoutConfig } = profileStore.state;
@@ -37,12 +39,12 @@ const MissingFieldsSubmitButton = class {
37
39
  profileStore.state.loading = false;
38
40
  authStore.authStore.setToken(jwt);
39
41
  // Emit authEvent to allow modal-based logins to close after successful submission
40
- this.el.dispatchEvent(new CustomEvent("authEvent", { detail: { jwt }, bubbles: true, composed: true }));
42
+ this.element.dispatchEvent(new CustomEvent("authEvent", { detail: { jwt }, bubbles: true, composed: true }));
41
43
  }
42
44
  render() {
43
45
  if (authStore.state.step !== "missing-fields")
44
46
  return null;
45
- return (index.h("div", null, index.h("button", { type: "button", onClick: () => this.onSubmit(), part: "button", disabled: (profileStore.state.errors && Object.keys(profileStore.state.errors).length > 0) || profileStore.state.phoneValid === false, "aria-live": "polite" }, profileStore.state.loading ? index.h("u-spinner", null) : componentUtils.hasSlotContent(this.el) ? index.h("slot", null) : i18n.t("buttons.submit"))));
47
+ return (index.h("div", null, index.h("button", { type: "button", onClick: () => this.onSubmit(), part: "button", class: this.componentClassName, disabled: (profileStore.state.errors && Object.keys(profileStore.state.errors).length > 0) || profileStore.state.phoneValid === false, "aria-live": "polite" }, profileStore.state.loading ? index.h("u-spinner", null) : this.hasSlot ? index.h("slot", null) : i18n.t("buttons.submit"))));
46
48
  }
47
49
  };
48
50
 
@@ -1 +1 @@
1
- {"version":3,"file":"u-missing-fields-submit-button.entry.cjs.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 { t } from \"../../../i18n\";\nimport { buildPayload, validateRequiredFieldsUnchanged } from \"../../../profile/profile-helpers\";\nimport { state as profileState } from \"../../../profile/store/profile-store\";\nimport { hasSlotContent } from \"../../../shared/component-utils\";\nimport type { TokenResponse } from \"../../api/auth\";\nimport { authState, authStore } from \"../../store/auth-store\";\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({\n signInId: sid,\n payload: { user: updatedProfileData },\n });\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","validateRequiredFieldsUnchanged","buildPayload","authState","getUnidyClient","authStore","h","hasSlotContent","t"],"mappings":";;;;;;;;;;;;;MAaa,yBAAyB,GAAA,MAAA;;;;;AAG5B,IAAA,MAAM,QAAQ,GAAA;AACpB,QAAAA,kBAAY,CAAC,OAAO,GAAG,IAAI;QAE3B,MAAM,EAAE,aAAa,EAAE,GAAG,kBAAkB,EAAE,GAAGA,kBAAY;QAE7D,IAAI,CAACC,8CAA+B,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;AAC7D,YAAAD,kBAAY,CAAC,OAAO,GAAG,KAAK;YAC5B;;QAGF,MAAM,kBAAkB,GAAGE,2BAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAChE,QAAA,MAAM,GAAG,GAAGC,eAAS,CAAC,GAAa;AAEnC,QAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAMC,sBAAc,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;AACxE,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;AACtC,SAAA,CAAC;QAEF,IAAI,KAAK,EAAE;AACT,YAAAJ,kBAAY,CAAC,OAAO,GAAG,KAAK;YAC5B;;AAGF,QAAA,MAAM,EAAE,GAAG,EAAE,GAAG,QAAyB;AACzC,QAAAA,kBAAY,CAAC,OAAO,GAAG,KAAK;AAC5B,QAAAK,mBAAS,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,IAAIF,eAAS,CAAC,IAAI,KAAK,gBAAgB;AAAE,YAAA,OAAO,IAAI;QAEpD,QACEG,OAAA,CAAA,KAAA,EAAA,IAAA,EACEA,OAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,EAC9B,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAACN,kBAAY,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAACA,kBAAY,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,KAAKA,kBAAY,CAAC,UAAU,KAAK,KAAK,EAAA,WAAA,EACzG,QAAQ,EAEjB,EAAAA,kBAAY,CAAC,OAAO,GAAGM,OAAa,CAAA,WAAA,EAAA,IAAA,CAAA,GAAGC,6BAAc,CAAC,IAAI,CAAC,EAAE,CAAC,GAAGD,OAAQ,CAAA,MAAA,EAAA,IAAA,CAAA,GAAGE,MAAC,CAAC,gBAAgB,CAAC,CACzF,CACL;;;;;;"}
1
+ {"version":3,"file":"u-missing-fields-submit-button.entry.cjs.js","sources":["src/auth/components/missing-fields-submit-button/missing-fields-submit-button.tsx"],"sourcesContent":["import { Component, h, Prop } from \"@stencil/core\";\nimport { getUnidyClient } from \"../../../api\";\nimport { t } from \"../../../i18n\";\nimport { buildPayload, validateRequiredFieldsUnchanged } from \"../../../profile/profile-helpers\";\nimport { state as profileState } from \"../../../profile/store/profile-store\";\nimport { UnidyComponent } from \"../../../shared/base/component\";\nimport { HasSlotContent } from \"../../../shared/base/has-slot-content\";\nimport type { TokenResponse } from \"../../api/auth\";\nimport { authState, authStore } from \"../../store/auth-store\";\n\n@Component({\n tag: \"u-missing-fields-submit-button\",\n shadow: false,\n})\nexport class MissingFieldsSubmitButton extends UnidyComponent(HasSlotContent) {\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\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({\n signInId: sid,\n payload: { user: updatedProfileData },\n });\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.element.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 class={this.componentClassName}\n disabled={(profileState.errors && Object.keys(profileState.errors).length > 0) || profileState.phoneValid === false}\n aria-live=\"polite\"\n >\n {profileState.loading ? <u-spinner /> : this.hasSlot ? <slot /> : t(\"buttons.submit\")}\n </button>\n </div>\n );\n }\n}\n"],"names":["UnidyComponent","HasSlotContent","profileState","validateRequiredFieldsUnchanged","buildPayload","authState","getUnidyClient","authStore","h","t"],"mappings":";;;;;;;;;;;;;;AAca,MAAA,yBAA0B,GAAA,cAAQA,wBAAc,CAACC,6BAAc,CAAC,CAAA;;;;;IACxC,kBAAkB,GAAG,EAAE;AAElD,IAAA,MAAM,QAAQ,GAAA;AACpB,QAAAC,kBAAY,CAAC,OAAO,GAAG,IAAI;QAE3B,MAAM,EAAE,aAAa,EAAE,GAAG,kBAAkB,EAAE,GAAGA,kBAAY;QAE7D,IAAI,CAACC,8CAA+B,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE;AAC7D,YAAAD,kBAAY,CAAC,OAAO,GAAG,KAAK;YAC5B;;QAGF,MAAM,kBAAkB,GAAGE,2BAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC;AAChE,QAAA,MAAM,GAAG,GAAGC,eAAS,CAAC,GAAa;AAEnC,QAAA,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAMC,sBAAc,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC;AACxE,YAAA,QAAQ,EAAE,GAAG;AACb,YAAA,OAAO,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;AACtC,SAAA,CAAC;QAEF,IAAI,KAAK,EAAE;AACT,YAAAJ,kBAAY,CAAC,OAAO,GAAG,KAAK;YAC5B;;AAGF,QAAA,MAAM,EAAE,GAAG,EAAE,GAAG,QAAyB;AACzC,QAAAA,kBAAY,CAAC,OAAO,GAAG,KAAK;AAC5B,QAAAK,mBAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;;QAGvB,IAAI,CAAC,OAAO,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;;IAG9G,MAAM,GAAA;AACJ,QAAA,IAAIF,eAAS,CAAC,IAAI,KAAK,gBAAgB;AAAE,YAAA,OAAO,IAAI;QAEpD,QACEG,OAAA,CAAA,KAAA,EAAA,IAAA,EACEA,OAAA,CAAA,QAAA,EAAA,EACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,MAAM,IAAI,CAAC,QAAQ,EAAE,EAC9B,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAC9B,QAAQ,EAAE,CAACN,kBAAY,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAACA,kBAAY,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,KAAKA,kBAAY,CAAC,UAAU,KAAK,KAAK,EACzG,WAAA,EAAA,QAAQ,IAEjBA,kBAAY,CAAC,OAAO,GAAGM,OAAa,CAAA,WAAA,EAAA,IAAA,CAAA,GAAG,IAAI,CAAC,OAAO,GAAGA,OAAQ,CAAA,MAAA,EAAA,IAAA,CAAA,GAAGC,MAAC,CAAC,gBAAgB,CAAC,CAC9E,CACL;;;;;;"}