@unidy.io/sdk 1.1.4 → 1.2.0-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/app-globals-DSKjcXX_.js.map +1 -1
- package/dist/cjs/{auth-store-BaxuIp4z.js → auth-store-DC9EVec8.js} +2 -3
- package/dist/cjs/auth-store-DC9EVec8.js.map +1 -0
- package/dist/cjs/{i18n-BoDZ8kd2.js → i18n-BAZB-eHh.js} +2 -8
- package/dist/cjs/{i18n-BoDZ8kd2.js.map → i18n-BAZB-eHh.js.map} +1 -1
- package/dist/cjs/{index-R2MKLaem.js → index-CvFbf5-D.js} +1477 -1105
- package/dist/cjs/index-CvFbf5-D.js.map +1 -0
- package/dist/cjs/index.cjs.js +6 -5
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/{newsletter-helpers-DR0vsegt.js → newsletter-helpers-Dj0yYHZf.js} +61 -74
- package/dist/cjs/newsletter-helpers-Dj0yYHZf.js.map +1 -0
- package/dist/cjs/{profile-helpers-B2h2III_.js → profile-helpers-D66Ycaft.js} +3 -3
- package/dist/cjs/{profile-helpers-B2h2III_.js.map → profile-helpers-D66Ycaft.js.map} +1 -1
- package/dist/cjs/u-conditional-render.cjs.entry.js +5 -6
- package/dist/cjs/u-conditional-render.entry.cjs.js.map +1 -1
- package/dist/cjs/u-config.cjs.entry.js +5 -6
- package/dist/cjs/u-config.entry.cjs.js.map +1 -1
- package/dist/cjs/u-email-field.cjs.entry.js +2 -2
- package/dist/cjs/u-error-message.cjs.entry.js +3 -3
- 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 +2 -2
- package/dist/cjs/u-full-profile.cjs.entry.js +1 -1
- package/dist/cjs/u-logout-button.cjs.entry.js +6 -7
- package/dist/cjs/u-logout-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-magic-code-field.cjs.entry.js +5 -6
- package/dist/cjs/u-magic-code-field.entry.cjs.js.map +1 -1
- package/dist/cjs/u-missing-field.cjs.entry.js +1 -1
- package/dist/cjs/u-missing-fields-submit-button.cjs.entry.js +9 -5
- package/dist/cjs/u-missing-fields-submit-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-checkbox.cjs.entry.js +5 -6
- package/dist/cjs/u-newsletter-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-logout-button.cjs.entry.js +6 -7
- package/dist/cjs/u-newsletter-logout-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-preference-checkbox.cjs.entry.js +5 -6
- package/dist/cjs/u-newsletter-preference-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-resend-doi-button.cjs.entry.js +4 -5
- package/dist/cjs/u-newsletter-resend-doi-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-root.cjs.entry.js +5 -6
- package/dist/cjs/u-newsletter-root.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-toggle-subscription-button.cjs.entry.js +4 -5
- package/dist/cjs/u-newsletter-toggle-subscription-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-passkey.cjs.entry.js +5 -6
- package/dist/cjs/u-passkey.entry.cjs.js.map +1 -1
- package/dist/cjs/u-password-field.cjs.entry.js +2 -2
- package/dist/cjs/u-profile.u-submit-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-profile_2.cjs.entry.js +35 -55
- package/dist/cjs/u-registration-button.cjs.entry.js +2 -2
- package/dist/cjs/u-reset-password-button.cjs.entry.js +4 -5
- package/dist/cjs/u-reset-password-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-send-magic-code-button.cjs.entry.js +5 -6
- package/dist/cjs/u-send-magic-code-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-signed-in.cjs.entry.js +1 -1
- package/dist/cjs/u-signin-root.cjs.entry.js +1 -1
- package/dist/cjs/u-signin-step.cjs.entry.js +5 -6
- package/dist/cjs/u-signin-step.entry.cjs.js.map +1 -1
- package/dist/cjs/u-signin-strategy.cjs.entry.js +1 -1
- package/dist/cjs/u-social-login-button.cjs.entry.js +2 -2
- package/dist/cjs/u-spinner.cjs.entry.js +1 -1
- package/dist/cjs/u-spinner.entry.cjs.js.map +1 -1
- package/dist/cjs/u-ticketable-list.cjs.entry.js +39 -29
- package/dist/cjs/u-ticketable-list.entry.cjs.js.map +1 -1
- package/dist/collection/api/base-client.js +129 -0
- package/dist/collection/api/base-client.js.map +1 -0
- package/dist/collection/api/base-service.js +72 -0
- package/dist/collection/api/base-service.js.map +1 -0
- package/dist/collection/api/client.js +18 -139
- package/dist/collection/api/client.js.map +1 -1
- package/dist/collection/api/index.js +25 -5
- package/dist/collection/api/index.js.map +1 -1
- package/dist/collection/api/shared.js +11 -2
- package/dist/collection/api/shared.js.map +1 -1
- package/dist/collection/api/standalone.js +88 -0
- package/dist/collection/api/standalone.js.map +1 -0
- package/dist/collection/auth/api/auth.js +66 -124
- package/dist/collection/auth/api/auth.js.map +1 -1
- package/dist/collection/auth/api/schemas.js +78 -0
- package/dist/collection/auth/api/schemas.js.map +1 -0
- package/dist/collection/auth/auth-helpers.js +47 -36
- package/dist/collection/auth/auth-helpers.js.map +1 -1
- package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js +4 -1
- 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/passkey-auth.js +8 -6
- package/dist/collection/auth/passkey-auth.js.map +1 -1
- package/dist/collection/auth/store/auth-store.js +0 -1
- package/dist/collection/auth/store/auth-store.js.map +1 -1
- package/dist/collection/locales/de.json +0 -1
- package/dist/collection/locales/en.json +0 -1
- package/dist/collection/locales/fr.json +0 -1
- package/dist/collection/locales/it.json +0 -1
- package/dist/collection/locales/nl_be.json +0 -1
- package/dist/collection/locales/ro.json +0 -1
- package/dist/collection/newsletter/api/newsletters.js +192 -167
- package/dist/collection/newsletter/api/newsletters.js.map +1 -1
- package/dist/collection/newsletter/api/schemas.js +112 -0
- package/dist/collection/newsletter/api/schemas.js.map +1 -0
- package/dist/collection/newsletter/newsletter-helpers.js +57 -70
- package/dist/collection/newsletter/newsletter-helpers.js.map +1 -1
- package/dist/collection/profile/api/profile.js +56 -155
- package/dist/collection/profile/api/profile.js.map +1 -1
- package/dist/collection/profile/api/schemas.js +120 -0
- package/dist/collection/profile/api/schemas.js.map +1 -0
- package/dist/collection/profile/components/field/field.css +1 -1
- package/dist/collection/profile/components/profile/profile.js +35 -101
- package/dist/collection/profile/components/profile/profile.js.map +1 -1
- package/dist/collection/shared/components/config/config.js +2 -2
- package/dist/collection/shared/components/error-message/error-message.js +3 -3
- 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/submit-button/submit-button.css +1 -1
- package/dist/collection/ticketable/api/schemas.js +58 -9
- package/dist/collection/ticketable/api/schemas.js.map +1 -1
- package/dist/collection/ticketable/api/subscriptions.js +13 -44
- package/dist/collection/ticketable/api/subscriptions.js.map +1 -1
- package/dist/collection/ticketable/api/ticketable-service.js +74 -0
- package/dist/collection/ticketable/api/ticketable-service.js.map +1 -0
- package/dist/collection/ticketable/api/tickets.js +13 -45
- package/dist/collection/ticketable/api/tickets.js.map +1 -1
- package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js +37 -77
- package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js.map +1 -1
- package/dist/components/auth-store.js +0 -1
- package/dist/components/auth-store.js.map +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/field.js.map +1 -1
- package/dist/components/i18n.js +0 -6
- package/dist/components/i18n.js.map +1 -1
- package/dist/components/index.js +1 -2
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +1475 -1106
- package/dist/components/index2.js.map +1 -1
- package/dist/components/newsletter-helpers.js +57 -70
- package/dist/components/newsletter-helpers.js.map +1 -1
- package/dist/components/profile.js +34 -54
- package/dist/components/profile.js.map +1 -1
- package/dist/components/spinner.js +1 -1
- package/dist/components/spinner.js.map +1 -1
- package/dist/components/submit-button.js +1 -1
- package/dist/components/submit-button.js.map +1 -1
- package/dist/components/u-config.js +1 -2
- package/dist/components/u-config.js.map +1 -1
- package/dist/components/u-error-message.js +2 -2
- package/dist/components/u-error-message.js.map +1 -1
- package/dist/components/u-logout-button.js +1 -1
- package/dist/components/u-magic-code-field.js +1 -1
- package/dist/components/u-missing-fields-submit-button.js +4 -1
- package/dist/components/u-missing-fields-submit-button.js.map +1 -1
- package/dist/components/u-newsletter-root.js +1 -1
- package/dist/components/u-passkey.js +1 -1
- package/dist/components/u-reset-password-button.js +1 -1
- package/dist/components/u-send-magic-code-button.js +1 -1
- package/dist/components/u-signin-step.js +1 -1
- package/dist/components/u-ticketable-list.js +36 -29
- package/dist/components/u-ticketable-list.js.map +1 -1
- package/dist/esm/app-globals-CPU9ZcqZ.js.map +1 -1
- package/dist/esm/{auth-store-CVvBlKGv.js → auth-store-BMqUdTpC.js} +2 -3
- package/dist/esm/auth-store-BMqUdTpC.js.map +1 -0
- package/dist/esm/{i18n-CLdWzy5J.js → i18n-BANodpxG.js} +2 -8
- package/dist/esm/{i18n-CLdWzy5J.js.map → i18n-BANodpxG.js.map} +1 -1
- package/dist/esm/{index-DSDkaHWI.js → index-2p1QEJrx.js} +1477 -1108
- package/dist/esm/index-2p1QEJrx.js.map +1 -0
- package/dist/esm/index.js +3 -4
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/{newsletter-helpers-Dc_24im3.js → newsletter-helpers-D64LTcSM.js} +61 -74
- package/dist/esm/newsletter-helpers-D64LTcSM.js.map +1 -0
- package/dist/esm/{profile-helpers-CglNd6Nw.js → profile-helpers-DAvXZ9Uj.js} +3 -3
- package/dist/esm/{profile-helpers-CglNd6Nw.js.map → profile-helpers-DAvXZ9Uj.js.map} +1 -1
- package/dist/esm/u-conditional-render.entry.js +5 -6
- package/dist/esm/u-conditional-render.entry.js.map +1 -1
- package/dist/esm/u-config.entry.js +4 -5
- package/dist/esm/u-config.entry.js.map +1 -1
- package/dist/esm/u-email-field.entry.js +2 -2
- package/dist/esm/u-error-message.entry.js +3 -3
- 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 +2 -2
- package/dist/esm/u-full-profile.entry.js +1 -1
- package/dist/esm/u-logout-button.entry.js +5 -6
- package/dist/esm/u-logout-button.entry.js.map +1 -1
- package/dist/esm/u-magic-code-field.entry.js +4 -5
- package/dist/esm/u-magic-code-field.entry.js.map +1 -1
- package/dist/esm/u-missing-field.entry.js +1 -1
- package/dist/esm/u-missing-fields-submit-button.entry.js +9 -5
- package/dist/esm/u-missing-fields-submit-button.entry.js.map +1 -1
- package/dist/esm/u-newsletter-checkbox.entry.js +5 -6
- package/dist/esm/u-newsletter-checkbox.entry.js.map +1 -1
- package/dist/esm/u-newsletter-logout-button.entry.js +6 -7
- package/dist/esm/u-newsletter-logout-button.entry.js.map +1 -1
- package/dist/esm/u-newsletter-preference-checkbox.entry.js +5 -6
- package/dist/esm/u-newsletter-preference-checkbox.entry.js.map +1 -1
- package/dist/esm/u-newsletter-resend-doi-button.entry.js +4 -5
- package/dist/esm/u-newsletter-resend-doi-button.entry.js.map +1 -1
- package/dist/esm/u-newsletter-root.entry.js +4 -5
- package/dist/esm/u-newsletter-root.entry.js.map +1 -1
- package/dist/esm/u-newsletter-toggle-subscription-button.entry.js +4 -5
- package/dist/esm/u-newsletter-toggle-subscription-button.entry.js.map +1 -1
- package/dist/esm/u-passkey.entry.js +4 -5
- package/dist/esm/u-passkey.entry.js.map +1 -1
- package/dist/esm/u-password-field.entry.js +2 -2
- package/dist/esm/u-profile.u-submit-button.entry.js.map +1 -1
- package/dist/esm/u-profile_2.entry.js +36 -56
- package/dist/esm/u-registration-button.entry.js +2 -2
- package/dist/esm/u-reset-password-button.entry.js +3 -4
- package/dist/esm/u-reset-password-button.entry.js.map +1 -1
- package/dist/esm/u-send-magic-code-button.entry.js +4 -5
- package/dist/esm/u-send-magic-code-button.entry.js.map +1 -1
- package/dist/esm/u-signed-in.entry.js +1 -1
- package/dist/esm/u-signin-root.entry.js +1 -1
- package/dist/esm/u-signin-step.entry.js +4 -5
- package/dist/esm/u-signin-step.entry.js.map +1 -1
- package/dist/esm/u-signin-strategy.entry.js +1 -1
- package/dist/esm/u-social-login-button.entry.js +2 -2
- package/dist/esm/u-spinner.entry.js +1 -1
- package/dist/esm/u-spinner.entry.js.map +1 -1
- package/dist/esm/u-ticketable-list.entry.js +40 -30
- package/dist/esm/u-ticketable-list.entry.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 +0 -1
- package/dist/sdk/locales/en.json +0 -1
- package/dist/sdk/locales/fr.json +0 -1
- package/dist/sdk/locales/it.json +0 -1
- package/dist/sdk/locales/nl_be.json +0 -1
- package/dist/sdk/locales/ro.json +0 -1
- package/dist/sdk/{p-5babee6b.entry.js → p-098eef67.entry.js} +2 -2
- package/dist/sdk/p-0e74de96.entry.js +2 -0
- package/dist/sdk/p-0e74de96.entry.js.map +1 -0
- package/dist/sdk/p-0ed36cbb.entry.js +2 -0
- package/dist/sdk/p-0ed36cbb.entry.js.map +1 -0
- package/dist/sdk/p-1149e044.entry.js +2 -0
- package/dist/sdk/p-1149e044.entry.js.map +1 -0
- package/dist/sdk/p-16d763fd.entry.js +2 -0
- package/dist/sdk/p-16d763fd.entry.js.map +1 -0
- package/dist/sdk/p-1d404c36.entry.js +2 -0
- package/dist/sdk/p-1d404c36.entry.js.map +1 -0
- package/dist/sdk/p-32da9922.entry.js +2 -0
- package/dist/sdk/p-32da9922.entry.js.map +1 -0
- package/dist/sdk/p-3d3a9c90.entry.js +2 -0
- package/dist/sdk/p-3d3a9c90.entry.js.map +1 -0
- package/dist/sdk/p-43024bd6.entry.js +2 -0
- package/dist/sdk/p-43024bd6.entry.js.map +1 -0
- package/dist/sdk/{p-e2e7061b.entry.js → p-5da49d00.entry.js} +2 -2
- package/dist/sdk/{p-f961fbea.entry.js → p-67af762e.entry.js} +2 -2
- package/dist/sdk/{p-f961fbea.entry.js.map → p-67af762e.entry.js.map} +1 -1
- package/dist/sdk/p-7099bd56.entry.js +2 -0
- package/dist/sdk/p-7099bd56.entry.js.map +1 -0
- package/dist/sdk/p-745742f1.entry.js +2 -0
- package/dist/sdk/{p-9e71a36c.entry.js → p-74e6523f.entry.js} +2 -2
- package/dist/sdk/p-86d16818.entry.js +2 -0
- package/dist/sdk/{p-effaf86b.entry.js.map → p-86d16818.entry.js.map} +1 -1
- package/dist/sdk/{p-DA84OuuU.js → p-BasehRhW.js} +2 -2
- package/dist/sdk/{p-DA84OuuU.js.map → p-BasehRhW.js.map} +1 -1
- package/dist/sdk/p-C4aHo4nN.js +2 -0
- package/dist/sdk/p-C4aHo4nN.js.map +1 -0
- package/dist/sdk/p-CFiZLMAA.js.map +1 -1
- package/dist/sdk/p-DGDhaqCd.js +2 -0
- package/dist/sdk/p-DGDhaqCd.js.map +1 -0
- package/dist/sdk/{p-CbRhHGU5.js → p-DSq94RWc.js} +2 -2
- package/dist/sdk/{p-CbRhHGU5.js.map → p-DSq94RWc.js.map} +1 -1
- package/dist/sdk/p-DSwwVdp1.js +2 -0
- package/dist/sdk/p-DSwwVdp1.js.map +1 -0
- package/dist/sdk/p-a037bbe3.entry.js +2 -0
- package/dist/sdk/p-a037bbe3.entry.js.map +1 -0
- package/dist/sdk/p-adcb7911.entry.js +2 -0
- package/dist/sdk/p-adcb7911.entry.js.map +1 -0
- package/dist/sdk/{p-39b61f33.entry.js → p-bbbec3d4.entry.js} +2 -2
- package/dist/sdk/{p-f232929b.entry.js → p-c2fba7c8.entry.js} +2 -2
- package/dist/sdk/p-c4618822.entry.js +2 -0
- package/dist/sdk/p-c4618822.entry.js.map +1 -0
- package/dist/sdk/p-ca4e57f2.entry.js +2 -0
- package/dist/sdk/p-ca4e57f2.entry.js.map +1 -0
- package/dist/sdk/p-ce4ab77c.entry.js +2 -0
- package/dist/sdk/p-ce4ab77c.entry.js.map +1 -0
- package/dist/sdk/p-d143e097.entry.js +2 -0
- package/dist/sdk/p-d143e097.entry.js.map +1 -0
- package/dist/sdk/{p-a69b83ec.entry.js → p-e0d2397c.entry.js} +2 -2
- package/dist/sdk/{p-80034205.entry.js → p-e6beb9d7.entry.js} +2 -2
- package/dist/sdk/p-ecc7fcff.entry.js +2 -0
- package/dist/sdk/p-ecc7fcff.entry.js.map +1 -0
- package/dist/sdk/{p-2cb6a2d0.entry.js → p-f1788e52.entry.js} +2 -2
- package/dist/sdk/p-fb665a5c.entry.js +2 -0
- package/dist/sdk/p-fb665a5c.entry.js.map +1 -0
- package/dist/sdk/p-fc67cf07.entry.js +2 -0
- package/dist/sdk/p-fc67cf07.entry.js.map +1 -0
- 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-logout-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-magic-code-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-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-step.entry.esm.js.map +1 -1
- package/dist/sdk/u-spinner.entry.esm.js.map +1 -1
- package/dist/sdk/u-ticketable-list.entry.esm.js.map +1 -1
- package/dist/types/api/base-client.d.ts +54 -0
- package/dist/types/api/base-service.d.ts +62 -0
- package/dist/types/api/client.d.ts +9 -31
- package/dist/types/api/index.d.ts +1 -0
- package/dist/types/api/shared.d.ts +11 -0
- package/dist/types/api/standalone.d.ts +105 -0
- package/dist/types/auth/api/auth.d.ts +71 -287
- package/dist/types/auth/api/schemas.d.ts +572 -0
- package/dist/types/auth/auth-helpers.d.ts +65 -66
- package/dist/types/auth/store/auth-store.d.ts +3 -3
- package/dist/types/components.d.ts +0 -72
- package/dist/types/newsletter/api/newsletters.d.ts +73 -196
- package/dist/types/newsletter/api/schemas.d.ts +192 -0
- package/dist/types/profile/api/profile.d.ts +12 -237
- package/dist/types/profile/api/schemas.d.ts +336 -0
- package/dist/types/profile/components/profile/profile.d.ts +1 -17
- package/dist/types/shared/components/error-message/error-message.d.ts +1 -1
- package/dist/types/ticketable/api/schemas.d.ts +108 -15
- package/dist/types/ticketable/api/subscriptions.d.ts +16 -83
- package/dist/types/ticketable/api/ticketable-service.d.ts +39 -0
- package/dist/types/ticketable/api/tickets.d.ts +16 -85
- package/dist/types/ticketable/components/ticketable-list/ticketable-list.d.ts +2 -12
- package/package.json +5 -1
- package/dist/cjs/auth-NU3DBc-6.js +0 -581
- package/dist/cjs/auth-NU3DBc-6.js.map +0 -1
- package/dist/cjs/auth-store-BaxuIp4z.js.map +0 -1
- package/dist/cjs/index-R2MKLaem.js.map +0 -1
- package/dist/cjs/newsletter-helpers-DR0vsegt.js.map +0 -1
- package/dist/collection/ticketable/api/get-with-schema.js +0 -35
- package/dist/collection/ticketable/api/get-with-schema.js.map +0 -1
- package/dist/components/auth.js +0 -580
- package/dist/components/auth.js.map +0 -1
- package/dist/esm/auth-nsjRdpvS.js +0 -579
- package/dist/esm/auth-nsjRdpvS.js.map +0 -1
- package/dist/esm/auth-store-CVvBlKGv.js.map +0 -1
- package/dist/esm/index-DSDkaHWI.js.map +0 -1
- package/dist/esm/newsletter-helpers-Dc_24im3.js.map +0 -1
- package/dist/sdk/p-0ab98e7a.entry.js +0 -2
- package/dist/sdk/p-0ab98e7a.entry.js.map +0 -1
- package/dist/sdk/p-0d324822.entry.js +0 -2
- package/dist/sdk/p-0d324822.entry.js.map +0 -1
- package/dist/sdk/p-0fb37ee9.entry.js +0 -2
- package/dist/sdk/p-0fb37ee9.entry.js.map +0 -1
- package/dist/sdk/p-3049e73f.entry.js +0 -2
- package/dist/sdk/p-3049e73f.entry.js.map +0 -1
- package/dist/sdk/p-312b919e.entry.js +0 -2
- package/dist/sdk/p-312b919e.entry.js.map +0 -1
- package/dist/sdk/p-319c5d3b.entry.js +0 -2
- package/dist/sdk/p-319c5d3b.entry.js.map +0 -1
- package/dist/sdk/p-34b98f55.entry.js +0 -2
- package/dist/sdk/p-34b98f55.entry.js.map +0 -1
- package/dist/sdk/p-4ec3302d.entry.js +0 -2
- package/dist/sdk/p-4ec3302d.entry.js.map +0 -1
- package/dist/sdk/p-568eabbc.entry.js +0 -2
- package/dist/sdk/p-568eabbc.entry.js.map +0 -1
- package/dist/sdk/p-5b40a68b.entry.js +0 -2
- package/dist/sdk/p-5b40a68b.entry.js.map +0 -1
- package/dist/sdk/p-66587fdd.entry.js +0 -2
- package/dist/sdk/p-66587fdd.entry.js.map +0 -1
- package/dist/sdk/p-88d93d64.entry.js +0 -2
- package/dist/sdk/p-90e2253e.entry.js +0 -2
- package/dist/sdk/p-90e2253e.entry.js.map +0 -1
- package/dist/sdk/p-BiILQPdb.js +0 -2
- package/dist/sdk/p-BiILQPdb.js.map +0 -1
- package/dist/sdk/p-DdUvQelg.js +0 -2
- package/dist/sdk/p-DdUvQelg.js.map +0 -1
- package/dist/sdk/p-PKvQIsOt.js +0 -2
- package/dist/sdk/p-PKvQIsOt.js.map +0 -1
- package/dist/sdk/p-a4f5940f.entry.js +0 -2
- package/dist/sdk/p-a4f5940f.entry.js.map +0 -1
- package/dist/sdk/p-aMrLKr2m.js +0 -2
- package/dist/sdk/p-aMrLKr2m.js.map +0 -1
- package/dist/sdk/p-bfb04b17.entry.js +0 -2
- package/dist/sdk/p-bfb04b17.entry.js.map +0 -1
- package/dist/sdk/p-c6816542.entry.js +0 -2
- package/dist/sdk/p-c6816542.entry.js.map +0 -1
- package/dist/sdk/p-da363474.entry.js +0 -2
- package/dist/sdk/p-da363474.entry.js.map +0 -1
- package/dist/sdk/p-e54d5d38.entry.js +0 -2
- package/dist/sdk/p-e54d5d38.entry.js.map +0 -1
- package/dist/sdk/p-e81bbd62.entry.js +0 -2
- package/dist/sdk/p-e81bbd62.entry.js.map +0 -1
- package/dist/sdk/p-effaf86b.entry.js +0 -2
- package/dist/types/ticketable/api/get-with-schema.d.ts +0 -3
- /package/dist/sdk/{p-5babee6b.entry.js.map → p-098eef67.entry.js.map} +0 -0
- /package/dist/sdk/{p-e2e7061b.entry.js.map → p-5da49d00.entry.js.map} +0 -0
- /package/dist/sdk/{p-88d93d64.entry.js.map → p-745742f1.entry.js.map} +0 -0
- /package/dist/sdk/{p-9e71a36c.entry.js.map → p-74e6523f.entry.js.map} +0 -0
- /package/dist/sdk/{p-39b61f33.entry.js.map → p-bbbec3d4.entry.js.map} +0 -0
- /package/dist/sdk/{p-f232929b.entry.js.map → p-c2fba7c8.entry.js.map} +0 -0
- /package/dist/sdk/{p-a69b83ec.entry.js.map → p-e0d2397c.entry.js.map} +0 -0
- /package/dist/sdk/{p-80034205.entry.js.map → p-e6beb9d7.entry.js.map} +0 -0
- /package/dist/sdk/{p-2cb6a2d0.entry.js.map → p-f1788e52.entry.js.map} +0 -0
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index = require('./index-
|
|
4
|
-
var authStore = require('./auth-store-
|
|
5
|
-
var auth = require('./auth-NU3DBc-6.js');
|
|
3
|
+
var index = require('./index-CvFbf5-D.js');
|
|
4
|
+
var authStore = require('./auth-store-DC9EVec8.js');
|
|
6
5
|
var profileStore = require('./profile-store-P_BcYkef.js');
|
|
7
6
|
var paginationStore = require('./pagination-store-BEiW3MQd.js');
|
|
8
7
|
var flashStore = require('./flash-store-BuIBuQDx.js');
|
|
9
|
-
require('./i18n-BoDZ8kd2.js');
|
|
10
8
|
require('./index-B_N5xKgH.js');
|
|
11
9
|
require('./unidy-store-7AbWnZ6g.js');
|
|
12
10
|
require('./index-DLz3FT7T.js');
|
|
11
|
+
require('./i18n-BAZB-eHh.js');
|
|
13
12
|
require('./component-utils-BpMyeVQo.js');
|
|
14
13
|
|
|
15
14
|
const AUTH_ERROR_CODES = {
|
|
@@ -39,7 +38,10 @@ const AUTH_ERROR_CODES = {
|
|
|
39
38
|
};
|
|
40
39
|
|
|
41
40
|
exports.ApiClient = index.ApiClient;
|
|
41
|
+
exports.Auth = index.Auth;
|
|
42
42
|
exports.AuthService = index.AuthService;
|
|
43
|
+
exports.BaseErrorSchema = index.BaseErrorSchema;
|
|
44
|
+
exports.BaseService = index.BaseService;
|
|
43
45
|
exports.NewsletterService = index.NewsletterService;
|
|
44
46
|
exports.PaginationMetaSchema = index.PaginationMetaSchema;
|
|
45
47
|
exports.PaginationParamsSchema = index.PaginationParamsSchema;
|
|
@@ -54,7 +56,6 @@ exports.authState = authStore.state;
|
|
|
54
56
|
exports.authStore = authStore.authStore;
|
|
55
57
|
exports.missingFieldNames = authStore.missingFieldNames;
|
|
56
58
|
exports.onAuthChange = authStore.authStoreOnChange;
|
|
57
|
-
exports.Auth = auth.Auth;
|
|
58
59
|
exports.onProfileChange = profileStore.profileStoreOnChange;
|
|
59
60
|
exports.profileState = profileStore.state;
|
|
60
61
|
exports.profileStore = profileStore.profileStore;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs.js","sources":["src/auth/error-definitions.ts"],"sourcesContent":["export const AUTH_ERROR_CODES = {\n EMAIL: {\n NOT_FOUND: \"account_not_found\",\n },\n PASSWORD: {\n INVALID: \"invalid_password\",\n NOT_SET: \"password_not_set\",\n RESET_PASSWORD_ALREADY_SENT: \"reset_password_already_sent\",\n },\n MAGIC_CODE: {\n RECENTLY_CREATED: \"magic_code_recently_created\",\n EXPIRED: \"magic_code_expired\",\n USED: \"magic_code_used\",\n NOT_VALID: \"magic_code_not_valid\",\n },\n PASSWORD_RESET: {\n // TODO: figure out how to handle password requirements --> it should be same as in Unidy\n // just a placeholder for now\n PASSWORD_TOO_WEAK: \"password_too_weak\",\n },\n GENERAL: {\n ACCOUNT_LOCKED: \"account_locked\",\n SIGN_IN_EXPIRED: \"sign_in_expired\",\n },\n} as const;\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["src/auth/error-definitions.ts"],"sourcesContent":["export const AUTH_ERROR_CODES = {\n EMAIL: {\n NOT_FOUND: \"account_not_found\",\n },\n PASSWORD: {\n INVALID: \"invalid_password\",\n NOT_SET: \"password_not_set\",\n RESET_PASSWORD_ALREADY_SENT: \"reset_password_already_sent\",\n },\n MAGIC_CODE: {\n RECENTLY_CREATED: \"magic_code_recently_created\",\n EXPIRED: \"magic_code_expired\",\n USED: \"magic_code_used\",\n NOT_VALID: \"magic_code_not_valid\",\n },\n PASSWORD_RESET: {\n // TODO: figure out how to handle password requirements --> it should be same as in Unidy\n // just a placeholder for now\n PASSWORD_TOO_WEAK: \"password_too_weak\",\n },\n GENERAL: {\n ACCOUNT_LOCKED: \"account_locked\",\n SIGN_IN_EXPIRED: \"sign_in_expired\",\n },\n} as const;\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAa,MAAA,gBAAgB,GAAG;AAC9B,IAAA,KAAK,EAAE;AACL,QAAA,SAAS,EAAE,mBAAmB;AAC/B,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,OAAO,EAAE,kBAAkB;AAC3B,QAAA,2BAA2B,EAAE,6BAA6B;AAC3D,KAAA;AACD,IAAA,UAAU,EAAE;AACV,QAAA,gBAAgB,EAAE,6BAA6B;AAC/C,QAAA,OAAO,EAAE,oBAAoB;AAC7B,QAAA,IAAI,EAAE,iBAAiB;AACvB,QAAA,SAAS,EAAE,sBAAsB;AAClC,KAAA;AACD,IAAA,cAAc,EAAE;;;AAGd,QAAA,iBAAiB,EAAE,mBAAmB;AACvC,KAAA;AACD,IAAA,OAAO,EAAE;AACP,QAAA,cAAc,EAAE,gBAAgB;AAChC,QAAA,eAAe,EAAE,iBAAiB;AACnC,KAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var index$1 = require('./index-
|
|
4
|
-
var
|
|
5
|
-
var i18n = require('./i18n-BoDZ8kd2.js');
|
|
3
|
+
var index$1 = require('./index-CvFbf5-D.js');
|
|
4
|
+
var i18n = require('./i18n-BAZB-eHh.js');
|
|
6
5
|
var index = require('./index-B_N5xKgH.js');
|
|
7
6
|
var flashStore = require('./flash-store-BuIBuQDx.js');
|
|
8
7
|
var newsletterStore = require('./newsletter-store-BzytX7Qh.js');
|
|
@@ -17,16 +16,15 @@ function newsletterLogout() {
|
|
|
17
16
|
}
|
|
18
17
|
async function resendDoi(internalName) {
|
|
19
18
|
const { preferenceToken } = newsletterStore.newsletterStore.state;
|
|
20
|
-
const
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
idToken: typeof idToken === "string" ? idToken : "",
|
|
19
|
+
const [error] = await index$1.getUnidyClient().newsletters.resendDoi({
|
|
20
|
+
internalName,
|
|
21
|
+
payload: { redirect_to_after_confirmation: redirectToAfterConfirmationUrl() },
|
|
22
|
+
options: { preferenceToken },
|
|
25
23
|
});
|
|
26
|
-
if (
|
|
24
|
+
if (error === null) {
|
|
27
25
|
return true;
|
|
28
26
|
}
|
|
29
|
-
if (
|
|
27
|
+
if (error === "unauthorized") {
|
|
30
28
|
flashStore.Flash.error.addMessage(i18n.t("newsletter.errors.unauthorized"));
|
|
31
29
|
newsletterLogout();
|
|
32
30
|
return false;
|
|
@@ -34,15 +32,17 @@ async function resendDoi(internalName) {
|
|
|
34
32
|
return false;
|
|
35
33
|
}
|
|
36
34
|
async function sendLoginEmail(email) {
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
const [error] = await index$1.getUnidyClient().newsletters.sendLoginEmail({
|
|
36
|
+
payload: {
|
|
37
|
+
email,
|
|
38
|
+
redirect_uri: redirectToAfterConfirmationUrl(),
|
|
39
|
+
},
|
|
40
40
|
});
|
|
41
|
-
if (
|
|
41
|
+
if (error === null) {
|
|
42
42
|
flashStore.Flash.info.addMessage(i18n.t("newsletter.success.login_email_sent"));
|
|
43
43
|
}
|
|
44
|
-
else if (
|
|
45
|
-
flashStore.Flash.error.addMessage(i18n.t("newsletter.errors.
|
|
44
|
+
else if (error === "rate_limit_exceeded") {
|
|
45
|
+
flashStore.Flash.error.addMessage(i18n.t("newsletter.errors.rate_limit_exceeded", { defaultValue: "Too many requests. Please try again later." }));
|
|
46
46
|
}
|
|
47
47
|
else {
|
|
48
48
|
flashStore.Flash.error.addMessage(i18n.t("errors.unknown", { defaultValue: "An unknown error occurred" }));
|
|
@@ -55,28 +55,25 @@ async function fetchSubscriptions() {
|
|
|
55
55
|
logger.error("Preference token or authentication is required to fetch subscriptions");
|
|
56
56
|
return;
|
|
57
57
|
}
|
|
58
|
-
const authInstance = await auth.Auth.getInstance();
|
|
59
|
-
const idToken = await authInstance.getToken();
|
|
60
58
|
newsletterStore.newsletterStore.state.fetchingSubscriptions = true;
|
|
61
|
-
const
|
|
62
|
-
preferenceToken,
|
|
63
|
-
idToken: typeof idToken === "string" ? idToken : "",
|
|
59
|
+
const [error, data] = await index$1.getUnidyClient().newsletters.list({
|
|
60
|
+
options: { preferenceToken },
|
|
64
61
|
});
|
|
65
62
|
newsletterStore.newsletterStore.state.fetchingSubscriptions = false;
|
|
66
|
-
if (
|
|
63
|
+
if (error === "unauthorized") {
|
|
67
64
|
newsletterLogout();
|
|
68
65
|
flashStore.Flash.error.addMessage(i18n.t("newsletter.errors.unauthorized"));
|
|
69
66
|
return;
|
|
70
67
|
}
|
|
71
|
-
if (
|
|
72
|
-
newsletterStore.newsletterStore.state.existingSubscriptions =
|
|
68
|
+
if (error === null && data && Array.isArray(data)) {
|
|
69
|
+
newsletterStore.newsletterStore.state.existingSubscriptions = data.map((sub) => ({
|
|
73
70
|
newsletter_internal_name: sub.newsletter_internal_name,
|
|
74
71
|
confirmed: sub.confirmed_at !== null,
|
|
75
72
|
preference_identifiers: sub.preference_identifiers || [],
|
|
76
73
|
}));
|
|
77
74
|
// init checked newsletters and preferences
|
|
78
75
|
const checkedNewsletters = { ...newsletterStore.newsletterStore.state.checkedNewsletters };
|
|
79
|
-
for (const sub of
|
|
76
|
+
for (const sub of data) {
|
|
80
77
|
checkedNewsletters[sub.newsletter_internal_name] = [...(sub.preference_identifiers || [])];
|
|
81
78
|
}
|
|
82
79
|
newsletterStore.newsletterStore.state.checkedNewsletters = checkedNewsletters;
|
|
@@ -89,7 +86,7 @@ async function handleAlreadySubscribedError(email, errors) {
|
|
|
89
86
|
.filter((err) => err.error_identifier === "already_subscribed" && !existingNames.has(err.meta.newsletter_internal_name))
|
|
90
87
|
.map((err) => ({
|
|
91
88
|
newsletter_internal_name: err.meta.newsletter_internal_name,
|
|
92
|
-
confirmed:
|
|
89
|
+
confirmed: false, // We don't know the confirmation status for already_subscribed errors
|
|
93
90
|
preference_identifiers: [],
|
|
94
91
|
}));
|
|
95
92
|
if (newSubscriptions.length > 0) {
|
|
@@ -101,22 +98,20 @@ async function handleAlreadySubscribedError(email, errors) {
|
|
|
101
98
|
}
|
|
102
99
|
}
|
|
103
100
|
async function handleCreateSubscriptionRequest(email, internalNames, showSuccessMessage = true) {
|
|
104
|
-
const authInstance = await auth.Auth.getInstance();
|
|
105
|
-
const idToken = await authInstance.getToken();
|
|
106
101
|
const { checkedNewsletters } = newsletterStore.newsletterStore.state;
|
|
107
|
-
const [error, response] = await index$1.getUnidyClient().newsletters.
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
102
|
+
const [error, response] = await index$1.getUnidyClient().newsletters.create({
|
|
103
|
+
payload: {
|
|
104
|
+
email,
|
|
105
|
+
newsletter_subscriptions: internalNames.map((newsletter) => ({
|
|
106
|
+
newsletter_internal_name: newsletter,
|
|
107
|
+
preference_identifiers: checkedNewsletters[newsletter] || [],
|
|
108
|
+
})),
|
|
109
|
+
redirect_to_after_confirmation: redirectToAfterConfirmationUrl(),
|
|
110
|
+
},
|
|
116
111
|
});
|
|
117
|
-
if (error === null) {
|
|
118
|
-
if (response.
|
|
119
|
-
const newSubscriptions = response.
|
|
112
|
+
if (error === null && response && "results" in response) {
|
|
113
|
+
if (response.results.length > 0) {
|
|
114
|
+
const newSubscriptions = response.results.map((result) => ({
|
|
120
115
|
newsletter_internal_name: result.newsletter_internal_name,
|
|
121
116
|
confirmed: result.confirmed_at !== null,
|
|
122
117
|
preference_identifiers: result.preference_identifiers || [],
|
|
@@ -133,8 +128,8 @@ async function handleCreateSubscriptionRequest(email, internalNames, showSuccess
|
|
|
133
128
|
newsletterLogout();
|
|
134
129
|
return false;
|
|
135
130
|
}
|
|
136
|
-
if (error === "newsletter_error") {
|
|
137
|
-
const errors = response.
|
|
131
|
+
if (error === "newsletter_error" && response) {
|
|
132
|
+
const errors = response.errors || [];
|
|
138
133
|
const errorMap = {};
|
|
139
134
|
// special error case which is handled differently: if user is not authenticated, we send a login email, otherwise we add the
|
|
140
135
|
// already_subscribed subscriptions to the existing subscriptions
|
|
@@ -176,38 +171,31 @@ async function deleteSubscription(internalName) {
|
|
|
176
171
|
logger.error("Preference token or authentication is required to delete a subscription");
|
|
177
172
|
return false;
|
|
178
173
|
}
|
|
179
|
-
const
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
preferenceToken,
|
|
183
|
-
idToken: typeof idToken === "string" ? idToken : "",
|
|
174
|
+
const [error, data] = await index$1.getUnidyClient().newsletters.delete({
|
|
175
|
+
internalName,
|
|
176
|
+
options: { preferenceToken },
|
|
184
177
|
});
|
|
185
|
-
if (
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
newsletterStore.newsletterStore.state.
|
|
189
|
-
|
|
178
|
+
if (error === null) {
|
|
179
|
+
if (data && "new_preference_token" in data) {
|
|
180
|
+
// if user is not authenticated, we need to store the new preference token which is used for the next request
|
|
181
|
+
if (!newsletterStore.newsletterStore.state.isAuthenticated) {
|
|
182
|
+
newsletterStore.newsletterStore.state.preferenceToken = data.new_preference_token;
|
|
183
|
+
newsletterStore.persist("preferenceToken");
|
|
184
|
+
}
|
|
185
|
+
newsletterStore.newsletterStore.state.existingSubscriptions = newsletterStore.newsletterStore.state.existingSubscriptions.filter((sub) => sub.newsletter_internal_name !== internalName);
|
|
186
|
+
return true;
|
|
190
187
|
}
|
|
191
|
-
|
|
192
|
-
// Reset checked preferences to defaults (preferences marked with checked='true')
|
|
193
|
-
const defaultPrefs = newsletterStore.newsletterStore.state.defaultPreferences[internalName];
|
|
194
|
-
newsletterStore.newsletterStore.state.checkedNewsletters = {
|
|
195
|
-
...newsletterStore.newsletterStore.state.checkedNewsletters,
|
|
196
|
-
[internalName]: defaultPrefs ? [...defaultPrefs] : [],
|
|
197
|
-
};
|
|
198
|
-
return true;
|
|
199
|
-
}
|
|
200
|
-
if (response.status === 204) {
|
|
188
|
+
// data is null - last subscription was deleted
|
|
201
189
|
newsletterLogout();
|
|
202
190
|
newsletterStore.newsletterStore.state.checkedNewsletters = {};
|
|
203
191
|
return true;
|
|
204
192
|
}
|
|
205
|
-
if (
|
|
193
|
+
if (error === "unauthorized") {
|
|
206
194
|
flashStore.Flash.error.addMessage(i18n.t("newsletter.errors.unauthorized"));
|
|
207
195
|
newsletterLogout();
|
|
208
196
|
return false;
|
|
209
197
|
}
|
|
210
|
-
if (
|
|
198
|
+
if (error === "not_found") {
|
|
211
199
|
return false;
|
|
212
200
|
}
|
|
213
201
|
flashStore.Flash.error.addMessage(i18n.t("errors.unknown", { defaultValue: "An unknown error occurred" }));
|
|
@@ -244,26 +232,25 @@ async function updateSubscriptionPreferences(internalName) {
|
|
|
244
232
|
logger.error(`Cannot update preferences: not subscribed to newsletter '${internalName}'`);
|
|
245
233
|
return false;
|
|
246
234
|
}
|
|
247
|
-
const authInstance = await auth.Auth.getInstance();
|
|
248
|
-
const idToken = await authInstance.getToken();
|
|
249
235
|
const preferenceIdentifiers = newsletterStore.newsletterStore.state.checkedNewsletters[internalName] || [];
|
|
250
|
-
const
|
|
251
|
-
|
|
252
|
-
|
|
236
|
+
const [error, data] = await index$1.getUnidyClient().newsletters.update({
|
|
237
|
+
internalName,
|
|
238
|
+
payload: { preference_identifiers: preferenceIdentifiers },
|
|
239
|
+
options: { preferenceToken },
|
|
253
240
|
});
|
|
254
|
-
if (
|
|
241
|
+
if (error === "unauthorized") {
|
|
255
242
|
flashStore.Flash.error.addMessage(i18n.t("newsletter.errors.unauthorized"));
|
|
256
243
|
newsletterLogout();
|
|
257
244
|
return false;
|
|
258
245
|
}
|
|
259
|
-
if (
|
|
246
|
+
if (error === null && data && "preference_identifiers" in data) {
|
|
260
247
|
// Update the local subscription with the new preferences
|
|
261
248
|
const subscriptionIndex = newsletterStore.newsletterStore.state.existingSubscriptions.findIndex((sub) => sub.newsletter_internal_name === internalName);
|
|
262
249
|
if (subscriptionIndex !== -1) {
|
|
263
250
|
const updatedSubscriptions = [...newsletterStore.newsletterStore.state.existingSubscriptions];
|
|
264
251
|
updatedSubscriptions[subscriptionIndex] = {
|
|
265
252
|
...updatedSubscriptions[subscriptionIndex],
|
|
266
|
-
preference_identifiers:
|
|
253
|
+
preference_identifiers: data.preference_identifiers || [],
|
|
267
254
|
};
|
|
268
255
|
newsletterStore.newsletterStore.state.existingSubscriptions = updatedSubscriptions;
|
|
269
256
|
}
|
|
@@ -284,6 +271,6 @@ exports.resendDoi = resendDoi;
|
|
|
284
271
|
exports.sendLoginEmail = sendLoginEmail;
|
|
285
272
|
exports.subscribeToNewsletter = subscribeToNewsletter;
|
|
286
273
|
exports.updateSubscriptionPreferences = updateSubscriptionPreferences;
|
|
287
|
-
//# sourceMappingURL=newsletter-helpers-
|
|
274
|
+
//# sourceMappingURL=newsletter-helpers-Dj0yYHZf.js.map
|
|
288
275
|
|
|
289
|
-
//# sourceMappingURL=newsletter-helpers-
|
|
276
|
+
//# sourceMappingURL=newsletter-helpers-Dj0yYHZf.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"newsletter-helpers-Dj0yYHZf.js","sources":["src/newsletter/newsletter-helpers.ts"],"sourcesContent":["import { getUnidyClient } from \"../api\";\nimport { t } from \"../i18n\";\nimport { createLogger } from \"../logger\";\nimport { Flash } from \"../shared/store/flash-store\";\nimport {\n type CheckedNewsletters,\n type ExistingSubscription,\n type NewsletterErrorIdentifier,\n newsletterStore,\n persist,\n} from \"./store/newsletter-store\";\n\nconst logger = createLogger(\"NewsletterHelpers\");\n\nconst PERSIST_KEY_PREFIX = \"unidy_newsletter_\";\n\nexport function newsletterLogout(): void {\n newsletterStore.state.preferenceToken = \"\";\n newsletterStore.state.existingSubscriptions = [];\n sessionStorage.removeItem(`${PERSIST_KEY_PREFIX}preferenceToken`);\n sessionStorage.removeItem(`${PERSIST_KEY_PREFIX}email`);\n}\n\nexport async function resendDoi(internalName: string): Promise<boolean> {\n const { preferenceToken } = newsletterStore.state;\n\n const [error] = await getUnidyClient().newsletters.resendDoi({\n internalName,\n payload: { redirect_to_after_confirmation: redirectToAfterConfirmationUrl() },\n options: { preferenceToken },\n });\n\n if (error === null) {\n return true;\n }\n\n if (error === \"unauthorized\") {\n Flash.error.addMessage(t(\"newsletter.errors.unauthorized\"));\n newsletterLogout();\n return false;\n }\n\n return false;\n}\n\nexport async function sendLoginEmail(email: string): Promise<void> {\n const [error] = await getUnidyClient().newsletters.sendLoginEmail({\n payload: {\n email,\n redirect_uri: redirectToAfterConfirmationUrl(),\n },\n });\n\n if (error === null) {\n Flash.info.addMessage(t(\"newsletter.success.login_email_sent\"));\n } else if (error === \"rate_limit_exceeded\") {\n Flash.error.addMessage(t(\"newsletter.errors.rate_limit_exceeded\", { defaultValue: \"Too many requests. Please try again later.\" }));\n } else {\n Flash.error.addMessage(t(\"errors.unknown\", { defaultValue: \"An unknown error occurred\" }));\n }\n}\n\nexport async function fetchSubscriptions(): Promise<void> {\n const { preferenceToken } = newsletterStore.state;\n\n // either preference token is needed or the user must be authenticated\n if (!preferenceToken && !newsletterStore.state.isAuthenticated) {\n logger.error(\"Preference token or authentication is required to fetch subscriptions\");\n return;\n }\n\n newsletterStore.state.fetchingSubscriptions = true;\n\n const [error, data] = await getUnidyClient().newsletters.list({\n options: { preferenceToken },\n });\n\n newsletterStore.state.fetchingSubscriptions = false;\n\n if (error === \"unauthorized\") {\n newsletterLogout();\n Flash.error.addMessage(t(\"newsletter.errors.unauthorized\"));\n return;\n }\n\n if (error === null && data && Array.isArray(data)) {\n newsletterStore.state.existingSubscriptions = data.map(\n (sub): ExistingSubscription => ({\n newsletter_internal_name: sub.newsletter_internal_name,\n confirmed: sub.confirmed_at !== null,\n preference_identifiers: sub.preference_identifiers || [],\n }),\n );\n\n // init checked newsletters and preferences\n const checkedNewsletters: CheckedNewsletters = { ...newsletterStore.state.checkedNewsletters };\n for (const sub of data) {\n checkedNewsletters[sub.newsletter_internal_name] = [...(sub.preference_identifiers || [])];\n }\n newsletterStore.state.checkedNewsletters = checkedNewsletters;\n }\n}\n\nasync function handleAlreadySubscribedError(\n email: string,\n errors: Array<{ error_identifier: string; meta: { newsletter_internal_name: string } }>,\n): Promise<void> {\n if (newsletterStore.state.isAuthenticated || newsletterStore.state.preferenceToken) {\n const existingNames = new Set(newsletterStore.state.existingSubscriptions.map((s) => s.newsletter_internal_name));\n\n const newSubscriptions: ExistingSubscription[] = errors\n .filter((err) => err.error_identifier === \"already_subscribed\" && !existingNames.has(err.meta.newsletter_internal_name))\n .map((err) => ({\n newsletter_internal_name: err.meta.newsletter_internal_name,\n confirmed: false, // We don't know the confirmation status for already_subscribed errors\n preference_identifiers: [],\n }));\n\n if (newSubscriptions.length > 0) {\n newsletterStore.state.existingSubscriptions = [...newsletterStore.state.existingSubscriptions, ...newSubscriptions];\n }\n } else {\n await sendLoginEmail(email);\n }\n}\n\nasync function handleCreateSubscriptionRequest(email: string, internalNames: string[], showSuccessMessage = true): Promise<boolean> {\n const { checkedNewsletters } = newsletterStore.state;\n\n const [error, response] = await getUnidyClient().newsletters.create({\n payload: {\n email,\n newsletter_subscriptions: internalNames.map((newsletter) => ({\n newsletter_internal_name: newsletter,\n preference_identifiers: checkedNewsletters[newsletter] || [],\n })),\n redirect_to_after_confirmation: redirectToAfterConfirmationUrl(),\n },\n });\n\n if (error === null && response && \"results\" in response) {\n if (response.results.length > 0) {\n const newSubscriptions: ExistingSubscription[] = response.results.map((result) => ({\n newsletter_internal_name: result.newsletter_internal_name,\n confirmed: result.confirmed_at !== null,\n preference_identifiers: result.preference_identifiers || [],\n }));\n\n newsletterStore.state.existingSubscriptions = [...newsletterStore.state.existingSubscriptions, ...newSubscriptions];\n }\n\n if (showSuccessMessage) {\n Flash.success.addMessage(t(\"newsletter.success.subscribe\"));\n }\n\n return true;\n }\n\n if (error === \"unauthorized\") {\n Flash.error.addMessage(t(\"newsletter.errors.unauthorized\"));\n newsletterLogout();\n return false;\n }\n\n if (error === \"newsletter_error\" && response) {\n const errors = response.errors || [];\n const errorMap: Record<string, NewsletterErrorIdentifier> = {};\n\n // special error case which is handled differently: if user is not authenticated, we send a login email, otherwise we add the\n // already_subscribed subscriptions to the existing subscriptions\n const hasAlreadySubscribedError = errors.some((err) => err.error_identifier === \"already_subscribed\");\n if (hasAlreadySubscribedError) {\n await handleAlreadySubscribedError(email, errors);\n }\n\n const newsletterNotFoundError = errors.some((err) => err.error_identifier === \"newsletter_not_found\");\n if (newsletterNotFoundError) {\n errorMap.general = \"newsletter_not_found\";\n }\n\n const hasInvalidEmailError = errors.some(\n (err) => err.error_identifier === \"validation_error\" && err.error_details && \"email\" in err.error_details,\n );\n\n if (hasInvalidEmailError) {\n errorMap.email = \"invalid_email\";\n } else {\n for (const err of errors) {\n errorMap[err.meta.newsletter_internal_name] = err.error_identifier as NewsletterErrorIdentifier;\n }\n }\n\n newsletterStore.state.errors = errorMap;\n } else {\n Flash.error.addMessage(t(\"errors.unknown\", { defaultValue: \"An unknown error occurred\" }));\n }\n\n return false;\n}\n\nexport async function subscribeToNewsletter(internalName: string, email: string): Promise<boolean> {\n return handleCreateSubscriptionRequest(email, [internalName], false);\n}\n\nexport async function createSubscriptions({ email }: { email: string }): Promise<void> {\n const internalNames = Object.keys(newsletterStore.state.checkedNewsletters);\n await handleCreateSubscriptionRequest(email, internalNames, true);\n}\n\nexport async function deleteSubscription(internalName: string): Promise<boolean> {\n const { preferenceToken } = newsletterStore.state;\n\n // either preference token is needed or the user must be authenticated to delete a subscription\n if (!preferenceToken && !newsletterStore.state.isAuthenticated) {\n logger.error(\"Preference token or authentication is required to delete a subscription\");\n return false;\n }\n\n const [error, data] = await getUnidyClient().newsletters.delete({\n internalName,\n options: { preferenceToken },\n });\n\n if (error === null) {\n if (data && \"new_preference_token\" in data) {\n // if user is not authenticated, we need to store the new preference token which is used for the next request\n if (!newsletterStore.state.isAuthenticated) {\n newsletterStore.state.preferenceToken = data.new_preference_token;\n persist(\"preferenceToken\");\n }\n\n newsletterStore.state.existingSubscriptions = newsletterStore.state.existingSubscriptions.filter(\n (sub) => sub.newsletter_internal_name !== internalName,\n );\n return true;\n }\n\n // data is null - last subscription was deleted\n newsletterLogout();\n newsletterStore.state.checkedNewsletters = {};\n return true;\n }\n\n if (error === \"unauthorized\") {\n Flash.error.addMessage(t(\"newsletter.errors.unauthorized\"));\n newsletterLogout();\n return false;\n }\n\n if (error === \"not_found\") {\n return false;\n }\n\n Flash.error.addMessage(t(\"errors.unknown\", { defaultValue: \"An unknown error occurred\" }));\n return false;\n}\n\nexport function getSubscription(internalName: string): ExistingSubscription | undefined {\n return newsletterStore.state.existingSubscriptions.find((sub) => sub.newsletter_internal_name === internalName);\n}\n\nexport function isSubscribed(internalName: string): boolean {\n return newsletterStore.state.existingSubscriptions.some((sub) => sub.newsletter_internal_name === internalName);\n}\n\nexport function isConfirmed(internalName: string): boolean {\n const sub = getSubscription(internalName);\n return sub?.confirmed ?? false;\n}\n\nfunction redirectToAfterConfirmationUrl(): string {\n const baseUrl = `${location.origin}${location.pathname}`;\n const params = new URLSearchParams(location.search);\n for (const key of [\"email\", \"newsletter_error\"]) {\n params.delete(key);\n }\n const queryString = params.toString();\n return queryString ? `${baseUrl}?${queryString}` : baseUrl;\n}\n\nexport function getSubscriptionPreferences(internalName: string): string[] {\n const subscription = getSubscription(internalName);\n return subscription?.preference_identifiers || [];\n}\n\nexport async function updateSubscriptionPreferences(internalName: string): Promise<boolean> {\n const { preferenceToken } = newsletterStore.state;\n\n // Either preference token is needed or the user must be authenticated\n if (!preferenceToken && !newsletterStore.state.isAuthenticated) {\n logger.error(\"Preference token or authentication is required to update subscription preferences\");\n return false;\n }\n\n // Check if the subscription exists\n if (!isSubscribed(internalName)) {\n logger.error(`Cannot update preferences: not subscribed to newsletter '${internalName}'`);\n return false;\n }\n\n const preferenceIdentifiers = newsletterStore.state.checkedNewsletters[internalName] || [];\n\n const [error, data] = await getUnidyClient().newsletters.update({\n internalName,\n payload: { preference_identifiers: preferenceIdentifiers },\n options: { preferenceToken },\n });\n\n if (error === \"unauthorized\") {\n Flash.error.addMessage(t(\"newsletter.errors.unauthorized\"));\n newsletterLogout();\n return false;\n }\n\n if (error === null && data && \"preference_identifiers\" in data) {\n // Update the local subscription with the new preferences\n const subscriptionIndex = newsletterStore.state.existingSubscriptions.findIndex((sub) => sub.newsletter_internal_name === internalName);\n\n if (subscriptionIndex !== -1) {\n const updatedSubscriptions = [...newsletterStore.state.existingSubscriptions];\n updatedSubscriptions[subscriptionIndex] = {\n ...updatedSubscriptions[subscriptionIndex],\n preference_identifiers: data.preference_identifiers || [],\n };\n newsletterStore.state.existingSubscriptions = updatedSubscriptions;\n }\n\n Flash.success.addMessage(t(\"newsletter.success.preferences_updated\"));\n return true;\n }\n\n Flash.error.addMessage(t(\"errors.unknown\", { defaultValue: \"An unknown error occurred\" }));\n return false;\n}\n"],"names":["createLogger","newsletterStore","getUnidyClient","Flash","t","persist"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var profileStore = require('./profile-store-P_BcYkef.js');
|
|
4
|
-
var i18n = require('./i18n-
|
|
4
|
+
var i18n = require('./i18n-BAZB-eHh.js');
|
|
5
5
|
|
|
6
6
|
function validateRequiredFieldsUnchanged(sWC) {
|
|
7
7
|
for (const key of Object.keys(sWC)) {
|
|
@@ -34,6 +34,6 @@ function buildPayload(stateData) {
|
|
|
34
34
|
|
|
35
35
|
exports.buildPayload = buildPayload;
|
|
36
36
|
exports.validateRequiredFieldsUnchanged = validateRequiredFieldsUnchanged;
|
|
37
|
-
//# sourceMappingURL=profile-helpers-
|
|
37
|
+
//# sourceMappingURL=profile-helpers-D66Ycaft.js.map
|
|
38
38
|
|
|
39
|
-
//# sourceMappingURL=profile-helpers-
|
|
39
|
+
//# sourceMappingURL=profile-helpers-D66Ycaft.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-helpers-
|
|
1
|
+
{"version":3,"file":"profile-helpers-D66Ycaft.js","sources":["src/profile/profile-helpers.ts"],"sourcesContent":["import { type ProfileRaw, state as profileState } from \"./store/profile-store\";\nimport { t } from \"../i18n\";\n\nexport function validateRequiredFieldsUnchanged(sWC: ProfileRaw) {\n for (const key of Object.keys(sWC)) {\n if (key === \"custom_attributes\") continue;\n const field = sWC[key];\n if (field.required === true && (field.value === \"\" || field.value === null)) {\n profileState.errors = { [key]: t(\"errors.required_field\", { field: key }) };\n return false;\n }\n }\n\n for (const key of Object.keys(sWC.custom_attributes ?? {})) {\n const field = sWC.custom_attributes?.[key];\n const fieldDisplayName = `custom_attributes.${key}`;\n if (field?.required === true && (field.value === \"\" || field.value === null)) {\n profileState.errors = { [fieldDisplayName]: t(\"errors.required_field\", { field: fieldDisplayName }) };\n return false;\n }\n }\n\n return true;\n}\n\nexport function buildPayload(stateData: ProfileRaw) {\n return {\n ...Object.fromEntries(\n Object.entries(stateData)\n .filter(([k]) => k !== \"custom_attributes\")\n .map(([k, v]: [string, unknown]) => [k, (v as { value: unknown }).value]),\n ),\n custom_attributes: Object.fromEntries(\n Object.entries(stateData.custom_attributes ?? {}).map(([k, v]: [string, unknown]) => [k, (v as { value: unknown }).value]),\n ),\n };\n}\n"],"names":["profileState","t"],"mappings":";;;;;AAGM,SAAU,+BAA+B,CAAC,GAAe,EAAA;IAC7D,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QAClC,IAAI,GAAG,KAAK,mBAAmB;YAAE;AACjC,QAAA,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC;QACtB,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,KAAK,KAAK,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE;AAC3E,YAAAA,kBAAY,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,GAAGC,MAAC,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE;AAC3E,YAAA,OAAO,KAAK;;;AAIhB,IAAA,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,EAAE;QAC1D,MAAM,KAAK,GAAG,GAAG,CAAC,iBAAiB,GAAG,GAAG,CAAC;AAC1C,QAAA,MAAM,gBAAgB,GAAG,CAAqB,kBAAA,EAAA,GAAG,EAAE;QACnD,IAAI,KAAK,EAAE,QAAQ,KAAK,IAAI,KAAK,KAAK,CAAC,KAAK,KAAK,EAAE,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE;AAC5E,YAAAD,kBAAY,CAAC,MAAM,GAAG,EAAE,CAAC,gBAAgB,GAAGC,MAAC,CAAC,uBAAuB,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,EAAE;AACrG,YAAA,OAAO,KAAK;;;AAIhB,IAAA,OAAO,IAAI;AACb;AAEM,SAAU,YAAY,CAAC,SAAqB,EAAA;IAChD,OAAO;QACL,GAAG,MAAM,CAAC,WAAW,CACnB,MAAM,CAAC,OAAO,CAAC,SAAS;aACrB,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,mBAAmB;AACzC,aAAA,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAoB,KAAK,CAAC,CAAC,EAAG,CAAwB,CAAC,KAAK,CAAC,CAAC,CAC5E;AACD,QAAA,iBAAiB,EAAE,MAAM,CAAC,WAAW,CACnC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAoB,KAAK,CAAC,CAAC,EAAG,CAAwB,CAAC,KAAK,CAAC,CAAC,CAC3H;KACF;AACH;;;;;"}
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-B_N5xKgH.js');
|
|
4
|
-
var authStore = require('./auth-store-
|
|
5
|
-
var newsletterHelpers = require('./newsletter-helpers-
|
|
4
|
+
var authStore = require('./auth-store-DC9EVec8.js');
|
|
5
|
+
var newsletterHelpers = require('./newsletter-helpers-Dj0yYHZf.js');
|
|
6
6
|
var newsletterStore = require('./newsletter-store-BzytX7Qh.js');
|
|
7
7
|
var profileStore = require('./profile-store-P_BcYkef.js');
|
|
8
8
|
require('./index-DLz3FT7T.js');
|
|
9
9
|
require('./unidy-store-7AbWnZ6g.js');
|
|
10
|
-
require('./index-
|
|
11
|
-
require('./i18n-
|
|
12
|
-
require('./auth-NU3DBc-6.js');
|
|
13
|
-
require('./component-utils-BpMyeVQo.js');
|
|
10
|
+
require('./index-CvFbf5-D.js');
|
|
11
|
+
require('./i18n-BAZB-eHh.js');
|
|
14
12
|
require('./flash-store-BuIBuQDx.js');
|
|
13
|
+
require('./component-utils-BpMyeVQo.js');
|
|
15
14
|
|
|
16
15
|
const PREDEFINED_CONDITIONS = {
|
|
17
16
|
"auth.passkeyEnabled": () => authStore.state.availableLoginOptions?.passkey,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"u-conditional-render.entry.cjs.js","sources":["src/shared/components/conditional-render/conditional-render.tsx"],"sourcesContent":["import { Component, Host, h, Prop } from \"@stencil/core\";\nimport { type AuthState, authState } from \"../../../auth/store/auth-store\";\nimport { UnidyComponent } from \"../../../logger\";\nimport * as NewsletterHelpers from \"../../../newsletter/newsletter-helpers\";\nimport { newsletterStore } from \"../../../newsletter/store/newsletter-store\";\nimport { profileStore } from \"../../../profile/store/profile-store\";\n\nconst PREDEFINED_CONDITIONS: Record<string, (...args: unknown[]) => unknown> = {\n \"auth.passkeyEnabled\": () => authState.availableLoginOptions?.passkey,\n \"auth.passwordEnabled\": () => authState.availableLoginOptions?.password,\n \"auth.magicCodeEnabled\": () => authState.availableLoginOptions?.magic_link,\n \"auth.socialLoginsEnabled\": () => (authState.availableLoginOptions?.social_logins?.length ?? 0) > 0,\n \"auth.loading\": () => authState.loading,\n \"auth.authenticated\": () => authState.authenticated,\n \"auth.magicCodeSent\": () => authState.magicCodeStep === \"sent\" || authState.magicCodeStep === \"requested\",\n \"auth.magicCodeRequested\": () => authState.magicCodeStep === \"requested\",\n \"auth.resetPasswordSent\": () => authState.resetPassword.step === \"sent\" || authState.resetPassword.step === \"requested\",\n \"auth.resetPasswordRequested\": () => authState.resetPassword.step === \"requested\",\n\n \"newsletter.hasCheckedNewsletters\": () => Object.keys(newsletterStore.state.checkedNewsletters).length > 0,\n \"newsletter.hasPreferenceToken\": () => !!newsletterStore.state.preferenceToken,\n \"newsletter.hasEmail\": () => !!newsletterStore.state.email,\n \"newsletter.subscribed\": (newsletterInternalName: string) => NewsletterHelpers.isSubscribed(newsletterInternalName),\n \"newsletter.confirmed\": (newsletterInternalName: string) => NewsletterHelpers.isConfirmed(newsletterInternalName),\n \"newsletter.loggedIn\": () => newsletterStore.state.isAuthenticated || newsletterStore.state.preferenceToken !== \"\",\n\n \"profile.loading\": () => profileStore.state.loading,\n \"profile.hasErrors\": () => Object.keys(profileStore.state.errors).some((key) => profileStore.state.errors[key] !== null),\n \"profile.hasFlashErrors\": () => Object.keys(profileStore.state.flashErrors).some((key) => profileStore.state.flashErrors[key] !== null),\n \"profile.phoneValid\": () => profileStore.state.phoneValid,\n \"profile.hasData\": () => Object.keys(profileStore.state.data).length > 0,\n};\n\nfunction isTruthy(value: unknown): boolean {\n return Boolean(value);\n}\n\n@Component({\n tag: \"u-conditional-render\",\n shadow: true,\n})\nexport class ConditionalRender extends UnidyComponent {\n @Prop() when?: string; // condition to check\n @Prop() is?: string; // optional value to compare against\n @Prop() not = false;\n @Prop() conditionFunction?: (state: AuthState) => boolean;\n\n private evaluateCondition(): unknown {\n const predefinedFunction = PREDEFINED_CONDITIONS[this.when];\n if (predefinedFunction) {\n return predefinedFunction(this.is);\n }\n\n return null;\n }\n\n private shouldRender(): boolean {\n if (!this.when && !this.conditionFunction) {\n this.logger.error(\"[u-conditional-render] Either 'when' or 'conditionFunction' prop is required\");\n }\n\n if (this.conditionFunction) {\n const result = this.conditionFunction(authState);\n return this.not ? !result : result;\n }\n\n const value = this.evaluateCondition();\n if (value === null) {\n return false;\n }\n\n const normalizedIs = this.is?.toString().toLowerCase();\n let result: boolean;\n\n if (typeof value === \"boolean\") {\n if (normalizedIs === \"false\" || normalizedIs === \"disabled\") {\n result = !value;\n } else {\n result = value;\n }\n } else if (this.is === undefined) {\n result = isTruthy(value);\n } else if (normalizedIs === \"enabled\" || normalizedIs === \"true\") {\n result = isTruthy(value);\n } else if (normalizedIs === \"disabled\" || normalizedIs === \"false\") {\n result = !isTruthy(value);\n } else {\n result = String(value) === String(this.is); // to compare exact value\n }\n\n return this.not ? !result : result;\n }\n\n render() {\n if (!this.shouldRender()) {\n return null;\n }\n\n return (\n <Host aria-live=\"polite\">\n <slot />\n </Host>\n );\n }\n}\n"],"names":["authState","newsletterStore","NewsletterHelpers.isSubscribed","NewsletterHelpers.isConfirmed","profileStore","UnidyComponent","h","Host"],"mappings":"
|
|
1
|
+
{"version":3,"file":"u-conditional-render.entry.cjs.js","sources":["src/shared/components/conditional-render/conditional-render.tsx"],"sourcesContent":["import { Component, Host, h, Prop } from \"@stencil/core\";\nimport { type AuthState, authState } from \"../../../auth/store/auth-store\";\nimport { UnidyComponent } from \"../../../logger\";\nimport * as NewsletterHelpers from \"../../../newsletter/newsletter-helpers\";\nimport { newsletterStore } from \"../../../newsletter/store/newsletter-store\";\nimport { profileStore } from \"../../../profile/store/profile-store\";\n\nconst PREDEFINED_CONDITIONS: Record<string, (...args: unknown[]) => unknown> = {\n \"auth.passkeyEnabled\": () => authState.availableLoginOptions?.passkey,\n \"auth.passwordEnabled\": () => authState.availableLoginOptions?.password,\n \"auth.magicCodeEnabled\": () => authState.availableLoginOptions?.magic_link,\n \"auth.socialLoginsEnabled\": () => (authState.availableLoginOptions?.social_logins?.length ?? 0) > 0,\n \"auth.loading\": () => authState.loading,\n \"auth.authenticated\": () => authState.authenticated,\n \"auth.magicCodeSent\": () => authState.magicCodeStep === \"sent\" || authState.magicCodeStep === \"requested\",\n \"auth.magicCodeRequested\": () => authState.magicCodeStep === \"requested\",\n \"auth.resetPasswordSent\": () => authState.resetPassword.step === \"sent\" || authState.resetPassword.step === \"requested\",\n \"auth.resetPasswordRequested\": () => authState.resetPassword.step === \"requested\",\n\n \"newsletter.hasCheckedNewsletters\": () => Object.keys(newsletterStore.state.checkedNewsletters).length > 0,\n \"newsletter.hasPreferenceToken\": () => !!newsletterStore.state.preferenceToken,\n \"newsletter.hasEmail\": () => !!newsletterStore.state.email,\n \"newsletter.subscribed\": (newsletterInternalName: string) => NewsletterHelpers.isSubscribed(newsletterInternalName),\n \"newsletter.confirmed\": (newsletterInternalName: string) => NewsletterHelpers.isConfirmed(newsletterInternalName),\n \"newsletter.loggedIn\": () => newsletterStore.state.isAuthenticated || newsletterStore.state.preferenceToken !== \"\",\n\n \"profile.loading\": () => profileStore.state.loading,\n \"profile.hasErrors\": () => Object.keys(profileStore.state.errors).some((key) => profileStore.state.errors[key] !== null),\n \"profile.hasFlashErrors\": () => Object.keys(profileStore.state.flashErrors).some((key) => profileStore.state.flashErrors[key] !== null),\n \"profile.phoneValid\": () => profileStore.state.phoneValid,\n \"profile.hasData\": () => Object.keys(profileStore.state.data).length > 0,\n};\n\nfunction isTruthy(value: unknown): boolean {\n return Boolean(value);\n}\n\n@Component({\n tag: \"u-conditional-render\",\n shadow: true,\n})\nexport class ConditionalRender extends UnidyComponent {\n @Prop() when?: string; // condition to check\n @Prop() is?: string; // optional value to compare against\n @Prop() not = false;\n @Prop() conditionFunction?: (state: AuthState) => boolean;\n\n private evaluateCondition(): unknown {\n const predefinedFunction = PREDEFINED_CONDITIONS[this.when];\n if (predefinedFunction) {\n return predefinedFunction(this.is);\n }\n\n return null;\n }\n\n private shouldRender(): boolean {\n if (!this.when && !this.conditionFunction) {\n this.logger.error(\"[u-conditional-render] Either 'when' or 'conditionFunction' prop is required\");\n }\n\n if (this.conditionFunction) {\n const result = this.conditionFunction(authState);\n return this.not ? !result : result;\n }\n\n const value = this.evaluateCondition();\n if (value === null) {\n return false;\n }\n\n const normalizedIs = this.is?.toString().toLowerCase();\n let result: boolean;\n\n if (typeof value === \"boolean\") {\n if (normalizedIs === \"false\" || normalizedIs === \"disabled\") {\n result = !value;\n } else {\n result = value;\n }\n } else if (this.is === undefined) {\n result = isTruthy(value);\n } else if (normalizedIs === \"enabled\" || normalizedIs === \"true\") {\n result = isTruthy(value);\n } else if (normalizedIs === \"disabled\" || normalizedIs === \"false\") {\n result = !isTruthy(value);\n } else {\n result = String(value) === String(this.is); // to compare exact value\n }\n\n return this.not ? !result : result;\n }\n\n render() {\n if (!this.shouldRender()) {\n return null;\n }\n\n return (\n <Host aria-live=\"polite\">\n <slot />\n </Host>\n );\n }\n}\n"],"names":["authState","newsletterStore","NewsletterHelpers.isSubscribed","NewsletterHelpers.isConfirmed","profileStore","UnidyComponent","h","Host"],"mappings":"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"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-B_N5xKgH.js');
|
|
4
|
-
var i18n = require('./i18n-
|
|
4
|
+
var i18n = require('./i18n-BAZB-eHh.js');
|
|
5
5
|
var unidyStore = require('./unidy-store-7AbWnZ6g.js');
|
|
6
|
-
require('./auth-store-
|
|
7
|
-
var
|
|
8
|
-
var index$1 = require('./index-R2MKLaem.js');
|
|
6
|
+
require('./auth-store-DC9EVec8.js');
|
|
7
|
+
var index$1 = require('./index-CvFbf5-D.js');
|
|
9
8
|
require('./index-DLz3FT7T.js');
|
|
10
9
|
require('./profile-store-P_BcYkef.js');
|
|
11
|
-
require('./component-utils-BpMyeVQo.js');
|
|
12
10
|
require('./flash-store-BuIBuQDx.js');
|
|
11
|
+
require('./component-utils-BpMyeVQo.js');
|
|
13
12
|
|
|
14
13
|
const UnidyConfig = class extends index.UnidyComponent {
|
|
15
14
|
constructor(hostRef) {
|
|
@@ -44,7 +43,7 @@ const UnidyConfig = class extends index.UnidyComponent {
|
|
|
44
43
|
i18n.instance.options.fallbackLng = this.fallbackLocale;
|
|
45
44
|
this.loadCustomTranslations();
|
|
46
45
|
unidyStore.unidyState.locale = this.locale;
|
|
47
|
-
|
|
46
|
+
index$1.Auth.initialize(index$1.getUnidyClient());
|
|
48
47
|
}
|
|
49
48
|
// extend the list of properties that should be watched when new properties are added to the Config
|
|
50
49
|
onPropChange(newValue, oldValue, propName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"u-config.entry.cjs.js","sources":["src/shared/components/config/config.tsx"],"sourcesContent":["import * as Sentry from \"@sentry/browser\";\nimport { Component, Prop, Watch, Event, type EventEmitter, h } from \"@stencil/core\";\nimport i18n from \"../../../i18n\";\nimport { unidyState } from \"../../store/unidy-store\";\nimport { Auth } from \"../../../auth\";\nimport { getUnidyClient } from \"../../../api/\";\nimport { UnidyComponent } from \"../../../logger\";\n\nexport interface Config {\n apiKey: string;\n baseUrl: string;\n locale: string;\n mode: \"production\" | \"development\";\n}\n\nexport interface ConfigChange {\n key: string;\n value: string;\n previousValue: string;\n}\n\ntype TranslationTree = {\n [key: string]: string | TranslationTree;\n};\n\n@Component({\n tag: \"u-config\",\n shadow: false,\n})\nexport class UnidyConfig extends UnidyComponent {\n @Prop() mode: \"production\" | \"development\" = \"production\";\n @Prop() baseUrl = \"\";\n @Prop() apiKey = \"\";\n @Prop() customTranslations: string | Record<string, TranslationTree> = \"\";\n @Prop() fallbackLocale = \"en\";\n @Prop() locale = \"en\";\n\n @Event() unidyInitialized!: EventEmitter<Config>;\n @Event() configChange!: EventEmitter<ConfigChange>;\n\n componentWillLoad() {\n if (!this.baseUrl || !this.apiKey) {\n this.logger.error(\"baseUrl and apiKey are required\");\n return;\n }\n\n unidyState.apiKey = this.apiKey;\n unidyState.baseUrl = this.baseUrl;\n unidyState.locale = this.locale;\n unidyState.isConfigured = true;\n\n this.unidyInitialized.emit({\n apiKey: this.apiKey,\n baseUrl: this.baseUrl,\n locale: this.locale,\n mode: this.mode,\n });\n\n i18n.options.fallbackLng = this.fallbackLocale;\n\n this.loadCustomTranslations();\n unidyState.locale = this.locale;\n\n Auth.initialize(getUnidyClient());\n }\n\n // extend the list of properties that should be watched when new properties are added to the Config\n @Watch(\"mode\")\n @Watch(\"locale\")\n onPropChange(newValue: string, oldValue: string, propName: keyof Config) {\n if (oldValue === undefined) return;\n\n if (propName in unidyState) {\n (unidyState as Record<keyof Config, string>)[propName] = newValue;\n }\n\n this.configChange.emit({\n key: propName,\n value: newValue,\n previousValue: oldValue,\n });\n }\n\n render() {\n return <slot />;\n }\n\n private loadCustomTranslations() {\n if (this.customTranslations) {\n try {\n const translations = typeof this.customTranslations === \"string\" ? JSON.parse(this.customTranslations) : this.customTranslations;\n\n for (const lang in translations) {\n if (Object.hasOwn(translations, lang)) {\n i18n.addResourceBundle(lang, \"translation\", translations[lang], true, true);\n }\n }\n } catch (error) {\n Sentry.captureException(\"Failed to parse customTranslations\", error);\n }\n }\n }\n}\n"],"names":["UnidyComponent","unidyState","i18n","Auth","getUnidyClient","h","Sentry.captureException"],"mappings":"
|
|
1
|
+
{"version":3,"file":"u-config.entry.cjs.js","sources":["src/shared/components/config/config.tsx"],"sourcesContent":["import * as Sentry from \"@sentry/browser\";\nimport { Component, Prop, Watch, Event, type EventEmitter, h } from \"@stencil/core\";\nimport i18n from \"../../../i18n\";\nimport { unidyState } from \"../../store/unidy-store\";\nimport { Auth } from \"../../../auth\";\nimport { getUnidyClient } from \"../../../api/\";\nimport { UnidyComponent } from \"../../../logger\";\n\nexport interface Config {\n apiKey: string;\n baseUrl: string;\n locale: string;\n mode: \"production\" | \"development\";\n}\n\nexport interface ConfigChange {\n key: string;\n value: string;\n previousValue: string;\n}\n\ntype TranslationTree = {\n [key: string]: string | TranslationTree;\n};\n\n@Component({\n tag: \"u-config\",\n shadow: false,\n})\nexport class UnidyConfig extends UnidyComponent {\n @Prop() mode: \"production\" | \"development\" = \"production\";\n @Prop() baseUrl = \"\";\n @Prop() apiKey = \"\";\n @Prop() customTranslations: string | Record<string, TranslationTree> = \"\";\n @Prop() fallbackLocale = \"en\";\n @Prop() locale = \"en\";\n\n @Event() unidyInitialized!: EventEmitter<Config>;\n @Event() configChange!: EventEmitter<ConfigChange>;\n\n componentWillLoad() {\n if (!this.baseUrl || !this.apiKey) {\n this.logger.error(\"baseUrl and apiKey are required\");\n return;\n }\n\n unidyState.apiKey = this.apiKey;\n unidyState.baseUrl = this.baseUrl;\n unidyState.locale = this.locale;\n unidyState.isConfigured = true;\n\n this.unidyInitialized.emit({\n apiKey: this.apiKey,\n baseUrl: this.baseUrl,\n locale: this.locale,\n mode: this.mode,\n });\n\n i18n.options.fallbackLng = this.fallbackLocale;\n\n this.loadCustomTranslations();\n unidyState.locale = this.locale;\n\n Auth.initialize(getUnidyClient());\n }\n\n // extend the list of properties that should be watched when new properties are added to the Config\n @Watch(\"mode\")\n @Watch(\"locale\")\n onPropChange(newValue: string, oldValue: string, propName: keyof Config) {\n if (oldValue === undefined) return;\n\n if (propName in unidyState) {\n (unidyState as Record<keyof Config, string>)[propName] = newValue;\n }\n\n this.configChange.emit({\n key: propName,\n value: newValue,\n previousValue: oldValue,\n });\n }\n\n render() {\n return <slot />;\n }\n\n private loadCustomTranslations() {\n if (this.customTranslations) {\n try {\n const translations = typeof this.customTranslations === \"string\" ? JSON.parse(this.customTranslations) : this.customTranslations;\n\n for (const lang in translations) {\n if (Object.hasOwn(translations, lang)) {\n i18n.addResourceBundle(lang, \"translation\", translations[lang], true, true);\n }\n }\n } catch (error) {\n Sentry.captureException(\"Failed to parse customTranslations\", error);\n }\n }\n }\n}\n"],"names":["UnidyComponent","unidyState","i18n","Auth","getUnidyClient","h","Sentry.captureException"],"mappings":";;;;;;;;;;;;MA6Ba,WAAY,GAAA,cAAQA,oBAAc,CAAA;;;;;;;IACrC,IAAI,GAAiC,YAAY;IACjD,OAAO,GAAG,EAAE;IACZ,MAAM,GAAG,EAAE;IACX,kBAAkB,GAA6C,EAAE;IACjE,cAAc,GAAG,IAAI;IACrB,MAAM,GAAG,IAAI;AAEZ,IAAA,gBAAgB;AAChB,IAAA,YAAY;IAErB,iBAAiB,GAAA;QACf,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;AACjC,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,CAAC;YACpD;;AAGF,QAAAC,qBAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;AAC/B,QAAAA,qBAAU,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO;AACjC,QAAAA,qBAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;AAC/B,QAAAA,qBAAU,CAAC,YAAY,GAAG,IAAI;AAE9B,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACzB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,IAAI,EAAE,IAAI,CAAC,IAAI;AAChB,SAAA,CAAC;QAEFC,aAAI,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc;QAE9C,IAAI,CAAC,sBAAsB,EAAE;AAC7B,QAAAD,qBAAU,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM;AAE/B,QAAAE,YAAI,CAAC,UAAU,CAACC,sBAAc,EAAE,CAAC;;;AAMnC,IAAA,YAAY,CAAC,QAAgB,EAAE,QAAgB,EAAE,QAAsB,EAAA;QACrE,IAAI,QAAQ,KAAK,SAAS;YAAE;AAE5B,QAAA,IAAI,QAAQ,IAAIH,qBAAU,EAAE;AACzB,YAAAA,qBAA2C,CAAC,QAAQ,CAAC,GAAG,QAAQ;;AAGnE,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;AACrB,YAAA,GAAG,EAAE,QAAQ;AACb,YAAA,KAAK,EAAE,QAAQ;AACf,YAAA,aAAa,EAAE,QAAQ;AACxB,SAAA,CAAC;;IAGJ,MAAM,GAAA;QACJ,OAAOI,oEAAQ;;IAGT,sBAAsB,GAAA;AAC5B,QAAA,IAAI,IAAI,CAAC,kBAAkB,EAAE;AAC3B,YAAA,IAAI;gBACF,MAAM,YAAY,GAAG,OAAO,IAAI,CAAC,kBAAkB,KAAK,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,kBAAkB;AAEhI,gBAAA,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE;oBAC/B,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,EAAE;AACrC,wBAAAH,aAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,YAAY,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC;;;;YAG/E,OAAO,KAAK,EAAE;AACd,gBAAAI,sBAAuB,CAAC,oCAAoC,EAAE,KAAK,CAAC;;;;;;;;;;;;"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-B_N5xKgH.js');
|
|
4
4
|
var helpers = require('./helpers-BcPlKlBG.js');
|
|
5
|
-
var authStore = require('./auth-store-
|
|
6
|
-
var i18n = require('./i18n-
|
|
5
|
+
var authStore = require('./auth-store-DC9EVec8.js');
|
|
6
|
+
var i18n = require('./i18n-BAZB-eHh.js');
|
|
7
7
|
var helpers$1 = require('./helpers-DJyRa0Qo.js');
|
|
8
8
|
var newsletterStore = require('./newsletter-store-BzytX7Qh.js');
|
|
9
9
|
require('./index-DLz3FT7T.js');
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-B_N5xKgH.js');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var i18n = require('./i18n-BAZB-eHh.js');
|
|
5
|
+
var authStore = require('./auth-store-DC9EVec8.js');
|
|
6
|
+
var unidyStore = require('./unidy-store-7AbWnZ6g.js');
|
|
6
7
|
var newsletterStore = require('./newsletter-store-BzytX7Qh.js');
|
|
7
8
|
var componentUtils = require('./component-utils-BpMyeVQo.js');
|
|
8
|
-
var unidyStore = require('./unidy-store-7AbWnZ6g.js');
|
|
9
9
|
require('./index-DLz3FT7T.js');
|
|
10
10
|
|
|
11
11
|
const ErrorMessage = class {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"u-error-message.entry.cjs.js","sources":["src/shared/components/error-message/error-message.tsx"],"sourcesContent":["import { Component, Element,
|
|
1
|
+
{"version":3,"file":"u-error-message.entry.cjs.js","sources":["src/shared/components/error-message/error-message.tsx"],"sourcesContent":["import { Component, Element, h, Host, Prop } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { authState } from \"../../../auth/store/auth-store\";\nimport { unidyState } from \"../../store/unidy-store\";\nimport { type NewsletterErrorIdentifier, newsletterStore } from \"../../../newsletter/store/newsletter-store\";\nimport { hasSlotContent } from \"../../component-utils\";\n\nexport type AuthErrorType = \"email\" | \"password\" | \"magicCode\" | \"resetPassword\" | \"general\" | \"connection\";\n\n@Component({\n tag: \"u-error-message\",\n shadow: true,\n})\nexport class ErrorMessage {\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n @Prop() for!: string;\n\n @Prop() errorMessages?: Record<string, string>;\n @Element() el!: HTMLElement;\n\n private detectContext(): \"auth\" | \"newsletter\" | \"profile\" | \"other\" {\n if (this.el.closest(\"u-signin-root\") || this.el.closest(\"u-signin-step\")) return \"auth\";\n\n if (this.el.closest(\"u-profile\")) return \"profile\";\n\n if (this.el.closest(\"u-newsletter-root\")) return \"newsletter\";\n\n if (this.for === \"general\" || this.for === \"connection\") return \"other\";\n\n throw new Error(\n \"No context found for error message. Make sure you are using the component within a u-signin-root, u-profile, or u-newsletter-root.\",\n );\n }\n\n private get context(): \"auth\" | \"newsletter\" | \"profile\" | \"other\" {\n return this.detectContext();\n }\n\n private getAuthErrorMessage(errorCode: string): string {\n if (this.errorMessages?.[errorCode]) {\n return this.errorMessages[errorCode];\n }\n\n const translatedError = t(`errors.${errorCode}`);\n if (translatedError !== `errors.${errorCode}`) {\n return translatedError;\n }\n\n return errorCode || t(\"errors.unknown\", { defaultValue: \"An error occurred\" });\n }\n\n private getNewsletterErrorMessage(errorIdentifier: NewsletterErrorIdentifier): string {\n return t(`newsletter.errors.${errorIdentifier}`) || t(\"errors.unknown\", { defaultValue: \"An unknown error occurred\" });\n }\n\n private getErrorMessage(errorCode: string): string | null {\n if (this.context === \"auth\") {\n return this.getAuthErrorMessage(errorCode);\n }\n\n return this.getNewsletterErrorMessage(errorCode as NewsletterErrorIdentifier);\n }\n\n private getAuthErrorCode(): string | null {\n const forValue = this.for as AuthErrorType;\n\n if (forValue === \"connection\") {\n return unidyState.backendConnected ? null : \"connection_failed\";\n }\n\n if (forValue === \"general\") {\n return authState.globalErrors.auth;\n }\n\n return authState.errors[forValue];\n }\n\n private getNewsletterErrorCode(): string | null {\n const error = newsletterStore.state.errors[this.for];\n return error ?? null;\n }\n\n render() {\n const errorCode = this.context === \"newsletter\" ? this.getNewsletterErrorCode() : this.getAuthErrorCode();\n\n if (!errorCode) {\n return null;\n }\n\n // Only render connection_failed for \"general\" and \"connection\" types\n if (errorCode === \"connection_failed\" && this.for !== \"general\" && this.for !== \"connection\") {\n return null;\n }\n\n const errorMessage = this.getErrorMessage(errorCode);\n const formattedMessage = errorMessage?.includes(\"\\n\") ? <div style={{ whiteSpace: \"pre-line\" }}>{errorMessage}</div> : errorMessage;\n\n return <Host class={this.componentClassName}>{hasSlotContent(this.el) ? <slot /> : formattedMessage}</Host>;\n }\n}\n"],"names":["t","unidyState","authState","newsletterStore","h","Host","hasSlotContent"],"mappings":"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"}
|