@unidy.io/sdk 1.1.9 → 1.1.10
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-Pb3mNuRv.js +10 -0
- package/dist/cjs/app-globals-Pb3mNuRv.js.map +1 -0
- package/dist/cjs/{auth-B83pzi0f.js → auth-ChsE2RD7.js} +45 -13
- package/dist/cjs/auth-ChsE2RD7.js.map +1 -0
- package/dist/cjs/{auth-store-DPHWWmXf.js → auth-store-BO38Txmj.js} +8 -4
- package/dist/cjs/auth-store-BO38Txmj.js.map +1 -0
- package/dist/cjs/{component-utils-BpMyeVQo.js → component-utils-bu3SY4dE.js} +9 -2
- package/dist/cjs/component-utils-bu3SY4dE.js.map +1 -0
- package/dist/cjs/{flash-store-BuIBuQDx.js → flash-store-D5vGuIFc.js} +3 -3
- package/dist/cjs/{flash-store-BuIBuQDx.js.map → flash-store-D5vGuIFc.js.map} +1 -1
- package/dist/cjs/{i18n-BoDZ8kd2.js → i18n-B2T1e9Mf.js} +432 -596
- package/dist/cjs/i18n-B2T1e9Mf.js.map +1 -0
- package/dist/cjs/{index-B_N5xKgH.js → index-BzhKFIXk.js} +3416 -735
- package/dist/cjs/index-BzhKFIXk.js.map +1 -0
- package/dist/cjs/{index-R2MKLaem.js → index-DmDGhWTM.js} +1621 -550
- package/dist/cjs/index-DmDGhWTM.js.map +1 -0
- package/dist/cjs/{index-DLz3FT7T.js → index-DxENvy7x.js} +92 -23
- package/dist/cjs/index-DxENvy7x.js.map +1 -0
- package/dist/cjs/index.cjs.js +13 -13
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{newsletter-helpers-D-V_8kiN.js → newsletter-helpers-B5P7q8Xk.js} +8 -8
- package/dist/cjs/{newsletter-helpers-D-V_8kiN.js.map → newsletter-helpers-B5P7q8Xk.js.map} +1 -1
- package/dist/cjs/{newsletter-store-BzytX7Qh.js → newsletter-store-f5zhJljn.js} +3 -3
- package/dist/cjs/{newsletter-store-BzytX7Qh.js.map → newsletter-store-f5zhJljn.js.map} +1 -1
- package/dist/cjs/{pagination-store-BEiW3MQd.js → pagination-store-DjGYEIqm.js} +3 -3
- package/dist/cjs/{pagination-store-BEiW3MQd.js.map → pagination-store-DjGYEIqm.js.map} +1 -1
- package/dist/cjs/{profile-helpers-B2h2III_.js → profile-helpers-BcLjojeG.js} +4 -4
- package/dist/cjs/{profile-helpers-B2h2III_.js.map → profile-helpers-BcLjojeG.js.map} +1 -1
- package/dist/cjs/{profile-store-P_BcYkef.js → profile-store-BWJ9qAcg.js} +3 -3
- package/dist/cjs/{profile-store-P_BcYkef.js.map → profile-store-BWJ9qAcg.js.map} +1 -1
- package/dist/cjs/sdk.cjs.js +31 -4
- package/dist/cjs/sdk.cjs.js.map +1 -1
- package/dist/cjs/u-conditional-render.cjs.entry.js +12 -12
- package/dist/cjs/u-config.cjs.entry.js +18 -14
- 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 +7 -7
- 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 +17 -21
- package/dist/cjs/u-flash-message.cjs.entry.js +4 -4
- package/dist/cjs/u-full-profile.cjs.entry.js +6 -6
- package/dist/cjs/u-full-profile.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 +16 -14
- package/dist/cjs/u-magic-code-field.cjs.entry.js +11 -11
- package/dist/cjs/u-magic-code-field.entry.cjs.js.map +1 -1
- package/dist/cjs/u-missing-field.cjs.entry.js +4 -4
- package/dist/cjs/u-missing-field.entry.cjs.js.map +1 -1
- package/dist/cjs/u-missing-fields-submit-button.cjs.entry.js +9 -9
- package/dist/cjs/u-missing-fields-submit-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-checkbox.cjs.entry.js +12 -12
- package/dist/cjs/u-newsletter-logout-button.cjs.entry.js +19 -14
- package/dist/cjs/u-newsletter-logout-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-preference-checkbox.cjs.entry.js +13 -13
- package/dist/cjs/u-newsletter-preference-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-resend-doi-button.cjs.entry.js +13 -13
- package/dist/cjs/u-newsletter-root.cjs.entry.js +12 -12
- package/dist/cjs/u-newsletter-toggle-subscription-button.cjs.entry.js +13 -13
- package/dist/cjs/u-pagination-button.cjs.entry.js +1 -1
- package/dist/cjs/u-pagination-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-pagination-page.cjs.entry.js +1 -1
- package/dist/cjs/u-pagination-page.entry.cjs.js.map +1 -1
- package/dist/cjs/u-passkey.cjs.entry.js +10 -10
- 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 +17 -15
- package/dist/cjs/u-registration-button.cjs.entry.js +5 -5
- package/dist/cjs/u-registration-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-reset-password-button.cjs.entry.js +10 -10
- package/dist/cjs/u-send-magic-code-button.cjs.entry.js +10 -10
- package/dist/cjs/u-send-magic-code-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-signin-root.cjs.entry.js +6 -6
- package/dist/cjs/u-signin-step.cjs.entry.js +10 -10
- package/dist/cjs/u-signin-step.entry.cjs.js.map +1 -1
- package/dist/cjs/u-signin-strategy.cjs.entry.js +4 -4
- package/dist/cjs/u-social-login-button.cjs.entry.js +11 -11
- package/dist/cjs/u-social-login-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-spinner.cjs.entry.js +2 -2
- package/dist/cjs/u-spinner.entry.cjs.js.map +1 -1
- package/dist/cjs/u-ticketable-list.cjs.entry.js +13 -13
- package/dist/cjs/{unidy-store-7AbWnZ6g.js → unidy-store-zhdhlK0a.js} +3 -3
- package/dist/cjs/{unidy-store-7AbWnZ6g.js.map → unidy-store-zhdhlK0a.js.map} +1 -1
- package/dist/collection/api/client.js.map +1 -1
- package/dist/collection/api/index.js +2 -2
- package/dist/collection/api/index.js.map +1 -1
- package/dist/collection/auth/api/auth.js +12 -2
- package/dist/collection/auth/api/auth.js.map +1 -1
- package/dist/collection/auth/auth-helpers.js +18 -1
- package/dist/collection/auth/auth-helpers.js.map +1 -1
- package/dist/collection/auth/auth.js +17 -2
- package/dist/collection/auth/auth.js.map +1 -1
- package/dist/collection/auth/components/logout-button/logout-button.js +5 -3
- package/dist/collection/auth/components/logout-button/logout-button.js.map +1 -1
- package/dist/collection/auth/components/magic-code-field/magic-code-field.css +1 -1
- package/dist/collection/auth/components/magic-code-field/magic-code-field.js +1 -1
- package/dist/collection/auth/components/magic-code-field/magic-code-field.js.map +1 -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 +3 -3
- package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js.map +1 -1
- package/dist/collection/auth/components/passkey/passkey.js +2 -2
- package/dist/collection/auth/components/passkey/passkey.js.map +1 -1
- package/dist/collection/auth/components/password-field/password-field.js +1 -1
- package/dist/collection/auth/components/registration/registration-button.js +2 -2
- package/dist/collection/auth/components/registration/registration-button.js.map +1 -1
- package/dist/collection/auth/components/send-magic-code-button/send-magic-code-button.js +1 -1
- package/dist/collection/auth/components/send-magic-code-button/send-magic-code-button.js.map +1 -1
- package/dist/collection/auth/components/signed-in/signed-in.js.map +1 -1
- package/dist/collection/auth/components/signin-step/signin-step.js +1 -1
- 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 +4 -4
- package/dist/collection/auth/components/social-logins/social-login-button.js.map +1 -1
- package/dist/collection/auth/index.js +1 -2
- package/dist/collection/auth/index.js.map +1 -1
- package/dist/collection/auth/store/auth-store.js +4 -0
- package/dist/collection/auth/store/auth-store.js.map +1 -1
- package/dist/collection/globalScript.js +1 -1
- package/dist/collection/globalScript.js.map +1 -1
- package/dist/collection/i18n.js +1 -1
- package/dist/collection/i18n.js.map +1 -1
- package/dist/collection/index.js +1 -1
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/logger.js.map +1 -1
- package/dist/collection/newsletter/api/newsletters.js +1 -1
- package/dist/collection/newsletter/api/newsletters.js.map +1 -1
- package/dist/collection/newsletter/components/logout-button/logout-button.js +10 -5
- package/dist/collection/newsletter/components/logout-button/logout-button.js.map +1 -1
- package/dist/collection/newsletter/components/preference-checkbox/preference-checkbox.js +2 -3
- package/dist/collection/newsletter/components/preference-checkbox/preference-checkbox.js.map +1 -1
- package/dist/collection/newsletter/components/resend-doi-button/resend-doi-button.css +1 -1
- package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.css +1 -1
- package/dist/collection/profile/components/field/field.css +1 -1
- package/dist/collection/profile/components/field/field.js +1 -5
- package/dist/collection/profile/components/field/field.js.map +1 -1
- package/dist/collection/profile/components/full-profile/full-profile.css +1 -1
- package/dist/collection/profile/components/raw-field/raw-field.js +5 -5
- package/dist/collection/profile/components/raw-field/raw-field.js.map +1 -1
- package/dist/collection/profile/index.js +1 -2
- package/dist/collection/profile/index.js.map +1 -1
- package/dist/collection/profile/profile-helpers.js +1 -1
- package/dist/collection/profile/profile-helpers.js.map +1 -1
- package/dist/collection/shared/component-utils.js +7 -0
- package/dist/collection/shared/component-utils.js.map +1 -1
- package/dist/collection/shared/components/config/config.js +28 -4
- package/dist/collection/shared/components/config/config.js.map +1 -1
- package/dist/collection/shared/components/email-field/email-field.css +1 -1
- package/dist/collection/shared/components/error-message/error-message.js.map +1 -1
- package/dist/collection/shared/components/flash-message/flash-message.css +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/spinner/spinner.js.map +1 -1
- package/dist/collection/shared/components/submit-button/submit-button.css +1 -1
- package/dist/collection/shared/components/submit-button/submit-button.js +2 -0
- package/dist/collection/shared/components/submit-button/submit-button.js.map +1 -1
- package/dist/collection/ticketable/api/get-with-schema.js.map +1 -1
- package/dist/collection/ticketable/api/schemas.js +1 -1
- package/dist/collection/ticketable/api/schemas.js.map +1 -1
- package/dist/collection/ticketable/api/subscriptions.js +2 -2
- package/dist/collection/ticketable/api/subscriptions.js.map +1 -1
- package/dist/collection/ticketable/api/tickets.js +2 -2
- package/dist/collection/ticketable/api/tickets.js.map +1 -1
- package/dist/collection/ticketable/components/pagination/pagination-button.js +1 -1
- package/dist/collection/ticketable/components/pagination/pagination-button.js.map +1 -1
- package/dist/collection/ticketable/components/pagination/pagination-page.js +1 -1
- package/dist/collection/ticketable/components/pagination/pagination-page.js.map +1 -1
- package/dist/collection/ticketable/index.js +1 -1
- package/dist/collection/ticketable/index.js.map +1 -1
- package/dist/components/auth-store.js +4 -0
- package/dist/components/auth-store.js.map +1 -1
- package/dist/components/auth.js +36 -4
- package/dist/components/auth.js.map +1 -1
- package/dist/components/component-utils.js +7 -0
- package/dist/components/component-utils.js.map +1 -1
- package/dist/components/exports.js +260 -104
- package/dist/components/exports.js.map +1 -1
- package/dist/components/field.js +4 -14
- package/dist/components/field.js.map +1 -1
- package/dist/components/i18n.js +429 -593
- package/dist/components/i18n.js.map +1 -1
- package/dist/components/index.js +424 -397
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +1562 -491
- package/dist/components/index2.js.map +1 -1
- package/dist/components/index3.js +90 -21
- package/dist/components/index3.js.map +1 -1
- package/dist/components/logger.js.map +1 -1
- package/dist/components/profile-helpers.js +1 -1
- package/dist/components/profile-helpers.js.map +1 -1
- package/dist/components/profile-store.js +1 -1
- package/dist/components/profile.js +3 -3
- package/dist/components/raw-field.js +11 -11
- package/dist/components/raw-field.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 +3 -1
- package/dist/components/submit-button.js.map +1 -1
- package/dist/components/u-conditional-render.js +1 -1
- package/dist/components/u-config.js +10 -5
- 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.map +1 -1
- package/dist/components/u-flash-message.js +1 -1
- package/dist/components/u-full-profile.js +1 -1
- package/dist/components/u-full-profile.js.map +1 -1
- package/dist/components/u-logout-button.js +5 -3
- package/dist/components/u-logout-button.js.map +1 -1
- package/dist/components/u-magic-code-field.js +2 -2
- package/dist/components/u-magic-code-field.js.map +1 -1
- package/dist/components/u-missing-field.js +4 -10
- package/dist/components/u-missing-field.js.map +1 -1
- package/dist/components/u-missing-fields-submit-button.js +3 -3
- package/dist/components/u-missing-fields-submit-button.js.map +1 -1
- package/dist/components/u-newsletter-logout-button.js +9 -4
- 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-preference-checkbox.js.map +1 -1
- package/dist/components/u-newsletter-resend-doi-button.js +1 -1
- package/dist/components/u-newsletter-toggle-subscription-button.js +1 -1
- package/dist/components/u-pagination-button.js.map +1 -1
- package/dist/components/u-pagination-page.js.map +1 -1
- package/dist/components/u-passkey.js +1 -1
- package/dist/components/u-passkey.js.map +1 -1
- package/dist/components/u-registration-button.js +2 -2
- package/dist/components/u-registration-button.js.map +1 -1
- package/dist/components/u-send-magic-code-button.js +1 -1
- package/dist/components/u-send-magic-code-button.js.map +1 -1
- package/dist/components/u-signed-in.js.map +1 -1
- package/dist/components/u-signin-step.js +1 -1
- package/dist/components/u-signin-step.js.map +1 -1
- package/dist/components/u-social-login-button.js +8 -8
- package/dist/components/u-social-login-button.js.map +1 -1
- package/dist/components/u-ticketable-list.js +1 -1
- package/dist/esm/app-globals-BHWOrMsm.js +8 -0
- package/dist/esm/app-globals-BHWOrMsm.js.map +1 -0
- package/dist/esm/{auth-B0RIcDM-.js → auth-CAHM6e4m.js} +45 -13
- package/dist/esm/auth-CAHM6e4m.js.map +1 -0
- package/dist/esm/{auth-store-BGMYm_jK.js → auth-store-ItTnEMlF.js} +8 -4
- package/dist/esm/auth-store-ItTnEMlF.js.map +1 -0
- package/dist/esm/{component-utils-D1lzXl_Z.js → component-utils-BGq0leDV.js} +9 -2
- package/dist/esm/component-utils-BGq0leDV.js.map +1 -0
- package/dist/esm/{flash-store-CEvWSG0c.js → flash-store-CMXH65i_.js} +3 -3
- package/dist/esm/{flash-store-CEvWSG0c.js.map → flash-store-CMXH65i_.js.map} +1 -1
- package/dist/esm/{i18n-CLdWzy5J.js → i18n-OKf8uE5j.js} +432 -596
- package/dist/esm/i18n-OKf8uE5j.js.map +1 -0
- package/dist/esm/{index-Ci3aTmzp.js → index-COQ27Nb6.js} +3411 -734
- package/dist/esm/index-COQ27Nb6.js.map +1 -0
- package/dist/esm/{index-Bjp1XO-f.js → index-DVkRTYPC.js} +92 -23
- package/dist/esm/index-DVkRTYPC.js.map +1 -0
- package/dist/esm/{index-DSDkaHWI.js → index-Du3hUdhU.js} +1622 -551
- package/dist/esm/index-Du3hUdhU.js.map +1 -0
- package/dist/esm/index.js +11 -11
- package/dist/esm/loader.js +4 -4
- package/dist/esm/{newsletter-helpers-CONtbKYi.js → newsletter-helpers-ChXON0f4.js} +8 -8
- package/dist/esm/{newsletter-helpers-CONtbKYi.js.map → newsletter-helpers-ChXON0f4.js.map} +1 -1
- package/dist/esm/{newsletter-store-DBL1A203.js → newsletter-store-CIsyE51r.js} +3 -3
- package/dist/esm/{newsletter-store-DBL1A203.js.map → newsletter-store-CIsyE51r.js.map} +1 -1
- package/dist/esm/{pagination-store-DzdJOp-n.js → pagination-store-B9lk_lqK.js} +3 -3
- package/dist/esm/{pagination-store-DzdJOp-n.js.map → pagination-store-B9lk_lqK.js.map} +1 -1
- package/dist/esm/{profile-helpers-CglNd6Nw.js → profile-helpers-Beduxnin.js} +4 -4
- package/dist/esm/{profile-helpers-CglNd6Nw.js.map → profile-helpers-Beduxnin.js.map} +1 -1
- package/dist/esm/{profile-store-RmZB2PTc.js → profile-store-CsSDT9Tb.js} +4 -4
- package/dist/esm/{profile-store-RmZB2PTc.js.map → profile-store-CsSDT9Tb.js.map} +1 -1
- package/dist/esm/sdk.js +32 -5
- package/dist/esm/sdk.js.map +1 -1
- package/dist/esm/u-conditional-render.entry.js +12 -12
- package/dist/esm/u-config.entry.js +18 -14
- 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 +7 -7
- 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 +17 -21
- package/dist/esm/u-flash-message.entry.js +4 -4
- package/dist/esm/u-full-profile.entry.js +6 -6
- package/dist/esm/u-full-profile.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 +16 -14
- package/dist/esm/u-magic-code-field.entry.js +11 -11
- package/dist/esm/u-magic-code-field.entry.js.map +1 -1
- package/dist/esm/u-missing-field.entry.js +4 -4
- package/dist/esm/u-missing-field.entry.js.map +1 -1
- package/dist/esm/u-missing-fields-submit-button.entry.js +9 -9
- package/dist/esm/u-missing-fields-submit-button.entry.js.map +1 -1
- package/dist/esm/u-newsletter-checkbox.entry.js +12 -12
- package/dist/esm/u-newsletter-logout-button.entry.js +19 -14
- package/dist/esm/u-newsletter-logout-button.entry.js.map +1 -1
- package/dist/esm/u-newsletter-preference-checkbox.entry.js +13 -13
- package/dist/esm/u-newsletter-preference-checkbox.entry.js.map +1 -1
- package/dist/esm/u-newsletter-resend-doi-button.entry.js +13 -13
- package/dist/esm/u-newsletter-root.entry.js +12 -12
- package/dist/esm/u-newsletter-toggle-subscription-button.entry.js +13 -13
- package/dist/esm/u-pagination-button.entry.js +1 -1
- package/dist/esm/u-pagination-button.entry.js.map +1 -1
- package/dist/esm/u-pagination-page.entry.js +1 -1
- package/dist/esm/u-pagination-page.entry.js.map +1 -1
- package/dist/esm/u-passkey.entry.js +10 -10
- 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 +17 -15
- package/dist/esm/u-registration-button.entry.js +5 -5
- package/dist/esm/u-registration-button.entry.js.map +1 -1
- package/dist/esm/u-reset-password-button.entry.js +10 -10
- package/dist/esm/u-send-magic-code-button.entry.js +10 -10
- package/dist/esm/u-send-magic-code-button.entry.js.map +1 -1
- package/dist/esm/u-signin-root.entry.js +6 -6
- package/dist/esm/u-signin-step.entry.js +10 -10
- package/dist/esm/u-signin-step.entry.js.map +1 -1
- package/dist/esm/u-signin-strategy.entry.js +4 -4
- package/dist/esm/u-social-login-button.entry.js +11 -11
- package/dist/esm/u-social-login-button.entry.js.map +1 -1
- package/dist/esm/u-spinner.entry.js +2 -2
- package/dist/esm/u-spinner.entry.js.map +1 -1
- package/dist/esm/u-ticketable-list.entry.js +13 -13
- package/dist/esm/{unidy-store-BldTAtO0.js → unidy-store-CAcMVdD8.js} +3 -3
- package/dist/esm/{unidy-store-BldTAtO0.js.map → unidy-store-CAcMVdD8.js.map} +1 -1
- package/dist/sdk/index.esm.js +1 -1
- package/dist/sdk/{p-93200fb4.entry.js → p-1bad3fd0.entry.js} +2 -2
- package/dist/sdk/{p-22e4d08b.entry.js → p-1d6982cd.entry.js} +2 -2
- package/dist/sdk/p-23d8e922.entry.js +2 -0
- package/dist/sdk/p-2855d3bb.entry.js +2 -0
- package/dist/sdk/p-2855d3bb.entry.js.map +1 -0
- package/dist/sdk/{p-339f32c1.entry.js → p-288f37c3.entry.js} +2 -2
- package/dist/sdk/{p-339f32c1.entry.js.map → p-288f37c3.entry.js.map} +1 -1
- package/dist/sdk/p-32842e98.entry.js +2 -0
- package/dist/sdk/p-32842e98.entry.js.map +1 -0
- package/dist/sdk/p-34af7470.entry.js +2 -0
- package/dist/sdk/p-39126514.entry.js +2 -0
- package/dist/sdk/{p-2af8b45f.entry.js.map → p-39126514.entry.js.map} +1 -1
- package/dist/sdk/{p-ad796888.entry.js → p-438f62e5.entry.js} +2 -2
- package/dist/sdk/{p-ad796888.entry.js.map → p-438f62e5.entry.js.map} +1 -1
- package/dist/sdk/{p-bb603b00.entry.js → p-46013b2f.entry.js} +2 -2
- package/dist/sdk/{p-08ff2de2.entry.js → p-46cdb255.entry.js} +2 -2
- package/dist/sdk/{p-a5db968f.entry.js → p-4d9bde6e.entry.js} +2 -2
- package/dist/sdk/{p-b0917777.entry.js → p-5c40c6ea.entry.js} +2 -2
- package/dist/sdk/p-5c8b31bd.entry.js +2 -0
- package/dist/sdk/p-5c8b31bd.entry.js.map +1 -0
- package/dist/sdk/{p-c31dbbb4.entry.js → p-69172b22.entry.js} +2 -2
- package/dist/sdk/p-69172b22.entry.js.map +1 -0
- package/dist/sdk/p-7381aca7.entry.js +2 -0
- package/dist/sdk/{p-6893d167.entry.js.map → p-7381aca7.entry.js.map} +1 -1
- package/dist/sdk/{p-D1lzXl_Z.js → p-BGq0leDV.js} +1 -1
- package/dist/sdk/p-BGq0leDV.js.map +1 -0
- package/dist/sdk/p-BR6L248H.js +2 -0
- package/dist/sdk/p-BR6L248H.js.map +1 -0
- package/dist/sdk/p-BhrvnKAS.js +2 -0
- package/dist/sdk/{p-Ce8zGAi1.js.map → p-BhrvnKAS.js.map} +1 -1
- package/dist/sdk/p-CMw6v6sC.js +2 -0
- package/dist/sdk/p-CMw6v6sC.js.map +1 -0
- package/dist/sdk/p-COQ27Nb6.js +14 -0
- package/dist/sdk/p-COQ27Nb6.js.map +1 -0
- package/dist/sdk/p-CSLU6kes.js +2 -0
- package/dist/sdk/{p-CPPYdoIv.js.map → p-CSLU6kes.js.map} +1 -1
- package/dist/sdk/p-Cai8JwlG.js +2 -0
- package/dist/sdk/p-Cai8JwlG.js.map +1 -0
- package/dist/sdk/{p-DYtgart8.js → p-CpJghKnM.js} +2 -2
- package/dist/sdk/{p-DYtgart8.js.map → p-CpJghKnM.js.map} +1 -1
- package/dist/sdk/p-DAn4FkxC.js +2 -0
- package/dist/sdk/{p-C0feI0p8.js.map → p-DAn4FkxC.js.map} +1 -1
- package/dist/sdk/p-FFRhPCmc.js +2 -0
- package/dist/sdk/{p-DA84OuuU.js.map → p-FFRhPCmc.js.map} +1 -1
- package/dist/sdk/p-Jrp0G45B.js +2 -0
- package/dist/sdk/{p-BlOjABPD.js.map → p-Jrp0G45B.js.map} +1 -1
- package/dist/sdk/p-MA26cw6g.js +2 -0
- package/dist/sdk/p-MA26cw6g.js.map +1 -0
- package/dist/sdk/p-P0eZf5rH.js +2 -0
- package/dist/sdk/p-P0eZf5rH.js.map +1 -0
- package/dist/sdk/{p-S3-2d2Qd.js → p-PSIHL0wP.js} +2 -2
- package/dist/sdk/{p-S3-2d2Qd.js.map → p-PSIHL0wP.js.map} +1 -1
- package/dist/sdk/p-a341c7f6.entry.js +2 -0
- package/dist/sdk/p-a341c7f6.entry.js.map +1 -0
- package/dist/sdk/p-a38cd448.entry.js +2 -0
- package/dist/sdk/{p-593c6dde.entry.js.map → p-a38cd448.entry.js.map} +1 -1
- package/dist/sdk/{p-87d10077.entry.js → p-a45ef398.entry.js} +2 -2
- package/dist/sdk/{p-87d10077.entry.js.map → p-a45ef398.entry.js.map} +1 -1
- package/dist/sdk/p-b5a6ad01.entry.js +2 -0
- package/dist/sdk/p-b5a6ad01.entry.js.map +1 -0
- package/dist/sdk/{p-9f59909b.entry.js → p-b93bf91d.entry.js} +2 -2
- package/dist/sdk/{p-9f59909b.entry.js.map → p-b93bf91d.entry.js.map} +1 -1
- package/dist/sdk/{p-09cd77e6.entry.js → p-baf5dcb7.entry.js} +2 -2
- package/dist/sdk/p-c07a43e2.entry.js +2 -0
- package/dist/sdk/p-c07a43e2.entry.js.map +1 -0
- package/dist/sdk/p-c98ad60d.entry.js +2 -0
- package/dist/sdk/p-c98ad60d.entry.js.map +1 -0
- package/dist/sdk/{p-f5615938.entry.js → p-d0c0fb6b.entry.js} +2 -2
- package/dist/sdk/p-d47aaf26.entry.js +2 -0
- package/dist/sdk/p-d47aaf26.entry.js.map +1 -0
- package/dist/sdk/p-e5ef30ef.entry.js +2 -0
- package/dist/sdk/p-eb348798.entry.js +2 -0
- package/dist/sdk/{p-73c2ec89.entry.js.map → p-eb348798.entry.js.map} +1 -1
- package/dist/sdk/p-f82f500d.entry.js +2 -0
- package/dist/sdk/p-f82f500d.entry.js.map +1 -0
- package/dist/sdk/p-f88ed6e8.entry.js +2 -0
- package/dist/sdk/p-f88ed6e8.entry.js.map +1 -0
- package/dist/sdk/{p-afc65acd.entry.js → p-f9affafe.entry.js} +2 -2
- package/dist/sdk/p-jyF1XwDG.js +2 -0
- package/dist/sdk/p-jyF1XwDG.js.map +1 -0
- package/dist/sdk/sdk.esm.js +1 -1
- package/dist/sdk/sdk.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-full-profile.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-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-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-registration-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-social-login-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-spinner.entry.esm.js.map +1 -1
- package/dist/types/api/index.d.ts +2 -2
- package/dist/types/auth/api/auth.d.ts +3 -1
- package/dist/types/auth/auth-helpers.d.ts +1 -0
- package/dist/types/auth/auth.d.ts +9 -1
- package/dist/types/auth/components/logout-button/logout-button.d.ts +1 -1
- package/dist/types/auth/index.d.ts +3 -4
- package/dist/types/auth/store/auth-store.d.ts +2 -0
- package/dist/types/components.d.ts +8 -0
- package/dist/types/index.d.ts +2 -2
- package/dist/types/logger.d.ts +1 -1
- package/dist/types/newsletter/api/newsletters.d.ts +1 -1
- package/dist/types/newsletter/components/logout-button/logout-button.d.ts +2 -0
- package/dist/types/profile/components/field/field.d.ts +0 -1
- package/dist/types/profile/components/raw-field/raw-field.d.ts +2 -2
- package/dist/types/profile/index.d.ts +2 -3
- package/dist/types/shared/component-utils.d.ts +7 -0
- package/dist/types/shared/components/config/config.d.ts +1 -0
- package/dist/types/ticketable/api/get-with-schema.d.ts +1 -1
- package/dist/types/ticketable/index.d.ts +1 -1
- package/package.json +23 -18
- package/dist/cjs/app-globals-DSKjcXX_.js +0 -10
- package/dist/cjs/app-globals-DSKjcXX_.js.map +0 -1
- package/dist/cjs/auth-B83pzi0f.js.map +0 -1
- package/dist/cjs/auth-store-DPHWWmXf.js.map +0 -1
- package/dist/cjs/component-utils-BpMyeVQo.js.map +0 -1
- package/dist/cjs/i18n-BoDZ8kd2.js.map +0 -1
- package/dist/cjs/index-B_N5xKgH.js.map +0 -1
- package/dist/cjs/index-DLz3FT7T.js.map +0 -1
- package/dist/cjs/index-R2MKLaem.js.map +0 -1
- package/dist/esm/app-globals-CPU9ZcqZ.js +0 -8
- package/dist/esm/app-globals-CPU9ZcqZ.js.map +0 -1
- package/dist/esm/auth-B0RIcDM-.js.map +0 -1
- package/dist/esm/auth-store-BGMYm_jK.js.map +0 -1
- package/dist/esm/component-utils-D1lzXl_Z.js.map +0 -1
- package/dist/esm/i18n-CLdWzy5J.js.map +0 -1
- package/dist/esm/index-Bjp1XO-f.js.map +0 -1
- package/dist/esm/index-Ci3aTmzp.js.map +0 -1
- package/dist/esm/index-DSDkaHWI.js.map +0 -1
- package/dist/sdk/p-1176c407.entry.js +0 -2
- package/dist/sdk/p-1176c407.entry.js.map +0 -1
- package/dist/sdk/p-2a65bcbb.entry.js +0 -2
- package/dist/sdk/p-2a65bcbb.entry.js.map +0 -1
- package/dist/sdk/p-2af8b45f.entry.js +0 -2
- package/dist/sdk/p-56abb377.entry.js +0 -2
- package/dist/sdk/p-56abb377.entry.js.map +0 -1
- package/dist/sdk/p-593c6dde.entry.js +0 -2
- package/dist/sdk/p-5b627aea.entry.js +0 -2
- package/dist/sdk/p-5b627aea.entry.js.map +0 -1
- package/dist/sdk/p-628ccd68.entry.js +0 -2
- package/dist/sdk/p-675eb13d.entry.js +0 -2
- package/dist/sdk/p-675eb13d.entry.js.map +0 -1
- package/dist/sdk/p-6893d167.entry.js +0 -2
- package/dist/sdk/p-6a642433.entry.js +0 -2
- package/dist/sdk/p-73c2ec89.entry.js +0 -2
- package/dist/sdk/p-91bb8b59.entry.js +0 -2
- package/dist/sdk/p-91bb8b59.entry.js.map +0 -1
- package/dist/sdk/p-BZ1kW_eK.js +0 -2
- package/dist/sdk/p-BZ1kW_eK.js.map +0 -1
- package/dist/sdk/p-BlAULXyw.js +0 -2
- package/dist/sdk/p-BlAULXyw.js.map +0 -1
- package/dist/sdk/p-BlOjABPD.js +0 -2
- package/dist/sdk/p-C0feI0p8.js +0 -2
- package/dist/sdk/p-C3fhudPT.js +0 -2
- package/dist/sdk/p-C3fhudPT.js.map +0 -1
- package/dist/sdk/p-CFiZLMAA.js +0 -2
- package/dist/sdk/p-CFiZLMAA.js.map +0 -1
- package/dist/sdk/p-CPPYdoIv.js +0 -2
- package/dist/sdk/p-CbRhHGU5.js +0 -2
- package/dist/sdk/p-CbRhHGU5.js.map +0 -1
- package/dist/sdk/p-Ce8zGAi1.js +0 -2
- package/dist/sdk/p-Ci3aTmzp.js +0 -3
- package/dist/sdk/p-Ci3aTmzp.js.map +0 -1
- package/dist/sdk/p-D1lzXl_Z.js.map +0 -1
- package/dist/sdk/p-DA84OuuU.js +0 -2
- package/dist/sdk/p-DdUvQelg.js +0 -2
- package/dist/sdk/p-DdUvQelg.js.map +0 -1
- package/dist/sdk/p-b0728464.entry.js +0 -2
- package/dist/sdk/p-b0728464.entry.js.map +0 -1
- package/dist/sdk/p-c197fdb3.entry.js +0 -2
- package/dist/sdk/p-c197fdb3.entry.js.map +0 -1
- package/dist/sdk/p-c31dbbb4.entry.js.map +0 -1
- package/dist/sdk/p-c5bffd90.entry.js +0 -2
- package/dist/sdk/p-f0598e42.entry.js +0 -2
- package/dist/sdk/p-f0598e42.entry.js.map +0 -1
- package/dist/sdk/p-ffac964c.entry.js +0 -2
- package/dist/sdk/p-ffac964c.entry.js.map +0 -1
- /package/dist/sdk/{p-93200fb4.entry.js.map → p-1bad3fd0.entry.js.map} +0 -0
- /package/dist/sdk/{p-22e4d08b.entry.js.map → p-1d6982cd.entry.js.map} +0 -0
- /package/dist/sdk/{p-6a642433.entry.js.map → p-23d8e922.entry.js.map} +0 -0
- /package/dist/sdk/{p-c5bffd90.entry.js.map → p-34af7470.entry.js.map} +0 -0
- /package/dist/sdk/{p-bb603b00.entry.js.map → p-46013b2f.entry.js.map} +0 -0
- /package/dist/sdk/{p-08ff2de2.entry.js.map → p-46cdb255.entry.js.map} +0 -0
- /package/dist/sdk/{p-a5db968f.entry.js.map → p-4d9bde6e.entry.js.map} +0 -0
- /package/dist/sdk/{p-b0917777.entry.js.map → p-5c40c6ea.entry.js.map} +0 -0
- /package/dist/sdk/{p-09cd77e6.entry.js.map → p-baf5dcb7.entry.js.map} +0 -0
- /package/dist/sdk/{p-f5615938.entry.js.map → p-d0c0fb6b.entry.js.map} +0 -0
- /package/dist/sdk/{p-628ccd68.entry.js.map → p-e5ef30ef.entry.js.map} +0 -0
- /package/dist/sdk/{p-afc65acd.entry.js.map → p-f9affafe.entry.js.map} +0 -0
|
@@ -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 MixedInCtor, Mixin } from \"@stencil/core\";\nimport 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/**\n * Stencil mixin factory that adds a logger property to the component.\n * The logger automatically uses the component's class name as the prefix.\n */\n// biome-ignore lint/suspicious/noExplicitAny: if we have no Base we have to invent one\nexport const loggerFactory = <B extends MixedInCtor>(Base: B = Object as any) => {\n class LoggerMixin extends Base {\n /** @internal */\n __logger: Logger | null = null;\n\n get logger(): Logger {\n if (!this.__logger) {\n this.__logger = createLogger(this.constructor.name);\n }\n return this.__logger;\n }\n }\n return LoggerMixin;\n};\n\n/**\n * Base class for Unidy Stencil components that provides logging functionality.\n * Components extending this class get a `this.logger` property that automatically\n * prefixes log messages with the component's class name.\n *\n * @example\n * ```tsx\n * import { UnidyComponent } from '../logger';\n *\n * @Component({ tag: 'my-component' })\n * export class MyComponent extends UnidyComponent {\n * componentDidLoad() {\n * this.logger.debug('Component loaded');\n * }\n * }\n * ```\n */\nexport const UnidyComponent = Mixin(loggerFactory);\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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"newsletters.js","sourceRoot":"","sources":["../../../src/newsletter/api/newsletters.ts"],"names":[],"mappings":"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","sourcesContent":["import * as Sentry from \"@sentry/browser\";\nimport * as z from \"zod/mini\";\nimport type { ApiClient, ApiResponse } from \"../../api\";\nimport EventEmitter from \"eventemitter3\";\nimport { createLogger } from \"../../logger\";\n\nconst NewsletterSubscriptionSchema = z.object({\n id: z.number(),\n email: z.string(),\n newsletter_internal_name: z.string(),\n preference_identifiers: z.array(z.string()),\n preference_token: z.string(),\n confirmed_at: z.union([z.string(), z.null()]),\n});\n\nconst NewsletterSubscriptionErrorSchema = z.object({\n error_identifier: z.string(),\n error_details: z.optional(z.record(z.string(), z.array(z.string()))),\n meta: z.object({\n newsletter_internal_name: z.string(),\n }),\n});\n\nconst CreateSubscriptionsResponseSchema = z.object({\n results: z.array(NewsletterSubscriptionSchema),\n errors: z.array(NewsletterSubscriptionErrorSchema),\n});\n\nconst AdditionalFieldsSchema = z.object({\n first_name: z.optional(z.union([z.string(), z.null()])),\n last_name: z.optional(z.union([z.string(), z.null()])),\n salutation: z.optional(z.union([z.literal(\"mr\"), z.literal(\"mrs\"), z.literal(\"mx\"), z.null()])),\n phone_number: z.optional(z.union([z.string(), z.null()])),\n date_of_birth: z.optional(z.union([z.string(), z.null()])),\n company_name: z.optional(z.union([z.string(), z.null()])),\n address_line_1: z.optional(z.union([z.string(), z.null()])),\n address_line_2: z.optional(z.union([z.string(), z.null()])),\n city: z.optional(z.union([z.string(), z.null()])),\n postal_code: z.optional(z.union([z.string(), z.null()])),\n country_code: z.optional(z.union([z.string(), z.null()])),\n preferred_language: z.optional(z.union([z.string(), z.null()])),\n custom_attributes: z.optional(z.union([z.record(z.string(), z.unknown()), z.null()])),\n});\n\nconst CreateSubscriptionsPayloadSchema = z.object({\n email: z.string(),\n additional_fields: z.optional(AdditionalFieldsSchema),\n newsletter_subscriptions: z.array(\n z.object({\n newsletter_internal_name: z.string(),\n preference_identifiers: z.optional(z.array(z.string())),\n }),\n ),\n redirect_to_after_confirmation: z.optional(z.string()),\n});\n\nconst UpdateSubscriptionPayloadSchema = z.object({\n preference_identifiers: z.array(z.string()),\n});\n\nconst LoginEmailPayloadSchema = z.object({\n email: z.string(),\n redirect_uri: z.string(),\n});\n\nconst ResendDoiPayloadSchema = z.object({\n redirect_to_after_confirmation: z.optional(z.string()),\n});\n\nconst PreferenceSchema = z.object({\n id: z.number(),\n name: z.string(),\n description: z.union([z.string(), z.null()]),\n plugin_identifier: z.union([z.string(), z.null()]),\n position: z.number(),\n default: z.boolean(),\n hidden: z.boolean(),\n});\n\nconst PreferenceGroupSchema = z.object({\n id: z.number(),\n name: z.string(),\n position: z.number(),\n flat: z.boolean(),\n preferences: z.array(PreferenceSchema),\n});\n\nconst NewsletterSchema = z.object({\n id: z.number(),\n internal_name: z.string(),\n default: z.boolean(),\n position: z.number(),\n opt_in_type: z.string(),\n title: z.string(),\n description: z.union([z.string(), z.null()]),\n created_at: z.string(),\n updated_at: z.string(),\n preference_groups: z.array(PreferenceGroupSchema),\n});\n\nconst NewslettersResponseSchema = z.object({\n newsletters: z.array(NewsletterSchema),\n});\n\nexport type NewsletterSubscription = z.infer<typeof NewsletterSubscriptionSchema>;\nexport type NewsletterSubscriptionError = z.infer<typeof NewsletterSubscriptionErrorSchema>;\nexport type CreateSubscriptionsResponse = z.infer<typeof CreateSubscriptionsResponseSchema>;\nexport type CreateSubscriptionsPayload = z.infer<typeof CreateSubscriptionsPayloadSchema>;\nexport type AdditionalFields = z.infer<typeof AdditionalFieldsSchema>;\nexport type UpdateSubscriptionPayload = z.infer<typeof UpdateSubscriptionPayloadSchema>;\nexport type LoginEmailPayload = z.infer<typeof LoginEmailPayloadSchema>;\nexport type ResendDoiPayload = z.infer<typeof ResendDoiPayloadSchema>;\nexport type Newsletter = z.infer<typeof NewsletterSchema>;\nexport type NewslettersResponse = z.infer<typeof NewslettersResponseSchema>;\nexport type Preference = z.infer<typeof PreferenceSchema>;\nexport type PreferenceGroup = z.infer<typeof PreferenceGroupSchema>;\n\nexport type SubscriptionAuthOptions = {\n idToken?: string;\n preferenceToken?: string;\n};\n\nexport type CreateSubscriptionsResult =\n | [\"schema_validation_error\", ApiResponse<CreateSubscriptionsResponse>]\n | [\"rate_limit_exceeded\", ApiResponse<CreateSubscriptionsResponse>]\n | [\"unauthorized\", ApiResponse<CreateSubscriptionsResponse>]\n | [\"newsletter_error\", ApiResponse<CreateSubscriptionsResponse>]\n | [\"network_error\", ApiResponse<CreateSubscriptionsResponse>]\n | [\"server_error\", ApiResponse<CreateSubscriptionsResponse>]\n | [\"error\", ApiResponse<CreateSubscriptionsResponse>]\n | [null, ApiResponse<CreateSubscriptionsResponse>];\n\nexport class NewsletterService extends EventEmitter {\n private client: ApiClient;\n private logger = createLogger(\"NewsletterService\");\n\n constructor(client: ApiClient) {\n super();\n this.client = client;\n }\n\n private buildAuthHeaders(auth?: SubscriptionAuthOptions): HeadersInit | undefined {\n if (!auth) return undefined;\n\n const headers: Record<string, string> = {};\n if (auth.idToken) {\n headers[\"X-ID-Token\"] = auth.idToken;\n }\n if (auth.preferenceToken) {\n headers[\"X-Preference-Token\"] = auth.preferenceToken;\n }\n return Object.keys(headers).length > 0 ? headers : undefined;\n }\n\n async createSubscriptions(payload: CreateSubscriptionsPayload, auth?: SubscriptionAuthOptions): Promise<CreateSubscriptionsResult> {\n CreateSubscriptionsPayloadSchema.parse(payload);\n\n const response = await this.client.post<CreateSubscriptionsResponse>(\n \"/api/sdk/v1/newsletters/newsletter_subscription\",\n payload,\n this.buildAuthHeaders(auth),\n );\n\n switch (response.status) {\n case 401:\n this.emit(\"unauthorized\", response);\n return [\"unauthorized\", response];\n case 429:\n this.logger.warn(\"Rate limit exceeded\");\n this.emit(\"rate_limit_exceeded\", response);\n return [\"rate_limit_exceeded\", response];\n case 500:\n Sentry.captureException(response);\n return [\"server_error\", response];\n case 0:\n return [\"network_error\", response];\n default:\n if (response.data) {\n try {\n const validatedData = CreateSubscriptionsResponseSchema.parse(response.data);\n\n if (validatedData.errors.length > 0) {\n this.emit(\"newsletter_error\", response);\n return [\"newsletter_error\", response];\n }\n\n return [null, response];\n } catch (_validationError) {\n return [\"schema_validation_error\", response];\n }\n }\n\n return [\"error\", response];\n }\n }\n\n async listSubscriptions(auth: SubscriptionAuthOptions): Promise<ApiResponse<NewsletterSubscription[]>> {\n return this.client.get<NewsletterSubscription[]>(\"/api/sdk/v1/newsletters/newsletter_subscription\", this.buildAuthHeaders(auth));\n }\n\n async getSubscription(internalName: string, auth: SubscriptionAuthOptions): Promise<ApiResponse<NewsletterSubscription>> {\n return this.client.get<NewsletterSubscription>(\n `/api/sdk/v1/newsletters/${internalName}/newsletter_subscription`,\n this.buildAuthHeaders(auth),\n );\n }\n\n async updateSubscription(\n internalName: string,\n payload: UpdateSubscriptionPayload,\n auth: SubscriptionAuthOptions,\n ): Promise<ApiResponse<NewsletterSubscription>> {\n UpdateSubscriptionPayloadSchema.parse(payload);\n\n return this.client.patch<NewsletterSubscription>(\n `/api/sdk/v1/newsletters/${internalName}/newsletter_subscription`,\n payload,\n this.buildAuthHeaders(auth),\n );\n }\n\n async deleteSubscription(\n internalName: string,\n auth: SubscriptionAuthOptions,\n ): Promise<ApiResponse<{ new_preference_token: string } | null>> {\n return this.client.delete<{ new_preference_token: string } | null>(\n `/api/sdk/v1/newsletters/${internalName}/newsletter_subscription`,\n this.buildAuthHeaders(auth),\n );\n }\n\n async resendDoi(internalName: string, payload: ResendDoiPayload, auth: SubscriptionAuthOptions): Promise<ApiResponse<null>> {\n ResendDoiPayloadSchema.parse(payload);\n\n return this.client.post<null>(\n `/api/sdk/v1/newsletters/${internalName}/newsletter_subscription/resend_doi`,\n payload,\n this.buildAuthHeaders(auth),\n );\n }\n\n async sendLoginEmail(payload: LoginEmailPayload): Promise<ApiResponse<null>> {\n LoginEmailPayloadSchema.parse(payload);\n\n return this.client.post<null>(\"/api/sdk/v1/newsletters/newsletter_subscription/login_email\", payload);\n }\n\n async listNewsletters(): Promise<ApiResponse<NewslettersResponse>> {\n return this.client.get<NewslettersResponse>(\"/api/sdk/v1/newsletters\");\n }\n\n async getNewsletter(internalName: string): Promise<ApiResponse<Newsletter>> {\n return this.client.get<Newsletter>(`/api/sdk/v1/newsletters/${internalName}`);\n }\n\n onError(\n callback: (errors: z.infer<typeof NewsletterSubscriptionErrorSchema>[]) => void,\n errorIdentifier?: \"unconfirmed\" | \"already_subscribed\" | \"invalid_email\",\n ): void {\n this.on(\"newsletter_error\", (response: ApiResponse<CreateSubscriptionsResponse>) => {\n if (!response.data?.errors) {\n return;\n }\n\n const errors = errorIdentifier\n ? response.data.errors.filter((error: { error_identifier: string }) => error.error_identifier === errorIdentifier)\n : response.data.errors;\n\n if (errors.length > 0) {\n callback(errors);\n }\n });\n }\n\n onRateLimitError(callback: () => void): void {\n this.on(\"rate_limit_exceeded\", (response: ApiResponse<CreateSubscriptionsResponse>) => {\n if (response.status === 429) {\n callback();\n }\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 Sentry from \"@sentry/browser\";\nimport EventEmitter from \"eventemitter3\";\nimport * as z from \"zod/mini\";\nimport type { ApiClient, ApiResponse } from \"../../api\";\nimport { createLogger } from \"../../logger\";\n\nconst NewsletterSubscriptionSchema = z.object({\n id: z.number(),\n email: z.string(),\n newsletter_internal_name: z.string(),\n preference_identifiers: z.array(z.string()),\n preference_token: z.string(),\n confirmed_at: z.union([z.string(), z.null()]),\n});\n\nconst NewsletterSubscriptionErrorSchema = z.object({\n error_identifier: z.string(),\n error_details: z.optional(z.record(z.string(), z.array(z.string()))),\n meta: z.object({\n newsletter_internal_name: z.string(),\n }),\n});\n\nconst CreateSubscriptionsResponseSchema = z.object({\n results: z.array(NewsletterSubscriptionSchema),\n errors: z.array(NewsletterSubscriptionErrorSchema),\n});\n\nconst AdditionalFieldsSchema = z.object({\n first_name: z.optional(z.union([z.string(), z.null()])),\n last_name: z.optional(z.union([z.string(), z.null()])),\n salutation: z.optional(z.union([z.literal(\"mr\"), z.literal(\"mrs\"), z.literal(\"mx\"), z.null()])),\n phone_number: z.optional(z.union([z.string(), z.null()])),\n date_of_birth: z.optional(z.union([z.string(), z.null()])),\n company_name: z.optional(z.union([z.string(), z.null()])),\n address_line_1: z.optional(z.union([z.string(), z.null()])),\n address_line_2: z.optional(z.union([z.string(), z.null()])),\n city: z.optional(z.union([z.string(), z.null()])),\n postal_code: z.optional(z.union([z.string(), z.null()])),\n country_code: z.optional(z.union([z.string(), z.null()])),\n preferred_language: z.optional(z.union([z.string(), z.null()])),\n custom_attributes: z.optional(z.union([z.record(z.string(), z.unknown()), z.null()])),\n});\n\nconst CreateSubscriptionsPayloadSchema = z.object({\n email: z.string(),\n additional_fields: z.optional(AdditionalFieldsSchema),\n newsletter_subscriptions: z.array(\n z.object({\n newsletter_internal_name: z.string(),\n preference_identifiers: z.optional(z.array(z.string())),\n }),\n ),\n redirect_to_after_confirmation: z.optional(z.string()),\n});\n\nconst UpdateSubscriptionPayloadSchema = z.object({\n preference_identifiers: z.array(z.string()),\n});\n\nconst LoginEmailPayloadSchema = z.object({\n email: z.string(),\n redirect_uri: z.string(),\n});\n\nconst ResendDoiPayloadSchema = z.object({\n redirect_to_after_confirmation: z.optional(z.string()),\n});\n\nconst PreferenceSchema = z.object({\n id: z.number(),\n name: z.string(),\n description: z.union([z.string(), z.null()]),\n plugin_identifier: z.union([z.string(), z.null()]),\n position: z.number(),\n default: z.boolean(),\n hidden: z.boolean(),\n});\n\nconst PreferenceGroupSchema = z.object({\n id: z.number(),\n name: z.string(),\n position: z.number(),\n flat: z.boolean(),\n preferences: z.array(PreferenceSchema),\n});\n\nconst NewsletterSchema = z.object({\n id: z.number(),\n internal_name: z.string(),\n default: z.boolean(),\n position: z.number(),\n opt_in_type: z.string(),\n title: z.string(),\n description: z.union([z.string(), z.null()]),\n created_at: z.string(),\n updated_at: z.string(),\n preference_groups: z.array(PreferenceGroupSchema),\n});\n\nconst NewslettersResponseSchema = z.object({\n newsletters: z.array(NewsletterSchema),\n});\n\nexport type NewsletterSubscription = z.infer<typeof NewsletterSubscriptionSchema>;\nexport type NewsletterSubscriptionError = z.infer<typeof NewsletterSubscriptionErrorSchema>;\nexport type CreateSubscriptionsResponse = z.infer<typeof CreateSubscriptionsResponseSchema>;\nexport type CreateSubscriptionsPayload = z.infer<typeof CreateSubscriptionsPayloadSchema>;\nexport type AdditionalFields = z.infer<typeof AdditionalFieldsSchema>;\nexport type UpdateSubscriptionPayload = z.infer<typeof UpdateSubscriptionPayloadSchema>;\nexport type LoginEmailPayload = z.infer<typeof LoginEmailPayloadSchema>;\nexport type ResendDoiPayload = z.infer<typeof ResendDoiPayloadSchema>;\nexport type Newsletter = z.infer<typeof NewsletterSchema>;\nexport type NewslettersResponse = z.infer<typeof NewslettersResponseSchema>;\nexport type Preference = z.infer<typeof PreferenceSchema>;\nexport type PreferenceGroup = z.infer<typeof PreferenceGroupSchema>;\n\nexport type SubscriptionAuthOptions = {\n idToken?: string;\n preferenceToken?: string;\n};\n\nexport type CreateSubscriptionsResult =\n | [\"schema_validation_error\", ApiResponse<CreateSubscriptionsResponse>]\n | [\"rate_limit_exceeded\", ApiResponse<CreateSubscriptionsResponse>]\n | [\"unauthorized\", ApiResponse<CreateSubscriptionsResponse>]\n | [\"newsletter_error\", ApiResponse<CreateSubscriptionsResponse>]\n | [\"network_error\", ApiResponse<CreateSubscriptionsResponse>]\n | [\"server_error\", ApiResponse<CreateSubscriptionsResponse>]\n | [\"error\", ApiResponse<CreateSubscriptionsResponse>]\n | [null, ApiResponse<CreateSubscriptionsResponse>];\n\nexport class NewsletterService extends EventEmitter {\n private client: ApiClient;\n private logger = createLogger(\"NewsletterService\");\n\n constructor(client: ApiClient) {\n super();\n this.client = client;\n }\n\n private buildAuthHeaders(auth?: SubscriptionAuthOptions): HeadersInit | undefined {\n if (!auth) return undefined;\n\n const headers: Record<string, string> = {};\n if (auth.idToken) {\n headers[\"X-ID-Token\"] = auth.idToken;\n }\n if (auth.preferenceToken) {\n headers[\"X-Preference-Token\"] = auth.preferenceToken;\n }\n return Object.keys(headers).length > 0 ? headers : undefined;\n }\n\n async createSubscriptions(payload: CreateSubscriptionsPayload, auth?: SubscriptionAuthOptions): Promise<CreateSubscriptionsResult> {\n CreateSubscriptionsPayloadSchema.parse(payload);\n\n const response = await this.client.post<CreateSubscriptionsResponse>(\n \"/api/sdk/v1/newsletters/newsletter_subscription\",\n payload,\n this.buildAuthHeaders(auth),\n );\n\n switch (response.status) {\n case 401:\n this.emit(\"unauthorized\", response);\n return [\"unauthorized\", response];\n case 429:\n this.logger.warn(\"Rate limit exceeded\");\n this.emit(\"rate_limit_exceeded\", response);\n return [\"rate_limit_exceeded\", response];\n case 500:\n Sentry.captureException(response);\n return [\"server_error\", response];\n case 0:\n return [\"network_error\", response];\n default:\n if (response.data) {\n try {\n const validatedData = CreateSubscriptionsResponseSchema.parse(response.data);\n\n if (validatedData.errors.length > 0) {\n this.emit(\"newsletter_error\", response);\n return [\"newsletter_error\", response];\n }\n\n return [null, response];\n } catch (_validationError) {\n return [\"schema_validation_error\", response];\n }\n }\n\n return [\"error\", response];\n }\n }\n\n async listSubscriptions(auth: SubscriptionAuthOptions): Promise<ApiResponse<NewsletterSubscription[]>> {\n return this.client.get<NewsletterSubscription[]>(\"/api/sdk/v1/newsletters/newsletter_subscription\", this.buildAuthHeaders(auth));\n }\n\n async getSubscription(internalName: string, auth: SubscriptionAuthOptions): Promise<ApiResponse<NewsletterSubscription>> {\n return this.client.get<NewsletterSubscription>(\n `/api/sdk/v1/newsletters/${internalName}/newsletter_subscription`,\n this.buildAuthHeaders(auth),\n );\n }\n\n async updateSubscription(\n internalName: string,\n payload: UpdateSubscriptionPayload,\n auth: SubscriptionAuthOptions,\n ): Promise<ApiResponse<NewsletterSubscription>> {\n UpdateSubscriptionPayloadSchema.parse(payload);\n\n return this.client.patch<NewsletterSubscription>(\n `/api/sdk/v1/newsletters/${internalName}/newsletter_subscription`,\n payload,\n this.buildAuthHeaders(auth),\n );\n }\n\n async deleteSubscription(\n internalName: string,\n auth: SubscriptionAuthOptions,\n ): Promise<ApiResponse<{ new_preference_token: string } | null>> {\n return this.client.delete<{ new_preference_token: string } | null>(\n `/api/sdk/v1/newsletters/${internalName}/newsletter_subscription`,\n this.buildAuthHeaders(auth),\n );\n }\n\n async resendDoi(internalName: string, payload: ResendDoiPayload, auth: SubscriptionAuthOptions): Promise<ApiResponse<null>> {\n ResendDoiPayloadSchema.parse(payload);\n\n return this.client.post<null>(\n `/api/sdk/v1/newsletters/${internalName}/newsletter_subscription/resend_doi`,\n payload,\n this.buildAuthHeaders(auth),\n );\n }\n\n async sendLoginEmail(payload: LoginEmailPayload): Promise<ApiResponse<null>> {\n LoginEmailPayloadSchema.parse(payload);\n\n return this.client.post<null>(\"/api/sdk/v1/newsletters/newsletter_subscription/login_email\", payload);\n }\n\n async listNewsletters(): Promise<ApiResponse<NewslettersResponse>> {\n return this.client.get<NewslettersResponse>(\"/api/sdk/v1/newsletters\");\n }\n\n async getNewsletter(internalName: string): Promise<ApiResponse<Newsletter>> {\n return this.client.get<Newsletter>(`/api/sdk/v1/newsletters/${internalName}`);\n }\n\n onError(\n callback: (errors: z.infer<typeof NewsletterSubscriptionErrorSchema>[]) => void,\n errorIdentifier?: \"unconfirmed\" | \"already_subscribed\" | \"invalid_email\",\n ): void {\n this.on(\"newsletter_error\", (response: ApiResponse<CreateSubscriptionsResponse>) => {\n if (!response.data?.errors) {\n return;\n }\n\n const errors = errorIdentifier\n ? response.data.errors.filter((error: { error_identifier: string }) => error.error_identifier === errorIdentifier)\n : response.data.errors;\n\n if (errors.length > 0) {\n callback(errors);\n }\n });\n }\n\n onRateLimitError(callback: () => void): void {\n this.on(\"rate_limit_exceeded\", (response: ApiResponse<CreateSubscriptionsResponse>) => {\n if (response.status === 429) {\n callback();\n }\n });\n }\n}\n"]}
|
|
@@ -1,12 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { newsletterLogout } from "../../newsletter-helpers";
|
|
1
|
+
import { Host, h } from "@stencil/core";
|
|
3
2
|
import { t } from "../../../i18n";
|
|
3
|
+
import { hasSlotContent } from "../../../shared/component-utils";
|
|
4
4
|
import { Flash } from "../../../shared/store/flash-store";
|
|
5
|
+
import { newsletterLogout } from "../../newsletter-helpers";
|
|
5
6
|
import { newsletterStore } from "../../store/newsletter-store";
|
|
6
|
-
import { hasSlotContent } from "../../../shared/component-utils";
|
|
7
7
|
export class LogoutButton {
|
|
8
8
|
el;
|
|
9
9
|
componentClassName = "";
|
|
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);
|
|
15
|
+
}
|
|
10
16
|
handleLogout = () => {
|
|
11
17
|
newsletterLogout();
|
|
12
18
|
Flash.success.addMessage(t("newsletter.success.logout"));
|
|
@@ -15,8 +21,7 @@ export class LogoutButton {
|
|
|
15
21
|
if (newsletterStore.state.preferenceToken === "" || newsletterStore.state.isAuthenticated) {
|
|
16
22
|
return h(Host, { style: { display: "none" } });
|
|
17
23
|
}
|
|
18
|
-
|
|
19
|
-
return (h(Host, null, h("button", { type: "button", part: "button", class: this.componentClassName, onClick: this.handleLogout, "aria-label": "Logout", "aria-live": "polite" }, hasContent ? h("slot", null) : t("newsletter.buttons.logout"))));
|
|
24
|
+
return (h(Host, null, h("button", { type: "button", part: "button", class: this.componentClassName, onClick: this.handleLogout, "aria-label": "Logout", "aria-live": "polite" }, this.hasSlot ? h("slot", null) : t("newsletter.buttons.logout"))));
|
|
20
25
|
}
|
|
21
26
|
static get is() { return "u-newsletter-logout-button"; }
|
|
22
27
|
static get properties() {
|
|
@@ -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,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,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,YAAY;IACZ,EAAE,CAAe;IAEO,kBAAkB,GAAG,EAAE,CAAC;IAEnD,OAAO,GAAG,KAAK,CAAC;IAExB,KAAK,CAAC,iBAAiB;QACrB,gHAAgH;QAChH,iDAAiD;QACjD,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC;IAEO,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, Element, Host, h, Prop } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { hasSlotContent } from \"../../../shared/component-utils\";\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 LogoutButton {\n @Element() el!: HTMLElement;\n\n @Prop({ attribute: \"class-name\" }) componentClassName = \"\";\n\n private hasSlot = false;\n\n async componentWillLoad() {\n // this needs to be evaluated on load, bc doing it on render will evaluate the generated dom for \"shadow: false\"\n // components and always return true on re-render\n this.hasSlot = hasSlotContent(this.el);\n }\n\n private handleLogout = () => {\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"]}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
import * as NewsletterHelpers from "../../newsletter-helpers";
|
|
3
|
-
import { newsletterStore } from "../../store/newsletter-store";
|
|
4
|
-
import { storeDefaultPreference } from "../../store/newsletter-store";
|
|
3
|
+
import { newsletterStore, storeDefaultPreference } from "../../store/newsletter-store";
|
|
5
4
|
export class NewsletterPreferenceCheckbox {
|
|
6
5
|
internalName;
|
|
7
6
|
preferenceIdentifier;
|
|
@@ -98,7 +97,7 @@ export class NewsletterPreferenceCheckbox {
|
|
|
98
97
|
}
|
|
99
98
|
}
|
|
100
99
|
render() {
|
|
101
|
-
return (h("input", { key: '
|
|
100
|
+
return (h("input", { key: '06ccad6095f97e2da26a16852c791806728e2ec1', 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 }));
|
|
102
101
|
}
|
|
103
102
|
static get is() { return "u-newsletter-preference-checkbox"; }
|
|
104
103
|
static get properties() {
|
package/dist/collection/newsletter/components/preference-checkbox/preference-checkbox.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preference-checkbox.js","sourceRoot":"","sources":["../../../../src/newsletter/components/preference-checkbox/preference-checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAA6B,eAAe,EAAE,
|
|
1
|
+
{"version":3,"file":"preference-checkbox.js","sourceRoot":"","sources":["../../../../src/newsletter/components/preference-checkbox/preference-checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,KAAK,iBAAiB,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAA6B,eAAe,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAMlH,MAAM,OAAO,4BAA4B;IAC/B,YAAY,CAAU;IACtB,oBAAoB,CAAU;IAC9B,OAAO,GAAG,KAAK,CAAC;IACW,kBAAkB,CAAU;IAEtD,OAAO,GAAG,KAAK,CAAC;IAEhB,qBAAqB,GAA2B,EAAE,CAAC;IACnD,kBAAkB,GAAa,EAAE,CAAC;IAEnC,gBAAgB,CAAc;IAEtC,iBAAiB;QACf,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,sBAAsB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;IAC5B,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC,QAAQ,CAAC,uBAAuB,EAAE,CAAC,aAAa,EAAE,EAAE;YAC1F,IAAI,CAAC,qBAAqB,GAAG,aAAa,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,eAAe,CAAC,QAAQ,CAAC,oBAAoB,EAAE,CAAC,kBAAkB,EAAE,EAAE;YACpE,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QACxE,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,qBAAqB,GAAG,eAAe,CAAC,KAAK,CAAC,qBAAqB,CAAC;QACzE,IAAI,CAAC,kBAAkB,GAAG,eAAe,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IAC9F,CAAC;IAEO,sBAAsB;QAC5B,IAAI,iBAAiB,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACtD,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,wBAAwB,KAAK,IAAI,CAAC,YAAY,CAAC,CAAC;IACtG,CAAC;IAED,IAAY,YAAY;QACtB,OAAO,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC;IACzC,CAAC;IAED,IAAY,WAAW;QACrB,OAAO,IAAI,CAAC,YAAY,EAAE,SAAS,IAAI,KAAK,CAAC;IAC/C,CAAC;IAED,IAAY,UAAU;QACpB,OAAO,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAClE,CAAC;IAED,IAAY,SAAS;QACnB,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACrE,CAAC;IAEO,WAAW,CAAC,GAAY;QAC9B,MAAM,kBAAkB,GAAG,eAAe,CAAC,KAAK,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;QAE7F,IAAI,GAAG,EAAE,CAAC;YACR,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAC5D,eAAe,CAAC,GAAG,CAAC,oBAAoB,EAAE;oBACxC,GAAG,eAAe,CAAC,KAAK,CAAC,kBAAkB;oBAC3C,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,GAAG,kBAAkB,EAAE,IAAI,CAAC,oBAAoB,CAAC;iBACxE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,GAAG,CAAC,oBAAoB,EAAE;gBACxC,GAAG,eAAe,CAAC,KAAK,CAAC,kBAAkB;gBAC3C,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,oBAAoB,CAAC;aACvF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mBAAmB;QAC/B,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC1C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,MAAM,iBAAiB,CAAC,6BAA6B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAEO,YAAY,GAAG,KAAK,IAAI,EAAE;QAChC,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAE5B,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;IACnC,CAAC,CAAC;IAEF,4DAA4D;IAE5D,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IAC5B,CAAC;IAED,+DAA+D;IAE/D,KAAK,CAAC,UAAU,CAAC,OAAgB;QAC/B,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO;QAC5B,IAAI,OAAO,KAAK,IAAI,CAAC,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC1B,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED,MAAM;QACJ,OAAO,CACL,8DACE,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,IAAI,CAAC,SAAS,EACvB,QAAQ,EAAE,IAAI,CAAC,UAAU,EACzB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,KAAK,EAAE,IAAI,CAAC,kBAAkB,kBAChB,IAAI,CAAC,SAAS,eACjB,IAAI,CAAC,OAAO,mBACR,IAAI,CAAC,UAAU,wBACV,IAAI,CAAC,YAAY,gCACT,IAAI,CAAC,oBAAoB,GACrD,CACH,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, h, Method, Prop, State } from \"@stencil/core\";\nimport * as NewsletterHelpers from \"../../newsletter-helpers\";\nimport { type ExistingSubscription, newsletterStore, storeDefaultPreference } from \"../../store/newsletter-store\";\n\n@Component({\n tag: \"u-newsletter-preference-checkbox\",\n shadow: false,\n})\nexport class NewsletterPreferenceCheckbox {\n @Prop() internalName!: string;\n @Prop() preferenceIdentifier!: string;\n @Prop() checked = false;\n @Prop({ attribute: \"class-name\" }) componentClassName?: string;\n\n @State() loading = false;\n\n @State() existingSubscriptions: ExistingSubscription[] = [];\n @State() checkedPreferences: string[] = [];\n\n private storeUnsubscribe?: () => void;\n\n componentWillLoad() {\n this.subscribeToStore();\n this.initializeCheckedState();\n\n if (this.checked) {\n storeDefaultPreference(this.internalName, this.preferenceIdentifier);\n }\n }\n\n disconnectedCallback() {\n this.storeUnsubscribe?.();\n }\n\n private subscribeToStore() {\n this.storeUnsubscribe = newsletterStore.onChange(\"existingSubscriptions\", (subscriptions) => {\n this.existingSubscriptions = subscriptions;\n });\n\n newsletterStore.onChange(\"checkedNewsletters\", (checkedNewsletters) => {\n this.checkedPreferences = checkedNewsletters[this.internalName] || [];\n });\n\n this.existingSubscriptions = newsletterStore.state.existingSubscriptions;\n this.checkedPreferences = newsletterStore.state.checkedNewsletters[this.internalName] || [];\n }\n\n private initializeCheckedState() {\n if (NewsletterHelpers.isSubscribed(this.internalName)) {\n return;\n }\n\n if (this.checked) {\n this.syncToStore(true);\n }\n }\n\n private get subscription(): ExistingSubscription | undefined {\n return this.existingSubscriptions.find((sub) => sub.newsletter_internal_name === this.internalName);\n }\n\n private get isSubscribed(): boolean {\n return this.subscription !== undefined;\n }\n\n private get isConfirmed(): boolean {\n return this.subscription?.confirmed ?? false;\n }\n\n private get isDisabled(): boolean {\n return this.loading || (this.isSubscribed && !this.isConfirmed);\n }\n\n private get isChecked(): boolean {\n return this.checkedPreferences.includes(this.preferenceIdentifier);\n }\n\n private syncToStore(add: boolean) {\n const currentPreferences = newsletterStore.state.checkedNewsletters[this.internalName] || [];\n\n if (add) {\n if (!currentPreferences.includes(this.preferenceIdentifier)) {\n newsletterStore.set(\"checkedNewsletters\", {\n ...newsletterStore.state.checkedNewsletters,\n [this.internalName]: [...currentPreferences, this.preferenceIdentifier],\n });\n }\n } else {\n newsletterStore.set(\"checkedNewsletters\", {\n ...newsletterStore.state.checkedNewsletters,\n [this.internalName]: currentPreferences.filter((p) => p !== this.preferenceIdentifier),\n });\n }\n }\n\n private async persistIfSubscribed() {\n if (this.isSubscribed && this.isConfirmed) {\n this.loading = true;\n await NewsletterHelpers.updateSubscriptionPreferences(this.internalName);\n this.loading = false;\n }\n }\n\n private handleChange = async () => {\n if (this.isDisabled) return;\n\n this.syncToStore(!this.isChecked);\n await this.persistIfSubscribed();\n };\n\n /** Public method to toggle the checkbox programmatically */\n @Method()\n async toggle() {\n await this.handleChange();\n }\n\n /** Public method to set the checkbox state programmatically */\n @Method()\n async setChecked(checked: boolean) {\n if (this.isDisabled) return;\n if (checked !== this.isChecked) {\n this.syncToStore(checked);\n await this.persistIfSubscribed();\n }\n }\n\n render() {\n return (\n <input\n type=\"checkbox\"\n checked={this.isChecked}\n disabled={this.isDisabled}\n onChange={this.handleChange}\n class={this.componentClassName}\n aria-checked={this.isChecked}\n aria-busy={this.loading}\n aria-disabled={this.isDisabled}\n data-internal-name={this.internalName}\n data-preference-identifier={this.preferenceIdentifier}\n />\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.
|
|
1
|
+
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--u-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--u-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--u-default-font-family:var(--u-font-sans);--u-default-mono-font-family:var(--u-font-mono);--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{font-family:var(--u-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--u-default-font-feature-settings,normal);font-variation-settings:var(--u-default-font-variation-settings,normal);-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--u-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--u-default-mono-font-feature-settings,normal);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--u-default-mono-font-variation-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.u\:flex{display:flex}.u\:items-center{align-items:center}.u\:justify-center{justify-content:center}} /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer base{}@layer components;@layer utilities{.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.
|
|
1
|
+
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--u-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--u-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--u-default-font-family:var(--u-font-sans);--u-default-mono-font-family:var(--u-font-mono);--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{font-family:var(--u-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--u-default-font-feature-settings,normal);font-variation-settings:var(--u-default-font-variation-settings,normal);-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--u-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--u-default-mono-font-feature-settings,normal);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--u-default-mono-font-variation-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.u\:flex{display:flex}.u\:items-center{align-items:center}.u\:justify-center{justify-content:center}} /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer base{}@layer components;@layer utilities{.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.
|
|
1
|
+
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--u-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--u-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--u-default-font-family:var(--u-font-sans);--u-default-mono-font-family:var(--u-font-mono);--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{font-family:var(--u-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--u-default-font-feature-settings,normal);font-variation-settings:var(--u-default-font-variation-settings,normal);-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--u-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--u-default-mono-font-feature-settings,normal);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--u-default-mono-font-variation-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components,utilities; /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer base{}@layer components;@layer utilities{.u\:flex{display:flex}.u\:justify-end{justify-content:flex-end}} /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer base{}@layer components;@layer utilities{.block{display:block}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}:host{display:block}.field-error:focus{border-color:red;outline-color:red}.multi-select-readonly-container{list-style:none}.multi-select-readonly-container li{display:inline-block}[part=input]:disabled,[part=select]:disabled{cursor:not-allowed}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
|
|
@@ -36,7 +36,6 @@ export class Field {
|
|
|
36
36
|
? profileState.data.custom_attributes?.[this.field.replace("custom_attributes.", "")]
|
|
37
37
|
: profileState.data[this.field];
|
|
38
38
|
}
|
|
39
|
-
componentWillLoad() { }
|
|
40
39
|
componentDidRender() {
|
|
41
40
|
const fieldErrors = profileState.errors;
|
|
42
41
|
if (Object.keys(fieldErrors)[0] === this.field) {
|
|
@@ -69,9 +68,6 @@ export class Field {
|
|
|
69
68
|
return multiselectMatches;
|
|
70
69
|
};
|
|
71
70
|
render() {
|
|
72
|
-
if (profileState.loading) {
|
|
73
|
-
return h("u-spinner", null);
|
|
74
|
-
}
|
|
75
71
|
const fieldData = this.getFieldData();
|
|
76
72
|
if (!fieldData) {
|
|
77
73
|
return null;
|
|
@@ -99,7 +95,7 @@ export class Field {
|
|
|
99
95
|
const lockedText = fieldData?.locked_text ? fieldData.locked_text : "";
|
|
100
96
|
const isReadonly = fieldData?.readonly === true;
|
|
101
97
|
const multiSelectReadonlyLabels = this.multiSelectLabel(fieldData);
|
|
102
|
-
return (h("div", { part: `field-container field-container--${this.createSpecificPartKey(this.field)}` }, h("slot", { name: "label" }), this.renderDefaultLabel && (h("label", { htmlFor: this.field, part: `field_label field_label--${this.createSpecificPartKey(this.field)}` }, label, fieldData?.required || this.required ? h("span", { part: "required-indicator" }, " *") : null)), isReadonly && fieldData?.type !== "checkbox" ? (h("span", { id: this.field, part: "readonly-indicator" }, fieldData?.value || readonlyPlaceholder)) : null, isReadonly && fieldData?.type === "checkbox" && (h("ul", { id: this.field, class: "multi-select-readonly-container", part: "multi-select-readonly-container" }, multiSelectReadonlyLabels.map((label) => (h("li", { key: label, part: "multi-select-readonly-field" }, label))))), !isReadonly && (h("u-raw-field", { id: this.field, field: this.field, type: fieldData.type, value: fieldData.value, options: fieldData.type === "select" ? translatedOptions : undefined, radioOptions: fieldData.type === "radio" ? translatedRadioOptions : undefined, multiSelectOptions: fieldData.type === "checkbox" ? translatedOptions : undefined, required: fieldData.required || this.required, disabled: isLocked, tooltip: isLocked ? lockedText : undefined, placeholder: placeholder, componentClassName: this.componentClassName, emptyOption: this.emptyOption, countryCodeDisplayOption: this.countryCodeDisplayOption, attrName: fieldData.attr_name, specificPartKey: this.createSpecificPartKey(this.field), ariaDescribedBy: profileState.errors[this.field] ? `${this.field}-error` : undefined, pattern: this.pattern, patternErrorMessage: this.patternErrorMessage, validationFunc: this.validationFunc })), profileState.errors[this.field] && (h("span", { id: `${this.field}-error`, part: "field-error-message", "aria-live": "assertive" }, errorPrefix, " ", profileState.errors[this.field]))));
|
|
98
|
+
return (h("div", { part: `field-container field-container--${this.createSpecificPartKey(this.field)}` }, h("slot", { name: "label" }), this.renderDefaultLabel && (h("label", { htmlFor: this.field, part: `field_label field_label--${this.createSpecificPartKey(this.field)}` }, label, fieldData?.required || this.required ? h("span", { part: "required-indicator" }, " *") : null)), isReadonly && fieldData?.type !== "checkbox" ? (h("span", { id: this.field, part: "readonly-indicator" }, fieldData?.value || readonlyPlaceholder)) : null, isReadonly && fieldData?.type === "checkbox" && (h("ul", { id: this.field, class: "multi-select-readonly-container", part: "multi-select-readonly-container" }, multiSelectReadonlyLabels.map((label) => (h("li", { key: label, part: "multi-select-readonly-field" }, label))))), !isReadonly && (h("u-raw-field", { id: this.field, field: this.field, type: fieldData.type, value: fieldData.value, options: fieldData.type === "select" ? translatedOptions : undefined, radioOptions: fieldData.type === "radio" ? translatedRadioOptions : undefined, multiSelectOptions: fieldData.type === "checkbox" ? translatedOptions : undefined, required: fieldData.required || this.required, disabled: isLocked || profileState.loading, tooltip: isLocked ? lockedText : undefined, placeholder: placeholder, componentClassName: this.componentClassName, emptyOption: this.emptyOption, countryCodeDisplayOption: this.countryCodeDisplayOption, attrName: fieldData.attr_name, specificPartKey: this.createSpecificPartKey(this.field), ariaDescribedBy: profileState.errors[this.field] ? `${this.field}-error` : undefined, pattern: this.pattern, patternErrorMessage: this.patternErrorMessage, validationFunc: this.validationFunc })), profileState.errors[this.field] && (h("span", { id: `${this.field}-error`, part: "field-error-message", "aria-live": "assertive" }, errorPrefix, " ", profileState.errors[this.field]))));
|
|
103
99
|
}
|
|
104
100
|
static get is() { return "u-field"; }
|
|
105
101
|
static get encapsulation() { return "shadow"; }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../../src/profile/components/field/field.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Prop, State, h, Element } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { state as profileState } from \"../../store/profile-store\";\n/**\n * @part select_field - Styles the base <select> element.\n * @part select_field--example_field - Example of a field-specific selector.\n * Replace `example_field` with your field name.\n * e.g. `custom_attributes.favorite_nut` → `select_field--custom_attributes-favorite_nut`, `country_code` → `select_field--country-code`\n * @part radio-group-item_radio\n * @part radio-group_field\n * @part radio-group-item_label\n * @part radio_checked\n * @part multi-select-item_checkbox\n * @part multi-select-group_field\n * @part multi-select-item_label\n * @part textarea_field\n * @part input_field\n */\n\n@Component({\n tag: \"u-field\",\n styleUrl: \"field.css\",\n shadow: true,\n})\nexport class Field {\n @Prop() field!: string;\n @Prop() required = false;\n @Prop() readonlyPlaceholder = \"No information\";\n @Prop() countryCodeDisplayOption?: \"icon\" | \"label\" = \"label\";\n @Prop() invalidPhoneMessage = \"Please enter a valid phone number.\";\n @Prop({ attribute: \"class-name\" }) componentClassName?: string;\n @Prop() emptyOption = true;\n @Prop() placeholder?: string;\n @Prop() renderDefaultLabel = true;\n\n @Prop() pattern?: string;\n @Prop() patternErrorMessage?: string;\n @Prop() validationFunc?: (value: string | string[]) => { valid: boolean; message?: string };\n\n @Element() el!: HTMLElement;\n\n @State() selected?: string | string[];\n\n private getFieldData() {\n return this.field.startsWith(\"custom_attributes.\")\n ? profileState.data.custom_attributes?.[this.field.replace(\"custom_attributes.\", \"\")]\n : profileState.data[this.field];\n }\n\n componentWillLoad() {}\n\n componentDidRender() {\n const fieldErrors = profileState.errors;\n\n if (Object.keys(fieldErrors)[0] === this.field) {\n this.el.shadowRoot?.getElementById(this.field)?.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n this.el.shadowRoot\n ?.getElementById(this.field)\n ?.querySelector<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>(\"input, select, textarea\")\n ?.focus();\n }\n }\n\n private createSpecificPartKey(fieldName: string) {\n if (fieldName.startsWith(\"custom_attributes.\")) {\n return fieldName.replace(/[^\\w-]/g, \"-\");\n }\n return fieldName;\n }\n\n // biome-ignore lint/suspicious/noExplicitAny: needed for dynamic fieldData\n private multiSelectLabel = (fieldData: any): string[] => {\n const multiselectMatches: string[] = [];\n if (Array.isArray(fieldData.value)) {\n for (const val of fieldData.value) {\n // biome-ignore lint/suspicious/noExplicitAny: needed for dynamic option\n const match = fieldData.options?.find((opt: any) => opt.value === val);\n const optionTranslationKey = `fields.${this.field}.options.${val}`;\n const translatedOptionLabel = t(optionTranslationKey);\n const optionLabel = translatedOptionLabel !== optionTranslationKey ? translatedOptionLabel : match?.label;\n multiselectMatches.push(optionLabel ?? val);\n }\n }\n return multiselectMatches;\n };\n\n render() {\n if (profileState.loading) {\n return <u-spinner />;\n }\n\n const fieldData = this.getFieldData();\n if (!fieldData) {\n return null;\n }\n\n const labelTranslationKey = `fields.${this.field}.label`;\n const label = t(labelTranslationKey, { defaultValue: fieldData?.label });\n\n const placeholderTranslationKey = `fields.${this.field}.placeholder`;\n const placeholder = t(placeholderTranslationKey, { defaultValue: this.placeholder ? this.placeholder : \"\" });\n\n const readonlyPlaceholderTranslationKey = `fields.${this.field}.readonlyPlaceholder`;\n const readonlyPlaceholder = t(readonlyPlaceholderTranslationKey, {\n defaultValue: this.readonlyPlaceholder ? this.readonlyPlaceholder : \"\",\n });\n\n const translatedOptions = (fieldData.options || []).map((opt) => {\n const translationKey = `fields.${this.field}.options.${opt.value}`;\n const label = t(translationKey, { defaultValue: opt.label });\n return { ...opt, label };\n });\n\n const translatedRadioOptions = (fieldData.radio_options || []).map((opt) => {\n const translationKey = `fields.${this.field}.options.${opt.value}`;\n const label = t(translationKey, { defaultValue: opt.label });\n return { ...opt, label };\n });\n\n const errorPrefix = t(\"errors.prefix\", { defaultValue: \"ERROR: \" });\n\n const isLocked = !!fieldData?.locked;\n const lockedText = fieldData?.locked_text ? fieldData.locked_text : \"\";\n const isReadonly = fieldData?.readonly === true;\n const multiSelectReadonlyLabels = this.multiSelectLabel(fieldData);\n\n return (\n <div part={`field-container field-container--${this.createSpecificPartKey(this.field)}`}>\n <slot name=\"label\" />\n\n {this.renderDefaultLabel && (\n <label htmlFor={this.field} part={`field_label field_label--${this.createSpecificPartKey(this.field)}`}>\n {label}\n {fieldData?.required || this.required ? <span part=\"required-indicator\"> *</span> : null}\n </label>\n )}\n {isReadonly && fieldData?.type !== \"checkbox\" ? (\n <span id={this.field} part=\"readonly-indicator\">\n {fieldData?.value || readonlyPlaceholder}\n </span>\n ) : null}\n {isReadonly && fieldData?.type === \"checkbox\" && (\n <ul id={this.field} class=\"multi-select-readonly-container\" part=\"multi-select-readonly-container\">\n {multiSelectReadonlyLabels.map((label) => (\n <li key={label} part=\"multi-select-readonly-field\">\n {label}\n </li>\n ))}\n </ul>\n )}\n {!isReadonly && (\n <u-raw-field\n id={this.field}\n field={this.field}\n type={fieldData.type as string}\n value={fieldData.value}\n options={fieldData.type === \"select\" ? translatedOptions : undefined}\n radioOptions={fieldData.type === \"radio\" ? translatedRadioOptions : undefined}\n multiSelectOptions={fieldData.type === \"checkbox\" ? translatedOptions : undefined}\n required={fieldData.required || this.required}\n disabled={isLocked}\n tooltip={isLocked ? lockedText : undefined}\n placeholder={placeholder}\n componentClassName={this.componentClassName}\n emptyOption={this.emptyOption}\n countryCodeDisplayOption={this.countryCodeDisplayOption}\n attrName={fieldData.attr_name}\n specificPartKey={this.createSpecificPartKey(this.field)}\n ariaDescribedBy={profileState.errors[this.field] ? `${this.field}-error` : undefined}\n pattern={this.pattern}\n patternErrorMessage={this.patternErrorMessage}\n validationFunc={this.validationFunc}\n />\n )}\n\n {profileState.errors[this.field] && (\n <span id={`${this.field}-error`} part=\"field-error-message\" aria-live=\"assertive\">\n {errorPrefix} {profileState.errors[this.field]}\n </span>\n )}\n </div>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"field.js","sourceRoot":"","sources":["../../../../src/profile/components/field/field.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, h, Prop, State } from \"@stencil/core\";\nimport { t } from \"../../../i18n\";\nimport { state as profileState } from \"../../store/profile-store\";\n/**\n * @part select_field - Styles the base <select> element.\n * @part select_field--example_field - Example of a field-specific selector.\n * Replace `example_field` with your field name.\n * e.g. `custom_attributes.favorite_nut` → `select_field--custom_attributes-favorite_nut`, `country_code` → `select_field--country-code`\n * @part radio-group-item_radio\n * @part radio-group_field\n * @part radio-group-item_label\n * @part radio_checked\n * @part multi-select-item_checkbox\n * @part multi-select-group_field\n * @part multi-select-item_label\n * @part textarea_field\n * @part input_field\n */\n\n@Component({\n tag: \"u-field\",\n styleUrl: \"field.css\",\n shadow: true,\n})\nexport class Field {\n @Prop() field!: string;\n @Prop() required = false;\n @Prop() readonlyPlaceholder = \"No information\";\n @Prop() countryCodeDisplayOption?: \"icon\" | \"label\" = \"label\";\n @Prop() invalidPhoneMessage = \"Please enter a valid phone number.\";\n @Prop({ attribute: \"class-name\" }) componentClassName?: string;\n @Prop() emptyOption = true;\n @Prop() placeholder?: string;\n @Prop() renderDefaultLabel = true;\n\n @Prop() pattern?: string;\n @Prop() patternErrorMessage?: string;\n @Prop() validationFunc?: (value: string | string[]) => { valid: boolean; message?: string };\n\n @Element() el!: HTMLElement;\n\n @State() selected?: string | string[];\n\n private getFieldData() {\n return this.field.startsWith(\"custom_attributes.\")\n ? profileState.data.custom_attributes?.[this.field.replace(\"custom_attributes.\", \"\")]\n : profileState.data[this.field];\n }\n\n componentDidRender() {\n const fieldErrors = profileState.errors;\n\n if (Object.keys(fieldErrors)[0] === this.field) {\n this.el.shadowRoot?.getElementById(this.field)?.scrollIntoView({ behavior: \"smooth\", block: \"center\" });\n this.el.shadowRoot\n ?.getElementById(this.field)\n ?.querySelector<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement>(\"input, select, textarea\")\n ?.focus();\n }\n }\n\n private createSpecificPartKey(fieldName: string) {\n if (fieldName.startsWith(\"custom_attributes.\")) {\n return fieldName.replace(/[^\\w-]/g, \"-\");\n }\n return fieldName;\n }\n\n // biome-ignore lint/suspicious/noExplicitAny: needed for dynamic fieldData\n private multiSelectLabel = (fieldData: any): string[] => {\n const multiselectMatches: string[] = [];\n if (Array.isArray(fieldData.value)) {\n for (const val of fieldData.value) {\n // biome-ignore lint/suspicious/noExplicitAny: needed for dynamic option\n const match = fieldData.options?.find((opt: any) => opt.value === val);\n const optionTranslationKey = `fields.${this.field}.options.${val}`;\n const translatedOptionLabel = t(optionTranslationKey);\n const optionLabel = translatedOptionLabel !== optionTranslationKey ? translatedOptionLabel : match?.label;\n multiselectMatches.push(optionLabel ?? val);\n }\n }\n return multiselectMatches;\n };\n\n render() {\n const fieldData = this.getFieldData();\n if (!fieldData) {\n return null;\n }\n\n const labelTranslationKey = `fields.${this.field}.label`;\n const label = t(labelTranslationKey, { defaultValue: fieldData?.label });\n\n const placeholderTranslationKey = `fields.${this.field}.placeholder`;\n const placeholder = t(placeholderTranslationKey, { defaultValue: this.placeholder ? this.placeholder : \"\" });\n\n const readonlyPlaceholderTranslationKey = `fields.${this.field}.readonlyPlaceholder`;\n const readonlyPlaceholder = t(readonlyPlaceholderTranslationKey, {\n defaultValue: this.readonlyPlaceholder ? this.readonlyPlaceholder : \"\",\n });\n\n const translatedOptions = (fieldData.options || []).map((opt) => {\n const translationKey = `fields.${this.field}.options.${opt.value}`;\n const label = t(translationKey, { defaultValue: opt.label });\n return { ...opt, label };\n });\n\n const translatedRadioOptions = (fieldData.radio_options || []).map((opt) => {\n const translationKey = `fields.${this.field}.options.${opt.value}`;\n const label = t(translationKey, { defaultValue: opt.label });\n return { ...opt, label };\n });\n\n const errorPrefix = t(\"errors.prefix\", { defaultValue: \"ERROR: \" });\n\n const isLocked = !!fieldData?.locked;\n const lockedText = fieldData?.locked_text ? fieldData.locked_text : \"\";\n const isReadonly = fieldData?.readonly === true;\n const multiSelectReadonlyLabels = this.multiSelectLabel(fieldData);\n\n return (\n <div part={`field-container field-container--${this.createSpecificPartKey(this.field)}`}>\n <slot name=\"label\" />\n\n {this.renderDefaultLabel && (\n <label htmlFor={this.field} part={`field_label field_label--${this.createSpecificPartKey(this.field)}`}>\n {label}\n {fieldData?.required || this.required ? <span part=\"required-indicator\"> *</span> : null}\n </label>\n )}\n {isReadonly && fieldData?.type !== \"checkbox\" ? (\n <span id={this.field} part=\"readonly-indicator\">\n {fieldData?.value || readonlyPlaceholder}\n </span>\n ) : null}\n {isReadonly && fieldData?.type === \"checkbox\" && (\n <ul id={this.field} class=\"multi-select-readonly-container\" part=\"multi-select-readonly-container\">\n {multiSelectReadonlyLabels.map((label) => (\n <li key={label} part=\"multi-select-readonly-field\">\n {label}\n </li>\n ))}\n </ul>\n )}\n {!isReadonly && (\n <u-raw-field\n id={this.field}\n field={this.field}\n type={fieldData.type as string}\n value={fieldData.value}\n options={fieldData.type === \"select\" ? translatedOptions : undefined}\n radioOptions={fieldData.type === \"radio\" ? translatedRadioOptions : undefined}\n multiSelectOptions={fieldData.type === \"checkbox\" ? translatedOptions : undefined}\n required={fieldData.required || this.required}\n disabled={isLocked || profileState.loading}\n tooltip={isLocked ? lockedText : undefined}\n placeholder={placeholder}\n componentClassName={this.componentClassName}\n emptyOption={this.emptyOption}\n countryCodeDisplayOption={this.countryCodeDisplayOption}\n attrName={fieldData.attr_name}\n specificPartKey={this.createSpecificPartKey(this.field)}\n ariaDescribedBy={profileState.errors[this.field] ? `${this.field}-error` : undefined}\n pattern={this.pattern}\n patternErrorMessage={this.patternErrorMessage}\n validationFunc={this.validationFunc}\n />\n )}\n\n {profileState.errors[this.field] && (\n <span id={`${this.field}-error`} part=\"field-error-message\" aria-live=\"assertive\">\n {errorPrefix} {profileState.errors[this.field]}\n </span>\n )}\n </div>\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
/*! tailwindcss v4.1.
|
|
1
|
+
/*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--u-font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--u-font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--u-default-font-family:var(--u-font-sans);--u-default-mono-font-family:var(--u-font-mono);--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{border:0 solid;box-sizing:border-box;margin:0;padding:0}::file-selector-button{appearance:button;background-color:#0000;border:0 solid;border-radius:0;box-sizing:border-box;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;margin:0;margin-inline-end:4px;opacity:1;padding:0}:host,html{font-family:var(--u-default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--u-default-font-feature-settings,normal);font-variation-settings:var(--u-default-font-variation-settings,normal);-webkit-text-size-adjust:100%;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);line-height:1.5;tab-size:4;-webkit-tap-highlight-color:transparent}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--u-default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--u-default-mono-font-feature-settings,normal);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-size:1em;font-variation-settings:var(--u-default-mono-font-variation-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal)}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}button,input,optgroup,select,textarea{background-color:#0000;border-radius:0;color:inherit;font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex;padding-block:0}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.u\:flex{display:flex}.u\:justify-end{justify-content:flex-end}} /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer base{}@layer components,utilities; /*! tailwindcss v4.1.18 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer base{}@layer components;@layer utilities{.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
|
-
import {
|
|
3
|
-
import { Textarea } from "../raw-input-fields/Textarea";
|
|
4
|
-
import { Input } from "../raw-input-fields/Input";
|
|
2
|
+
import { UnidyComponent } from "../../../logger";
|
|
5
3
|
import { state as profileState } from "../../store/profile-store";
|
|
6
|
-
import {
|
|
4
|
+
import { Input } from "../raw-input-fields/Input";
|
|
7
5
|
import { MultiSelect } from "../raw-input-fields/MultiSelect";
|
|
8
|
-
import {
|
|
6
|
+
import { RadioGroup } from "../raw-input-fields/RadioGroup";
|
|
7
|
+
import { Select } from "../raw-input-fields/Select";
|
|
8
|
+
import { Textarea } from "../raw-input-fields/Textarea";
|
|
9
9
|
export class RawField extends UnidyComponent {
|
|
10
10
|
constructor() {
|
|
11
11
|
super();
|