@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.
- package/dist/cjs/_commonjsHelpers-CFO10eej.js +10 -0
- package/dist/cjs/_commonjsHelpers-CFO10eej.js.map +1 -0
- package/dist/cjs/app-globals-C-Wl5lPS.js +10 -0
- package/dist/cjs/app-globals-C-Wl5lPS.js.map +1 -0
- package/dist/cjs/{auth-store-DPmGKHZ2.js → auth-store-0vv3uOib.js} +4 -4
- package/dist/cjs/{auth-store-DPmGKHZ2.js.map → auth-store-0vv3uOib.js.map} +1 -1
- package/dist/cjs/component-DLxnZCW6.js +34 -0
- package/dist/cjs/component-DLxnZCW6.js.map +1 -0
- package/dist/cjs/component-utils-XXctnOM9.js +38 -0
- package/dist/cjs/component-utils-XXctnOM9.js.map +1 -0
- package/dist/cjs/de-BWF6Glzg.js +704 -0
- package/dist/cjs/de-BWF6Glzg.js.map +1 -0
- package/dist/cjs/en-GB-DhD5mdQw.js +119 -0
- package/dist/cjs/en-GB-DhD5mdQw.js.map +1 -0
- package/dist/cjs/{flash-store-gbSYhPAV.js → flash-store-CR6Umh1O.js} +3 -3
- package/dist/cjs/{flash-store-gbSYhPAV.js.map → flash-store-CR6Umh1O.js.map} +1 -1
- package/dist/cjs/fr-j2wwoj-A.js +577 -0
- package/dist/cjs/fr-j2wwoj-A.js.map +1 -0
- package/dist/cjs/has-slot-content-CfJbU4t-.js +37 -0
- package/dist/cjs/has-slot-content-CfJbU4t-.js.map +1 -0
- package/dist/cjs/{i18n-D5j_Zl-4.js → i18n-ClWrNmGh.js} +100 -4
- package/dist/cjs/{i18n-D5j_Zl-4.js.map → i18n-ClWrNmGh.js.map} +1 -1
- package/dist/cjs/{index-B325yXfO.js → index-2Fz3r5o0.js} +5 -41
- package/dist/cjs/index-2Fz3r5o0.js.map +1 -0
- package/dist/cjs/{index-yaeiYlfa.js → index-C6ZBKFYr.js} +3 -3
- package/dist/cjs/{index-yaeiYlfa.js.map → index-C6ZBKFYr.js.map} +1 -1
- package/dist/cjs/{index-BzPYBLYC.js → index-CpPKy1CZ.js} +1170 -1087
- package/dist/cjs/index-CpPKy1CZ.js.map +1 -0
- package/dist/cjs/index.cjs.js +24 -11
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{newsletter-helpers-hdDC5X-V.js → newsletter-helpers-BHvOI8M4.js} +46 -9
- package/dist/cjs/newsletter-helpers-BHvOI8M4.js.map +1 -0
- package/dist/cjs/{newsletter-store-CupsLgO9.js → newsletter-store-22Jswiqe.js} +5 -3
- package/dist/cjs/newsletter-store-22Jswiqe.js.map +1 -0
- package/dist/cjs/nl-BE-yKvOp1-G.js +542 -0
- package/dist/cjs/nl-BE-yKvOp1-G.js.map +1 -0
- package/dist/cjs/{profile-helpers-Bprrm-Xl.js → profile-helpers-BBpAqHjK.js} +4 -4
- package/dist/cjs/{profile-helpers-Bprrm-Xl.js.map → profile-helpers-BBpAqHjK.js.map} +1 -1
- package/dist/cjs/{profile-store-C_q-TuA_.js → profile-store-CQEQhPQD.js} +4 -4
- package/dist/cjs/{profile-store-C_q-TuA_.js.map → profile-store-CQEQhPQD.js.map} +1 -1
- package/dist/cjs/redirect-with-token-wupYX97S.js +37 -0
- package/dist/cjs/redirect-with-token-wupYX97S.js.map +1 -0
- package/dist/cjs/ro-CXq9d1lv.js +578 -0
- package/dist/cjs/ro-CXq9d1lv.js.map +1 -0
- package/dist/cjs/sdk.cjs.js +3 -3
- package/dist/cjs/sv-CMln4V33.js +597 -0
- package/dist/cjs/sv-CMln4V33.js.map +1 -0
- package/dist/cjs/u-conditional-render.cjs.entry.js +14 -14
- package/dist/cjs/u-conditional-render.entry.cjs.js.map +1 -1
- package/dist/cjs/u-config.cjs.entry.js +24 -11
- package/dist/cjs/u-config.entry.cjs.js.map +1 -1
- package/dist/cjs/u-email-field.cjs.entry.js +7 -7
- package/dist/cjs/u-error-message.cjs.entry.js +49 -22
- package/dist/cjs/u-error-message.entry.cjs.js.map +1 -1
- package/dist/cjs/u-field.u-raw-field.entry.cjs.js.map +1 -1
- package/dist/cjs/u-field_2.cjs.entry.js +124 -12
- package/dist/cjs/u-flash-message.cjs.entry.js +3 -3
- package/dist/cjs/u-full-profile.cjs.entry.js +6 -6
- package/dist/cjs/u-jump-to-service.cjs.entry.js +23 -44
- package/dist/cjs/u-jump-to-service.entry.cjs.js.map +1 -1
- package/dist/cjs/u-jump-to-unidy.cjs.entry.js +22 -43
- package/dist/cjs/u-jump-to-unidy.entry.cjs.js.map +1 -1
- package/dist/cjs/u-logout-button.u-signed-in.entry.cjs.js.map +1 -1
- package/dist/cjs/u-logout-button_2.cjs.entry.js +15 -22
- package/dist/cjs/u-magic-code-field.cjs.entry.js +8 -9
- package/dist/cjs/u-magic-code-field.entry.cjs.js.map +1 -1
- package/dist/cjs/u-missing-field.cjs.entry.js +6 -5
- package/dist/cjs/u-missing-field.entry.cjs.js.map +1 -1
- package/dist/cjs/u-missing-fields-submit-button.cjs.entry.js +16 -14
- package/dist/cjs/u-missing-fields-submit-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-checkbox.cjs.entry.js +11 -12
- package/dist/cjs/u-newsletter-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-consent-checkbox.cjs.entry.js +4 -4
- package/dist/cjs/u-newsletter-logout-button.cjs.entry.js +15 -20
- package/dist/cjs/u-newsletter-logout-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-preference-checkbox.cjs.entry.js +11 -12
- package/dist/cjs/u-newsletter-preference-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-resend-doi-button.cjs.entry.js +10 -11
- package/dist/cjs/u-newsletter-resend-doi-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-root.cjs.entry.js +45 -22
- package/dist/cjs/u-newsletter-root.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-toggle-subscription-button.cjs.entry.js +11 -12
- package/dist/cjs/u-newsletter-toggle-subscription-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-pagination-button.cjs.entry.js +4 -4
- package/dist/cjs/u-pagination-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-pagination-page.cjs.entry.js +4 -4
- package/dist/cjs/u-pagination-page.entry.cjs.js.map +1 -1
- package/dist/cjs/u-passkey.cjs.entry.js +8 -9
- package/dist/cjs/u-passkey.entry.cjs.js.map +1 -1
- package/dist/cjs/u-password-field.cjs.entry.js +5 -5
- package/dist/cjs/u-profile.u-submit-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-profile_2.cjs.entry.js +31 -33
- package/dist/cjs/u-registration-button.cjs.entry.js +5 -5
- package/dist/cjs/u-reset-password-button.cjs.entry.js +12 -15
- package/dist/cjs/u-reset-password-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-send-magic-code-button.cjs.entry.js +8 -9
- package/dist/cjs/u-send-magic-code-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-signin-root.cjs.entry.js +6 -8
- package/dist/cjs/u-signin-root.entry.cjs.js.map +1 -1
- package/dist/cjs/u-signin-step.cjs.entry.js +17 -21
- package/dist/cjs/u-signin-step.entry.cjs.js.map +1 -1
- package/dist/cjs/u-social-login-button.cjs.entry.js +16 -15
- package/dist/cjs/u-social-login-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-spinner.cjs.entry.js +3 -3
- package/dist/cjs/u-spinner.entry.cjs.js.map +1 -1
- package/dist/cjs/u-ticketable-export.cjs.entry.js +76 -0
- package/dist/cjs/u-ticketable-export.entry.cjs.js.map +1 -0
- package/dist/cjs/u-ticketable-list-D3M8iA-g.js +3991 -0
- package/dist/cjs/u-ticketable-list-D3M8iA-g.js.map +1 -0
- package/dist/cjs/u-ticketable-list.cjs.entry.js +11 -6118
- package/dist/cjs/u-ticketable-list.entry.cjs.js.map +1 -1
- package/dist/cjs/{unidy-store-BGnWn9pc.js → unidy-store-Bvnl24i9.js} +3 -3
- package/dist/cjs/{unidy-store-BGnWn9pc.js.map → unidy-store-Bvnl24i9.js.map} +1 -1
- package/dist/collection/api/base-service.js.map +1 -1
- package/dist/collection/api/client.js.map +1 -1
- package/dist/collection/api/index.js +6 -6
- package/dist/collection/api/index.js.map +1 -1
- package/dist/collection/api/standalone.js +88 -39
- package/dist/collection/api/standalone.js.map +1 -1
- package/dist/collection/auth/api/auth.js.map +1 -1
- package/dist/collection/auth/api/schemas.js +5 -5
- package/dist/collection/auth/api/schemas.js.map +1 -1
- package/dist/collection/auth/auth-helpers.js +7 -8
- package/dist/collection/auth/auth-helpers.js.map +1 -1
- package/dist/collection/auth/auth.js +1 -0
- package/dist/collection/auth/auth.js.map +1 -1
- package/dist/collection/auth/components/jump-to-service/jump-to-service.js +20 -40
- package/dist/collection/auth/components/jump-to-service/jump-to-service.js.map +1 -1
- package/dist/collection/auth/components/jump-to-unidy/jump-to-unidy.js +20 -39
- package/dist/collection/auth/components/jump-to-unidy/jump-to-unidy.js.map +1 -1
- package/dist/collection/auth/components/logout-button/logout-button.js +7 -11
- package/dist/collection/auth/components/logout-button/logout-button.js.map +1 -1
- package/dist/collection/auth/components/missing-field/missing-field.js +25 -1
- package/dist/collection/auth/components/missing-field/missing-field.js.map +1 -1
- package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js +33 -7
- package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js.map +1 -1
- package/dist/collection/auth/components/password-field/password-field.js +1 -1
- package/dist/collection/auth/components/reset-pass-button/reset-pass-button.js +6 -8
- package/dist/collection/auth/components/reset-pass-button/reset-pass-button.js.map +1 -1
- package/dist/collection/auth/components/signed-in/signed-in.js +2 -5
- package/dist/collection/auth/components/signed-in/signed-in.js.map +1 -1
- package/dist/collection/auth/components/signin-root/signin-root.js +2 -5
- package/dist/collection/auth/components/signin-root/signin-root.js.map +1 -1
- package/dist/collection/auth/components/signin-step/signin-step.js +9 -13
- package/dist/collection/auth/components/signin-step/signin-step.js.map +1 -1
- package/dist/collection/auth/components/social-logins/social-login-button.css +1 -1
- package/dist/collection/auth/components/social-logins/social-login-button.js +11 -12
- package/dist/collection/auth/components/social-logins/social-login-button.js.map +1 -1
- package/dist/collection/auth/components/submit-button/auth-submit-button.js +10 -0
- package/dist/collection/auth/components/submit-button/auth-submit-button.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/locales/de.json +16 -0
- package/dist/collection/locales/en.json +16 -0
- package/dist/collection/locales/fr.json +16 -0
- package/dist/collection/locales/it.json +16 -0
- package/dist/collection/locales/nl_be.json +16 -0
- package/dist/collection/locales/ro.json +16 -0
- package/dist/collection/logger.js +0 -37
- package/dist/collection/logger.js.map +1 -1
- package/dist/collection/newsletter/api/newsletters.js +19 -18
- package/dist/collection/newsletter/api/newsletters.js.map +1 -1
- package/dist/collection/newsletter/components/consent-checkbox/consent-checkbox.js +1 -1
- package/dist/collection/newsletter/components/logout-button/logout-button.js +6 -10
- package/dist/collection/newsletter/components/logout-button/logout-button.js.map +1 -1
- package/dist/collection/newsletter/components/newsletter-checkbox/newsletter-checkbox.js +1 -1
- package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js +65 -10
- package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js.map +1 -1
- package/dist/collection/newsletter/components/preference-checkbox/preference-checkbox.js +1 -1
- package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.js +1 -1
- package/dist/collection/newsletter/newsletter-helpers.js +39 -2
- package/dist/collection/newsletter/newsletter-helpers.js.map +1 -1
- package/dist/collection/newsletter/store/newsletter-store.js +2 -0
- package/dist/collection/newsletter/store/newsletter-store.js.map +1 -1
- package/dist/collection/profile/api/profile.js.map +1 -1
- package/dist/collection/profile/api/schemas.js +1 -1
- package/dist/collection/profile/api/schemas.js.map +1 -1
- package/dist/collection/profile/components/field/field.js +3 -1
- package/dist/collection/profile/components/field/field.js.map +1 -1
- package/dist/collection/profile/components/full-profile/full-profile.js +1 -1
- package/dist/collection/profile/components/raw-field/raw-field.js +40 -7
- package/dist/collection/profile/components/raw-field/raw-field.js.map +1 -1
- package/dist/collection/profile/store/profile-store.js +1 -1
- package/dist/collection/profile/store/profile-store.js.map +1 -1
- package/dist/collection/shared/base/component.js +28 -0
- package/dist/collection/shared/base/component.js.map +1 -0
- package/dist/collection/shared/base/has-slot-content.js +31 -0
- package/dist/collection/shared/base/has-slot-content.js.map +1 -0
- package/dist/collection/shared/component-utils.js +23 -27
- package/dist/collection/shared/component-utils.js.map +1 -1
- package/dist/collection/shared/components/conditional-render/conditional-render.js +4 -5
- package/dist/collection/shared/components/conditional-render/conditional-render.js.map +1 -1
- package/dist/collection/shared/components/config/config.js +18 -5
- package/dist/collection/shared/components/config/config.js.map +1 -1
- package/dist/collection/shared/components/email-field/email-field.js +1 -1
- package/dist/collection/shared/components/error-message/error-message.css +1 -1
- package/dist/collection/shared/components/error-message/error-message.js +44 -17
- package/dist/collection/shared/components/error-message/error-message.js.map +1 -1
- package/dist/collection/shared/components/spinner/spinner.css +1 -1
- package/dist/collection/shared/components/spinner/spinner.js +1 -1
- package/dist/collection/shared/components/submit-button/submit-button.css +1 -1
- package/dist/collection/shared/components/submit-button/submit-button.js +12 -23
- package/dist/collection/shared/components/submit-button/submit-button.js.map +1 -1
- package/dist/collection/shared/context-utils.js +96 -0
- package/dist/collection/shared/context-utils.js.map +1 -0
- package/dist/collection/shared/utils/redirect-with-token.js +30 -0
- package/dist/collection/shared/utils/redirect-with-token.js.map +1 -0
- package/dist/collection/shared/utils/url-utils.js +25 -0
- package/dist/collection/shared/utils/url-utils.js.map +1 -0
- package/dist/collection/ticketable/api/schemas.js +10 -2
- package/dist/collection/ticketable/api/schemas.js.map +1 -1
- package/dist/collection/ticketable/api/subscriptions.js +22 -1
- package/dist/collection/ticketable/api/subscriptions.js.map +1 -1
- package/dist/collection/ticketable/api/tickets.js +22 -1
- package/dist/collection/ticketable/api/tickets.js.map +1 -1
- package/dist/collection/ticketable/components/pagination/pagination-button.js +3 -5
- package/dist/collection/ticketable/components/pagination/pagination-button.js.map +1 -1
- package/dist/collection/ticketable/components/pagination/pagination-page.js +3 -5
- package/dist/collection/ticketable/components/pagination/pagination-page.js.map +1 -1
- package/dist/collection/ticketable/components/ticketable-export/ticketable-export.js +175 -0
- package/dist/collection/ticketable/components/ticketable-export/ticketable-export.js.map +1 -0
- package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js +163 -25
- package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js.map +1 -1
- package/dist/collection/ticketable/index.js +1 -0
- package/dist/collection/ticketable/index.js.map +1 -1
- package/dist/components/_commonjsHelpers.js +8 -0
- package/dist/components/_commonjsHelpers.js.map +1 -0
- package/dist/components/component-utils.js +25 -28
- package/dist/components/component-utils.js.map +1 -1
- package/dist/components/component.js +33 -0
- package/dist/components/component.js.map +1 -0
- package/dist/components/de.js +702 -0
- package/dist/components/de.js.map +1 -0
- package/dist/components/en-GB.js +117 -0
- package/dist/components/en-GB.js.map +1 -0
- package/dist/components/field.js +3 -1
- package/dist/components/field.js.map +1 -1
- package/dist/components/fr.js +575 -0
- package/dist/components/fr.js.map +1 -0
- package/dist/components/has-slot-content.js +35 -0
- package/dist/components/has-slot-content.js.map +1 -0
- package/dist/components/i18n.js +96 -0
- package/dist/components/i18n.js.map +1 -1
- package/dist/components/index.js +11 -3
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +1158 -1083
- package/dist/components/index2.js.map +1 -1
- package/dist/components/logger.js +1 -39
- package/dist/components/logger.js.map +1 -1
- package/dist/components/newsletter-helpers.js +39 -2
- package/dist/components/newsletter-helpers.js.map +1 -1
- package/dist/components/newsletter-store.js +2 -0
- package/dist/components/newsletter-store.js.map +1 -1
- package/dist/components/nl-BE.js +540 -0
- package/dist/components/nl-BE.js.map +1 -0
- package/dist/components/profile-store.js +1 -1
- package/dist/components/profile-store.js.map +1 -1
- package/dist/components/raw-field.js +116 -7
- package/dist/components/raw-field.js.map +1 -1
- package/dist/components/redirect-with-token.js +35 -0
- package/dist/components/redirect-with-token.js.map +1 -0
- package/dist/components/ro.js +576 -0
- package/dist/components/ro.js.map +1 -0
- package/dist/components/spinner.js +2 -2
- package/dist/components/spinner.js.map +1 -1
- package/dist/components/submit-button.js +21 -24
- package/dist/components/submit-button.js.map +1 -1
- package/dist/components/sv.js +595 -0
- package/dist/components/sv.js.map +1 -0
- package/dist/components/u-conditional-render.js +5 -6
- package/dist/components/u-conditional-render.js.map +1 -1
- package/dist/components/u-config.js +16 -3
- package/dist/components/u-config.js.map +1 -1
- package/dist/components/u-email-field.js +1 -1
- package/dist/components/u-error-message.js +44 -19
- package/dist/components/u-error-message.js.map +1 -1
- package/dist/components/u-full-profile.js +1 -1
- package/dist/components/u-jump-to-service.js +16 -38
- package/dist/components/u-jump-to-service.js.map +1 -1
- package/dist/components/u-jump-to-unidy.js +16 -37
- package/dist/components/u-jump-to-unidy.js.map +1 -1
- package/dist/components/u-logout-button.js +5 -11
- package/dist/components/u-logout-button.js.map +1 -1
- package/dist/components/u-missing-field.js +5 -2
- package/dist/components/u-missing-field.js.map +1 -1
- package/dist/components/u-missing-fields-submit-button.js +10 -8
- package/dist/components/u-missing-fields-submit-button.js.map +1 -1
- package/dist/components/u-newsletter-checkbox.js +1 -1
- package/dist/components/u-newsletter-consent-checkbox.js +1 -1
- package/dist/components/u-newsletter-logout-button.js +6 -12
- package/dist/components/u-newsletter-logout-button.js.map +1 -1
- package/dist/components/u-newsletter-preference-checkbox.js +1 -1
- package/dist/components/u-newsletter-root.js +35 -12
- package/dist/components/u-newsletter-root.js.map +1 -1
- package/dist/components/u-newsletter-toggle-subscription-button.js +1 -1
- package/dist/components/u-pagination-button.js +3 -4
- package/dist/components/u-pagination-button.js.map +1 -1
- package/dist/components/u-pagination-page.js +3 -4
- package/dist/components/u-pagination-page.js.map +1 -1
- package/dist/components/u-reset-password-button.js +4 -8
- package/dist/components/u-reset-password-button.js.map +1 -1
- package/dist/components/u-signed-in.js +3 -6
- package/dist/components/u-signed-in.js.map +1 -1
- package/dist/components/u-signin-root.js +3 -6
- package/dist/components/u-signin-root.js.map +1 -1
- package/dist/components/u-signin-step.js +10 -14
- package/dist/components/u-signin-step.js.map +1 -1
- package/dist/components/u-social-login-button.js +13 -14
- package/dist/components/u-social-login-button.js.map +1 -1
- package/dist/components/u-ticketable-export.d.ts +11 -0
- package/dist/components/u-ticketable-export.js +93 -0
- package/dist/components/u-ticketable-export.js.map +1 -0
- package/dist/components/u-ticketable-list.js +256 -2396
- package/dist/components/u-ticketable-list.js.map +1 -1
- package/dist/esm/_commonjsHelpers-B85MJLTf.js +8 -0
- package/dist/esm/_commonjsHelpers-B85MJLTf.js.map +1 -0
- package/dist/esm/app-globals-J743qnJf.js +8 -0
- package/dist/esm/app-globals-J743qnJf.js.map +1 -0
- package/dist/esm/{auth-store-DBlGNGhq.js → auth-store-CSpEdi46.js} +4 -4
- package/dist/esm/{auth-store-DBlGNGhq.js.map → auth-store-CSpEdi46.js.map} +1 -1
- package/dist/esm/component-qfegGRWr.js +32 -0
- package/dist/esm/component-qfegGRWr.js.map +1 -0
- package/dist/esm/component-utils-WEof9bTg.js +36 -0
- package/dist/esm/component-utils-WEof9bTg.js.map +1 -0
- package/dist/esm/de-C6AnCqsA.js +702 -0
- package/dist/esm/de-C6AnCqsA.js.map +1 -0
- package/dist/esm/en-GB-DO63WPxt.js +117 -0
- package/dist/esm/en-GB-DO63WPxt.js.map +1 -0
- package/dist/esm/{flash-store-Df2YkLTB.js → flash-store-Dn1Bava8.js} +3 -3
- package/dist/esm/{flash-store-Df2YkLTB.js.map → flash-store-Dn1Bava8.js.map} +1 -1
- package/dist/esm/fr-C0oU6-EJ.js +575 -0
- package/dist/esm/fr-C0oU6-EJ.js.map +1 -0
- package/dist/esm/has-slot-content-DSMkJu9G.js +35 -0
- package/dist/esm/has-slot-content-DSMkJu9G.js.map +1 -0
- package/dist/esm/{i18n-Da7S9Oqf.js → i18n-ioyZxWsT.js} +100 -4
- package/dist/esm/{i18n-Da7S9Oqf.js.map → i18n-ioyZxWsT.js.map} +1 -1
- package/dist/esm/{index-FTKB5a1d.js → index-BsJDptgj.js} +4 -40
- package/dist/esm/index-BsJDptgj.js.map +1 -0
- package/dist/esm/{index-BnAYOYR5.js → index-C8kmD3tu.js} +3 -3
- package/dist/esm/{index-BnAYOYR5.js.map → index-C8kmD3tu.js.map} +1 -1
- package/dist/esm/{index-BVlbCQEX.js → index-kgGjfc-n.js} +1163 -1088
- package/dist/esm/index-kgGjfc-n.js.map +1 -0
- package/dist/esm/index.js +18 -12
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +4 -4
- package/dist/esm/{newsletter-helpers-fCpxzovf.js → newsletter-helpers-DoKGN_Kq.js} +46 -9
- package/dist/esm/newsletter-helpers-DoKGN_Kq.js.map +1 -0
- package/dist/esm/{newsletter-store-BB618FgS.js → newsletter-store-DpR85vaC.js} +5 -3
- package/dist/esm/newsletter-store-DpR85vaC.js.map +1 -0
- package/dist/esm/nl-BE-C8uPYb_H.js +540 -0
- package/dist/esm/nl-BE-C8uPYb_H.js.map +1 -0
- package/dist/esm/{profile-helpers-CXK2X6Ts.js → profile-helpers-BMJy0ei_.js} +4 -4
- package/dist/esm/{profile-helpers-CXK2X6Ts.js.map → profile-helpers-BMJy0ei_.js.map} +1 -1
- package/dist/esm/{profile-store-CHlSKuTY.js → profile-store-7wBS3gBH.js} +4 -4
- package/dist/esm/{profile-store-CHlSKuTY.js.map → profile-store-7wBS3gBH.js.map} +1 -1
- package/dist/esm/redirect-with-token-StCLJlSp.js +35 -0
- package/dist/esm/redirect-with-token-StCLJlSp.js.map +1 -0
- package/dist/esm/ro-BlDHz7d-.js +576 -0
- package/dist/esm/ro-BlDHz7d-.js.map +1 -0
- package/dist/esm/sdk.js +4 -4
- package/dist/esm/sv-B_Gq29K0.js +595 -0
- package/dist/esm/sv-B_Gq29K0.js.map +1 -0
- package/dist/esm/u-conditional-render.entry.js +14 -14
- package/dist/esm/u-conditional-render.entry.js.map +1 -1
- package/dist/esm/u-config.entry.js +24 -11
- package/dist/esm/u-config.entry.js.map +1 -1
- package/dist/esm/u-email-field.entry.js +7 -7
- package/dist/esm/u-error-message.entry.js +49 -22
- package/dist/esm/u-error-message.entry.js.map +1 -1
- package/dist/esm/u-field.u-raw-field.entry.js.map +1 -1
- package/dist/esm/u-field_2.entry.js +124 -12
- package/dist/esm/u-flash-message.entry.js +3 -3
- package/dist/esm/u-full-profile.entry.js +6 -6
- package/dist/esm/u-jump-to-service.entry.js +23 -44
- package/dist/esm/u-jump-to-service.entry.js.map +1 -1
- package/dist/esm/u-jump-to-unidy.entry.js +22 -43
- package/dist/esm/u-jump-to-unidy.entry.js.map +1 -1
- package/dist/esm/u-logout-button.u-signed-in.entry.js.map +1 -1
- package/dist/esm/u-logout-button_2.entry.js +15 -22
- package/dist/esm/u-magic-code-field.entry.js +8 -9
- package/dist/esm/u-magic-code-field.entry.js.map +1 -1
- package/dist/esm/u-missing-field.entry.js +6 -5
- package/dist/esm/u-missing-field.entry.js.map +1 -1
- package/dist/esm/u-missing-fields-submit-button.entry.js +16 -14
- package/dist/esm/u-missing-fields-submit-button.entry.js.map +1 -1
- package/dist/esm/u-newsletter-checkbox.entry.js +11 -12
- package/dist/esm/u-newsletter-checkbox.entry.js.map +1 -1
- package/dist/esm/u-newsletter-consent-checkbox.entry.js +4 -4
- package/dist/esm/u-newsletter-logout-button.entry.js +15 -20
- package/dist/esm/u-newsletter-logout-button.entry.js.map +1 -1
- package/dist/esm/u-newsletter-preference-checkbox.entry.js +11 -12
- package/dist/esm/u-newsletter-preference-checkbox.entry.js.map +1 -1
- package/dist/esm/u-newsletter-resend-doi-button.entry.js +10 -11
- package/dist/esm/u-newsletter-resend-doi-button.entry.js.map +1 -1
- package/dist/esm/u-newsletter-root.entry.js +42 -19
- package/dist/esm/u-newsletter-root.entry.js.map +1 -1
- package/dist/esm/u-newsletter-toggle-subscription-button.entry.js +11 -12
- package/dist/esm/u-newsletter-toggle-subscription-button.entry.js.map +1 -1
- package/dist/esm/u-pagination-button.entry.js +4 -4
- package/dist/esm/u-pagination-button.entry.js.map +1 -1
- package/dist/esm/u-pagination-page.entry.js +4 -4
- package/dist/esm/u-pagination-page.entry.js.map +1 -1
- package/dist/esm/u-passkey.entry.js +8 -9
- package/dist/esm/u-passkey.entry.js.map +1 -1
- package/dist/esm/u-password-field.entry.js +5 -5
- package/dist/esm/u-profile.u-submit-button.entry.js.map +1 -1
- package/dist/esm/u-profile_2.entry.js +31 -33
- package/dist/esm/u-registration-button.entry.js +5 -5
- package/dist/esm/u-reset-password-button.entry.js +12 -15
- package/dist/esm/u-reset-password-button.entry.js.map +1 -1
- package/dist/esm/u-send-magic-code-button.entry.js +8 -9
- package/dist/esm/u-send-magic-code-button.entry.js.map +1 -1
- package/dist/esm/u-signin-root.entry.js +6 -8
- package/dist/esm/u-signin-root.entry.js.map +1 -1
- package/dist/esm/u-signin-step.entry.js +17 -21
- package/dist/esm/u-signin-step.entry.js.map +1 -1
- package/dist/esm/u-social-login-button.entry.js +16 -15
- package/dist/esm/u-social-login-button.entry.js.map +1 -1
- package/dist/esm/u-spinner.entry.js +3 -3
- package/dist/esm/u-spinner.entry.js.map +1 -1
- package/dist/esm/u-ticketable-export.entry.js +74 -0
- package/dist/esm/u-ticketable-export.entry.js.map +1 -0
- package/dist/esm/u-ticketable-list-D2p21JjR.js +3981 -0
- package/dist/esm/u-ticketable-list-D2p21JjR.js.map +1 -0
- package/dist/esm/u-ticketable-list.entry.js +10 -6121
- package/dist/esm/u-ticketable-list.entry.js.map +1 -1
- package/dist/esm/{unidy-store-Bg7IaIMd.js → unidy-store-B5Bf4Vit.js} +3 -3
- package/dist/esm/{unidy-store-Bg7IaIMd.js.map → unidy-store-B5Bf4Vit.js.map} +1 -1
- package/dist/sdk/index.esm.js +1 -1
- package/dist/sdk/index.esm.js.map +1 -1
- package/dist/sdk/locales/de.json +16 -0
- package/dist/sdk/locales/en.json +16 -0
- package/dist/sdk/locales/fr.json +16 -0
- package/dist/sdk/locales/it.json +16 -0
- package/dist/sdk/locales/nl_be.json +16 -0
- package/dist/sdk/locales/ro.json +16 -0
- package/dist/sdk/p-02dce5da.entry.js +2 -0
- package/dist/sdk/p-02dce5da.entry.js.map +1 -0
- package/dist/sdk/p-043c7643.entry.js +2 -0
- package/dist/sdk/p-043c7643.entry.js.map +1 -0
- package/dist/sdk/p-18c17747.entry.js +2 -0
- package/dist/sdk/p-18c17747.entry.js.map +1 -0
- package/dist/sdk/p-1a1c1af0.entry.js +2 -0
- package/dist/sdk/p-1a1c1af0.entry.js.map +1 -0
- package/dist/sdk/p-271781c7.entry.js +2 -0
- package/dist/sdk/{p-1a8973a6.entry.js.map → p-271781c7.entry.js.map} +1 -1
- package/dist/sdk/p-29473a55.entry.js +2 -0
- package/dist/sdk/p-29473a55.entry.js.map +1 -0
- package/dist/sdk/p-2a25d62e.entry.js +2 -0
- package/dist/sdk/p-2a25d62e.entry.js.map +1 -0
- package/dist/sdk/{p-C8lRzJEX.js → p-2bKltz_F.js} +2 -2
- package/dist/sdk/{p-C8lRzJEX.js.map → p-2bKltz_F.js.map} +1 -1
- package/dist/sdk/p-2cc3a00d.entry.js +2 -0
- package/dist/sdk/p-2cc3a00d.entry.js.map +1 -0
- package/dist/sdk/p-2f49e0cb.entry.js +2 -0
- package/dist/sdk/p-2f49e0cb.entry.js.map +1 -0
- package/dist/sdk/p-34f5d201.entry.js +2 -0
- package/dist/sdk/p-34f5d201.entry.js.map +1 -0
- package/dist/sdk/p-52c4bdd9.entry.js +2 -0
- package/dist/sdk/p-52c4bdd9.entry.js.map +1 -0
- package/dist/sdk/p-585a0efa.entry.js +2 -0
- package/dist/sdk/p-585a0efa.entry.js.map +1 -0
- package/dist/sdk/p-60675019.entry.js +2 -0
- package/dist/sdk/p-60675019.entry.js.map +1 -0
- package/dist/sdk/p-79ef9a70.entry.js +2 -0
- package/dist/sdk/p-79ef9a70.entry.js.map +1 -0
- package/dist/sdk/p-7d88e21c.entry.js +2 -0
- package/dist/sdk/p-7d88e21c.entry.js.map +1 -0
- package/dist/sdk/p-7eaf3468.entry.js +2 -0
- package/dist/sdk/p-7eaf3468.entry.js.map +1 -0
- package/dist/sdk/{p-88beb872.entry.js → p-8412762c.entry.js} +2 -2
- package/dist/sdk/p-8ea70c08.entry.js +2 -0
- package/dist/sdk/p-8ea70c08.entry.js.map +1 -0
- package/dist/sdk/p-946cdb0a.entry.js +2 -0
- package/dist/sdk/p-946cdb0a.entry.js.map +1 -0
- package/dist/sdk/p-94bb0217.entry.js +2 -0
- package/dist/sdk/p-94bb0217.entry.js.map +1 -0
- package/dist/sdk/{p-bcca06f1.entry.js → p-96860b09.entry.js} +2 -2
- package/dist/sdk/p-B1A6Nu24.js +2 -0
- package/dist/sdk/p-B1A6Nu24.js.map +1 -0
- package/dist/sdk/p-B85MJLTf.js +2 -0
- package/dist/sdk/p-B85MJLTf.js.map +1 -0
- package/dist/sdk/p-B8N6Bwsa.js +2 -0
- package/dist/sdk/{p-DCG3L43i.js.map → p-B8N6Bwsa.js.map} +1 -1
- package/dist/sdk/p-Ba5szISo.js +2 -0
- package/dist/sdk/p-Ba5szISo.js.map +1 -0
- package/dist/sdk/p-BsJDptgj.js +14 -0
- package/dist/sdk/p-BsJDptgj.js.map +1 -0
- package/dist/sdk/{p-bpXpOZY_.js → p-C0Mo15qt.js} +2 -2
- package/dist/sdk/{p-bpXpOZY_.js.map → p-C0Mo15qt.js.map} +1 -1
- package/dist/sdk/p-C10MAuCE.js +2 -0
- package/dist/sdk/p-C10MAuCE.js.map +1 -0
- package/dist/sdk/p-CTy6pQSg.js +2 -0
- package/dist/sdk/p-CTy6pQSg.js.map +1 -0
- package/dist/sdk/p-CW6kGAuQ.js +2 -0
- package/dist/sdk/p-CW6kGAuQ.js.map +1 -0
- package/dist/sdk/{p-DdMKVWx8.js → p-CbSP8My1.js} +2 -2
- package/dist/sdk/{p-DdMKVWx8.js.map → p-CbSP8My1.js.map} +1 -1
- package/dist/sdk/p-CbzzI4uW.js +2 -0
- package/dist/sdk/p-CbzzI4uW.js.map +1 -0
- package/dist/sdk/p-CgT6fZjb.js +2 -0
- package/dist/sdk/p-CgT6fZjb.js.map +1 -0
- package/dist/sdk/p-CuHZ3IkE.js +2 -0
- package/dist/sdk/p-CuHZ3IkE.js.map +1 -0
- package/dist/sdk/p-Cysk_vik.js +2 -0
- package/dist/sdk/p-Cysk_vik.js.map +1 -0
- package/dist/sdk/p-D0ut3waq.js +2 -0
- package/dist/sdk/p-D0ut3waq.js.map +1 -0
- package/dist/sdk/{p-BigbTrKk.js → p-D2Rf-QGm.js} +2 -2
- package/dist/sdk/{p-BigbTrKk.js.map → p-D2Rf-QGm.js.map} +1 -1
- package/dist/sdk/{p-6rqGeAfT.js → p-D9yFO_ID.js} +2 -2
- package/dist/sdk/{p-6rqGeAfT.js.map → p-D9yFO_ID.js.map} +1 -1
- package/dist/sdk/p-DD_5soRi.js +2 -0
- package/dist/sdk/p-DD_5soRi.js.map +1 -0
- package/dist/sdk/p-DHuvvagO.js +2 -0
- package/dist/sdk/p-DHuvvagO.js.map +1 -0
- package/dist/sdk/p-DSMkJu9G.js +2 -0
- package/dist/sdk/p-DSMkJu9G.js.map +1 -0
- package/dist/sdk/p-DcirMfca.js +2 -0
- package/dist/sdk/p-DcirMfca.js.map +1 -0
- package/dist/sdk/p-J0cv5IOA.js +2 -0
- package/dist/sdk/p-J0cv5IOA.js.map +1 -0
- package/dist/sdk/p-_5evboqW.js +2 -0
- package/dist/sdk/{p-DSktNM_k.js.map → p-_5evboqW.js.map} +1 -1
- package/dist/sdk/{p-7ee2f2ab.entry.js → p-ac3a6bbf.entry.js} +2 -2
- package/dist/sdk/p-b498bcdd.entry.js +2 -0
- package/dist/sdk/p-b498bcdd.entry.js.map +1 -0
- package/dist/sdk/p-b5dd5b4c.entry.js +2 -0
- package/dist/sdk/p-b5dd5b4c.entry.js.map +1 -0
- package/dist/sdk/{p-6b061b18.entry.js → p-b99588a8.entry.js} +2 -2
- package/dist/sdk/p-bf9c27a8.entry.js +2 -0
- package/dist/sdk/p-bf9c27a8.entry.js.map +1 -0
- package/dist/sdk/p-c10d9b8e.entry.js +2 -0
- package/dist/sdk/p-c10d9b8e.entry.js.map +1 -0
- package/dist/sdk/{p-10e20afd.entry.js → p-c2634439.entry.js} +2 -2
- package/dist/sdk/p-d6777395.entry.js +2 -0
- package/dist/sdk/p-d6777395.entry.js.map +1 -0
- package/dist/sdk/p-dbfe7b29.entry.js +2 -0
- package/dist/sdk/p-dbfe7b29.entry.js.map +1 -0
- package/dist/sdk/p-def4e874.entry.js +2 -0
- package/dist/sdk/p-def4e874.entry.js.map +1 -0
- package/dist/sdk/p-e872a012.entry.js +2 -0
- package/dist/sdk/p-e872a012.entry.js.map +1 -0
- package/dist/sdk/p-eaaf3989.entry.js +2 -0
- package/dist/sdk/p-eaaf3989.entry.js.map +1 -0
- package/dist/sdk/p-fd46b459.entry.js +2 -0
- package/dist/sdk/{p-830778eb.entry.js.map → p-fd46b459.entry.js.map} +1 -1
- package/dist/sdk/sdk.esm.js +1 -1
- package/dist/sdk/u-conditional-render.entry.esm.js.map +1 -1
- package/dist/sdk/u-config.entry.esm.js.map +1 -1
- package/dist/sdk/u-error-message.entry.esm.js.map +1 -1
- package/dist/sdk/u-field.u-raw-field.entry.esm.js.map +1 -1
- package/dist/sdk/u-jump-to-service.entry.esm.js.map +1 -1
- package/dist/sdk/u-jump-to-unidy.entry.esm.js.map +1 -1
- package/dist/sdk/u-logout-button.u-signed-in.entry.esm.js.map +1 -1
- package/dist/sdk/u-magic-code-field.entry.esm.js.map +1 -1
- package/dist/sdk/u-missing-field.entry.esm.js.map +1 -1
- package/dist/sdk/u-missing-fields-submit-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-checkbox.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-logout-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-preference-checkbox.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-resend-doi-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-root.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-toggle-subscription-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-pagination-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-pagination-page.entry.esm.js.map +1 -1
- package/dist/sdk/u-passkey.entry.esm.js.map +1 -1
- package/dist/sdk/u-profile.u-submit-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-reset-password-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-send-magic-code-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-signin-root.entry.esm.js.map +1 -1
- package/dist/sdk/u-signin-step.entry.esm.js.map +1 -1
- package/dist/sdk/u-social-login-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-spinner.entry.esm.js.map +1 -1
- package/dist/sdk/u-ticketable-export.entry.esm.js.map +1 -0
- package/dist/sdk/u-ticketable-list.entry.esm.js.map +1 -1
- package/dist/types/api/client.d.ts +1 -1
- package/dist/types/api/index.d.ts +4 -4
- package/dist/types/api/standalone.d.ts +9 -9
- package/dist/types/auth/api/auth.d.ts +2 -3
- package/dist/types/auth/api/schemas.d.ts +19 -19
- package/dist/types/auth/auth-helpers.d.ts +1 -0
- package/dist/types/auth/components/jump-to-service/jump-to-service.d.ts +13 -5
- package/dist/types/auth/components/jump-to-unidy/jump-to-unidy.d.ts +13 -9
- package/dist/types/auth/components/logout-button/logout-button.d.ts +13 -4
- package/dist/types/auth/components/missing-field/missing-field.d.ts +1 -0
- package/dist/types/auth/components/missing-fields-submit-button/missing-fields-submit-button.d.ts +14 -2
- package/dist/types/auth/components/reset-pass-button/reset-pass-button.d.ts +13 -4
- package/dist/types/auth/components/social-logins/social-login-button.d.ts +11 -7
- package/dist/types/components.d.ts +73 -0
- package/dist/types/logger.d.ts +0 -34
- package/dist/types/newsletter/components/logout-button/logout-button.d.ts +13 -4
- package/dist/types/newsletter/components/newsletter-root/newsletter-root.d.ts +16 -2
- package/dist/types/newsletter/newsletter-helpers.d.ts +8 -2
- package/dist/types/newsletter/store/newsletter-store.d.ts +8 -1
- package/dist/types/profile/api/profile.d.ts +2 -2
- package/dist/types/profile/api/schemas.d.ts +21 -21
- package/dist/types/profile/components/raw-field/raw-field.d.ts +14 -2
- package/dist/types/shared/base/component.d.ts +46 -0
- package/dist/types/shared/base/has-slot-content.d.ts +10 -0
- package/dist/types/shared/component-utils.d.ts +20 -12
- package/dist/types/shared/components/conditional-render/conditional-render.d.ts +7 -2
- package/dist/types/shared/components/config/config.d.ts +7 -2
- package/dist/types/shared/components/error-message/error-message.d.ts +14 -2
- package/dist/types/shared/components/submit-button/submit-button.d.ts +13 -4
- package/dist/types/shared/context-utils.d.ts +73 -0
- package/dist/types/shared/utils/redirect-with-token.d.ts +21 -0
- package/dist/types/shared/utils/url-utils.d.ts +16 -0
- package/dist/types/ticketable/api/schemas.d.ts +16 -2
- package/dist/types/ticketable/api/subscriptions.d.ts +8 -3
- package/dist/types/ticketable/api/tickets.d.ts +8 -3
- package/dist/types/ticketable/components/pagination/pagination-button.d.ts +8 -4
- package/dist/types/ticketable/components/pagination/pagination-page.d.ts +8 -4
- package/dist/types/ticketable/components/ticketable-export/ticketable-export.d.ts +24 -0
- package/dist/types/ticketable/components/ticketable-list/ticketable-list.d.ts +10 -4
- package/dist/types/ticketable/index.d.ts +1 -0
- package/package.json +6 -2
- package/readme.md +248 -27
- package/dist/cjs/app-globals-hdkLqF51.js +0 -10
- package/dist/cjs/app-globals-hdkLqF51.js.map +0 -1
- package/dist/cjs/component-utils-bu3SY4dE.js +0 -42
- package/dist/cjs/component-utils-bu3SY4dE.js.map +0 -1
- package/dist/cjs/index-B325yXfO.js.map +0 -1
- package/dist/cjs/index-BzPYBLYC.js.map +0 -1
- package/dist/cjs/newsletter-helpers-hdDC5X-V.js.map +0 -1
- package/dist/cjs/newsletter-store-CupsLgO9.js.map +0 -1
- package/dist/cjs/pagination-store-zo48QpTm.js +0 -16
- package/dist/cjs/pagination-store-zo48QpTm.js.map +0 -1
- package/dist/components/pagination-store.js +0 -14
- package/dist/components/pagination-store.js.map +0 -1
- package/dist/esm/app-globals-iHhGdwBB.js +0 -8
- package/dist/esm/app-globals-iHhGdwBB.js.map +0 -1
- package/dist/esm/component-utils-BGq0leDV.js +0 -39
- package/dist/esm/component-utils-BGq0leDV.js.map +0 -1
- package/dist/esm/index-BVlbCQEX.js.map +0 -1
- package/dist/esm/index-FTKB5a1d.js.map +0 -1
- package/dist/esm/newsletter-helpers-fCpxzovf.js.map +0 -1
- package/dist/esm/newsletter-store-BB618FgS.js.map +0 -1
- package/dist/esm/pagination-store-DxmcQH8R.js +0 -14
- package/dist/esm/pagination-store-DxmcQH8R.js.map +0 -1
- package/dist/sdk/p-1a8973a6.entry.js +0 -2
- package/dist/sdk/p-35ad60ab.entry.js +0 -2
- package/dist/sdk/p-35ad60ab.entry.js.map +0 -1
- package/dist/sdk/p-3f352f38.entry.js +0 -2
- package/dist/sdk/p-3f352f38.entry.js.map +0 -1
- package/dist/sdk/p-468aaf62.entry.js +0 -2
- package/dist/sdk/p-468aaf62.entry.js.map +0 -1
- package/dist/sdk/p-4e2e6a13.entry.js +0 -2
- package/dist/sdk/p-4e2e6a13.entry.js.map +0 -1
- package/dist/sdk/p-57c8dc68.entry.js +0 -2
- package/dist/sdk/p-57c8dc68.entry.js.map +0 -1
- package/dist/sdk/p-594aec0c.entry.js +0 -2
- package/dist/sdk/p-594aec0c.entry.js.map +0 -1
- package/dist/sdk/p-60c8be64.entry.js +0 -2
- package/dist/sdk/p-60c8be64.entry.js.map +0 -1
- package/dist/sdk/p-760718d3.entry.js +0 -2
- package/dist/sdk/p-760718d3.entry.js.map +0 -1
- package/dist/sdk/p-77f541f3.entry.js +0 -2
- package/dist/sdk/p-77f541f3.entry.js.map +0 -1
- package/dist/sdk/p-830778eb.entry.js +0 -2
- package/dist/sdk/p-8839648e.entry.js +0 -2
- package/dist/sdk/p-8839648e.entry.js.map +0 -1
- package/dist/sdk/p-B6MYe-dh.js +0 -2
- package/dist/sdk/p-B6MYe-dh.js.map +0 -1
- package/dist/sdk/p-BGq0leDV.js +0 -2
- package/dist/sdk/p-BGq0leDV.js.map +0 -1
- package/dist/sdk/p-C_UZBwdm.js +0 -2
- package/dist/sdk/p-C_UZBwdm.js.map +0 -1
- package/dist/sdk/p-CbazSxaZ.js +0 -2
- package/dist/sdk/p-CbazSxaZ.js.map +0 -1
- package/dist/sdk/p-DCG3L43i.js +0 -2
- package/dist/sdk/p-DEUPZOH-.js +0 -2
- package/dist/sdk/p-DEUPZOH-.js.map +0 -1
- package/dist/sdk/p-DSktNM_k.js +0 -2
- package/dist/sdk/p-FTKB5a1d.js +0 -14
- package/dist/sdk/p-FTKB5a1d.js.map +0 -1
- package/dist/sdk/p-a7ffcff9.entry.js +0 -2
- package/dist/sdk/p-a7ffcff9.entry.js.map +0 -1
- package/dist/sdk/p-acaba1d5.entry.js +0 -2
- package/dist/sdk/p-acaba1d5.entry.js.map +0 -1
- package/dist/sdk/p-ae47a7a3.entry.js +0 -2
- package/dist/sdk/p-ae47a7a3.entry.js.map +0 -1
- package/dist/sdk/p-aec580e4.entry.js +0 -2
- package/dist/sdk/p-aec580e4.entry.js.map +0 -1
- package/dist/sdk/p-b63438ff.entry.js +0 -2
- package/dist/sdk/p-b63438ff.entry.js.map +0 -1
- package/dist/sdk/p-baaaa7f5.entry.js +0 -2
- package/dist/sdk/p-baaaa7f5.entry.js.map +0 -1
- package/dist/sdk/p-bba2da84.entry.js +0 -2
- package/dist/sdk/p-bba2da84.entry.js.map +0 -1
- package/dist/sdk/p-bc47f42b.entry.js +0 -2
- package/dist/sdk/p-bc47f42b.entry.js.map +0 -1
- package/dist/sdk/p-bd51e26f.entry.js +0 -2
- package/dist/sdk/p-bd51e26f.entry.js.map +0 -1
- package/dist/sdk/p-c3552f75.entry.js +0 -2
- package/dist/sdk/p-c3552f75.entry.js.map +0 -1
- package/dist/sdk/p-d9900482.entry.js +0 -2
- package/dist/sdk/p-d9900482.entry.js.map +0 -1
- package/dist/sdk/p-e6796c38.entry.js +0 -2
- package/dist/sdk/p-e6796c38.entry.js.map +0 -1
- package/dist/sdk/p-f272eb38.entry.js +0 -2
- package/dist/sdk/p-f272eb38.entry.js.map +0 -1
- package/dist/sdk/p-f4a47ef8.entry.js +0 -2
- package/dist/sdk/p-f4a47ef8.entry.js.map +0 -1
- package/dist/sdk/p-f608e64a.entry.js +0 -2
- package/dist/sdk/p-f608e64a.entry.js.map +0 -1
- package/dist/sdk/p-f762ac70.entry.js +0 -2
- package/dist/sdk/p-f762ac70.entry.js.map +0 -1
- package/dist/sdk/p-l6NinBiD.js +0 -2
- package/dist/sdk/p-l6NinBiD.js.map +0 -1
- /package/dist/sdk/{p-88beb872.entry.js.map → p-8412762c.entry.js.map} +0 -0
- /package/dist/sdk/{p-bcca06f1.entry.js.map → p-96860b09.entry.js.map} +0 -0
- /package/dist/sdk/{p-7ee2f2ab.entry.js.map → p-ac3a6bbf.entry.js.map} +0 -0
- /package/dist/sdk/{p-6b061b18.entry.js.map → p-b99588a8.entry.js.map} +0 -0
- /package/dist/sdk/{p-10e20afd.entry.js.map → p-c2634439.entry.js.map} +0 -0
|
@@ -94,6 +94,22 @@
|
|
|
94
94
|
"reset_token_expired": "Reset token has expired. Please request a new password reset email",
|
|
95
95
|
"reset_token_missing": "Reset token is missing",
|
|
96
96
|
"schema_validation_error": "Schema validation error",
|
|
97
|
+
"validation": {
|
|
98
|
+
"accepted": "must be accepted",
|
|
99
|
+
"blank": "can't be blank",
|
|
100
|
+
"empty": "can't be empty",
|
|
101
|
+
"even": "must be even",
|
|
102
|
+
"exclusion": "is reserved",
|
|
103
|
+
"in": "is not included in the list",
|
|
104
|
+
"inclusion": "is not included in the list",
|
|
105
|
+
"invalid": "is invalid",
|
|
106
|
+
"not_a_number": "is not a number",
|
|
107
|
+
"odd": "must be odd",
|
|
108
|
+
"present": "must be blank",
|
|
109
|
+
"taken": "has already been taken",
|
|
110
|
+
"too_long": "is too long",
|
|
111
|
+
"too_short": "is too short"
|
|
112
|
+
},
|
|
97
113
|
"sign_in_expired": "Sign in expired",
|
|
98
114
|
"sign_in_not_found": "Sign in not found",
|
|
99
115
|
"sign_out_failed": "Failed to sign out, reason: {{reason}}",
|
|
@@ -92,6 +92,22 @@
|
|
|
92
92
|
"reset_token_expired": "Le jeton de réinitialisation a expiré. Veuillez demander un nouvel e-mail de réinitialisation du mot de passe",
|
|
93
93
|
"reset_token_missing": "Jeton de réinitialisation manquant",
|
|
94
94
|
"schema_validation_error": "Erreur de validation du schéma",
|
|
95
|
+
"validation": {
|
|
96
|
+
"accepted": "doit être accepté",
|
|
97
|
+
"blank": "ne peut pas être vide",
|
|
98
|
+
"empty": "ne peut pas être vide",
|
|
99
|
+
"even": "doit être pair",
|
|
100
|
+
"exclusion": "est réservé",
|
|
101
|
+
"in": "n'est pas inclus dans la liste",
|
|
102
|
+
"inclusion": "n'est pas inclus dans la liste",
|
|
103
|
+
"invalid": "n'est pas valide",
|
|
104
|
+
"not_a_number": "n'est pas un nombre",
|
|
105
|
+
"odd": "doit être impair",
|
|
106
|
+
"present": "doit être vide",
|
|
107
|
+
"taken": "est déjà pris",
|
|
108
|
+
"too_long": "est trop long",
|
|
109
|
+
"too_short": "est trop court"
|
|
110
|
+
},
|
|
95
111
|
"sign_in_expired": "Connexion expirée",
|
|
96
112
|
"sign_in_not_found": "Connexion introuvable",
|
|
97
113
|
"sign_out_failed": "Échec de la déconnexion, raison : {{reason}}",
|
|
@@ -92,6 +92,22 @@
|
|
|
92
92
|
"reset_token_expired": "Il token di reimpostazione è scaduto. Richiedi una nuova email di reimpostazione password",
|
|
93
93
|
"reset_token_missing": "Token di reimpostazione mancante",
|
|
94
94
|
"schema_validation_error": "Errore di validazione dello schema",
|
|
95
|
+
"validation": {
|
|
96
|
+
"accepted": "deve essere accettato",
|
|
97
|
+
"blank": "non può essere vuoto",
|
|
98
|
+
"empty": "non può essere vuoto",
|
|
99
|
+
"even": "deve essere pari",
|
|
100
|
+
"exclusion": "è riservato",
|
|
101
|
+
"in": "non è incluso nella lista",
|
|
102
|
+
"inclusion": "non è incluso nella lista",
|
|
103
|
+
"invalid": "non è valido",
|
|
104
|
+
"not_a_number": "non è un numero",
|
|
105
|
+
"odd": "deve essere dispari",
|
|
106
|
+
"present": "deve essere vuoto",
|
|
107
|
+
"taken": "è già stato preso",
|
|
108
|
+
"too_long": "è troppo lungo",
|
|
109
|
+
"too_short": "è troppo corto"
|
|
110
|
+
},
|
|
95
111
|
"sign_in_expired": "Accesso scaduto",
|
|
96
112
|
"sign_in_not_found": "Accesso non trovato",
|
|
97
113
|
"sign_out_failed": "Uscita fallita, motivo: {{reason}}",
|
|
@@ -92,6 +92,22 @@
|
|
|
92
92
|
"reset_token_expired": "Reset-token is verlopen. Vraag een nieuwe e-mail voor wachtwoordherstel aan",
|
|
93
93
|
"reset_token_missing": "Reset-token ontbreekt",
|
|
94
94
|
"schema_validation_error": "Schema-validatiefout",
|
|
95
|
+
"validation": {
|
|
96
|
+
"accepted": "moet worden geaccepteerd",
|
|
97
|
+
"blank": "mag niet leeg zijn",
|
|
98
|
+
"empty": "mag niet leeg zijn",
|
|
99
|
+
"even": "moet even zijn",
|
|
100
|
+
"exclusion": "is gereserveerd",
|
|
101
|
+
"in": "staat niet in de lijst",
|
|
102
|
+
"inclusion": "staat niet in de lijst",
|
|
103
|
+
"invalid": "is ongeldig",
|
|
104
|
+
"not_a_number": "is geen nummer",
|
|
105
|
+
"odd": "moet oneven zijn",
|
|
106
|
+
"present": "moet leeg zijn",
|
|
107
|
+
"taken": "is al in gebruik",
|
|
108
|
+
"too_long": "is te lang",
|
|
109
|
+
"too_short": "is te kort"
|
|
110
|
+
},
|
|
95
111
|
"sign_in_expired": "Aanmelding verlopen",
|
|
96
112
|
"sign_in_not_found": "Aanmelding niet gevonden",
|
|
97
113
|
"sign_out_failed": "Afmelden mislukt, reden: {{reason}}",
|
|
@@ -92,6 +92,22 @@
|
|
|
92
92
|
"reset_token_expired": "Token-ul de resetare a expirat. Vă rugăm să solicitați un nou e-mail pentru resetarea parolei",
|
|
93
93
|
"reset_token_missing": "Token de resetare lipsă",
|
|
94
94
|
"schema_validation_error": "Eroare de validare a schemei",
|
|
95
|
+
"validation": {
|
|
96
|
+
"accepted": "trebuie acceptat",
|
|
97
|
+
"blank": "nu poate fi gol",
|
|
98
|
+
"empty": "nu poate fi gol",
|
|
99
|
+
"even": "trebuie să fie par",
|
|
100
|
+
"exclusion": "este rezervat",
|
|
101
|
+
"in": "nu este inclus în listă",
|
|
102
|
+
"inclusion": "nu este inclus în listă",
|
|
103
|
+
"invalid": "nu este valid",
|
|
104
|
+
"not_a_number": "nu este un număr",
|
|
105
|
+
"odd": "trebuie să fie impar",
|
|
106
|
+
"present": "trebuie să fie gol",
|
|
107
|
+
"taken": "este deja luat",
|
|
108
|
+
"too_long": "este prea lung",
|
|
109
|
+
"too_short": "este prea scurt"
|
|
110
|
+
},
|
|
95
111
|
"sign_in_expired": "Conectare expirată",
|
|
96
112
|
"sign_in_not_found": "Conectare negăsită",
|
|
97
113
|
"sign_out_failed": "Deconectare eșuată, motiv: {{reason}}",
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { Mixin } from "@stencil/core";
|
|
2
1
|
const DEFAULT_LOG_LEVEL = "info";
|
|
3
2
|
const LOG_LEVELS = {
|
|
4
3
|
trace: 4,
|
|
@@ -40,42 +39,6 @@ export const createLogger = (prefix) => {
|
|
|
40
39
|
return logger;
|
|
41
40
|
}, {});
|
|
42
41
|
};
|
|
43
|
-
/**
|
|
44
|
-
* Stencil mixin factory that adds a logger property to the component.
|
|
45
|
-
* The logger automatically uses the component's class name as the prefix.
|
|
46
|
-
*/
|
|
47
|
-
// biome-ignore lint/suspicious/noExplicitAny: if we have no Base we have to invent one
|
|
48
|
-
export const loggerFactory = (Base = Object) => {
|
|
49
|
-
class LoggerMixin extends Base {
|
|
50
|
-
/** @internal */
|
|
51
|
-
__logger = null;
|
|
52
|
-
get logger() {
|
|
53
|
-
if (!this.__logger) {
|
|
54
|
-
this.__logger = createLogger(this.constructor.name);
|
|
55
|
-
}
|
|
56
|
-
return this.__logger;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
return LoggerMixin;
|
|
60
|
-
};
|
|
61
|
-
/**
|
|
62
|
-
* Base class for Unidy Stencil components that provides logging functionality.
|
|
63
|
-
* Components extending this class get a `this.logger` property that automatically
|
|
64
|
-
* prefixes log messages with the component's class name.
|
|
65
|
-
*
|
|
66
|
-
* @example
|
|
67
|
-
* ```tsx
|
|
68
|
-
* import { UnidyComponent } from '../logger';
|
|
69
|
-
*
|
|
70
|
-
* @Component({ tag: 'my-component' })
|
|
71
|
-
* export class MyComponent extends UnidyComponent {
|
|
72
|
-
* componentDidLoad() {
|
|
73
|
-
* this.logger.debug('Component loaded');
|
|
74
|
-
* }
|
|
75
|
-
* }
|
|
76
|
-
* ```
|
|
77
|
-
*/
|
|
78
|
-
export const UnidyComponent = Mixin(loggerFactory);
|
|
79
42
|
// Global logger for non-class contexts (backwards compatibility)
|
|
80
43
|
export const logger = createLogger("");
|
|
81
44
|
// biome-ignore lint/suspicious/noExplicitAny: External interfaces require the use of any in this case
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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","sourcesContent":["import type { LoggerModule } from \"i18next\";\n\ndeclare global {\n interface Window {\n setLogLevel: (level: LogLevel) => void;\n }\n}\n\ntype LogLevel = \"error\" | \"warn\" | \"info\" | \"debug\" | \"trace\";\n\nconst DEFAULT_LOG_LEVEL: LogLevel = \"info\";\n\nconst LOG_LEVELS: Record<LogLevel, number> = {\n trace: 4,\n debug: 3,\n info: 2,\n warn: 1,\n error: 0,\n};\n\nconst getLogLevel = (): LogLevel => {\n if (typeof window === \"undefined\") {\n return DEFAULT_LOG_LEVEL;\n }\n return (localStorage.getItem(\"unidy_log_level\") as LogLevel) || DEFAULT_LOG_LEVEL;\n};\n\nconst setLogLevel = (level: LogLevel) => {\n if (typeof window !== \"undefined\") {\n localStorage.setItem(\"unidy_log_level\", level);\n }\n};\n\nif (typeof window !== \"undefined\") {\n window.setLogLevel = setLogLevel;\n}\n\nconst canLog = (level: LogLevel) => LOG_LEVELS[getLogLevel()] >= LOG_LEVELS[level];\n\n// biome-ignore lint/suspicious/noExplicitAny: External interfaces require the use of any in this case\nconst log = (level: LogLevel, prefix: string, ...args: any[]) => {\n if (canLog(level)) {\n const prefixedArgs = prefix ? [`[${prefix}]`, ...args] : args;\n console[level](...prefixedArgs);\n }\n};\n\nexport interface Logger {\n // biome-ignore lint/suspicious/noExplicitAny: External interfaces require the use of any in this case\n error: (...args: any[]) => void;\n // biome-ignore lint/suspicious/noExplicitAny: External interfaces require the use of any in this case\n warn: (...args: any[]) => void;\n // biome-ignore lint/suspicious/noExplicitAny: External interfaces require the use of any in this case\n info: (...args: any[]) => void;\n // biome-ignore lint/suspicious/noExplicitAny: External interfaces require the use of any in this case\n debug: (...args: any[]) => void;\n // biome-ignore lint/suspicious/noExplicitAny: External interfaces require the use of any in this case\n trace: (...args: any[]) => void;\n}\n\nconst LOG_METHODS: LogLevel[] = [\"error\", \"warn\", \"info\", \"debug\", \"trace\"];\n\n/**\n * Creates a logger instance with a specific prefix (typically class/component name)\n */\nexport const createLogger = (prefix: string): Logger => {\n return LOG_METHODS.reduce((logger, level) => {\n // biome-ignore lint/suspicious/noExplicitAny: External interfaces require the use of any in this case\n logger[level] = (...args: any[]) => log(level, prefix, ...args);\n return logger;\n }, {} as Logger);\n};\n\n// Global logger for non-class contexts (backwards compatibility)\nexport const logger = createLogger(\"\");\n\n// biome-ignore lint/suspicious/noExplicitAny: External interfaces require the use of any in this case\nconst formatI18nMessage = (args: any[]): { prefix: string; message: string } => {\n const [caller_action, ...messages] = args;\n const [caller, action] = caller_action.split(\": \");\n const message = typeof messages[0] === \"object\" ? action : `${action}: ${messages.join(\" \")}`;\n return { prefix: caller || \"i18next\", message };\n};\n\nexport const i18nLogger: LoggerModule = {\n type: \"logger\",\n // biome-ignore lint/suspicious/noExplicitAny: External interfaces require the use of any in this case\n error: (args: any[]) => {\n const { prefix, message } = formatI18nMessage(args);\n log(\"error\", prefix, message);\n },\n // biome-ignore lint/suspicious/noExplicitAny: External interfaces require the use of any in this case\n warn: (args: any[]) => {\n const { prefix, message } = formatI18nMessage(args);\n log(\"warn\", prefix, message);\n },\n // biome-ignore lint/suspicious/noExplicitAny: External interfaces require the use of any in this case\n log: (args: any[]) => {\n const { prefix, message } = formatI18nMessage(args);\n log(\"info\", prefix, message);\n },\n};\n"]}
|
|
@@ -25,27 +25,28 @@ export class NewsletterService extends BaseService {
|
|
|
25
25
|
const headers = await this.buildNewsletterAuthHeaders(options);
|
|
26
26
|
const response = await this.client.post("/api/sdk/v1/newsletters/newsletter_subscription", payload, headers);
|
|
27
27
|
return this.handleResponse(response, () => {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return ["unauthorized", error];
|
|
34
|
-
case 429:
|
|
35
|
-
this.logger.warn("Rate limit exceeded");
|
|
36
|
-
return ["rate_limit_exceeded", error];
|
|
37
|
-
case 500:
|
|
38
|
-
this.errorReporter.captureException(response);
|
|
39
|
-
return ["server_error", error];
|
|
40
|
-
default:
|
|
41
|
-
return ["server_error", error];
|
|
28
|
+
// Both success and 422 return CreateSubscriptionsResponse
|
|
29
|
+
if (response.success || response.status === 422) {
|
|
30
|
+
const data = CreateSubscriptionsResponseSchema.parse(response.data);
|
|
31
|
+
if (data.errors.length > 0) {
|
|
32
|
+
return ["newsletter_error", data];
|
|
42
33
|
}
|
|
34
|
+
return [null, data];
|
|
43
35
|
}
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
36
|
+
const parsed = NewsletterErrorResponseSchema.safeParse(response.data);
|
|
37
|
+
const error = parsed.success ? parsed.data : { error_identifier: "unknown_error" };
|
|
38
|
+
switch (response.status) {
|
|
39
|
+
case 401:
|
|
40
|
+
return ["unauthorized", error];
|
|
41
|
+
case 429:
|
|
42
|
+
this.logger.warn("Rate limit exceeded");
|
|
43
|
+
return ["rate_limit_exceeded", error];
|
|
44
|
+
case 500:
|
|
45
|
+
this.errorReporter.captureException(response);
|
|
46
|
+
return ["server_error", error];
|
|
47
|
+
default:
|
|
48
|
+
return ["server_error", error];
|
|
47
49
|
}
|
|
48
|
-
return [null, data];
|
|
49
50
|
});
|
|
50
51
|
}
|
|
51
52
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"newsletters.js","sourceRoot":"","sources":["../../../src/newsletter/api/newsletters.ts"],"names":[],"mappings":"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","sourcesContent":["import * as z from \"zod\";\nimport {\n type ApiClientInterface,\n BaseService,\n type CommonErrors,\n type Options,\n type Payload,\n type ServiceDependencies,\n} from \"../../api/base-service\";\nimport {\n type CreateSubscriptionsPayload,\n CreateSubscriptionsPayloadSchema,\n type CreateSubscriptionsResponse,\n CreateSubscriptionsResponseSchema,\n DeleteSubscriptionResponseSchema,\n type LoginEmailPayload,\n LoginEmailPayloadSchema,\n type Newsletter,\n type NewsletterErrorResponse,\n NewsletterErrorResponseSchema,\n NewsletterSchema,\n type NewsletterSubscription,\n NewsletterSubscriptionSchema,\n type NewslettersResponse,\n NewslettersResponseSchema,\n type ResendDoiPayload,\n ResendDoiPayloadSchema,\n type UpdateSubscriptionPayload,\n UpdateSubscriptionPayloadSchema,\n} from \"./schemas\";\n\n// Re-export types for external use\nexport type {\n AdditionalFields,\n CreateSubscriptionsPayload,\n CreateSubscriptionsResponse,\n LoginEmailPayload,\n Newsletter,\n NewsletterErrorResponse,\n NewsletterSubscription,\n NewsletterSubscriptionError,\n NewslettersResponse,\n Preference,\n PreferenceGroup,\n ResendDoiPayload,\n UpdateSubscriptionPayload,\n} from \"./schemas\";\n\n// Options type for newsletter methods (only preferenceToken can be passed per-call)\nexport type NewsletterOptions = { preferenceToken: string };\n\n// Argument types for unified interface\nexport type NewsletterCreateArgs = Payload<CreateSubscriptionsPayload> & Options<NewsletterOptions>;\nexport type NewsletterListArgs = Options<NewsletterOptions>;\nexport type NewsletterGetArgs = { internalName: string } & Options<NewsletterOptions>;\nexport type NewsletterUpdateArgs = { internalName: string } & Payload<UpdateSubscriptionPayload> & Options<NewsletterOptions>;\nexport type NewsletterDeleteArgs = { internalName: string } & Options<NewsletterOptions>;\nexport type NewsletterResendDoiArgs = { internalName: string } & Payload<ResendDoiPayload> & Options<NewsletterOptions>;\nexport type NewsletterSendLoginEmailArgs = Payload<LoginEmailPayload>;\nexport type NewsletterGetByNameArgs = { internalName: string };\n\n// Result types using tuples\nexport type NewsletterCreateResult =\n | CommonErrors\n | [\"rate_limit_exceeded\", NewsletterErrorResponse]\n | [\"unauthorized\", NewsletterErrorResponse]\n | [\"server_error\", NewsletterErrorResponse]\n | [\"newsletter_error\", CreateSubscriptionsResponse]\n | [null, CreateSubscriptionsResponse];\n\nexport type NewsletterListResult =\n | CommonErrors\n | [\"unauthorized\", NewsletterErrorResponse]\n | [\"server_error\", NewsletterErrorResponse]\n | [null, NewsletterSubscription[]];\n\nexport type NewsletterGetResult =\n | CommonErrors\n | [\"not_found\", NewsletterErrorResponse]\n | [\"unauthorized\", NewsletterErrorResponse]\n | [\"server_error\", NewsletterErrorResponse]\n | [null, NewsletterSubscription];\n\nexport type NewsletterUpdateResult =\n | CommonErrors\n | [\"not_found\", NewsletterErrorResponse]\n | [\"unauthorized\", NewsletterErrorResponse]\n | [\"server_error\", NewsletterErrorResponse]\n | [null, NewsletterSubscription];\n\nexport type NewsletterDeleteResult =\n | CommonErrors\n | [\"not_found\", NewsletterErrorResponse]\n | [\"unauthorized\", NewsletterErrorResponse]\n | [\"unprocessable_entity\", NewsletterErrorResponse]\n | [\"server_error\", NewsletterErrorResponse]\n | [null, { new_preference_token: string } | null];\n\nexport type NewsletterResendDoiResult =\n | CommonErrors\n | [\"not_found\", NewsletterErrorResponse]\n | [\"unauthorized\", NewsletterErrorResponse]\n | [\"already_confirmed\", NewsletterErrorResponse]\n | [\"server_error\", NewsletterErrorResponse]\n | [null, null];\n\nexport type NewsletterSendLoginEmailResult =\n | CommonErrors\n | [\"rate_limit_exceeded\", NewsletterErrorResponse]\n | [\"not_found\", NewsletterErrorResponse]\n | [\"server_error\", NewsletterErrorResponse]\n | [null, null];\n\nexport type NewsletterListAllResult = CommonErrors | [\"server_error\", null] | [null, NewslettersResponse];\n\nexport type NewsletterGetByNameResult =\n | CommonErrors\n | [\"not_found\", NewsletterErrorResponse]\n | [\"server_error\", NewsletterErrorResponse]\n | [null, Newsletter];\n\nexport class NewsletterService extends BaseService {\n constructor(client: ApiClientInterface, deps?: ServiceDependencies) {\n super(client, \"NewsletterService\", deps);\n }\n\n private async buildNewsletterAuthHeaders(options?: Partial<NewsletterOptions>): Promise<HeadersInit | undefined> {\n const idToken = await this.getIdToken();\n return this.buildAuthHeaders({\n \"X-ID-Token\": idToken ?? undefined,\n \"X-Preference-Token\": options?.preferenceToken,\n });\n }\n\n /**\n * Create newsletter subscriptions for a user\n */\n async create(args: NewsletterCreateArgs): Promise<NewsletterCreateResult> {\n const { payload, options } = args;\n const validatedPayload = CreateSubscriptionsPayloadSchema.safeParse(payload);\n if (!validatedPayload.success) {\n this.logger.error(\"Invalid payload for create\", validatedPayload.error);\n return [\"schema_validation_error\", { error_identifier: \"schema_validation_error\", errors: [String(validatedPayload.error)] }];\n }\n\n const headers = await this.buildNewsletterAuthHeaders(options);\n const response = await this.client.post<unknown>(\"/api/sdk/v1/newsletters/newsletter_subscription\", payload, headers);\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n const parsed = NewsletterErrorResponseSchema.safeParse(response.data);\n const error = parsed.success ? parsed.data : { error_identifier: \"unknown_error\" };\n switch (response.status) {\n case 401:\n return [\"unauthorized\", error];\n case 429:\n this.logger.warn(\"Rate limit exceeded\");\n return [\"rate_limit_exceeded\", error];\n case 500:\n this.errorReporter.captureException(response);\n return [\"server_error\", error];\n default:\n return [\"server_error\", error];\n }\n }\n\n const data = CreateSubscriptionsResponseSchema.parse(response.data);\n if (data.errors.length > 0) {\n return [\"newsletter_error\", data];\n }\n return [null, data];\n });\n }\n\n /**\n * List all subscriptions for the authenticated user\n */\n async list(args?: NewsletterListArgs): Promise<NewsletterListResult> {\n const headers = await this.buildNewsletterAuthHeaders(args?.options);\n const response = await this.client.get<unknown>(\"/api/sdk/v1/newsletters/newsletter_subscription\", headers);\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n const parsed = NewsletterErrorResponseSchema.safeParse(response.data);\n const error = parsed.success ? parsed.data : { error_identifier: \"unknown_error\" };\n if (response.status === 401) {\n return [\"unauthorized\", error];\n }\n return [\"server_error\", error];\n }\n\n const data = z.array(NewsletterSubscriptionSchema).parse(response.data);\n return [null, data];\n });\n }\n\n /**\n * Get a specific subscription by newsletter internal name\n */\n async get(args: NewsletterGetArgs): Promise<NewsletterGetResult> {\n const { internalName, options } = args;\n const headers = await this.buildNewsletterAuthHeaders(options);\n const response = await this.client.get<unknown>(`/api/sdk/v1/newsletters/${internalName}/newsletter_subscription`, headers);\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n const parsed = NewsletterErrorResponseSchema.safeParse(response.data);\n const error = parsed.success ? parsed.data : { error_identifier: \"unknown_error\" };\n if (response.status === 401) {\n return [\"unauthorized\", error];\n }\n if (response.status === 404) {\n return [\"not_found\", error];\n }\n return [\"server_error\", error];\n }\n\n const data = NewsletterSubscriptionSchema.parse(response.data);\n return [null, data];\n });\n }\n\n /**\n * Update a subscription's preferences\n */\n async update(args: NewsletterUpdateArgs): Promise<NewsletterUpdateResult> {\n const { internalName, payload, options } = args;\n const validatedPayload = UpdateSubscriptionPayloadSchema.safeParse(payload);\n if (!validatedPayload.success) {\n this.logger.error(\"Invalid payload for update\", validatedPayload.error);\n return [\"schema_validation_error\", { error_identifier: \"schema_validation_error\", errors: [String(validatedPayload.error)] }];\n }\n\n const headers = await this.buildNewsletterAuthHeaders(options);\n const response = await this.client.patch<unknown>(`/api/sdk/v1/newsletters/${internalName}/newsletter_subscription`, payload, headers);\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n const parsed = NewsletterErrorResponseSchema.safeParse(response.data);\n const error = parsed.success ? parsed.data : { error_identifier: \"unknown_error\" };\n if (response.status === 401) {\n return [\"unauthorized\", error];\n }\n if (response.status === 404) {\n return [\"not_found\", error];\n }\n return [\"server_error\", error];\n }\n\n const data = NewsletterSubscriptionSchema.parse(response.data);\n return [null, data];\n });\n }\n\n /**\n * Delete a subscription\n */\n async delete(args: NewsletterDeleteArgs): Promise<NewsletterDeleteResult> {\n const { internalName, options } = args;\n const headers = await this.buildNewsletterAuthHeaders(options);\n const response = await this.client.delete<unknown>(`/api/sdk/v1/newsletters/${internalName}/newsletter_subscription`, headers);\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n const parsed = NewsletterErrorResponseSchema.safeParse(response.data);\n const error = parsed.success ? parsed.data : { error_identifier: \"unknown_error\" };\n if (response.status === 401) {\n return [\"unauthorized\", error];\n }\n if (response.status === 404) {\n return [\"not_found\", error];\n }\n if (response.status === 422) {\n return [\"unprocessable_entity\", error];\n }\n return [\"server_error\", error];\n }\n\n if (response.status === 204) {\n return [null, null];\n }\n\n const data = DeleteSubscriptionResponseSchema.parse(response.data);\n return [null, data];\n });\n }\n\n /**\n * Resend double opt-in confirmation email\n */\n async resendDoi(args: NewsletterResendDoiArgs): Promise<NewsletterResendDoiResult> {\n const { internalName, payload, options } = args;\n const validatedPayload = ResendDoiPayloadSchema.safeParse(payload);\n if (!validatedPayload.success) {\n this.logger.error(\"Invalid payload for resendDoi\", validatedPayload.error);\n return [\"schema_validation_error\", { error_identifier: \"schema_validation_error\", errors: [String(validatedPayload.error)] }];\n }\n\n const headers = await this.buildNewsletterAuthHeaders(options);\n const response = await this.client.post<unknown>(\n `/api/sdk/v1/newsletters/${internalName}/newsletter_subscription/resend_doi`,\n payload,\n headers,\n );\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n const parsed = NewsletterErrorResponseSchema.safeParse(response.data);\n const error = parsed.success ? parsed.data : { error_identifier: \"unknown_error\" };\n if (response.status === 401) {\n return [\"unauthorized\", error];\n }\n if (response.status === 404) {\n return [\"not_found\", error];\n }\n if (error.error_identifier === \"already_confirmed\") {\n return [\"already_confirmed\", error];\n }\n return [\"server_error\", error];\n }\n\n return [null, null];\n });\n }\n\n /**\n * Send a login email for newsletter management\n */\n async sendLoginEmail(args: NewsletterSendLoginEmailArgs): Promise<NewsletterSendLoginEmailResult> {\n const { payload } = args;\n const validatedPayload = LoginEmailPayloadSchema.safeParse(payload);\n if (!validatedPayload.success) {\n this.logger.error(\"Invalid payload for sendLoginEmail\", validatedPayload.error);\n return [\"schema_validation_error\", { error_identifier: \"schema_validation_error\", errors: [String(validatedPayload.error)] }];\n }\n\n const response = await this.client.post<unknown>(\"/api/sdk/v1/newsletters/newsletter_subscription/login_email\", payload);\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n const parsed = NewsletterErrorResponseSchema.safeParse(response.data);\n const error = parsed.success ? parsed.data : { error_identifier: \"unknown_error\" };\n if (response.status === 429) {\n return [\"rate_limit_exceeded\", error];\n }\n if (response.status === 404) {\n return [\"not_found\", error];\n }\n return [\"server_error\", error];\n }\n\n return [null, null];\n });\n }\n\n /**\n * List all available newsletters\n */\n async listAll(): Promise<NewsletterListAllResult> {\n const response = await this.client.get<unknown>(\"/api/sdk/v1/newsletters\");\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n return [\"server_error\", null];\n }\n\n const data = NewslettersResponseSchema.parse(response.data);\n return [null, data];\n });\n }\n\n /**\n * Get a newsletter by its internal name\n */\n async getByName(args: NewsletterGetByNameArgs): Promise<NewsletterGetByNameResult> {\n const { internalName } = args;\n const response = await this.client.get<unknown>(`/api/sdk/v1/newsletters/${internalName}`);\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n const parsed = NewsletterErrorResponseSchema.safeParse(response.data);\n const error = parsed.success ? parsed.data : { error_identifier: \"unknown_error\" };\n if (response.status === 404) {\n return [\"not_found\", error];\n }\n return [\"server_error\", error];\n }\n\n const data = NewsletterSchema.parse(response.data);\n return [null, data];\n });\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"newsletters.js","sourceRoot":"","sources":["../../../src/newsletter/api/newsletters.ts"],"names":[],"mappings":"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","sourcesContent":["import * as z from \"zod\";\nimport {\n type ApiClientInterface,\n BaseService,\n type CommonErrors,\n type Options,\n type Payload,\n type ServiceDependencies,\n} from \"../../api/base-service\";\nimport {\n type CreateSubscriptionsPayload,\n CreateSubscriptionsPayloadSchema,\n type CreateSubscriptionsResponse,\n CreateSubscriptionsResponseSchema,\n DeleteSubscriptionResponseSchema,\n type LoginEmailPayload,\n LoginEmailPayloadSchema,\n type Newsletter,\n type NewsletterErrorResponse,\n NewsletterErrorResponseSchema,\n NewsletterSchema,\n type NewsletterSubscription,\n NewsletterSubscriptionSchema,\n type NewslettersResponse,\n NewslettersResponseSchema,\n type ResendDoiPayload,\n ResendDoiPayloadSchema,\n type UpdateSubscriptionPayload,\n UpdateSubscriptionPayloadSchema,\n} from \"./schemas\";\n\n// Re-export types for external use\nexport type {\n AdditionalFields,\n CreateSubscriptionsPayload,\n CreateSubscriptionsResponse,\n LoginEmailPayload,\n Newsletter,\n NewsletterErrorResponse,\n NewsletterSubscription,\n NewsletterSubscriptionError,\n NewslettersResponse,\n Preference,\n PreferenceGroup,\n ResendDoiPayload,\n UpdateSubscriptionPayload,\n} from \"./schemas\";\n\n// Options type for newsletter methods (only preferenceToken can be passed per-call)\nexport type NewsletterOptions = { preferenceToken: string };\n\n// Argument types for unified interface\nexport type NewsletterCreateArgs = Payload<CreateSubscriptionsPayload> & Options<NewsletterOptions>;\nexport type NewsletterListArgs = Options<NewsletterOptions>;\nexport type NewsletterGetArgs = { internalName: string } & Options<NewsletterOptions>;\nexport type NewsletterUpdateArgs = { internalName: string } & Payload<UpdateSubscriptionPayload> & Options<NewsletterOptions>;\nexport type NewsletterDeleteArgs = { internalName: string } & Options<NewsletterOptions>;\nexport type NewsletterResendDoiArgs = { internalName: string } & Payload<ResendDoiPayload> & Options<NewsletterOptions>;\nexport type NewsletterSendLoginEmailArgs = Payload<LoginEmailPayload>;\nexport type NewsletterGetByNameArgs = { internalName: string };\n\n// Result types using tuples\nexport type NewsletterCreateResult =\n | CommonErrors\n | [\"rate_limit_exceeded\", NewsletterErrorResponse]\n | [\"unauthorized\", NewsletterErrorResponse]\n | [\"server_error\", NewsletterErrorResponse]\n | [\"newsletter_error\", CreateSubscriptionsResponse]\n | [null, CreateSubscriptionsResponse];\n\nexport type NewsletterListResult =\n | CommonErrors\n | [\"unauthorized\", NewsletterErrorResponse]\n | [\"server_error\", NewsletterErrorResponse]\n | [null, NewsletterSubscription[]];\n\nexport type NewsletterGetResult =\n | CommonErrors\n | [\"not_found\", NewsletterErrorResponse]\n | [\"unauthorized\", NewsletterErrorResponse]\n | [\"server_error\", NewsletterErrorResponse]\n | [null, NewsletterSubscription];\n\nexport type NewsletterUpdateResult =\n | CommonErrors\n | [\"not_found\", NewsletterErrorResponse]\n | [\"unauthorized\", NewsletterErrorResponse]\n | [\"server_error\", NewsletterErrorResponse]\n | [null, NewsletterSubscription];\n\nexport type NewsletterDeleteResult =\n | CommonErrors\n | [\"not_found\", NewsletterErrorResponse]\n | [\"unauthorized\", NewsletterErrorResponse]\n | [\"unprocessable_entity\", NewsletterErrorResponse]\n | [\"server_error\", NewsletterErrorResponse]\n | [null, { new_preference_token: string } | null];\n\nexport type NewsletterResendDoiResult =\n | CommonErrors\n | [\"not_found\", NewsletterErrorResponse]\n | [\"unauthorized\", NewsletterErrorResponse]\n | [\"already_confirmed\", NewsletterErrorResponse]\n | [\"server_error\", NewsletterErrorResponse]\n | [null, null];\n\nexport type NewsletterSendLoginEmailResult =\n | CommonErrors\n | [\"rate_limit_exceeded\", NewsletterErrorResponse]\n | [\"not_found\", NewsletterErrorResponse]\n | [\"server_error\", NewsletterErrorResponse]\n | [null, null];\n\nexport type NewsletterListAllResult = CommonErrors | [\"server_error\", null] | [null, NewslettersResponse];\n\nexport type NewsletterGetByNameResult =\n | CommonErrors\n | [\"not_found\", NewsletterErrorResponse]\n | [\"server_error\", NewsletterErrorResponse]\n | [null, Newsletter];\n\nexport class NewsletterService extends BaseService {\n constructor(client: ApiClientInterface, deps?: ServiceDependencies) {\n super(client, \"NewsletterService\", deps);\n }\n\n private async buildNewsletterAuthHeaders(options?: Partial<NewsletterOptions>): Promise<HeadersInit | undefined> {\n const idToken = await this.getIdToken();\n return this.buildAuthHeaders({\n \"X-ID-Token\": idToken ?? undefined,\n \"X-Preference-Token\": options?.preferenceToken,\n });\n }\n\n /**\n * Create newsletter subscriptions for a user\n */\n async create(args: NewsletterCreateArgs): Promise<NewsletterCreateResult> {\n const { payload, options } = args;\n const validatedPayload = CreateSubscriptionsPayloadSchema.safeParse(payload);\n if (!validatedPayload.success) {\n this.logger.error(\"Invalid payload for create\", validatedPayload.error);\n return [\"schema_validation_error\", { error_identifier: \"schema_validation_error\", errors: [String(validatedPayload.error)] }];\n }\n\n const headers = await this.buildNewsletterAuthHeaders(options);\n const response = await this.client.post<unknown>(\"/api/sdk/v1/newsletters/newsletter_subscription\", payload, headers);\n\n return this.handleResponse(response, () => {\n // Both success and 422 return CreateSubscriptionsResponse\n if (response.success || response.status === 422) {\n const data = CreateSubscriptionsResponseSchema.parse(response.data);\n if (data.errors.length > 0) {\n return [\"newsletter_error\", data];\n }\n return [null, data];\n }\n\n const parsed = NewsletterErrorResponseSchema.safeParse(response.data);\n const error = parsed.success ? parsed.data : { error_identifier: \"unknown_error\" };\n switch (response.status) {\n case 401:\n return [\"unauthorized\", error];\n case 429:\n this.logger.warn(\"Rate limit exceeded\");\n return [\"rate_limit_exceeded\", error];\n case 500:\n this.errorReporter.captureException(response);\n return [\"server_error\", error];\n default:\n return [\"server_error\", error];\n }\n });\n }\n\n /**\n * List all subscriptions for the authenticated user\n */\n async list(args?: NewsletterListArgs): Promise<NewsletterListResult> {\n const headers = await this.buildNewsletterAuthHeaders(args?.options);\n const response = await this.client.get<unknown>(\"/api/sdk/v1/newsletters/newsletter_subscription\", headers);\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n const parsed = NewsletterErrorResponseSchema.safeParse(response.data);\n const error = parsed.success ? parsed.data : { error_identifier: \"unknown_error\" };\n if (response.status === 401) {\n return [\"unauthorized\", error];\n }\n return [\"server_error\", error];\n }\n\n const data = z.array(NewsletterSubscriptionSchema).parse(response.data);\n return [null, data];\n });\n }\n\n /**\n * Get a specific subscription by newsletter internal name\n */\n async get(args: NewsletterGetArgs): Promise<NewsletterGetResult> {\n const { internalName, options } = args;\n const headers = await this.buildNewsletterAuthHeaders(options);\n const response = await this.client.get<unknown>(`/api/sdk/v1/newsletters/${internalName}/newsletter_subscription`, headers);\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n const parsed = NewsletterErrorResponseSchema.safeParse(response.data);\n const error = parsed.success ? parsed.data : { error_identifier: \"unknown_error\" };\n if (response.status === 401) {\n return [\"unauthorized\", error];\n }\n if (response.status === 404) {\n return [\"not_found\", error];\n }\n return [\"server_error\", error];\n }\n\n const data = NewsletterSubscriptionSchema.parse(response.data);\n return [null, data];\n });\n }\n\n /**\n * Update a subscription's preferences\n */\n async update(args: NewsletterUpdateArgs): Promise<NewsletterUpdateResult> {\n const { internalName, payload, options } = args;\n const validatedPayload = UpdateSubscriptionPayloadSchema.safeParse(payload);\n if (!validatedPayload.success) {\n this.logger.error(\"Invalid payload for update\", validatedPayload.error);\n return [\"schema_validation_error\", { error_identifier: \"schema_validation_error\", errors: [String(validatedPayload.error)] }];\n }\n\n const headers = await this.buildNewsletterAuthHeaders(options);\n const response = await this.client.patch<unknown>(`/api/sdk/v1/newsletters/${internalName}/newsletter_subscription`, payload, headers);\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n const parsed = NewsletterErrorResponseSchema.safeParse(response.data);\n const error = parsed.success ? parsed.data : { error_identifier: \"unknown_error\" };\n if (response.status === 401) {\n return [\"unauthorized\", error];\n }\n if (response.status === 404) {\n return [\"not_found\", error];\n }\n return [\"server_error\", error];\n }\n\n const data = NewsletterSubscriptionSchema.parse(response.data);\n return [null, data];\n });\n }\n\n /**\n * Delete a subscription\n */\n async delete(args: NewsletterDeleteArgs): Promise<NewsletterDeleteResult> {\n const { internalName, options } = args;\n const headers = await this.buildNewsletterAuthHeaders(options);\n const response = await this.client.delete<unknown>(`/api/sdk/v1/newsletters/${internalName}/newsletter_subscription`, headers);\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n const parsed = NewsletterErrorResponseSchema.safeParse(response.data);\n const error = parsed.success ? parsed.data : { error_identifier: \"unknown_error\" };\n if (response.status === 401) {\n return [\"unauthorized\", error];\n }\n if (response.status === 404) {\n return [\"not_found\", error];\n }\n if (response.status === 422) {\n return [\"unprocessable_entity\", error];\n }\n return [\"server_error\", error];\n }\n\n if (response.status === 204) {\n return [null, null];\n }\n\n const data = DeleteSubscriptionResponseSchema.parse(response.data);\n return [null, data];\n });\n }\n\n /**\n * Resend double opt-in confirmation email\n */\n async resendDoi(args: NewsletterResendDoiArgs): Promise<NewsletterResendDoiResult> {\n const { internalName, payload, options } = args;\n const validatedPayload = ResendDoiPayloadSchema.safeParse(payload);\n if (!validatedPayload.success) {\n this.logger.error(\"Invalid payload for resendDoi\", validatedPayload.error);\n return [\"schema_validation_error\", { error_identifier: \"schema_validation_error\", errors: [String(validatedPayload.error)] }];\n }\n\n const headers = await this.buildNewsletterAuthHeaders(options);\n const response = await this.client.post<unknown>(\n `/api/sdk/v1/newsletters/${internalName}/newsletter_subscription/resend_doi`,\n payload,\n headers,\n );\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n const parsed = NewsletterErrorResponseSchema.safeParse(response.data);\n const error = parsed.success ? parsed.data : { error_identifier: \"unknown_error\" };\n if (response.status === 401) {\n return [\"unauthorized\", error];\n }\n if (response.status === 404) {\n return [\"not_found\", error];\n }\n if (error.error_identifier === \"already_confirmed\") {\n return [\"already_confirmed\", error];\n }\n return [\"server_error\", error];\n }\n\n return [null, null];\n });\n }\n\n /**\n * Send a login email for newsletter management\n */\n async sendLoginEmail(args: NewsletterSendLoginEmailArgs): Promise<NewsletterSendLoginEmailResult> {\n const { payload } = args;\n const validatedPayload = LoginEmailPayloadSchema.safeParse(payload);\n if (!validatedPayload.success) {\n this.logger.error(\"Invalid payload for sendLoginEmail\", validatedPayload.error);\n return [\"schema_validation_error\", { error_identifier: \"schema_validation_error\", errors: [String(validatedPayload.error)] }];\n }\n\n const response = await this.client.post<unknown>(\"/api/sdk/v1/newsletters/newsletter_subscription/login_email\", payload);\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n const parsed = NewsletterErrorResponseSchema.safeParse(response.data);\n const error = parsed.success ? parsed.data : { error_identifier: \"unknown_error\" };\n if (response.status === 429) {\n return [\"rate_limit_exceeded\", error];\n }\n if (response.status === 404) {\n return [\"not_found\", error];\n }\n return [\"server_error\", error];\n }\n\n return [null, null];\n });\n }\n\n /**\n * List all available newsletters\n */\n async listAll(): Promise<NewsletterListAllResult> {\n const response = await this.client.get<unknown>(\"/api/sdk/v1/newsletters\");\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n return [\"server_error\", null];\n }\n\n const data = NewslettersResponseSchema.parse(response.data);\n return [null, data];\n });\n }\n\n /**\n * Get a newsletter by its internal name\n */\n async getByName(args: NewsletterGetByNameArgs): Promise<NewsletterGetByNameResult> {\n const { internalName } = args;\n const response = await this.client.get<unknown>(`/api/sdk/v1/newsletters/${internalName}`);\n\n return this.handleResponse(response, () => {\n if (!response.success) {\n const parsed = NewsletterErrorResponseSchema.safeParse(response.data);\n const error = parsed.success ? parsed.data : { error_identifier: \"unknown_error\" };\n if (response.status === 404) {\n return [\"not_found\", error];\n }\n return [\"server_error\", error];\n }\n\n const data = NewsletterSchema.parse(response.data);\n return [null, data];\n });\n }\n}\n"]}
|
|
@@ -33,7 +33,7 @@ export class NewsletterConsentCheckbox {
|
|
|
33
33
|
}
|
|
34
34
|
}
|
|
35
35
|
render() {
|
|
36
|
-
return (h("input", { key: '
|
|
36
|
+
return (h("input", { key: 'fb9e26bb1076beeaaa4e0fae41611f0a8d2a5443', type: "checkbox", checked: this.isChecked, onChange: this.handleChange, class: this.componentClassName, "aria-checked": this.isChecked, "aria-required": "true", "data-consent-checkbox": true }));
|
|
37
37
|
}
|
|
38
38
|
static get is() { return "u-newsletter-consent-checkbox"; }
|
|
39
39
|
static get properties() {
|
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import { Host, h } from "@stencil/core";
|
|
2
2
|
import { t } from "../../../i18n";
|
|
3
|
-
import {
|
|
3
|
+
import { UnidyComponent } from "../../../shared/base/component";
|
|
4
|
+
import { HasSlotContent } from "../../../shared/base/has-slot-content";
|
|
4
5
|
import { Flash } from "../../../shared/store/flash-store";
|
|
5
6
|
import { newsletterLogout } from "../../newsletter-helpers";
|
|
6
7
|
import { newsletterStore } from "../../store/newsletter-store";
|
|
7
|
-
export class
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
hasSlot = false;
|
|
11
|
-
async componentWillLoad() {
|
|
12
|
-
// this needs to be evaluated on load, bc doing it on render will evaluate the generated dom for "shadow: false"
|
|
13
|
-
// components and always return true on re-render
|
|
14
|
-
this.hasSlot = hasSlotContent(this.el);
|
|
8
|
+
export class NewsletterLogoutButton extends UnidyComponent(HasSlotContent) {
|
|
9
|
+
constructor() {
|
|
10
|
+
super();
|
|
15
11
|
}
|
|
12
|
+
componentClassName = "";
|
|
16
13
|
handleLogout = () => {
|
|
17
14
|
newsletterLogout();
|
|
18
15
|
Flash.success.addMessage(t("newsletter.success.logout"));
|
|
@@ -48,6 +45,5 @@ export class LogoutButton {
|
|
|
48
45
|
}
|
|
49
46
|
};
|
|
50
47
|
}
|
|
51
|
-
static get elementRef() { return "el"; }
|
|
52
48
|
}
|
|
53
49
|
//# sourceMappingURL=logout-button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logout-button.js","sourceRoot":"","sources":["../../../../src/newsletter/components/logout-button/logout-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"logout-button.js","sourceRoot":"","sources":["../../../../src/newsletter/components/logout-button/logout-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAM/D,MAAM,OAAO,sBAAuB,SAAQ,cAAc,CAAC,cAAc,CAAC;;;;IACrC,kBAAkB,GAAG,EAAE,CAAC;IAEnD,YAAY,GAAG,GAAG,EAAE;QAC1B,gBAAgB,EAAE,CAAC;QACnB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,MAAM;QACJ,IAAI,eAAe,CAAC,KAAK,CAAC,eAAe,KAAK,EAAE,IAAI,eAAe,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1F,OAAO,EAAC,IAAI,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAI,CAAC;QAC9C,CAAC;QAED,OAAO,CACL,EAAC,IAAI;YACH,cACE,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ,EACb,KAAK,EAAE,IAAI,CAAC,kBAAkB,EAC9B,OAAO,EAAE,IAAI,CAAC,YAAY,gBACf,QAAQ,eACT,QAAQ,IAEjB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,eAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAClD,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Host, h, Prop } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { UnidyComponent } from \"../../../shared/base/component\";\nimport { HasSlotContent } from \"../../../shared/base/has-slot-content\";\nimport { Flash } from \"../../../shared/store/flash-store\";\nimport { newsletterLogout } from \"../../newsletter-helpers\";\nimport { newsletterStore } from \"../../store/newsletter-store\";\n\n@Component({\n tag: \"u-newsletter-logout-button\",\n shadow: false,\n})\nexport class NewsletterLogoutButton extends UnidyComponent(HasSlotContent) {\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n private handleLogout = () => {\n newsletterLogout();\n Flash.success.addMessage(t(\"newsletter.success.logout\"));\n };\n\n render() {\n if (newsletterStore.state.preferenceToken === \"\" || newsletterStore.state.isAuthenticated) {\n return <Host style={{ display: \"none\" }} />;\n }\n\n return (\n <Host>\n <button\n type=\"button\"\n part=\"button\"\n class={this.componentClassName}\n onClick={this.handleLogout}\n aria-label=\"Logout\"\n aria-live=\"polite\"\n >\n {this.hasSlot ? <slot /> : t(\"newsletter.buttons.logout\")}\n </button>\n </Host>\n );\n }\n}\n"]}
|
|
@@ -54,7 +54,7 @@ export class NewsletterCheckbox {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
render() {
|
|
57
|
-
return (h("input", { key: '
|
|
57
|
+
return (h("input", { key: '0668abd8d616058256067a022ca778fbf056bd77', type: "checkbox", checked: this.isChecked, disabled: this.isSubscribed, onChange: this.handleChange, class: this.componentClassName, "aria-checked": this.isChecked }));
|
|
58
58
|
}
|
|
59
59
|
static get is() { return "u-newsletter-checkbox"; }
|
|
60
60
|
static get properties() {
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { Host, h } from "@stencil/core";
|
|
2
2
|
import { Auth } from "../../../auth/auth";
|
|
3
3
|
import { t } from "../../../i18n";
|
|
4
|
-
import { logger
|
|
5
|
-
import {
|
|
4
|
+
import { logger } from "../../../logger";
|
|
5
|
+
import { UnidyComponent } from "../../../shared/base/component";
|
|
6
6
|
import { Flash } from "../../../shared/store/flash-store";
|
|
7
7
|
import { waitForConfig } from "../../../shared/store/unidy-store";
|
|
8
|
+
import { clearUrlParam } from "../../../shared/utils/url-utils";
|
|
8
9
|
import * as NewsletterHelpers from "../../newsletter-helpers";
|
|
9
10
|
import { newsletterStore, persist } from "../../store/newsletter-store";
|
|
10
|
-
export class NewsletterRoot extends UnidyComponent {
|
|
11
|
+
export class NewsletterRoot extends UnidyComponent() {
|
|
11
12
|
constructor() {
|
|
12
13
|
super();
|
|
13
14
|
}
|
|
14
15
|
el;
|
|
15
16
|
componentClassName = "";
|
|
17
|
+
uNewsletterSuccess;
|
|
18
|
+
uNewsletterError;
|
|
16
19
|
getErrorText(errorIdentifier) {
|
|
17
20
|
return t(`newsletter.errors.${errorIdentifier}`) || t("errors.unknown", { defaultValue: "An unknown error occurred" });
|
|
18
21
|
}
|
|
@@ -43,15 +46,27 @@ export class NewsletterRoot extends UnidyComponent {
|
|
|
43
46
|
}
|
|
44
47
|
async submit(forType) {
|
|
45
48
|
const { email, checkedNewsletters, consentGiven, consentRequired } = newsletterStore.state;
|
|
49
|
+
const newsletters = Object.keys(checkedNewsletters);
|
|
50
|
+
// Check email first for better UX
|
|
51
|
+
if (!email) {
|
|
52
|
+
logger.error("Email is required");
|
|
53
|
+
Flash.error.addMessage(t("newsletter.errors.email_required"));
|
|
54
|
+
this.uNewsletterError.emit({ email: "", error: "email_required" });
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
46
57
|
if (forType === "login") {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
58
|
+
const result = await NewsletterHelpers.sendLoginEmail(email);
|
|
59
|
+
if (result.success === true) {
|
|
60
|
+
this.uNewsletterSuccess.emit({ email, newsletters: [] });
|
|
61
|
+
}
|
|
62
|
+
else if (result.success === false) {
|
|
63
|
+
this.uNewsletterError.emit({ email, error: `login_${result.error}` });
|
|
50
64
|
}
|
|
51
|
-
return
|
|
65
|
+
return;
|
|
52
66
|
}
|
|
53
|
-
if (
|
|
67
|
+
if (newsletters.length === 0) {
|
|
54
68
|
logger.error("No newsletters selected: please select at least one newsletter");
|
|
69
|
+
this.uNewsletterError.emit({ email, error: "no_newsletters_selected" });
|
|
55
70
|
return;
|
|
56
71
|
}
|
|
57
72
|
if (consentRequired && !consentGiven) {
|
|
@@ -59,12 +74,19 @@ export class NewsletterRoot extends UnidyComponent {
|
|
|
59
74
|
...newsletterStore.state.errors,
|
|
60
75
|
consent: "consent_required",
|
|
61
76
|
};
|
|
77
|
+
this.uNewsletterError.emit({ email, error: "consent_required" });
|
|
62
78
|
return;
|
|
63
79
|
}
|
|
64
|
-
await NewsletterHelpers.createSubscriptions({ email });
|
|
80
|
+
const success = await NewsletterHelpers.createSubscriptions({ email });
|
|
81
|
+
if (success) {
|
|
82
|
+
this.uNewsletterSuccess.emit({ email, newsletters });
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
this.uNewsletterError.emit({ email, error: "subscription_failed" });
|
|
86
|
+
}
|
|
65
87
|
}
|
|
66
88
|
render() {
|
|
67
|
-
return (h(Host, { key: '
|
|
89
|
+
return (h(Host, { key: '483b39da680aa800e612307c964151c823efa9e1', class: this.componentClassName }, h("slot", { key: '4272bd4109f92fc5c49ad7e8b245ad5382000519' })));
|
|
68
90
|
}
|
|
69
91
|
static get is() { return "u-newsletter-root"; }
|
|
70
92
|
static get properties() {
|
|
@@ -91,6 +113,39 @@ export class NewsletterRoot extends UnidyComponent {
|
|
|
91
113
|
}
|
|
92
114
|
};
|
|
93
115
|
}
|
|
116
|
+
static get events() {
|
|
117
|
+
return [{
|
|
118
|
+
"method": "uNewsletterSuccess",
|
|
119
|
+
"name": "uNewsletterSuccess",
|
|
120
|
+
"bubbles": true,
|
|
121
|
+
"cancelable": true,
|
|
122
|
+
"composed": true,
|
|
123
|
+
"docs": {
|
|
124
|
+
"tags": [],
|
|
125
|
+
"text": ""
|
|
126
|
+
},
|
|
127
|
+
"complexType": {
|
|
128
|
+
"original": "{ email: string; newsletters: string[] }",
|
|
129
|
+
"resolved": "{ email: string; newsletters: string[]; }",
|
|
130
|
+
"references": {}
|
|
131
|
+
}
|
|
132
|
+
}, {
|
|
133
|
+
"method": "uNewsletterError",
|
|
134
|
+
"name": "uNewsletterError",
|
|
135
|
+
"bubbles": true,
|
|
136
|
+
"cancelable": true,
|
|
137
|
+
"composed": true,
|
|
138
|
+
"docs": {
|
|
139
|
+
"tags": [],
|
|
140
|
+
"text": ""
|
|
141
|
+
},
|
|
142
|
+
"complexType": {
|
|
143
|
+
"original": "{ email: string; error: string }",
|
|
144
|
+
"resolved": "{ email: string; error: string; }",
|
|
145
|
+
"references": {}
|
|
146
|
+
}
|
|
147
|
+
}];
|
|
148
|
+
}
|
|
94
149
|
static get methods() {
|
|
95
150
|
return {
|
|
96
151
|
"submit": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"newsletter-root.js","sourceRoot":"","sources":["../../../../src/newsletter/components/newsletter-root/newsletter-root.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"newsletter-root.js","sourceRoot":"","sources":["../../../../src/newsletter/components/newsletter-root/newsletter-root.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAqB,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACpG,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAChE,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAkC,eAAe,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAOxG,MAAM,OAAO,cAAe,SAAQ,cAAc,EAAE;;;;IACvC,EAAE,CAAe;IACO,kBAAkB,GAAG,EAAE,CAAC;IAElD,kBAAkB,CAA0D;IAC5E,gBAAgB,CAAkD;IAE3E,YAAY,CAAC,eAA0C;QACrD,OAAO,CAAC,CAAC,qBAAqB,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,EAAE,YAAY,EAAE,2BAA2B,EAAE,CAAC,CAAC;IACzH,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,MAAM,eAAe,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAC1D,MAAM,eAAe,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAErC,IAAI,eAAe,EAAE,CAAC;YACpB,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,eAA4C,CAAC,CAAC,CAAC;QAC1F,CAAC;QAED,IAAI,eAAe,IAAI,KAAK,EAAE,CAAC;YAC7B,eAAe,CAAC,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC;YACxD,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YAEpC,OAAO,CAAC,iBAAiB,CAAC,CAAC;YAC3B,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC9C,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAC;QAC7D,eAAe,CAAC,KAAK,CAAC,eAAe,GAAG,eAAe,CAAC;QAExD,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE,CAAC;YAE/C,IAAI,QAAQ,EAAE,CAAC;gBACb,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,MAAM,aAAa,EAAE,CAAC;QACtB,MAAM,iBAAiB,CAAC,kBAAkB,EAAE,CAAC;IAC/C,CAAC;IAGD,KAAK,CAAC,MAAM,CAAC,OAA6B;QACxC,MAAM,EAAE,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC;QAC3F,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAEpD,kCAAkC;QAClC,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAClC,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC9D,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC;YACnE,OAAO;QACT,CAAC;QAED,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;YAC7D,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC5B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3D,CAAC;iBAAM,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACxE,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;YAC/E,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;YACxE,OAAO;QACT,CAAC;QAED,IAAI,eAAe,IAAI,CAAC,YAAY,EAAE,CAAC;YACrC,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG;gBAC7B,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM;gBAC/B,OAAO,EAAE,kBAAkB;aAC5B,CAAC;YACF,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAEvE,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACtE,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,IAAI,CAAC,kBAAkB;YAClC,8DAAQ,CACH,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Element, Event, type EventEmitter, Host, h, Method, Prop } from \"@stencil/core\";\nimport { Auth } from \"../../../auth/auth\";\nimport { t } from \"../../../i18n\";\nimport { logger } from \"../../../logger\";\nimport { UnidyComponent } from \"../../../shared/base/component\";\nimport { Flash } from \"../../../shared/store/flash-store\";\nimport { waitForConfig } from \"../../../shared/store/unidy-store\";\nimport { clearUrlParam } from \"../../../shared/utils/url-utils\";\nimport * as NewsletterHelpers from \"../../newsletter-helpers\";\nimport { type NewsletterErrorIdentifier, newsletterStore, persist } from \"../../store/newsletter-store\";\nimport type { NewsletterButtonFor } from \"../submit-button/newsletter-submit-button\";\n\n@Component({\n tag: \"u-newsletter-root\",\n shadow: false,\n})\nexport class NewsletterRoot extends UnidyComponent() {\n @Element() el!: HTMLElement;\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n @Event() uNewsletterSuccess!: EventEmitter<{ email: string; newsletters: string[] }>;\n @Event() uNewsletterError!: EventEmitter<{ email: string; error: string }>;\n\n getErrorText(errorIdentifier: NewsletterErrorIdentifier): string {\n return t(`newsletter.errors.${errorIdentifier}`) || t(\"errors.unknown\", { defaultValue: \"An unknown error occurred\" });\n }\n\n async componentWillLoad() {\n const newsletterError = clearUrlParam(\"newsletter_error\");\n const preferenceToken = clearUrlParam(\"preference_token\");\n const email = clearUrlParam(\"email\");\n\n if (newsletterError) {\n Flash.error.addMessage(this.getErrorText(newsletterError as NewsletterErrorIdentifier));\n }\n\n if (preferenceToken && email) {\n newsletterStore.state.preferenceToken = preferenceToken;\n newsletterStore.state.email = email;\n\n persist(\"preferenceToken\");\n persist(\"email\");\n }\n\n const authInstance = await Auth.getInstance();\n const isAuthenticated = await authInstance.isAuthenticated();\n newsletterStore.state.isAuthenticated = isAuthenticated;\n\n if (isAuthenticated) {\n const userData = await authInstance.userData();\n\n if (userData) {\n newsletterStore.state.email = userData.email;\n }\n }\n\n await waitForConfig();\n await NewsletterHelpers.fetchSubscriptions();\n }\n\n @Method()\n async submit(forType?: NewsletterButtonFor) {\n const { email, checkedNewsletters, consentGiven, consentRequired } = newsletterStore.state;\n const newsletters = Object.keys(checkedNewsletters);\n\n // Check email first for better UX\n if (!email) {\n logger.error(\"Email is required\");\n Flash.error.addMessage(t(\"newsletter.errors.email_required\"));\n this.uNewsletterError.emit({ email: \"\", error: \"email_required\" });\n return;\n }\n\n if (forType === \"login\") {\n const result = await NewsletterHelpers.sendLoginEmail(email);\n if (result.success === true) {\n this.uNewsletterSuccess.emit({ email, newsletters: [] });\n } else if (result.success === false) {\n this.uNewsletterError.emit({ email, error: `login_${result.error}` });\n }\n return;\n }\n\n if (newsletters.length === 0) {\n logger.error(\"No newsletters selected: please select at least one newsletter\");\n this.uNewsletterError.emit({ email, error: \"no_newsletters_selected\" });\n return;\n }\n\n if (consentRequired && !consentGiven) {\n newsletterStore.state.errors = {\n ...newsletterStore.state.errors,\n consent: \"consent_required\",\n };\n this.uNewsletterError.emit({ email, error: \"consent_required\" });\n return;\n }\n\n const success = await NewsletterHelpers.createSubscriptions({ email });\n\n if (success) {\n this.uNewsletterSuccess.emit({ email, newsletters });\n } else {\n this.uNewsletterError.emit({ email, error: \"subscription_failed\" });\n }\n }\n\n render() {\n return (\n <Host class={this.componentClassName}>\n <slot />\n </Host>\n );\n }\n}\n"]}
|
|
@@ -97,7 +97,7 @@ export class NewsletterPreferenceCheckbox {
|
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
99
|
render() {
|
|
100
|
-
return (h("input", { key: '
|
|
100
|
+
return (h("input", { key: '7160b9aeb9d1b9e4c17dede29adf0b48bf4a1c06', type: "checkbox", checked: this.isChecked, disabled: this.isDisabled, onChange: this.handleChange, class: this.componentClassName, "aria-checked": this.isChecked, "aria-busy": this.loading, "aria-disabled": this.isDisabled, "data-internal-name": this.internalName, "data-preference-identifier": this.preferenceIdentifier }));
|
|
101
101
|
}
|
|
102
102
|
static get is() { return "u-newsletter-preference-checkbox"; }
|
|
103
103
|
static get properties() {
|