@unidy.io/sdk 1.1.8 → 1.1.9
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.
- package/dist/cjs/app-globals-DSKjcXX_.js +10 -0
- package/dist/cjs/app-globals-DSKjcXX_.js.map +1 -0
- package/dist/cjs/auth-B83pzi0f.js +582 -0
- package/dist/cjs/auth-B83pzi0f.js.map +1 -0
- package/dist/cjs/auth-store-DPHWWmXf.js +183 -0
- package/dist/cjs/auth-store-DPHWWmXf.js.map +1 -0
- package/dist/cjs/component-utils-BpMyeVQo.js +35 -0
- package/dist/cjs/component-utils-BpMyeVQo.js.map +1 -0
- package/dist/cjs/flash-store-BuIBuQDx.js +50 -0
- package/dist/cjs/flash-store-BuIBuQDx.js.map +1 -0
- package/dist/cjs/helpers-BcPlKlBG.js +11 -0
- package/dist/cjs/helpers-BcPlKlBG.js.map +1 -0
- package/dist/cjs/helpers-DJyRa0Qo.js +11 -0
- package/dist/cjs/helpers-DJyRa0Qo.js.map +1 -0
- package/dist/cjs/i18n-BoDZ8kd2.js +3236 -0
- package/dist/cjs/i18n-BoDZ8kd2.js.map +1 -0
- package/dist/cjs/index-B_N5xKgH.js +12025 -0
- package/dist/cjs/index-B_N5xKgH.js.map +1 -0
- package/dist/cjs/index-DLz3FT7T.js +214 -0
- package/dist/cjs/index-DLz3FT7T.js.map +1 -0
- package/dist/cjs/index-R2MKLaem.js +5267 -0
- package/dist/cjs/index-R2MKLaem.js.map +1 -0
- package/dist/cjs/index.cjs.js +64 -0
- package/dist/cjs/index.cjs.js.map +1 -0
- package/dist/cjs/loader.cjs.js +14 -0
- package/dist/cjs/loader.cjs.js.map +1 -0
- package/dist/cjs/newsletter-helpers-D-V_8kiN.js +289 -0
- package/dist/cjs/newsletter-helpers-D-V_8kiN.js.map +1 -0
- package/dist/cjs/newsletter-store-BzytX7Qh.js +38 -0
- package/dist/cjs/newsletter-store-BzytX7Qh.js.map +1 -0
- package/dist/cjs/pagination-store-BEiW3MQd.js +16 -0
- package/dist/cjs/pagination-store-BEiW3MQd.js.map +1 -0
- package/dist/cjs/profile-helpers-B2h2III_.js +39 -0
- package/dist/cjs/profile-helpers-B2h2III_.js.map +1 -0
- package/dist/cjs/profile-store-P_BcYkef.js +22 -0
- package/dist/cjs/profile-store-P_BcYkef.js.map +1 -0
- package/dist/cjs/sdk.cjs.js +26 -0
- package/dist/cjs/sdk.cjs.js.map +1 -0
- package/dist/cjs/u-conditional-render.cjs.entry.js +102 -0
- package/dist/cjs/u-conditional-render.entry.cjs.js.map +1 -0
- package/dist/cjs/u-config.cjs.entry.js +87 -0
- package/dist/cjs/u-config.entry.cjs.js.map +1 -0
- package/dist/cjs/u-email-field.cjs.entry.js +77 -0
- package/dist/cjs/u-email-field.entry.cjs.js.map +1 -0
- package/dist/cjs/u-error-message.cjs.entry.js +82 -0
- package/dist/cjs/u-error-message.entry.cjs.js.map +1 -0
- package/dist/cjs/u-field.u-raw-field.entry.cjs.js.map +1 -0
- package/dist/cjs/u-field_2.cjs.entry.js +375 -0
- package/dist/cjs/u-flash-message.cjs.entry.js +37 -0
- package/dist/cjs/u-flash-message.entry.cjs.js.map +1 -0
- package/dist/cjs/u-full-profile.cjs.entry.js +37 -0
- package/dist/cjs/u-full-profile.entry.cjs.js.map +1 -0
- package/dist/cjs/u-logout-button.u-signed-in.entry.cjs.js.map +1 -0
- package/dist/cjs/u-logout-button_2.cjs.entry.js +60 -0
- package/dist/cjs/u-magic-code-field.cjs.entry.js +91 -0
- package/dist/cjs/u-magic-code-field.entry.cjs.js.map +1 -0
- package/dist/cjs/u-missing-field.cjs.entry.js +22 -0
- package/dist/cjs/u-missing-field.entry.cjs.js.map +1 -0
- package/dist/cjs/u-missing-fields-submit-button.cjs.entry.js +46 -0
- package/dist/cjs/u-missing-fields-submit-button.entry.cjs.js.map +1 -0
- package/dist/cjs/u-newsletter-checkbox.cjs.entry.js +77 -0
- package/dist/cjs/u-newsletter-checkbox.entry.cjs.js.map +1 -0
- package/dist/cjs/u-newsletter-logout-button.cjs.entry.js +36 -0
- package/dist/cjs/u-newsletter-logout-button.entry.cjs.js.map +1 -0
- package/dist/cjs/u-newsletter-preference-checkbox.cjs.entry.js +120 -0
- package/dist/cjs/u-newsletter-preference-checkbox.entry.cjs.js.map +1 -0
- package/dist/cjs/u-newsletter-resend-doi-button.cjs.entry.js +49 -0
- package/dist/cjs/u-newsletter-resend-doi-button.entry.cjs.js.map +1 -0
- package/dist/cjs/u-newsletter-root.cjs.entry.js +72 -0
- package/dist/cjs/u-newsletter-root.entry.cjs.js.map +1 -0
- package/dist/cjs/u-newsletter-toggle-subscription-button.cjs.entry.js +73 -0
- package/dist/cjs/u-newsletter-toggle-subscription-button.entry.cjs.js.map +1 -0
- package/dist/cjs/u-pagination-button.cjs.entry.js +63 -0
- package/dist/cjs/u-pagination-button.entry.cjs.js.map +1 -0
- package/dist/cjs/u-pagination-page.cjs.entry.js +44 -0
- package/dist/cjs/u-pagination-page.entry.cjs.js.map +1 -0
- package/dist/cjs/u-passkey.cjs.entry.js +47 -0
- package/dist/cjs/u-passkey.entry.cjs.js.map +1 -0
- package/dist/cjs/u-password-field.cjs.entry.js +106 -0
- package/dist/cjs/u-password-field.entry.cjs.js.map +1 -0
- package/dist/cjs/u-profile.u-submit-button.entry.cjs.js.map +1 -0
- package/dist/cjs/u-profile_2.cjs.entry.js +327 -0
- package/dist/cjs/u-registration-button.cjs.entry.js +48 -0
- package/dist/cjs/u-registration-button.entry.cjs.js.map +1 -0
- package/dist/cjs/u-reset-password-button.cjs.entry.js +56 -0
- package/dist/cjs/u-reset-password-button.entry.cjs.js.map +1 -0
- package/dist/cjs/u-send-magic-code-button.cjs.entry.js +68 -0
- package/dist/cjs/u-send-magic-code-button.entry.cjs.js.map +1 -0
- package/dist/cjs/u-signin-root.cjs.entry.js +43 -0
- package/dist/cjs/u-signin-root.entry.cjs.js.map +1 -0
- package/dist/cjs/u-signin-step.cjs.entry.js +66 -0
- package/dist/cjs/u-signin-step.entry.cjs.js.map +1 -0
- package/dist/cjs/u-signin-strategy.cjs.entry.js +30 -0
- package/dist/cjs/u-signin-strategy.entry.cjs.js.map +1 -0
- package/dist/cjs/u-social-login-button.cjs.entry.js +100 -0
- package/dist/cjs/u-social-login-button.entry.cjs.js.map +1 -0
- package/dist/cjs/u-spinner.cjs.entry.js +18 -0
- package/dist/cjs/u-spinner.entry.cjs.js.map +1 -0
- package/dist/cjs/u-ticketable-list.cjs.entry.js +6097 -0
- package/dist/cjs/u-ticketable-list.entry.cjs.js.map +1 -0
- package/dist/cjs/unidy-store-7AbWnZ6g.js +41 -0
- package/dist/cjs/unidy-store-7AbWnZ6g.js.map +1 -0
- package/dist/collection/api/client.js +144 -0
- package/dist/collection/api/client.js.map +1 -0
- package/dist/collection/api/index.js +42 -0
- package/dist/collection/api/index.js.map +1 -0
- package/dist/collection/api/shared.js +18 -0
- package/dist/collection/api/shared.js.map +1 -0
- package/dist/collection/auth/api/auth.js +264 -0
- package/dist/collection/auth/api/auth.js.map +1 -0
- package/dist/collection/auth/auth-helpers.js +297 -0
- package/dist/collection/auth/auth-helpers.js.map +1 -0
- package/dist/collection/auth/auth.js +124 -0
- package/dist/collection/auth/auth.js.map +1 -0
- package/dist/collection/auth/components/helpers.js +5 -0
- package/dist/collection/auth/components/helpers.js.map +1 -0
- package/dist/collection/auth/components/logout-button/logout-button.js +92 -0
- package/dist/collection/auth/components/logout-button/logout-button.js.map +1 -0
- package/dist/collection/auth/components/magic-code-field/magic-code-field.css +1 -0
- package/dist/collection/auth/components/magic-code-field/magic-code-field.js +113 -0
- package/dist/collection/auth/components/magic-code-field/magic-code-field.js.map +1 -0
- package/dist/collection/auth/components/missing-field/missing-field.js +14 -0
- package/dist/collection/auth/components/missing-field/missing-field.js.map +1 -0
- package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js +39 -0
- package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js.map +1 -0
- package/dist/collection/auth/components/passkey/passkey.js +103 -0
- package/dist/collection/auth/components/passkey/passkey.js.map +1 -0
- package/dist/collection/auth/components/password-field/password-field.js +168 -0
- package/dist/collection/auth/components/password-field/password-field.js.map +1 -0
- package/dist/collection/auth/components/registration/registration-button.js +104 -0
- package/dist/collection/auth/components/registration/registration-button.js.map +1 -0
- package/dist/collection/auth/components/reset-pass-button/reset-pass-button.js +68 -0
- package/dist/collection/auth/components/reset-pass-button/reset-pass-button.js.map +1 -0
- package/dist/collection/auth/components/send-magic-code-button/send-magic-code-button.js +104 -0
- package/dist/collection/auth/components/send-magic-code-button/send-magic-code-button.js.map +1 -0
- package/dist/collection/auth/components/signed-in/signed-in.js +59 -0
- package/dist/collection/auth/components/signed-in/signed-in.js.map +1 -0
- package/dist/collection/auth/components/signin-root/signin-root.js +97 -0
- package/dist/collection/auth/components/signin-root/signin-root.js.map +1 -0
- package/dist/collection/auth/components/signin-step/signin-step.js +135 -0
- package/dist/collection/auth/components/signin-step/signin-step.js.map +1 -0
- package/dist/collection/auth/components/signin-strategy/signin-strategy.js +64 -0
- package/dist/collection/auth/components/signin-strategy/signin-strategy.js.map +1 -0
- package/dist/collection/auth/components/social-logins/logos/apple.js +3 -0
- package/dist/collection/auth/components/social-logins/logos/apple.js.map +1 -0
- package/dist/collection/auth/components/social-logins/logos/discord.js +3 -0
- package/dist/collection/auth/components/social-logins/logos/discord.js.map +1 -0
- package/dist/collection/auth/components/social-logins/logos/facebook.js +3 -0
- package/dist/collection/auth/components/social-logins/logos/facebook.js.map +1 -0
- package/dist/collection/auth/components/social-logins/logos/google.js +3 -0
- package/dist/collection/auth/components/social-logins/logos/google.js.map +1 -0
- package/dist/collection/auth/components/social-logins/logos/linkedin.js +3 -0
- package/dist/collection/auth/components/social-logins/logos/linkedin.js.map +1 -0
- package/dist/collection/auth/components/social-logins/social-login-button.css +1 -0
- package/dist/collection/auth/components/social-logins/social-login-button.js +188 -0
- package/dist/collection/auth/components/social-logins/social-login-button.js.map +1 -0
- package/dist/collection/auth/components/submit-button/auth-submit-button.js +62 -0
- package/dist/collection/auth/components/submit-button/auth-submit-button.js.map +1 -0
- package/dist/collection/auth/error-definitions.js +26 -0
- package/dist/collection/auth/error-definitions.js.map +1 -0
- package/dist/collection/auth/index.js +14 -0
- package/dist/collection/auth/index.js.map +1 -0
- package/dist/collection/auth/passkey-auth.js +106 -0
- package/dist/collection/auth/passkey-auth.js.map +1 -0
- package/dist/collection/auth/store/auth-store.js +174 -0
- package/dist/collection/auth/store/auth-store.js.map +1 -0
- package/dist/collection/collection-manifest.json +46 -0
- package/dist/collection/globalScript.js +18 -0
- package/dist/collection/globalScript.js.map +1 -0
- package/dist/collection/i18n.js +31 -0
- package/dist/collection/i18n.js.map +1 -0
- package/dist/collection/index.js +16 -0
- package/dist/collection/index.js.map +1 -0
- package/dist/collection/locales/de.json +133 -0
- package/dist/collection/locales/en.json +133 -0
- package/dist/collection/locales/fr.json +133 -0
- package/dist/collection/locales/it.json +133 -0
- package/dist/collection/locales/nl_be.json +133 -0
- package/dist/collection/locales/ro.json +133 -0
- package/dist/collection/logger.js +106 -0
- package/dist/collection/logger.js.map +1 -0
- package/dist/collection/newsletter/api/newsletters.js +189 -0
- package/dist/collection/newsletter/api/newsletters.js.map +1 -0
- package/dist/collection/newsletter/components/helpers.js +5 -0
- package/dist/collection/newsletter/components/helpers.js.map +1 -0
- package/dist/collection/newsletter/components/logout-button/logout-button.js +48 -0
- package/dist/collection/newsletter/components/logout-button/logout-button.js.map +1 -0
- package/dist/collection/newsletter/components/newsletter-checkbox/newsletter-checkbox.js +165 -0
- package/dist/collection/newsletter/components/newsletter-checkbox/newsletter-checkbox.js.map +1 -0
- package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js +119 -0
- package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js.map +1 -0
- package/dist/collection/newsletter/components/preference-checkbox/preference-checkbox.js +235 -0
- package/dist/collection/newsletter/components/preference-checkbox/preference-checkbox.js.map +1 -0
- package/dist/collection/newsletter/components/resend-doi-button/resend-doi-button.css +1 -0
- package/dist/collection/newsletter/components/resend-doi-button/resend-doi-button.js +89 -0
- package/dist/collection/newsletter/components/resend-doi-button/resend-doi-button.js.map +1 -0
- package/dist/collection/newsletter/components/submit-button/newsletter-submit-button.js +18 -0
- package/dist/collection/newsletter/components/submit-button/newsletter-submit-button.js.map +1 -0
- package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.css +1 -0
- package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.js +154 -0
- package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.js.map +1 -0
- package/dist/collection/newsletter/index.js +11 -0
- package/dist/collection/newsletter/index.js.map +1 -0
- package/dist/collection/newsletter/newsletter-helpers.js +277 -0
- package/dist/collection/newsletter/newsletter-helpers.js.map +1 -0
- package/dist/collection/newsletter/store/newsletter-store.js +34 -0
- package/dist/collection/newsletter/store/newsletter-store.js.map +1 -0
- package/dist/collection/profile/api/profile.js +168 -0
- package/dist/collection/profile/api/profile.js.map +1 -0
- package/dist/collection/profile/components/field/field.css +1 -0
- package/dist/collection/profile/components/field/field.js +359 -0
- package/dist/collection/profile/components/field/field.js.map +1 -0
- package/dist/collection/profile/components/full-profile/full-profile.css +1 -0
- package/dist/collection/profile/components/full-profile/full-profile.js +78 -0
- package/dist/collection/profile/components/full-profile/full-profile.js.map +1 -0
- package/dist/collection/profile/components/profile/profile.js +250 -0
- package/dist/collection/profile/components/profile/profile.js.map +1 -0
- package/dist/collection/profile/components/raw-field/raw-field.js +697 -0
- package/dist/collection/profile/components/raw-field/raw-field.js.map +1 -0
- package/dist/collection/profile/components/raw-input-fields/Input.js +3 -0
- package/dist/collection/profile/components/raw-input-fields/Input.js.map +1 -0
- package/dist/collection/profile/components/raw-input-fields/MultiSelect.js +8 -0
- package/dist/collection/profile/components/raw-input-fields/MultiSelect.js.map +1 -0
- package/dist/collection/profile/components/raw-input-fields/RadioGroup.js +8 -0
- package/dist/collection/profile/components/raw-input-fields/RadioGroup.js.map +1 -0
- package/dist/collection/profile/components/raw-input-fields/Select.js +11 -0
- package/dist/collection/profile/components/raw-input-fields/Select.js.map +1 -0
- package/dist/collection/profile/components/raw-input-fields/Textarea.js +3 -0
- package/dist/collection/profile/components/raw-input-fields/Textarea.js.map +1 -0
- package/dist/collection/profile/components/submit-button/profile-submit-button.js +17 -0
- package/dist/collection/profile/components/submit-button/profile-submit-button.js.map +1 -0
- package/dist/collection/profile/index.js +13 -0
- package/dist/collection/profile/index.js.map +1 -0
- package/dist/collection/profile/profile-helpers.js +31 -0
- package/dist/collection/profile/profile-helpers.js.map +1 -0
- package/dist/collection/profile/store/profile-store.js +15 -0
- package/dist/collection/profile/store/profile-store.js.map +1 -0
- package/dist/collection/sdk.css +39 -0
- package/dist/collection/shared/component-utils.js +28 -0
- package/dist/collection/shared/component-utils.js.map +1 -0
- package/dist/collection/shared/components/conditional-render/conditional-render.js +177 -0
- package/dist/collection/shared/components/conditional-render/conditional-render.js.map +1 -0
- package/dist/collection/shared/components/config/config.js +260 -0
- package/dist/collection/shared/components/config/config.js.map +1 -0
- package/dist/collection/shared/components/email-field/email-field.css +1 -0
- package/dist/collection/shared/components/email-field/email-field.js +145 -0
- package/dist/collection/shared/components/email-field/email-field.js.map +1 -0
- package/dist/collection/shared/components/error-message/error-message.js +141 -0
- package/dist/collection/shared/components/error-message/error-message.js.map +1 -0
- package/dist/collection/shared/components/flash-message/close-icon.js +3 -0
- package/dist/collection/shared/components/flash-message/close-icon.js.map +1 -0
- package/dist/collection/shared/components/flash-message/flash-message.css +1 -0
- package/dist/collection/shared/components/flash-message/flash-message.js +79 -0
- package/dist/collection/shared/components/flash-message/flash-message.js.map +1 -0
- package/dist/collection/shared/components/spinner/spinner.css +1 -0
- package/dist/collection/shared/components/spinner/spinner.js +19 -0
- package/dist/collection/shared/components/spinner/spinner.js.map +1 -0
- package/dist/collection/shared/components/submit-button/context.js +10 -0
- package/dist/collection/shared/components/submit-button/context.js.map +1 -0
- package/dist/collection/shared/components/submit-button/submit-button.css +1 -0
- package/dist/collection/shared/components/submit-button/submit-button.js +196 -0
- package/dist/collection/shared/components/submit-button/submit-button.js.map +1 -0
- package/dist/collection/shared/store/flash-store.js +43 -0
- package/dist/collection/shared/store/flash-store.js.map +1 -0
- package/dist/collection/shared/store/unidy-store.js +33 -0
- package/dist/collection/shared/store/unidy-store.js.map +1 -0
- package/dist/collection/ticketable/api/get-with-schema.js +35 -0
- package/dist/collection/ticketable/api/get-with-schema.js.map +1 -0
- package/dist/collection/ticketable/api/schemas.js +12 -0
- package/dist/collection/ticketable/api/schemas.js.map +1 -0
- package/dist/collection/ticketable/api/subscriptions.js +47 -0
- package/dist/collection/ticketable/api/subscriptions.js.map +1 -0
- package/dist/collection/ticketable/api/tickets.js +48 -0
- package/dist/collection/ticketable/api/tickets.js.map +1 -0
- package/dist/collection/ticketable/components/pagination/pagination-button.js +108 -0
- package/dist/collection/ticketable/components/pagination/pagination-button.js.map +1 -0
- package/dist/collection/ticketable/components/pagination/pagination-page.js +69 -0
- package/dist/collection/ticketable/components/pagination/pagination-page.js.map +1 -0
- package/dist/collection/ticketable/components/ticketable-list/skeleton-helpers.js +54 -0
- package/dist/collection/ticketable/components/ticketable-list/skeleton-helpers.js.map +1 -0
- package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js +505 -0
- package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js.map +1 -0
- package/dist/collection/ticketable/index.js +13 -0
- package/dist/collection/ticketable/index.js.map +1 -0
- package/dist/collection/ticketable/store/pagination-store.js +9 -0
- package/dist/collection/ticketable/store/pagination-store.js.map +1 -0
- package/dist/components/auth-store.js +178 -0
- package/dist/components/auth-store.js.map +1 -0
- package/dist/components/auth.js +581 -0
- package/dist/components/auth.js.map +1 -0
- package/dist/components/component-utils.js +32 -0
- package/dist/components/component-utils.js.map +1 -0
- package/dist/components/exports.js +4106 -0
- package/dist/components/exports.js.map +1 -0
- package/dist/components/field.js +144 -0
- package/dist/components/field.js.map +1 -0
- package/dist/components/flash-store.js +47 -0
- package/dist/components/flash-store.js.map +1 -0
- package/dist/components/helpers.js +9 -0
- package/dist/components/helpers.js.map +1 -0
- package/dist/components/helpers2.js +9 -0
- package/dist/components/helpers2.js.map +1 -0
- package/dist/components/i18n.js +3234 -0
- package/dist/components/i18n.js.map +1 -0
- package/dist/components/index.d.ts +33 -0
- package/dist/components/index.js +5902 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/index2.js +5256 -0
- package/dist/components/index2.js.map +1 -0
- package/dist/components/index3.js +212 -0
- package/dist/components/index3.js.map +1 -0
- package/dist/components/logger.js +111 -0
- package/dist/components/logger.js.map +1 -0
- package/dist/components/newsletter-helpers.js +278 -0
- package/dist/components/newsletter-helpers.js.map +1 -0
- package/dist/components/newsletter-store.js +34 -0
- package/dist/components/newsletter-store.js.map +1 -0
- package/dist/components/pagination-store.js +14 -0
- package/dist/components/pagination-store.js.map +1 -0
- package/dist/components/profile-helpers.js +36 -0
- package/dist/components/profile-helpers.js.map +1 -0
- package/dist/components/profile-store.js +18 -0
- package/dist/components/profile-store.js.map +1 -0
- package/dist/components/profile.js +151 -0
- package/dist/components/profile.js.map +1 -0
- package/dist/components/raw-field.js +318 -0
- package/dist/components/raw-field.js.map +1 -0
- package/dist/components/spinner.js +35 -0
- package/dist/components/spinner.js.map +1 -0
- package/dist/components/submit-button.js +231 -0
- package/dist/components/submit-button.js.map +1 -0
- package/dist/components/u-conditional-render.d.ts +11 -0
- package/dist/components/u-conditional-render.js +120 -0
- package/dist/components/u-conditional-render.js.map +1 -0
- package/dist/components/u-config.d.ts +11 -0
- package/dist/components/u-config.js +113 -0
- package/dist/components/u-config.js.map +1 -0
- package/dist/components/u-email-field.d.ts +11 -0
- package/dist/components/u-email-field.js +99 -0
- package/dist/components/u-email-field.js.map +1 -0
- package/dist/components/u-error-message.d.ts +11 -0
- package/dist/components/u-error-message.js +105 -0
- package/dist/components/u-error-message.js.map +1 -0
- package/dist/components/u-field.d.ts +11 -0
- package/dist/components/u-field.js +9 -0
- package/dist/components/u-field.js.map +1 -0
- package/dist/components/u-flash-message.d.ts +11 -0
- package/dist/components/u-flash-message.js +58 -0
- package/dist/components/u-flash-message.js.map +1 -0
- package/dist/components/u-full-profile.d.ts +11 -0
- package/dist/components/u-full-profile.js +87 -0
- package/dist/components/u-full-profile.js.map +1 -0
- package/dist/components/u-logout-button.d.ts +11 -0
- package/dist/components/u-logout-button.js +59 -0
- package/dist/components/u-logout-button.js.map +1 -0
- package/dist/components/u-magic-code-field.d.ts +11 -0
- package/dist/components/u-magic-code-field.js +106 -0
- package/dist/components/u-magic-code-field.js.map +1 -0
- package/dist/components/u-missing-field.d.ts +11 -0
- package/dist/components/u-missing-field.js +57 -0
- package/dist/components/u-missing-field.js.map +1 -0
- package/dist/components/u-missing-fields-submit-button.d.ts +11 -0
- package/dist/components/u-missing-fields-submit-button.js +70 -0
- package/dist/components/u-missing-fields-submit-button.js.map +1 -0
- package/dist/components/u-newsletter-checkbox.d.ts +11 -0
- package/dist/components/u-newsletter-checkbox.js +93 -0
- package/dist/components/u-newsletter-checkbox.js.map +1 -0
- package/dist/components/u-newsletter-logout-button.d.ts +11 -0
- package/dist/components/u-newsletter-logout-button.js +51 -0
- package/dist/components/u-newsletter-logout-button.js.map +1 -0
- package/dist/components/u-newsletter-preference-checkbox.d.ts +11 -0
- package/dist/components/u-newsletter-preference-checkbox.js +140 -0
- package/dist/components/u-newsletter-preference-checkbox.js.map +1 -0
- package/dist/components/u-newsletter-resend-doi-button.d.ts +11 -0
- package/dist/components/u-newsletter-resend-doi-button.js +70 -0
- package/dist/components/u-newsletter-resend-doi-button.js.map +1 -0
- package/dist/components/u-newsletter-root.d.ts +11 -0
- package/dist/components/u-newsletter-root.js +90 -0
- package/dist/components/u-newsletter-root.js.map +1 -0
- package/dist/components/u-newsletter-toggle-subscription-button.d.ts +11 -0
- package/dist/components/u-newsletter-toggle-subscription-button.js +97 -0
- package/dist/components/u-newsletter-toggle-subscription-button.js.map +1 -0
- package/dist/components/u-pagination-button.d.ts +11 -0
- package/dist/components/u-pagination-button.js +86 -0
- package/dist/components/u-pagination-button.js.map +1 -0
- package/dist/components/u-pagination-page.d.ts +11 -0
- package/dist/components/u-pagination-page.js +66 -0
- package/dist/components/u-pagination-page.js.map +1 -0
- package/dist/components/u-passkey.d.ts +11 -0
- package/dist/components/u-passkey.js +65 -0
- package/dist/components/u-passkey.js.map +1 -0
- package/dist/components/u-password-field.d.ts +11 -0
- package/dist/components/u-password-field.js +127 -0
- package/dist/components/u-password-field.js.map +1 -0
- package/dist/components/u-profile.d.ts +11 -0
- package/dist/components/u-profile.js +9 -0
- package/dist/components/u-profile.js.map +1 -0
- package/dist/components/u-raw-field.d.ts +11 -0
- package/dist/components/u-raw-field.js +9 -0
- package/dist/components/u-raw-field.js.map +1 -0
- package/dist/components/u-registration-button.d.ts +11 -0
- package/dist/components/u-registration-button.js +70 -0
- package/dist/components/u-registration-button.js.map +1 -0
- package/dist/components/u-reset-password-button.d.ts +11 -0
- package/dist/components/u-reset-password-button.js +72 -0
- package/dist/components/u-reset-password-button.js.map +1 -0
- package/dist/components/u-send-magic-code-button.d.ts +11 -0
- package/dist/components/u-send-magic-code-button.js +85 -0
- package/dist/components/u-send-magic-code-button.js.map +1 -0
- package/dist/components/u-signed-in.d.ts +11 -0
- package/dist/components/u-signed-in.js +44 -0
- package/dist/components/u-signed-in.js.map +1 -0
- package/dist/components/u-signin-root.d.ts +11 -0
- package/dist/components/u-signin-root.js +63 -0
- package/dist/components/u-signin-root.js.map +1 -0
- package/dist/components/u-signin-step.d.ts +11 -0
- package/dist/components/u-signin-step.js +84 -0
- package/dist/components/u-signin-step.js.map +1 -0
- package/dist/components/u-signin-strategy.d.ts +11 -0
- package/dist/components/u-signin-strategy.js +50 -0
- package/dist/components/u-signin-strategy.js.map +1 -0
- package/dist/components/u-social-login-button.d.ts +11 -0
- package/dist/components/u-social-login-button.js +125 -0
- package/dist/components/u-social-login-button.js.map +1 -0
- package/dist/components/u-spinner.d.ts +11 -0
- package/dist/components/u-spinner.js +9 -0
- package/dist/components/u-spinner.js.map +1 -0
- package/dist/components/u-submit-button.d.ts +11 -0
- package/dist/components/u-submit-button.js +9 -0
- package/dist/components/u-submit-button.js.map +1 -0
- package/dist/components/u-ticketable-list.d.ts +11 -0
- package/dist/components/u-ticketable-list.js +6130 -0
- package/dist/components/u-ticketable-list.js.map +1 -0
- package/dist/components/unidy-store.js +37 -0
- package/dist/components/unidy-store.js.map +1 -0
- package/dist/esm/app-globals-CPU9ZcqZ.js +8 -0
- package/dist/esm/app-globals-CPU9ZcqZ.js.map +1 -0
- package/dist/esm/auth-B0RIcDM-.js +580 -0
- package/dist/esm/auth-B0RIcDM-.js.map +1 -0
- package/dist/esm/auth-store-BGMYm_jK.js +178 -0
- package/dist/esm/auth-store-BGMYm_jK.js.map +1 -0
- package/dist/esm/component-utils-D1lzXl_Z.js +32 -0
- package/dist/esm/component-utils-D1lzXl_Z.js.map +1 -0
- package/dist/esm/flash-store-CEvWSG0c.js +47 -0
- package/dist/esm/flash-store-CEvWSG0c.js.map +1 -0
- package/dist/esm/helpers-BqFCd65h.js +9 -0
- package/dist/esm/helpers-BqFCd65h.js.map +1 -0
- package/dist/esm/helpers-DUHc_Cx7.js +9 -0
- package/dist/esm/helpers-DUHc_Cx7.js.map +1 -0
- package/dist/esm/i18n-CLdWzy5J.js +3233 -0
- package/dist/esm/i18n-CLdWzy5J.js.map +1 -0
- package/dist/esm/index-Bjp1XO-f.js +212 -0
- package/dist/esm/index-Bjp1XO-f.js.map +1 -0
- package/dist/esm/index-Ci3aTmzp.js +12007 -0
- package/dist/esm/index-Ci3aTmzp.js.map +1 -0
- package/dist/esm/index-DSDkaHWI.js +5254 -0
- package/dist/esm/index-DSDkaHWI.js.map +1 -0
- package/dist/esm/index.js +40 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/loader.js +12 -0
- package/dist/esm/loader.js.map +1 -0
- package/dist/esm/newsletter-helpers-CONtbKYi.js +278 -0
- package/dist/esm/newsletter-helpers-CONtbKYi.js.map +1 -0
- package/dist/esm/newsletter-store-DBL1A203.js +34 -0
- package/dist/esm/newsletter-store-DBL1A203.js.map +1 -0
- package/dist/esm/pagination-store-DzdJOp-n.js +14 -0
- package/dist/esm/pagination-store-DzdJOp-n.js.map +1 -0
- package/dist/esm/profile-helpers-CglNd6Nw.js +36 -0
- package/dist/esm/profile-helpers-CglNd6Nw.js.map +1 -0
- package/dist/esm/profile-store-RmZB2PTc.js +18 -0
- package/dist/esm/profile-store-RmZB2PTc.js.map +1 -0
- package/dist/esm/sdk.js +22 -0
- package/dist/esm/sdk.js.map +1 -0
- package/dist/esm/u-conditional-render.entry.js +100 -0
- package/dist/esm/u-conditional-render.entry.js.map +1 -0
- package/dist/esm/u-config.entry.js +85 -0
- package/dist/esm/u-config.entry.js.map +1 -0
- package/dist/esm/u-email-field.entry.js +75 -0
- package/dist/esm/u-email-field.entry.js.map +1 -0
- package/dist/esm/u-error-message.entry.js +80 -0
- package/dist/esm/u-error-message.entry.js.map +1 -0
- package/dist/esm/u-field.u-raw-field.entry.js.map +1 -0
- package/dist/esm/u-field_2.entry.js +372 -0
- package/dist/esm/u-flash-message.entry.js +35 -0
- package/dist/esm/u-flash-message.entry.js.map +1 -0
- package/dist/esm/u-full-profile.entry.js +35 -0
- package/dist/esm/u-full-profile.entry.js.map +1 -0
- package/dist/esm/u-logout-button.u-signed-in.entry.js.map +1 -0
- package/dist/esm/u-logout-button_2.entry.js +57 -0
- package/dist/esm/u-magic-code-field.entry.js +89 -0
- package/dist/esm/u-magic-code-field.entry.js.map +1 -0
- package/dist/esm/u-missing-field.entry.js +20 -0
- package/dist/esm/u-missing-field.entry.js.map +1 -0
- package/dist/esm/u-missing-fields-submit-button.entry.js +44 -0
- package/dist/esm/u-missing-fields-submit-button.entry.js.map +1 -0
- package/dist/esm/u-newsletter-checkbox.entry.js +75 -0
- package/dist/esm/u-newsletter-checkbox.entry.js.map +1 -0
- package/dist/esm/u-newsletter-logout-button.entry.js +34 -0
- package/dist/esm/u-newsletter-logout-button.entry.js.map +1 -0
- package/dist/esm/u-newsletter-preference-checkbox.entry.js +118 -0
- package/dist/esm/u-newsletter-preference-checkbox.entry.js.map +1 -0
- package/dist/esm/u-newsletter-resend-doi-button.entry.js +47 -0
- package/dist/esm/u-newsletter-resend-doi-button.entry.js.map +1 -0
- package/dist/esm/u-newsletter-root.entry.js +70 -0
- package/dist/esm/u-newsletter-root.entry.js.map +1 -0
- package/dist/esm/u-newsletter-toggle-subscription-button.entry.js +71 -0
- package/dist/esm/u-newsletter-toggle-subscription-button.entry.js.map +1 -0
- package/dist/esm/u-pagination-button.entry.js +61 -0
- package/dist/esm/u-pagination-button.entry.js.map +1 -0
- package/dist/esm/u-pagination-page.entry.js +42 -0
- package/dist/esm/u-pagination-page.entry.js.map +1 -0
- package/dist/esm/u-passkey.entry.js +45 -0
- package/dist/esm/u-passkey.entry.js.map +1 -0
- package/dist/esm/u-password-field.entry.js +104 -0
- package/dist/esm/u-password-field.entry.js.map +1 -0
- package/dist/esm/u-profile.u-submit-button.entry.js.map +1 -0
- package/dist/esm/u-profile_2.entry.js +324 -0
- package/dist/esm/u-registration-button.entry.js +46 -0
- package/dist/esm/u-registration-button.entry.js.map +1 -0
- package/dist/esm/u-reset-password-button.entry.js +54 -0
- package/dist/esm/u-reset-password-button.entry.js.map +1 -0
- package/dist/esm/u-send-magic-code-button.entry.js +66 -0
- package/dist/esm/u-send-magic-code-button.entry.js.map +1 -0
- package/dist/esm/u-signin-root.entry.js +41 -0
- package/dist/esm/u-signin-root.entry.js.map +1 -0
- package/dist/esm/u-signin-step.entry.js +64 -0
- package/dist/esm/u-signin-step.entry.js.map +1 -0
- package/dist/esm/u-signin-strategy.entry.js +28 -0
- package/dist/esm/u-signin-strategy.entry.js.map +1 -0
- package/dist/esm/u-social-login-button.entry.js +98 -0
- package/dist/esm/u-social-login-button.entry.js.map +1 -0
- package/dist/esm/u-spinner.entry.js +16 -0
- package/dist/esm/u-spinner.entry.js.map +1 -0
- package/dist/esm/u-ticketable-list.entry.js +6095 -0
- package/dist/esm/u-ticketable-list.entry.js.map +1 -0
- package/dist/esm/unidy-store-BldTAtO0.js +37 -0
- package/dist/esm/unidy-store-BldTAtO0.js.map +1 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/sdk/index.esm.js +2 -0
- package/dist/sdk/index.esm.js.map +1 -0
- package/dist/sdk/loader.esm.js.map +1 -0
- package/dist/sdk/locales/de.json +133 -0
- package/dist/sdk/locales/en.json +133 -0
- package/dist/sdk/locales/fr.json +133 -0
- package/dist/sdk/locales/it.json +133 -0
- package/dist/sdk/locales/nl_be.json +133 -0
- package/dist/sdk/locales/ro.json +133 -0
- package/dist/sdk/p-08ff2de2.entry.js +2 -0
- package/dist/sdk/p-08ff2de2.entry.js.map +1 -0
- package/dist/sdk/p-09cd77e6.entry.js +2 -0
- package/dist/sdk/p-09cd77e6.entry.js.map +1 -0
- package/dist/sdk/p-1176c407.entry.js +2 -0
- package/dist/sdk/p-1176c407.entry.js.map +1 -0
- package/dist/sdk/p-22e4d08b.entry.js +2 -0
- package/dist/sdk/p-22e4d08b.entry.js.map +1 -0
- package/dist/sdk/p-2a65bcbb.entry.js +2 -0
- package/dist/sdk/p-2a65bcbb.entry.js.map +1 -0
- package/dist/sdk/p-2af8b45f.entry.js +2 -0
- package/dist/sdk/p-2af8b45f.entry.js.map +1 -0
- package/dist/sdk/p-339f32c1.entry.js +2 -0
- package/dist/sdk/p-339f32c1.entry.js.map +1 -0
- package/dist/sdk/p-56abb377.entry.js +2 -0
- package/dist/sdk/p-56abb377.entry.js.map +1 -0
- package/dist/sdk/p-593c6dde.entry.js +2 -0
- package/dist/sdk/p-593c6dde.entry.js.map +1 -0
- package/dist/sdk/p-5b627aea.entry.js +2 -0
- package/dist/sdk/p-5b627aea.entry.js.map +1 -0
- package/dist/sdk/p-628ccd68.entry.js +2 -0
- package/dist/sdk/p-628ccd68.entry.js.map +1 -0
- package/dist/sdk/p-675eb13d.entry.js +2 -0
- package/dist/sdk/p-675eb13d.entry.js.map +1 -0
- package/dist/sdk/p-6893d167.entry.js +2 -0
- package/dist/sdk/p-6893d167.entry.js.map +1 -0
- package/dist/sdk/p-6a642433.entry.js +2 -0
- package/dist/sdk/p-6a642433.entry.js.map +1 -0
- package/dist/sdk/p-73c2ec89.entry.js +2 -0
- package/dist/sdk/p-73c2ec89.entry.js.map +1 -0
- package/dist/sdk/p-87d10077.entry.js +2 -0
- package/dist/sdk/p-87d10077.entry.js.map +1 -0
- package/dist/sdk/p-91bb8b59.entry.js +2 -0
- package/dist/sdk/p-91bb8b59.entry.js.map +1 -0
- package/dist/sdk/p-93200fb4.entry.js +2 -0
- package/dist/sdk/p-93200fb4.entry.js.map +1 -0
- package/dist/sdk/p-9f59909b.entry.js +2 -0
- package/dist/sdk/p-9f59909b.entry.js.map +1 -0
- package/dist/sdk/p-BZ1kW_eK.js +2 -0
- package/dist/sdk/p-BZ1kW_eK.js.map +1 -0
- package/dist/sdk/p-BlAULXyw.js +2 -0
- package/dist/sdk/p-BlAULXyw.js.map +1 -0
- package/dist/sdk/p-BlOjABPD.js +2 -0
- package/dist/sdk/p-BlOjABPD.js.map +1 -0
- package/dist/sdk/p-BqFCd65h.js +2 -0
- package/dist/sdk/p-BqFCd65h.js.map +1 -0
- package/dist/sdk/p-C0feI0p8.js +2 -0
- package/dist/sdk/p-C0feI0p8.js.map +1 -0
- package/dist/sdk/p-C3fhudPT.js +2 -0
- package/dist/sdk/p-C3fhudPT.js.map +1 -0
- package/dist/sdk/p-CFiZLMAA.js +2 -0
- package/dist/sdk/p-CFiZLMAA.js.map +1 -0
- package/dist/sdk/p-CPPYdoIv.js +2 -0
- package/dist/sdk/p-CPPYdoIv.js.map +1 -0
- package/dist/sdk/p-CbRhHGU5.js +2 -0
- package/dist/sdk/p-CbRhHGU5.js.map +1 -0
- package/dist/sdk/p-Ce8zGAi1.js +2 -0
- package/dist/sdk/p-Ce8zGAi1.js.map +1 -0
- package/dist/sdk/p-Ci3aTmzp.js +3 -0
- package/dist/sdk/p-Ci3aTmzp.js.map +1 -0
- package/dist/sdk/p-D1lzXl_Z.js +2 -0
- package/dist/sdk/p-D1lzXl_Z.js.map +1 -0
- package/dist/sdk/p-DA84OuuU.js +2 -0
- package/dist/sdk/p-DA84OuuU.js.map +1 -0
- package/dist/sdk/p-DUHc_Cx7.js +2 -0
- package/dist/sdk/p-DUHc_Cx7.js.map +1 -0
- package/dist/sdk/p-DYtgart8.js +2 -0
- package/dist/sdk/p-DYtgart8.js.map +1 -0
- package/dist/sdk/p-DdUvQelg.js +2 -0
- package/dist/sdk/p-DdUvQelg.js.map +1 -0
- package/dist/sdk/p-S3-2d2Qd.js +2 -0
- package/dist/sdk/p-S3-2d2Qd.js.map +1 -0
- package/dist/sdk/p-a5db968f.entry.js +2 -0
- package/dist/sdk/p-a5db968f.entry.js.map +1 -0
- package/dist/sdk/p-ad796888.entry.js +2 -0
- package/dist/sdk/p-ad796888.entry.js.map +1 -0
- package/dist/sdk/p-afc65acd.entry.js +2 -0
- package/dist/sdk/p-afc65acd.entry.js.map +1 -0
- package/dist/sdk/p-b0728464.entry.js +2 -0
- package/dist/sdk/p-b0728464.entry.js.map +1 -0
- package/dist/sdk/p-b0917777.entry.js +2 -0
- package/dist/sdk/p-b0917777.entry.js.map +1 -0
- package/dist/sdk/p-bb603b00.entry.js +2 -0
- package/dist/sdk/p-bb603b00.entry.js.map +1 -0
- package/dist/sdk/p-c197fdb3.entry.js +2 -0
- package/dist/sdk/p-c197fdb3.entry.js.map +1 -0
- package/dist/sdk/p-c31dbbb4.entry.js +2 -0
- package/dist/sdk/p-c31dbbb4.entry.js.map +1 -0
- package/dist/sdk/p-c5bffd90.entry.js +2 -0
- package/dist/sdk/p-c5bffd90.entry.js.map +1 -0
- package/dist/sdk/p-f0598e42.entry.js +2 -0
- package/dist/sdk/p-f0598e42.entry.js.map +1 -0
- package/dist/sdk/p-f5615938.entry.js +2 -0
- package/dist/sdk/p-f5615938.entry.js.map +1 -0
- package/dist/sdk/p-ffac964c.entry.js +2 -0
- package/dist/sdk/p-ffac964c.entry.js.map +1 -0
- package/dist/sdk/sdk.css +39 -0
- package/dist/sdk/sdk.esm.js +2 -0
- package/dist/sdk/sdk.esm.js.map +1 -0
- package/dist/sdk/u-conditional-render.entry.esm.js.map +1 -0
- package/dist/sdk/u-config.entry.esm.js.map +1 -0
- package/dist/sdk/u-email-field.entry.esm.js.map +1 -0
- package/dist/sdk/u-error-message.entry.esm.js.map +1 -0
- package/dist/sdk/u-field.u-raw-field.entry.esm.js.map +1 -0
- package/dist/sdk/u-flash-message.entry.esm.js.map +1 -0
- package/dist/sdk/u-full-profile.entry.esm.js.map +1 -0
- package/dist/sdk/u-logout-button.u-signed-in.entry.esm.js.map +1 -0
- package/dist/sdk/u-magic-code-field.entry.esm.js.map +1 -0
- package/dist/sdk/u-missing-field.entry.esm.js.map +1 -0
- package/dist/sdk/u-missing-fields-submit-button.entry.esm.js.map +1 -0
- package/dist/sdk/u-newsletter-checkbox.entry.esm.js.map +1 -0
- package/dist/sdk/u-newsletter-logout-button.entry.esm.js.map +1 -0
- package/dist/sdk/u-newsletter-preference-checkbox.entry.esm.js.map +1 -0
- package/dist/sdk/u-newsletter-resend-doi-button.entry.esm.js.map +1 -0
- package/dist/sdk/u-newsletter-root.entry.esm.js.map +1 -0
- package/dist/sdk/u-newsletter-toggle-subscription-button.entry.esm.js.map +1 -0
- package/dist/sdk/u-pagination-button.entry.esm.js.map +1 -0
- package/dist/sdk/u-pagination-page.entry.esm.js.map +1 -0
- package/dist/sdk/u-passkey.entry.esm.js.map +1 -0
- package/dist/sdk/u-password-field.entry.esm.js.map +1 -0
- package/dist/sdk/u-profile.u-submit-button.entry.esm.js.map +1 -0
- package/dist/sdk/u-registration-button.entry.esm.js.map +1 -0
- package/dist/sdk/u-reset-password-button.entry.esm.js.map +1 -0
- package/dist/sdk/u-send-magic-code-button.entry.esm.js.map +1 -0
- package/dist/sdk/u-signin-root.entry.esm.js.map +1 -0
- package/dist/sdk/u-signin-step.entry.esm.js.map +1 -0
- package/dist/sdk/u-signin-strategy.entry.esm.js.map +1 -0
- package/dist/sdk/u-social-login-button.entry.esm.js.map +1 -0
- package/dist/sdk/u-spinner.entry.esm.js.map +1 -0
- package/dist/sdk/u-ticketable-list.entry.esm.js.map +1 -0
- package/dist/types/api/client.d.ts +32 -0
- package/dist/types/api/index.d.ts +22 -0
- package/dist/types/api/shared.d.ts +20 -0
- package/dist/types/auth/api/auth.d.ts +300 -0
- package/dist/types/auth/auth-helpers.d.ts +375 -0
- package/dist/types/auth/auth.d.ts +54 -0
- package/dist/types/auth/components/helpers.d.ts +1 -0
- package/dist/types/auth/components/logout-button/logout-button.d.ts +11 -0
- package/dist/types/auth/components/magic-code-field/magic-code-field.d.ts +10 -0
- package/dist/types/auth/components/missing-field/missing-field.d.ts +4 -0
- package/dist/types/auth/components/missing-fields-submit-button/missing-fields-submit-button.d.ts +5 -0
- package/dist/types/auth/components/passkey/passkey.d.ts +9 -0
- package/dist/types/auth/components/password-field/password-field.d.ts +15 -0
- package/dist/types/auth/components/registration/registration-button.d.ts +11 -0
- package/dist/types/auth/components/reset-pass-button/reset-pass-button.d.ts +7 -0
- package/dist/types/auth/components/send-magic-code-button/send-magic-code-button.d.ts +11 -0
- package/dist/types/auth/components/signed-in/signed-in.d.ts +5 -0
- package/dist/types/auth/components/signin-root/signin-root.d.ts +14 -0
- package/dist/types/auth/components/signin-step/signin-step.d.ts +8 -0
- package/dist/types/auth/components/signin-strategy/signin-strategy.d.ts +5 -0
- package/dist/types/auth/components/social-logins/logos/apple.d.ts +4 -0
- package/dist/types/auth/components/social-logins/logos/discord.d.ts +4 -0
- package/dist/types/auth/components/social-logins/logos/facebook.d.ts +4 -0
- package/dist/types/auth/components/social-logins/logos/google.d.ts +4 -0
- package/dist/types/auth/components/social-logins/logos/linkedin.d.ts +4 -0
- package/dist/types/auth/components/social-logins/social-login-button.d.ts +24 -0
- package/dist/types/auth/components/submit-button/auth-submit-button.d.ts +3 -0
- package/dist/types/auth/error-definitions.d.ts +23 -0
- package/dist/types/auth/index.d.ts +16 -0
- package/dist/types/auth/passkey-auth.d.ts +2 -0
- package/dist/types/auth/store/auth-store.d.ts +56 -0
- package/dist/types/components.d.ts +1262 -0
- package/dist/types/globalScript.d.ts +1 -0
- package/dist/types/i18n.d.ts +3 -0
- package/dist/types/index.d.ts +16 -0
- package/dist/types/logger.d.ts +55 -0
- package/dist/types/newsletter/api/newsletters.d.ts +198 -0
- package/dist/types/newsletter/components/helpers.d.ts +1 -0
- package/dist/types/newsletter/components/logout-button/logout-button.d.ts +6 -0
- package/dist/types/newsletter/components/newsletter-checkbox/newsletter-checkbox.d.ts +15 -0
- package/dist/types/newsletter/components/newsletter-root/newsletter-root.d.ts +11 -0
- package/dist/types/newsletter/components/preference-checkbox/preference-checkbox.d.ts +28 -0
- package/dist/types/newsletter/components/resend-doi-button/resend-doi-button.d.ts +8 -0
- package/dist/types/newsletter/components/submit-button/newsletter-submit-button.d.ts +3 -0
- package/dist/types/newsletter/components/toggle-subscription-button/toggle-subscription-button.d.ts +12 -0
- package/dist/types/newsletter/index.d.ts +10 -0
- package/dist/types/newsletter/newsletter-helpers.d.ts +15 -0
- package/dist/types/newsletter/store/newsletter-store.d.ts +25 -0
- package/dist/types/profile/api/profile.d.ts +238 -0
- package/dist/types/profile/components/field/field.d.ts +40 -0
- package/dist/types/profile/components/full-profile/full-profile.d.ts +6 -0
- package/dist/types/profile/components/profile/profile.d.ts +27 -0
- package/dist/types/profile/components/raw-field/raw-field.d.ts +45 -0
- package/dist/types/profile/components/raw-input-fields/Input.d.ts +17 -0
- package/dist/types/profile/components/raw-input-fields/MultiSelect.d.ts +28 -0
- package/dist/types/profile/components/raw-input-fields/RadioGroup.d.ts +30 -0
- package/dist/types/profile/components/raw-input-fields/Select.d.ts +24 -0
- package/dist/types/profile/components/raw-input-fields/Textarea.d.ts +17 -0
- package/dist/types/profile/components/submit-button/profile-submit-button.d.ts +2 -0
- package/dist/types/profile/index.d.ts +13 -0
- package/dist/types/profile/profile-helpers.d.ts +7 -0
- package/dist/types/profile/store/profile-store.d.ts +39 -0
- package/dist/types/shared/component-utils.d.ts +9 -0
- package/dist/types/shared/components/conditional-render/conditional-render.d.ts +11 -0
- package/dist/types/shared/components/config/config.d.ts +31 -0
- package/dist/types/shared/components/email-field/email-field.d.ts +13 -0
- package/dist/types/shared/components/error-message/error-message.d.ts +15 -0
- package/dist/types/shared/components/flash-message/close-icon.d.ts +1 -0
- package/dist/types/shared/components/flash-message/flash-message.d.ts +6 -0
- package/dist/types/shared/components/spinner/spinner.d.ts +3 -0
- package/dist/types/shared/components/submit-button/context.d.ts +9 -0
- package/dist/types/shared/components/submit-button/submit-button.d.ts +20 -0
- package/dist/types/shared/store/flash-store.d.ts +29 -0
- package/dist/types/shared/store/unidy-store.d.ts +12 -0
- package/dist/types/stencil-public-runtime.d.ts +1756 -0
- package/dist/types/ticketable/api/get-with-schema.d.ts +3 -0
- package/dist/types/ticketable/api/schemas.d.ts +18 -0
- package/dist/types/ticketable/api/subscriptions.d.ts +84 -0
- package/dist/types/ticketable/api/tickets.d.ts +86 -0
- package/dist/types/ticketable/components/pagination/pagination-button.d.ts +14 -0
- package/dist/types/ticketable/components/pagination/pagination-page.d.ts +12 -0
- package/dist/types/ticketable/components/ticketable-list/skeleton-helpers.d.ts +13 -0
- package/dist/types/ticketable/components/ticketable-list/ticketable-list.d.ts +41 -0
- package/dist/types/ticketable/index.d.ts +12 -0
- package/dist/types/ticketable/store/pagination-store.d.ts +10 -0
- package/loader/cdn.js +1 -0
- package/loader/index.cjs.js +1 -0
- package/loader/index.d.ts +24 -0
- package/loader/index.es2017.js +1 -0
- package/loader/index.js +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { authState } from "../../store/auth-store";
|
|
3
|
+
import { Auth } from "../../auth";
|
|
4
|
+
export class MagicCodeField {
|
|
5
|
+
componentClassName = "";
|
|
6
|
+
codeDigits = ["", "", "", ""];
|
|
7
|
+
inputRefs = [];
|
|
8
|
+
handleInput = (event, index) => {
|
|
9
|
+
const target = event.target;
|
|
10
|
+
const value = target.value.replace(/[^0-9]/g, "");
|
|
11
|
+
const sanitizedDigit = value.slice(-1);
|
|
12
|
+
target.value = sanitizedDigit;
|
|
13
|
+
const newDigits = [...this.codeDigits];
|
|
14
|
+
newDigits[index] = sanitizedDigit;
|
|
15
|
+
this.codeDigits = newDigits;
|
|
16
|
+
const fullCode = newDigits.join("");
|
|
17
|
+
if (value && index < 3) {
|
|
18
|
+
const nextInput = this.inputRefs[index + 1];
|
|
19
|
+
if (nextInput) {
|
|
20
|
+
nextInput.focus();
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
if (fullCode.length === 4) {
|
|
24
|
+
this.authenticateWithCode(fullCode);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
handleKeyDown = (event, index) => {
|
|
28
|
+
if (event.key === "Backspace" && !this.codeDigits[index] && index > 0) {
|
|
29
|
+
const prevInput = this.inputRefs[index - 1];
|
|
30
|
+
if (prevInput) {
|
|
31
|
+
prevInput.focus();
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
handlePaste = (event) => {
|
|
36
|
+
event.preventDefault();
|
|
37
|
+
const pastedData = event.clipboardData?.getData("text") || "";
|
|
38
|
+
const digits = pastedData
|
|
39
|
+
.replace(/[^0-9]/g, "")
|
|
40
|
+
.slice(0, 4)
|
|
41
|
+
.split("");
|
|
42
|
+
while (digits.length < 4) {
|
|
43
|
+
digits.push("");
|
|
44
|
+
}
|
|
45
|
+
this.codeDigits = digits;
|
|
46
|
+
const firstEmptyIndex = digits.findIndex((digit) => !digit);
|
|
47
|
+
const targetIndex = firstEmptyIndex !== -1 ? firstEmptyIndex : 3;
|
|
48
|
+
if (this.inputRefs[targetIndex]) {
|
|
49
|
+
this.inputRefs[targetIndex].focus();
|
|
50
|
+
}
|
|
51
|
+
const fullCode = digits.join("");
|
|
52
|
+
if (fullCode.length === 4) {
|
|
53
|
+
this.authenticateWithCode(fullCode);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
authenticateWithCode = async (code) => {
|
|
57
|
+
const authInstance = await Auth.getInstance();
|
|
58
|
+
await authInstance.helpers.authenticateWithMagicCode(code);
|
|
59
|
+
};
|
|
60
|
+
render() {
|
|
61
|
+
if (authState.step !== "magic-code") {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
return (h("div", { class: `u:flex u:gap-0.5 u:w-full u:justify-center ${this.componentClassName}` }, this.codeDigits.map((digit, index) => (h("input", {
|
|
65
|
+
// biome-ignore lint/suspicious/noArrayIndexKey: digits are fixed position inputs
|
|
66
|
+
key: index, ref: (el) => {
|
|
67
|
+
if (el)
|
|
68
|
+
this.inputRefs[index] = el;
|
|
69
|
+
}, id: `digit-input-${index + 1}`, type: "text", inputmode: "numeric", maxlength: "1", value: digit, disabled: authState.loading, onInput: (event) => this.handleInput(event, index), onKeyDown: (event) => this.handleKeyDown(event, index), onPaste: index === 0 ? this.handlePaste : undefined, "aria-label": `Digit ${index + 1} of ${this.codeDigits.length}`, class: "u:w-[50px] u:h-[50px] u:text-center u:text-lg u:border-2 u:border-solid u:border-slate-200 u:rounded-lg u:outline-none u:transition-colors u:duration-200", part: "digit-input"
|
|
70
|
+
})))));
|
|
71
|
+
}
|
|
72
|
+
static get is() { return "u-magic-code-field"; }
|
|
73
|
+
static get originalStyleUrls() {
|
|
74
|
+
return {
|
|
75
|
+
"$": ["magic-code-field.css"]
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
static get styleUrls() {
|
|
79
|
+
return {
|
|
80
|
+
"$": ["magic-code-field.css"]
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
static get properties() {
|
|
84
|
+
return {
|
|
85
|
+
"componentClassName": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"mutable": false,
|
|
88
|
+
"complexType": {
|
|
89
|
+
"original": "string",
|
|
90
|
+
"resolved": "string",
|
|
91
|
+
"references": {}
|
|
92
|
+
},
|
|
93
|
+
"required": false,
|
|
94
|
+
"optional": false,
|
|
95
|
+
"docs": {
|
|
96
|
+
"tags": [],
|
|
97
|
+
"text": ""
|
|
98
|
+
},
|
|
99
|
+
"getter": false,
|
|
100
|
+
"setter": false,
|
|
101
|
+
"reflect": false,
|
|
102
|
+
"attribute": "class-name",
|
|
103
|
+
"defaultValue": "\"\""
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
static get states() {
|
|
108
|
+
return {
|
|
109
|
+
"codeDigits": {}
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=magic-code-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"magic-code-field.js","sourceRoot":"","sources":["../../../../src/auth/components/magic-code-field/magic-code-field.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, h, Prop, State } from \"@stencil/core\";\nimport { authState } from \"../../store/auth-store\";\nimport { Auth } from \"../../auth\";\n\n@Component({\n tag: \"u-magic-code-field\",\n styleUrl: \"magic-code-field.css\",\n shadow: false,\n})\nexport class MagicCodeField {\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n @State() codeDigits: string[] = [\"\", \"\", \"\", \"\"];\n\n private inputRefs: HTMLInputElement[] = [];\n\n private handleInput = (event: Event, index: number) => {\n const target = event.target as HTMLInputElement;\n const value = target.value.replace(/[^0-9]/g, \"\");\n const sanitizedDigit = value.slice(-1);\n target.value = sanitizedDigit;\n\n const newDigits = [...this.codeDigits];\n newDigits[index] = sanitizedDigit;\n this.codeDigits = newDigits;\n\n const fullCode = newDigits.join(\"\");\n\n if (value && index < 3) {\n const nextInput = this.inputRefs[index + 1];\n if (nextInput) {\n nextInput.focus();\n }\n }\n\n if (fullCode.length === 4) {\n this.authenticateWithCode(fullCode);\n }\n };\n\n private handleKeyDown = (event: KeyboardEvent, index: number) => {\n if (event.key === \"Backspace\" && !this.codeDigits[index] && index > 0) {\n const prevInput = this.inputRefs[index - 1];\n if (prevInput) {\n prevInput.focus();\n }\n }\n };\n\n private handlePaste = (event: ClipboardEvent) => {\n event.preventDefault();\n const pastedData = event.clipboardData?.getData(\"text\") || \"\";\n const digits = pastedData\n .replace(/[^0-9]/g, \"\")\n .slice(0, 4)\n .split(\"\");\n\n while (digits.length < 4) {\n digits.push(\"\");\n }\n\n this.codeDigits = digits;\n\n const firstEmptyIndex = digits.findIndex((digit) => !digit);\n const targetIndex = firstEmptyIndex !== -1 ? firstEmptyIndex : 3;\n if (this.inputRefs[targetIndex]) {\n this.inputRefs[targetIndex].focus();\n }\n\n const fullCode = digits.join(\"\");\n if (fullCode.length === 4) {\n this.authenticateWithCode(fullCode);\n }\n };\n\n private authenticateWithCode = async (code: string) => {\n const authInstance = await Auth.getInstance();\n\n await authInstance.helpers.authenticateWithMagicCode(code);\n };\n render() {\n if (authState.step !== \"magic-code\") {\n return null;\n }\n\n return (\n <div class={`u:flex u:gap-0.5 u:w-full u:justify-center ${this.componentClassName}`}>\n {this.codeDigits.map((digit, index) => (\n <input\n // biome-ignore lint/suspicious/noArrayIndexKey: digits are fixed position inputs\n key={index}\n ref={(el) => {\n if (el) this.inputRefs[index] = el;\n }}\n id={`digit-input-${index + 1}`}\n type=\"text\"\n inputmode=\"numeric\"\n maxlength=\"1\"\n value={digit}\n disabled={authState.loading}\n onInput={(event) => this.handleInput(event, index)}\n onKeyDown={(event) => this.handleKeyDown(event, index)}\n onPaste={index === 0 ? this.handlePaste : undefined}\n aria-label={`Digit ${index + 1} of ${this.codeDigits.length}`}\n class=\"u:w-[50px] u:h-[50px] u:text-center u:text-lg u:border-2 u:border-solid u:border-slate-200 u:rounded-lg u:outline-none u:transition-colors u:duration-200\"\n part=\"digit-input\"\n />\n ))}\n </div>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { authState, missingFieldNames } from "../../store/auth-store";
|
|
3
|
+
export class MissingField {
|
|
4
|
+
el;
|
|
5
|
+
render() {
|
|
6
|
+
if (authState.step !== "missing-fields")
|
|
7
|
+
return null;
|
|
8
|
+
const fieldNames = missingFieldNames();
|
|
9
|
+
return (h("div", { class: "missing-fields" }, h("form", null, fieldNames.map((fieldName) => (h("u-field", { key: fieldName, field: fieldName, renderDefaultLabel: true }))))));
|
|
10
|
+
}
|
|
11
|
+
static get is() { return "u-missing-field"; }
|
|
12
|
+
static get elementRef() { return "el"; }
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=missing-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"missing-field.js","sourceRoot":"","sources":["../../../../src/auth/components/missing-field/missing-field.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAMtE,MAAM,OAAO,YAAY;IACZ,EAAE,CAAe;IAE5B,MAAM;QACJ,IAAI,SAAS,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAO,IAAI,CAAC;QAErD,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;QAEvC,OAAO,CACL,WAAK,KAAK,EAAC,gBAAgB;YACzB,gBACG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAC7B,eAAS,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE,IAAI,GAAI,CACxE,CAAC,CACG,CACH,CACP,CAAC;IACJ,CAAC;;;CACF","sourcesContent":["import { Component, h, Element } 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"]}
|
package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { getUnidyClient } from "../../../api";
|
|
3
|
+
import { state as profileState } from "../../../profile/store/profile-store";
|
|
4
|
+
import { authState, authStore } from "../../store/auth-store";
|
|
5
|
+
import { validateRequiredFieldsUnchanged, buildPayload } from "../../../profile/profile-helpers";
|
|
6
|
+
import { hasSlotContent } from "../../../shared/component-utils";
|
|
7
|
+
import { t } from "../../../i18n";
|
|
8
|
+
export class MissingFieldsSubmitButton {
|
|
9
|
+
el;
|
|
10
|
+
async onSubmit() {
|
|
11
|
+
profileState.loading = true;
|
|
12
|
+
const { configuration, ...stateWithoutConfig } = profileState;
|
|
13
|
+
if (!validateRequiredFieldsUnchanged(stateWithoutConfig.data)) {
|
|
14
|
+
profileState.loading = false;
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const updatedProfileData = buildPayload(stateWithoutConfig.data);
|
|
18
|
+
const sid = authState.sid;
|
|
19
|
+
const [error, response] = await getUnidyClient().auth.updateMissingFields(sid, updatedProfileData);
|
|
20
|
+
if (error) {
|
|
21
|
+
profileState.loading = false;
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
const { jwt } = response;
|
|
25
|
+
profileState.loading = false;
|
|
26
|
+
authStore.setToken(jwt);
|
|
27
|
+
// Emit authEvent to allow modal-based logins to close after successful submission
|
|
28
|
+
this.el.dispatchEvent(new CustomEvent("authEvent", { detail: { jwt }, bubbles: true, composed: true }));
|
|
29
|
+
}
|
|
30
|
+
render() {
|
|
31
|
+
if (authState.step !== "missing-fields")
|
|
32
|
+
return null;
|
|
33
|
+
return (h("div", null, h("button", { type: "button", onClick: () => this.onSubmit(), part: "button", disabled: (profileState.errors && Object.keys(profileState.errors).length > 0) || profileState.phoneValid === false, "aria-live": "polite" }, profileState.loading ? h("u-spinner", null) : hasSlotContent(this.el) ? h("slot", null) : t("buttons.submit"))));
|
|
34
|
+
}
|
|
35
|
+
static get is() { return "u-missing-fields-submit-button"; }
|
|
36
|
+
static get encapsulation() { return "shadow"; }
|
|
37
|
+
static get elementRef() { return "el"; }
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=missing-fields-submit-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"missing-fields-submit-button.js","sourceRoot":"","sources":["../../../../src/auth/components/missing-fields-submit-button/missing-fields-submit-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEjG,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAMlC,MAAM,OAAO,yBAAyB;IACzB,EAAE,CAAe;IAEpB,KAAK,CAAC,QAAQ;QACpB,YAAY,CAAC,OAAO,GAAG,IAAI,CAAC;QAE5B,MAAM,EAAE,aAAa,EAAE,GAAG,kBAAkB,EAAE,GAAG,YAAY,CAAC;QAE9D,IAAI,CAAC,+BAA+B,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9D,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,SAAS,CAAC,GAAa,CAAC;QAEpC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,MAAM,cAAc,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;QAEnG,IAAI,KAAK,EAAE,CAAC;YACV,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;YAC7B,OAAO;QACT,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,GAAG,QAAyB,CAAC;QAC1C,YAAY,CAAC,OAAO,GAAG,KAAK,CAAC;QAC7B,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAExB,kFAAkF;QAClF,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,CAAC;IAC1G,CAAC;IAED,MAAM;QACJ,IAAI,SAAS,CAAC,IAAI,KAAK,gBAAgB;YAAE,OAAO,IAAI,CAAC;QAErD,OAAO,CACL;YACE,cACE,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,EAC9B,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,CAAC,YAAY,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,YAAY,CAAC,UAAU,KAAK,KAAK,eACzG,QAAQ,IAEjB,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,oBAAa,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,eAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CACzF,CACL,CACP,CAAC;IACJ,CAAC;;;;CACF","sourcesContent":["import { Component, Element, h } from \"@stencil/core\";\nimport { getUnidyClient } from \"../../../api\";\nimport { state as profileState } from \"../../../profile/store/profile-store\";\nimport { authState, authStore } from \"../../store/auth-store\";\nimport { validateRequiredFieldsUnchanged, buildPayload } from \"../../../profile/profile-helpers\";\nimport type { TokenResponse } from \"../../api/auth\";\nimport { hasSlotContent } from \"../../../shared/component-utils\";\nimport { t } from \"../../../i18n\";\n\n@Component({\n tag: \"u-missing-fields-submit-button\",\n shadow: true,\n})\nexport class MissingFieldsSubmitButton {\n @Element() el!: HTMLElement;\n\n private async onSubmit() {\n profileState.loading = true;\n\n const { configuration, ...stateWithoutConfig } = profileState;\n\n if (!validateRequiredFieldsUnchanged(stateWithoutConfig.data)) {\n profileState.loading = false;\n return;\n }\n\n const updatedProfileData = buildPayload(stateWithoutConfig.data);\n const sid = authState.sid as string;\n\n const [error, response] = await getUnidyClient().auth.updateMissingFields(sid, updatedProfileData);\n\n if (error) {\n profileState.loading = false;\n return;\n }\n\n const { jwt } = response as TokenResponse;\n profileState.loading = false;\n authStore.setToken(jwt);\n\n // Emit authEvent to allow modal-based logins to close after successful submission\n this.el.dispatchEvent(new CustomEvent(\"authEvent\", { detail: { jwt }, bubbles: true, composed: true }));\n }\n\n render() {\n if (authState.step !== \"missing-fields\") return null;\n\n return (\n <div>\n <button\n type=\"button\"\n onClick={() => this.onSubmit()}\n part=\"button\"\n disabled={(profileState.errors && Object.keys(profileState.errors).length > 0) || profileState.phoneValid === false}\n aria-live=\"polite\"\n >\n {profileState.loading ? <u-spinner /> : hasSlotContent(this.el) ? <slot /> : t(\"buttons.submit\")}\n </button>\n </div>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
import { t } from "../../../i18n";
|
|
3
|
+
import { authState } from "../../store/auth-store";
|
|
4
|
+
import { Auth } from "../../auth";
|
|
5
|
+
export class Passkey {
|
|
6
|
+
disabled = false;
|
|
7
|
+
componentClassName = "";
|
|
8
|
+
ariaDescribedBy = "";
|
|
9
|
+
isSupported = false;
|
|
10
|
+
componentWillLoad() {
|
|
11
|
+
// Check if WebAuthn is supported
|
|
12
|
+
this.isSupported = typeof window !== "undefined" && !!window.PublicKeyCredential;
|
|
13
|
+
}
|
|
14
|
+
handleClick = async () => {
|
|
15
|
+
if (this.disabled || authState.loading || !this.isSupported)
|
|
16
|
+
return;
|
|
17
|
+
const authInstance = await Auth.getInstance();
|
|
18
|
+
await authInstance.helpers.authenticateWithPasskey();
|
|
19
|
+
};
|
|
20
|
+
render() {
|
|
21
|
+
if (!authState.availableLoginOptions?.passkey) {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
if (!this.isSupported) {
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
const isDisabled = this.disabled || authState.loading;
|
|
28
|
+
const text = t("auth.passkey.button_text", { defaultValue: "Sign in with Passkey" });
|
|
29
|
+
const loadingText = t("auth.passkey.loading_text", { defaultValue: "Authenticating..." });
|
|
30
|
+
return (h(Host, null, h("button", { type: "button", disabled: isDisabled, onClick: this.handleClick, class: this.componentClassName, "aria-live": "polite", "aria-describedby": this.ariaDescribedBy || undefined }, authState.loading ? loadingText : text)));
|
|
31
|
+
}
|
|
32
|
+
static get is() { return "u-passkey"; }
|
|
33
|
+
static get properties() {
|
|
34
|
+
return {
|
|
35
|
+
"disabled": {
|
|
36
|
+
"type": "boolean",
|
|
37
|
+
"mutable": false,
|
|
38
|
+
"complexType": {
|
|
39
|
+
"original": "boolean",
|
|
40
|
+
"resolved": "boolean",
|
|
41
|
+
"references": {}
|
|
42
|
+
},
|
|
43
|
+
"required": false,
|
|
44
|
+
"optional": false,
|
|
45
|
+
"docs": {
|
|
46
|
+
"tags": [],
|
|
47
|
+
"text": ""
|
|
48
|
+
},
|
|
49
|
+
"getter": false,
|
|
50
|
+
"setter": false,
|
|
51
|
+
"reflect": false,
|
|
52
|
+
"attribute": "disabled",
|
|
53
|
+
"defaultValue": "false"
|
|
54
|
+
},
|
|
55
|
+
"componentClassName": {
|
|
56
|
+
"type": "string",
|
|
57
|
+
"mutable": false,
|
|
58
|
+
"complexType": {
|
|
59
|
+
"original": "string",
|
|
60
|
+
"resolved": "string",
|
|
61
|
+
"references": {}
|
|
62
|
+
},
|
|
63
|
+
"required": false,
|
|
64
|
+
"optional": false,
|
|
65
|
+
"docs": {
|
|
66
|
+
"tags": [],
|
|
67
|
+
"text": ""
|
|
68
|
+
},
|
|
69
|
+
"getter": false,
|
|
70
|
+
"setter": false,
|
|
71
|
+
"reflect": false,
|
|
72
|
+
"attribute": "class-name",
|
|
73
|
+
"defaultValue": "\"\""
|
|
74
|
+
},
|
|
75
|
+
"ariaDescribedBy": {
|
|
76
|
+
"type": "string",
|
|
77
|
+
"mutable": false,
|
|
78
|
+
"complexType": {
|
|
79
|
+
"original": "string",
|
|
80
|
+
"resolved": "string",
|
|
81
|
+
"references": {}
|
|
82
|
+
},
|
|
83
|
+
"required": false,
|
|
84
|
+
"optional": true,
|
|
85
|
+
"docs": {
|
|
86
|
+
"tags": [],
|
|
87
|
+
"text": ""
|
|
88
|
+
},
|
|
89
|
+
"getter": false,
|
|
90
|
+
"setter": false,
|
|
91
|
+
"reflect": false,
|
|
92
|
+
"attribute": "aria-described-by",
|
|
93
|
+
"defaultValue": "\"\""
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
static get states() {
|
|
98
|
+
return {
|
|
99
|
+
"isSupported": {}
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=passkey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passkey.js","sourceRoot":"","sources":["../../../../src/auth/components/passkey/passkey.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAMlC,MAAM,OAAO,OAAO;IACV,QAAQ,GAAG,KAAK,CAAC;IACU,kBAAkB,GAAG,EAAE,CAAC;IACnD,eAAe,GAAI,EAAE,CAAC;IAErB,WAAW,GAAG,KAAK,CAAC;IAE7B,iBAAiB;QACf,iCAAiC;QACjC,IAAI,CAAC,WAAW,GAAG,OAAO,MAAM,KAAK,WAAW,IAAI,CAAC,CAAC,MAAM,CAAC,mBAAmB,CAAC;IACnF,CAAC;IAEO,WAAW,GAAG,KAAK,IAAI,EAAE;QAC/B,IAAI,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO;QAEpE,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAE9C,MAAM,YAAY,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;IACvD,CAAC,CAAC;IAEF,MAAM;QACJ,IAAI,CAAC,SAAS,CAAC,qBAAqB,EAAE,OAAO,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,SAAS,CAAC,OAAO,CAAC;QACtD,MAAM,IAAI,GAAG,CAAC,CAAC,0BAA0B,EAAE,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACrF,MAAM,WAAW,GAAG,CAAC,CAAC,2BAA2B,EAAE,EAAE,YAAY,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAE1F,OAAO,CACL,EAAC,IAAI;YACH,cACE,IAAI,EAAC,QAAQ,EACb,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,IAAI,CAAC,WAAW,EACzB,KAAK,EAAE,IAAI,CAAC,kBAAkB,eACpB,QAAQ,sBACA,IAAI,CAAC,eAAe,IAAI,SAAS,IAElD,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAChC,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Prop, State, Host } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { authState } from \"../../store/auth-store\";\nimport { Auth } from \"../../auth\";\n\n@Component({\n tag: \"u-passkey\",\n shadow: false,\n})\nexport class Passkey {\n @Prop() disabled = false;\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop() ariaDescribedBy? = \"\";\n\n @State() isSupported = false;\n\n componentWillLoad() {\n // Check if WebAuthn is supported\n this.isSupported = typeof window !== \"undefined\" && !!window.PublicKeyCredential;\n }\n\n private handleClick = async () => {\n if (this.disabled || authState.loading || !this.isSupported) return;\n\n const authInstance = await Auth.getInstance();\n\n await authInstance.helpers.authenticateWithPasskey();\n };\n\n render() {\n if (!authState.availableLoginOptions?.passkey) {\n return null;\n }\n\n if (!this.isSupported) {\n return null;\n }\n\n const isDisabled = this.disabled || authState.loading;\n const text = t(\"auth.passkey.button_text\", { defaultValue: \"Sign in with Passkey\" });\n const loadingText = t(\"auth.passkey.loading_text\", { defaultValue: \"Authenticating...\" });\n\n return (\n <Host>\n <button\n type=\"button\"\n disabled={isDisabled}\n onClick={this.handleClick}\n class={this.componentClassName}\n aria-live=\"polite\"\n aria-describedby={this.ariaDescribedBy || undefined}\n >\n {authState.loading ? loadingText : text}\n </button>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { h } from "@stencil/core";
|
|
2
|
+
import { t } from "../../../i18n";
|
|
3
|
+
import { authState, authStore } from "../../store/auth-store";
|
|
4
|
+
import { getParentSigninStep } from "../helpers";
|
|
5
|
+
export class PasswordField {
|
|
6
|
+
el;
|
|
7
|
+
for = "login";
|
|
8
|
+
componentClassName = "";
|
|
9
|
+
ariaLabel = "";
|
|
10
|
+
getAriaLabel() {
|
|
11
|
+
if (this.ariaLabel)
|
|
12
|
+
return this.ariaLabel;
|
|
13
|
+
switch (this.for) {
|
|
14
|
+
case "login":
|
|
15
|
+
return "Password";
|
|
16
|
+
case "new-password":
|
|
17
|
+
return "New Password";
|
|
18
|
+
case "password-confirmation":
|
|
19
|
+
return "Password Confirmation";
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
getValue() {
|
|
23
|
+
switch (this.for) {
|
|
24
|
+
case "login":
|
|
25
|
+
return authState.password;
|
|
26
|
+
case "new-password":
|
|
27
|
+
return authState.resetPassword.newPassword;
|
|
28
|
+
case "password-confirmation":
|
|
29
|
+
return authState.resetPassword.passwordConfirmation;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
getAutocomplete() {
|
|
33
|
+
switch (this.for) {
|
|
34
|
+
case "login":
|
|
35
|
+
return "current-password";
|
|
36
|
+
case "new-password":
|
|
37
|
+
case "password-confirmation":
|
|
38
|
+
return "new-password";
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
getInputName() {
|
|
42
|
+
switch (this.for) {
|
|
43
|
+
case "login":
|
|
44
|
+
return "password";
|
|
45
|
+
case "new-password":
|
|
46
|
+
return "new-password";
|
|
47
|
+
case "password-confirmation":
|
|
48
|
+
return "confirm-password";
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
handleInput = (event) => {
|
|
52
|
+
const target = event.target;
|
|
53
|
+
switch (this.for) {
|
|
54
|
+
case "login":
|
|
55
|
+
authStore.setPassword(target.value);
|
|
56
|
+
break;
|
|
57
|
+
case "new-password":
|
|
58
|
+
authStore.setNewPassword(target.value);
|
|
59
|
+
authStore.clearFieldError("resetPassword");
|
|
60
|
+
authStore.clearFieldError("password");
|
|
61
|
+
break;
|
|
62
|
+
case "password-confirmation":
|
|
63
|
+
authStore.setConfirmPassword(target.value);
|
|
64
|
+
authStore.clearFieldError("resetPassword");
|
|
65
|
+
authStore.clearFieldError("password");
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
handleSubmit = async (event) => {
|
|
70
|
+
event.preventDefault();
|
|
71
|
+
(await getParentSigninStep(this.el))?.submit();
|
|
72
|
+
};
|
|
73
|
+
shouldRender() {
|
|
74
|
+
switch (this.for) {
|
|
75
|
+
case "login":
|
|
76
|
+
if (authState.step === "single-login")
|
|
77
|
+
return true;
|
|
78
|
+
if (authState.step === "verification" && authState.availableLoginOptions?.password) {
|
|
79
|
+
return true;
|
|
80
|
+
}
|
|
81
|
+
return false;
|
|
82
|
+
case "new-password":
|
|
83
|
+
case "password-confirmation":
|
|
84
|
+
return authState.step === "reset-password";
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
render() {
|
|
88
|
+
if (!this.shouldRender()) {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
const key = this.for === "password-confirmation" ? "auth.password.confirmation.placeholder" : "auth.password.placeholder";
|
|
92
|
+
const placeholder = t(key, { defaultValue: "Enter your password" });
|
|
93
|
+
return (h("form", { onSubmit: this.handleSubmit }, h("input", { name: this.getInputName(), type: "password", value: this.getValue(), autocomplete: this.getAutocomplete(), placeholder: placeholder, disabled: authState.loading, class: this.componentClassName, onInput: this.handleInput, "aria-label": this.getAriaLabel() })));
|
|
94
|
+
}
|
|
95
|
+
static get is() { return "u-password-field"; }
|
|
96
|
+
static get properties() {
|
|
97
|
+
return {
|
|
98
|
+
"for": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"mutable": false,
|
|
101
|
+
"complexType": {
|
|
102
|
+
"original": "PasswordFieldFor",
|
|
103
|
+
"resolved": "\"login\" | \"new-password\" | \"password-confirmation\"",
|
|
104
|
+
"references": {
|
|
105
|
+
"PasswordFieldFor": {
|
|
106
|
+
"location": "local",
|
|
107
|
+
"path": "/Users/fran/work/unidy-sdk/packages/sdk/src/auth/components/password-field/password-field.tsx",
|
|
108
|
+
"id": "src/auth/components/password-field/password-field.tsx::PasswordFieldFor"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"required": false,
|
|
113
|
+
"optional": false,
|
|
114
|
+
"docs": {
|
|
115
|
+
"tags": [],
|
|
116
|
+
"text": ""
|
|
117
|
+
},
|
|
118
|
+
"getter": false,
|
|
119
|
+
"setter": false,
|
|
120
|
+
"reflect": false,
|
|
121
|
+
"attribute": "for",
|
|
122
|
+
"defaultValue": "\"login\""
|
|
123
|
+
},
|
|
124
|
+
"componentClassName": {
|
|
125
|
+
"type": "string",
|
|
126
|
+
"mutable": false,
|
|
127
|
+
"complexType": {
|
|
128
|
+
"original": "string",
|
|
129
|
+
"resolved": "string",
|
|
130
|
+
"references": {}
|
|
131
|
+
},
|
|
132
|
+
"required": false,
|
|
133
|
+
"optional": false,
|
|
134
|
+
"docs": {
|
|
135
|
+
"tags": [],
|
|
136
|
+
"text": ""
|
|
137
|
+
},
|
|
138
|
+
"getter": false,
|
|
139
|
+
"setter": false,
|
|
140
|
+
"reflect": false,
|
|
141
|
+
"attribute": "class-name",
|
|
142
|
+
"defaultValue": "\"\""
|
|
143
|
+
},
|
|
144
|
+
"ariaLabel": {
|
|
145
|
+
"type": "string",
|
|
146
|
+
"mutable": false,
|
|
147
|
+
"complexType": {
|
|
148
|
+
"original": "string",
|
|
149
|
+
"resolved": "string",
|
|
150
|
+
"references": {}
|
|
151
|
+
},
|
|
152
|
+
"required": false,
|
|
153
|
+
"optional": false,
|
|
154
|
+
"docs": {
|
|
155
|
+
"tags": [],
|
|
156
|
+
"text": ""
|
|
157
|
+
},
|
|
158
|
+
"getter": false,
|
|
159
|
+
"setter": false,
|
|
160
|
+
"reflect": false,
|
|
161
|
+
"attribute": "aria-label",
|
|
162
|
+
"defaultValue": "\"\""
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
static get elementRef() { return "el"; }
|
|
167
|
+
}
|
|
168
|
+
//# sourceMappingURL=password-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"password-field.js","sourceRoot":"","sources":["../../../../src/auth/components/password-field/password-field.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Prop } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { authState, authStore } from \"../../store/auth-store\";\nimport { getParentSigninStep } from \"../helpers\";\n\nexport type PasswordFieldFor = \"login\" | \"new-password\" | \"password-confirmation\";\n\n@Component({\n tag: \"u-password-field\",\n shadow: false,\n})\nexport class PasswordField {\n @Element() el!: HTMLElement;\n\n @Prop() for: PasswordFieldFor = \"login\";\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop() ariaLabel = \"\";\n\n private getAriaLabel(): string {\n if (this.ariaLabel) return this.ariaLabel;\n\n switch (this.for) {\n case \"login\":\n return \"Password\";\n case \"new-password\":\n return \"New Password\";\n case \"password-confirmation\":\n return \"Password Confirmation\";\n }\n }\n\n private getValue(): string {\n switch (this.for) {\n case \"login\":\n return authState.password;\n case \"new-password\":\n return authState.resetPassword.newPassword;\n case \"password-confirmation\":\n return authState.resetPassword.passwordConfirmation;\n }\n }\n\n private getAutocomplete(): string {\n switch (this.for) {\n case \"login\":\n return \"current-password\";\n case \"new-password\":\n case \"password-confirmation\":\n return \"new-password\";\n }\n }\n\n private getInputName(): string {\n switch (this.for) {\n case \"login\":\n return \"password\";\n case \"new-password\":\n return \"new-password\";\n case \"password-confirmation\":\n return \"confirm-password\";\n }\n }\n\n private handleInput = (event: Event) => {\n const target = event.target as HTMLInputElement;\n\n switch (this.for) {\n case \"login\":\n authStore.setPassword(target.value);\n break;\n case \"new-password\":\n authStore.setNewPassword(target.value);\n authStore.clearFieldError(\"resetPassword\");\n authStore.clearFieldError(\"password\");\n break;\n case \"password-confirmation\":\n authStore.setConfirmPassword(target.value);\n authStore.clearFieldError(\"resetPassword\");\n authStore.clearFieldError(\"password\");\n break;\n }\n };\n\n private handleSubmit = async (event: Event) => {\n event.preventDefault();\n\n (await getParentSigninStep(this.el))?.submit();\n };\n\n private shouldRender(): boolean {\n switch (this.for) {\n case \"login\":\n if (authState.step === \"single-login\") return true;\n if (authState.step === \"verification\" && authState.availableLoginOptions?.password) {\n return true;\n }\n return false;\n case \"new-password\":\n case \"password-confirmation\":\n return authState.step === \"reset-password\";\n }\n }\n\n render() {\n if (!this.shouldRender()) {\n return null;\n }\n\n const key = this.for === \"password-confirmation\" ? \"auth.password.confirmation.placeholder\" : \"auth.password.placeholder\";\n const placeholder = t(key, { defaultValue: \"Enter your password\" });\n\n return (\n <form onSubmit={this.handleSubmit}>\n <input\n name={this.getInputName()}\n type=\"password\"\n value={this.getValue()}\n autocomplete={this.getAutocomplete()}\n placeholder={placeholder}\n disabled={authState.loading}\n class={this.componentClassName}\n onInput={this.handleInput}\n aria-label={this.getAriaLabel()}\n />\n </form>\n );\n }\n}\n"]}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Host, h } from "@stencil/core";
|
|
2
|
+
import { authState, authStore } from "../../store/auth-store";
|
|
3
|
+
import { unidyState } from "../../../shared/store/unidy-store";
|
|
4
|
+
import { t } from "../../../i18n";
|
|
5
|
+
export class RegistrationButton {
|
|
6
|
+
el;
|
|
7
|
+
for;
|
|
8
|
+
componentClassName = "";
|
|
9
|
+
redirectUri = window.location.href;
|
|
10
|
+
getButtonText() {
|
|
11
|
+
return t("buttons.registration", { defaultValue: "Register New Account" });
|
|
12
|
+
}
|
|
13
|
+
shouldRender() {
|
|
14
|
+
if (authState.errors.email === "account_not_found") {
|
|
15
|
+
authStore.setStep("registration");
|
|
16
|
+
return this.for === "email";
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
getAuthUrl() {
|
|
21
|
+
const baseUrl = unidyState.baseUrl;
|
|
22
|
+
const redirectUri = this.redirectUri ? encodeURIComponent(this.redirectUri) : baseUrl;
|
|
23
|
+
const encodedEmail = encodeURIComponent(authState.email);
|
|
24
|
+
return `${baseUrl}/logins?email=${encodedEmail}&sdk_redirect_uri=${redirectUri}`;
|
|
25
|
+
}
|
|
26
|
+
handleClick = async (event) => {
|
|
27
|
+
event.preventDefault();
|
|
28
|
+
if (authState.errors.email === "account_not_found" && authState.step === "registration") {
|
|
29
|
+
window.location.href = this.getAuthUrl();
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
render() {
|
|
33
|
+
if (!this.shouldRender()) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return (h(Host, null, h("slot", { name: "registration-content" }), h("button", { type: "submit", class: this.componentClassName, onClick: this.handleClick, "aria-live": "polite" }, this.getButtonText())));
|
|
37
|
+
}
|
|
38
|
+
static get is() { return "u-registration-button"; }
|
|
39
|
+
static get properties() {
|
|
40
|
+
return {
|
|
41
|
+
"for": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"mutable": false,
|
|
44
|
+
"complexType": {
|
|
45
|
+
"original": "\"email\"",
|
|
46
|
+
"resolved": "\"email\"",
|
|
47
|
+
"references": {}
|
|
48
|
+
},
|
|
49
|
+
"required": true,
|
|
50
|
+
"optional": false,
|
|
51
|
+
"docs": {
|
|
52
|
+
"tags": [],
|
|
53
|
+
"text": ""
|
|
54
|
+
},
|
|
55
|
+
"getter": false,
|
|
56
|
+
"setter": false,
|
|
57
|
+
"reflect": false,
|
|
58
|
+
"attribute": "for"
|
|
59
|
+
},
|
|
60
|
+
"componentClassName": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"mutable": false,
|
|
63
|
+
"complexType": {
|
|
64
|
+
"original": "string",
|
|
65
|
+
"resolved": "string",
|
|
66
|
+
"references": {}
|
|
67
|
+
},
|
|
68
|
+
"required": false,
|
|
69
|
+
"optional": false,
|
|
70
|
+
"docs": {
|
|
71
|
+
"tags": [],
|
|
72
|
+
"text": ""
|
|
73
|
+
},
|
|
74
|
+
"getter": false,
|
|
75
|
+
"setter": false,
|
|
76
|
+
"reflect": false,
|
|
77
|
+
"attribute": "class-name",
|
|
78
|
+
"defaultValue": "\"\""
|
|
79
|
+
},
|
|
80
|
+
"redirectUri": {
|
|
81
|
+
"type": "string",
|
|
82
|
+
"mutable": false,
|
|
83
|
+
"complexType": {
|
|
84
|
+
"original": "string",
|
|
85
|
+
"resolved": "string",
|
|
86
|
+
"references": {}
|
|
87
|
+
},
|
|
88
|
+
"required": false,
|
|
89
|
+
"optional": false,
|
|
90
|
+
"docs": {
|
|
91
|
+
"tags": [],
|
|
92
|
+
"text": ""
|
|
93
|
+
},
|
|
94
|
+
"getter": false,
|
|
95
|
+
"setter": false,
|
|
96
|
+
"reflect": false,
|
|
97
|
+
"attribute": "redirect-uri",
|
|
98
|
+
"defaultValue": "window.location.href"
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
static get elementRef() { return "el"; }
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=registration-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registration-button.js","sourceRoot":"","sources":["../../../../src/auth/components/registration/registration-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,mCAAmC,CAAC;AAC/D,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAMlC,MAAM,OAAO,kBAAkB;IAClB,EAAE,CAAe;IAEpB,GAAG,CAAW;IACa,kBAAkB,GAAG,EAAE,CAAC;IACnD,WAAW,GAAW,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IAE3C,aAAa;QACnB,OAAO,CAAC,CAAC,sBAAsB,EAAE,EAAE,YAAY,EAAE,sBAAsB,EAAE,CAAC,CAAC;IAC7E,CAAC;IAEO,YAAY;QAClB,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,KAAK,mBAAmB,EAAE,CAAC;YACnD,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAClC,OAAO,IAAI,CAAC,GAAG,KAAK,OAAO,CAAC;QAC9B,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,UAAU;QAChB,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QACnC,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACtF,MAAM,YAAY,GAAG,kBAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEzD,OAAO,GAAG,OAAO,iBAAiB,YAAY,qBAAqB,WAAW,EAAE,CAAC;IACnF,CAAC;IAEO,WAAW,GAAG,KAAK,EAAE,KAAY,EAAE,EAAE;QAC3C,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,IAAI,SAAS,CAAC,MAAM,CAAC,KAAK,KAAK,mBAAmB,IAAI,SAAS,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YACxF,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC;IAEF,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,CACL,EAAC,IAAI;YACH,YAAM,IAAI,EAAC,sBAAsB,GAAG;YACpC,cAAQ,IAAI,EAAC,QAAQ,EAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,eAAY,QAAQ,IAChG,IAAI,CAAC,aAAa,EAAE,CACd,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Prop, Element } from \"@stencil/core\";\nimport { authState, authStore } from \"../../store/auth-store\";\nimport { unidyState } from \"../../../shared/store/unidy-store\";\nimport { t } from \"../../../i18n\";\n\n@Component({\n tag: \"u-registration-button\",\n shadow: false,\n})\nexport class RegistrationButton {\n @Element() el!: HTMLElement;\n\n @Prop() for!: \"email\";\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop() redirectUri: string = window.location.href;\n\n private getButtonText() {\n return t(\"buttons.registration\", { defaultValue: \"Register New Account\" });\n }\n\n private shouldRender(): boolean {\n if (authState.errors.email === \"account_not_found\") {\n authStore.setStep(\"registration\");\n return this.for === \"email\";\n }\n\n return false;\n }\n\n private getAuthUrl(): string {\n const baseUrl = unidyState.baseUrl;\n const redirectUri = this.redirectUri ? encodeURIComponent(this.redirectUri) : baseUrl;\n const encodedEmail = encodeURIComponent(authState.email);\n\n return `${baseUrl}/logins?email=${encodedEmail}&sdk_redirect_uri=${redirectUri}`;\n }\n\n private handleClick = async (event: Event) => {\n event.preventDefault();\n\n if (authState.errors.email === \"account_not_found\" && authState.step === \"registration\") {\n window.location.href = this.getAuthUrl();\n }\n };\n\n render() {\n if (!this.shouldRender()) {\n return null;\n }\n\n return (\n <Host>\n <slot name=\"registration-content\" />\n <button type=\"submit\" class={this.componentClassName} onClick={this.handleClick} aria-live=\"polite\">\n {this.getButtonText()}\n </button>\n </Host>\n );\n }\n}\n"]}
|