@unidy.io/sdk 1.2.0-alpha9 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/_commonjsHelpers-CFO10eej.js +10 -0
- package/dist/cjs/_commonjsHelpers-CFO10eej.js.map +1 -0
- package/dist/cjs/app-globals-C-Wl5lPS.js +10 -0
- package/dist/cjs/app-globals-C-Wl5lPS.js.map +1 -0
- package/dist/cjs/{auth-store-DPmGKHZ2.js → auth-store-0vv3uOib.js} +4 -4
- package/dist/cjs/{auth-store-DPmGKHZ2.js.map → auth-store-0vv3uOib.js.map} +1 -1
- package/dist/cjs/component-DLxnZCW6.js +34 -0
- package/dist/cjs/component-DLxnZCW6.js.map +1 -0
- package/dist/cjs/component-utils-XXctnOM9.js +38 -0
- package/dist/cjs/component-utils-XXctnOM9.js.map +1 -0
- package/dist/cjs/de-BWF6Glzg.js +704 -0
- package/dist/cjs/de-BWF6Glzg.js.map +1 -0
- package/dist/cjs/en-GB-DhD5mdQw.js +119 -0
- package/dist/cjs/en-GB-DhD5mdQw.js.map +1 -0
- package/dist/cjs/{flash-store-gbSYhPAV.js → flash-store-CR6Umh1O.js} +3 -3
- package/dist/cjs/{flash-store-gbSYhPAV.js.map → flash-store-CR6Umh1O.js.map} +1 -1
- package/dist/cjs/fr-j2wwoj-A.js +577 -0
- package/dist/cjs/fr-j2wwoj-A.js.map +1 -0
- package/dist/cjs/has-slot-content-CfJbU4t-.js +37 -0
- package/dist/cjs/has-slot-content-CfJbU4t-.js.map +1 -0
- package/dist/cjs/{i18n-D5j_Zl-4.js → i18n-ClWrNmGh.js} +100 -4
- package/dist/cjs/{i18n-D5j_Zl-4.js.map → i18n-ClWrNmGh.js.map} +1 -1
- package/dist/cjs/{index-B325yXfO.js → index-2Fz3r5o0.js} +5 -41
- package/dist/cjs/index-2Fz3r5o0.js.map +1 -0
- package/dist/cjs/{index-yaeiYlfa.js → index-C6ZBKFYr.js} +3 -3
- package/dist/cjs/{index-yaeiYlfa.js.map → index-C6ZBKFYr.js.map} +1 -1
- package/dist/cjs/{index-BzPYBLYC.js → index-CpPKy1CZ.js} +1170 -1087
- package/dist/cjs/index-CpPKy1CZ.js.map +1 -0
- package/dist/cjs/index.cjs.js +24 -11
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +3 -3
- package/dist/cjs/{newsletter-helpers-hdDC5X-V.js → newsletter-helpers-BHvOI8M4.js} +46 -9
- package/dist/cjs/newsletter-helpers-BHvOI8M4.js.map +1 -0
- package/dist/cjs/{newsletter-store-CupsLgO9.js → newsletter-store-22Jswiqe.js} +5 -3
- package/dist/cjs/newsletter-store-22Jswiqe.js.map +1 -0
- package/dist/cjs/nl-BE-yKvOp1-G.js +542 -0
- package/dist/cjs/nl-BE-yKvOp1-G.js.map +1 -0
- package/dist/cjs/{profile-helpers-Bprrm-Xl.js → profile-helpers-BBpAqHjK.js} +4 -4
- package/dist/cjs/{profile-helpers-Bprrm-Xl.js.map → profile-helpers-BBpAqHjK.js.map} +1 -1
- package/dist/cjs/{profile-store-C_q-TuA_.js → profile-store-CQEQhPQD.js} +4 -4
- package/dist/cjs/{profile-store-C_q-TuA_.js.map → profile-store-CQEQhPQD.js.map} +1 -1
- package/dist/cjs/redirect-with-token-wupYX97S.js +37 -0
- package/dist/cjs/redirect-with-token-wupYX97S.js.map +1 -0
- package/dist/cjs/ro-CXq9d1lv.js +578 -0
- package/dist/cjs/ro-CXq9d1lv.js.map +1 -0
- package/dist/cjs/sdk.cjs.js +3 -3
- package/dist/cjs/sv-CMln4V33.js +597 -0
- package/dist/cjs/sv-CMln4V33.js.map +1 -0
- package/dist/cjs/u-conditional-render.cjs.entry.js +14 -14
- package/dist/cjs/u-conditional-render.entry.cjs.js.map +1 -1
- package/dist/cjs/u-config.cjs.entry.js +24 -11
- package/dist/cjs/u-config.entry.cjs.js.map +1 -1
- package/dist/cjs/u-email-field.cjs.entry.js +7 -7
- package/dist/cjs/u-error-message.cjs.entry.js +49 -22
- package/dist/cjs/u-error-message.entry.cjs.js.map +1 -1
- package/dist/cjs/u-field.u-raw-field.entry.cjs.js.map +1 -1
- package/dist/cjs/u-field_2.cjs.entry.js +124 -12
- package/dist/cjs/u-flash-message.cjs.entry.js +3 -3
- package/dist/cjs/u-full-profile.cjs.entry.js +6 -6
- package/dist/cjs/u-jump-to-service.cjs.entry.js +23 -44
- package/dist/cjs/u-jump-to-service.entry.cjs.js.map +1 -1
- package/dist/cjs/u-jump-to-unidy.cjs.entry.js +22 -43
- package/dist/cjs/u-jump-to-unidy.entry.cjs.js.map +1 -1
- package/dist/cjs/u-logout-button.u-signed-in.entry.cjs.js.map +1 -1
- package/dist/cjs/u-logout-button_2.cjs.entry.js +15 -22
- package/dist/cjs/u-magic-code-field.cjs.entry.js +8 -9
- package/dist/cjs/u-magic-code-field.entry.cjs.js.map +1 -1
- package/dist/cjs/u-missing-field.cjs.entry.js +6 -5
- package/dist/cjs/u-missing-field.entry.cjs.js.map +1 -1
- package/dist/cjs/u-missing-fields-submit-button.cjs.entry.js +16 -14
- package/dist/cjs/u-missing-fields-submit-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-checkbox.cjs.entry.js +11 -12
- package/dist/cjs/u-newsletter-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-consent-checkbox.cjs.entry.js +4 -4
- package/dist/cjs/u-newsletter-logout-button.cjs.entry.js +15 -20
- package/dist/cjs/u-newsletter-logout-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-preference-checkbox.cjs.entry.js +11 -12
- package/dist/cjs/u-newsletter-preference-checkbox.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-resend-doi-button.cjs.entry.js +10 -11
- package/dist/cjs/u-newsletter-resend-doi-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-root.cjs.entry.js +45 -22
- package/dist/cjs/u-newsletter-root.entry.cjs.js.map +1 -1
- package/dist/cjs/u-newsletter-toggle-subscription-button.cjs.entry.js +11 -12
- package/dist/cjs/u-newsletter-toggle-subscription-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-pagination-button.cjs.entry.js +4 -4
- package/dist/cjs/u-pagination-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-pagination-page.cjs.entry.js +4 -4
- package/dist/cjs/u-pagination-page.entry.cjs.js.map +1 -1
- package/dist/cjs/u-passkey.cjs.entry.js +8 -9
- package/dist/cjs/u-passkey.entry.cjs.js.map +1 -1
- package/dist/cjs/u-password-field.cjs.entry.js +5 -5
- package/dist/cjs/u-profile.u-submit-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-profile_2.cjs.entry.js +31 -33
- package/dist/cjs/u-registration-button.cjs.entry.js +5 -5
- package/dist/cjs/u-reset-password-button.cjs.entry.js +12 -15
- package/dist/cjs/u-reset-password-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-send-magic-code-button.cjs.entry.js +8 -9
- package/dist/cjs/u-send-magic-code-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-signin-root.cjs.entry.js +6 -8
- package/dist/cjs/u-signin-root.entry.cjs.js.map +1 -1
- package/dist/cjs/u-signin-step.cjs.entry.js +17 -21
- package/dist/cjs/u-signin-step.entry.cjs.js.map +1 -1
- package/dist/cjs/u-social-login-button.cjs.entry.js +16 -15
- package/dist/cjs/u-social-login-button.entry.cjs.js.map +1 -1
- package/dist/cjs/u-spinner.cjs.entry.js +3 -3
- package/dist/cjs/u-spinner.entry.cjs.js.map +1 -1
- package/dist/cjs/u-ticketable-export.cjs.entry.js +76 -0
- package/dist/cjs/u-ticketable-export.entry.cjs.js.map +1 -0
- package/dist/cjs/u-ticketable-list-D3M8iA-g.js +3991 -0
- package/dist/cjs/u-ticketable-list-D3M8iA-g.js.map +1 -0
- package/dist/cjs/u-ticketable-list.cjs.entry.js +11 -6118
- package/dist/cjs/u-ticketable-list.entry.cjs.js.map +1 -1
- package/dist/cjs/{unidy-store-BGnWn9pc.js → unidy-store-Bvnl24i9.js} +3 -3
- package/dist/cjs/{unidy-store-BGnWn9pc.js.map → unidy-store-Bvnl24i9.js.map} +1 -1
- package/dist/collection/api/base-service.js.map +1 -1
- package/dist/collection/api/client.js.map +1 -1
- package/dist/collection/api/index.js +6 -6
- package/dist/collection/api/index.js.map +1 -1
- package/dist/collection/api/standalone.js +88 -39
- package/dist/collection/api/standalone.js.map +1 -1
- package/dist/collection/auth/api/auth.js.map +1 -1
- package/dist/collection/auth/api/schemas.js +5 -5
- package/dist/collection/auth/api/schemas.js.map +1 -1
- package/dist/collection/auth/auth-helpers.js +7 -8
- package/dist/collection/auth/auth-helpers.js.map +1 -1
- package/dist/collection/auth/auth.js +1 -0
- package/dist/collection/auth/auth.js.map +1 -1
- package/dist/collection/auth/components/jump-to-service/jump-to-service.js +20 -40
- package/dist/collection/auth/components/jump-to-service/jump-to-service.js.map +1 -1
- package/dist/collection/auth/components/jump-to-unidy/jump-to-unidy.js +20 -39
- package/dist/collection/auth/components/jump-to-unidy/jump-to-unidy.js.map +1 -1
- package/dist/collection/auth/components/logout-button/logout-button.js +7 -11
- package/dist/collection/auth/components/logout-button/logout-button.js.map +1 -1
- package/dist/collection/auth/components/missing-field/missing-field.js +25 -1
- package/dist/collection/auth/components/missing-field/missing-field.js.map +1 -1
- package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js +33 -7
- package/dist/collection/auth/components/missing-fields-submit-button/missing-fields-submit-button.js.map +1 -1
- package/dist/collection/auth/components/password-field/password-field.js +1 -1
- package/dist/collection/auth/components/reset-pass-button/reset-pass-button.js +6 -8
- package/dist/collection/auth/components/reset-pass-button/reset-pass-button.js.map +1 -1
- package/dist/collection/auth/components/signed-in/signed-in.js +2 -5
- package/dist/collection/auth/components/signed-in/signed-in.js.map +1 -1
- package/dist/collection/auth/components/signin-root/signin-root.js +2 -5
- package/dist/collection/auth/components/signin-root/signin-root.js.map +1 -1
- package/dist/collection/auth/components/signin-step/signin-step.js +9 -13
- package/dist/collection/auth/components/signin-step/signin-step.js.map +1 -1
- package/dist/collection/auth/components/social-logins/social-login-button.css +1 -1
- package/dist/collection/auth/components/social-logins/social-login-button.js +11 -12
- package/dist/collection/auth/components/social-logins/social-login-button.js.map +1 -1
- package/dist/collection/auth/components/submit-button/auth-submit-button.js +10 -0
- package/dist/collection/auth/components/submit-button/auth-submit-button.js.map +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/locales/de.json +16 -0
- package/dist/collection/locales/en.json +16 -0
- package/dist/collection/locales/fr.json +16 -0
- package/dist/collection/locales/it.json +16 -0
- package/dist/collection/locales/nl_be.json +16 -0
- package/dist/collection/locales/ro.json +16 -0
- package/dist/collection/logger.js +0 -37
- package/dist/collection/logger.js.map +1 -1
- package/dist/collection/newsletter/api/newsletters.js +19 -18
- package/dist/collection/newsletter/api/newsletters.js.map +1 -1
- package/dist/collection/newsletter/components/consent-checkbox/consent-checkbox.js +1 -1
- package/dist/collection/newsletter/components/logout-button/logout-button.js +6 -10
- package/dist/collection/newsletter/components/logout-button/logout-button.js.map +1 -1
- package/dist/collection/newsletter/components/newsletter-checkbox/newsletter-checkbox.js +1 -1
- package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js +65 -10
- package/dist/collection/newsletter/components/newsletter-root/newsletter-root.js.map +1 -1
- package/dist/collection/newsletter/components/preference-checkbox/preference-checkbox.js +1 -1
- package/dist/collection/newsletter/components/toggle-subscription-button/toggle-subscription-button.js +1 -1
- package/dist/collection/newsletter/newsletter-helpers.js +39 -2
- package/dist/collection/newsletter/newsletter-helpers.js.map +1 -1
- package/dist/collection/newsletter/store/newsletter-store.js +2 -0
- package/dist/collection/newsletter/store/newsletter-store.js.map +1 -1
- package/dist/collection/profile/api/profile.js.map +1 -1
- package/dist/collection/profile/api/schemas.js +1 -1
- package/dist/collection/profile/api/schemas.js.map +1 -1
- package/dist/collection/profile/components/field/field.js +3 -1
- package/dist/collection/profile/components/field/field.js.map +1 -1
- package/dist/collection/profile/components/full-profile/full-profile.js +1 -1
- package/dist/collection/profile/components/raw-field/raw-field.js +40 -7
- package/dist/collection/profile/components/raw-field/raw-field.js.map +1 -1
- package/dist/collection/profile/store/profile-store.js +1 -1
- package/dist/collection/profile/store/profile-store.js.map +1 -1
- package/dist/collection/shared/base/component.js +28 -0
- package/dist/collection/shared/base/component.js.map +1 -0
- package/dist/collection/shared/base/has-slot-content.js +31 -0
- package/dist/collection/shared/base/has-slot-content.js.map +1 -0
- package/dist/collection/shared/component-utils.js +23 -27
- package/dist/collection/shared/component-utils.js.map +1 -1
- package/dist/collection/shared/components/conditional-render/conditional-render.js +4 -5
- package/dist/collection/shared/components/conditional-render/conditional-render.js.map +1 -1
- package/dist/collection/shared/components/config/config.js +18 -5
- package/dist/collection/shared/components/config/config.js.map +1 -1
- package/dist/collection/shared/components/email-field/email-field.js +1 -1
- package/dist/collection/shared/components/error-message/error-message.css +1 -1
- package/dist/collection/shared/components/error-message/error-message.js +44 -17
- package/dist/collection/shared/components/error-message/error-message.js.map +1 -1
- package/dist/collection/shared/components/spinner/spinner.css +1 -1
- package/dist/collection/shared/components/spinner/spinner.js +1 -1
- package/dist/collection/shared/components/submit-button/submit-button.css +1 -1
- package/dist/collection/shared/components/submit-button/submit-button.js +12 -23
- package/dist/collection/shared/components/submit-button/submit-button.js.map +1 -1
- package/dist/collection/shared/context-utils.js +96 -0
- package/dist/collection/shared/context-utils.js.map +1 -0
- package/dist/collection/shared/utils/redirect-with-token.js +30 -0
- package/dist/collection/shared/utils/redirect-with-token.js.map +1 -0
- package/dist/collection/shared/utils/url-utils.js +25 -0
- package/dist/collection/shared/utils/url-utils.js.map +1 -0
- package/dist/collection/ticketable/api/schemas.js +10 -2
- package/dist/collection/ticketable/api/schemas.js.map +1 -1
- package/dist/collection/ticketable/api/subscriptions.js +22 -1
- package/dist/collection/ticketable/api/subscriptions.js.map +1 -1
- package/dist/collection/ticketable/api/tickets.js +22 -1
- package/dist/collection/ticketable/api/tickets.js.map +1 -1
- package/dist/collection/ticketable/components/pagination/pagination-button.js +3 -5
- package/dist/collection/ticketable/components/pagination/pagination-button.js.map +1 -1
- package/dist/collection/ticketable/components/pagination/pagination-page.js +3 -5
- package/dist/collection/ticketable/components/pagination/pagination-page.js.map +1 -1
- package/dist/collection/ticketable/components/ticketable-export/ticketable-export.js +175 -0
- package/dist/collection/ticketable/components/ticketable-export/ticketable-export.js.map +1 -0
- package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js +163 -25
- package/dist/collection/ticketable/components/ticketable-list/ticketable-list.js.map +1 -1
- package/dist/collection/ticketable/index.js +1 -0
- package/dist/collection/ticketable/index.js.map +1 -1
- package/dist/components/_commonjsHelpers.js +8 -0
- package/dist/components/_commonjsHelpers.js.map +1 -0
- package/dist/components/component-utils.js +25 -28
- package/dist/components/component-utils.js.map +1 -1
- package/dist/components/component.js +33 -0
- package/dist/components/component.js.map +1 -0
- package/dist/components/de.js +702 -0
- package/dist/components/de.js.map +1 -0
- package/dist/components/en-GB.js +117 -0
- package/dist/components/en-GB.js.map +1 -0
- package/dist/components/field.js +3 -1
- package/dist/components/field.js.map +1 -1
- package/dist/components/fr.js +575 -0
- package/dist/components/fr.js.map +1 -0
- package/dist/components/has-slot-content.js +35 -0
- package/dist/components/has-slot-content.js.map +1 -0
- package/dist/components/i18n.js +96 -0
- package/dist/components/i18n.js.map +1 -1
- package/dist/components/index.js +11 -3
- package/dist/components/index.js.map +1 -1
- package/dist/components/index2.js +1158 -1083
- package/dist/components/index2.js.map +1 -1
- package/dist/components/logger.js +1 -39
- package/dist/components/logger.js.map +1 -1
- package/dist/components/newsletter-helpers.js +39 -2
- package/dist/components/newsletter-helpers.js.map +1 -1
- package/dist/components/newsletter-store.js +2 -0
- package/dist/components/newsletter-store.js.map +1 -1
- package/dist/components/nl-BE.js +540 -0
- package/dist/components/nl-BE.js.map +1 -0
- package/dist/components/profile-store.js +1 -1
- package/dist/components/profile-store.js.map +1 -1
- package/dist/components/raw-field.js +116 -7
- package/dist/components/raw-field.js.map +1 -1
- package/dist/components/redirect-with-token.js +35 -0
- package/dist/components/redirect-with-token.js.map +1 -0
- package/dist/components/ro.js +576 -0
- package/dist/components/ro.js.map +1 -0
- package/dist/components/spinner.js +2 -2
- package/dist/components/spinner.js.map +1 -1
- package/dist/components/submit-button.js +21 -24
- package/dist/components/submit-button.js.map +1 -1
- package/dist/components/sv.js +595 -0
- package/dist/components/sv.js.map +1 -0
- package/dist/components/u-conditional-render.js +5 -6
- package/dist/components/u-conditional-render.js.map +1 -1
- package/dist/components/u-config.js +16 -3
- package/dist/components/u-config.js.map +1 -1
- package/dist/components/u-email-field.js +1 -1
- package/dist/components/u-error-message.js +44 -19
- package/dist/components/u-error-message.js.map +1 -1
- package/dist/components/u-full-profile.js +1 -1
- package/dist/components/u-jump-to-service.js +16 -38
- package/dist/components/u-jump-to-service.js.map +1 -1
- package/dist/components/u-jump-to-unidy.js +16 -37
- package/dist/components/u-jump-to-unidy.js.map +1 -1
- package/dist/components/u-logout-button.js +5 -11
- package/dist/components/u-logout-button.js.map +1 -1
- package/dist/components/u-missing-field.js +5 -2
- package/dist/components/u-missing-field.js.map +1 -1
- package/dist/components/u-missing-fields-submit-button.js +10 -8
- package/dist/components/u-missing-fields-submit-button.js.map +1 -1
- package/dist/components/u-newsletter-checkbox.js +1 -1
- package/dist/components/u-newsletter-consent-checkbox.js +1 -1
- package/dist/components/u-newsletter-logout-button.js +6 -12
- package/dist/components/u-newsletter-logout-button.js.map +1 -1
- package/dist/components/u-newsletter-preference-checkbox.js +1 -1
- package/dist/components/u-newsletter-root.js +35 -12
- package/dist/components/u-newsletter-root.js.map +1 -1
- package/dist/components/u-newsletter-toggle-subscription-button.js +1 -1
- package/dist/components/u-pagination-button.js +3 -4
- package/dist/components/u-pagination-button.js.map +1 -1
- package/dist/components/u-pagination-page.js +3 -4
- package/dist/components/u-pagination-page.js.map +1 -1
- package/dist/components/u-reset-password-button.js +4 -8
- package/dist/components/u-reset-password-button.js.map +1 -1
- package/dist/components/u-signed-in.js +3 -6
- package/dist/components/u-signed-in.js.map +1 -1
- package/dist/components/u-signin-root.js +3 -6
- package/dist/components/u-signin-root.js.map +1 -1
- package/dist/components/u-signin-step.js +10 -14
- package/dist/components/u-signin-step.js.map +1 -1
- package/dist/components/u-social-login-button.js +13 -14
- package/dist/components/u-social-login-button.js.map +1 -1
- package/dist/components/u-ticketable-export.d.ts +11 -0
- package/dist/components/u-ticketable-export.js +93 -0
- package/dist/components/u-ticketable-export.js.map +1 -0
- package/dist/components/u-ticketable-list.js +256 -2396
- package/dist/components/u-ticketable-list.js.map +1 -1
- package/dist/esm/_commonjsHelpers-B85MJLTf.js +8 -0
- package/dist/esm/_commonjsHelpers-B85MJLTf.js.map +1 -0
- package/dist/esm/app-globals-J743qnJf.js +8 -0
- package/dist/esm/app-globals-J743qnJf.js.map +1 -0
- package/dist/esm/{auth-store-DBlGNGhq.js → auth-store-CSpEdi46.js} +4 -4
- package/dist/esm/{auth-store-DBlGNGhq.js.map → auth-store-CSpEdi46.js.map} +1 -1
- package/dist/esm/component-qfegGRWr.js +32 -0
- package/dist/esm/component-qfegGRWr.js.map +1 -0
- package/dist/esm/component-utils-WEof9bTg.js +36 -0
- package/dist/esm/component-utils-WEof9bTg.js.map +1 -0
- package/dist/esm/de-C6AnCqsA.js +702 -0
- package/dist/esm/de-C6AnCqsA.js.map +1 -0
- package/dist/esm/en-GB-DO63WPxt.js +117 -0
- package/dist/esm/en-GB-DO63WPxt.js.map +1 -0
- package/dist/esm/{flash-store-Df2YkLTB.js → flash-store-Dn1Bava8.js} +3 -3
- package/dist/esm/{flash-store-Df2YkLTB.js.map → flash-store-Dn1Bava8.js.map} +1 -1
- package/dist/esm/fr-C0oU6-EJ.js +575 -0
- package/dist/esm/fr-C0oU6-EJ.js.map +1 -0
- package/dist/esm/has-slot-content-DSMkJu9G.js +35 -0
- package/dist/esm/has-slot-content-DSMkJu9G.js.map +1 -0
- package/dist/esm/{i18n-Da7S9Oqf.js → i18n-ioyZxWsT.js} +100 -4
- package/dist/esm/{i18n-Da7S9Oqf.js.map → i18n-ioyZxWsT.js.map} +1 -1
- package/dist/esm/{index-FTKB5a1d.js → index-BsJDptgj.js} +4 -40
- package/dist/esm/index-BsJDptgj.js.map +1 -0
- package/dist/esm/{index-BnAYOYR5.js → index-C8kmD3tu.js} +3 -3
- package/dist/esm/{index-BnAYOYR5.js.map → index-C8kmD3tu.js.map} +1 -1
- package/dist/esm/{index-BVlbCQEX.js → index-kgGjfc-n.js} +1163 -1088
- package/dist/esm/index-kgGjfc-n.js.map +1 -0
- package/dist/esm/index.js +18 -12
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +4 -4
- package/dist/esm/{newsletter-helpers-fCpxzovf.js → newsletter-helpers-DoKGN_Kq.js} +46 -9
- package/dist/esm/newsletter-helpers-DoKGN_Kq.js.map +1 -0
- package/dist/esm/{newsletter-store-BB618FgS.js → newsletter-store-DpR85vaC.js} +5 -3
- package/dist/esm/newsletter-store-DpR85vaC.js.map +1 -0
- package/dist/esm/nl-BE-C8uPYb_H.js +540 -0
- package/dist/esm/nl-BE-C8uPYb_H.js.map +1 -0
- package/dist/esm/{profile-helpers-CXK2X6Ts.js → profile-helpers-BMJy0ei_.js} +4 -4
- package/dist/esm/{profile-helpers-CXK2X6Ts.js.map → profile-helpers-BMJy0ei_.js.map} +1 -1
- package/dist/esm/{profile-store-CHlSKuTY.js → profile-store-7wBS3gBH.js} +4 -4
- package/dist/esm/{profile-store-CHlSKuTY.js.map → profile-store-7wBS3gBH.js.map} +1 -1
- package/dist/esm/redirect-with-token-StCLJlSp.js +35 -0
- package/dist/esm/redirect-with-token-StCLJlSp.js.map +1 -0
- package/dist/esm/ro-BlDHz7d-.js +576 -0
- package/dist/esm/ro-BlDHz7d-.js.map +1 -0
- package/dist/esm/sdk.js +4 -4
- package/dist/esm/sv-B_Gq29K0.js +595 -0
- package/dist/esm/sv-B_Gq29K0.js.map +1 -0
- package/dist/esm/u-conditional-render.entry.js +14 -14
- package/dist/esm/u-conditional-render.entry.js.map +1 -1
- package/dist/esm/u-config.entry.js +24 -11
- package/dist/esm/u-config.entry.js.map +1 -1
- package/dist/esm/u-email-field.entry.js +7 -7
- package/dist/esm/u-error-message.entry.js +49 -22
- package/dist/esm/u-error-message.entry.js.map +1 -1
- package/dist/esm/u-field.u-raw-field.entry.js.map +1 -1
- package/dist/esm/u-field_2.entry.js +124 -12
- package/dist/esm/u-flash-message.entry.js +3 -3
- package/dist/esm/u-full-profile.entry.js +6 -6
- package/dist/esm/u-jump-to-service.entry.js +23 -44
- package/dist/esm/u-jump-to-service.entry.js.map +1 -1
- package/dist/esm/u-jump-to-unidy.entry.js +22 -43
- package/dist/esm/u-jump-to-unidy.entry.js.map +1 -1
- package/dist/esm/u-logout-button.u-signed-in.entry.js.map +1 -1
- package/dist/esm/u-logout-button_2.entry.js +15 -22
- package/dist/esm/u-magic-code-field.entry.js +8 -9
- package/dist/esm/u-magic-code-field.entry.js.map +1 -1
- package/dist/esm/u-missing-field.entry.js +6 -5
- package/dist/esm/u-missing-field.entry.js.map +1 -1
- package/dist/esm/u-missing-fields-submit-button.entry.js +16 -14
- package/dist/esm/u-missing-fields-submit-button.entry.js.map +1 -1
- package/dist/esm/u-newsletter-checkbox.entry.js +11 -12
- package/dist/esm/u-newsletter-checkbox.entry.js.map +1 -1
- package/dist/esm/u-newsletter-consent-checkbox.entry.js +4 -4
- package/dist/esm/u-newsletter-logout-button.entry.js +15 -20
- package/dist/esm/u-newsletter-logout-button.entry.js.map +1 -1
- package/dist/esm/u-newsletter-preference-checkbox.entry.js +11 -12
- package/dist/esm/u-newsletter-preference-checkbox.entry.js.map +1 -1
- package/dist/esm/u-newsletter-resend-doi-button.entry.js +10 -11
- package/dist/esm/u-newsletter-resend-doi-button.entry.js.map +1 -1
- package/dist/esm/u-newsletter-root.entry.js +42 -19
- package/dist/esm/u-newsletter-root.entry.js.map +1 -1
- package/dist/esm/u-newsletter-toggle-subscription-button.entry.js +11 -12
- package/dist/esm/u-newsletter-toggle-subscription-button.entry.js.map +1 -1
- package/dist/esm/u-pagination-button.entry.js +4 -4
- package/dist/esm/u-pagination-button.entry.js.map +1 -1
- package/dist/esm/u-pagination-page.entry.js +4 -4
- package/dist/esm/u-pagination-page.entry.js.map +1 -1
- package/dist/esm/u-passkey.entry.js +8 -9
- package/dist/esm/u-passkey.entry.js.map +1 -1
- package/dist/esm/u-password-field.entry.js +5 -5
- package/dist/esm/u-profile.u-submit-button.entry.js.map +1 -1
- package/dist/esm/u-profile_2.entry.js +31 -33
- package/dist/esm/u-registration-button.entry.js +5 -5
- package/dist/esm/u-reset-password-button.entry.js +12 -15
- package/dist/esm/u-reset-password-button.entry.js.map +1 -1
- package/dist/esm/u-send-magic-code-button.entry.js +8 -9
- package/dist/esm/u-send-magic-code-button.entry.js.map +1 -1
- package/dist/esm/u-signin-root.entry.js +6 -8
- package/dist/esm/u-signin-root.entry.js.map +1 -1
- package/dist/esm/u-signin-step.entry.js +17 -21
- package/dist/esm/u-signin-step.entry.js.map +1 -1
- package/dist/esm/u-social-login-button.entry.js +16 -15
- package/dist/esm/u-social-login-button.entry.js.map +1 -1
- package/dist/esm/u-spinner.entry.js +3 -3
- package/dist/esm/u-spinner.entry.js.map +1 -1
- package/dist/esm/u-ticketable-export.entry.js +74 -0
- package/dist/esm/u-ticketable-export.entry.js.map +1 -0
- package/dist/esm/u-ticketable-list-D2p21JjR.js +3981 -0
- package/dist/esm/u-ticketable-list-D2p21JjR.js.map +1 -0
- package/dist/esm/u-ticketable-list.entry.js +10 -6121
- package/dist/esm/u-ticketable-list.entry.js.map +1 -1
- package/dist/esm/{unidy-store-Bg7IaIMd.js → unidy-store-B5Bf4Vit.js} +3 -3
- package/dist/esm/{unidy-store-Bg7IaIMd.js.map → unidy-store-B5Bf4Vit.js.map} +1 -1
- package/dist/sdk/index.esm.js +1 -1
- package/dist/sdk/index.esm.js.map +1 -1
- package/dist/sdk/locales/de.json +16 -0
- package/dist/sdk/locales/en.json +16 -0
- package/dist/sdk/locales/fr.json +16 -0
- package/dist/sdk/locales/it.json +16 -0
- package/dist/sdk/locales/nl_be.json +16 -0
- package/dist/sdk/locales/ro.json +16 -0
- package/dist/sdk/p-02dce5da.entry.js +2 -0
- package/dist/sdk/p-02dce5da.entry.js.map +1 -0
- package/dist/sdk/p-043c7643.entry.js +2 -0
- package/dist/sdk/p-043c7643.entry.js.map +1 -0
- package/dist/sdk/p-18c17747.entry.js +2 -0
- package/dist/sdk/p-18c17747.entry.js.map +1 -0
- package/dist/sdk/p-1a1c1af0.entry.js +2 -0
- package/dist/sdk/p-1a1c1af0.entry.js.map +1 -0
- package/dist/sdk/p-271781c7.entry.js +2 -0
- package/dist/sdk/{p-1a8973a6.entry.js.map → p-271781c7.entry.js.map} +1 -1
- package/dist/sdk/p-29473a55.entry.js +2 -0
- package/dist/sdk/p-29473a55.entry.js.map +1 -0
- package/dist/sdk/p-2a25d62e.entry.js +2 -0
- package/dist/sdk/p-2a25d62e.entry.js.map +1 -0
- package/dist/sdk/{p-C8lRzJEX.js → p-2bKltz_F.js} +2 -2
- package/dist/sdk/{p-C8lRzJEX.js.map → p-2bKltz_F.js.map} +1 -1
- package/dist/sdk/p-2cc3a00d.entry.js +2 -0
- package/dist/sdk/p-2cc3a00d.entry.js.map +1 -0
- package/dist/sdk/p-2f49e0cb.entry.js +2 -0
- package/dist/sdk/p-2f49e0cb.entry.js.map +1 -0
- package/dist/sdk/p-34f5d201.entry.js +2 -0
- package/dist/sdk/p-34f5d201.entry.js.map +1 -0
- package/dist/sdk/p-52c4bdd9.entry.js +2 -0
- package/dist/sdk/p-52c4bdd9.entry.js.map +1 -0
- package/dist/sdk/p-585a0efa.entry.js +2 -0
- package/dist/sdk/p-585a0efa.entry.js.map +1 -0
- package/dist/sdk/p-60675019.entry.js +2 -0
- package/dist/sdk/p-60675019.entry.js.map +1 -0
- package/dist/sdk/p-79ef9a70.entry.js +2 -0
- package/dist/sdk/p-79ef9a70.entry.js.map +1 -0
- package/dist/sdk/p-7d88e21c.entry.js +2 -0
- package/dist/sdk/p-7d88e21c.entry.js.map +1 -0
- package/dist/sdk/p-7eaf3468.entry.js +2 -0
- package/dist/sdk/p-7eaf3468.entry.js.map +1 -0
- package/dist/sdk/{p-88beb872.entry.js → p-8412762c.entry.js} +2 -2
- package/dist/sdk/p-8ea70c08.entry.js +2 -0
- package/dist/sdk/p-8ea70c08.entry.js.map +1 -0
- package/dist/sdk/p-946cdb0a.entry.js +2 -0
- package/dist/sdk/p-946cdb0a.entry.js.map +1 -0
- package/dist/sdk/p-94bb0217.entry.js +2 -0
- package/dist/sdk/p-94bb0217.entry.js.map +1 -0
- package/dist/sdk/{p-bcca06f1.entry.js → p-96860b09.entry.js} +2 -2
- package/dist/sdk/p-B1A6Nu24.js +2 -0
- package/dist/sdk/p-B1A6Nu24.js.map +1 -0
- package/dist/sdk/p-B85MJLTf.js +2 -0
- package/dist/sdk/p-B85MJLTf.js.map +1 -0
- package/dist/sdk/p-B8N6Bwsa.js +2 -0
- package/dist/sdk/{p-DCG3L43i.js.map → p-B8N6Bwsa.js.map} +1 -1
- package/dist/sdk/p-Ba5szISo.js +2 -0
- package/dist/sdk/p-Ba5szISo.js.map +1 -0
- package/dist/sdk/p-BsJDptgj.js +14 -0
- package/dist/sdk/p-BsJDptgj.js.map +1 -0
- package/dist/sdk/{p-bpXpOZY_.js → p-C0Mo15qt.js} +2 -2
- package/dist/sdk/{p-bpXpOZY_.js.map → p-C0Mo15qt.js.map} +1 -1
- package/dist/sdk/p-C10MAuCE.js +2 -0
- package/dist/sdk/p-C10MAuCE.js.map +1 -0
- package/dist/sdk/p-CTy6pQSg.js +2 -0
- package/dist/sdk/p-CTy6pQSg.js.map +1 -0
- package/dist/sdk/p-CW6kGAuQ.js +2 -0
- package/dist/sdk/p-CW6kGAuQ.js.map +1 -0
- package/dist/sdk/{p-DdMKVWx8.js → p-CbSP8My1.js} +2 -2
- package/dist/sdk/{p-DdMKVWx8.js.map → p-CbSP8My1.js.map} +1 -1
- package/dist/sdk/p-CbzzI4uW.js +2 -0
- package/dist/sdk/p-CbzzI4uW.js.map +1 -0
- package/dist/sdk/p-CgT6fZjb.js +2 -0
- package/dist/sdk/p-CgT6fZjb.js.map +1 -0
- package/dist/sdk/p-CuHZ3IkE.js +2 -0
- package/dist/sdk/p-CuHZ3IkE.js.map +1 -0
- package/dist/sdk/p-Cysk_vik.js +2 -0
- package/dist/sdk/p-Cysk_vik.js.map +1 -0
- package/dist/sdk/p-D0ut3waq.js +2 -0
- package/dist/sdk/p-D0ut3waq.js.map +1 -0
- package/dist/sdk/{p-BigbTrKk.js → p-D2Rf-QGm.js} +2 -2
- package/dist/sdk/{p-BigbTrKk.js.map → p-D2Rf-QGm.js.map} +1 -1
- package/dist/sdk/{p-6rqGeAfT.js → p-D9yFO_ID.js} +2 -2
- package/dist/sdk/{p-6rqGeAfT.js.map → p-D9yFO_ID.js.map} +1 -1
- package/dist/sdk/p-DD_5soRi.js +2 -0
- package/dist/sdk/p-DD_5soRi.js.map +1 -0
- package/dist/sdk/p-DHuvvagO.js +2 -0
- package/dist/sdk/p-DHuvvagO.js.map +1 -0
- package/dist/sdk/p-DSMkJu9G.js +2 -0
- package/dist/sdk/p-DSMkJu9G.js.map +1 -0
- package/dist/sdk/p-DcirMfca.js +2 -0
- package/dist/sdk/p-DcirMfca.js.map +1 -0
- package/dist/sdk/p-J0cv5IOA.js +2 -0
- package/dist/sdk/p-J0cv5IOA.js.map +1 -0
- package/dist/sdk/p-_5evboqW.js +2 -0
- package/dist/sdk/{p-DSktNM_k.js.map → p-_5evboqW.js.map} +1 -1
- package/dist/sdk/{p-7ee2f2ab.entry.js → p-ac3a6bbf.entry.js} +2 -2
- package/dist/sdk/p-b498bcdd.entry.js +2 -0
- package/dist/sdk/p-b498bcdd.entry.js.map +1 -0
- package/dist/sdk/p-b5dd5b4c.entry.js +2 -0
- package/dist/sdk/p-b5dd5b4c.entry.js.map +1 -0
- package/dist/sdk/{p-6b061b18.entry.js → p-b99588a8.entry.js} +2 -2
- package/dist/sdk/p-bf9c27a8.entry.js +2 -0
- package/dist/sdk/p-bf9c27a8.entry.js.map +1 -0
- package/dist/sdk/p-c10d9b8e.entry.js +2 -0
- package/dist/sdk/p-c10d9b8e.entry.js.map +1 -0
- package/dist/sdk/{p-10e20afd.entry.js → p-c2634439.entry.js} +2 -2
- package/dist/sdk/p-d6777395.entry.js +2 -0
- package/dist/sdk/p-d6777395.entry.js.map +1 -0
- package/dist/sdk/p-dbfe7b29.entry.js +2 -0
- package/dist/sdk/p-dbfe7b29.entry.js.map +1 -0
- package/dist/sdk/p-def4e874.entry.js +2 -0
- package/dist/sdk/p-def4e874.entry.js.map +1 -0
- package/dist/sdk/p-e872a012.entry.js +2 -0
- package/dist/sdk/p-e872a012.entry.js.map +1 -0
- package/dist/sdk/p-eaaf3989.entry.js +2 -0
- package/dist/sdk/p-eaaf3989.entry.js.map +1 -0
- package/dist/sdk/p-fd46b459.entry.js +2 -0
- package/dist/sdk/{p-830778eb.entry.js.map → p-fd46b459.entry.js.map} +1 -1
- package/dist/sdk/sdk.esm.js +1 -1
- package/dist/sdk/u-conditional-render.entry.esm.js.map +1 -1
- package/dist/sdk/u-config.entry.esm.js.map +1 -1
- package/dist/sdk/u-error-message.entry.esm.js.map +1 -1
- package/dist/sdk/u-field.u-raw-field.entry.esm.js.map +1 -1
- package/dist/sdk/u-jump-to-service.entry.esm.js.map +1 -1
- package/dist/sdk/u-jump-to-unidy.entry.esm.js.map +1 -1
- package/dist/sdk/u-logout-button.u-signed-in.entry.esm.js.map +1 -1
- package/dist/sdk/u-magic-code-field.entry.esm.js.map +1 -1
- package/dist/sdk/u-missing-field.entry.esm.js.map +1 -1
- package/dist/sdk/u-missing-fields-submit-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-checkbox.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-logout-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-preference-checkbox.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-resend-doi-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-root.entry.esm.js.map +1 -1
- package/dist/sdk/u-newsletter-toggle-subscription-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-pagination-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-pagination-page.entry.esm.js.map +1 -1
- package/dist/sdk/u-passkey.entry.esm.js.map +1 -1
- package/dist/sdk/u-profile.u-submit-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-reset-password-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-send-magic-code-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-signin-root.entry.esm.js.map +1 -1
- package/dist/sdk/u-signin-step.entry.esm.js.map +1 -1
- package/dist/sdk/u-social-login-button.entry.esm.js.map +1 -1
- package/dist/sdk/u-spinner.entry.esm.js.map +1 -1
- package/dist/sdk/u-ticketable-export.entry.esm.js.map +1 -0
- package/dist/sdk/u-ticketable-list.entry.esm.js.map +1 -1
- package/dist/types/api/client.d.ts +1 -1
- package/dist/types/api/index.d.ts +4 -4
- package/dist/types/api/standalone.d.ts +9 -9
- package/dist/types/auth/api/auth.d.ts +2 -3
- package/dist/types/auth/api/schemas.d.ts +19 -19
- package/dist/types/auth/auth-helpers.d.ts +1 -0
- package/dist/types/auth/components/jump-to-service/jump-to-service.d.ts +13 -5
- package/dist/types/auth/components/jump-to-unidy/jump-to-unidy.d.ts +13 -9
- package/dist/types/auth/components/logout-button/logout-button.d.ts +13 -4
- package/dist/types/auth/components/missing-field/missing-field.d.ts +1 -0
- package/dist/types/auth/components/missing-fields-submit-button/missing-fields-submit-button.d.ts +14 -2
- package/dist/types/auth/components/reset-pass-button/reset-pass-button.d.ts +13 -4
- package/dist/types/auth/components/social-logins/social-login-button.d.ts +11 -7
- package/dist/types/components.d.ts +73 -0
- package/dist/types/logger.d.ts +0 -34
- package/dist/types/newsletter/components/logout-button/logout-button.d.ts +13 -4
- package/dist/types/newsletter/components/newsletter-root/newsletter-root.d.ts +16 -2
- package/dist/types/newsletter/newsletter-helpers.d.ts +8 -2
- package/dist/types/newsletter/store/newsletter-store.d.ts +8 -1
- package/dist/types/profile/api/profile.d.ts +2 -2
- package/dist/types/profile/api/schemas.d.ts +21 -21
- package/dist/types/profile/components/raw-field/raw-field.d.ts +14 -2
- package/dist/types/shared/base/component.d.ts +46 -0
- package/dist/types/shared/base/has-slot-content.d.ts +10 -0
- package/dist/types/shared/component-utils.d.ts +20 -12
- package/dist/types/shared/components/conditional-render/conditional-render.d.ts +7 -2
- package/dist/types/shared/components/config/config.d.ts +7 -2
- package/dist/types/shared/components/error-message/error-message.d.ts +14 -2
- package/dist/types/shared/components/submit-button/submit-button.d.ts +13 -4
- package/dist/types/shared/context-utils.d.ts +73 -0
- package/dist/types/shared/utils/redirect-with-token.d.ts +21 -0
- package/dist/types/shared/utils/url-utils.d.ts +16 -0
- package/dist/types/ticketable/api/schemas.d.ts +16 -2
- package/dist/types/ticketable/api/subscriptions.d.ts +8 -3
- package/dist/types/ticketable/api/tickets.d.ts +8 -3
- package/dist/types/ticketable/components/pagination/pagination-button.d.ts +8 -4
- package/dist/types/ticketable/components/pagination/pagination-page.d.ts +8 -4
- package/dist/types/ticketable/components/ticketable-export/ticketable-export.d.ts +24 -0
- package/dist/types/ticketable/components/ticketable-list/ticketable-list.d.ts +10 -4
- package/dist/types/ticketable/index.d.ts +1 -0
- package/package.json +6 -2
- package/readme.md +248 -27
- package/dist/cjs/app-globals-hdkLqF51.js +0 -10
- package/dist/cjs/app-globals-hdkLqF51.js.map +0 -1
- package/dist/cjs/component-utils-bu3SY4dE.js +0 -42
- package/dist/cjs/component-utils-bu3SY4dE.js.map +0 -1
- package/dist/cjs/index-B325yXfO.js.map +0 -1
- package/dist/cjs/index-BzPYBLYC.js.map +0 -1
- package/dist/cjs/newsletter-helpers-hdDC5X-V.js.map +0 -1
- package/dist/cjs/newsletter-store-CupsLgO9.js.map +0 -1
- package/dist/cjs/pagination-store-zo48QpTm.js +0 -16
- package/dist/cjs/pagination-store-zo48QpTm.js.map +0 -1
- package/dist/components/pagination-store.js +0 -14
- package/dist/components/pagination-store.js.map +0 -1
- package/dist/esm/app-globals-iHhGdwBB.js +0 -8
- package/dist/esm/app-globals-iHhGdwBB.js.map +0 -1
- package/dist/esm/component-utils-BGq0leDV.js +0 -39
- package/dist/esm/component-utils-BGq0leDV.js.map +0 -1
- package/dist/esm/index-BVlbCQEX.js.map +0 -1
- package/dist/esm/index-FTKB5a1d.js.map +0 -1
- package/dist/esm/newsletter-helpers-fCpxzovf.js.map +0 -1
- package/dist/esm/newsletter-store-BB618FgS.js.map +0 -1
- package/dist/esm/pagination-store-DxmcQH8R.js +0 -14
- package/dist/esm/pagination-store-DxmcQH8R.js.map +0 -1
- package/dist/sdk/p-1a8973a6.entry.js +0 -2
- package/dist/sdk/p-35ad60ab.entry.js +0 -2
- package/dist/sdk/p-35ad60ab.entry.js.map +0 -1
- package/dist/sdk/p-3f352f38.entry.js +0 -2
- package/dist/sdk/p-3f352f38.entry.js.map +0 -1
- package/dist/sdk/p-468aaf62.entry.js +0 -2
- package/dist/sdk/p-468aaf62.entry.js.map +0 -1
- package/dist/sdk/p-4e2e6a13.entry.js +0 -2
- package/dist/sdk/p-4e2e6a13.entry.js.map +0 -1
- package/dist/sdk/p-57c8dc68.entry.js +0 -2
- package/dist/sdk/p-57c8dc68.entry.js.map +0 -1
- package/dist/sdk/p-594aec0c.entry.js +0 -2
- package/dist/sdk/p-594aec0c.entry.js.map +0 -1
- package/dist/sdk/p-60c8be64.entry.js +0 -2
- package/dist/sdk/p-60c8be64.entry.js.map +0 -1
- package/dist/sdk/p-760718d3.entry.js +0 -2
- package/dist/sdk/p-760718d3.entry.js.map +0 -1
- package/dist/sdk/p-77f541f3.entry.js +0 -2
- package/dist/sdk/p-77f541f3.entry.js.map +0 -1
- package/dist/sdk/p-830778eb.entry.js +0 -2
- package/dist/sdk/p-8839648e.entry.js +0 -2
- package/dist/sdk/p-8839648e.entry.js.map +0 -1
- package/dist/sdk/p-B6MYe-dh.js +0 -2
- package/dist/sdk/p-B6MYe-dh.js.map +0 -1
- package/dist/sdk/p-BGq0leDV.js +0 -2
- package/dist/sdk/p-BGq0leDV.js.map +0 -1
- package/dist/sdk/p-C_UZBwdm.js +0 -2
- package/dist/sdk/p-C_UZBwdm.js.map +0 -1
- package/dist/sdk/p-CbazSxaZ.js +0 -2
- package/dist/sdk/p-CbazSxaZ.js.map +0 -1
- package/dist/sdk/p-DCG3L43i.js +0 -2
- package/dist/sdk/p-DEUPZOH-.js +0 -2
- package/dist/sdk/p-DEUPZOH-.js.map +0 -1
- package/dist/sdk/p-DSktNM_k.js +0 -2
- package/dist/sdk/p-FTKB5a1d.js +0 -14
- package/dist/sdk/p-FTKB5a1d.js.map +0 -1
- package/dist/sdk/p-a7ffcff9.entry.js +0 -2
- package/dist/sdk/p-a7ffcff9.entry.js.map +0 -1
- package/dist/sdk/p-acaba1d5.entry.js +0 -2
- package/dist/sdk/p-acaba1d5.entry.js.map +0 -1
- package/dist/sdk/p-ae47a7a3.entry.js +0 -2
- package/dist/sdk/p-ae47a7a3.entry.js.map +0 -1
- package/dist/sdk/p-aec580e4.entry.js +0 -2
- package/dist/sdk/p-aec580e4.entry.js.map +0 -1
- package/dist/sdk/p-b63438ff.entry.js +0 -2
- package/dist/sdk/p-b63438ff.entry.js.map +0 -1
- package/dist/sdk/p-baaaa7f5.entry.js +0 -2
- package/dist/sdk/p-baaaa7f5.entry.js.map +0 -1
- package/dist/sdk/p-bba2da84.entry.js +0 -2
- package/dist/sdk/p-bba2da84.entry.js.map +0 -1
- package/dist/sdk/p-bc47f42b.entry.js +0 -2
- package/dist/sdk/p-bc47f42b.entry.js.map +0 -1
- package/dist/sdk/p-bd51e26f.entry.js +0 -2
- package/dist/sdk/p-bd51e26f.entry.js.map +0 -1
- package/dist/sdk/p-c3552f75.entry.js +0 -2
- package/dist/sdk/p-c3552f75.entry.js.map +0 -1
- package/dist/sdk/p-d9900482.entry.js +0 -2
- package/dist/sdk/p-d9900482.entry.js.map +0 -1
- package/dist/sdk/p-e6796c38.entry.js +0 -2
- package/dist/sdk/p-e6796c38.entry.js.map +0 -1
- package/dist/sdk/p-f272eb38.entry.js +0 -2
- package/dist/sdk/p-f272eb38.entry.js.map +0 -1
- package/dist/sdk/p-f4a47ef8.entry.js +0 -2
- package/dist/sdk/p-f4a47ef8.entry.js.map +0 -1
- package/dist/sdk/p-f608e64a.entry.js +0 -2
- package/dist/sdk/p-f608e64a.entry.js.map +0 -1
- package/dist/sdk/p-f762ac70.entry.js +0 -2
- package/dist/sdk/p-f762ac70.entry.js.map +0 -1
- package/dist/sdk/p-l6NinBiD.js +0 -2
- package/dist/sdk/p-l6NinBiD.js.map +0 -1
- /package/dist/sdk/{p-88beb872.entry.js.map → p-8412762c.entry.js.map} +0 -0
- /package/dist/sdk/{p-bcca06f1.entry.js.map → p-96860b09.entry.js.map} +0 -0
- /package/dist/sdk/{p-7ee2f2ab.entry.js.map → p-ac3a6bbf.entry.js.map} +0 -0
- /package/dist/sdk/{p-6b061b18.entry.js.map → p-b99588a8.entry.js.map} +0 -0
- /package/dist/sdk/{p-10e20afd.entry.js.map → p-c2634439.entry.js.map} +0 -0
|
@@ -1,7 +1,85 @@
|
|
|
1
1
|
import { h, proxyCustomElement } from '@stencil/core/internal/client';
|
|
2
|
-
import {
|
|
2
|
+
import { n as newsletterStore } from './newsletter-store.js';
|
|
3
|
+
import { U as UnidyComponent } from './component.js';
|
|
3
4
|
import { s as state } from './profile-store.js';
|
|
4
5
|
|
|
6
|
+
// ============================================================================
|
|
7
|
+
// Parent Component Lookup Utilities
|
|
8
|
+
// ============================================================================
|
|
9
|
+
/**
|
|
10
|
+
* Generic helper to find a parent component by tag name with proper typing.
|
|
11
|
+
*
|
|
12
|
+
* @param element - The element to start searching from
|
|
13
|
+
* @param tagName - The tag name of the parent component to find
|
|
14
|
+
* @returns The parent component element or null if not found
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* const profile = findParent(this.el, "u-profile");
|
|
18
|
+
* profile?.submitProfile();
|
|
19
|
+
*/
|
|
20
|
+
function findParent(element, tagName) {
|
|
21
|
+
return element.closest(tagName);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Find the parent u-profile component.
|
|
25
|
+
*/
|
|
26
|
+
function findParentProfile(element) {
|
|
27
|
+
return findParent(element, "u-profile");
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Find the parent u-signin-root component.
|
|
31
|
+
*/
|
|
32
|
+
function findParentSigninRoot(element) {
|
|
33
|
+
return findParent(element, "u-signin-root");
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Find the parent u-signin-step component.
|
|
37
|
+
*/
|
|
38
|
+
function findParentSigninStep(element) {
|
|
39
|
+
return findParent(element, "u-signin-step");
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Find the parent u-newsletter-root component.
|
|
43
|
+
*/
|
|
44
|
+
function findParentNewsletterRoot(element) {
|
|
45
|
+
return findParent(element, "u-newsletter-root");
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Find the parent u-ticketable-list component.
|
|
49
|
+
*/
|
|
50
|
+
function findParentTicketableList(element) {
|
|
51
|
+
return findParent(element, "u-ticketable-list");
|
|
52
|
+
}
|
|
53
|
+
// ============================================================================
|
|
54
|
+
// Context Detection Utilities
|
|
55
|
+
// ============================================================================
|
|
56
|
+
/**
|
|
57
|
+
* Detects which component context an element is within.
|
|
58
|
+
* Returns null if not within any known context.
|
|
59
|
+
*
|
|
60
|
+
* @param element - The element to detect context for
|
|
61
|
+
* @returns The detected context or null
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* const context = detectContext(this.el);
|
|
65
|
+
* if (context === "auth") { ... }
|
|
66
|
+
*/
|
|
67
|
+
function detectContext(element) {
|
|
68
|
+
if (findParentSigninRoot(element) || findParentSigninStep(element)) {
|
|
69
|
+
return "auth";
|
|
70
|
+
}
|
|
71
|
+
if (findParentProfile(element)) {
|
|
72
|
+
return "profile";
|
|
73
|
+
}
|
|
74
|
+
if (findParentNewsletterRoot(element)) {
|
|
75
|
+
return "newsletter";
|
|
76
|
+
}
|
|
77
|
+
if (findParentTicketableList(element)) {
|
|
78
|
+
return "ticketable";
|
|
79
|
+
}
|
|
80
|
+
return null;
|
|
81
|
+
}
|
|
82
|
+
|
|
5
83
|
const Input = (props) => (h("input", { id: props.id, type: props.type, value: props.value, class: props.componentClassName, disabled: props.disabled, required: props.required, part: `input_field ${props.specificPartKey ? `input_field--${props.specificPartKey}` : ""}`, title: props.title, placeholder: props.placeholder, onChange: (e) => props.onChange(e.target.value), onBlur: (e) => props.onBlur?.(e), "aria-describedby": props.ariaDescribedBy || undefined }));
|
|
6
84
|
|
|
7
85
|
const MultiSelect = (props) => {
|
|
@@ -30,7 +108,7 @@ const Select = (props) => {
|
|
|
30
108
|
|
|
31
109
|
const Textarea = (props) => (h("textarea", { id: props.id, value: props.value, name: props.name, class: props.componentClassName, required: props.required, part: `textarea_field ${props.specificPartKey ? `textarea_field--${props.specificPartKey}` : ""}`, disabled: props.disabled, title: props.title, onChange: (e) => props.onChange(e.target.value), onBlur: props.onBlur, "aria-describedby": props.ariaDescribedBy || undefined }));
|
|
32
110
|
|
|
33
|
-
const RawField = /*@__PURE__*/ proxyCustomElement(class RawField extends UnidyComponent {
|
|
111
|
+
const RawField = /*@__PURE__*/ proxyCustomElement(class RawField extends UnidyComponent() {
|
|
34
112
|
constructor(registerHost) {
|
|
35
113
|
super();
|
|
36
114
|
if (registerHost !== false) {
|
|
@@ -61,9 +139,15 @@ const RawField = /*@__PURE__*/ proxyCustomElement(class RawField extends UnidyCo
|
|
|
61
139
|
validationFunc;
|
|
62
140
|
get el() { return this; }
|
|
63
141
|
selected;
|
|
142
|
+
get context() {
|
|
143
|
+
return detectContext(this.el);
|
|
144
|
+
}
|
|
64
145
|
readStore(fieldName) {
|
|
65
146
|
if (!fieldName)
|
|
66
147
|
return;
|
|
148
|
+
return this.context === "newsletter" ? this.readNewsletterStore(fieldName) : this.readProfileStore(fieldName);
|
|
149
|
+
}
|
|
150
|
+
readProfileStore(fieldName) {
|
|
67
151
|
const data = state.data;
|
|
68
152
|
if (!data)
|
|
69
153
|
return;
|
|
@@ -87,9 +171,16 @@ const RawField = /*@__PURE__*/ proxyCustomElement(class RawField extends UnidyCo
|
|
|
87
171
|
}
|
|
88
172
|
return field.value;
|
|
89
173
|
}
|
|
174
|
+
readNewsletterStore(fieldName) {
|
|
175
|
+
const field = newsletterStore.state.additionalFields[fieldName];
|
|
176
|
+
return field?.value;
|
|
177
|
+
}
|
|
90
178
|
writeStore(fieldName, value) {
|
|
91
179
|
if (!fieldName)
|
|
92
180
|
return;
|
|
181
|
+
this.context === "newsletter" ? this.writeNewsletterStore(fieldName, value) : this.writeProfileStore(fieldName, value);
|
|
182
|
+
}
|
|
183
|
+
writeProfileStore(fieldName, value) {
|
|
93
184
|
const data = state.data;
|
|
94
185
|
if (!data)
|
|
95
186
|
return;
|
|
@@ -110,6 +201,24 @@ const RawField = /*@__PURE__*/ proxyCustomElement(class RawField extends UnidyCo
|
|
|
110
201
|
state.data = { ...data, [key]: { ...field, value } };
|
|
111
202
|
}
|
|
112
203
|
}
|
|
204
|
+
writeNewsletterStore(fieldName, value) {
|
|
205
|
+
const data = newsletterStore.state.additionalFields;
|
|
206
|
+
newsletterStore.state.additionalFields = {
|
|
207
|
+
...data,
|
|
208
|
+
[fieldName]: { ...data[fieldName], value },
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
getErrors() {
|
|
212
|
+
return this.context === "newsletter" ? newsletterStore.state.additionalFieldErrors : state.errors;
|
|
213
|
+
}
|
|
214
|
+
setErrors(errors) {
|
|
215
|
+
if (this.context === "newsletter") {
|
|
216
|
+
newsletterStore.state.additionalFieldErrors = errors;
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
state.errors = errors;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
113
222
|
runExternalValidator(value) {
|
|
114
223
|
if (this.validationFunc) {
|
|
115
224
|
try {
|
|
@@ -180,19 +289,19 @@ const RawField = /*@__PURE__*/ proxyCustomElement(class RawField extends UnidyCo
|
|
|
180
289
|
const input = e.target;
|
|
181
290
|
const val = input.value;
|
|
182
291
|
const result = this.validateValue(val);
|
|
183
|
-
const newErrors = { ...
|
|
292
|
+
const newErrors = { ...this.getErrors() };
|
|
184
293
|
if (result.valid) {
|
|
185
294
|
delete newErrors[this.field];
|
|
186
295
|
}
|
|
187
296
|
else {
|
|
188
297
|
newErrors[this.field] = result.message;
|
|
189
298
|
}
|
|
190
|
-
|
|
299
|
+
this.setErrors(newErrors);
|
|
191
300
|
};
|
|
192
301
|
onChangeFieldValidation = (newValue) => {
|
|
193
302
|
this.selected = newValue;
|
|
194
303
|
const result = this.validateValue(newValue);
|
|
195
|
-
const newErrors = { ...
|
|
304
|
+
const newErrors = { ...this.getErrors() };
|
|
196
305
|
if (result.valid) {
|
|
197
306
|
delete newErrors[this.field];
|
|
198
307
|
this.writeStore(this.field, newValue);
|
|
@@ -200,7 +309,7 @@ const RawField = /*@__PURE__*/ proxyCustomElement(class RawField extends UnidyCo
|
|
|
200
309
|
else {
|
|
201
310
|
newErrors[this.field] = result.message;
|
|
202
311
|
}
|
|
203
|
-
|
|
312
|
+
this.setErrors(newErrors);
|
|
204
313
|
};
|
|
205
314
|
componentWillLoad() {
|
|
206
315
|
if (!this.field)
|
|
@@ -226,7 +335,7 @@ const RawField = /*@__PURE__*/ proxyCustomElement(class RawField extends UnidyCo
|
|
|
226
335
|
this.selected = current;
|
|
227
336
|
}
|
|
228
337
|
componentDidRender() {
|
|
229
|
-
const errs =
|
|
338
|
+
const errs = this.getErrors();
|
|
230
339
|
if (errs?.[this.field]) {
|
|
231
340
|
this.el.querySelector(`#${CSS.escape(this.field)}`)?.focus();
|
|
232
341
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"raw-field.js","mappings":"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","names":["__stencil_proxyCustomElement","profileState"],"sources":["src/profile/components/raw-input-fields/Input.tsx","src/profile/components/raw-input-fields/MultiSelect.tsx","src/profile/components/raw-input-fields/RadioGroup.tsx","src/profile/components/raw-input-fields/Select.tsx","src/profile/components/raw-input-fields/Textarea.tsx","src/profile/components/raw-field/raw-field.tsx"],"sourcesContent":["import { type FunctionalComponent, h } from \"@stencil/core\";\n\ntype InputProps = {\n id: string;\n type: string;\n value: string | undefined;\n componentClassName?: string;\n disabled?: boolean;\n required?: boolean;\n title?: string;\n placeholder?: string;\n specificPartKey?: string;\n onChange: (value: string) => void;\n onBlur?: (e: Event) => void;\n ariaDescribedBy?: string;\n};\n\nexport const Input: FunctionalComponent<InputProps> = (props) => (\n <input\n id={props.id}\n type={props.type}\n value={props.value}\n class={props.componentClassName}\n disabled={props.disabled}\n required={props.required}\n part={`input_field ${props.specificPartKey ? `input_field--${props.specificPartKey}` : \"\"}`}\n title={props.title}\n placeholder={props.placeholder}\n onChange={(e) => props.onChange((e.target as HTMLInputElement).value)}\n onBlur={(e) => props.onBlur?.(e)}\n aria-describedby={props.ariaDescribedBy || undefined}\n />\n);\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\nexport type MultiSelectOption = { value: string; label: string };\n\ntype MultiSelectProps =\n | {\n value: string[];\n options: MultiSelectOption[];\n disabled?: boolean;\n title?: string;\n type?: string;\n specificPartKey?: string;\n onToggle: (optValue: string, checked: boolean) => void;\n ariaDescribedBy?: string;\n }\n | {\n id?: string;\n name: string;\n value: string;\n checked: boolean;\n componentClassName?: string;\n disabled?: boolean;\n title?: string;\n type?: string;\n onToggle: (optValue: string, checked: boolean) => void;\n ariaDescribedBy?: string;\n };\n\nexport const MultiSelect: FunctionalComponent<MultiSelectProps> = (props) => {\n if (!(\"options\" in props)) {\n return (\n <input\n id={props.id}\n type={props.type}\n name={props.name}\n value={props.value}\n checked={props.checked}\n disabled={props.disabled}\n title={props.title}\n class={props.componentClassName}\n onChange={(e) => props.onToggle(props.value, (e.target as HTMLInputElement).checked)}\n aria-describedby={props.ariaDescribedBy || undefined}\n />\n );\n }\n\n return (\n <div\n part={`multi-select-group_field ${props.specificPartKey ? `multi-select-group_field--${props.specificPartKey}` : \"\"}`}\n title={props.title}\n aria-describedby={props.ariaDescribedBy || undefined}\n >\n {props.options.map((opt) => (\n <label\n key={opt.value}\n htmlFor={`${props.specificPartKey}-${opt.value}`}\n part={`multi-select-item_label ${props.specificPartKey ? `multi-select-item_label--${props.specificPartKey}` : \"\"}`}\n >\n <input\n id={`${props.specificPartKey}-${opt.value}`}\n type={props.type}\n checked={Array.isArray(props.value) && props.value.includes(opt.value)}\n disabled={props.disabled}\n title={props.title}\n onChange={(e) => props.onToggle(opt.value, (e.target as HTMLInputElement).checked)}\n part={`multi-select-item_checkbox ${props.specificPartKey ? `multi-select-item_checkbox--${props.specificPartKey}` : \"\"}`}\n />\n {opt.label}\n </label>\n ))}\n </div>\n );\n};\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\nexport type RadioOption = { value: string; label: string; checked: boolean };\n\ntype RadioGroupProps =\n | {\n options: RadioOption[];\n disabled?: boolean;\n type?: string;\n name?: string;\n title?: string;\n specificPartKey?: string;\n onChange: (value: string) => void;\n ariaDescribedBy?: string;\n required?: boolean;\n }\n | {\n value: string;\n checked: boolean;\n disabled?: boolean;\n type?: string;\n name: string;\n title?: string;\n componentClassName?: string;\n onChange: (value: string) => void;\n ariaDescribedBy?: string;\n required?: boolean;\n };\n\nexport const RadioGroup: FunctionalComponent<RadioGroupProps> = (props) => {\n if (!(\"options\" in props)) {\n return (\n <input\n type={props.type}\n name={props.name}\n required={props.required}\n value={String(props.value)}\n checked={props.checked}\n disabled={props.disabled}\n title={props.title}\n class={props.componentClassName}\n onChange={() => props.onChange(String(props.value))}\n aria-describedby={props.ariaDescribedBy || undefined}\n />\n );\n }\n\n return (\n <div\n part={`radio-group_field ${props.specificPartKey ? `radio-group_field--${props.specificPartKey}` : \"\"}`}\n title={props.title}\n aria-describedby={props.ariaDescribedBy || undefined}\n >\n {props.options.map((opt) => (\n <label\n htmlFor={`${props.name}-${opt.value}`}\n key={String(opt.value)}\n part={`radio-group-item_label ${props.specificPartKey ? `radio-group-item_label--${props.specificPartKey}` : \"\"} ${opt.checked ? \"radio_checked\" : \"\"}`}\n data-checked={opt.checked ? \"true\" : \"false\"}\n >\n <input\n id={`${props.name}-${opt.value}`}\n type={props.type}\n name={props.name}\n required={props.required}\n value={String(opt.value)}\n checked={opt.checked}\n disabled={props.disabled}\n onChange={() => props.onChange(String(opt.value))}\n part={`radio-group-item_radio ${props.specificPartKey ? `radio-group-item_radio--${props.specificPartKey}` : \"\"}`}\n />\n {opt.label}\n </label>\n ))}\n </div>\n );\n};\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\nexport type Option = { value: string; label: string; selected?: boolean };\n\ntype SelectProps = {\n id: string;\n name?: string;\n value: string | string[] | null | undefined;\n options: Option[];\n disabled?: boolean;\n title?: string;\n countryCodeDisplayOption?: string;\n attr_name?: string;\n componentClassName?: string;\n emptyOption: boolean;\n specificPartKey?: string;\n onChange: (value: string) => void;\n countryIcon?: (code: string) => string;\n ariaDescribedBy?: string;\n};\n\nexport const Select: FunctionalComponent<SelectProps> = (props) => {\n const renderOptionLabel = (opt: Option) => {\n if (props.attr_name === \"country_code\" && props.countryCodeDisplayOption === \"icon\" && props.countryIcon) {\n return props.countryIcon(opt.value);\n }\n return opt.label;\n };\n return (\n <select\n id={props.id}\n name={props.name}\n class={props.componentClassName}\n data-value={props.value as string | undefined}\n part={`select_field ${props.specificPartKey ? `select_field--${props.specificPartKey}` : \"\"}`}\n disabled={props.disabled}\n title={props.title}\n onChange={(e) => props.onChange((e.target as HTMLSelectElement).value)}\n aria-describedby={props.ariaDescribedBy || undefined}\n >\n {props.emptyOption ? <option value=\"\" selected={props.value === null || props.value === \"\"} /> : null}\n {props.options.map((opt) => (\n <option\n key={opt.value}\n value={opt.value}\n data-selected={opt.value === props.value ? \"true\" : \"false\"}\n selected={opt.value === props.value}\n disabled={opt.value === \"--\"}\n >\n {renderOptionLabel(opt)}\n </option>\n ))}\n </select>\n );\n};\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\ntype TextareaProps = {\n id: string;\n value: string | undefined;\n disabled?: boolean;\n required?: boolean;\n title?: string;\n name?: string;\n componentClassName?: string;\n placeholder?: string;\n specificPartKey?: string;\n onChange: (value: string) => void;\n onBlur?: (e: Event) => void;\n ariaDescribedBy?: string;\n};\n\nexport const Textarea: FunctionalComponent<TextareaProps> = (props) => (\n <textarea\n id={props.id}\n value={props.value}\n name={props.name}\n class={props.componentClassName}\n required={props.required}\n part={`textarea_field ${props.specificPartKey ? `textarea_field--${props.specificPartKey}` : \"\"}`}\n disabled={props.disabled}\n title={props.title}\n onChange={(e) => props.onChange((e.target as HTMLTextAreaElement).value)}\n onBlur={props.onBlur}\n aria-describedby={props.ariaDescribedBy || undefined}\n />\n);\n","import { Component, Element, h, Prop, State } from \"@stencil/core\";\nimport { UnidyComponent } from \"../../../logger\";\nimport { type ProfileNode, type ProfileRaw, state as profileState } from \"../../store/profile-store\";\nimport { Input } from \"../raw-input-fields/Input\";\nimport { MultiSelect, type MultiSelectOption } from \"../raw-input-fields/MultiSelect\";\nimport { RadioGroup, type RadioOption } from \"../raw-input-fields/RadioGroup\";\nimport { type Option, Select } from \"../raw-input-fields/Select\";\nimport { Textarea } from \"../raw-input-fields/Textarea\";\n\n@Component({\n tag: \"u-raw-field\",\n shadow: false,\n})\nexport class RawField extends UnidyComponent {\n @Prop() required = false;\n @Prop() readonlyPlaceholder = \"\";\n @Prop() countryCodeDisplayOption?: \"icon\" | \"label\" = \"label\";\n @Prop() invalidPhoneMessage = \"Please enter a valid phone number.\";\n @Prop({ attribute: \"class-name\" }) componentClassName?: string;\n\n @Prop() field!: string;\n @Prop() value?: string | string[];\n @Prop() checked?: boolean;\n @Prop() disabled?: boolean;\n @Prop() tooltip?: string;\n @Prop() type!: string;\n @Prop() placeholder?: string;\n @Prop() options?: string | Option[];\n @Prop() emptyOption = false;\n @Prop() attrName?: string;\n @Prop() radioOptions?: RadioOption[];\n @Prop() multiSelectOptions?: MultiSelectOption[];\n @Prop() specificPartKey?: string;\n @Prop() ariaDescribedBy = \"\";\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 readStore(fieldName: string): string | undefined | string[] {\n if (!fieldName) return;\n const data: ProfileRaw = profileState.data;\n\n if (!data) return;\n\n let field: ProfileNode | undefined;\n\n if (fieldName.startsWith(\"custom_attributes.\")) {\n const key = fieldName.replace(\"custom_attributes.\", \"\");\n field = data.custom_attributes?.[key];\n } else {\n field = data[fieldName];\n }\n\n if (!field) return;\n\n if (field.radio_options) {\n const checkedOption = field.radio_options.find((option: RadioOption) => option.checked);\n\n const checkedValue = checkedOption?.value ?? field.value ?? \"\";\n\n return String(checkedValue);\n }\n\n if (field.type === \"checkbox\") {\n return Array.isArray(field.value) ? field.value : [];\n }\n\n return field.value;\n }\n\n private writeStore(fieldName: string, value: string | string[]) {\n if (!fieldName) return;\n const data: ProfileRaw = profileState.data;\n if (!data) return;\n\n const isCustomAttribute = fieldName.startsWith(\"custom_attributes.\");\n const key = isCustomAttribute ? fieldName.replace(\"custom_attributes.\", \"\") : fieldName;\n\n if (isCustomAttribute) {\n const field = data.custom_attributes?.[key];\n profileState.data = {\n ...data,\n custom_attributes: {\n ...data.custom_attributes,\n [key]: { ...field, value },\n },\n };\n } else {\n const field = data[key];\n profileState.data = { ...data, [key]: { ...field, value } };\n }\n }\n\n private runExternalValidator(value: string | string[]) {\n if (this.validationFunc) {\n try {\n return this.validationFunc(value);\n } catch (e) {\n this.logger.error(\"External validator (validationFunc) threw an error:\", e);\n return null;\n }\n }\n }\n\n private validateValue(value: string | string[]): { valid: boolean; message: string } {\n // TODO: We should validate this when the component is loading.\n if (this.required) {\n const empty = value === undefined || value === null || value === \"\";\n if (empty) {\n return { valid: false, message: \"This field is required.\" };\n }\n }\n\n if (this.pattern && typeof value === \"string\") {\n const regex = new RegExp(this.pattern);\n if (!regex.test(value)) {\n return { valid: false, message: this.patternErrorMessage || \"Invalid format.\" };\n }\n }\n\n const externalResult = this.runExternalValidator(value);\n\n if (externalResult && !externalResult.valid) {\n return { valid: false, message: externalResult.message || \"Invalid input.\" };\n }\n\n if (this.type === \"tel\") {\n const phonePattern = /^(?=.{4,13}$)(\\+\\d+|\\d+)$/;\n if (typeof value === \"string\" && value !== \"\" && !phonePattern.test(value)) {\n return { valid: false, message: this.invalidPhoneMessage };\n }\n }\n\n return { valid: true, message: \"\" };\n }\n\n private getNormalizedOptions(): Option[] {\n if (Array.isArray(this.options)) return this.options;\n\n // unidy-raw-field select-options prop can be a JSON string\n if (typeof this.options === \"string\") return JSON.parse(this.options);\n\n return [];\n }\n\n private countryIcon(countryCode: string, placeholder = \"➖\"): string {\n if (!/^[A-Z]{2}$/.test(countryCode)) {\n return placeholder;\n }\n\n return Array.from(countryCode)\n .map((char) => String.fromCodePoint(0x1f1e6 + (char.charCodeAt(0) - \"A\".charCodeAt(0))))\n .join(\"\");\n }\n\n private onMultiToggle = (optValue: string, checked: boolean) => {\n const currentValues = Array.isArray(this.selected) ? this.selected : [];\n let updatedValues: string[];\n if (checked) {\n updatedValues = currentValues.includes(optValue) ? currentValues : [...currentValues, optValue];\n } else {\n updatedValues = currentValues.filter((v) => v !== optValue);\n }\n\n this.selected = updatedValues;\n // TODO: validate multiselect if needed\n this.writeStore(this.field, updatedValues);\n };\n\n private onBlurFieldValidation = (e: Event) => {\n const input = e.target as HTMLInputElement | HTMLTextAreaElement;\n const val = input.value;\n\n const result = this.validateValue(val);\n const newErrors = { ...profileState.errors };\n\n if (result.valid) {\n delete newErrors[this.field];\n } else {\n newErrors[this.field] = result.message;\n }\n\n profileState.errors = newErrors;\n };\n\n private onChangeFieldValidation = (newValue: string) => {\n this.selected = newValue;\n\n const result = this.validateValue(newValue);\n const newErrors = { ...profileState.errors };\n\n if (result.valid) {\n delete newErrors[this.field];\n this.writeStore(this.field, newValue);\n } else {\n newErrors[this.field] = result.message;\n }\n\n profileState.errors = newErrors;\n };\n\n componentWillLoad() {\n if (!this.field) throw new Error('u-raw-field: \"field\" is required.');\n if (!this.type) throw new Error('u-raw-field: \"type\" is required.');\n\n const allowed: Set<string> = new Set([\"text\", \"email\", \"tel\", \"password\", \"number\", \"date\", \"radio\", \"textarea\", \"select\", \"checkbox\"]);\n if (!allowed.has(this.type)) {\n this.type = \"text\";\n }\n\n const current = this.readStore(this.field);\n const isType =\n this.type === \"text\" ||\n this.type === \"email\" ||\n this.type === \"tel\" ||\n this.type === \"password\" ||\n this.type === \"number\" ||\n this.type === \"date\" ||\n this.type === \"textarea\" ||\n this.type === \"select\";\n\n if (isType && (current === undefined || current === null) && typeof this.value === \"string\") {\n this.writeStore(this.field, this.value);\n }\n\n this.selected = current;\n }\n\n componentDidRender() {\n const errs = profileState.errors;\n if (errs?.[this.field]) {\n this.el.querySelector<HTMLInputElement | HTMLTextAreaElement>(`#${CSS.escape(this.field)}`)?.focus();\n }\n }\n\n render() {\n if (this.type === \"radio\") {\n if (Array.isArray(this.radioOptions) && this.radioOptions.length) {\n const checkedOptions = this.radioOptions.map((opt) => ({\n ...opt,\n checked: String(opt.value) === this.selected,\n }));\n return (\n <RadioGroup\n name={this.field}\n disabled={this.disabled}\n title={this.tooltip}\n type=\"radio\"\n onChange={this.onChangeFieldValidation}\n options={checkedOptions}\n specificPartKey={this.specificPartKey}\n aria-describedby={this.ariaDescribedBy}\n required={this.required}\n />\n );\n }\n\n if (typeof this.value === \"string\") {\n const currentValue = this.readStore(this.field);\n const isChecked = currentValue != null && String(currentValue) === this.value;\n return (\n <RadioGroup\n name={this.field}\n value={this.value}\n checked={isChecked}\n disabled={this.disabled}\n title={this.tooltip}\n componentClassName={this.componentClassName}\n type=\"radio\"\n specificPartKey={this.specificPartKey}\n onChange={this.onChangeFieldValidation}\n aria-describedby={this.ariaDescribedBy}\n required={this.required}\n />\n );\n }\n }\n\n if (this.type === \"checkbox\") {\n if (Array.isArray(this.multiSelectOptions) && this.multiSelectOptions.length) {\n const selected = Array.isArray(this.selected) ? this.selected : [];\n return (\n <MultiSelect\n value={selected}\n options={this.multiSelectOptions}\n disabled={this.disabled}\n title={this.tooltip}\n type=\"checkbox\"\n specificPartKey={this.specificPartKey}\n onToggle={this.onMultiToggle}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n\n if (this.value) {\n const currentValue = (this.readStore(this.field) as string[]) ?? [];\n const isChecked = currentValue?.includes(this.value as string);\n return (\n <MultiSelect\n id={`${this.field}-${this.value}`}\n name={this.field}\n value={this.value as string}\n checked={isChecked}\n disabled={this.disabled}\n title={this.tooltip}\n componentClassName={this.componentClassName}\n type=\"checkbox\"\n onToggle={(val, checked) => {\n const current = this.readStore(this.field) as string[];\n const updated = checked ? [...current, val] : current.filter((v) => v !== val);\n this.writeStore(this.field, updated);\n }}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n }\n\n if (this.type === \"select\") {\n const currentValue = (this.readStore(this.field) as string) ?? \"\";\n const option = this.getNormalizedOptions();\n return (\n <Select\n id={this.field}\n name={this.field}\n value={currentValue}\n options={option}\n disabled={this.disabled}\n title={this.tooltip}\n emptyOption={this.emptyOption}\n onChange={this.onChangeFieldValidation}\n componentClassName={this.componentClassName}\n countryCodeDisplayOption={this.countryCodeDisplayOption}\n countryIcon={this.countryIcon}\n attr_name={this.attrName}\n specificPartKey={this.specificPartKey}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n\n if (this.type === \"textarea\") {\n const currentValue = (this.readStore(this.field) as string) || \"\";\n return (\n <Textarea\n id={this.field}\n value={currentValue}\n required={this.required}\n disabled={this.disabled}\n title={this.tooltip}\n componentClassName={this.componentClassName}\n specificPartKey={this.specificPartKey}\n onChange={this.onChangeFieldValidation}\n onBlur={this.onBlurFieldValidation}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n\n const currentValue = (this.readStore(this.field) as string) || \"\";\n return (\n <Input\n id={this.field}\n value={currentValue}\n required={this.required}\n disabled={this.disabled}\n title={this.tooltip}\n type={this.type}\n componentClassName={this.componentClassName}\n placeholder={this.placeholder}\n specificPartKey={this.specificPartKey}\n onChange={this.onChangeFieldValidation}\n onBlur={this.onBlurFieldValidation}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"raw-field.js","mappings":"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","names":["__stencil_proxyCustomElement","profileState"],"sources":["src/shared/context-utils.ts","src/profile/components/raw-input-fields/Input.tsx","src/profile/components/raw-input-fields/MultiSelect.tsx","src/profile/components/raw-input-fields/RadioGroup.tsx","src/profile/components/raw-input-fields/Select.tsx","src/profile/components/raw-input-fields/Textarea.tsx","src/profile/components/raw-field/raw-field.tsx"],"sourcesContent":["/**\n * Type map for parent component lookups.\n * Maps custom element tag names to their corresponding TypeScript types.\n */\ntype ParentComponentMap = {\n \"u-profile\": HTMLUProfileElement;\n \"u-signin-root\": HTMLUSigninRootElement;\n \"u-signin-step\": HTMLUSigninStepElement;\n \"u-newsletter-root\": HTMLUNewsletterRootElement;\n \"u-ticketable-list\": HTMLUTicketableListElement;\n};\n\n/**\n * Component context types used throughout the SDK.\n */\nexport type ComponentContext = \"auth\" | \"profile\" | \"newsletter\" | \"ticketable\";\n\n// ============================================================================\n// Parent Component Lookup Utilities\n// ============================================================================\n\n/**\n * Generic helper to find a parent component by tag name with proper typing.\n *\n * @param element - The element to start searching from\n * @param tagName - The tag name of the parent component to find\n * @returns The parent component element or null if not found\n *\n * @example\n * const profile = findParent(this.el, \"u-profile\");\n * profile?.submitProfile();\n */\nexport function findParent<T extends keyof ParentComponentMap>(element: HTMLElement, tagName: T): ParentComponentMap[T] | null {\n return element.closest(tagName) as ParentComponentMap[T] | null;\n}\n\n/**\n * Find the parent u-profile component.\n */\nexport function findParentProfile(element: HTMLElement): HTMLUProfileElement | null {\n return findParent(element, \"u-profile\");\n}\n\n/**\n * Find the parent u-signin-root component.\n */\nexport function findParentSigninRoot(element: HTMLElement): HTMLUSigninRootElement | null {\n return findParent(element, \"u-signin-root\");\n}\n\n/**\n * Find the parent u-signin-step component.\n */\nexport function findParentSigninStep(element: HTMLElement): HTMLUSigninStepElement | null {\n return findParent(element, \"u-signin-step\");\n}\n\n/**\n * Find the parent u-newsletter-root component.\n */\nexport function findParentNewsletterRoot(element: HTMLElement): HTMLUNewsletterRootElement | null {\n return findParent(element, \"u-newsletter-root\");\n}\n\n/**\n * Find the parent u-ticketable-list component.\n */\nexport function findParentTicketableList(element: HTMLElement): HTMLUTicketableListElement | null {\n return findParent(element, \"u-ticketable-list\");\n}\n\n// ============================================================================\n// Context Detection Utilities\n// ============================================================================\n\n/**\n * Detects which component context an element is within.\n * Returns null if not within any known context.\n *\n * @param element - The element to detect context for\n * @returns The detected context or null\n *\n * @example\n * const context = detectContext(this.el);\n * if (context === \"auth\") { ... }\n */\nexport function detectContext(element: HTMLElement): ComponentContext | null {\n if (findParentSigninRoot(element) || findParentSigninStep(element)) {\n return \"auth\";\n }\n\n if (findParentProfile(element)) {\n return \"profile\";\n }\n\n if (findParentNewsletterRoot(element)) {\n return \"newsletter\";\n }\n\n if (findParentTicketableList(element)) {\n return \"ticketable\";\n }\n\n return null;\n}\n\n/**\n * Detects component context, throwing an error if not found.\n * Use this when the component requires being within a specific context.\n *\n * @param element - The element to detect context for\n * @param componentName - Name of the component for error message\n * @returns The detected context\n * @throws Error if no context is found\n *\n * @example\n * const context = detectContextOrThrow(this.el, \"submit button\");\n */\nexport function detectContextOrThrow(element: HTMLElement, componentName: string): ComponentContext {\n const context = detectContext(element);\n\n if (!context) {\n throw new Error(\n `No context found for ${componentName}. Make sure you are using the component within a u-signin-root, u-profile, u-newsletter-root, or u-ticketable-list.`,\n );\n }\n\n return context;\n}\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\ntype InputProps = {\n id: string;\n type: string;\n value: string | undefined;\n componentClassName?: string;\n disabled?: boolean;\n required?: boolean;\n title?: string;\n placeholder?: string;\n specificPartKey?: string;\n onChange: (value: string) => void;\n onBlur?: (e: Event) => void;\n ariaDescribedBy?: string;\n};\n\nexport const Input: FunctionalComponent<InputProps> = (props) => (\n <input\n id={props.id}\n type={props.type}\n value={props.value}\n class={props.componentClassName}\n disabled={props.disabled}\n required={props.required}\n part={`input_field ${props.specificPartKey ? `input_field--${props.specificPartKey}` : \"\"}`}\n title={props.title}\n placeholder={props.placeholder}\n onChange={(e) => props.onChange((e.target as HTMLInputElement).value)}\n onBlur={(e) => props.onBlur?.(e)}\n aria-describedby={props.ariaDescribedBy || undefined}\n />\n);\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\nexport type MultiSelectOption = { value: string; label: string };\n\ntype MultiSelectProps =\n | {\n value: string[];\n options: MultiSelectOption[];\n disabled?: boolean;\n title?: string;\n type?: string;\n specificPartKey?: string;\n onToggle: (optValue: string, checked: boolean) => void;\n ariaDescribedBy?: string;\n }\n | {\n id?: string;\n name: string;\n value: string;\n checked: boolean;\n componentClassName?: string;\n disabled?: boolean;\n title?: string;\n type?: string;\n onToggle: (optValue: string, checked: boolean) => void;\n ariaDescribedBy?: string;\n };\n\nexport const MultiSelect: FunctionalComponent<MultiSelectProps> = (props) => {\n if (!(\"options\" in props)) {\n return (\n <input\n id={props.id}\n type={props.type}\n name={props.name}\n value={props.value}\n checked={props.checked}\n disabled={props.disabled}\n title={props.title}\n class={props.componentClassName}\n onChange={(e) => props.onToggle(props.value, (e.target as HTMLInputElement).checked)}\n aria-describedby={props.ariaDescribedBy || undefined}\n />\n );\n }\n\n return (\n <div\n part={`multi-select-group_field ${props.specificPartKey ? `multi-select-group_field--${props.specificPartKey}` : \"\"}`}\n title={props.title}\n aria-describedby={props.ariaDescribedBy || undefined}\n >\n {props.options.map((opt) => (\n <label\n key={opt.value}\n htmlFor={`${props.specificPartKey}-${opt.value}`}\n part={`multi-select-item_label ${props.specificPartKey ? `multi-select-item_label--${props.specificPartKey}` : \"\"}`}\n >\n <input\n id={`${props.specificPartKey}-${opt.value}`}\n type={props.type}\n checked={Array.isArray(props.value) && props.value.includes(opt.value)}\n disabled={props.disabled}\n title={props.title}\n onChange={(e) => props.onToggle(opt.value, (e.target as HTMLInputElement).checked)}\n part={`multi-select-item_checkbox ${props.specificPartKey ? `multi-select-item_checkbox--${props.specificPartKey}` : \"\"}`}\n />\n {opt.label}\n </label>\n ))}\n </div>\n );\n};\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\nexport type RadioOption = { value: string; label: string; checked: boolean };\n\ntype RadioGroupProps =\n | {\n options: RadioOption[];\n disabled?: boolean;\n type?: string;\n name?: string;\n title?: string;\n specificPartKey?: string;\n onChange: (value: string) => void;\n ariaDescribedBy?: string;\n required?: boolean;\n }\n | {\n value: string;\n checked: boolean;\n disabled?: boolean;\n type?: string;\n name: string;\n title?: string;\n componentClassName?: string;\n onChange: (value: string) => void;\n ariaDescribedBy?: string;\n required?: boolean;\n };\n\nexport const RadioGroup: FunctionalComponent<RadioGroupProps> = (props) => {\n if (!(\"options\" in props)) {\n return (\n <input\n type={props.type}\n name={props.name}\n required={props.required}\n value={String(props.value)}\n checked={props.checked}\n disabled={props.disabled}\n title={props.title}\n class={props.componentClassName}\n onChange={() => props.onChange(String(props.value))}\n aria-describedby={props.ariaDescribedBy || undefined}\n />\n );\n }\n\n return (\n <div\n part={`radio-group_field ${props.specificPartKey ? `radio-group_field--${props.specificPartKey}` : \"\"}`}\n title={props.title}\n aria-describedby={props.ariaDescribedBy || undefined}\n >\n {props.options.map((opt) => (\n <label\n htmlFor={`${props.name}-${opt.value}`}\n key={String(opt.value)}\n part={`radio-group-item_label ${props.specificPartKey ? `radio-group-item_label--${props.specificPartKey}` : \"\"} ${opt.checked ? \"radio_checked\" : \"\"}`}\n data-checked={opt.checked ? \"true\" : \"false\"}\n >\n <input\n id={`${props.name}-${opt.value}`}\n type={props.type}\n name={props.name}\n required={props.required}\n value={String(opt.value)}\n checked={opt.checked}\n disabled={props.disabled}\n onChange={() => props.onChange(String(opt.value))}\n part={`radio-group-item_radio ${props.specificPartKey ? `radio-group-item_radio--${props.specificPartKey}` : \"\"}`}\n />\n {opt.label}\n </label>\n ))}\n </div>\n );\n};\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\nexport type Option = { value: string; label: string; selected?: boolean };\n\ntype SelectProps = {\n id: string;\n name?: string;\n value: string | string[] | null | undefined;\n options: Option[];\n disabled?: boolean;\n title?: string;\n countryCodeDisplayOption?: string;\n attr_name?: string;\n componentClassName?: string;\n emptyOption: boolean;\n specificPartKey?: string;\n onChange: (value: string) => void;\n countryIcon?: (code: string) => string;\n ariaDescribedBy?: string;\n};\n\nexport const Select: FunctionalComponent<SelectProps> = (props) => {\n const renderOptionLabel = (opt: Option) => {\n if (props.attr_name === \"country_code\" && props.countryCodeDisplayOption === \"icon\" && props.countryIcon) {\n return props.countryIcon(opt.value);\n }\n return opt.label;\n };\n return (\n <select\n id={props.id}\n name={props.name}\n class={props.componentClassName}\n data-value={props.value as string | undefined}\n part={`select_field ${props.specificPartKey ? `select_field--${props.specificPartKey}` : \"\"}`}\n disabled={props.disabled}\n title={props.title}\n onChange={(e) => props.onChange((e.target as HTMLSelectElement).value)}\n aria-describedby={props.ariaDescribedBy || undefined}\n >\n {props.emptyOption ? <option value=\"\" selected={props.value === null || props.value === \"\"} /> : null}\n {props.options.map((opt) => (\n <option\n key={opt.value}\n value={opt.value}\n data-selected={opt.value === props.value ? \"true\" : \"false\"}\n selected={opt.value === props.value}\n disabled={opt.value === \"--\"}\n >\n {renderOptionLabel(opt)}\n </option>\n ))}\n </select>\n );\n};\n","import { type FunctionalComponent, h } from \"@stencil/core\";\n\ntype TextareaProps = {\n id: string;\n value: string | undefined;\n disabled?: boolean;\n required?: boolean;\n title?: string;\n name?: string;\n componentClassName?: string;\n placeholder?: string;\n specificPartKey?: string;\n onChange: (value: string) => void;\n onBlur?: (e: Event) => void;\n ariaDescribedBy?: string;\n};\n\nexport const Textarea: FunctionalComponent<TextareaProps> = (props) => (\n <textarea\n id={props.id}\n value={props.value}\n name={props.name}\n class={props.componentClassName}\n required={props.required}\n part={`textarea_field ${props.specificPartKey ? `textarea_field--${props.specificPartKey}` : \"\"}`}\n disabled={props.disabled}\n title={props.title}\n onChange={(e) => props.onChange((e.target as HTMLTextAreaElement).value)}\n onBlur={props.onBlur}\n aria-describedby={props.ariaDescribedBy || undefined}\n />\n);\n","import { Component, Element, h, Prop, State } from \"@stencil/core\";\nimport { newsletterStore } from \"../../../newsletter/store/newsletter-store\";\nimport { UnidyComponent } from \"../../../shared/base/component\";\nimport { type ComponentContext, detectContext } from \"../../../shared/context-utils\";\nimport { type ProfileNode, type ProfileRaw, state as profileState } from \"../../store/profile-store\";\nimport { Input } from \"../raw-input-fields/Input\";\nimport { MultiSelect, type MultiSelectOption } from \"../raw-input-fields/MultiSelect\";\nimport { RadioGroup, type RadioOption } from \"../raw-input-fields/RadioGroup\";\nimport { type Option, Select } from \"../raw-input-fields/Select\";\nimport { Textarea } from \"../raw-input-fields/Textarea\";\n\n@Component({\n tag: \"u-raw-field\",\n shadow: false,\n})\nexport class RawField extends UnidyComponent() {\n @Prop() required = false;\n @Prop() readonlyPlaceholder = \"\";\n @Prop() countryCodeDisplayOption?: \"icon\" | \"label\" = \"label\";\n @Prop() invalidPhoneMessage = \"Please enter a valid phone number.\";\n @Prop({ attribute: \"class-name\" }) componentClassName?: string;\n\n @Prop() field!: string;\n @Prop() value?: string | string[];\n @Prop() checked?: boolean;\n @Prop() disabled?: boolean;\n @Prop() tooltip?: string;\n @Prop() type!: string;\n @Prop() placeholder?: string;\n @Prop() options?: string | Option[];\n @Prop() emptyOption = false;\n @Prop() attrName?: string;\n @Prop() radioOptions?: RadioOption[];\n @Prop() multiSelectOptions?: MultiSelectOption[];\n @Prop() specificPartKey?: string;\n @Prop() ariaDescribedBy = \"\";\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 get context(): ComponentContext | null {\n return detectContext(this.el);\n }\n\n private readStore(fieldName: string): string | undefined | string[] {\n if (!fieldName) return;\n return this.context === \"newsletter\" ? this.readNewsletterStore(fieldName) : this.readProfileStore(fieldName);\n }\n\n private readProfileStore(fieldName: string): string | undefined | string[] {\n const data: ProfileRaw = profileState.data;\n\n if (!data) return;\n\n let field: ProfileNode | undefined;\n\n if (fieldName.startsWith(\"custom_attributes.\")) {\n const key = fieldName.replace(\"custom_attributes.\", \"\");\n field = data.custom_attributes?.[key];\n } else {\n field = data[fieldName];\n }\n\n if (!field) return;\n\n if (field.radio_options) {\n const checkedOption = field.radio_options.find((option: RadioOption) => option.checked);\n\n const checkedValue = checkedOption?.value ?? field.value ?? \"\";\n\n return String(checkedValue);\n }\n\n if (field.type === \"checkbox\") {\n return Array.isArray(field.value) ? field.value : [];\n }\n\n return field.value;\n }\n\n private readNewsletterStore(fieldName: string): string | undefined | string[] {\n const field = newsletterStore.state.additionalFields[fieldName];\n return field?.value;\n }\n\n private writeStore(fieldName: string, value: string | string[]) {\n if (!fieldName) return;\n this.context === \"newsletter\" ? this.writeNewsletterStore(fieldName, value) : this.writeProfileStore(fieldName, value);\n }\n\n private writeProfileStore(fieldName: string, value: string | string[]) {\n const data: ProfileRaw = profileState.data;\n if (!data) return;\n\n const isCustomAttribute = fieldName.startsWith(\"custom_attributes.\");\n const key = isCustomAttribute ? fieldName.replace(\"custom_attributes.\", \"\") : fieldName;\n\n if (isCustomAttribute) {\n const field = data.custom_attributes?.[key];\n profileState.data = {\n ...data,\n custom_attributes: {\n ...data.custom_attributes,\n [key]: { ...field, value },\n },\n };\n } else {\n const field = data[key];\n profileState.data = { ...data, [key]: { ...field, value } };\n }\n }\n\n private writeNewsletterStore(fieldName: string, value: string | string[]) {\n const data = newsletterStore.state.additionalFields;\n newsletterStore.state.additionalFields = {\n ...data,\n [fieldName]: { ...data[fieldName], value },\n };\n }\n\n private getErrors(): Record<string, string> {\n return this.context === \"newsletter\" ? newsletterStore.state.additionalFieldErrors : profileState.errors;\n }\n\n private setErrors(errors: Record<string, string>) {\n if (this.context === \"newsletter\") {\n newsletterStore.state.additionalFieldErrors = errors;\n } else {\n profileState.errors = errors;\n }\n }\n\n private runExternalValidator(value: string | string[]) {\n if (this.validationFunc) {\n try {\n return this.validationFunc(value);\n } catch (e) {\n this.logger.error(\"External validator (validationFunc) threw an error:\", e);\n return null;\n }\n }\n }\n\n private validateValue(value: string | string[]): { valid: boolean; message: string } {\n // TODO: We should validate this when the component is loading.\n if (this.required) {\n const empty = value === undefined || value === null || value === \"\";\n if (empty) {\n return { valid: false, message: \"This field is required.\" };\n }\n }\n\n if (this.pattern && typeof value === \"string\") {\n const regex = new RegExp(this.pattern);\n if (!regex.test(value)) {\n return { valid: false, message: this.patternErrorMessage || \"Invalid format.\" };\n }\n }\n\n const externalResult = this.runExternalValidator(value);\n\n if (externalResult && !externalResult.valid) {\n return { valid: false, message: externalResult.message || \"Invalid input.\" };\n }\n\n if (this.type === \"tel\") {\n const phonePattern = /^(?=.{4,13}$)(\\+\\d+|\\d+)$/;\n if (typeof value === \"string\" && value !== \"\" && !phonePattern.test(value)) {\n return { valid: false, message: this.invalidPhoneMessage };\n }\n }\n\n return { valid: true, message: \"\" };\n }\n\n private getNormalizedOptions(): Option[] {\n if (Array.isArray(this.options)) return this.options;\n\n // unidy-raw-field select-options prop can be a JSON string\n if (typeof this.options === \"string\") return JSON.parse(this.options);\n\n return [];\n }\n\n private countryIcon(countryCode: string, placeholder = \"➖\"): string {\n if (!/^[A-Z]{2}$/.test(countryCode)) {\n return placeholder;\n }\n\n return Array.from(countryCode)\n .map((char) => String.fromCodePoint(0x1f1e6 + (char.charCodeAt(0) - \"A\".charCodeAt(0))))\n .join(\"\");\n }\n\n private onMultiToggle = (optValue: string, checked: boolean) => {\n const currentValues = Array.isArray(this.selected) ? this.selected : [];\n let updatedValues: string[];\n if (checked) {\n updatedValues = currentValues.includes(optValue) ? currentValues : [...currentValues, optValue];\n } else {\n updatedValues = currentValues.filter((v) => v !== optValue);\n }\n\n this.selected = updatedValues;\n // TODO: validate multiselect if needed\n this.writeStore(this.field, updatedValues);\n };\n\n private onBlurFieldValidation = (e: Event) => {\n const input = e.target as HTMLInputElement | HTMLTextAreaElement;\n const val = input.value;\n\n const result = this.validateValue(val);\n const newErrors = { ...this.getErrors() };\n\n if (result.valid) {\n delete newErrors[this.field];\n } else {\n newErrors[this.field] = result.message;\n }\n\n this.setErrors(newErrors);\n };\n\n private onChangeFieldValidation = (newValue: string) => {\n this.selected = newValue;\n\n const result = this.validateValue(newValue);\n const newErrors = { ...this.getErrors() };\n\n if (result.valid) {\n delete newErrors[this.field];\n this.writeStore(this.field, newValue);\n } else {\n newErrors[this.field] = result.message;\n }\n\n this.setErrors(newErrors);\n };\n\n componentWillLoad() {\n if (!this.field) throw new Error('u-raw-field: \"field\" is required.');\n if (!this.type) throw new Error('u-raw-field: \"type\" is required.');\n\n const allowed: Set<string> = new Set([\"text\", \"email\", \"tel\", \"password\", \"number\", \"date\", \"radio\", \"textarea\", \"select\", \"checkbox\"]);\n if (!allowed.has(this.type)) {\n this.type = \"text\";\n }\n\n const current = this.readStore(this.field);\n const isType =\n this.type === \"text\" ||\n this.type === \"email\" ||\n this.type === \"tel\" ||\n this.type === \"password\" ||\n this.type === \"number\" ||\n this.type === \"date\" ||\n this.type === \"textarea\" ||\n this.type === \"select\";\n\n if (isType && (current === undefined || current === null) && typeof this.value === \"string\") {\n this.writeStore(this.field, this.value);\n }\n\n this.selected = current;\n }\n\n componentDidRender() {\n const errs = this.getErrors();\n if (errs?.[this.field]) {\n this.el.querySelector<HTMLInputElement | HTMLTextAreaElement>(`#${CSS.escape(this.field)}`)?.focus();\n }\n }\n\n render() {\n if (this.type === \"radio\") {\n if (Array.isArray(this.radioOptions) && this.radioOptions.length) {\n const checkedOptions = this.radioOptions.map((opt) => ({\n ...opt,\n checked: String(opt.value) === this.selected,\n }));\n return (\n <RadioGroup\n name={this.field}\n disabled={this.disabled}\n title={this.tooltip}\n type=\"radio\"\n onChange={this.onChangeFieldValidation}\n options={checkedOptions}\n specificPartKey={this.specificPartKey}\n aria-describedby={this.ariaDescribedBy}\n required={this.required}\n />\n );\n }\n\n if (typeof this.value === \"string\") {\n const currentValue = this.readStore(this.field);\n const isChecked = currentValue != null && String(currentValue) === this.value;\n return (\n <RadioGroup\n name={this.field}\n value={this.value}\n checked={isChecked}\n disabled={this.disabled}\n title={this.tooltip}\n componentClassName={this.componentClassName}\n type=\"radio\"\n specificPartKey={this.specificPartKey}\n onChange={this.onChangeFieldValidation}\n aria-describedby={this.ariaDescribedBy}\n required={this.required}\n />\n );\n }\n }\n\n if (this.type === \"checkbox\") {\n if (Array.isArray(this.multiSelectOptions) && this.multiSelectOptions.length) {\n const selected = Array.isArray(this.selected) ? this.selected : [];\n return (\n <MultiSelect\n value={selected}\n options={this.multiSelectOptions}\n disabled={this.disabled}\n title={this.tooltip}\n type=\"checkbox\"\n specificPartKey={this.specificPartKey}\n onToggle={this.onMultiToggle}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n\n if (this.value) {\n const currentValue = (this.readStore(this.field) as string[]) ?? [];\n const isChecked = currentValue?.includes(this.value as string);\n return (\n <MultiSelect\n id={`${this.field}-${this.value}`}\n name={this.field}\n value={this.value as string}\n checked={isChecked}\n disabled={this.disabled}\n title={this.tooltip}\n componentClassName={this.componentClassName}\n type=\"checkbox\"\n onToggle={(val, checked) => {\n const current = this.readStore(this.field) as string[];\n const updated = checked ? [...current, val] : current.filter((v) => v !== val);\n this.writeStore(this.field, updated);\n }}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n }\n\n if (this.type === \"select\") {\n const currentValue = (this.readStore(this.field) as string) ?? \"\";\n const option = this.getNormalizedOptions();\n return (\n <Select\n id={this.field}\n name={this.field}\n value={currentValue}\n options={option}\n disabled={this.disabled}\n title={this.tooltip}\n emptyOption={this.emptyOption}\n onChange={this.onChangeFieldValidation}\n componentClassName={this.componentClassName}\n countryCodeDisplayOption={this.countryCodeDisplayOption}\n countryIcon={this.countryIcon}\n attr_name={this.attrName}\n specificPartKey={this.specificPartKey}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n\n if (this.type === \"textarea\") {\n const currentValue = (this.readStore(this.field) as string) || \"\";\n return (\n <Textarea\n id={this.field}\n value={currentValue}\n required={this.required}\n disabled={this.disabled}\n title={this.tooltip}\n componentClassName={this.componentClassName}\n specificPartKey={this.specificPartKey}\n onChange={this.onChangeFieldValidation}\n onBlur={this.onBlurFieldValidation}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n\n const currentValue = (this.readStore(this.field) as string) || \"\";\n return (\n <Input\n id={this.field}\n value={currentValue}\n required={this.required}\n disabled={this.disabled}\n title={this.tooltip}\n type={this.type}\n componentClassName={this.componentClassName}\n placeholder={this.placeholder}\n specificPartKey={this.specificPartKey}\n onChange={this.onChangeFieldValidation}\n onBlur={this.onBlurFieldValidation}\n aria-describedby={this.ariaDescribedBy}\n />\n );\n }\n}\n"],"version":3}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { u as unidyState } from './unidy-store.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Redirects to Unidy's one_time_login endpoint with a token.
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```ts
|
|
8
|
+
* redirectWithToken({
|
|
9
|
+
* token: "abc123",
|
|
10
|
+
* newTab: true,
|
|
11
|
+
* extraParams: { redirect_uri: "https://example.com" }
|
|
12
|
+
* });
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
function redirectWithToken({ token, newTab = false, extraParams }) {
|
|
16
|
+
const redirectUrl = new URL("/one_time_login", unidyState.baseUrl);
|
|
17
|
+
redirectUrl.searchParams.set("token", token);
|
|
18
|
+
if (extraParams) {
|
|
19
|
+
for (const [key, value] of Object.entries(extraParams)) {
|
|
20
|
+
redirectUrl.searchParams.set(key, value);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
const finalUrl = redirectUrl.toString();
|
|
24
|
+
if (newTab) {
|
|
25
|
+
window.open(finalUrl, "_blank", "noreferrer");
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
window.location.href = finalUrl;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export { redirectWithToken as r };
|
|
33
|
+
//# sourceMappingURL=redirect-with-token.js.map
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=redirect-with-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"redirect-with-token.js","mappings":";;AAWA;;;;;;;;;;;AAWG;AACG,SAAU,iBAAiB,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,KAAK,EAAE,WAAW,EAA4B,EAAA;IAChG,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,OAAO,CAAC;IAClE,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC;IAE5C,IAAI,WAAW,EAAE;AACf,QAAA,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YACtD,WAAW,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC;;;AAI5C,IAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,EAAE;IAEvC,IAAI,MAAM,EAAE;QACV,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,YAAY,CAAC;;SACxC;AACL,QAAA,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ;;AAEnC;;;;","names":[],"sources":["src/shared/utils/redirect-with-token.ts"],"sourcesContent":["import { unidyState } from \"../store/unidy-store\";\n\nexport interface RedirectWithTokenOptions {\n /** The authentication token */\n token: string;\n /** If true, opens in a new tab. Defaults to false. */\n newTab?: boolean;\n /** Additional query parameters to add to the redirect URL */\n extraParams?: Record<string, string>;\n}\n\n/**\n * Redirects to Unidy's one_time_login endpoint with a token.\n *\n * @example\n * ```ts\n * redirectWithToken({\n * token: \"abc123\",\n * newTab: true,\n * extraParams: { redirect_uri: \"https://example.com\" }\n * });\n * ```\n */\nexport function redirectWithToken({ token, newTab = false, extraParams }: RedirectWithTokenOptions): void {\n const redirectUrl = new URL(\"/one_time_login\", unidyState.baseUrl);\n redirectUrl.searchParams.set(\"token\", token);\n\n if (extraParams) {\n for (const [key, value] of Object.entries(extraParams)) {\n redirectUrl.searchParams.set(key, value);\n }\n }\n\n const finalUrl = redirectUrl.toString();\n\n if (newTab) {\n window.open(finalUrl, \"_blank\", \"noreferrer\");\n } else {\n window.location.href = finalUrl;\n }\n}\n"],"version":3}
|