@saasquatch/mint-components 1.6.8-9 → 1.6.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/dist/cjs/{ShadowViewAddon-b706b992.js → ShadowViewAddon-f670c663.js} +271 -83
- package/dist/cjs/email-registration-view-f347daa7.js +79 -0
- package/dist/cjs/{global-48c25606.js → global-40232313.js} +8 -2
- package/dist/cjs/{index.module-f6afc139.js → index.module-4314dfb1.js} +227 -237
- package/dist/cjs/loader.cjs.js +3 -4
- package/dist/cjs/mint-components.cjs.js +3 -4
- package/dist/cjs/{re-render-552514cb.js → re-render-9a4ef430.js} +3 -3
- package/dist/cjs/{sqm-asset-card-view-79099616.js → sqm-asset-card-view-a0e33f21.js} +2 -2
- package/dist/cjs/sqm-asset-card.cjs.entry.js +2 -3
- package/dist/cjs/{sqm-big-stat_37.cjs.entry.js → sqm-big-stat_39.cjs.entry.js} +594 -291
- package/dist/cjs/sqm-close-button-view-fd6e8f60.js +28 -0
- package/dist/cjs/sqm-close-button.cjs.entry.js +41 -0
- package/dist/cjs/sqm-empty_5.cjs.entry.js +14 -7
- package/dist/cjs/sqm-form-message.cjs.entry.js +4 -1
- package/dist/cjs/sqm-graphql-client-provider.cjs.entry.js +5 -6
- package/dist/cjs/sqm-header-logo.cjs.entry.js +3 -3
- package/dist/cjs/sqm-instant-access-registration.cjs.entry.js +158 -0
- package/dist/cjs/sqm-leaderboard-rank.cjs.entry.js +5 -6
- package/dist/cjs/{sqm-user-identifier-view-90b36758.js → sqm-logout-current-user-view-555c7729.js} +8 -6
- package/dist/cjs/sqm-logout-current-user.cjs.entry.js +62 -0
- package/dist/cjs/{sqm-navigation-sidebar-item-view-c39b695c.js → sqm-navigation-sidebar-item-view-f66a1735.js} +4 -4
- package/dist/cjs/sqm-navigation-sidebar-item.cjs.entry.js +3 -4
- package/dist/cjs/{sqm-navigation-sidebar-view-b830e8d8.js → sqm-navigation-sidebar-view-dd53f947.js} +2 -2
- package/dist/cjs/sqm-navigation-sidebar.cjs.entry.js +3 -4
- package/dist/cjs/sqm-password-field.cjs.entry.js +5 -6
- package/dist/cjs/sqm-popup-container.cjs.entry.js +6 -7
- package/dist/cjs/{sqm-portal-container-view-6accb54a.js → sqm-portal-container-view-5fb2ad49.js} +4 -3
- package/dist/cjs/{sqm-portal-email-verification-view-2e646897.js → sqm-portal-email-verification-view-338e9288.js} +2 -2
- package/dist/cjs/sqm-portal-email-verification.cjs.entry.js +16 -17
- package/dist/cjs/{sqm-portal-forgot-password-view-f73bb724.js → sqm-portal-forgot-password-view-0142350f.js} +2 -2
- package/dist/cjs/sqm-portal-forgot-password.cjs.entry.js +12 -13
- package/dist/cjs/sqm-portal-logout.cjs.entry.js +3 -4
- package/dist/cjs/{sqm-portal-profile-view-52bc73ad.js → sqm-portal-profile-view-4847f1ea.js} +3 -3
- package/dist/cjs/sqm-portal-profile.cjs.entry.js +15 -16
- package/dist/cjs/sqm-portal-protected-route.cjs.entry.js +8 -9
- package/dist/cjs/sqm-portal-registration-form.cjs.entry.js +25 -26
- package/dist/cjs/{sqm-portal-reset-password-view-e182df83.js → sqm-portal-reset-password-view-d5bc7afc.js} +1 -1
- package/dist/cjs/sqm-portal-reset-password.cjs.entry.js +16 -17
- package/dist/cjs/{sqm-portal-verify-email-view-fd739843.js → sqm-portal-verify-email-view-f6c7287e.js} +3 -3
- package/dist/cjs/sqm-portal-verify-email.cjs.entry.js +10 -11
- package/dist/cjs/sqm-referral-table_11.cjs.entry.js +37 -38
- package/dist/cjs/sqm-referred-registration.cjs.entry.js +90 -11
- package/dist/cjs/sqm-rewards-table-customer-note-cell.cjs.entry.js +1 -1
- package/dist/cjs/sqm-rewards-table-customer-note-column.cjs.entry.js +3 -4
- package/dist/cjs/sqm-rewards-table_9.cjs.entry.js +33 -34
- package/dist/cjs/sqm-stencilbook.cjs.entry.js +548 -343
- package/dist/cjs/sqm-tab.cjs.entry.js +2 -3
- package/dist/cjs/sqm-tabs.cjs.entry.js +4 -5
- package/dist/cjs/{sqm-text-span-view-3c734dbb.js → sqm-text-span-view-e1cd9bd3.js} +1 -1
- package/dist/cjs/sqm-text-span.cjs.entry.js +1 -1
- package/dist/cjs/{useChildElements-a8f7f5ca.js → useChildElements-749f9c9c.js} +2 -2
- package/dist/cjs/useInstantAccessRegistration-1fea58e7.js +87 -0
- package/dist/cjs/{useReferralTable-f53a9a1b.js → useReferralTable-650b1957.js} +7 -7
- package/dist/cjs/{useRegistrationFormState-99160dad.js → useRegistrationFormState-67c0b5ff.js} +2 -2
- package/dist/collection/collection-manifest.json +4 -3
- package/dist/collection/components/sqm-asset-card/sqm-asset-card-view.js +2 -2
- package/dist/collection/components/sqm-asset-card/sqm-asset-card.js +2 -2
- package/dist/collection/components/sqm-big-stat/sqm-big-stat.js +3 -3
- package/dist/collection/components/sqm-brand/sqm-brand.js +3 -3
- package/dist/collection/components/sqm-card-feed/sqm-card-feed.js +4 -4
- package/dist/collection/components/sqm-checkbox-field/CheckboxField.stories.js +6 -1
- package/dist/collection/components/sqm-checkbox-field/sqm-checkbox-field-view.js +1 -1
- package/dist/collection/components/sqm-checkbox-field/sqm-checkbox-field.js +9 -9
- package/dist/collection/components/sqm-close-button/CloseButton.stories.js +27 -0
- package/dist/collection/components/sqm-close-button/sqm-close-button-view.js +23 -0
- package/dist/collection/components/sqm-close-button/sqm-close-button.js +65 -0
- package/dist/collection/components/sqm-coupon-code/CouponCode.stories.js +41 -11
- package/dist/collection/components/sqm-coupon-code/sqm-coupon-code-view.js +30 -0
- package/dist/collection/components/sqm-coupon-code/sqm-coupon-code.js +282 -45
- package/dist/collection/components/sqm-coupon-code/useCouponCode.js +88 -11
- package/dist/collection/components/sqm-divided-layout/sqm-divided-layout-view.js +1 -1
- package/dist/collection/components/sqm-divided-layout/sqm-divided-layout.js +2 -2
- package/dist/collection/components/sqm-dropdown-field/sqm-dropdown-field-view.js +1 -1
- package/dist/collection/components/sqm-dropdown-field/sqm-dropdown-field.js +5 -5
- package/dist/collection/components/sqm-edit-profile/sqm-edit-profile-view.js +4 -4
- package/dist/collection/components/sqm-edit-profile/sqm-edit-profile.js +7 -7
- package/dist/collection/components/sqm-empty/sqm-empty-view.js +1 -1
- package/dist/collection/components/sqm-form-message/FormMessage.stories.js +4 -0
- package/dist/collection/components/sqm-form-message/sqm-form-message.css +5 -0
- package/dist/collection/components/sqm-form-message/sqm-form-message.js +8 -3
- package/dist/collection/components/sqm-header-logo/sqm-header-logo.js +6 -6
- package/dist/collection/components/sqm-hero/Hero.stories.js +30 -0
- package/dist/collection/components/sqm-hero/sqm-hero-view.js +6 -5
- package/dist/collection/components/sqm-hero/sqm-hero.js +42 -8
- package/dist/collection/components/sqm-hero-image/sqm-hero-image-view.js +10 -9
- package/dist/collection/components/sqm-hero-image/sqm-hero-image.js +21 -21
- package/dist/collection/components/sqm-image/sqm-image-view.js +1 -1
- package/dist/collection/components/sqm-image/sqm-image.js +5 -5
- package/dist/collection/components/sqm-input-field/InputField.stories.js +6 -1
- package/dist/collection/components/sqm-input-field/sqm-input-field-view.js +1 -1
- package/dist/collection/components/sqm-input-field/sqm-input-field.js +6 -6
- package/dist/collection/components/sqm-instant-access-registration/sqm-instant-access-registration.js +574 -0
- package/dist/collection/components/sqm-instant-access-registration/useInstantAccessRegistration.js +82 -0
- package/dist/collection/components/sqm-leaderboard/sqm-leaderboard-view.js +2 -2
- package/dist/collection/components/sqm-leaderboard/sqm-leaderboard.js +13 -13
- package/dist/collection/components/sqm-leaderboard-rank/sqm-leaderboard-rank.js +6 -6
- package/dist/collection/components/sqm-link-button/LinkButton.stories.js +3 -4
- package/dist/collection/components/sqm-link-button/sqm-link-button-view.js +7 -4
- package/dist/collection/components/sqm-link-button/sqm-link-button.js +40 -6
- package/dist/collection/components/sqm-logout-current-user/LogoutCurrentUser.stories.js +17 -0
- package/dist/collection/components/{sqm-user-identifier/sqm-user-identifier-view.js → sqm-logout-current-user/sqm-logout-current-user-view.js} +7 -5
- package/dist/collection/components/{sqm-user-identifier/sqm-user-identifier.js → sqm-logout-current-user/sqm-logout-current-user.js} +31 -45
- package/dist/collection/components/sqm-logout-current-user/useLogoutCurrentUser.js +14 -0
- package/dist/collection/components/sqm-name-fields/sqm-name-fields.js +4 -4
- package/dist/collection/components/sqm-navigation-menu/sqm-navigation-menu.js +2 -2
- package/dist/collection/components/sqm-navigation-sidebar/sqm-navigation-sidebar-view.js +2 -2
- package/dist/collection/components/sqm-navigation-sidebar-item/sqm-navigation-sidebar-item-view.js +2 -2
- package/dist/collection/components/sqm-navigation-sidebar-item/sqm-navigation-sidebar-item.js +1 -1
- package/dist/collection/components/sqm-password-field/sqm-password-field-view.js +1 -1
- package/dist/collection/components/sqm-password-field/sqm-password-field.js +4 -4
- package/dist/collection/components/sqm-popup-container/sqm-popup-container-view.js +2 -2
- package/dist/collection/components/sqm-popup-container/sqm-popup-container.js +5 -5
- package/dist/collection/components/sqm-portal-change-password/sqm-portal-change-password.js +16 -16
- package/dist/collection/components/sqm-portal-container/PortalContainer.stories.js +12 -0
- package/dist/collection/components/sqm-portal-container/sqm-portal-container-view.js +2 -1
- package/dist/collection/components/sqm-portal-container/sqm-portal-container.js +40 -3
- package/dist/collection/components/sqm-portal-email-verification/sqm-portal-email-verification.js +12 -12
- package/dist/collection/components/sqm-portal-footer/sqm-portal-footer-view.js +1 -1
- package/dist/collection/components/sqm-portal-footer/sqm-portal-footer.js +40 -24
- package/dist/collection/components/sqm-portal-forgot-password/sqm-portal-forgot-password-view.js +1 -1
- package/dist/collection/components/sqm-portal-forgot-password/sqm-portal-forgot-password.js +12 -12
- package/dist/collection/components/sqm-portal-frame/sqm-portal-frame-view.js +3 -3
- package/dist/collection/components/sqm-portal-login/sqm-portal-login-view.js +1 -1
- package/dist/collection/components/sqm-portal-login/sqm-portal-login.js +18 -18
- package/dist/collection/components/sqm-portal-logout/sqm-portal-logout.js +3 -2
- package/dist/collection/components/sqm-portal-profile/sqm-portal-profile-view.js +1 -1
- package/dist/collection/components/sqm-portal-profile/sqm-portal-profile.js +16 -16
- package/dist/collection/components/sqm-portal-protected-route/sqm-portal-protected-route.js +6 -6
- package/dist/collection/components/sqm-portal-register/PortalRegister.stories.js +16 -2
- package/dist/collection/components/sqm-portal-register/sqm-portal-register-view.js +5 -5
- package/dist/collection/components/sqm-portal-register/sqm-portal-register.js +151 -25
- package/dist/collection/components/sqm-portal-register/usePortalRegister.js +5 -5
- package/dist/collection/components/sqm-portal-registration-form/sqm-portal-registration-form-view.js +1 -1
- package/dist/collection/components/sqm-portal-registration-form/sqm-portal-registration-form.js +35 -35
- package/dist/collection/components/sqm-portal-reset-password/sqm-portal-reset-password.js +18 -18
- package/dist/collection/components/sqm-portal-verify-email/sqm-portal-verify-email-view.js +2 -2
- package/dist/collection/components/sqm-portal-verify-email/sqm-portal-verify-email.js +4 -4
- package/dist/collection/components/sqm-program-explainer/sqm-program-explainer-view.js +3 -3
- package/dist/collection/components/sqm-program-explainer/sqm-program-explainer.js +3 -3
- package/dist/collection/components/sqm-program-explainer-step/sqm-program-explainer-step-view.js +4 -4
- package/dist/collection/components/sqm-program-explainer-step/sqm-program-explainer-step.js +3 -3
- package/dist/collection/components/sqm-referral-card/ReferralCard.stories.js +23 -0
- package/dist/collection/components/sqm-referral-card/sqm-referral-card-view.js +27 -32
- package/dist/collection/components/sqm-referral-card/sqm-referral-card.js +246 -3
- package/dist/collection/components/sqm-referral-iframe/sqm-referral-iframe.js +5 -5
- package/dist/collection/components/sqm-referral-table/cells/sqm-referral-table-rewards-cell.js +7 -7
- package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-column.js +1 -1
- package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-date-column.js +4 -4
- package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-rewards-column.js +14 -14
- package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-status-column.js +6 -6
- package/dist/collection/components/sqm-referral-table/columns/sqm-referral-table-user-column.js +6 -6
- package/dist/collection/components/sqm-referral-table/sqm-referral-table.js +16 -16
- package/dist/collection/components/sqm-referred-registration/sqm-referred-registration.js +379 -18
- package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list-view.js +1 -1
- package/dist/collection/components/sqm-reward-exchange-list/sqm-reward-exchange-list.js +50 -50
- package/dist/collection/components/sqm-rewards-table/cells/sqm-rewards-table-reward-cell.js +3 -3
- package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-date-column.js +4 -4
- package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-note-column.js +2 -2
- package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-reward-column.js +8 -8
- package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-source-column.js +12 -12
- package/dist/collection/components/sqm-rewards-table/columns/sqm-rewards-table-status-column.js +12 -12
- package/dist/collection/components/sqm-rewards-table/sqm-rewards-table.js +12 -12
- package/dist/collection/components/sqm-route/sqm-route.js +1 -1
- package/dist/collection/components/sqm-scroll/sqm-scroll.js +9 -9
- package/dist/collection/components/sqm-share-button/sqm-share-button.js +17 -17
- package/dist/collection/components/sqm-share-code/ShareCode.stories.js +4 -9
- package/dist/collection/components/sqm-share-code/sqm-share-code.js +30 -31
- package/dist/collection/components/sqm-share-link/ShareLink.stories.js +4 -9
- package/dist/collection/components/sqm-share-link/sqm-share-link.js +32 -33
- package/dist/collection/components/sqm-stat-container/sqm-stat-container-view.js +3 -3
- package/dist/collection/components/sqm-stat-container/sqm-stat-container.js +2 -2
- package/dist/collection/components/sqm-stencilbook/sqm-stencilbook.js +4 -2
- package/dist/collection/components/sqm-tab/sqm-tab.js +1 -1
- package/dist/collection/components/sqm-table-cell/sqm-table-cell.js +2 -2
- package/dist/collection/components/sqm-tabs/sqm-tabs.js +1 -1
- package/dist/collection/components/sqm-task-card/DetailsView.js +1 -1
- package/dist/collection/components/sqm-task-card/sqm-task-card-view.js +3 -3
- package/dist/collection/components/sqm-task-card/sqm-task-card.js +36 -36
- package/dist/collection/components/sqm-text-span/sqm-text-span-view.js +1 -1
- package/dist/collection/components/sqm-timeline/sqm-timeline-entry-view.js +2 -2
- package/dist/collection/components/sqm-timeline/sqm-timeline-entry.js +2 -2
- package/dist/collection/components/sqm-titled-section/sqm-portal-section-view.js +2 -2
- package/dist/collection/components/sqm-titled-section/sqm-titled-section.js +6 -6
- package/dist/collection/components/sqm-user-name/sqm-user-name.js +4 -4
- package/dist/collection/components/views/EmailRegistration.stories.js +38 -3
- package/dist/collection/components/views/copy-text-view.js +44 -27
- package/dist/collection/components/views/email-registration-view.js +34 -7
- package/dist/collection/global/styles.js +6 -0
- package/dist/collection/global/styles.ts +6 -0
- package/dist/collection/stories/PortalTemplates.stories.js +2 -42
- package/dist/collection/stories/Widget.stories.js +24 -26
- package/dist/collection/utils/DefaultTemplateView.js +31 -0
- package/dist/collection/utils/TemplateView.js +13 -0
- package/dist/esm/{ShadowViewAddon-8acfeb00.js → ShadowViewAddon-86f7b900.js} +272 -86
- package/dist/esm/email-registration-view-0a11e959.js +77 -0
- package/dist/esm/{global-170c4499.js → global-9992475a.js} +9 -3
- package/dist/esm/{index.module-0ba0774e.js → index.module-bbce47bd.js} +210 -221
- package/dist/esm/loader.js +4 -5
- package/dist/esm/{luxon-1e38d7f1.js → luxon-f01e85fe.js} +1 -1
- package/dist/esm/mint-components.js +4 -5
- package/dist/esm/{re-render-22de5b23.js → re-render-88ac4fa7.js} +4 -4
- package/dist/esm/{sqm-asset-card-view-b2ac5a23.js → sqm-asset-card-view-9d93fbdd.js} +2 -2
- package/dist/esm/sqm-asset-card.entry.js +3 -4
- package/dist/esm/{sqm-big-stat_37.entry.js → sqm-big-stat_39.entry.js} +596 -295
- package/dist/esm/sqm-close-button-view-dc65b4e3.js +26 -0
- package/dist/esm/sqm-close-button.entry.js +37 -0
- package/dist/esm/sqm-empty_5.entry.js +15 -8
- package/dist/esm/sqm-form-message.entry.js +5 -2
- package/dist/esm/sqm-graphql-client-provider.entry.js +6 -7
- package/dist/esm/sqm-header-logo.entry.js +4 -4
- package/dist/esm/sqm-instant-access-registration.entry.js +154 -0
- package/dist/esm/sqm-leaderboard-rank.entry.js +6 -7
- package/dist/esm/{sqm-user-identifier-view-dbf71a5e.js → sqm-logout-current-user-view-2d740794.js} +8 -6
- package/dist/esm/sqm-logout-current-user.entry.js +58 -0
- package/dist/esm/{sqm-navigation-sidebar-item-view-5a4ac267.js → sqm-navigation-sidebar-item-view-debb6dfe.js} +4 -4
- package/dist/esm/sqm-navigation-sidebar-item.entry.js +4 -5
- package/dist/esm/{sqm-navigation-sidebar-view-feb719ce.js → sqm-navigation-sidebar-view-414bcb19.js} +2 -2
- package/dist/esm/sqm-navigation-sidebar.entry.js +4 -5
- package/dist/esm/sqm-password-field.entry.js +6 -7
- package/dist/esm/sqm-popup-container.entry.js +7 -8
- package/dist/esm/{sqm-portal-container-view-83b417f0.js → sqm-portal-container-view-ab89c6cc.js} +4 -3
- package/dist/esm/{sqm-portal-email-verification-view-889fcc01.js → sqm-portal-email-verification-view-a93d12ca.js} +2 -2
- package/dist/esm/sqm-portal-email-verification.entry.js +16 -17
- package/dist/esm/{sqm-portal-forgot-password-view-9970dee2.js → sqm-portal-forgot-password-view-41afcace.js} +2 -2
- package/dist/esm/sqm-portal-forgot-password.entry.js +13 -14
- package/dist/esm/sqm-portal-logout.entry.js +4 -5
- package/dist/esm/{sqm-portal-profile-view-ac955752.js → sqm-portal-profile-view-1022dd7b.js} +3 -3
- package/dist/esm/sqm-portal-profile.entry.js +16 -17
- package/dist/esm/sqm-portal-protected-route.entry.js +9 -10
- package/dist/esm/sqm-portal-registration-form.entry.js +25 -26
- package/dist/esm/{sqm-portal-reset-password-view-1f0f3bf8.js → sqm-portal-reset-password-view-0df781f6.js} +1 -1
- package/dist/esm/sqm-portal-reset-password.entry.js +17 -18
- package/dist/esm/{sqm-portal-verify-email-view-8d453021.js → sqm-portal-verify-email-view-1db4fae6.js} +3 -3
- package/dist/esm/sqm-portal-verify-email.entry.js +11 -12
- package/dist/esm/sqm-referral-table_11.entry.js +39 -40
- package/dist/esm/sqm-referred-registration.entry.js +91 -12
- package/dist/esm/sqm-rewards-table-customer-note-cell.entry.js +2 -2
- package/dist/esm/sqm-rewards-table-customer-note-column.entry.js +4 -5
- package/dist/esm/sqm-rewards-table_9.entry.js +35 -36
- package/dist/esm/sqm-stencilbook.entry.js +541 -336
- package/dist/esm/sqm-tab.entry.js +3 -4
- package/dist/esm/sqm-tabs.entry.js +5 -6
- package/dist/esm/{sqm-text-span-view-2f7d6d14.js → sqm-text-span-view-8d140661.js} +1 -1
- package/dist/esm/sqm-text-span.entry.js +2 -2
- package/dist/esm/{stencil-hooks.module-b48b45ec.js → stencil-hooks.module-14b87f98.js} +1 -1
- package/dist/esm/{useChildElements-fd458906.js → useChildElements-ae207f6d.js} +3 -3
- package/dist/esm/useInstantAccessRegistration-175820dc.js +85 -0
- package/dist/esm/{useReferralTable-a3d6051e.js → useReferralTable-3aa578fa.js} +9 -9
- package/dist/esm/{useRegistrationFormState-29e30121.js → useRegistrationFormState-7bf6c145.js} +3 -3
- package/dist/esm-es5/ShadowViewAddon-86f7b900.js +1 -0
- package/dist/esm-es5/email-registration-view-0a11e959.js +1 -0
- package/dist/esm-es5/{global-170c4499.js → global-9992475a.js} +2 -2
- package/dist/esm-es5/index.module-bbce47bd.js +1 -0
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/{luxon-1e38d7f1.js → luxon-f01e85fe.js} +1 -1
- package/dist/esm-es5/mint-components.js +1 -1
- package/dist/esm-es5/{re-render-22de5b23.js → re-render-88ac4fa7.js} +1 -1
- package/dist/esm-es5/sqm-asset-card-view-9d93fbdd.js +1 -0
- package/dist/esm-es5/sqm-asset-card.entry.js +1 -1
- package/dist/esm-es5/sqm-big-stat_39.entry.js +1 -0
- package/dist/esm-es5/sqm-close-button-view-dc65b4e3.js +1 -0
- package/dist/esm-es5/sqm-close-button.entry.js +1 -0
- package/dist/esm-es5/sqm-empty_5.entry.js +1 -1
- package/dist/esm-es5/sqm-form-message.entry.js +1 -1
- package/dist/esm-es5/sqm-graphql-client-provider.entry.js +1 -1
- package/dist/esm-es5/sqm-header-logo.entry.js +1 -1
- package/dist/esm-es5/sqm-instant-access-registration.entry.js +1 -0
- package/dist/esm-es5/sqm-leaderboard-rank.entry.js +1 -1
- package/dist/esm-es5/sqm-logout-current-user-view-2d740794.js +1 -0
- package/dist/esm-es5/sqm-logout-current-user.entry.js +1 -0
- package/dist/esm-es5/sqm-navigation-sidebar-item-view-debb6dfe.js +1 -0
- package/dist/esm-es5/sqm-navigation-sidebar-item.entry.js +1 -1
- package/dist/esm-es5/{sqm-navigation-sidebar-view-feb719ce.js → sqm-navigation-sidebar-view-414bcb19.js} +1 -1
- package/dist/esm-es5/sqm-navigation-sidebar.entry.js +1 -1
- package/dist/esm-es5/sqm-password-field.entry.js +1 -1
- package/dist/esm-es5/sqm-popup-container.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-container-view-ab89c6cc.js +1 -0
- package/dist/esm-es5/{sqm-portal-email-verification-view-889fcc01.js → sqm-portal-email-verification-view-a93d12ca.js} +1 -1
- package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-forgot-password-view-41afcace.js +1 -0
- package/dist/esm-es5/sqm-portal-forgot-password.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-logout.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-profile-view-1022dd7b.js +1 -0
- package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-protected-route.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-registration-form.entry.js +1 -1
- package/dist/esm-es5/{sqm-portal-reset-password-view-1f0f3bf8.js → sqm-portal-reset-password-view-0df781f6.js} +1 -1
- package/dist/esm-es5/sqm-portal-reset-password.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-verify-email-view-1db4fae6.js +1 -0
- package/dist/esm-es5/sqm-portal-verify-email.entry.js +1 -1
- package/dist/esm-es5/sqm-referral-table_11.entry.js +1 -1
- package/dist/esm-es5/sqm-referred-registration.entry.js +1 -1
- package/dist/esm-es5/sqm-rewards-table-customer-note-cell.entry.js +1 -1
- package/dist/esm-es5/sqm-rewards-table-customer-note-column.entry.js +1 -1
- package/dist/esm-es5/sqm-rewards-table_9.entry.js +1 -1
- package/dist/esm-es5/sqm-stencilbook.entry.js +1 -1
- package/dist/esm-es5/sqm-tab.entry.js +1 -1
- package/dist/esm-es5/sqm-tabs.entry.js +1 -1
- package/dist/esm-es5/{sqm-text-span-view-2f7d6d14.js → sqm-text-span-view-8d140661.js} +1 -1
- package/dist/esm-es5/sqm-text-span.entry.js +1 -1
- package/dist/esm-es5/{stencil-hooks.module-b48b45ec.js → stencil-hooks.module-14b87f98.js} +1 -1
- package/dist/esm-es5/{useChildElements-fd458906.js → useChildElements-ae207f6d.js} +1 -1
- package/dist/esm-es5/useInstantAccessRegistration-175820dc.js +1 -0
- package/dist/esm-es5/{useReferralTable-a3d6051e.js → useReferralTable-3aa578fa.js} +1 -1
- package/dist/esm-es5/useRegistrationFormState-7bf6c145.js +1 -0
- package/dist/mint-components/global/styles.ts +6 -0
- package/dist/mint-components/mint-components.esm.js +1 -1
- package/dist/mint-components/mint-components.js +1 -1
- package/dist/mint-components/p-0076de9e.js +1 -0
- package/dist/mint-components/{p-64242338.system.js → p-082fe308.system.js} +1 -1
- package/dist/mint-components/p-0ab63c5d.system.entry.js +1 -0
- package/dist/mint-components/p-0bf5a9b8.system.entry.js +1 -0
- package/dist/mint-components/p-0f59af44.system.entry.js +1 -0
- package/dist/mint-components/p-11ee41b2.entry.js +9 -0
- package/dist/mint-components/p-11f90784.entry.js +13 -0
- package/dist/mint-components/{p-7d31f692.js → p-128c36cb.js} +1 -1
- package/dist/mint-components/p-1437b793.system.js +1 -0
- package/dist/mint-components/p-16394ed3.system.entry.js +1 -0
- package/dist/mint-components/{p-96b05458.system.entry.js → p-16a009a5.system.entry.js} +1 -1
- package/dist/mint-components/{p-9cdf8d74.entry.js → p-192d008d.entry.js} +2 -2
- package/dist/mint-components/p-194d5ee8.system.entry.js +1 -0
- package/dist/mint-components/p-1c9d83b4.entry.js +1 -0
- package/dist/mint-components/p-1db4e037.system.entry.js +1 -0
- package/dist/mint-components/p-1fdf691b.js +1 -0
- package/dist/mint-components/{p-7d7baf55.entry.js → p-230ee2cf.entry.js} +2 -2
- package/dist/mint-components/p-25233df5.js +1 -0
- package/dist/mint-components/p-29edd49c.system.js +1 -0
- package/dist/mint-components/{p-3c189cea.system.js → p-2b6c19e0.system.js} +1 -1
- package/dist/mint-components/p-2bf86715.js +1 -0
- package/dist/mint-components/p-2de46e95.system.entry.js +1 -0
- package/dist/mint-components/p-3036cf58.system.js +1 -0
- package/dist/mint-components/p-307ef2b0.system.js +1 -0
- package/dist/mint-components/p-33f0d220.system.js +1 -0
- package/dist/mint-components/{p-d6c78b10.entry.js → p-399a1963.entry.js} +2 -2
- package/dist/mint-components/{p-b79c0e38.system.js → p-3cc28285.system.js} +1 -1
- package/dist/mint-components/p-3d34ec61.system.js +1 -0
- package/dist/mint-components/p-438599c9.entry.js +1 -0
- package/dist/mint-components/p-44dad7ec.entry.js +1 -0
- package/dist/mint-components/p-44f77c0b.system.entry.js +1 -0
- package/dist/mint-components/p-45b73581.system.js +1 -0
- package/dist/mint-components/p-46be1518.system.js +1 -0
- package/dist/mint-components/p-474aa3f6.entry.js +1 -0
- package/dist/mint-components/{p-bb6f60a6.system.js → p-4f775e84.system.js} +1 -1
- package/dist/mint-components/p-4fb813da.entry.js +1 -0
- package/dist/mint-components/p-539f8759.system.js +1 -0
- package/dist/mint-components/{p-bd63ef52.system.js → p-56525896.system.js} +1 -1
- package/dist/mint-components/p-56a7983b.js +1 -0
- package/dist/mint-components/{p-9076f688.js → p-58778ecb.js} +1 -1
- package/dist/mint-components/p-58852f54.entry.js +1 -0
- package/dist/mint-components/{p-f8dd6bac.js → p-5d0c9424.js} +1 -1
- package/dist/mint-components/p-5df5e5f9.system.entry.js +1 -0
- package/dist/mint-components/p-5e4833bf.system.js +1 -0
- package/dist/mint-components/p-608f0ed5.js +1 -0
- package/dist/mint-components/p-6147a73f.entry.js +1 -0
- package/dist/mint-components/{p-a59be693.js → p-67abcc4a.js} +4 -4
- package/dist/mint-components/p-6cdd171b.entry.js +1 -0
- package/dist/mint-components/p-6ec0be2a.entry.js +1 -0
- package/dist/mint-components/p-71584f5f.system.entry.js +1 -0
- package/dist/mint-components/p-744a6dac.system.js +1 -0
- package/dist/mint-components/p-75ddf3ca.js +1 -0
- package/dist/mint-components/p-79d72296.system.entry.js +1 -0
- package/dist/mint-components/p-79da7f18.js +1 -0
- package/dist/mint-components/p-7d3414ba.system.entry.js +1 -0
- package/dist/mint-components/p-7f8f0db3.entry.js +1 -0
- package/dist/mint-components/p-8bc630b0.system.entry.js +1 -0
- package/dist/mint-components/{p-0c7a3116.system.entry.js → p-8e649005.system.entry.js} +1 -1
- package/dist/mint-components/p-8f3486f6.entry.js +187 -0
- package/dist/mint-components/{p-ed801cb7.js → p-901f5b80.js} +1 -1
- package/dist/mint-components/p-922578e4.system.js +1 -0
- package/dist/mint-components/p-92cb27b6.entry.js +1 -0
- package/dist/mint-components/p-9907bc8a.js +1 -0
- package/dist/mint-components/p-9b2e0181.js +268 -0
- package/dist/mint-components/p-9b4eaec3.system.entry.js +1 -0
- package/dist/mint-components/{p-657acf81.system.js → p-9e2e4fbe.system.js} +1 -1
- package/dist/mint-components/p-9eae314d.entry.js +1 -0
- package/dist/mint-components/p-9fc8505c.entry.js +1 -0
- package/dist/mint-components/p-a217deee.js +1 -0
- package/dist/mint-components/p-a35aa347.entry.js +1 -0
- package/dist/mint-components/{p-9d9da716.js → p-a44dff0a.js} +1 -1
- package/dist/mint-components/p-a6c68191.entry.js +1 -0
- package/dist/mint-components/p-aaeeec70.system.entry.js +1 -0
- package/dist/mint-components/{p-8f58a603.system.js → p-ad7d5f56.system.js} +1 -1
- package/dist/mint-components/{p-3cbdb360.system.entry.js → p-b668aa0b.system.entry.js} +1 -1
- package/dist/mint-components/p-bbe7d182.system.entry.js +1 -0
- package/dist/mint-components/p-bd86123f.entry.js +1 -0
- package/dist/mint-components/{p-96e98d06.system.js → p-c06048c9.system.js} +1 -1
- package/dist/mint-components/p-c5577dd7.system.js +1 -0
- package/dist/mint-components/p-c6795c0c.entry.js +1 -0
- package/dist/mint-components/p-c80304f8.system.entry.js +1 -0
- package/dist/mint-components/p-c8d74710.entry.js +1 -0
- package/dist/mint-components/p-c9ff4821.entry.js +1 -0
- package/dist/mint-components/p-cadf178d.entry.js +1 -0
- package/dist/mint-components/p-cb900cb6.system.js +1 -0
- package/dist/mint-components/p-cbe95ae4.system.entry.js +1 -0
- package/dist/mint-components/p-cd9e6c32.system.entry.js +1 -0
- package/dist/mint-components/p-d349add6.system.entry.js +1 -0
- package/dist/mint-components/{p-25254dd1.js → p-d576140e.js} +1 -1
- package/dist/mint-components/p-d5a32584.entry.js +1 -0
- package/dist/mint-components/p-d6d40daa.system.entry.js +1 -0
- package/dist/mint-components/p-db24ac64.js +1 -0
- package/dist/mint-components/p-db27e30b.js +1 -0
- package/dist/mint-components/{p-085290c7.system.entry.js → p-e341e670.system.entry.js} +1 -1
- package/dist/mint-components/p-e4ed1803.entry.js +1 -0
- package/dist/mint-components/p-e56cabdd.system.js +1 -0
- package/dist/mint-components/p-e704842c.js +1 -0
- package/dist/mint-components/p-e753d5f0.system.entry.js +1 -0
- package/dist/mint-components/p-ee469a91.entry.js +1 -0
- package/dist/mint-components/p-ee4cbecb.entry.js +1 -0
- package/dist/mint-components/{p-a90b4c3f.js → p-efd129de.js} +1 -1
- package/dist/mint-components/{p-70263662.system.js → p-f1aed7cc.system.js} +2 -2
- package/dist/mint-components/p-f2724390.system.entry.js +1 -0
- package/dist/mint-components/p-f2944edb.system.entry.js +1 -0
- package/dist/mint-components/p-f665d57c.system.entry.js +1 -0
- package/dist/mint-components/{p-da70e75d.entry.js → p-f82bb604.entry.js} +1 -1
- package/dist/mint-components/p-fb93c962.js +1 -0
- package/dist/mint-components/p-fd5d6181.system.entry.js +1 -0
- package/dist/mint-components/{p-d9643307.system.entry.js → p-ff3b0ece.system.entry.js} +1 -1
- package/dist/types/components/sqm-asset-card/sqm-asset-card.d.ts +2 -2
- package/dist/types/components/sqm-big-stat/sqm-big-stat.d.ts +2 -2
- package/dist/types/components/sqm-brand/sqm-brand.d.ts +3 -3
- package/dist/types/components/sqm-card-feed/sqm-card-feed.d.ts +2 -2
- package/dist/types/components/sqm-checkbox-field/sqm-checkbox-field.d.ts +5 -5
- package/dist/types/components/sqm-close-button/CloseButton.stories.d.ts +8 -0
- package/dist/types/components/sqm-close-button/sqm-close-button-view.d.ts +5 -0
- package/dist/types/components/sqm-close-button/sqm-close-button.d.ts +14 -0
- package/dist/types/components/sqm-coupon-code/CouponCode.stories.d.ts +15 -4
- package/dist/types/components/sqm-coupon-code/sqm-coupon-code-view.d.ts +6 -0
- package/dist/types/components/sqm-coupon-code/sqm-coupon-code.d.ts +70 -20
- package/dist/types/components/sqm-coupon-code/useCouponCode.d.ts +9 -2
- package/dist/types/components/sqm-divided-layout/sqm-divided-layout.d.ts +1 -1
- package/dist/types/components/sqm-dropdown-field/sqm-dropdown-field.d.ts +3 -3
- package/dist/types/components/sqm-edit-profile/sqm-edit-profile.d.ts +7 -7
- package/dist/types/components/sqm-form-message/FormMessage.stories.d.ts +1 -0
- package/dist/types/components/sqm-form-message/sqm-form-message.d.ts +4 -2
- package/dist/types/components/sqm-header-logo/sqm-header-logo.d.ts +3 -3
- package/dist/types/components/sqm-hero/Hero.stories.d.ts +2 -0
- package/dist/types/components/sqm-hero/sqm-hero-view.d.ts +1 -0
- package/dist/types/components/sqm-hero/sqm-hero.d.ts +12 -5
- package/dist/types/components/sqm-hero-image/sqm-hero-image.d.ts +13 -13
- package/dist/types/components/sqm-image/sqm-image.d.ts +4 -4
- package/dist/types/components/sqm-input-field/sqm-input-field.d.ts +4 -4
- package/dist/types/components/sqm-instant-access-registration/sqm-instant-access-registration.d.ts +111 -0
- package/dist/types/components/sqm-instant-access-registration/useInstantAccessRegistration.d.ts +11 -0
- package/dist/types/components/sqm-leaderboard/sqm-leaderboard.d.ts +10 -10
- package/dist/types/components/sqm-leaderboard-rank/sqm-leaderboard-rank.d.ts +5 -5
- package/dist/types/components/sqm-link-button/sqm-link-button-view.d.ts +2 -2
- package/dist/types/components/sqm-link-button/sqm-link-button.d.ts +10 -3
- package/dist/types/components/sqm-logout-current-user/sqm-logout-current-user-view.d.ts +6 -0
- package/dist/types/components/sqm-logout-current-user/sqm-logout-current-user.d.ts +28 -0
- package/dist/types/components/sqm-logout-current-user/useLogoutCurrentUser.d.ts +3 -0
- package/dist/types/components/sqm-name-fields/sqm-name-fields.d.ts +2 -2
- package/dist/types/components/sqm-navigation-menu/sqm-navigation-menu.d.ts +2 -2
- package/dist/types/components/sqm-navigation-sidebar-item/sqm-navigation-sidebar-item.d.ts +1 -1
- package/dist/types/components/sqm-password-field/sqm-password-field.d.ts +2 -2
- package/dist/types/components/sqm-popup-container/sqm-popup-container.d.ts +5 -5
- package/dist/types/components/sqm-portal-change-password/sqm-portal-change-password.d.ts +8 -8
- package/dist/types/components/sqm-portal-container/PortalContainer.stories.d.ts +1 -0
- package/dist/types/components/sqm-portal-container/sqm-portal-container-view.d.ts +1 -0
- package/dist/types/components/sqm-portal-container/sqm-portal-container.d.ts +10 -3
- package/dist/types/components/sqm-portal-email-verification/sqm-portal-email-verification.d.ts +6 -6
- package/dist/types/components/sqm-portal-footer/sqm-portal-footer.d.ts +17 -13
- package/dist/types/components/sqm-portal-forgot-password/sqm-portal-forgot-password.d.ts +6 -6
- package/dist/types/components/sqm-portal-login/sqm-portal-login.d.ts +9 -9
- package/dist/types/components/sqm-portal-logout/sqm-portal-logout.d.ts +2 -1
- package/dist/types/components/sqm-portal-profile/sqm-portal-profile.d.ts +8 -8
- package/dist/types/components/sqm-portal-protected-route/sqm-portal-protected-route.d.ts +3 -3
- package/dist/types/components/sqm-portal-register/sqm-portal-register-view.d.ts +2 -0
- package/dist/types/components/sqm-portal-register/sqm-portal-register.d.ts +40 -12
- package/dist/types/components/sqm-portal-registration-form/sqm-portal-registration-form.d.ts +18 -18
- package/dist/types/components/sqm-portal-reset-password/sqm-portal-reset-password.d.ts +9 -9
- package/dist/types/components/sqm-portal-verify-email/sqm-portal-verify-email.d.ts +2 -2
- package/dist/types/components/sqm-program-explainer/sqm-program-explainer.d.ts +3 -3
- package/dist/types/components/sqm-program-explainer-step/sqm-program-explainer-step.d.ts +3 -3
- package/dist/types/components/sqm-referral-card/ReferralCard.stories.d.ts +5 -0
- package/dist/types/components/sqm-referral-card/sqm-referral-card-view.d.ts +9 -0
- package/dist/types/components/sqm-referral-card/sqm-referral-card.d.ts +45 -1
- package/dist/types/components/sqm-referral-iframe/sqm-referral-iframe.d.ts +3 -3
- package/dist/types/components/sqm-referral-table/columns/sqm-referral-table-column.d.ts +1 -1
- package/dist/types/components/sqm-referral-table/columns/sqm-referral-table-date-column.d.ts +2 -2
- package/dist/types/components/sqm-referral-table/columns/sqm-referral-table-rewards-column.d.ts +6 -6
- package/dist/types/components/sqm-referral-table/columns/sqm-referral-table-status-column.d.ts +3 -3
- package/dist/types/components/sqm-referral-table/columns/sqm-referral-table-user-column.d.ts +3 -3
- package/dist/types/components/sqm-referral-table/sqm-referral-table.d.ts +8 -8
- package/dist/types/components/sqm-referred-registration/sqm-referred-registration.d.ts +80 -6
- package/dist/types/components/sqm-reward-exchange-list/sqm-reward-exchange-list.d.ts +25 -25
- package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-date-column.d.ts +2 -2
- package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-note-column.d.ts +1 -1
- package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-reward-column.d.ts +4 -4
- package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-source-column.d.ts +6 -6
- package/dist/types/components/sqm-rewards-table/columns/sqm-rewards-table-status-column.d.ts +6 -6
- package/dist/types/components/sqm-rewards-table/sqm-rewards-table.d.ts +6 -6
- package/dist/types/components/sqm-route/sqm-route.d.ts +1 -1
- package/dist/types/components/sqm-scroll/sqm-scroll.d.ts +7 -7
- package/dist/types/components/sqm-share-button/sqm-share-button.d.ts +12 -12
- package/dist/types/components/sqm-share-code/ShareCode.stories.d.ts +1 -1
- package/dist/types/components/sqm-share-code/sqm-share-code.d.ts +13 -15
- package/dist/types/components/sqm-share-link/ShareLink.stories.d.ts +1 -1
- package/dist/types/components/sqm-share-link/sqm-share-link.d.ts +13 -15
- package/dist/types/components/sqm-stat-container/sqm-stat-container.d.ts +1 -1
- package/dist/types/components/sqm-tab/sqm-tab.d.ts +1 -1
- package/dist/types/components/sqm-table-cell/sqm-table-cell.d.ts +1 -1
- package/dist/types/components/sqm-tabs/sqm-tabs.d.ts +1 -1
- package/dist/types/components/sqm-task-card/sqm-task-card.d.ts +21 -21
- package/dist/types/components/sqm-timeline/sqm-timeline-entry.d.ts +2 -2
- package/dist/types/components/sqm-titled-section/sqm-titled-section.d.ts +3 -3
- package/dist/types/components/sqm-user-name/sqm-user-name.d.ts +2 -2
- package/dist/types/components/views/EmailRegistration.stories.d.ts +3 -0
- package/dist/types/components/views/copy-text-view.d.ts +5 -2
- package/dist/types/components/views/email-registration-view.d.ts +10 -0
- package/dist/types/components.d.ts +1400 -846
- package/dist/types/global/styles.d.ts +1 -1
- package/dist/types/stories/PortalTemplates.stories.d.ts +0 -1
- package/dist/types/stories/Widget.stories.d.ts +16 -4
- package/dist/types/utils/DefaultTemplateView.d.ts +1 -0
- package/dist/types/utils/TemplateView.d.ts +1 -0
- package/docs/docs.docx +0 -0
- package/docs/raisins.json +1 -1
- package/grapesjs/grapesjs.js +1 -1
- package/package.json +4 -4
- package/dist/cjs/email-registration-view-a483578e.js +0 -52
- package/dist/cjs/sqm-hero-view-ddd1ef43.js +0 -149
- package/dist/cjs/sqm-hero.cjs.entry.js +0 -58
- package/dist/cjs/sqm-link-button-view-2ee270e0.js +0 -27
- package/dist/cjs/sqm-link-button.cjs.entry.js +0 -23
- package/dist/cjs/sqm-passwordless-registration.cjs.entry.js +0 -81
- package/dist/cjs/sqm-user-identifier.cjs.entry.js +0 -52
- package/dist/cjs/use-callback-86e9ac75.js +0 -7
- package/dist/cjs/usePasswordlessRegistration-983ebab7.js +0 -46
- package/dist/collection/components/sqm-passwordless-registration/sqm-passwordless-registration.js +0 -215
- package/dist/collection/components/sqm-passwordless-registration/usePasswordlessRegistration.js +0 -41
- package/dist/collection/components/sqm-user-identifier/UserIdentifier.stories.js +0 -17
- package/dist/collection/components/sqm-user-identifier/useUserIdentifer.js +0 -9
- package/dist/esm/email-registration-view-0ed79e24.js +0 -50
- package/dist/esm/sqm-hero-view-875c927d.js +0 -147
- package/dist/esm/sqm-hero.entry.js +0 -54
- package/dist/esm/sqm-link-button-view-90aeb27f.js +0 -25
- package/dist/esm/sqm-link-button.entry.js +0 -19
- package/dist/esm/sqm-passwordless-registration.entry.js +0 -77
- package/dist/esm/sqm-user-identifier.entry.js +0 -48
- package/dist/esm/use-callback-051c06c6.js +0 -5
- package/dist/esm/usePasswordlessRegistration-94f265fe.js +0 -44
- package/dist/esm-es5/ShadowViewAddon-8acfeb00.js +0 -1
- package/dist/esm-es5/email-registration-view-0ed79e24.js +0 -1
- package/dist/esm-es5/index.module-0ba0774e.js +0 -1
- package/dist/esm-es5/sqm-asset-card-view-b2ac5a23.js +0 -1
- package/dist/esm-es5/sqm-big-stat_37.entry.js +0 -1
- package/dist/esm-es5/sqm-hero-view-875c927d.js +0 -1
- package/dist/esm-es5/sqm-hero.entry.js +0 -1
- package/dist/esm-es5/sqm-link-button-view-90aeb27f.js +0 -1
- package/dist/esm-es5/sqm-link-button.entry.js +0 -1
- package/dist/esm-es5/sqm-navigation-sidebar-item-view-5a4ac267.js +0 -1
- package/dist/esm-es5/sqm-passwordless-registration.entry.js +0 -1
- package/dist/esm-es5/sqm-portal-container-view-83b417f0.js +0 -1
- package/dist/esm-es5/sqm-portal-forgot-password-view-9970dee2.js +0 -1
- package/dist/esm-es5/sqm-portal-profile-view-ac955752.js +0 -1
- package/dist/esm-es5/sqm-portal-verify-email-view-8d453021.js +0 -1
- package/dist/esm-es5/sqm-user-identifier-view-dbf71a5e.js +0 -1
- package/dist/esm-es5/sqm-user-identifier.entry.js +0 -1
- package/dist/esm-es5/use-callback-051c06c6.js +0 -1
- package/dist/esm-es5/usePasswordlessRegistration-94f265fe.js +0 -1
- package/dist/esm-es5/useRegistrationFormState-29e30121.js +0 -1
- package/dist/mint-components/p-03ad8655.js +0 -1
- package/dist/mint-components/p-045af9fb.system.entry.js +0 -1
- package/dist/mint-components/p-0597b64f.js +0 -1
- package/dist/mint-components/p-0a410d79.entry.js +0 -1
- package/dist/mint-components/p-0b6ee047.entry.js +0 -13
- package/dist/mint-components/p-0c5aadd5.system.entry.js +0 -1
- package/dist/mint-components/p-0d395b4f.system.entry.js +0 -1
- package/dist/mint-components/p-0e359e2a.entry.js +0 -9
- package/dist/mint-components/p-0eddbe09.entry.js +0 -1
- package/dist/mint-components/p-129c07fd.js +0 -268
- package/dist/mint-components/p-135c3cef.entry.js +0 -1
- package/dist/mint-components/p-16dda971.system.entry.js +0 -1
- package/dist/mint-components/p-18e7d7c6.system.entry.js +0 -1
- package/dist/mint-components/p-19244318.system.entry.js +0 -1
- package/dist/mint-components/p-19a3833c.system.entry.js +0 -1
- package/dist/mint-components/p-1b9c1909.entry.js +0 -1
- package/dist/mint-components/p-1d9cb344.entry.js +0 -1
- package/dist/mint-components/p-1f54fd38.system.js +0 -1
- package/dist/mint-components/p-221878e3.entry.js +0 -1
- package/dist/mint-components/p-26117a7d.system.js +0 -1
- package/dist/mint-components/p-2a7686a6.system.entry.js +0 -1
- package/dist/mint-components/p-2b9ae018.system.js +0 -1
- package/dist/mint-components/p-30239975.system.js +0 -1
- package/dist/mint-components/p-30689236.system.entry.js +0 -1
- package/dist/mint-components/p-30ec7d38.entry.js +0 -1
- package/dist/mint-components/p-3552b5c5.entry.js +0 -1
- package/dist/mint-components/p-35d6d322.system.js +0 -1
- package/dist/mint-components/p-3d339fa9.js +0 -1
- package/dist/mint-components/p-3f075d21.entry.js +0 -1
- package/dist/mint-components/p-3fe1485c.entry.js +0 -1
- package/dist/mint-components/p-4336876b.js +0 -1
- package/dist/mint-components/p-494829ff.js +0 -1
- package/dist/mint-components/p-4994b24c.system.js +0 -1
- package/dist/mint-components/p-4ace5def.system.entry.js +0 -1
- package/dist/mint-components/p-517a5669.system.js +0 -1
- package/dist/mint-components/p-56306cfd.system.js +0 -1
- package/dist/mint-components/p-58362d80.system.entry.js +0 -1
- package/dist/mint-components/p-58d65ecc.js +0 -1
- package/dist/mint-components/p-5a8866c0.system.entry.js +0 -1
- package/dist/mint-components/p-5de1699d.js +0 -1
- package/dist/mint-components/p-62306484.entry.js +0 -1
- package/dist/mint-components/p-689d022a.js +0 -1
- package/dist/mint-components/p-6c0409fe.system.entry.js +0 -1
- package/dist/mint-components/p-6ddc2a08.js +0 -1
- package/dist/mint-components/p-6e9cfc74.entry.js +0 -1
- package/dist/mint-components/p-71fe4061.js +0 -1
- package/dist/mint-components/p-72cb7a2e.system.entry.js +0 -1
- package/dist/mint-components/p-730db569.system.entry.js +0 -1
- package/dist/mint-components/p-76c339cd.system.js +0 -1
- package/dist/mint-components/p-7ef716a7.js +0 -1
- package/dist/mint-components/p-8322ad92.entry.js +0 -1
- package/dist/mint-components/p-83927707.js +0 -1
- package/dist/mint-components/p-8478a86e.system.entry.js +0 -1
- package/dist/mint-components/p-88ce114f.system.entry.js +0 -1
- package/dist/mint-components/p-8e0d9535.entry.js +0 -1
- package/dist/mint-components/p-8eb7dbfa.entry.js +0 -1
- package/dist/mint-components/p-919ea20a.system.entry.js +0 -1
- package/dist/mint-components/p-94607792.entry.js +0 -1
- package/dist/mint-components/p-97763c36.system.js +0 -1
- package/dist/mint-components/p-97988090.system.entry.js +0 -1
- package/dist/mint-components/p-97fa9d3e.system.entry.js +0 -1
- package/dist/mint-components/p-9cbc79f6.system.entry.js +0 -1
- package/dist/mint-components/p-a2f7a2f3.system.js +0 -1
- package/dist/mint-components/p-a7451d8c.entry.js +0 -1
- package/dist/mint-components/p-addba64e.entry.js +0 -1
- package/dist/mint-components/p-b27a0503.system.entry.js +0 -1
- package/dist/mint-components/p-ba3b21d2.system.entry.js +0 -1
- package/dist/mint-components/p-ba50a107.system.entry.js +0 -1
- package/dist/mint-components/p-bb451c6e.system.js +0 -1
- package/dist/mint-components/p-bd037777.entry.js +0 -1
- package/dist/mint-components/p-bf021a55.entry.js +0 -1
- package/dist/mint-components/p-bfd347b4.js +0 -1
- package/dist/mint-components/p-bfdbe27c.js +0 -1
- package/dist/mint-components/p-bfecc81e.system.js +0 -1
- package/dist/mint-components/p-c2c3d7fd.entry.js +0 -1
- package/dist/mint-components/p-c3765ad9.system.entry.js +0 -1
- package/dist/mint-components/p-c3777cf3.system.entry.js +0 -1
- package/dist/mint-components/p-c4b6454d.system.entry.js +0 -1
- package/dist/mint-components/p-d16b1f37.entry.js +0 -1
- package/dist/mint-components/p-d6fe7dee.entry.js +0 -171
- package/dist/mint-components/p-de055c6b.system.js +0 -1
- package/dist/mint-components/p-e633ae08.entry.js +0 -1
- package/dist/mint-components/p-eb25d055.system.js +0 -1
- package/dist/mint-components/p-f0a3c195.system.js +0 -1
- package/dist/mint-components/p-f27766d6.entry.js +0 -1
- package/dist/mint-components/p-f66b4b3a.js +0 -1
- package/dist/mint-components/p-f778fc9e.entry.js +0 -1
- package/dist/mint-components/p-f8bbbea1.js +0 -1
- package/dist/mint-components/p-f8d9e861.system.js +0 -1
- package/dist/types/components/sqm-passwordless-registration/sqm-passwordless-registration.d.ts +0 -37
- package/dist/types/components/sqm-passwordless-registration/usePasswordlessRegistration.d.ts +0 -9
- package/dist/types/components/sqm-user-identifier/sqm-user-identifier-view.d.ts +0 -6
- package/dist/types/components/sqm-user-identifier/sqm-user-identifier.d.ts +0 -30
- package/dist/types/components/sqm-user-identifier/useUserIdentifer.d.ts +0 -3
- /package/dist/types/components/{sqm-user-identifier/UserIdentifier.stories.d.ts → sqm-logout-current-user/LogoutCurrentUser.stories.d.ts} +0 -0
|
@@ -1,31 +1,29 @@
|
|
|
1
1
|
import { h, r as registerInstance, c as Host } from './index-17b4da69.js';
|
|
2
|
-
import { a as commonjsGlobal,
|
|
3
|
-
import './global-
|
|
4
|
-
import './
|
|
5
|
-
import { g as gn, c as mn, e as setUserIdentity, d as dist, z as ze, o as setProgramId } from './index.module-0ba0774e.js';
|
|
2
|
+
import { a as commonjsGlobal, u as useMemo, j as useState, f as useEffect, c as createCommonjsModule, m as h$1 } from './stencil-hooks.module-14b87f98.js';
|
|
3
|
+
import './global-9992475a.js';
|
|
4
|
+
import { p as pn, v as vn, e as setUserIdentity, d as dist, J as Je, j as setProgramId } from './index.module-bbce47bd.js';
|
|
6
5
|
import './cjs-bdfb4486.js';
|
|
7
6
|
import './mixins-f60a614c.js';
|
|
8
7
|
import { c as createStyleSheet } from './JSS-67b5cff8.js';
|
|
9
8
|
import { G as GenericTableView } from './GenericTableView-266126f9.js';
|
|
10
|
-
import './useChildElements-
|
|
11
|
-
import { l as luxon } from './luxon-
|
|
9
|
+
import './useChildElements-ae207f6d.js';
|
|
10
|
+
import { l as luxon } from './luxon-f01e85fe.js';
|
|
12
11
|
import './utils-334c1e34.js';
|
|
13
|
-
import './sqm-text-span-view-
|
|
14
|
-
import { A as AssetCardView } from './sqm-asset-card-view-
|
|
15
|
-
import {
|
|
12
|
+
import './sqm-text-span-view-8d140661.js';
|
|
13
|
+
import { A as AssetCardView } from './sqm-asset-card-view-9d93fbdd.js';
|
|
14
|
+
import { C as CloseButtonView } from './sqm-close-button-view-dc65b4e3.js';
|
|
15
|
+
import { E as EmailRegistrationView } from './email-registration-view-0a11e959.js';
|
|
16
16
|
import { L as LeaderboardRankView } from './sqm-leaderboard-rank-view-10657658.js';
|
|
17
|
-
import { L as
|
|
18
|
-
import { N as NavigationSidebarView } from './sqm-navigation-sidebar-view-
|
|
19
|
-
import { N as NavigationSidebarItemView } from './sqm-navigation-sidebar-item-view-
|
|
20
|
-
import {
|
|
21
|
-
import { P as
|
|
22
|
-
import { P as
|
|
23
|
-
import { P as
|
|
24
|
-
import { P as
|
|
25
|
-
import { P as
|
|
26
|
-
import {
|
|
27
|
-
import { P as PortalContainerView, a as PortalSectionView } from './sqm-portal-container-view-83b417f0.js';
|
|
28
|
-
import { U as UserIdentifierView } from './sqm-user-identifier-view-dbf71a5e.js';
|
|
17
|
+
import { L as LogoutCurrentUserView } from './sqm-logout-current-user-view-2d740794.js';
|
|
18
|
+
import { N as NavigationSidebarView } from './sqm-navigation-sidebar-view-414bcb19.js';
|
|
19
|
+
import { N as NavigationSidebarItemView } from './sqm-navigation-sidebar-item-view-debb6dfe.js';
|
|
20
|
+
import { P as PortalEmailVerificationView } from './sqm-portal-email-verification-view-a93d12ca.js';
|
|
21
|
+
import { P as PortalForgotPasswordView } from './sqm-portal-forgot-password-view-41afcace.js';
|
|
22
|
+
import { P as PortalProfileView } from './sqm-portal-profile-view-1022dd7b.js';
|
|
23
|
+
import { P as PortalResetPasswordView } from './sqm-portal-reset-password-view-0df781f6.js';
|
|
24
|
+
import { P as PortalVerifyEmailView } from './sqm-portal-verify-email-view-1db4fae6.js';
|
|
25
|
+
import { S as ShareButtonView, L as LeaderboardView, C as CopyTextView, B as BigStatView, P as PortalFrameView, E as EditProfileView, u as useShareLink, a as useShareButton, b as useDemoBigStat, c as StatContainerView, d as PortalChangePasswordView, e as PortalLoginView, f as PortalRegisterView, T as TaskCardView, g as ProgressBarView, h as PoweredByImg$1, i as PortalFooterView, H as HeroView, R as ReferralIframeView, N as NameFieldsView, j as CheckboxFieldView, D as DropdownFieldView, I as InputFieldView, k as RewardExchangeView, r as rewardExchangeCustomErrorMsg, l as rewardExchangeLongText, m as rewardExchangeSelected, n as chooseAmountFixed, o as chooseAmountFixedNoDescription, p as chooseAmountVariable, q as chooseAmountVariableNoDescription, s as chooseAmountVariableDisabled, t as chooseAmountVariableUnavailable, v as confirmFixed, w as confirmVariable, x as redemptionError, y as queryError, z as success, A as successVariable, F as loading, G as empty$1, J as rewardExchange, K as CardFeedView, M as CouponCodeView, O as autoColorScaleCss, Q as ShadowViewAddon } from './ShadowViewAddon-86f7b900.js';
|
|
26
|
+
import { P as PortalContainerView, a as PortalSectionView } from './sqm-portal-container-view-ab89c6cc.js';
|
|
29
27
|
|
|
30
28
|
/**
|
|
31
29
|
* lodash (Custom Build) <https://lodash.com/>
|
|
@@ -1441,7 +1439,7 @@ var _createEmotion = createEmotion({
|
|
|
1441
1439
|
}),
|
|
1442
1440
|
css = _createEmotion.css;
|
|
1443
1441
|
|
|
1444
|
-
function i$1(){return (i$1=Object.assign||function(n){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(n[r]=o[r]);}return n}).apply(this,arguments)}function
|
|
1442
|
+
function i$1(){return (i$1=Object.assign||function(n){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(n[r]=o[r]);}return n}).apply(this,arguments)}function a$1(n,t){return t||(t=n.slice(0)),n.raw=t,n}var s,l,c$1,u=css(s||(s=a$1(['\n width: 100vw;\n height: 100vh;\n\n .story-book-outer-div {\n .story-div {\n font-family: "Arial", sans-serif;\n font-size: 12px;\n }\n padding-bottom: 500px;\n }\n\n .story-div {\n position: fixed;\n box-sizing: border-box;\n top: 0;\n width: 250px;\n height: 100vh;\n z-index: 999;\n overflow-y: scroll;\n background: white;\n margin-bottom: 32px;\n }\n\n .header {\n padding: 24px 0 16px 16px;\n margin-bottom: 24px;\n color: white;\n background: #333;\n cursor: pointer;\n\n h2 {\n letter-spacing: 3px;\n font-weight: 400;\n }\n }\n\n .parentStoryList {\n list-style: none;\n padding-left: 16px;\n\n summary {\n margin-bottom: 4px;\n }\n }\n .parentStory {\n cursor: pointer;\n }\n .parentStory.selected {\n font-weight: bold;\n }\n\n .subStory {\n font-size: 12px;\n cursor: pointer;\n line-height: 1.5em;\n margin-top: 4px;\n\n a {\n display: block;\n padding: 4px 4px 4px 16px;\n }\n }\n .subStory:hover {\n background-color: #eee;\n }\n .subStory.selected {\n background-color: lightgreen;\n }\n\n .component {\n padding: 24px 16px;\n }\n\n h4.group-header {\n margin: 8px 0;\n text-transform: uppercase;\n font-weight: 600;\n font-size: 14px;\n color: #575757;\n }\n\n .group-wrapper {\n margin-bottom: 24px;\n }\n\n .dynamic-display-wrapper {\n position: fixed;\n display: flex;\n flex-direction: column;\n bottom: 0;\n left: 100%;\n padding: 16px;\n z-index: 1000;\n background: white;\n transform: translateX(-100%);\n box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n\n & > :not(:first-child) {\n margin-top: 12px;\n }\n\n p {\n font-size: 12px;\n margin: 0;\n padding: 0;\n }\n\n .button-wrapper {\n display: flex;\n\n & > :not(:first-child) {\n margin-left: 12px;\n }\n }\n\n & button {\n border: 1px solid #eaeaea;\n background: white;\n border-radius: 4px;\n color: #777;\n padding: 4px 12px;\n justify-content: center;\n align-items: center;\n text-align: center;\n\n &.active {\n background: #555;\n border-color: #555;\n color: white;\n }\n }\n }\n'])));function p$1(n,t){var o,r=t.story.title.split("/"),e=r[1]?r[0]:"_";return i$1({},n,((o={})[e]=[].concat(n[e]||[],[{story:i$1({},t.story,{title:r[1]||r[0]}),subs:t.subs}]).sort(function(n,t){return n.story.title.localeCompare(t.story.title)}),o))}function d$1(n){return {story:n.default,subs:function(n,t){if(null==n)return {};var o,r,e={},i=Object.keys(n);for(r=0;r<i.length;r++)t.indexOf(o=i[r])>=0||(e[o]=n[o]);return e}(n,["default"])}}function f(s,f){var m=f.h,y=void 0===m?h:m,b=f.title,g=void 0===b?"Stencilbook":b,x=f.homepage,h$1=void 0===x?y("h3",null,"Select a story!"):x,v=f.addons,w=void 0===v?[]:v,k=useMemo(function(){return s.map(d$1).reduce(p$1,{_:[]})},s),S=decodeURIComponent(window.location.hash).replace("#",""),C=useState(q(S)),z=C[0],O=C[1],j=null==z?void 0:z.key,I=useState("desktop")[0],R=useState(!0),U=R[0],_=R[1],B=useState(!1),L=B[0],T=B[1];function q(n){var t;if(n){var o=decodeURIComponent(n).split("-"),r=o[1],e=o[2],i=null==(t=k[o[0]])?void 0:t.find(function(n){return n.story.title===r}),a=i.subs[e];return {key:n,story:a,parent:null==i?void 0:i.story,label:null==a?void 0:a.name}}}var A=function(){return y("div",{class:"dynamic-display-wrapper"},y("button",{class:L?"active":"",onClick:function(){return T(function(n){return !n})}},"Toggle Dark Background"),y("button",{class:U?"active":"",onClick:function(){return _(function(n){return !n})}},"Toggle Sidebar"))},D="mobile"===I?"375px":"tablet"===I?"768px":"1124px",N=css(l||(l=a$1(["\n max-width: ",";\n margin-left: ",";\n "])),D,U?"250px":"0px"),P=css(c$1||(c$1=a$1(["\n display: none;\n "])));document.body.style.backgroundColor=L?"#232323":"#fafafa";var V=function(n){var t=n.selected,o=w.reduce(function(n,o){return function(){return y(o,{story:i$1({},t)},y(n,null))}},null==t?void 0:t.story);return y(o,null)},X=function(){return y("div",{class:"story-book-outer-div"},y("div",{class:"story-div "+(U?"":P)},y("div",{class:"header",onClick:function(){O(void 0);}},y("h2",null,g)),y("ul",{class:"parentStoryList"},Object.keys(k).sort().map(function(n){return y("div",{class:"group-wrapper"},"_"!==n&&y("h4",{class:"group-header"},n),k[n].map(function(t){return y("li",{class:"parentStory"},y("details",{style:{marginBottom:"10px"}},y("summary",{style:{outline:"none"}},t.story.title),t.subs&&Object.keys(t.subs).map(function(o){var e=n+"-"+t.story.title+"-"+o,i=t.subs[o].storyName||lodash_startcase(o);return y("div",{class:"subStory "+(j===e?"selected":"")},y("a",{onClick:function(){return function(n){window.location.hash=encodeURIComponent(n),O(q(n));}(e)}},i))})))}))}))),y(A,null),y("div",{class:"component "+N},!j&&h$1,j&&y("div",null,y("h3",null,z.label),y(V,{selected:z}))))};return {class:u,children:y(X,null),View:X,selected:z}}
|
|
1445
1443
|
|
|
1446
1444
|
const scenario = "@author:noah\n@owner:noah\nFeature: Share Button\n\n The share button redirects users to a platform where they can share their referral link\n\n @motivating\n @ui\n Scenario Outline: Share button displays for various platforms\n Given the share button's medium prop is \"<medium>\"\n And the button's child is text saying \"BUTTON_TEXT\"\n When the share button is rendered\n Then the button has text \"BUTTON_TEXT\"\n And the button is <colour>\n And it displays an <icon> beside the text\n And clicking the button redirects to an appropriate link\n Examples:\n | medium | colour | icon |\n | facebook | #1877f2 | facebook logo |\n | twitter | #1da1f2 | twitter logo |\n | email | #666666 | envelope |\n | direct | brand colour | paper plane |\n | linkedin | #0077b5 | linkedIn logo |\n | sms | #34DA50 | chat bubble |\n | fbmessenger | #0084ff | messenger logo |\n | whatsapp | #25d366 | whatsapp logo |\n | linemessenger | #00B300 | linemessenger logo |\n | pinterest | #e60023 | pinterest logo |\n\n @minutia\n @ui\n Scenario Outline: Default icons can be overwritten\n Given a share button for any medium with <iconPropValue>\n When the share button is rendered\n Then it displays a <iconPropValue> instead of the share mediums default icon\n Examples:\n | iconPropValue |\n | basket |\n | bluetooth |\n | bandaid |\n\n @motivating\n @ui\n Scenario Outline: Default share medium colours can be overwritten\n Given a share button for any medium with <backgroundColourPropValue>\n When the share button is rendered\n Then the share button is <backgroundColourPropValue>\n Examples:\n | backgroundColourPropValue |\n | blue |\n | black |\n | green |\n\n @minutia\n @ui\n Scenario Outline: Share medium icons and text can be hidden\n Given a share button with <prop> <value>\n When the share button is rendered\n Then <element> is hidden\n Examples:\n | prop | value | element |\n | hideicon | true | icon |\n | hidetext | true | text |\n\n @minutia\n @ui\n Scenario Outline: Icons can be on either side of the text\n Given a share button with <iconslotPropValue>\n When the share button is rendered\n Then the icon is displayed to the <direction> of the text\n Examples:\n | iconslotPropValue | direction |\n | suffix | right |\n | prefix | left |\n | prefix | left |\n\n @minutia\n Scenario: Unsupported browsers hide native share buttons\n Given the share button's medium prop is \"direct\"\n And your browser does not support the Web Share API\n Then the share button is hidden\n\n @minutia\n Scenario: SMS share buttons are hidden on non Android and iOS devices\n Given the share button's medium is \"sms\"\n And the share button is being viewed on a device which is not an Android or iOS device\n Then the share button is hidden\n\n @motivating\n Scenario: Facebook share buttons uses SquatchAndroid sharing features\n Given the share button's medium is \"facebook\"\n And the share button is being viewed in a web view with the SquatchAndroid API\n And the Facebook app is available\n Then tapping the share button opens the phone's Facebook app\n And a share activity is opened with the share link prefilled\n\n @motivating\n Scenario: SquatchAndroid falls back to the Facebook website if no app is available\n Given the share button's medium is \"facebook\"\n And the share button is being viewed in a web view with the SquatchAndroid API\n And the Facebook app is not available\n Then tapping the share button opens the the Facebook mobile site in the device's browser\n And a share activity is opened with the share link prefilled\n\n @minutia\n Scenario: A supplied program ID is used if available\n Given the program id is supplied to the component in the \"programId\" prop\n Then the program ID in the \"programId\" prop is used to retrieve share links\n\n @minutia\n Scenario: The program ID is automatically fetched from context\n Given the program id is not supplied to the component in the \"programId\" prop\n Then the program ID is retrieved from context";
|
|
1447
1445
|
|
|
@@ -1621,7 +1619,7 @@ const EmptyState = /*#__PURE__*/Object.freeze({
|
|
|
1621
1619
|
SlottedIntoComponent: SlottedIntoComponent
|
|
1622
1620
|
});
|
|
1623
1621
|
|
|
1624
|
-
const scenario$2 = "@author:johan\n@owner:johan\nFeature: Share Link\n\n The share link component is a box that allows users to see and copy their share link for a given program\n\n Background: Environment\n Given there is a valid program ID in the environment\n And there is a valid user ID and account ID in the environment\n\n @motivating\n Scenario: A Users sharelink can be copied to their clipboard\n Given tooltipText is \"hello tooltip\"\n When the component renders\n Then there is a textbox with the user's share link\n When the clipboard icon is clicked\n Then the link is copied to clipboard\n And a tooltip appears for ~1 second\n\n @minutia\n Scenario: Tooltip lifespan defaults to 2000\n Given the tooltip's lifespan is set to 2000\n And there is tooltip text\n When the component renders\n And the clipboard icon is clicked\n Then a tooltip appears for ~2 seconds\n\n @minutia\n Scenario: Demo\n Given isDemo() returns true\n Then the share link is \"https://www.example.com/sharelink/abc\"\n And the component won't be interactive\n And the tooltip is hidden\n\n @minutia\n Scenario: Program ID can be sourced from prop\n Given the programId prop is set to \"program-a\"\n And window.widgetIdent.programId is set to \"program-b\"\n When the component renders\n Then the share link is for \"program-a\"\n\n @minutia\n Scenario: Program ID can be sourced from window\n Given the programId prop is unset\n And window.widgetIdent.programId is set to \"program-b\"\n When the component renders\n Then the share link is for \"program-b\"\n\n @minutia\n Scenario: An analytic event is fired when a user copies their sharelink\n Given a user viewing the share link component\n And the component is rendered for \"program-a\"\n When they click to copy their link\n Then an \"USER_REFERRAL_PROGRAM_ENGAGEMENT_EVENT\" analytic event is fired\n And it is for \"program-a\"\n And it has share medium \"DIRECT\"\n";
|
|
1622
|
+
const scenario$2 = "@author:johan\n@owner:johan\nFeature: Share Link\n\n The share link component is a box that allows users to see and copy their share link for a given program\n\n Background: Environment\n Given there is a valid program ID in the environment\n And there is a valid user ID and account ID in the environment\n\n @motivating\n Scenario: A Users sharelink can be copied to their clipboard\n Given tooltipText is \"hello tooltip\"\n When the component renders\n Then there is a textbox with the user's share link\n When the clipboard icon is clicked\n Then the link is copied to clipboard\n And a tooltip appears for ~1 second\n\n @minutia\n Scenario: Tooltip lifespan defaults to 2000\n Given the tooltip's lifespan is set to 2000\n And there is tooltip text\n When the component renders\n And the clipboard icon is clicked\n Then a tooltip appears for ~2 seconds\n\n @minutia\n Scenario: Demo\n Given isDemo() returns true\n Then the share link is \"https://www.example.com/sharelink/abc\"\n And the component won't be interactive\n And the tooltip is hidden\n\n @minutia\n Scenario: Program ID can be sourced from prop\n Given the programId prop is set to \"program-a\"\n And window.widgetIdent.programId is set to \"program-b\"\n When the component renders\n Then the share link is for \"program-a\"\n\n @minutia\n Scenario: Program ID can be sourced from window\n Given the programId prop is unset\n And window.widgetIdent.programId is set to \"program-b\"\n When the component renders\n Then the share link is for \"program-b\"\n\n @minutia\n Scenario: An analytic event is fired when a user copies their sharelink\n Given a user viewing the share link component\n And the component is rendered for \"program-a\"\n When they click to copy their link\n Then an \"USER_REFERRAL_PROGRAM_ENGAGEMENT_EVENT\" analytic event is fired\n And it is for \"program-a\"\n And it has share medium \"DIRECT\"\n\n\n @ui\n Scenario Outline: user can edit the alignment of the share link text\n Given a user is editing the share link component\n Then they see \"Align text\" props\n And the default value is \"left\"\n When they change the option to <option>\n Then they see the text in <position>\n Examples:\n | option | position |\n | left | left |\n | center | center |\n | right | right |\n\n @ui\n Scenario Outline: The position of the copy button can be changed\n Given a user is editing the share link component\n Then they see \"Style\" props\n And the default value is \"icon\"\n When they change the option to <option>\n Then they see the copy button in <position>\n Examples:\n | option | position |\n | button outside | outside the input, on the right |\n | button below | outside the input, below |\n | icon | inside the input as an icon |\n";
|
|
1625
1623
|
|
|
1626
1624
|
const ShareLink_stories = {
|
|
1627
1625
|
title: "Components/Share Link",
|
|
@@ -1667,6 +1665,9 @@ const Error$1 = () => {
|
|
|
1667
1665
|
const TextAlignCenter = () => {
|
|
1668
1666
|
return h("sqm-share-link", { textAlign: "center" });
|
|
1669
1667
|
};
|
|
1668
|
+
const TextAlignRight = () => {
|
|
1669
|
+
return h("sqm-share-link", { textAlign: "right" });
|
|
1670
|
+
};
|
|
1670
1671
|
const CopyButton = () => {
|
|
1671
1672
|
return (h(CopyTextView, Object.assign({}, {
|
|
1672
1673
|
copyString: "https://noah.example.com",
|
|
@@ -1675,20 +1676,12 @@ const CopyButton = () => {
|
|
|
1675
1676
|
isCopyIcon: false,
|
|
1676
1677
|
})));
|
|
1677
1678
|
};
|
|
1678
|
-
const CopyButtonInside = () => {
|
|
1679
|
-
return (h(CopyTextView, Object.assign({}, {
|
|
1680
|
-
copyString: "https://noah.example.com",
|
|
1681
|
-
open: false,
|
|
1682
|
-
tooltiptext: "Copied!",
|
|
1683
|
-
buttonStyle: "button inside",
|
|
1684
|
-
})));
|
|
1685
|
-
};
|
|
1686
1679
|
const CopyButtonBelow = () => {
|
|
1687
1680
|
return (h(CopyTextView, Object.assign({}, {
|
|
1688
1681
|
copyString: "https://noah.example.com",
|
|
1689
1682
|
open: false,
|
|
1690
1683
|
tooltiptext: "Copied!",
|
|
1691
|
-
buttonStyle: "button
|
|
1684
|
+
buttonStyle: "button-below",
|
|
1692
1685
|
})));
|
|
1693
1686
|
};
|
|
1694
1687
|
const FullStack = () => {
|
|
@@ -1703,8 +1696,8 @@ const ShareLink = /*#__PURE__*/Object.freeze({
|
|
|
1703
1696
|
Disabled: Disabled,
|
|
1704
1697
|
Error: Error$1,
|
|
1705
1698
|
TextAlignCenter: TextAlignCenter,
|
|
1699
|
+
TextAlignRight: TextAlignRight,
|
|
1706
1700
|
CopyButton: CopyButton,
|
|
1707
|
-
CopyButtonInside: CopyButtonInside,
|
|
1708
1701
|
CopyButtonBelow: CopyButtonBelow,
|
|
1709
1702
|
FullStack: FullStack
|
|
1710
1703
|
});
|
|
@@ -2396,36 +2389,36 @@ const routes = `
|
|
|
2396
2389
|
`;
|
|
2397
2390
|
const TemplateNavigation = createHookStory(() => {
|
|
2398
2391
|
return (h("div", null,
|
|
2399
|
-
h("button", { onClick: () =>
|
|
2400
|
-
h("button", { onClick: () =>
|
|
2401
|
-
h("button", { onClick: () =>
|
|
2402
|
-
h("button", { onClick: () =>
|
|
2403
|
-
h("button", { onClick: () =>
|
|
2404
|
-
h("button", { onClick: () =>
|
|
2405
|
-
h("button", { onClick: () =>
|
|
2406
|
-
h("button", { onClick: () =>
|
|
2407
|
-
h("button", { onClick: () =>
|
|
2392
|
+
h("button", { onClick: () => pn.push("/") }, "/"),
|
|
2393
|
+
h("button", { onClick: () => pn.push("/foo") }, "/foo"),
|
|
2394
|
+
h("button", { onClick: () => pn.push("/bar") }, "/bar"),
|
|
2395
|
+
h("button", { onClick: () => pn.push("/baz/bang") }, "/baz/bang"),
|
|
2396
|
+
h("button", { onClick: () => pn.push("/refer") }, "/refer"),
|
|
2397
|
+
h("button", { onClick: () => pn.push("/refer/1") }, "/refer/1"),
|
|
2398
|
+
h("button", { onClick: () => pn.push("/refer/2") }, "/refer/2"),
|
|
2399
|
+
h("button", { onClick: () => pn.back() }, "Back"),
|
|
2400
|
+
h("button", { onClick: () => pn.forward() }, "Forward"),
|
|
2408
2401
|
h("hr", null),
|
|
2409
2402
|
h("sqm-router", { innerHTML: templates })));
|
|
2410
2403
|
});
|
|
2411
2404
|
const RouteNavigation = createHookStory(() => {
|
|
2412
2405
|
return (h("div", null,
|
|
2413
|
-
h("button", { onClick: () =>
|
|
2414
|
-
h("button", { onClick: () =>
|
|
2415
|
-
h("button", { onClick: () =>
|
|
2416
|
-
h("button", { onClick: () =>
|
|
2417
|
-
h("button", { onClick: () =>
|
|
2418
|
-
h("button", { onClick: () =>
|
|
2419
|
-
h("button", { onClick: () =>
|
|
2420
|
-
h("button", { onClick: () =>
|
|
2421
|
-
h("button", { onClick: () =>
|
|
2406
|
+
h("button", { onClick: () => pn.push("/") }, "/"),
|
|
2407
|
+
h("button", { onClick: () => pn.push("/foo") }, "/foo"),
|
|
2408
|
+
h("button", { onClick: () => pn.push("/bar") }, "/bar"),
|
|
2409
|
+
h("button", { onClick: () => pn.push("/baz/bang") }, "/baz/bang"),
|
|
2410
|
+
h("button", { onClick: () => pn.push("/refer") }, "/refer"),
|
|
2411
|
+
h("button", { onClick: () => pn.push("/refer/1") }, "/refer/1"),
|
|
2412
|
+
h("button", { onClick: () => pn.push("/refer/2") }, "/refer/2"),
|
|
2413
|
+
h("button", { onClick: () => pn.back() }, "Back"),
|
|
2414
|
+
h("button", { onClick: () => pn.forward() }, "Forward"),
|
|
2422
2415
|
h("hr", null),
|
|
2423
2416
|
h("sqm-router", { innerHTML: routes })));
|
|
2424
2417
|
});
|
|
2425
2418
|
const Styling = createHookStory(() => {
|
|
2426
2419
|
return (h("div", null,
|
|
2427
|
-
h("button", { onClick: () =>
|
|
2428
|
-
h("button", { onClick: () =>
|
|
2420
|
+
h("button", { onClick: () => pn.push("/") }, "/"),
|
|
2421
|
+
h("button", { onClick: () => pn.push("/foo") }, "/foo"),
|
|
2429
2422
|
h("hr", null),
|
|
2430
2423
|
h("div", { style: { display: "flex", justifyContent: "space-around" } },
|
|
2431
2424
|
h("sqm-router", { innerHTML: `<template path="/">
|
|
@@ -2439,7 +2432,7 @@ function useTemplate(templateString) {
|
|
|
2439
2432
|
const [previewTemplate, setPreviewTemplate] = useState(templateString);
|
|
2440
2433
|
function setPath(e) {
|
|
2441
2434
|
//@ts-ignore
|
|
2442
|
-
|
|
2435
|
+
pn.push(e.target.value);
|
|
2443
2436
|
}
|
|
2444
2437
|
return {
|
|
2445
2438
|
states: { previewTemplate, editedTemplate },
|
|
@@ -2603,8 +2596,8 @@ const FullStackFrame = () => {
|
|
|
2603
2596
|
"Current path:",
|
|
2604
2597
|
" ",
|
|
2605
2598
|
h("code", null,
|
|
2606
|
-
h("strong", null, (_a =
|
|
2607
|
-
h("button", { onClick:
|
|
2599
|
+
h("strong", null, (_a = vn()) === null || _a === void 0 ? void 0 : _a.pathname))),
|
|
2600
|
+
h("button", { onClick: pn.back }, "Go Back")));
|
|
2608
2601
|
};
|
|
2609
2602
|
const FullStackFrameLoggedOut = () => {
|
|
2610
2603
|
var _a;
|
|
@@ -2628,8 +2621,8 @@ const FullStackFrameLoggedOut = () => {
|
|
|
2628
2621
|
"Current path:",
|
|
2629
2622
|
" ",
|
|
2630
2623
|
h("code", null,
|
|
2631
|
-
h("strong", null, (_a =
|
|
2632
|
-
h("button", { onClick:
|
|
2624
|
+
h("strong", null, (_a = vn()) === null || _a === void 0 ? void 0 : _a.pathname))),
|
|
2625
|
+
h("button", { onClick: pn.back }, "Go Back")));
|
|
2633
2626
|
};
|
|
2634
2627
|
|
|
2635
2628
|
const PortalFrame = /*#__PURE__*/Object.freeze({
|
|
@@ -3250,6 +3243,10 @@ const ErrorAlert = () => {
|
|
|
3250
3243
|
return (h("sqm-form-message", { type: "error" },
|
|
3251
3244
|
h("div", null, "This is an error message")));
|
|
3252
3245
|
};
|
|
3246
|
+
const WarningAlert = () => {
|
|
3247
|
+
return (h("sqm-form-message", { type: "warning" },
|
|
3248
|
+
h("div", null, "This is an error message")));
|
|
3249
|
+
};
|
|
3253
3250
|
const InfoAlert = () => {
|
|
3254
3251
|
return (h("sqm-form-message", { type: "info" },
|
|
3255
3252
|
h("div", null, "This is an info message")));
|
|
@@ -3272,6 +3269,7 @@ const FormMessage = /*#__PURE__*/Object.freeze({
|
|
|
3272
3269
|
'default': FormMessage_stories,
|
|
3273
3270
|
SuccessAlert: SuccessAlert,
|
|
3274
3271
|
ErrorAlert: ErrorAlert,
|
|
3272
|
+
WarningAlert: WarningAlert,
|
|
3275
3273
|
InfoAlert: InfoAlert,
|
|
3276
3274
|
FullStackSuccess: FullStackSuccess
|
|
3277
3275
|
});
|
|
@@ -3315,7 +3313,7 @@ function useExchangeButton() {
|
|
|
3315
3313
|
const { id, accountId } = setupGraphQL$6();
|
|
3316
3314
|
const [points, setPoints] = useState(10);
|
|
3317
3315
|
const [rate, setRate] = useState(100);
|
|
3318
|
-
const [exchange, { data, errors }] =
|
|
3316
|
+
const [exchange, { data, errors }] = Je(EXCHANGE);
|
|
3319
3317
|
return {
|
|
3320
3318
|
states: {
|
|
3321
3319
|
points,
|
|
@@ -3882,55 +3880,53 @@ const NewPortal = /*#__PURE__*/Object.freeze({
|
|
|
3882
3880
|
Activity: Activity
|
|
3883
3881
|
});
|
|
3884
3882
|
|
|
3885
|
-
const referralWidget = "<sqm-brand brand-color=\"#4225c4\" brand-font=\"Nunito Sans\">\n <sqm-portal-container\n direction=\"column\"\n padding=\"small\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-hero-image\n image-url=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000275/squatch-assets/yr6ER3R.png\"\n header=\"MyCompany Rewards\"\n description=\"Refer a friend and earn up to $1200 in rewards\"\n layout=\"columns\"\n image-pos=\"right\"\n background-color=\"#F9F9F9\"\n >\n </sqm-hero-image>\n </sqm-portal-container>\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n max-width=\"770px\"\n center\n display=\"grid\"\n >\n <sqm-stat-container space=\"xxx-large\" display=\"flex\">\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n >\n <p>Referrals</p>\n </sqm-big-stat>\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/integrationRewardsCountFiltered/AVAILABLE/global\"\n >\n <p>Giftcards</p>\n </sqm-big-stat>\n </sqm-stat-container>\n <sqm-portal-container\n gap=\"large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-titled-section\n text-align=\"center\"\n label-margin=\"xxx-small\"\n padding=\"none\"\n >\n <h3 slot=\"label\">Get rewarded when your friend uses our product</h3>\n </sqm-titled-section>\n <sqm-referral-card vertical-alignment=\"start\">\n <sqm-portal-container\n gap=\"large\"\n slot=\"left\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <p
|
|
3886
|
-
|
|
3887
|
-
const monoWidget = "<sqm-brand brand-color=\"#4225c4\" brand-font=\"Nunito Sans\">\n <sqm-portal-container\n direction=\"column\"\n padding=\"small\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-hero-image\n image-url=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000275/squatch-assets/yr6ER3R.png\"\n header=\"MyCompany Rewards\"\n description=\"Refer friends and complete tasks to earn rewards\"\n layout=\"columns\"\n image-pos=\"right\"\n background-color=\"#F9F9F9\"\n image-mobile-pos=\"top\"\n image-percentage=\"50\"\n padding-image=\"none\"\n padding-text=\"xxxx-large\"\n >\n </sqm-hero-image>\n </sqm-portal-container>\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n max-width=\"770px\"\n center\n display=\"grid\"\n >\n <sqm-stat-container space=\"xxx-large\" display=\"flex\">\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n >\n <p>Referrals</p>\n </sqm-big-stat>\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/integrationRewardsCountFiltered/AVAILABLE/global\"\n >\n <p>Giftcards Earned</p>\n </sqm-big-stat>\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/POINT/value/global\"\n >\n <p>Points Balance</p>\n </sqm-big-stat>\n </sqm-stat-container>\n <sqm-portal-container\n gap=\"xx-large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-titled-section\n text-align=\"center\"\n label-margin=\"xxx-small\"\n padding=\"none\"\n >\n <h3 slot=\"label\">Share $50 with friends</h3>\n <p slot=\"content\">\n They’ll get a $50 credit towards a new account and you’ll get up to\n $1200\n </p>\n </sqm-titled-section>\n <sqm-referral-card vertical-alignment=\"start\">\n <sqm-portal-container\n gap=\"large\"\n slot=\"left\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <p>They’ll get a $50 credit towards a new account and you’ll get:</p>\n <sqm-timeline icon=\"circle\">\n <sqm-timeline-entry\n reward=\"$50\"\n unit=\"visa giftcard\"\n desc=\"Your friend purchases a Business plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n <sqm-timeline-entry\n reward=\"$200\"\n unit=\"visa giftcard\"\n desc=\"Our sales team qualifies your friend as a good fit for our Enterprise plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n <sqm-timeline-entry\n reward=\"$1000\"\n unit=\"visa giftcard\"\n desc=\"Your friend purchases an Enterprise plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n </sqm-timeline>\n </sqm-portal-container>\n <sqm-portal-container\n gap=\"large\"\n slot=\"right\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <p>Choose how you want to share:</p>\n <p><sub>Your unique referral link:</sub></p>\n <sqm-share-link\n tooltip-text=\"Copied to Clipboard\"\n tooltip-lifespan=\"1000\"\n >\n </sqm-share-link>\n <sqm-portal-container\n gap=\"x-small\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-share-button\n medium=\"email\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share via email\n </sqm-share-button>\n <sqm-share-button\n medium=\"linkedin\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share on LinkedIn\n </sqm-share-button>\n <sqm-share-button\n medium=\"twitter\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Tweet about us\n </sqm-share-button>\n </sqm-portal-container>\n </sqm-portal-container>\n </sqm-referral-card>\n <sqm-portal-container\n gap=\"xx-large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n min-width=\"\"\n padding=\"none\"\n >\n <sqm-titled-section text-align=\"center\" label-margin=\"xxx-small\">\n <h3 slot=\"label\">Earn more rewards</h3>\n <p slot=\"content\">\n Get points while using our product. Use those points to redeem\n rewards like one free month of Enterprise or two plane tickets to\n anywhere in North America\n </p>\n </sqm-titled-section>\n <sqm-card-feed gap=\"24\" width=\"347\">\n <sqm-task-card\n reward-amount=\"20\"\n goal=\"1\"\n card-title=\"Complete a Survey\"\n description=\"Fill out our NPS survey and get 20 points for giving us honest feedback.\"\n button-text=\"Take survey\"\n reward-unit=\"Points\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n finite=\"0\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n reward-amount=\"250\"\n goal=\"500\"\n show-progress-bar\n card-title=\"Spend $500\"\n description=\"Earn 250 points when you spend $500 or more.\"\n button-text=\"See plans\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n progress-bar-unit=\"$\"\n finite=\"0\"\n reward-unit=\"Points\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n goal=\"1\"\n reward-amount=\"50\"\n card-title=\"Follow Us on Twitter\"\n description=\"Earn 50 points when you follow us on Twitter!\"\n button-text=\"Follow\"\n button-link=\"https://twitter.com/\"\n open-new-tab=\"true\"\n event-key=\"socialFollow\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n finite=\"0\"\n reward-unit=\"Points\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n reward-amount=\"1\"\n reward-unit=\"Free Month\"\n goal=\"1\"\n card-title=\"Upgrade Your Plan\"\n description=\"Receive one free month for being a committed customer when you upgrade your plan.\"\n button-text=\"Upgrade\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n open-new-tab=\"false\"\n finite=\"0\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n </sqm-card-feed>\n </sqm-portal-container>\n <sqm-tabs>\n <sqm-tab header=\"Referral history\">\n <sqm-referral-table\n per-page=\"4\"\n hidden-columns=\"2\"\n more-label=\"Next\"\n prev-label=\"Prev\"\n sm-breakpoint=\"599\"\n md-breakpoint=\"799\"\n >\n <sqm-referral-table-user-column\n column-title=\"User\"\n anonymous-user=\"Anonymous User\"\n deleted-user=\"Deleted User\"\n >\n </sqm-referral-table-user-column>\n <sqm-referral-table-status-column\n column-title=\"Referral status\"\n converted-status-text=\"Converted\"\n in-progress-status-text=\"In Progress\"\n >\n </sqm-referral-table-status-column>\n <sqm-referral-table-rewards-column\n column-title=\"Rewards\"\n expiring-text=\"Expiring in\"\n fuel-tank-text=\"Your code is\"\n pending-for-text=\"{status} for {date}\"\n reward-received-text=\"Reward received on\"\n status-long-text=\"{status, select, AVAILABLE {Reward expiring on} CANCELLED {Reward cancelled on} PENDING {Available on} EXPIRED {Reward expired on} other {Not available} }\"\n status-text=\"{status, select, AVAILABLE {Available} CANCELLED {Cancelled} PENDING {Pending} EXPIRED {Expired} REDEEMED {Redeemed} other {Not available} }\"\n >\n </sqm-referral-table-rewards-column>\n <sqm-referral-table-date-column\n column-title=\"Date referred\"\n date-shown=\"dateReferralStarted\"\n >\n </sqm-referral-table-date-column>\n <sqm-empty\n slot=\"empty\"\n empty-state-image=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000223/squatch-assets/empty_referral2.png\"\n empty-state-header=\"View your referral details\"\n empty-state-text=\"Refer a friend to view the status of your referrals and rewards earned\"\n >\n </sqm-empty>\n </sqm-referral-table>\n </sqm-tab>\n <sqm-tab header=\"Reward history\">\n <sqm-rewards-table\n per-page=\"4\"\n program-id=\"\"\n hidden-columns=\"0\"\n more-label=\"Next\"\n prev-label=\"Prev\"\n sm-breakpoint=\"599\"\n md-breakpoint=\"799\"\n >\n <sqm-rewards-table-reward-column\n available-text=\"{availableAmount} remaining\"\n column-title=\"Reward\"\n copy-text=\"Copied!\"\n redeemed-text=\"{redeemedAmount} redeemed\"\n >\n </sqm-rewards-table-reward-column>\n <sqm-rewards-table-source-column\n anonymous-user=\"Anonymous User\"\n column-title=\"Source\"\n deleted-user=\"Deleted User\"\n referral-text=\"{rewardSource, select, FRIEND_SIGNUP {Referral to} REFERRED {Referred by} other {}}\"\n reward-exchange-text=\"Reward Exchange\"\n reward-source-text=\"{rewardSource, select, MANUAL {Manual} AUTOMATED {{programName}} other {}}\"\n >\n </sqm-rewards-table-source-column>\n <sqm-rewards-table-status-column\n column-title=\"Status\"\n expiry-text=\"Expires on \"\n status-text=\"{status, select, AVAILABLE {Available} CANCELLED {Cancelled} PENDING {Pending} EXPIRED {Expired} REDEEMED {Redeemed} other {Not available} }\"\n >\n </sqm-rewards-table-status-column>\n <sqm-rewards-table-date-column\n column-title=\"Date received\"\n date-shown=\"dateGiven\"\n >\n </sqm-rewards-table-date-column>\n <sqm-empty\n slot=\"empty\"\n empty-state-image=\"https://res.cloudinary.com/saasquatch/image/upload/v1644360953/squatch-assets/empty_reward2.png\"\n empty-state-header=\"View your rewards\"\n empty-state-text=\"Refer friends and complete tasks to view the details of your rewards\"\n >\n </sqm-empty>\n </sqm-rewards-table>\n </sqm-tab>\n </sqm-tabs>\n </sqm-portal-container>\n <sqm-portal-footer\n support-email=\"support@example.com\"\n terms-link=\"https://example.com\"\n faq-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n padding-bottom=\"none\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n ></sqm-portal-footer>\n </sqm-portal-container>\n </sqm-portal-container>\n</sqm-brand>\n";
|
|
3888
|
-
|
|
3889
|
-
const loyaltyWidget = "<sqm-brand brand-color=\"#4225c4\" brand-font=\"Nunito Sans\">\n <sqm-portal-container\n direction=\"column\"\n padding=\"small\"\n gap=\"xxxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-hero-image\n image-url=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000275/squatch-assets/yr6ER3R.png\"\n header=\"MyCompany Rewards\"\n description=\"Complete tasks to earn rewards\"\n layout=\"overlay\"\n padding-image=\"xxxx-large\"\n padding-text=\"xxx-large\"\n image-pos=\"center\"\n overlay-color=\"#5e5669\"\n overlay-opacity=\"0.9\"\n >\n </sqm-hero-image>\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n max-width=\"770px\"\n center\n display=\"grid\"\n >\n <sqm-program-explainer header=\"How it works\">\n <sqm-program-explainer-step\n description=\"Complete tasks like uploading your first video or sharing videos with friends\"\n header=\"Earn points for using our product\"\n icon=\"cash-stack\"\n text-color=\"#000000\"\n >\n </sqm-program-explainer-step>\n <sqm-program-explainer-step\n description=\"Redeem rewards like one free month of Enterprise or two plane tickets to anywhere in North America\"\n header=\"Redeem rewards with your points\"\n icon=\"people\"\n text-color=\"#000000\"\n >\n </sqm-program-explainer-step>\n </sqm-program-explainer>\n <sqm-portal-container\n center\n direction=\"row\"\n display=\"flex\"\n justify-content=\"space-between\"\n gap=\"xxx-large\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-stat-container space=\"xxx-large\" display=\"flex\">\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsRedeemed/CREDIT/POINTS\"\n >\n <p>Points Redeemed</p>\n </sqm-big-stat>\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/POINT/value/global\"\n >\n <p>Points Balance</p>\n </sqm-big-stat>\n </sqm-stat-container>\n </sqm-portal-container>\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-titled-section\n label-margin=\"small\"\n padding=\"none\"\n text-align=\"center\"\n >\n <h3 slot=\"label\">Earn points</h3>\n </sqm-titled-section>\n <sqm-card-feed gap=\"24\" width=\"347\">\n <sqm-task-card\n reward-amount=\"20\"\n goal=\"1\"\n card-title=\"Complete a Survey\"\n description=\"Fill out our NPS survey and get 20 points for giving us honest feedback.\"\n button-text=\"Take survey\"\n reward-unit=\"Points\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n finite=\"0\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n reward-amount=\"250\"\n goal=\"500\"\n show-progress-bar\n card-title=\"Spend $500\"\n description=\"Earn 250 points when you spend $500 or more.\"\n button-text=\"See plans\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n progress-bar-unit=\"$\"\n finite=\"0\"\n reward-unit=\"Points\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n goal=\"1\"\n reward-amount=\"50\"\n card-title=\"Follow Us on Twitter\"\n description=\"Earn 50 points when you follow us on Twitter!\"\n button-text=\"Follow\"\n button-link=\"https://twitter.com/\"\n open-new-tab=\"true\"\n event-key=\"socialFollow\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n finite=\"0\"\n reward-unit=\"Points\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n reward-amount=\"1\"\n reward-unit=\"Free Month\"\n goal=\"1\"\n card-title=\"Upgrade Your Plan\"\n description=\"Receive one free month for being a committed customer when you upgrade your plan.\"\n button-text=\"Upgrade\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n open-new-tab=\"false\"\n finite=\"0\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n </sqm-card-feed>\n <sqm-portal-container\n gap=\"large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-titled-section\n padding=\"none\"\n text-align=\"center\"\n label-margin=\"xx-small\"\n >\n <h3 slot=\"label\">Reward History</h3>\n </sqm-titled-section>\n <sqm-rewards-table\n per-page=\"4\"\n hidden-columns=\"0\"\n more-label=\"Next\"\n prev-label=\"Prev\"\n sm-breakpoint=\"599\"\n md-breakpoint=\"799\"\n >\n <sqm-rewards-table-reward-column\n available-text=\"{availableAmount} remaining\"\n column-title=\"Reward\"\n copy-text=\"Copied!\"\n redeemed-text=\"{redeemedAmount} redeemed\"\n >\n </sqm-rewards-table-reward-column>\n <sqm-rewards-table-source-column\n anonymous-user=\"Anonymous User\"\n column-title=\"Source\"\n deleted-user=\"Deleted User\"\n referral-text=\"{rewardSource, select, FRIEND_SIGNUP {Referral to} REFERRED {Referred by} other {}}\"\n reward-exchange-text=\"Reward Exchange\"\n reward-source-text=\"{rewardSource, select, MANUAL {Manual} AUTOMATED {{programName}} other {}}\"\n >\n </sqm-rewards-table-source-column>\n <sqm-rewards-table-status-column\n column-title=\"Status\"\n expiry-text=\"Expires on \"\n status-text=\"{status, select, AVAILABLE {Available} CANCELLED {Cancelled} PENDING {Pending} EXPIRED {Expired} REDEEMED {Redeemed} other {Not available} }\"\n >\n </sqm-rewards-table-status-column>\n <sqm-rewards-table-date-column\n column-title=\"Date received\"\n date-shown=\"dateGiven\"\n >\n </sqm-rewards-table-date-column>\n <sqm-empty\n slot=\"empty\"\n empty-state-image=\"https://res.cloudinary.com/saasquatch/image/upload/v1644360953/squatch-assets/empty_reward2.png\"\n empty-state-header=\"View your rewards\"\n empty-state-text=\"Refer friends and complete tasks to view the details of your rewards\"\n >\n </sqm-empty>\n </sqm-rewards-table>\n </sqm-portal-container>\n </sqm-portal-container>\n <sqm-portal-footer\n support-email=\"support@example.com\"\n terms-link=\"https://example.com\"\n faq-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n padding-bottom=\"none\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n ></sqm-portal-footer>\n </sqm-portal-container>\n </sqm-portal-container>\n </sqm-portal-container>\n</sqm-brand>\n";
|
|
3890
|
-
|
|
3891
|
-
const instantAccessShareWidget = "<sqm-brand>\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xx-large\"\n max-width=\"770px\"\n center\n display=\"grid\"\n >\n <sqm-referral-card vertical-alignment=\"start\">\n <sqm-titled-section\n text-align=\"center\"\n label-margin=\"xxx-small\"\n padding=\"none\"\n slot=\"header\"\n >\n <h3 slot=\"label\">Share $50 with friends</h3>\n <p slot=\"content\">\n They’ll get a $50 credit towards a new account and\n you’ll get up to $1200\n </p>\n </sqm-titled-section>\n <sqm-portal-container\n gap=\"large\"\n slot=\"left\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <p>How to get rewarded!</p>\n <sqm-timeline icon=\"circle\">\n <sqm-timeline-entry\n reward=\"$50\"\n unit=\"visa giftcard\"\n desc=\"Your friend purchases a Business plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n <sqm-timeline-entry\n reward=\"$200\"\n unit=\"visa giftcard\"\n desc=\"Our sales team qualifies your friend as a good fit for our Enterprise plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n <sqm-timeline-entry\n reward=\"$1000\"\n unit=\"visa giftcard\"\n desc=\"Your friend purchases an Enterprise plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n </sqm-timeline>\n </sqm-portal-container>\n <sqm-portal-container\n gap=\"large\"\n slot=\"right\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <p>Choose how you want to share:</p>\n <p><sub>Your unique referral link:</sub></p>\n <sqm-share-link\n tooltip-text=\"Copied to Clipboard\"\n tooltip-lifespan=\"1000\"\n >\n </sqm-share-link>\n <sqm-portal-container\n gap=\"x-small\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-share-button\n medium=\"email\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share via email\n </sqm-share-button>\n <sqm-share-button\n medium=\"linkedin\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share on LinkedIn\n </sqm-share-button>\n <sqm-share-button\n medium=\"twitter\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Tweet about us\n </sqm-share-button>\n </sqm-portal-container>\n </sqm-portal-container>\n <sqm-portal-container\n slot=\"footer\"\n direction=\"column\"\n gap=\"small\"\n justify-content=\"center\"\n display=\"flex\"\n padding=\"large\"\n >\n <sqm-user-identifier\n switch-user-link=\"https://www.example.com\"\n ></sqm-user-identifier\n ><sqm-portal-footer\n padding-top=\"none\"\n padding-bottom=\"none\"\n padding-left=\"none\"\n padding-right=\"none\"\n ></sqm-portal-footer>\n </sqm-portal-container>\n </sqm-referral-card>\n </sqm-portal-container>\n</sqm-brand>\n";
|
|
3892
|
-
|
|
3893
|
-
const instantAccessCouponWidget = "<sqm-brand>\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xx-large\"\n max-width=\"770px\"\n center\n display=\"grid\"\n >\n <sqm-referral-card vertical-alignment=\"start\">\n <sqm-portal-container\n gap=\"large\"\n direction=\"column\"\n display=\"flex\"\n justify-content=\"center\"\n max-width=\"100%\"\n padding=\"none\"\n slot=\"header\"\n >\n <sqm-titled-section\n text-align=\"center\"\n label-margin=\"xxx-small\"\n padding=\"none\"\n >\n <h3 slot=\"label\">You got $50 off thanks to a friend!</h3>\n\n <p slot=\"content\">\n Description about sharing the products wiht friends will make your\n life 100 times better!\n </p>\n </sqm-titled-section>\n\n <sqm-portal-container>\n <p>\n The coupon code has some conditions that are described concisely in\n this paragraph so that you don’t get upset if the code doesn’t work\n </p></sqm-portal-container\n >\n\n <sqm-coupon-code></sqm-coupon-code>\n </sqm-portal-container>\n\n <sqm-portal-footer\n slot=\"footer\"\n padding-top=\"none\"\n padding-bottom=\"none\"\n padding-left=\"none\"\n padding-right=\"none\"\n ></sqm-portal-footer>\n </sqm-referral-card>\n </sqm-portal-container>\n</sqm-brand>\n";
|
|
3894
|
-
|
|
3895
|
-
const instantAccessReferrerRegistationWidget = "<sqm-brand>\n <sqm-passwordless-registration include-name=\"true\">\n <sqm-titled-section\n text-align=\"center\"\n label-margin=\"xxx-small\"\n padding=\"none\"\n slot=\"top-slot\"\n >\n <h3 slot=\"label\">Share $50 with friends</h3>\n <p slot=\"content\">\n They’ll get a $50 credit towards a new account and\n you’ll get up to $1200\n </p>\n </sqm-titled-section>\n\n <sqm-portal-footer\n hide-support-text=\"true\"\n terms-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n padding-bottom=\"none\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n slot=\"bottom-slot\"\n ></sqm-portal-footer>\n </sqm-passwordless-registration>\n</sqm-brand>\n";
|
|
3883
|
+
const referralWidget = "<sqm-brand brand-color=\"#4225c4\" brand-font=\"Nunito Sans\">\n <sqm-portal-container\n direction=\"column\"\n padding=\"small\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n background-color=\"#ffffff\"\n >\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-hero-image\n image-url=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000275/squatch-assets/yr6ER3R.png\"\n header=\"MyCompany Rewards\"\n description=\"Refer a friend and earn up to $1200 in rewards\"\n layout=\"columns\"\n image-pos=\"right\"\n background-color=\"#F9F9F9\"\n >\n </sqm-hero-image>\n </sqm-portal-container>\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n max-width=\"770px\"\n center\n display=\"grid\"\n >\n <sqm-stat-container space=\"xxx-large\" display=\"flex\">\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n >\n <p>Referrals</p>\n </sqm-big-stat>\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/integrationRewardsCountFiltered/AVAILABLE/global\"\n >\n <p>Giftcards</p>\n </sqm-big-stat>\n </sqm-stat-container>\n <sqm-portal-container\n gap=\"large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-titled-section\n text-align=\"center\"\n label-margin=\"xxx-small\"\n padding=\"none\"\n >\n <h3 slot=\"label\">Get rewarded when your friend uses our product</h3>\n </sqm-titled-section>\n <sqm-referral-card vertical-alignment=\"start\">\n <sqm-portal-container\n gap=\"large\"\n slot=\"left\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <p>\n They’ll get a $50 credit towards a new account and you’ll get:\n </p>\n <sqm-timeline icon=\"circle\">\n <sqm-timeline-entry\n reward=\"$50\"\n unit=\"visa giftcard\"\n desc=\"Your friend purchases a Business plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n <sqm-timeline-entry\n reward=\"$200\"\n unit=\"visa giftcard\"\n desc=\"Our sales team qualifies your friend as a good fit for our Enterprise plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n <sqm-timeline-entry\n reward=\"$1000\"\n unit=\"visa giftcard\"\n desc=\"Your friend purchases an Enterprise plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n </sqm-timeline>\n </sqm-portal-container>\n <sqm-portal-container\n gap=\"large\"\n slot=\"right\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <p>>Choose how you want to share</p>\n <p><sub>Your unique referral link:</sub></p>\n <sqm-share-link\n tooltip-text=\"Copied to Clipboard\"\n tooltip-lifespan=\"1000\"\n >\n </sqm-share-link>\n <sqm-portal-container\n gap=\"x-small\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-share-button\n medium=\"email\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share via email\n </sqm-share-button>\n <sqm-share-button\n medium=\"linkedin\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share on LinkedIn\n </sqm-share-button>\n <sqm-share-button\n medium=\"twitter\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Tweet about us\n </sqm-share-button>\n </sqm-portal-container>\n </sqm-portal-container>\n </sqm-referral-card>\n </sqm-portal-container>\n <sqm-portal-container\n gap=\"large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-titled-section\n padding=\"none\"\n text-align=\"center\"\n label-margin=\"xx-small\"\n >\n <h3 slot=\"label\">Referral History</h3>\n </sqm-titled-section>\n <sqm-referral-table\n per-page=\"4\"\n hidden-columns=\"2\"\n more-label=\"Next\"\n prev-label=\"Prev\"\n sm-breakpoint=\"599\"\n md-breakpoint=\"799\"\n >\n <sqm-referral-table-user-column\n column-title=\"User\"\n anonymous-user=\"Anonymous User\"\n deleted-user=\"Deleted User\"\n >\n </sqm-referral-table-user-column>\n <sqm-referral-table-status-column\n column-title=\"Referral status\"\n converted-status-text=\"Converted\"\n in-progress-status-text=\"In Progress\"\n >\n </sqm-referral-table-status-column>\n <sqm-referral-table-rewards-column\n column-title=\"Rewards\"\n expiring-text=\"Expiring in\"\n fuel-tank-text=\"Your code is\"\n pending-for-text=\"{status} for {date}\"\n reward-received-text=\"Reward received on\"\n status-long-text=\"{status, select, AVAILABLE {Reward expiring on} CANCELLED {Reward cancelled on} PENDING {Available on} EXPIRED {Reward expired on} other {Not available} }\"\n status-text=\"{status, select, AVAILABLE {Available} CANCELLED {Cancelled} PENDING {Pending} EXPIRED {Expired} REDEEMED {Redeemed} other {Not available} }\"\n >\n </sqm-referral-table-rewards-column>\n <sqm-referral-table-date-column\n column-title=\"Date referred\"\n date-shown=\"dateReferralStarted\"\n >\n </sqm-referral-table-date-column>\n <sqm-empty\n slot=\"empty\"\n empty-state-image=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000223/squatch-assets/empty_referral2.png\"\n empty-state-header=\"View your referral details\"\n empty-state-text=\"Refer a friend to view the status of your referrals and rewards earned\"\n ></sqm-empty>\n </sqm-referral-table>\n </sqm-portal-container>\n <sqm-portal-footer\n support-email=\"support@example.com\"\n terms-link=\"https:\\/\\/example.com\"\n faq-link=\"https:\\/\\/example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n padding-bottom=\"none\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n ></sqm-portal-footer>\n </sqm-portal-container>\n </sqm-portal-container>\n</sqm-brand>\n";
|
|
3896
3884
|
|
|
3897
|
-
const instantAccessReferredRegistationWidget = "<sqm-brand>\n <sqm-referred-registration register-label=\"Get $50 off\">\n <sqm-titled-section\n text-align=\"center\"\n label-margin=\"xxx-small\"\n padding=\"none\"\n slot=\"top-slot\"\n >\n <h3 slot=\"label\">You got $50 off thanks to a friend!</h3>\n <p slot=\"content\">\n Description about sharing the products with friends will make your life\n 100 times better!\n </p>\n </sqm-titled-section>\n\n <div slot=\"bottom-slot\">\n <p style=\"text-align: center; margin-top: 0; margin-bottom: 1.5rem\">\n *Valid on purchases of $75 or more\n </p>\n <sqm-portal-footer\n hide-support-text=\"true\"\n terms-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n padding-bottom=\"none\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n ></sqm-portal-footer>\n </div>\n </sqm-referred-registration>\n</sqm-brand>\n";
|
|
3885
|
+
const monoWidget = "<sqm-brand brand-color=\"#4225c4\" brand-font=\"Nunito Sans\">\n <sqm-portal-container\n direction=\"column\"\n padding=\"small\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n background-color=\"#ffffff\"\n >\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-hero-image\n image-url=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000275/squatch-assets/yr6ER3R.png\"\n header=\"MyCompany Rewards\"\n description=\"Refer friends and complete tasks to earn rewards\"\n layout=\"columns\"\n image-pos=\"right\"\n background-color=\"#F9F9F9\"\n image-mobile-pos=\"top\"\n image-percentage=\"50\"\n padding-image=\"none\"\n padding-text=\"xxxx-large\"\n >\n </sqm-hero-image>\n </sqm-portal-container>\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n max-width=\"770px\"\n center\n display=\"grid\"\n >\n <sqm-stat-container space=\"xxx-large\" display=\"flex\">\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n >\n <p>Referrals</p>\n </sqm-big-stat>\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/integrationRewardsCountFiltered/AVAILABLE/global\"\n >\n <p>Giftcards Earned</p>\n </sqm-big-stat>\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/POINT/value/global\"\n >\n <p>Points Balance</p>\n </sqm-big-stat>\n </sqm-stat-container>\n <sqm-portal-container\n gap=\"xx-large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-titled-section\n text-align=\"center\"\n label-margin=\"xxx-small\"\n padding=\"none\"\n >\n <h3 slot=\"label\">Share $50 with friends</h3>\n <p slot=\"content\">\n They’ll get a $50 credit towards a new account and you’ll get up to\n $1200\n </p>\n </sqm-titled-section>\n <sqm-referral-card vertical-alignment=\"start\">\n <sqm-portal-container\n gap=\"large\"\n slot=\"left\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <p>\n They’ll get a $50 credit towards a new account and you’ll get:\n </p>\n <sqm-timeline icon=\"circle\">\n <sqm-timeline-entry\n reward=\"$50\"\n unit=\"visa giftcard\"\n desc=\"Your friend purchases a Business plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n <sqm-timeline-entry\n reward=\"$200\"\n unit=\"visa giftcard\"\n desc=\"Our sales team qualifies your friend as a good fit for our Enterprise plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n <sqm-timeline-entry\n reward=\"$1000\"\n unit=\"visa giftcard\"\n desc=\"Your friend purchases an Enterprise plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n </sqm-timeline>\n </sqm-portal-container>\n <sqm-portal-container\n gap=\"large\"\n slot=\"right\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <p>Choose how you want to share:</p>\n <p><sub>Your unique referral link:</sub></p>\n <sqm-share-link\n tooltip-text=\"Copied to Clipboard\"\n tooltip-lifespan=\"1000\"\n >\n </sqm-share-link>\n <sqm-portal-container\n gap=\"x-small\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-share-button\n medium=\"email\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share via email\n </sqm-share-button>\n <sqm-share-button\n medium=\"linkedin\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share on LinkedIn\n </sqm-share-button>\n <sqm-share-button\n medium=\"twitter\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Tweet about us\n </sqm-share-button>\n </sqm-portal-container>\n </sqm-portal-container>\n </sqm-referral-card>\n <sqm-portal-container\n gap=\"xx-large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n min-width=\"\"\n padding=\"none\"\n >\n <sqm-titled-section text-align=\"center\" label-margin=\"xxx-small\">\n <h3 slot=\"label\">Earn more rewards</h3>\n <p slot=\"content\">\n Get points while using our product. Use those points to redeem\n rewards like one free month of Enterprise or two plane tickets to\n anywhere in North America\n </p>\n </sqm-titled-section>\n <sqm-card-feed gap=\"24\" width=\"347\">\n <sqm-task-card\n reward-amount=\"20\"\n goal=\"1\"\n card-title=\"Complete a Survey\"\n description=\"Fill out our NPS survey and get 20 points for giving us honest feedback.\"\n button-text=\"Take survey\"\n reward-unit=\"Points\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n finite=\"0\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n reward-amount=\"250\"\n goal=\"500\"\n show-progress-bar\n card-title=\"Spend $500\"\n description=\"Earn 250 points when you spend $500 or more.\"\n button-text=\"See plans\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n progress-bar-unit=\"$\"\n finite=\"0\"\n reward-unit=\"Points\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n goal=\"1\"\n reward-amount=\"50\"\n card-title=\"Follow Us on Twitter\"\n description=\"Earn 50 points when you follow us on Twitter!\"\n button-text=\"Follow\"\n button-link=\"https://twitter.com/\"\n open-new-tab=\"true\"\n event-key=\"socialFollow\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n finite=\"0\"\n reward-unit=\"Points\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n reward-amount=\"1\"\n reward-unit=\"Free Month\"\n goal=\"1\"\n card-title=\"Upgrade Your Plan\"\n description=\"Receive one free month for being a committed customer when you upgrade your plan.\"\n button-text=\"Upgrade\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n open-new-tab=\"false\"\n finite=\"0\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n </sqm-card-feed>\n </sqm-portal-container>\n <sqm-tabs>\n <sqm-tab header=\"Referral history\">\n <sqm-referral-table\n per-page=\"4\"\n hidden-columns=\"2\"\n more-label=\"Next\"\n prev-label=\"Prev\"\n sm-breakpoint=\"599\"\n md-breakpoint=\"799\"\n >\n <sqm-referral-table-user-column\n column-title=\"User\"\n anonymous-user=\"Anonymous User\"\n deleted-user=\"Deleted User\"\n >\n </sqm-referral-table-user-column>\n <sqm-referral-table-status-column\n column-title=\"Referral status\"\n converted-status-text=\"Converted\"\n in-progress-status-text=\"In Progress\"\n >\n </sqm-referral-table-status-column>\n <sqm-referral-table-rewards-column\n column-title=\"Rewards\"\n expiring-text=\"Expiring in\"\n fuel-tank-text=\"Your code is\"\n pending-for-text=\"{status} for {date}\"\n reward-received-text=\"Reward received on\"\n status-long-text=\"{status, select, AVAILABLE {Reward expiring on} CANCELLED {Reward cancelled on} PENDING {Available on} EXPIRED {Reward expired on} other {Not available} }\"\n status-text=\"{status, select, AVAILABLE {Available} CANCELLED {Cancelled} PENDING {Pending} EXPIRED {Expired} REDEEMED {Redeemed} other {Not available} }\"\n >\n </sqm-referral-table-rewards-column>\n <sqm-referral-table-date-column\n column-title=\"Date referred\"\n date-shown=\"dateReferralStarted\"\n >\n </sqm-referral-table-date-column>\n <sqm-empty\n slot=\"empty\"\n empty-state-image=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000223/squatch-assets/empty_referral2.png\"\n empty-state-header=\"View your referral details\"\n empty-state-text=\"Refer a friend to view the status of your referrals and rewards earned\"\n >\n </sqm-empty>\n </sqm-referral-table>\n </sqm-tab>\n <sqm-tab header=\"Reward history\">\n <sqm-rewards-table\n per-page=\"4\"\n program-id=\"\"\n hidden-columns=\"0\"\n more-label=\"Next\"\n prev-label=\"Prev\"\n sm-breakpoint=\"599\"\n md-breakpoint=\"799\"\n >\n <sqm-rewards-table-reward-column\n available-text=\"{availableAmount} remaining\"\n column-title=\"Reward\"\n copy-text=\"Copied!\"\n redeemed-text=\"{redeemedAmount} redeemed\"\n >\n </sqm-rewards-table-reward-column>\n <sqm-rewards-table-source-column\n anonymous-user=\"Anonymous User\"\n column-title=\"Source\"\n deleted-user=\"Deleted User\"\n referral-text=\"{rewardSource, select, FRIEND_SIGNUP {Referral to} REFERRED {Referred by} other {}}\"\n reward-exchange-text=\"Reward Exchange\"\n reward-source-text=\"{rewardSource, select, MANUAL {Manual} AUTOMATED {{programName}} other {}}\"\n >\n </sqm-rewards-table-source-column>\n <sqm-rewards-table-status-column\n column-title=\"Status\"\n expiry-text=\"Expires on \"\n status-text=\"{status, select, AVAILABLE {Available} CANCELLED {Cancelled} PENDING {Pending} EXPIRED {Expired} REDEEMED {Redeemed} other {Not available} }\"\n >\n </sqm-rewards-table-status-column>\n <sqm-rewards-table-date-column\n column-title=\"Date received\"\n date-shown=\"dateGiven\"\n >\n </sqm-rewards-table-date-column>\n <sqm-empty\n slot=\"empty\"\n empty-state-image=\"https://res.cloudinary.com/saasquatch/image/upload/v1644360953/squatch-assets/empty_reward2.png\"\n empty-state-header=\"View your rewards\"\n empty-state-text=\"Refer friends and complete tasks to view the details of your rewards\"\n >\n </sqm-empty>\n </sqm-rewards-table>\n </sqm-tab>\n </sqm-tabs>\n </sqm-portal-container>\n <sqm-portal-footer\n support-email=\"support@example.com\"\n terms-link=\"https:\\/\\/example.com\"\n faq-link=\"https:\\/\\/example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n padding-bottom=\"none\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n ></sqm-portal-footer>\n </sqm-portal-container>\n </sqm-portal-container>\n</sqm-brand>\n";
|
|
3898
3886
|
|
|
3899
|
-
const
|
|
3900
|
-
|
|
3901
|
-
const portalLeadSubmitTemplate = "<sqm-portal-frame>\n <a slot=\"header\" href=\"/\">\n <sqm-text style=\"height: 60px\">\n <img\n style=\"height: 60px\"\n src=\"https://res.cloudinary.com/saasquatch/image/upload/v1634255445/squatch-assets/Copy_of_saasquatch-logo-tree-large-horizontal.png\"\n />\n </sqm-text>\n </a>\n <sqb-program-section program-id=\"referral-program\">\n <sqm-router>\n <template\n path=\"/:path(\\bregister\\b|\\bemailVerification\\b|\\blogin\\b|\\bverifyEmail\\b|\\bforgotPassword\\b|\\bresetPassword\\b|\\blogout\\b)\"\n >\n <sqm-hero\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\n >\n <sqm-router>\n <template path=\"/register\">\n <sqm-portal-register>\n <sqm-name-fields slot=\"formData\"></sqm-name-fields>\n </sqm-portal-register>\n </template>\n\n <template path=\"/emailVerification\">\n <sqm-portal-protected-route\n redirect-to=\"/login\"\n ></sqm-portal-protected-route>\n <sqm-portal-email-verification></sqm-portal-email-verification>\n </template>\n\n <template path=\"/login\">\n <sqm-portal-login></sqm-portal-login>\n </template>\n\n <template path=\"/verifyEmail\">\n <sqm-portal-verify-email></sqm-portal-verify-email>\n </template>\n\n <template path=\"/forgotPassword\">\n <sqm-portal-forgot-password\n email-label=\"Business Email\"\n ></sqm-portal-forgot-password>\n </template>\n\n <template path=\"/resetPassword\">\n <sqm-portal-reset-password\n confirm-password=\"true\"\n ></sqm-portal-reset-password>\n </template>\n <template path=\"/logout\">\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\n </template>\n </sqm-router>\n </sqm-hero>\n </template>\n </sqm-router>\n <sqm-router>\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b|\\brefer\\b)?\">\n <sqm-divided-layout\n direction=\"row\"\n style=\"\n border-top: 1px solid #eaeaea;\n border-bottom: 1px solid #eaeaea;\n \"\n >\n <sqm-navigation-sidebar>\n <sqm-navigation-sidebar-item\n path=\"/\"\n icon=\"house\"\n label=\"Dashboard\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/refer\"\n icon=\"inbox\"\n label=\"Submit A Lead\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/activity\"\n icon=\"bar-chart\"\n label=\"Activity\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/editProfile\"\n icon=\"person\"\n label=\"Edit Profile\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/logout\"\n icon=\"box-arrow-right\"\n label=\"Logout\"\n ></sqm-navigation-sidebar-item>\n </sqm-navigation-sidebar>\n <sqm-divided-layout direction=\"column\">\n <sqm-router>\n <template path=\"/\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqb-widget\n widget-type=\"p/referral-program/w/referrerWidget\"\n track-loads=\"true\"\n ></sqb-widget>\n </template>\n <template path=\"/editProfile\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\n ><sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-change-password></sqm-portal-change-password>\n </sqm-portal-container>\n </template>\n <template path=\"/refer\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-referral-iframe></sqm-referral-iframe>\n </template>\n <template path=\"/activity\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-text> <h1>Activity</h1></sqm-text>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container>\n <sqm-referral-table>\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\n <sqm-referral-table-date-column\n column-title=\"Referred\"\n date-shown=\"dateReferralStarted\"\n ></sqm-referral-table-date-column> </sqm-referral-table\n ></sqm-portal-container>\n </template>\n </sqm-router>\n </sqm-divided-layout>\n </sqm-divided-layout>\n </template>\n </sqm-router>\n </sqb-program-section>\n <sqm-portal-footer\n slot=\"footer\"\n support-email=\"support@example.com\"\n terms-link=\"https://example.com\"\n faq-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n ></sqm-portal-footer>\n</sqm-portal-frame>\n";
|
|
3902
|
-
|
|
3903
|
-
const portalLeadSubmitTemplateWithDashboard = "<sqm-portal-frame>\n <a slot=\"header\" href=\"/\">\n <sqm-text style=\"height: 60px\">\n <img\n style=\"height: 60px\"\n src=\"https://res.cloudinary.com/saasquatch/image/upload/v1634255445/squatch-assets/Copy_of_saasquatch-logo-tree-large-horizontal.png\"\n />\n </sqm-text>\n </a>\n <sqb-program-section program-id=\"referral-program\">\n <sqm-router>\n <template\n path=\"/:path(\\bregister\\b|\\bemailVerification\\b|\\blogin\\b|\\bverifyEmail\\b|\\bforgotPassword\\b|\\bresetPassword\\b|\\blogout\\b)\"\n >\n <sqm-hero\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\n >\n <sqm-router>\n <template path=\"/register\">\n <sqm-portal-register>\n <sqm-name-fields slot=\"formData\"></sqm-name-fields>\n </sqm-portal-register>\n </template>\n\n <template path=\"/emailVerification\">\n <sqm-portal-protected-route\n redirect-to=\"/login\"\n ></sqm-portal-protected-route>\n <sqm-portal-email-verification></sqm-portal-email-verification>\n </template>\n\n <template path=\"/login\">\n <sqm-portal-login></sqm-portal-login>\n </template>\n\n <template path=\"/verifyEmail\">\n <sqm-portal-verify-email></sqm-portal-verify-email>\n </template>\n\n <template path=\"/forgotPassword\">\n <sqm-portal-forgot-password\n email-label=\"Business Email\"\n ></sqm-portal-forgot-password>\n </template>\n\n <template path=\"/resetPassword\">\n <sqm-portal-reset-password\n confirm-password=\"true\"\n ></sqm-portal-reset-password>\n </template>\n <template path=\"/logout\">\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\n </template>\n </sqm-router>\n </sqm-hero>\n </template>\n </sqm-router>\n <sqm-router>\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b|\\brefer\\b)?\">\n <sqm-divided-layout\n direction=\"row\"\n style=\"\n border-top: 1px solid #eaeaea;\n border-bottom: 1px solid #eaeaea;\n \"\n >\n <sqm-navigation-sidebar>\n <sqm-navigation-sidebar-item\n path=\"/\"\n icon=\"house\"\n label=\"Dashboard\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/refer\"\n icon=\"inbox\"\n label=\"Submit A Lead\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/activity\"\n icon=\"bar-chart\"\n label=\"Activity\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/editProfile\"\n icon=\"person\"\n label=\"Edit Profile\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/logout\"\n icon=\"box-arrow-right\"\n label=\"Logout\"\n ></sqm-navigation-sidebar-item>\n </sqm-navigation-sidebar>\n <sqm-divided-layout direction=\"column\">\n <sqm-router>\n <template path=\"/\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n ><sqm-titled-section label-margin=\"xx-small\"\n ><sqm-text slot=\"label\"> <p>Welcome back,</p> </sqm-text\n ><sqm-text slot=\"content\">\n <h1>\n <sqm-user-name\n fallback=\"Anonymous User\"\n ></sqm-user-name>\n </h1> </sqm-text\n ></sqm-titled-section>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container> </sqm-portal-container\n ><sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-titled-section padding=\"none\" label-margin=\"x-large\"\n ><sqm-text slot=\"label\">\n <h2>Partner and Profit</h2> </sqm-text\n ><sqm-text slot=\"content\">\n <p>\n Get rewarded for referring potential customers to\n SaaSquatch. Earn commission for each successful lead you\n send our way\n </p>\n </sqm-text></sqm-titled-section\n >\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\n ><sqm-text slot=\"label\">\n <h3>Share your referral link</h3> </sqm-text\n ><sqm-share-link slot=\"content\"></sqm-share-link\n ></sqm-titled-section>\n <sqm-titled-section label-margin=\"small\" padding=\"none\">\n <sqm-text slot=\"label\">\n <h3>Share your referral code</h3> </sqm-text\n ><sqm-share-code slot=\"content\"></sqm-share-code>\n </sqm-titled-section>\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\n ><sqm-text slot=\"label\">\n <h3>Share via social media</h3> </sqm-text\n ><sqm-portal-container\n slot=\"content\"\n direction=\"row\"\n padding=\"none\"\n gap=\"xxx-large\"\n min-width=\"160px\"\n ><sqm-share-button\n icon=\"envelope\"\n medium=\"email\"\n size=\"medium\"\n pill=\"true\"\n >Email a friend</sqm-share-button\n ><sqm-share-button\n medium=\"twitter\"\n size=\"medium\"\n pill=\"true\"\n >Tweet about us</sqm-share-button\n ><sqm-share-button\n medium=\"facebook\"\n size=\"medium\"\n pill=\"true\"\n >Share on Facebook</sqm-share-button\n ></sqm-portal-container\n ></sqm-titled-section\n ></sqm-portal-container\n >\n </template>\n <template path=\"/editProfile\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\n ><sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-change-password></sqm-portal-change-password>\n </sqm-portal-container>\n </template>\n <template path=\"/refer\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-referral-iframe></sqm-referral-iframe>\n </template>\n <template path=\"/activity\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-text> <h1>Activity</h1></sqm-text>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container>\n <sqm-referral-table>\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\n <sqm-referral-table-date-column\n column-title=\"Referred\"\n date-shown=\"dateReferralStarted\"\n ></sqm-referral-table-date-column> </sqm-referral-table\n ></sqm-portal-container>\n </template>\n </sqm-router>\n </sqm-divided-layout>\n </sqm-divided-layout>\n </template>\n </sqm-router>\n </sqb-program-section>\n <sqm-portal-footer\n slot=\"footer\"\n support-email=\"support@example.com\"\n terms-link=\"https://example.com\"\n faq-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n ></sqm-portal-footer>\n</sqm-portal-frame>\n";
|
|
3904
|
-
|
|
3905
|
-
const portalTemplateWithDashboard = "<sqm-portal-frame>\n <a slot=\"header\" href=\"/\">\n <sqm-text style=\"height: 60px\">\n <img\n style=\"height: 60px\"\n src=\"https://res.cloudinary.com/saasquatch/image/upload/v1634255445/squatch-assets/Copy_of_saasquatch-logo-tree-large-horizontal.png\"\n />\n </sqm-text>\n </a>\n <sqb-program-section program-id=\"referral-program\">\n <sqm-router>\n <template\n path=\"/:path(\\bregister\\b|\\bemailVerification\\b|\\blogin\\b|\\bverifyEmail\\b|\\bforgotPassword\\b|\\bresetPassword\\b|\\blogout\\b)\"\n >\n <sqm-hero\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\n >\n <sqm-router>\n <template path=\"/register\">\n <sqm-portal-register>\n <sqm-name-fields slot=\"formData\"></sqm-name-fields>\n </sqm-portal-register>\n </template>\n\n <template path=\"/emailVerification\">\n <sqm-portal-protected-route\n redirect-to=\"/login\"\n ></sqm-portal-protected-route>\n <sqm-portal-email-verification></sqm-portal-email-verification>\n </template>\n\n <template path=\"/login\">\n <sqm-portal-login></sqm-portal-login>\n </template>\n\n <template path=\"/verifyEmail\">\n <sqm-portal-verify-email></sqm-portal-verify-email>\n </template>\n\n <template path=\"/forgotPassword\">\n <sqm-portal-forgot-password\n email-label=\"Business Email\"\n ></sqm-portal-forgot-password>\n </template>\n\n <template path=\"/resetPassword\">\n <sqm-portal-reset-password\n confirm-password=\"true\"\n ></sqm-portal-reset-password>\n </template>\n <template path=\"/logout\">\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\n </template>\n </sqm-router>\n </sqm-hero>\n </template>\n </sqm-router>\n <sqm-router>\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b)?\">\n <sqm-divided-layout\n direction=\"row\"\n style=\"\n border-top: 1px solid #eaeaea;\n border-bottom: 1px solid #eaeaea;\n \"\n >\n <sqm-navigation-sidebar>\n <sqm-navigation-sidebar-item\n path=\"/\"\n icon=\"house\"\n label=\"Dashboard\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/activity\"\n icon=\"bar-chart\"\n label=\"Activity\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/editProfile\"\n icon=\"person\"\n label=\"Edit Profile\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/logout\"\n icon=\"box-arrow-right\"\n label=\"Logout\"\n ></sqm-navigation-sidebar-item>\n </sqm-navigation-sidebar>\n <sqm-divided-layout direction=\"column\">\n <sqm-router>\n <template path=\"/\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n ><sqm-titled-section label-margin=\"xx-small\"\n ><sqm-text slot=\"label\"> <p>Welcome back,</p> </sqm-text\n ><sqm-text slot=\"content\">\n <h1>\n <sqm-user-name\n fallback=\"Anonymous User\"\n ></sqm-user-name>\n </h1> </sqm-text\n ></sqm-titled-section>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container> </sqm-portal-container\n ><sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-titled-section padding=\"none\" label-margin=\"x-large\"\n ><sqm-text slot=\"label\">\n <h2>Partner and Profit</h2> </sqm-text\n ><sqm-text slot=\"content\">\n <p>\n Get rewarded for referring potential customers to\n SaaSquatch. Earn commission for each successful lead you\n send our way\n </p>\n </sqm-text></sqm-titled-section\n >\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\n ><sqm-text slot=\"label\">\n <h3>Share your referral link</h3> </sqm-text\n ><sqm-share-link slot=\"content\"></sqm-share-link\n ></sqm-titled-section>\n <sqm-titled-section label-margin=\"small\" padding=\"none\">\n <sqm-text slot=\"label\">\n <h3>Share your referral code</h3> </sqm-text\n ><sqm-share-code slot=\"content\"></sqm-share-code>\n </sqm-titled-section>\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\n ><sqm-text slot=\"label\">\n <h3>Share via social media</h3> </sqm-text\n ><sqm-portal-container\n slot=\"content\"\n direction=\"row\"\n padding=\"none\"\n gap=\"xxx-large\"\n min-width=\"160px\"\n ><sqm-share-button\n icon=\"envelope\"\n medium=\"email\"\n size=\"medium\"\n pill=\"true\"\n >Email a friend</sqm-share-button\n ><sqm-share-button\n medium=\"twitter\"\n size=\"medium\"\n pill=\"true\"\n >Tweet about us</sqm-share-button\n ><sqm-share-button\n medium=\"facebook\"\n size=\"medium\"\n pill=\"true\"\n >Share on Facebook</sqm-share-button\n ></sqm-portal-container\n ></sqm-titled-section\n ></sqm-portal-container\n >\n </template>\n <template path=\"/editProfile\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\n ><sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-change-password></sqm-portal-change-password>\n </sqm-portal-container>\n </template>\n\n <template path=\"/activity\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-text> <h1>Activity</h1></sqm-text>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container>\n <sqm-referral-table>\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\n <sqm-referral-table-date-column\n column-title=\"Referred\"\n date-shown=\"dateReferralStarted\"\n ></sqm-referral-table-date-column> </sqm-referral-table\n ></sqm-portal-container>\n </template>\n </sqm-router>\n </sqm-divided-layout>\n </sqm-divided-layout>\n </template>\n </sqm-router>\n </sqb-program-section>\n <sqm-portal-footer\n slot=\"footer\"\n support-email=\"support@example.com\"\n terms-link=\"https://example.com\"\n faq-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n ></sqm-portal-footer>\n</sqm-portal-frame>\n";
|
|
3906
|
-
|
|
3907
|
-
const multiProgramTemplate = "<sqm-portal-frame>\n <a slot=\"header\" href=\"/\">\n <sqm-text style=\"height: 60px\">\n <img\n style=\"height: 60px\"\n src=\"https://res.cloudinary.com/saasquatch/image/upload/v1634255445/squatch-assets/Copy_of_saasquatch-logo-tree-large-horizontal.png\"\n />\n </sqm-text>\n </a>\n <sqb-program-section program-id=\"referral-program-1\">\n <sqm-router>\n <template\n path=\"/:path(\\bregister\\b|\\bemailVerification\\b|\\blogin\\b|\\bverifyEmail\\b|\\bforgotPassword\\b|\\bresetPassword\\b|\\blogout\\b)\"\n >\n <sqm-hero\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\n >\n <sqm-router>\n <template path=\"/register\">\n <sqm-portal-register>\n <sqm-name-fields slot=\"formData\"></sqm-name-fields>\n </sqm-portal-register>\n </template>\n\n <template path=\"/emailVerification\">\n <sqm-portal-protected-route\n redirect-to=\"/login\"\n ></sqm-portal-protected-route>\n <sqm-portal-email-verification></sqm-portal-email-verification>\n </template>\n\n <template path=\"/login\">\n <sqm-portal-login></sqm-portal-login>\n </template>\n\n <template path=\"/verifyEmail\">\n <sqm-portal-verify-email></sqm-portal-verify-email>\n </template>\n\n <template path=\"/forgotPassword\">\n <sqm-portal-forgot-password\n email-label=\"Business Email\"\n ></sqm-portal-forgot-password>\n </template>\n\n <template path=\"/resetPassword\">\n <sqm-portal-reset-password\n confirm-password=\"true\"\n ></sqm-portal-reset-password>\n </template>\n <template path=\"/logout\">\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\n </template>\n </sqm-router>\n </sqm-hero>\n </template>\n </sqm-router>\n <sqm-router>\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b)?\">\n <sqm-divided-layout\n direction=\"row\"\n style=\"\n border-top: 1px solid #eaeaea;\n border-bottom: 1px solid #eaeaea;\n \"\n >\n <sqm-navigation-sidebar>\n <sqm-program-menu>\n <sl-menu-item value=\"referral-program-1\"\n >Referral Program 1</sl-menu-item\n >\n <sl-menu-item value=\"referral-program-2\"\n >Referral Program 2</sl-menu-item\n >\n </sqm-program-menu>\n <sqm-navigation-sidebar-item\n path=\"/\"\n icon=\"house\"\n label=\"Dashboard\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/activity\"\n icon=\"bar-chart\"\n label=\"Activity\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/editProfile\"\n icon=\"person\"\n label=\"Edit Profile\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/logout\"\n icon=\"box-arrow-right\"\n label=\"Logout\"\n ></sqm-navigation-sidebar-item>\n </sqm-navigation-sidebar>\n <sqm-divided-layout direction=\"column\">\n <sqm-router>\n <template path=\"/\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqb-program-switch>\n <template program-id=\"referral-program-1\">\n <sqb-widget\n widget-type=\"p/referral-program-1/w/referrerWidget\"\n track-loads=\"true\"\n ></sqb-widget>\n </template>\n <template program-id=\"referral-program-2\">\n <sqb-widget\n widget-type=\"p/referral-program-2/w/referrerWidget\"\n track-loads=\"true\"\n ></sqb-widget>\n </template>\n </sqb-program-switch>\n </template>\n <template path=\"/editProfile\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-profile></sqm-portal-profile></sqm-portal-container\n ><sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-change-password></sqm-portal-change-password>\n </sqm-portal-container>\n </template>\n <template path=\"/activity\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-text> <h1>Activity</h1></sqm-text>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container>\n <sqm-referral-table>\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\n <sqm-referral-table-date-column\n column-title=\"Referred\"\n date-shown=\"dateReferralStarted\"\n ></sqm-referral-table-date-column> </sqm-referral-table\n ></sqm-portal-container>\n </template>\n </sqm-router>\n </sqm-divided-layout>\n </sqm-divided-layout>\n </template>\n </sqm-router>\n </sqb-program-section>\n <sqm-portal-footer\n slot=\"footer\"\n support-email=\"support@example.com\"\n terms-link=\"https://example.com\"\n faq-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n ></sqm-portal-footer>\n</sqm-portal-frame>\n";
|
|
3887
|
+
const loyaltyWidget = "<sqm-brand brand-color=\"#4225c4\" brand-font=\"Nunito Sans\">\n <sqm-portal-container\n direction=\"column\"\n padding=\"small\"\n gap=\"xxxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n background-color=\"#ffffff\"\n >\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-hero-image\n image-url=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000275/squatch-assets/yr6ER3R.png\"\n header=\"MyCompany Rewards\"\n description=\"Complete tasks to earn rewards\"\n layout=\"overlay\"\n padding-image=\"xxxx-large\"\n padding-text=\"xxx-large\"\n image-pos=\"center\"\n overlay-color=\"#5e5669\"\n overlay-opacity=\"0.9\"\n >\n </sqm-hero-image>\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n max-width=\"770px\"\n center\n display=\"grid\"\n >\n <sqm-program-explainer header=\"How it works\">\n <sqm-program-explainer-step\n description=\"Complete tasks like uploading your first video or sharing videos with friends\"\n header=\"Earn points for using our product\"\n icon=\"cash-stack\"\n text-color=\"#000000\"\n >\n </sqm-program-explainer-step>\n <sqm-program-explainer-step\n description=\"Redeem rewards like one free month of Enterprise or two plane tickets to anywhere in North America\"\n header=\"Redeem rewards with your points\"\n icon=\"people\"\n text-color=\"#000000\"\n >\n </sqm-program-explainer-step>\n </sqm-program-explainer>\n <sqm-portal-container\n center\n direction=\"row\"\n display=\"flex\"\n justify-content=\"space-between\"\n gap=\"xxx-large\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-stat-container space=\"xxx-large\" display=\"flex\">\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsRedeemed/CREDIT/POINTS\"\n >\n <p>Points Redeemed</p>\n </sqm-big-stat>\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/POINT/value/global\"\n >\n <p>Points Balance</p>\n </sqm-big-stat>\n </sqm-stat-container>\n </sqm-portal-container>\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-titled-section\n label-margin=\"small\"\n padding=\"none\"\n text-align=\"center\"\n >\n <h3 slot=\"label\">Earn points</h3>\n </sqm-titled-section>\n <sqm-card-feed gap=\"24\" width=\"347\">\n <sqm-task-card\n reward-amount=\"20\"\n goal=\"1\"\n card-title=\"Complete a Survey\"\n description=\"Fill out our NPS survey and get 20 points for giving us honest feedback.\"\n button-text=\"Take survey\"\n reward-unit=\"Points\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n finite=\"0\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n reward-amount=\"250\"\n goal=\"500\"\n show-progress-bar\n card-title=\"Spend $500\"\n description=\"Earn 250 points when you spend $500 or more.\"\n button-text=\"See plans\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n progress-bar-unit=\"$\"\n finite=\"0\"\n reward-unit=\"Points\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n goal=\"1\"\n reward-amount=\"50\"\n card-title=\"Follow Us on Twitter\"\n description=\"Earn 50 points when you follow us on Twitter!\"\n button-text=\"Follow\"\n button-link=\"https://twitter.com/\"\n open-new-tab=\"true\"\n event-key=\"socialFollow\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n finite=\"0\"\n reward-unit=\"Points\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n reward-amount=\"1\"\n reward-unit=\"Free Month\"\n goal=\"1\"\n card-title=\"Upgrade Your Plan\"\n description=\"Receive one free month for being a committed customer when you upgrade your plan.\"\n button-text=\"Upgrade\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n open-new-tab=\"false\"\n finite=\"0\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n </sqm-card-feed>\n <sqm-portal-container\n gap=\"large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-titled-section\n padding=\"none\"\n text-align=\"center\"\n label-margin=\"xx-small\"\n >\n <h3 slot=\"label\">Reward History</h3>\n </sqm-titled-section>\n <sqm-rewards-table\n per-page=\"4\"\n hidden-columns=\"0\"\n more-label=\"Next\"\n prev-label=\"Prev\"\n sm-breakpoint=\"599\"\n md-breakpoint=\"799\"\n >\n <sqm-rewards-table-reward-column\n available-text=\"{availableAmount} remaining\"\n column-title=\"Reward\"\n copy-text=\"Copied!\"\n redeemed-text=\"{redeemedAmount} redeemed\"\n >\n </sqm-rewards-table-reward-column>\n <sqm-rewards-table-source-column\n anonymous-user=\"Anonymous User\"\n column-title=\"Source\"\n deleted-user=\"Deleted User\"\n referral-text=\"{rewardSource, select, FRIEND_SIGNUP {Referral to} REFERRED {Referred by} other {}}\"\n reward-exchange-text=\"Reward Exchange\"\n reward-source-text=\"{rewardSource, select, MANUAL {Manual} AUTOMATED {{programName}} other {}}\"\n >\n </sqm-rewards-table-source-column>\n <sqm-rewards-table-status-column\n column-title=\"Status\"\n expiry-text=\"Expires on \"\n status-text=\"{status, select, AVAILABLE {Available} CANCELLED {Cancelled} PENDING {Pending} EXPIRED {Expired} REDEEMED {Redeemed} other {Not available} }\"\n >\n </sqm-rewards-table-status-column>\n <sqm-rewards-table-date-column\n column-title=\"Date received\"\n date-shown=\"dateGiven\"\n >\n </sqm-rewards-table-date-column>\n <sqm-empty\n slot=\"empty\"\n empty-state-image=\"https://res.cloudinary.com/saasquatch/image/upload/v1644360953/squatch-assets/empty_reward2.png\"\n empty-state-header=\"View your rewards\"\n empty-state-text=\"Refer friends and complete tasks to view the details of your rewards\"\n >\n </sqm-empty>\n </sqm-rewards-table>\n </sqm-portal-container>\n </sqm-portal-container>\n <sqm-portal-footer\n support-email=\"support@example.com\"\n terms-link=\"https:\\/\\/example.com\"\n faq-link=\"https:\\/\\/example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n padding-bottom=\"none\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n ></sqm-portal-footer>\n </sqm-portal-container>\n </sqm-portal-container>\n </sqm-portal-container>\n</sqm-brand>\n";
|
|
3908
3888
|
|
|
3909
|
-
const multiProgramTemplateWithDashboard = "<sqm-portal-frame>\n <a slot=\"header\" href=\"/\">\n <sqm-text style=\"height: 60px\">\n <img\n style=\"height: 60px\"\n src=\"https://res.cloudinary.com/saasquatch/image/upload/v1634255445/squatch-assets/Copy_of_saasquatch-logo-tree-large-horizontal.png\"\n />\n </sqm-text>\n </a>\n <sqb-program-section program-id=\"referral-program-1\">\n <sqm-hero\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\n >\n <sqm-router>\n <template path=\"/register\">\n <sqm-portal-register>\n <sqm-name-fields slot=\"formData\"></sqm-name-fields>\n </sqm-portal-register>\n </template>\n\n <template path=\"/emailVerification\">\n <sqm-portal-protected-route\n redirect-to=\"/login\"\n ></sqm-portal-protected-route>\n <sqm-portal-email-verification></sqm-portal-email-verification>\n </template>\n\n <template path=\"/login\">\n <sqm-portal-login></sqm-portal-login>\n </template>\n\n <template path=\"/verifyEmail\">\n <sqm-portal-verify-email></sqm-portal-verify-email>\n </template>\n\n <template path=\"/forgotPassword\">\n <sqm-portal-forgot-password\n email-label=\"Business Email\"\n ></sqm-portal-forgot-password>\n </template>\n\n <template path=\"/resetPassword\">\n <sqm-portal-reset-password\n confirm-password=\"true\"\n ></sqm-portal-reset-password>\n </template>\n <template path=\"/logout\">\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\n </template>\n </sqm-router>\n </sqm-hero>\n <sqm-router>\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b)?\">\n <sqm-divided-layout\n direction=\"row\"\n style=\"\n border-top: 1px solid #eaeaea;\n border-bottom: 1px solid #eaeaea;\n \"\n >\n <sqm-navigation-sidebar>\n <sqm-program-menu>\n <sl-menu-item value=\"referral-program-1\"\n >Referral Program 1</sl-menu-item\n >\n <sl-menu-item value=\"referral-program-2\"\n >Referral Program 2</sl-menu-item\n >\n </sqm-program-menu>\n <sqm-navigation-sidebar-item\n path=\"/\"\n icon=\"house\"\n label=\"Dashboard\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/activity\"\n icon=\"bar-chart\"\n label=\"Activity\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/editProfile\"\n icon=\"person\"\n label=\"Edit Profile\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/logout\"\n icon=\"box-arrow-right\"\n label=\"Logout\"\n ></sqm-navigation-sidebar-item>\n </sqm-navigation-sidebar>\n <sqm-divided-layout direction=\"column\">\n <sqm-router>\n <template path=\"/\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route\n ><sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n ><sqm-titled-section label-margin=\"xx-small\"\n ><sqm-text slot=\"label\"> <p>Welcome back,</p> </sqm-text\n ><sqm-text slot=\"content\">\n <h1>\n <sqm-user-name\n fallback=\"Anonymous User\"\n ></sqm-user-name>\n </h1> </sqm-text\n ></sqm-titled-section>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container> </sqm-portal-container\n ><sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-titled-section padding=\"none\" label-margin=\"x-large\"\n ><sqm-text slot=\"label\">\n <h2>Partner and Profit</h2> </sqm-text\n ><sqm-text slot=\"content\">\n <p>\n Get rewarded for referring potential customers to\n SaaSquatch. Earn commission for each successful lead you\n send our way\n </p>\n </sqm-text></sqm-titled-section\n >\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\n ><sqm-text slot=\"label\">\n <h3>Share your referral link</h3> </sqm-text\n ><sqm-share-link slot=\"content\"></sqm-share-link\n ></sqm-titled-section>\n <sqm-titled-section label-margin=\"small\" padding=\"none\">\n <sqm-text slot=\"label\">\n <h3>Share your referral code</h3> </sqm-text\n ><sqm-share-code slot=\"content\"></sqm-share-code>\n </sqm-titled-section>\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\n ><sqm-text slot=\"label\">\n <h3>Share via social media</h3> </sqm-text\n ><sqm-portal-container\n slot=\"content\"\n direction=\"row\"\n padding=\"none\"\n gap=\"xxx-large\"\n min-width=\"160px\"\n ><sqm-share-button\n icon=\"envelope\"\n medium=\"email\"\n size=\"medium\"\n pill=\"true\"\n >Email a friend</sqm-share-button\n ><sqm-share-button\n medium=\"twitter\"\n size=\"medium\"\n pill=\"true\"\n >Tweet about us</sqm-share-button\n ><sqm-share-button\n medium=\"facebook\"\n size=\"medium\"\n pill=\"true\"\n >Share on Facebook</sqm-share-button\n ></sqm-portal-container\n ></sqm-titled-section\n ></sqm-portal-container\n >\n </template>\n <template path=\"/editProfile\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\n ><sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-change-password></sqm-portal-change-password>\n </sqm-portal-container>\n </template>\n <template path=\"/activity\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-text> <h1>Activity</h1></sqm-text>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container>\n <sqm-referral-table>\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\n <sqm-referral-table-date-column\n column-title=\"Referred\"\n date-shown=\"dateReferralStarted\"\n ></sqm-referral-table-date-column> </sqm-referral-table\n ></sqm-portal-container>\n </template>\n </sqm-router>\n </sqm-divided-layout>\n </sqm-divided-layout>\n </template>\n </sqm-router>\n </sqb-program-section>\n <sqm-portal-footer\n slot=\"footer\"\n support-email=\"support@example.com\"\n terms-link=\"https://example.com\"\n faq-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n ></sqm-portal-footer>\n</sqm-portal-frame>\n";
|
|
3889
|
+
const instantAccessReferrerShareWidget = "<sqm-hero\n background=\"https://res.cloudinary.com/saasquatch/image/upload/v1683589933/Portal%20Assets/Screen-Shot-2022-01-06-at-3.23.58-AM.png\"\n columns=\"2\"\n padding-size=\"medium\"\n wrap-direction=\"wrap\"\n secondary-background=\"#FFFFFF\"\n min-height=\"200\"\n ><sqm-referral-card\n vertical-alignment=\"start\"\n slot=\"secondary-column\"\n padding-bottom=\"small\"\n padding-left=\"x-large\"\n padding-right=\"x-large\"\n padding-top=\"small\"\n >\n <sqm-titled-section\n text-align=\"center\"\n label-margin=\"none\"\n padding=\"none\"\n slot=\"header\"\n ><h1 slot=\"label\">Invite your friends to unlock rewards!</h1>\n <p slot=\"content\">\n They’ll get a $50 credit towards a new account and\n you’ll get a $50 in credit for each friend you refer.\n </p></sqm-titled-section\n >\n <sqm-portal-container\n gap=\"small\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n slot=\"left\"\n >\n <p style=\"margin: 0\">Choose how you want to share:</p>\n <sqm-share-link\n tooltip-text=\"Copied to Clipboard\"\n tooltip-lifespan=\"1000\"\n >\n </sqm-share-link>\n <sqm-share-button\n medium=\"email\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share via email\n </sqm-share-button>\n <sqm-share-button\n medium=\"linkedin\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share on LinkedIn\n </sqm-share-button>\n <sqm-share-button\n medium=\"twitter\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Tweet about us\n </sqm-share-button> </sqm-portal-container\n ><sqm-portal-container\n display=\"flex\"\n slot=\"footer\"\n gap=\"small\"\n justify-content=\"center\"\n >\n <sqm-logout-current-user\n user-identification-text=\"{email}\"\n switch-user-link=\"#\"\n switch-user-text=\"not you?\"\n ></sqm-logout-current-user>\n <sqm-portal-footer\n support-email=\"support@example.com\"\n show-powered-by=\"true\"\n padding-bottom=\"x-small\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n hide-support-text\n terms-text=\"Terms And Conditions\"\n terms-link=\"https://example.com\"\n ></sqm-portal-footer></sqm-portal-container\n ></sqm-referral-card>\n</sqm-hero>\n";
|
|
3910
3890
|
|
|
3911
|
-
const
|
|
3891
|
+
const instantAccessFriendCouponWidget = "<sqm-hero\n background=\"https://res.cloudinary.com/saasquatch/image/upload/v1683589933/Portal%20Assets/Screen-Shot-2022-01-06-at-3.23.58-AM.png\"\n columns=\"2\"\n padding-size=\"medium\"\n wrap-direction=\"wrap\"\n secondary-background=\"#FFFFFF\"\n>\n <sqm-referral-card\n vertical-alignment=\"start\"\n padding-bottom=\"small\"\n padding-left=\"x-large\"\n padding-right=\"x-large\"\n padding-top=\"small\"\n slot=\"secondary-column\"\n >\n <sqm-portal-container\n gap=\"large\"\n direction=\"column\"\n display=\"flex\"\n justify-content=\"center\"\n max-width=\"100%\"\n padding=\"none\"\n slot=\"header\"\n >\n <sqm-titled-section\n text-align=\"center\"\n label-margin=\"xxx-small\"\n padding=\"none\"\n >\n <h1 slot=\"label\">You got $50 off thanks to a friend!</h1>\n <p slot=\"content\">\n <span> Use this reward to get $50 off your next purchase. </span>\n </p>\n </sqm-titled-section>\n\n <sqm-coupon-code copy-button-style=\"button-outside\"></sqm-coupon-code>\n </sqm-portal-container>\n\n <sqm-portal-footer\n slot=\"footer\"\n show-powered-by=\"true\"\n padding-bottom=\"none\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n hide-support-text\n terms-text=\"Terms And Conditions\"\n terms-link=\"https://example.com\"\n ></sqm-portal-footer>\n </sqm-referral-card>\n</sqm-hero>\n";
|
|
3912
3892
|
|
|
3913
|
-
const
|
|
3893
|
+
const instantAccessReferrerRegistrationWidget = "<sqm-hero\n background=\"https://res.cloudinary.com/saasquatch/image/upload/v1683589933/Portal%20Assets/Screen-Shot-2022-01-06-at-3.23.58-AM.png\"\n columns=\"2\"\n padding-size=\"medium\"\n wrap-direction=\"wrap\"\n secondary-background=\"#FFFFFF\"\n ><sqm-instant-access-registration\n padding-bottom=\"small\"\n padding-left=\"x-large\"\n padding-right=\"x-large\"\n padding-top=\"small\"\n slot=\"secondary-column\"\n ><sqm-titled-section\n text-align=\"center\"\n label-margin=\"small\"\n padding=\"none\"\n slot=\"top\"\n ><div slot=\"label\"><h1>Invite your friends to unlock rewards!</h1></div>\n\n <p slot=\"content\">\n They’ll get a $50 credit towards a new account and\n you’ll get a $50 in credit for each friend you refer.\n </p> </sqm-titled-section\n ><sqm-portal-footer\n slot=\"bottom\"\n support-email=\"support@example.com\"\n show-powered-by=\"true\"\n padding-bottom=\"x-small\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n hide-support-text\n terms-text=\"Terms And Conditions\"\n terms-link=\"https://example.com\"\n ></sqm-portal-footer\n ></sqm-instant-access-registration>\n</sqm-hero>\n";
|
|
3914
3894
|
|
|
3915
|
-
const
|
|
3895
|
+
const instantAccessFriendRegistrationWidget = "<sqm-hero\n background=\"https://res.cloudinary.com/saasquatch/image/upload/v1683589933/Portal%20Assets/Screen-Shot-2022-01-06-at-3.23.58-AM.png\"\n columns=\"2\"\n padding-size=\"medium\"\n wrap-direction=\"wrap\"\n secondary-background=\"#FFFFFF\"\n ><sqm-referred-registration\n slot=\"secondary-column\"\n register-label=\"Get $50 off\"\n padding-bottom=\"small\"\n padding-left=\"x-large\"\n padding-right=\"x-large\"\n padding-top=\"small\"\n ><sqm-titled-section\n text-align=\"center\"\n label-margin=\"small\"\n padding=\"none\"\n slot=\"top\"\n ><h1 slot=\"label\">You got $50 off thanks to a friend!</h1>\n <p slot=\"content\">\n <span>Use this reward to get $50 off your next purchase.</span>\n </p>\n </sqm-titled-section>\n <div slot=\"bottom\">\n <p style=\"text-align: center\">*Valid on purchases of $75 or more</p>\n <sqm-portal-footer\n slot=\"footer\"\n show-powered-by=\"true\"\n padding-bottom=\"none\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n hide-support-text\n terms-text=\"Terms And Conditions\"\n terms-link=\"https://example.com\"\n ></sqm-portal-footer>\n </div> </sqm-referred-registration\n></sqm-hero>\n";
|
|
3916
3896
|
|
|
3917
|
-
const activityTemplate = "<sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n></sqm-portal-protected-route>\n<sqm-portal-container direction=\"column\" padding=\"xxx-large\" gap=\"xxx-large\">\n <sqm-text> <h1>Activity</h1></sqm-text>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container>\n <sqm-referral-table>\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\n <sqm-referral-table-date-column\n column-title=\"Referred\"\n date-shown=\"dateReferralStarted\"\n ></sqm-referral-table-date-column> </sqm-referral-table\n></sqm-portal-container>\n";
|
|
3897
|
+
const paypalReferralWidget = "<sqm-brand brand-color=\"#4225c4\" brand-font=\"Nunito Sans\">\n <sqm-portal-container\n direction=\"column\"\n padding=\"small\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n background-color=\"#ffffff\"\n >\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-hero-image\n image-url=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000275/squatch-assets/yr6ER3R.png\"\n header=\"MyCompany Rewards\"\n description=\"Refer a friend and earn up to $1200 in rewards\"\n layout=\"columns\"\n image-pos=\"right\"\n background-color=\"#F9F9F9\"\n >\n </sqm-hero-image>\n </sqm-portal-container>\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n max-width=\"770px\"\n center\n display=\"grid\"\n >\n <sqm-stat-container space=\"xxx-large\" display=\"flex\">\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n >\n <p>Referrals</p>\n </sqm-big-stat>\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/integrationRewardsCountFiltered/AVAILABLE/global\"\n >\n <p>Giftcards</p>\n </sqm-big-stat>\n </sqm-stat-container>\n <sqp-account-details\n schedule-header-text=\"Schedule\"\n integration-alert-text=\"Looks like this feature is turned off at the moment. Come back later to see if it’s enabled. \"\n integration-alert-header=\"PayPal payouts are currently disabled\"\n details-header-text=\"Payout details\"\n pay-pal-account-header-text=\"PayPal account\"\n connect-pay-pal-description-text=\"Connect your PayPal account to automatically receive payments/cash rewards.\"\n connect-pay-pal-account-button-text=\"Connect account\"\n w-9-tax-label=\"Awaiting W-9 tax form\"\n upcoming-payment-label=\"Upcoming\"\n recent-payment-label=\"Recent payment\"\n other-currencies-label=\"other currencies\"\n next-payout-label=\"Next payout\"\n next-payment-label=\"Next payment\"\n header-text=\"PayPal account\"\n edit-text=\"Edit\"\n account-label=\"Account\"\n success-message=\"Success!\"\n submit-pay-pal-account-button-text=\"Connect account\"\n pay-pal-email-label-help-text=\"Enter the email used for your PayPal account.\"\n pay-pal-email-label=\"PayPal email\"\n modal-connect-pay-pal-account-header=\"Connect PayPal account\"\n disconnect-account-header-text=\"Disconnect account\"\n disconnect-account-description-text=\"You will not be able to receive payments if you disconnect your PayPal account.\"\n ></sqp-account-details>\n <sqm-portal-container\n gap=\"large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-titled-section\n text-align=\"center\"\n label-margin=\"xxx-small\"\n padding=\"none\"\n >\n <h3 slot=\"label\">Get rewarded when your friend uses our product</h3>\n </sqm-titled-section>\n <sqm-referral-card vertical-alignment=\"start\">\n <sqm-portal-container\n gap=\"large\"\n slot=\"left\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <p>\n They’ll get a $50 credit towards a new account and you’ll get:\n </p>\n <sqm-timeline icon=\"circle\">\n <sqm-timeline-entry\n reward=\"$50\"\n unit=\"visa giftcard\"\n desc=\"Your friend purchases a Business plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n <sqm-timeline-entry\n reward=\"$200\"\n unit=\"visa giftcard\"\n desc=\"Our sales team qualifies your friend as a good fit for our Enterprise plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n <sqm-timeline-entry\n reward=\"$1000\"\n unit=\"visa giftcard\"\n desc=\"Your friend purchases an Enterprise plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n </sqm-timeline>\n </sqm-portal-container>\n <sqm-portal-container\n gap=\"large\"\n slot=\"right\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <p>>Choose how you want to share</p>\n <p><sub>Your unique referral link:</sub></p>\n <sqm-share-link\n tooltip-text=\"Copied to Clipboard\"\n tooltip-lifespan=\"1000\"\n >\n </sqm-share-link>\n <sqm-portal-container\n gap=\"x-small\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-share-button\n medium=\"email\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share via email\n </sqm-share-button>\n <sqm-share-button\n medium=\"linkedin\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share on LinkedIn\n </sqm-share-button>\n <sqm-share-button\n medium=\"twitter\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Tweet about us\n </sqm-share-button>\n </sqm-portal-container>\n </sqm-portal-container>\n </sqm-referral-card>\n </sqm-portal-container>\n <sqm-portal-container\n gap=\"large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-titled-section\n padding=\"none\"\n text-align=\"center\"\n label-margin=\"xx-small\"\n >\n <h3 slot=\"label\">Referral History</h3>\n </sqm-titled-section>\n <sqm-referral-table\n per-page=\"4\"\n hidden-columns=\"2\"\n more-label=\"Next\"\n prev-label=\"Prev\"\n sm-breakpoint=\"599\"\n md-breakpoint=\"799\"\n >\n <sqm-referral-table-user-column\n column-title=\"User\"\n anonymous-user=\"Anonymous User\"\n deleted-user=\"Deleted User\"\n >\n </sqm-referral-table-user-column>\n <sqm-referral-table-status-column\n column-title=\"Referral status\"\n converted-status-text=\"Converted\"\n in-progress-status-text=\"In Progress\"\n >\n </sqm-referral-table-status-column>\n <sqp-rewards-column\n column-title=\"Rewards\"\n expiring-text=\"Expiring in\"\n fuel-tank-text=\"Your code is\"\n pending-for-text=\"{status} for {date}\"\n reward-blocked-text=\"Payout blocked on {date}.\"\n reward-on-hold-text=\"Payout on hold and in review since {date}.\"\n reward-paid-out-text=\"Paid out on {date}.\"\n reward-payout-failed-text=\"This payout will be retried up to 3 times. If it still fails it will be retried in the next payout cycle. Last attempted on {date}.\"\n reward-payout-in-progress-text=\"Payout processing started on {date}.\"\n reward-received-text=\"Reward received on\"\n reward-refunded-text=\"Payout refunded on {date}.\"\n reward-returned-text=\"The email you provided does not link to an existing PayPal account. Payout expired on {date}.\"\n reward-reversed-text=\"Payout reversed on {date}.\"\n reward-unclaimed-text=\"The email you provided does not link to an existing PayPal account. Payout expires on {date}.\"\n status-long-text=\"{status, select, INPROGRESS {In Progress} TRANSFERRED {Transferred} AVAILABLE {Reward expiring on} CANCELLED {Reward cancelled on} REDEEMED {Redeemed on} PENDING {Available on} EXPIRED {Reward expired on} SUCCESS {Paid out on} FAILED {This payout will be retried up to 3 times. If it still fails it will be retried in the next payout cycle. Last attempted on} PAYPAL_PENDING {Payout process started on} UNCLAIMED {The email you provided does not link to an existing PayPal account. Payout expires on} ONHOLD {Payout on hold and in review since} REFUNDED {Payout refunded on} RETURNED {Payout returned on} REVERSED {Payout reversed on} BLOCKED {Payout blocked on} other {Not available} }\"\n status-text=\"{status, select, AVAILABLE {Available} CANCELLED {Cancelled} EXPIRED {Expired} REDEEMED {Redeemed} PENDING {Pending} SUCCESS {Paid Out} FAILED {Failed} PAYPAL_PENDING {In progress} UNCLAIMED {Unclaimed} ONHOLD {In progress} REFUNDED {Refunded} RETURNED {Returned} REVERSED {Reversed} BLOCKED {Blocked} other {Not available} }\"\n ></sqp-rewards-column>\n <sqm-referral-table-date-column\n column-title=\"Date referred\"\n date-shown=\"dateReferralStarted\"\n >\n </sqm-referral-table-date-column>\n <sqm-empty\n slot=\"empty\"\n empty-state-image=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000223/squatch-assets/empty_referral2.png\"\n empty-state-header=\"View your referral details\"\n empty-state-text=\"Refer a friend to view the status of your referrals and rewards earned\"\n ></sqm-empty>\n </sqm-referral-table>\n </sqm-portal-container>\n <sqm-portal-footer\n support-email=\"support@example.com\"\n terms-link=\"https:\\/\\/example.com\"\n faq-link=\"https:\\/\\/example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n padding-bottom=\"none\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n ></sqm-portal-footer>\n </sqm-portal-container>\n </sqm-portal-container>\n</sqm-brand>\n";
|
|
3918
3898
|
|
|
3919
|
-
const resetPasswordEmailTemplate = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional //EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n<html\n xmlns=\"http://www.w3.org/1999/xhtml\"\n xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n xmlns:v=\"urn:schemas-microsoft-com:vml\"\n>\n <head>\n <!--[if gte mso 9\n ]><xml\n ><o:OfficeDocumentSettings\n ><o:AllowPNG /><o:PixelsPerInch\n >96</o:PixelsPerInch\n ></o:OfficeDocumentSettings\n ></xml\n ><!\n [endif]-->\n <meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\" />\n <meta content=\"width=device-width\" name=\"viewport\" />\n <!--[if !mso]><!-->\n <meta content=\"IE=edge\" http-equiv=\"X-UA-Compatible\" />\n <!--<![endif]-->\n <title></title>\n <!--[if !mso]><!-->\n <!--<![endif]-->\n <style type=\"text/css\">\n body {\n margin: 0;\n padding: 0;\n }\n\n table,\n td,\n tr {\n vertical-align: top;\n border-collapse: collapse;\n }\n\n * {\n line-height: inherit;\n }\n\n a[x-apple-data-detectors=\"true\"] {\n color: inherit !important;\n text-decoration: none !important;\n }\n </style>\n <style id=\"media-query\" type=\"text/css\">\n @media (max-width: 520px) {\n .block-grid,\n .col {\n min-width: 320px !important;\n max-width: 100% !important;\n display: block !important;\n }\n\n .block-grid {\n width: 100% !important;\n }\n\n .col {\n width: 100% !important;\n }\n\n .col_cont {\n margin: 0 auto;\n }\n\n img.fullwidth,\n img.fullwidthOnMobile {\n max-width: 100% !important;\n }\n\n .no-stack .col {\n min-width: 0 !important;\n display: table-cell !important;\n }\n\n .no-stack.two-up .col {\n width: 50% !important;\n }\n\n .no-stack .col.num2 {\n width: 16.6% !important;\n }\n\n .no-stack .col.num3 {\n width: 25% !important;\n }\n\n .no-stack .col.num4 {\n width: 33% !important;\n }\n\n .no-stack .col.num5 {\n width: 41.6% !important;\n }\n\n .no-stack .col.num6 {\n width: 50% !important;\n }\n\n .no-stack .col.num7 {\n width: 58.3% !important;\n }\n\n .no-stack .col.num8 {\n width: 66.6% !important;\n }\n\n .no-stack .col.num9 {\n width: 75% !important;\n }\n\n .no-stack .col.num10 {\n width: 83.3% !important;\n }\n\n .video-block {\n max-width: none !important;\n }\n\n .mobile_hide {\n min-height: 0px;\n max-height: 0px;\n max-width: 0px;\n display: none;\n overflow: hidden;\n font-size: 0px;\n }\n\n .desktop_hide {\n display: block !important;\n max-height: none !important;\n }\n }\n </style>\n <style id=\"icon-media-query\" type=\"text/css\">\n @media (max-width: 520px) {\n .icons-inner {\n text-align: center;\n }\n\n .icons-inner td {\n margin: 0 auto;\n }\n }\n </style>\n </head>\n <body\n class=\"clean-body\"\n style=\"\n margin: 0;\n padding: 0;\n -webkit-text-size-adjust: 100%;\n background-color: #ffffff;\n \"\n >\n <!--[if IE]><div class=\"ie-browser\"><![endif]-->\n <table\n bgcolor=\"#FFFFFF\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n class=\"nl-container\"\n role=\"presentation\"\n style=\"\n table-layout: fixed;\n vertical-align: top;\n min-width: 320px;\n border-spacing: 0;\n border-collapse: collapse;\n mso-table-lspace: 0pt;\n mso-table-rspace: 0pt;\n background-color: #ffffff;\n width: 100%;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <tbody>\n <tr style=\"vertical-align: top\" valign=\"top\">\n <td style=\"word-break: break-word; vertical-align: top\" valign=\"top\">\n <!--[if (mso)|(IE)]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td align=\"center\" style=\"background-color:#FFFFFF\"><![endif]-->\n <div style=\"background-color: transparent\">\n <div\n class=\"block-grid\"\n style=\"\n min-width: 320px;\n max-width: 500px;\n overflow-wrap: break-word;\n word-wrap: break-word;\n word-break: break-word;\n margin: 0 auto;\n background-color: transparent;\n \"\n >\n <div\n style=\"\n border-collapse: collapse;\n display: table;\n width: 100%;\n background-color: transparent;\n \"\n >\n <!--[if (mso)|(IE)]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"background-color:transparent;\"><tr><td align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"width:500px\"><tr class=\"layout-full-width\" style=\"background-color:transparent\"><![endif]-->\n <!--[if (mso)|(IE)]><td align=\"center\" width=\"500\" style=\"background-color:transparent;width:500px; border-top: 0px solid transparent; border-left: 0px solid transparent; border-bottom: 0px solid transparent; border-right: 0px solid transparent;\" valign=\"top\"><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td style=\"padding-right: 0px; padding-left: 0px; padding-top:5px; padding-bottom:5px;\"><![endif]-->\n <div\n class=\"col num12\"\n style=\"\n min-width: 320px;\n max-width: 500px;\n display: table-cell;\n vertical-align: top;\n width: 500px;\n \"\n >\n <div class=\"col_cont\" style=\"width: 100% !important\">\n <!--[if (!mso)&(!IE)]><!-->\n <div\n style=\"\n border-top: 0px solid transparent;\n border-left: 0px solid transparent;\n border-bottom: 0px solid transparent;\n border-right: 0px solid transparent;\n padding-top: 5px;\n padding-bottom: 5px;\n padding-right: 0px;\n padding-left: 0px;\n \"\n >\n <!--<![endif]-->\n <table\n cellpadding=\"0\"\n cellspacing=\"0\"\n role=\"presentation\"\n style=\"\n table-layout: fixed;\n vertical-align: top;\n border-spacing: 0;\n border-collapse: collapse;\n mso-table-lspace: 0pt;\n mso-table-rspace: 0pt;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <tr style=\"vertical-align: top\" valign=\"top\">\n <td\n align=\"center\"\n style=\"\n word-break: break-word;\n vertical-align: top;\n padding-bottom: 20px;\n padding-left: 10px;\n padding-right: 10px;\n padding-top: 10px;\n text-align: center;\n width: 100%;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <h1\n style=\"\n color: #444445;\n direction: ltr;\n font-family: 'Helvetica Neue', Helvetica,\n Arial, sans-serif;\n font-size: 20px;\n font-weight: normal;\n letter-spacing: normal;\n line-height: 120%;\n text-align: left;\n margin-top: 0;\n margin-bottom: 0;\n \"\n >\n <strong>Reset your password</strong>\n </h1>\n </td>\n </tr>\n </table>\n <!--[if mso]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td style=\"padding-right: 10px; padding-left: 10px; padding-top: 10px; padding-bottom: 10px; font-family: Arial, sans-serif\"><![endif]-->\n <div\n style=\"\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n line-height: 1.8;\n padding-top: 10px;\n padding-right: 10px;\n padding-bottom: 10px;\n padding-left: 10px;\n \"\n >\n <div\n class=\"txtTinyMce-wrapper\"\n style=\"\n font-size: 14px;\n line-height: 1.8;\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n mso-line-height-alt: 25px;\n \"\n >\n <p\n style=\"\n margin: 0;\n font-size: 14px;\n line-height: 1.8;\n word-break: break-word;\n mso-line-height-alt: 25px;\n margin-top: 0;\n margin-bottom: 0;\n \"\n >\n <span style=\"font-size: 14px\"\n >We received a request to reset your password.\n Click the button below to reset your\n password.</span\n >\n </p>\n </div>\n </div>\n <div\n align=\"center\"\n class=\"button-container\"\n style=\"\n padding-top: 10px;\n padding-right: 10px;\n padding-bottom: 10px;\n padding-left: 10px;\n \"\n >\n <!--[if mso]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"border-spacing: 0; border-collapse: collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;\"><tr><td style=\"padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px\" align=\"center\"><v:roundrect xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" target=\"_blank\" href={{validationLink}} style=\"height:31.5pt;width:390pt;v-text-anchor:middle;\" arcsize=\"12%\" stroke=\"false\" fillcolor=\"#2270ee\"><w:anchorlock/><v:textbox inset=\"0,0,0,0\"><center style=\"color:#ffffff; font-family:Arial, sans-serif; font-size:14px\"><!\n [endif]--><a\n href=\"{{validationLink}}\"\n target=\"_blank\"\n style=\"\n -webkit-text-size-adjust: none;\n text-decoration: none;\n display: block;\n color: #ffffff;\n background-color: #2270ee;\n border-radius: 5px;\n -webkit-border-radius: 5px;\n -moz-border-radius: 5px;\n width: 100%;\n width: calc(100% - 2px);\n border-top: 1px solid #2270ee;\n border-right: 1px solid #2270ee;\n border-bottom: 1px solid #2270ee;\n border-left: 1px solid #2270ee;\n padding-top: 5px;\n padding-bottom: 5px;\n font-family: 'Helvetica Neue', Helvetica, Arial,\n sans-serif;\n text-align: center;\n mso-border-alt: none;\n word-break: keep-all;\n \"\n target=\"_blank\"\n ><span\n style=\"\n padding-left: 20px;\n padding-right: 20px;\n font-size: 14px;\n display: inline-block;\n letter-spacing: undefined;\n \"\n ><span\n style=\"\n font-size: 16px;\n line-height: 2;\n word-break: break-word;\n mso-line-height-alt: 32px;\n \"\n ><span\n style=\"font-size: 14px; line-height: 28px\"\n >Reset Password</span\n ></span\n ></span\n ></a\n >\n <!--[if mso]></center></v:textbox></v:roundrect></td></tr></table><![endif]-->\n </div>\n <!--[if mso]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td style=\"padding-right: 10px; padding-left: 10px; padding-top: 15px; padding-bottom: 15px; font-family: Arial, sans-serif\"><![endif]-->\n <div\n style=\"\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n line-height: 1.2;\n padding-top: 15px;\n padding-right: 10px;\n padding-bottom: 15px;\n padding-left: 10px;\n \"\n >\n <div\n class=\"txtTinyMce-wrapper\"\n style=\"\n font-size: 14px;\n line-height: 1.2;\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n mso-line-height-alt: 17px;\n \"\n >\n <p\n style=\"\n margin: 0;\n font-size: 12px;\n line-height: 1.2;\n word-break: break-word;\n mso-line-height-alt: 14px;\n margin-top: 0;\n margin-bottom: 0;\n \"\n >\n <span style=\"font-size: 12px\"\n >If you didn't request a password reset please\n ignore this email. Your password will not\n change.</span\n >\n </p>\n </div>\n </div>\n <!--[if mso]></td></tr></table><![endif]-->\n <!--[if (!mso)&(!IE)]><!-->\n </div>\n <!--<![endif]-->\n </div>\n </div>\n <!--[if (mso)|(IE)]></td></tr></table><![endif]-->\n <!--[if (mso)|(IE)]></td></tr></table></td></tr></table><![endif]-->\n </div>\n </div>\n </div>\n <!--[if (mso)|(IE)]></td></tr></table><![endif]-->\n </td>\n </tr>\n </tbody>\n </table>\n <!--[if (IE)]></div><![endif]-->\n </body>\n</html>";
|
|
3899
|
+
const paypalMonoWidget = "<sqm-brand brand-color=\"#4225c4\" brand-font=\"Nunito Sans\">\n <sqm-portal-container\n direction=\"column\"\n padding=\"small\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n background-color=\"#ffffff\"\n >\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n display=\"grid\"\n max-width=\"100%\"\n >\n <sqm-hero-image\n image-url=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000275/squatch-assets/yr6ER3R.png\"\n header=\"MyCompany Rewards\"\n description=\"Refer friends and complete tasks to earn rewards\"\n layout=\"columns\"\n image-pos=\"right\"\n background-color=\"#F9F9F9\"\n image-mobile-pos=\"top\"\n image-percentage=\"50\"\n padding-image=\"none\"\n padding-text=\"xxxx-large\"\n >\n </sqm-hero-image>\n </sqm-portal-container>\n <sqm-portal-container\n direction=\"column\"\n padding=\"none\"\n gap=\"xxx-large\"\n max-width=\"770px\"\n center\n display=\"grid\"\n >\n <sqm-stat-container space=\"xxx-large\" display=\"flex\">\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n >\n <p>Referrals</p>\n </sqm-big-stat>\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/integrationRewardsCountFiltered/AVAILABLE/global\"\n >\n <p>Giftcards Earned</p>\n </sqm-big-stat>\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/POINT/value/global\"\n >\n <p>Points Balance</p>\n </sqm-big-stat>\n </sqm-stat-container>\n <sqp-account-details\n schedule-header-text=\"Schedule\"\n integration-alert-text=\"Looks like this feature is turned off at the moment. Come back later to see if it’s enabled. \"\n integration-alert-header=\"PayPal payouts are currently disabled\"\n details-header-text=\"Payout details\"\n pay-pal-account-header-text=\"PayPal account\"\n connect-pay-pal-description-text=\"Connect your PayPal account to automatically receive payments/cash rewards.\"\n connect-pay-pal-account-button-text=\"Connect account\"\n w-9-tax-label=\"Awaiting W-9 tax form\"\n upcoming-payment-label=\"Upcoming\"\n recent-payment-label=\"Recent payment\"\n other-currencies-label=\"other currencies\"\n next-payout-label=\"Next payout\"\n next-payment-label=\"Next payment\"\n header-text=\"PayPal account\"\n edit-text=\"Edit\"\n account-label=\"Account\"\n success-message=\"Success!\"\n submit-pay-pal-account-button-text=\"Connect account\"\n pay-pal-email-label-help-text=\"Enter the email used for your PayPal account.\"\n pay-pal-email-label=\"PayPal email\"\n modal-connect-pay-pal-account-header=\"Connect PayPal account\"\n disconnect-account-header-text=\"Disconnect account\"\n disconnect-account-description-text=\"You will not be able to receive payments if you disconnect your PayPal account.\"\n ></sqp-account-details>\n <sqm-portal-container\n gap=\"xx-large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-titled-section\n text-align=\"center\"\n label-margin=\"xxx-small\"\n padding=\"none\"\n >\n <h3 slot=\"label\">Share $50 with friends</h3>\n <p slot=\"content\">\n They’ll get a $50 credit towards a new account and you’ll get up to\n $1200\n </p>\n </sqm-titled-section>\n <sqm-referral-card vertical-alignment=\"start\">\n <sqm-portal-container\n gap=\"large\"\n slot=\"left\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <p>\n They’ll get a $50 credit towards a new account and you’ll get:\n </p>\n <sqm-timeline icon=\"circle\">\n <sqm-timeline-entry\n reward=\"$50\"\n unit=\"visa giftcard\"\n desc=\"Your friend purchases a Business plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n <sqm-timeline-entry\n reward=\"$200\"\n unit=\"visa giftcard\"\n desc=\"Our sales team qualifies your friend as a good fit for our Enterprise plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n <sqm-timeline-entry\n reward=\"$1000\"\n unit=\"visa giftcard\"\n desc=\"Your friend purchases an Enterprise plan\"\n icon=\"circle\"\n >\n </sqm-timeline-entry>\n </sqm-timeline>\n </sqm-portal-container>\n <sqm-portal-container\n gap=\"large\"\n slot=\"right\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <p>Choose how you want to share:</p>\n <p><sub>Your unique referral link:</sub></p>\n <sqm-share-link\n tooltip-text=\"Copied to Clipboard\"\n tooltip-lifespan=\"1000\"\n >\n </sqm-share-link>\n <sqm-portal-container\n gap=\"x-small\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n padding=\"none\"\n >\n <sqm-share-button\n medium=\"email\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share via email\n </sqm-share-button>\n <sqm-share-button\n medium=\"linkedin\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Share on LinkedIn\n </sqm-share-button>\n <sqm-share-button\n medium=\"twitter\"\n icon-slot=\"prefix\"\n size=\"medium\"\n type=\"default\"\n >\n Tweet about us\n </sqm-share-button>\n </sqm-portal-container>\n </sqm-portal-container>\n </sqm-referral-card>\n <sqm-portal-container\n gap=\"xx-large\"\n direction=\"column\"\n display=\"grid\"\n max-width=\"100%\"\n min-width=\"\"\n padding=\"none\"\n >\n <sqm-titled-section text-align=\"center\" label-margin=\"xxx-small\">\n <h3 slot=\"label\">Earn more rewards</h3>\n <p slot=\"content\">\n Get points while using our product. Use those points to redeem\n rewards like one free month of Enterprise or two plane tickets to\n anywhere in North America\n </p>\n </sqm-titled-section>\n <sqm-card-feed gap=\"24\" width=\"347\">\n <sqm-task-card\n reward-amount=\"20\"\n goal=\"1\"\n card-title=\"Complete a Survey\"\n description=\"Fill out our NPS survey and get 20 points for giving us honest feedback.\"\n button-text=\"Take survey\"\n reward-unit=\"Points\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n finite=\"0\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n reward-amount=\"250\"\n goal=\"500\"\n show-progress-bar\n card-title=\"Spend $500\"\n description=\"Earn 250 points when you spend $500 or more.\"\n button-text=\"See plans\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n progress-bar-unit=\"$\"\n finite=\"0\"\n reward-unit=\"Points\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n goal=\"1\"\n reward-amount=\"50\"\n card-title=\"Follow Us on Twitter\"\n description=\"Earn 50 points when you follow us on Twitter!\"\n button-text=\"Follow\"\n button-link=\"https://twitter.com/\"\n open-new-tab=\"true\"\n event-key=\"socialFollow\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n finite=\"0\"\n reward-unit=\"Points\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n <sqm-task-card\n reward-amount=\"1\"\n reward-unit=\"Free Month\"\n goal=\"1\"\n card-title=\"Upgrade Your Plan\"\n description=\"Receive one free month for being a committed customer when you upgrade your plan.\"\n button-text=\"Upgrade\"\n completed-text=\"Completed {finite, select, 0 {{count, plural, =1 {{count} time} other {{count} times}}} other {{count}/{finite} times}}\"\n ended-message=\"Ended {endDate}\"\n expiry-message=\"Ends {endDate}\"\n open-new-tab=\"false\"\n finite=\"0\"\n starts-on-message=\"Starts {startDate}\"\n >\n </sqm-task-card>\n </sqm-card-feed>\n </sqm-portal-container>\n <sqm-tabs>\n <sqm-tab header=\"Referral history\">\n <sqm-referral-table\n per-page=\"4\"\n hidden-columns=\"2\"\n more-label=\"Next\"\n prev-label=\"Prev\"\n sm-breakpoint=\"599\"\n md-breakpoint=\"799\"\n >\n <sqm-referral-table-user-column\n column-title=\"User\"\n anonymous-user=\"Anonymous User\"\n deleted-user=\"Deleted User\"\n >\n </sqm-referral-table-user-column>\n <sqm-referral-table-status-column\n column-title=\"Referral status\"\n converted-status-text=\"Converted\"\n in-progress-status-text=\"In Progress\"\n >\n </sqm-referral-table-status-column>\n <sqp-rewards-column\n column-title=\"Rewards\"\n expiring-text=\"Expiring in\"\n fuel-tank-text=\"Your code is\"\n pending-for-text=\"{status} for {date}\"\n reward-blocked-text=\"Payout blocked on {date}.\"\n reward-on-hold-text=\"Payout on hold and in review since {date}.\"\n reward-paid-out-text=\"Paid out on {date}.\"\n reward-payout-failed-text=\"This payout will be retried up to 3 times. If it still fails it will be retried in the next payout cycle. Last attempted on {date}.\"\n reward-payout-in-progress-text=\"Payout processing started on {date}.\"\n reward-received-text=\"Reward received on\"\n reward-refunded-text=\"Payout refunded on {date}.\"\n reward-returned-text=\"The email you provided does not link to an existing PayPal account. Payout expired on {date}.\"\n reward-reversed-text=\"Payout reversed on {date}.\"\n reward-unclaimed-text=\"The email you provided does not link to an existing PayPal account. Payout expires on {date}.\"\n status-long-text=\"{status, select, INPROGRESS {In Progress} TRANSFERRED {Transferred} AVAILABLE {Reward expiring on} CANCELLED {Reward cancelled on} REDEEMED {Redeemed on} PENDING {Available on} EXPIRED {Reward expired on} SUCCESS {Paid out on} FAILED {This payout will be retried up to 3 times. If it still fails it will be retried in the next payout cycle. Last attempted on} PAYPAL_PENDING {Payout process started on} UNCLAIMED {The email you provided does not link to an existing PayPal account. Payout expires on} ONHOLD {Payout on hold and in review since} REFUNDED {Payout refunded on} RETURNED {Payout returned on} REVERSED {Payout reversed on} BLOCKED {Payout blocked on} other {Not available} }\"\n status-text=\"{status, select, AVAILABLE {Available} CANCELLED {Cancelled} EXPIRED {Expired} REDEEMED {Redeemed} PENDING {Pending} SUCCESS {Paid Out} FAILED {Failed} PAYPAL_PENDING {In progress} UNCLAIMED {Unclaimed} ONHOLD {In progress} REFUNDED {Refunded} RETURNED {Returned} REVERSED {Reversed} BLOCKED {Blocked} other {Not available} }\"\n ></sqp-rewards-column>\n <sqm-referral-table-date-column\n column-title=\"Date referred\"\n date-shown=\"dateReferralStarted\"\n >\n </sqm-referral-table-date-column>\n <sqm-empty\n slot=\"empty\"\n empty-state-image=\"https://res.cloudinary.com/saasquatch/image/upload/v1644000223/squatch-assets/empty_referral2.png\"\n empty-state-header=\"View your referral details\"\n empty-state-text=\"Refer a friend to view the status of your referrals and rewards earned\"\n >\n </sqm-empty>\n </sqm-referral-table>\n </sqm-tab>\n <sqm-tab header=\"Reward history\">\n <sqm-rewards-table\n per-page=\"4\"\n program-id=\"\"\n hidden-columns=\"0\"\n more-label=\"Next\"\n prev-label=\"Prev\"\n sm-breakpoint=\"599\"\n md-breakpoint=\"799\"\n >\n <sqm-rewards-table-reward-column\n available-text=\"{availableAmount} remaining\"\n column-title=\"Reward\"\n copy-text=\"Copied!\"\n redeemed-text=\"{redeemedAmount} redeemed\"\n >\n </sqm-rewards-table-reward-column>\n <sqm-rewards-table-source-column\n anonymous-user=\"Anonymous User\"\n column-title=\"Source\"\n deleted-user=\"Deleted User\"\n referral-text=\"{rewardSource, select, FRIEND_SIGNUP {Referral to} REFERRED {Referred by} other {}}\"\n reward-exchange-text=\"Reward Exchange\"\n reward-source-text=\"{rewardSource, select, MANUAL {Manual} AUTOMATED {{programName}} other {}}\"\n >\n </sqm-rewards-table-source-column>\n <sqp-status-column\n column-title=\"Status\"\n expiry-text=\"Expires on \"\n pending-scheduled=\"Until\"\n pending-unhandled=\"Fulfillment error\"\n pending-us-tax=\"W-9 required\"\n reward-blocked-text=\"Payout blocked on\"\n reward-on-hold-text=\"Payout on hold and in review since\"\n reward-paid-out-text=\"Paid out on\"\n reward-payout-failed-text=\"This payout will be retried up to 3 times. If it still fails it will be retried in the next payout cycle. Last attempted on\"\n reward-payout-in-progress-text=\"Payout processing started on\"\n reward-refunded-text=\"Payout refunded on\"\n reward-returned-text=\"The email you provided does not link to an existing PayPal account. Payout expired on\"\n reward-reversed-text=\"Payout reversed on\"\n reward-unclaimed-text=\"The email you provided does not link to an existing PayPal account. Payout expires on\"\n status-text=\"{status, select, AVAILABLE {Available} CANCELLED {Cancelled} EXPIRED {Expired} REDEEMED {Redeemed} PENDING {Pending} SUCCESS {Paid Out} FAILED {Failed} PAYPAL_PENDING {In progress} UNCLAIMED {Unclaimed} ONHOLD {In progress} REFUNDED {Refunded} RETURNED {Returned} REVERSED {Reversed} BLOCKED {Blocked} other {Not available} }\"\n ></sqp-status-column>\n <sqm-rewards-table-date-column\n column-title=\"Date received\"\n date-shown=\"dateGiven\"\n >\n </sqm-rewards-table-date-column>\n <sqm-empty\n slot=\"empty\"\n empty-state-image=\"https://res.cloudinary.com/saasquatch/image/upload/v1644360953/squatch-assets/empty_reward2.png\"\n empty-state-header=\"View your rewards\"\n empty-state-text=\"Refer friends and complete tasks to view the details of your rewards\"\n >\n </sqm-empty>\n </sqm-rewards-table>\n </sqm-tab>\n </sqm-tabs>\n </sqm-portal-container>\n <sqm-portal-footer\n support-email=\"support@example.com\"\n terms-link=\"https://example.com\"\n faq-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n padding-bottom=\"none\"\n padding-left=\"none\"\n padding-right=\"none\"\n padding-top=\"none\"\n ></sqm-portal-footer>\n </sqm-portal-container>\n </sqm-portal-container>\n</sqm-brand>\n";
|
|
3920
3900
|
|
|
3921
|
-
const verifyEmailTemplate = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional //EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n<html\n xmlns=\"http://www.w3.org/1999/xhtml\"\n xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n xmlns:v=\"urn:schemas-microsoft-com:vml\"\n>\n <head>\n <!--[if gte mso 9\n ]><xml\n ><o:OfficeDocumentSettings\n ><o:AllowPNG /><o:PixelsPerInch\n >96</o:PixelsPerInch\n ></o:OfficeDocumentSettings\n ></xml\n ><!\n [endif]-->\n <meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\" />\n <meta content=\"width=device-width\" name=\"viewport\" />\n <!--[if !mso]><!-->\n <meta content=\"IE=edge\" http-equiv=\"X-UA-Compatible\" />\n <!--<![endif]-->\n <title></title>\n <!--[if !mso]><!-->\n <!--<![endif]-->\n <style type=\"text/css\">\n body {\n margin: 0;\n padding: 0;\n }\n\n table,\n td,\n tr {\n vertical-align: top;\n border-collapse: collapse;\n }\n\n * {\n line-height: inherit;\n }\n\n a[x-apple-data-detectors=\"true\"] {\n color: inherit !important;\n text-decoration: none !important;\n }\n </style>\n <style id=\"media-query\" type=\"text/css\">\n @media (max-width: 520px) {\n .block-grid,\n .col {\n min-width: 320px !important;\n max-width: 100% !important;\n display: block !important;\n }\n\n .block-grid {\n width: 100% !important;\n }\n\n .col {\n width: 100% !important;\n }\n\n .col_cont {\n margin: 0 auto;\n }\n\n img.fullwidth,\n img.fullwidthOnMobile {\n max-width: 100% !important;\n }\n\n .no-stack .col {\n min-width: 0 !important;\n display: table-cell !important;\n }\n\n .no-stack.two-up .col {\n width: 50% !important;\n }\n\n .no-stack .col.num2 {\n width: 16.6% !important;\n }\n\n .no-stack .col.num3 {\n width: 25% !important;\n }\n\n .no-stack .col.num4 {\n width: 33% !important;\n }\n\n .no-stack .col.num5 {\n width: 41.6% !important;\n }\n\n .no-stack .col.num6 {\n width: 50% !important;\n }\n\n .no-stack .col.num7 {\n width: 58.3% !important;\n }\n\n .no-stack .col.num8 {\n width: 66.6% !important;\n }\n\n .no-stack .col.num9 {\n width: 75% !important;\n }\n\n .no-stack .col.num10 {\n width: 83.3% !important;\n }\n\n .video-block {\n max-width: none !important;\n }\n\n .mobile_hide {\n min-height: 0px;\n max-height: 0px;\n max-width: 0px;\n display: none;\n overflow: hidden;\n font-size: 0px;\n }\n\n .desktop_hide {\n display: block !important;\n max-height: none !important;\n }\n }\n </style>\n <style id=\"icon-media-query\" type=\"text/css\">\n @media (max-width: 520px) {\n .icons-inner {\n text-align: center;\n }\n\n .icons-inner td {\n margin: 0 auto;\n }\n }\n </style>\n </head>\n <body\n class=\"clean-body\"\n style=\"\n margin: 0;\n padding: 0;\n -webkit-text-size-adjust: 100%;\n background-color: #ffffff;\n \"\n >\n <!--[if IE]><div class=\"ie-browser\"><![endif]-->\n <table\n bgcolor=\"#FFFFFF\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n class=\"nl-container\"\n role=\"presentation\"\n style=\"\n table-layout: fixed;\n vertical-align: top;\n min-width: 320px;\n border-spacing: 0;\n border-collapse: collapse;\n mso-table-lspace: 0pt;\n mso-table-rspace: 0pt;\n background-color: #ffffff;\n width: 100%;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <tbody>\n <tr style=\"vertical-align: top\" valign=\"top\">\n <td style=\"word-break: break-word; vertical-align: top\" valign=\"top\">\n <!--[if (mso)|(IE)]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td align=\"center\" style=\"background-color:#FFFFFF\"><![endif]-->\n <div style=\"background-color: transparent\">\n <div\n class=\"block-grid\"\n style=\"\n min-width: 320px;\n max-width: 500px;\n overflow-wrap: break-word;\n word-wrap: break-word;\n word-break: break-word;\n margin: 0 auto;\n background-color: transparent;\n \"\n >\n <div\n style=\"\n border-collapse: collapse;\n display: table;\n width: 100%;\n background-color: transparent;\n \"\n >\n <!--[if (mso)|(IE)]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"background-color:transparent;\"><tr><td align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"width:500px\"><tr class=\"layout-full-width\" style=\"background-color:transparent\"><![endif]-->\n <!--[if (mso)|(IE)]><td align=\"center\" width=\"500\" style=\"background-color:transparent;width:500px; border-top: 0px solid transparent; border-left: 0px solid transparent; border-bottom: 0px solid transparent; border-right: 0px solid transparent;\" valign=\"top\"><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td style=\"padding-right: 0px; padding-left: 0px; padding-top:5px; padding-bottom:5px;\"><![endif]-->\n <div\n class=\"col num12\"\n style=\"\n min-width: 320px;\n max-width: 500px;\n display: table-cell;\n vertical-align: top;\n width: 500px;\n \"\n >\n <div class=\"col_cont\" style=\"width: 100% !important\">\n <!--[if (!mso)&(!IE)]><!-->\n <div\n style=\"\n border-top: 0px solid transparent;\n border-left: 0px solid transparent;\n border-bottom: 0px solid transparent;\n border-right: 0px solid transparent;\n padding-top: 5px;\n padding-bottom: 5px;\n padding-right: 0px;\n padding-left: 0px;\n \"\n >\n <!--<![endif]-->\n <table\n cellpadding=\"0\"\n cellspacing=\"0\"\n role=\"presentation\"\n style=\"\n table-layout: fixed;\n vertical-align: top;\n border-spacing: 0;\n border-collapse: collapse;\n mso-table-lspace: 0pt;\n mso-table-rspace: 0pt;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <tr style=\"vertical-align: top\" valign=\"top\">\n <td\n align=\"center\"\n style=\"\n word-break: break-word;\n vertical-align: top;\n padding-bottom: 20px;\n padding-left: 10px;\n padding-right: 10px;\n padding-top: 10px;\n text-align: center;\n width: 100%;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <h1\n style=\"\n color: #444445;\n direction: ltr;\n font-family: 'Helvetica Neue', Helvetica,\n Arial, sans-serif;\n font-size: 20px;\n font-weight: normal;\n letter-spacing: normal;\n line-height: 120%;\n text-align: left;\n margin-top: 0;\n margin-bottom: 0;\n \"\n >\n <strong>Verify your email address</strong>\n </h1>\n </td>\n </tr>\n </table>\n <!--[if mso]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td style=\"padding-right: 10px; padding-left: 10px; padding-top: 10px; padding-bottom: 10px; font-family: Arial, sans-serif\"><![endif]-->\n <div\n style=\"\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n line-height: 1.8;\n padding-top: 10px;\n padding-right: 10px;\n padding-bottom: 10px;\n padding-left: 10px;\n \"\n >\n <div\n class=\"txtTinyMce-wrapper\"\n style=\"\n font-size: 14px;\n line-height: 1.8;\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n mso-line-height-alt: 25px;\n \"\n >\n <p\n style=\"\n margin: 0;\n font-size: 14px;\n line-height: 1.8;\n word-break: break-word;\n mso-line-height-alt: 25px;\n margin-top: 0;\n margin-bottom: 0;\n \"\n >\n <span style=\"font-size: 14px\"\n >Thank you for signing up! Please click the button below\n to verify your email address.</span\n >\n </p>\n </div>\n </div>\n <!--[if mso]></td></tr></table><![endif]-->\n <div\n align=\"center\"\n class=\"button-container\"\n style=\"\n padding-top: 10px;\n padding-right: 10px;\n padding-bottom: 10px;\n padding-left: 10px;\n \"\n >\n <!--[if mso]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"border-spacing: 0; border-collapse: collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;\"><tr><td style=\"padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px\" align=\"center\"><v:roundrect xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" target=\"_blank\" href={{validationLink}} style=\"height:31.5pt;width:390pt;v-text-anchor:middle;\" arcsize=\"12%\" stroke=\"false\" fillcolor=\"#2270ee\"><w:anchorlock/><v:textbox inset=\"0,0,0,0\"><center style=\"color:#ffffff; font-family:Arial, sans-serif; font-size:14px\"><!\n [endif]--><a\n href={{validationLink}}\n\t\t\t\t\t\t\ttarget=\"_blank\"\n style=\"\n -webkit-text-size-adjust: none;\n text-decoration: none;\n display: block;\n color: #ffffff;\n background-color: #2270ee;\n border-radius: 5px;\n -webkit-border-radius: 5px;\n -moz-border-radius: 5px;\n width: 100%;\n width: calc(100% - 2px);\n border-top: 1px solid #2270ee;\n border-right: 1px solid #2270ee;\n border-bottom: 1px solid #2270ee;\n border-left: 1px solid #2270ee;\n padding-top: 5px;\n padding-bottom: 5px;\n font-family: 'Helvetica Neue', Helvetica, Arial,\n sans-serif;\n text-align: center;\n mso-border-alt: none;\n word-break: keep-all;\n \"\n target=\"_blank\"\n ><span\n style=\"\n padding-left: 20px;\n padding-right: 20px;\n font-size: 14px;\n display: inline-block;\n letter-spacing: undefined;\n \"\n ><span\n style=\"\n font-size: 16px;\n line-height: 2;\n word-break: break-word;\n mso-line-height-alt: 32px;\n \"\n ><span\n style=\"font-size: 14px; line-height: 28px\"\n >Verify Email</span\n ></span\n ></span\n ></a\n >\n <!--[if mso]></center></v:textbox></v:roundrect></td></tr></table><![endif]-->\n </div>\n <!--<![endif]-->\n </div>\n </div>\n <!--[if (mso)|(IE)]></td></tr></table><![endif]-->\n <!--[if (mso)|(IE)]></td></tr></table></td></tr></table><![endif]-->\n </div>\n </div>\n </div>\n <!--[if (mso)|(IE)]></td></tr></table><![endif]-->\n </td>\n </tr>\n </tbody>\n </table>\n <!--[if (IE)]></div><![endif]-->\n </body>\n</html>";
|
|
3922
|
-
|
|
3923
|
-
|
|
3924
|
-
|
|
3925
|
-
|
|
3926
|
-
|
|
3927
|
-
const
|
|
3928
|
-
|
|
3929
|
-
|
|
3930
|
-
|
|
3931
|
-
|
|
3932
|
-
|
|
3933
|
-
|
|
3901
|
+
function Buttons({ callbacks, states, template }) {
|
|
3902
|
+
return (h("div", null,
|
|
3903
|
+
h("button", { onClick: () => callbacks.setPreviewTemplate(states.editedTemplate) }, "Update Preview"),
|
|
3904
|
+
h("button", { style: { marginLeft: "10px" }, onClick: () => callbacks.setPreviewTemplate(template) }, "Preview Dashboard")));
|
|
3905
|
+
}
|
|
3906
|
+
function DefaultTemplateView(props) {
|
|
3907
|
+
const { states, callbacks } = props;
|
|
3908
|
+
return (h("div", { style: { height: "50vh" } },
|
|
3909
|
+
h("textarea", { style: { width: "100%", height: "300px" }, onChange: (e) => callbacks.setEditedTemplate(e.target.value) }, states.editedTemplate),
|
|
3910
|
+
h(Buttons, { states: states, callbacks: callbacks, template: props.template }),
|
|
3911
|
+
h("h2", null, "Navigation"),
|
|
3912
|
+
h("div", { style: {
|
|
3913
|
+
display: "grid",
|
|
3914
|
+
gridTemplateColumns: "repeat(9, 80px)",
|
|
3915
|
+
gridGap: "10px",
|
|
3916
|
+
} },
|
|
3917
|
+
h("button", { onClick: () => pn.push("/") }, "Dashboard"),
|
|
3918
|
+
props.leadSubmit && (h("button", { onClick: () => pn.push("/refer") }, "Submit a Referral")),
|
|
3919
|
+
h("button", { onClick: () => pn.push("/activity") }, "Activity"),
|
|
3920
|
+
h("button", { onClick: () => pn.push("/editProfile") }, "Edit Profile"),
|
|
3921
|
+
h("button", { onClick: () => pn.push("/login") }, "Login"),
|
|
3922
|
+
h("button", { onClick: () => pn.push("/register") }, "Register"),
|
|
3923
|
+
h("button", { onClick: () => pn.push("/emailVerification") }, "Email Verification"),
|
|
3924
|
+
h("button", { onClick: () => pn.push("/verifyEmail") }, "Verify Email"),
|
|
3925
|
+
h("button", { onClick: () => pn.push("/forgotPassword") }, "Forgot Password"),
|
|
3926
|
+
h("button", { onClick: () => pn.push("/resetPassword") }, "Reset Password")),
|
|
3927
|
+
h("br", null),
|
|
3928
|
+
h("div", { innerHTML: states.previewTemplate })));
|
|
3929
|
+
}
|
|
3934
3930
|
|
|
3935
3931
|
var marked = createCommonjsModule(function (module, exports) {
|
|
3936
3932
|
/**
|
|
@@ -6902,33 +6898,6 @@ var marked = createCommonjsModule(function (module, exports) {
|
|
|
6902
6898
|
})));
|
|
6903
6899
|
});
|
|
6904
6900
|
|
|
6905
|
-
const LoginReadme = "# sqm-portal-login\n\n\n\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| --------------------- | ----------------------- | ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- |\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; forgotPasswordPath: string; registerPath: string; }; content?: { forgotPasswordButton?: any; secondaryButton?: any; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; }; }` | `undefined` |\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\n| `forgotPasswordLabel` | `forgot-password-label` | | `string` | `\"Forgot Password?\"` |\n| `forgotPasswordPath` | `forgot-password-path` | Redirect participants to this page to reset their password | `string` | `\"/forgotPassword\"` |\n| `nextPage` | `next-page` | Redirect participants to this page after they successfully login. | `string` | `\"/\"` |\n| `pageLabel` | `page-label` | | `string` | `\"Sign in to your account\"` |\n| `passwordLabel` | `password-label` | | `string` | `\"Password\"` |\n| `registerLabel` | `register-label` | | `string` | `\"Register\"` |\n| `registerPath` | `register-path` | Redirect participants to this page to start registration. | `string` | `\"/register\"` |\n| `submitLabel` | `submit-label` | | `string` | `\"Sign In\"` |\n\n\n## Dependencies\n\n### Used by\n\n - [sqm-stencilbook](../sqm-stencilbook)\n\n### Depends on\n\n- [sqm-form-message](../sqm-form-message)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-portal-login --> sqm-form-message\n sqm-stencilbook --> sqm-portal-login\n style sqm-portal-login fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
6906
|
-
|
|
6907
|
-
const ReferralIframeReadme = "# sqm-referral-iframe\n\n\n\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| -------------- | --------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ----------- |\n| `demoData` | -- | | `{ states?: { content: { iframeSrc: string; iframeHeight: string; iframeWidth: string; }; }; data?: { shareCode: string; }; }` | `undefined` |\n| `iframeHeight` | `iframe-height` | Define the height of the iframe with any valid CSS height value. Example: 100px, 5rem, or auto. | `string` | `\"100%\"` |\n| `iframeSrc` | `iframe-src` | URL of iframe to display | `string` | `undefined` |\n| `iframeWidth` | `iframe-width` | Define the width of the iframe with any valid CSS width value. Example: 100px, 5rem, or auto. | `string` | `\"100%\"` |\n\n\n## Dependencies\n\n### Used by\n\n - [sqm-stencilbook](../sqm-stencilbook)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-stencilbook --> sqm-referral-iframe\n style sqm-referral-iframe fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
6908
|
-
|
|
6909
|
-
const ForgotPasswordReadme = "# sqm-portal-forgot-password\n\n\n\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| -------------- | --------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; success: boolean; loginPath: string; }; content?: { secondaryButton: any; messageSlot: any; emailLabel?: string; submitLabel?: string; }; }` | `undefined` |\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\n| `headerText` | `header-text` | | `string` | `\"Enter your email below to receive a password reset link.\"` |\n| `loginPath` | `login-path` | | `string` | `\"/login\"` |\n| `loginText` | `login-text` | Sign In Link Text | `string` | `\"Sign In\"` |\n| `redirectPath` | `redirect-path` | Redirect participants to this page after they verify their email. | `string` | `\"/resetPassword\"` |\n| `submitLabel` | `submit-label` | | `string` | `\"Request Password Reset\"` |\n\n\n## Dependencies\n\n### Depends on\n\n- [sqm-form-message](../sqm-form-message)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-portal-forgot-password --> sqm-form-message\n style sqm-portal-forgot-password fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
6910
|
-
|
|
6911
|
-
const RegisterReadme = "# sqm-portal-register\n\n\n\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| --------------------------- | ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |\n| `confirmPassword` | `confirm-password` | | `boolean` | `false` |\n| `confirmPasswordLabel` | `confirm-password-label` | | `string` | `\"Confirm Password\"` |\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; confirmPassword: boolean; hideInputs: boolean; registrationFormState: RegistrationFormState; disablePasswordValidation?: boolean; loginPath: string; }; refs?: { formRef: any; }; content?: { formData?: VNode; terms?: VNode; passwordField?: VNode; secondaryButton?: VNode; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; confirmPasswordLabel: string; }; }` | `undefined` |\n| `disablePasswordValidation` | `disable-password-validation` | | `boolean` | `false` |\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\n| `hideInputs` | `hide-inputs` | Hides the email and password fields. Note: If you hide default inputs, you must add additional input fields. They must have the input name attributes \"email\" and \"password\" for this form to succeed. | `boolean` | `false` |\n| `loginLabel` | `login-label` | | `string` | `\"Sign in\"` |\n| `loginPath` | `login-path` | Redirect participants to this page after clicking the login button. | `string` | `\"/login\"` |\n| `nextPage` | `next-page` | Redirect participants to this page from their verification email | `string` | `\"/\"` |\n| `pageLabel` | `page-label` | | `string` | `\"Register\"` |\n| `passwordLabel` | `password-label` | | `string` | `\"Password\"` |\n| `redirectPath` | `redirect-path` | The page that participants are redirected to from the verification email. | `string` | `\"/verifyEmail\"` |\n| `submitLabel` | `submit-label` | | `string` | `\"Register\"` |\n\n\n## Dependencies\n\n### Used by\n\n - [sqm-stencilbook](../sqm-stencilbook)\n\n### Depends on\n\n- [sqm-form-message](../sqm-form-message)\n- [sqm-password-field](../sqm-password-field)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-portal-register --> sqm-form-message\n sqm-portal-register --> sqm-password-field\n sqm-stencilbook --> sqm-portal-register\n style sqm-portal-register fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
6912
|
-
|
|
6913
|
-
const EditProfileReadme = "# sqm-portal-profile\n\n\n\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| ------------------------ | --------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |\n| `countrytext` | `countrytext` | | `string` | `\"Country\"` |\n| `demoData` | -- | | `{ states?: { success: boolean; loading: boolean; submitDisabled: boolean; showCountry: boolean; formState: { country: string; firstName: string; lastName: string; errors: any; error: string; }; user: { id: string; accountId: string; firstName: string; lastName: string; email: string; countryCode: string; }; text: { firstnametext: string; lastnametext: string; emailtext: string; countrytext: string; editProfileHeader: string; editProfileSubHeader: string; submitChangeButtonText: string; }; }; }` | `undefined` |\n| `editProfileHeader` | `edit-profile-header` | | `string` | `\"Edit your profile\"` |\n| `editProfileSubHeader` | `edit-profile-sub-header` | | `string` | `\"Personal Information\"` |\n| `emailtext` | `emailtext` | | `string` | `\"Email\"` |\n| `firstnametext` | `firstnametext` | | `string` | `\"First Name\"` |\n| `hideCountry` | `hide-country` | | `boolean` | `false` |\n| `lastnametext` | `lastnametext` | | `string` | `\"Last Name\"` |\n| `submitChangeButtonText` | `submit-change-button-text` | | `string` | `\"Submit Changes\"` |\n\n\n## Dependencies\n\n### Depends on\n\n- [sqm-form-message](../sqm-form-message)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-portal-profile --> sqm-form-message\n style sqm-portal-profile fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
6914
|
-
|
|
6915
|
-
const ResetPasswordReadme = "# sqm-portal-reset-password\n\n\n\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| --------------------------- | ------------------------------ | -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |\n| `confirmPassword` | `confirm-password` | | `boolean` | `false` |\n| `confirmPasswordFieldLabel` | `confirm-password-field-label` | | `string` | `\"Confirm Password\"` |\n| `continueButtonText` | `continue-button-text` | Button text displayed after a successful password reset. | `string` | `\"Continue\"` |\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; reset: boolean; confirmPassword: boolean; oobCodeValidating: boolean; oobCodeValid: boolean; passwordDemoData?: PasswordFieldViewDemoProps; content: { passwordResetHeader: string; resetPasswordHeader: string; continueButtonText: string; resetPasswordButtonText: string; confirmPasswordFieldLabel: string; passwordFieldLabel: string; }; }; }` | `undefined` |\n| `failedPage` | `failed-page` | Redirect participants to this page if password reset fails due to an outdated reset attempt. | `string` | `\"/\"` |\n| `nextPage` | `next-page` | Redirect participants to this page when they successfully reset their password. | `string` | `\"/\"` |\n| `passwordFieldLabel` | `password-field-label` | | `string` | `\"New Password\"` |\n| `passwordResetHeader` | `password-reset-header` | Displayed after a successful password reset. | `string` | `\"Password reset\"` |\n| `resetPasswordButtonText` | `reset-password-button-text` | | `string` | `\"Reset Password\"` |\n| `resetPasswordHeader` | `reset-password-header` | | `string` | `\"Reset your password\"` |\n\n\n## Dependencies\n\n### Depends on\n\n- [sqm-form-message](../sqm-form-message)\n- [sqm-password-field](../sqm-password-field)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-portal-reset-password --> sqm-form-message\n sqm-portal-reset-password --> sqm-password-field\n style sqm-portal-reset-password fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
6916
|
-
|
|
6917
|
-
const EmailVerificationReadme = "# sqm-portal-email-verification\n\n\n\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| ---------------------------- | ------------------------------ | ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; success: boolean; isVerified?: boolean; loadingVerification?: boolean; countdown?: number; }; content?: { email: string; verifyMessage: string; emailVerificationHeader: string; resendEmailButtonText: string; verificationStatusMessage?: string; verificationLoadingMessage?: string; }; }` | `undefined` |\n| `emailVerificationHeader` | `email-verification-header` | | `string` | `\"Verify your email\"` |\n| `redirectPath` | `redirect-path` | Redirect participants to this page from their verification email. | `string` | `\"/verifyEmail\"` |\n| `resendEmailButtonText` | `resend-email-button-text` | | `string` | `\"Re-send Email\"` |\n| `verificationLoadingMessage` | `verification-loading-message` | | `string` | `\"Checking verification status\"` |\n| `verificationStatusMessage` | `verification-status-message` | | `string` | `\"Checking verification status in {countdown}\"` |\n| `verifyMessage` | `verify-message` | | `string` | `\"A verification email was sent to {email}. Please verify your email to continue to the portal. Resending an email will invalidate the previous email.\"` |\n\n\n## Dependencies\n\n### Depends on\n\n- [sqm-form-message](../sqm-form-message)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-portal-email-verification --> sqm-form-message\n style sqm-portal-email-verification fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
6918
|
-
|
|
6919
|
-
const EmailVerifiedReadme = "# sqm-portal-verify-email\n\n\n\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| ------------ | ------------- | ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ----------- |\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; verified: boolean; }; data?: { oobCode: string; }; }` | `undefined` |\n| `failedPage` | `failed-page` | Redirect participants to this page if verification fails due to an outdated verification attempt. | `string` | `\"/\"` |\n| `nextPage` | `next-page` | Redirect participants to this page when they successfully verify their email. | `string` | `\"/\"` |\n\n\n## Dependencies\n\n### Depends on\n\n- [sqm-form-message](../sqm-form-message)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-portal-verify-email --> sqm-form-message\n style sqm-portal-verify-email fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
6920
|
-
|
|
6921
|
-
const PortalTemplates_stories = {
|
|
6922
|
-
title: "Templates / Portal",
|
|
6923
|
-
};
|
|
6924
|
-
function useTemplate$1(templateString) {
|
|
6925
|
-
const [editedTemplate, setEditedTemplate] = useState(templateString);
|
|
6926
|
-
const [previewTemplate, setPreviewTemplate] = useState(templateString);
|
|
6927
|
-
return {
|
|
6928
|
-
states: { previewTemplate, editedTemplate },
|
|
6929
|
-
callbacks: { setEditedTemplate, setPreviewTemplate },
|
|
6930
|
-
};
|
|
6931
|
-
}
|
|
6932
6901
|
function TemplateView$1(props) {
|
|
6933
6902
|
const { states, callbacks, readme } = props;
|
|
6934
6903
|
return [
|
|
@@ -6940,124 +6909,6 @@ function TemplateView$1(props) {
|
|
|
6940
6909
|
h("div", { innerHTML: states.previewTemplate }),
|
|
6941
6910
|
];
|
|
6942
6911
|
}
|
|
6943
|
-
function Buttons({ callbacks, states, template }) {
|
|
6944
|
-
return (h("div", null,
|
|
6945
|
-
h("button", { onClick: () => callbacks.setPreviewTemplate(states.editedTemplate) }, "Update Preview"),
|
|
6946
|
-
h("button", { style: { marginLeft: "10px" }, onClick: () => callbacks.setPreviewTemplate(template) }, "Preview Dashboard")));
|
|
6947
|
-
}
|
|
6948
|
-
function DefaultTemplateView(props) {
|
|
6949
|
-
const { states, callbacks } = props;
|
|
6950
|
-
return (h("div", { style: { height: "50vh" } },
|
|
6951
|
-
h("textarea", { style: { width: "100%", height: "300px" }, onChange: (e) => callbacks.setEditedTemplate(e.target.value) }, states.editedTemplate),
|
|
6952
|
-
h(Buttons, { states: states, callbacks: callbacks, template: props.template }),
|
|
6953
|
-
h("h2", null, "Navigation"),
|
|
6954
|
-
h("div", { style: {
|
|
6955
|
-
display: "grid",
|
|
6956
|
-
gridTemplateColumns: "repeat(9, 80px)",
|
|
6957
|
-
gridGap: "10px",
|
|
6958
|
-
} },
|
|
6959
|
-
h("button", { onClick: () => gn.push("/") }, "Dashboard"),
|
|
6960
|
-
props.leadSubmit && (h("button", { onClick: () => gn.push("/refer") }, "Submit a Referral")),
|
|
6961
|
-
h("button", { onClick: () => gn.push("/activity") }, "Activity"),
|
|
6962
|
-
h("button", { onClick: () => gn.push("/editProfile") }, "Edit Profile"),
|
|
6963
|
-
h("button", { onClick: () => gn.push("/login") }, "Login"),
|
|
6964
|
-
h("button", { onClick: () => gn.push("/register") }, "Register"),
|
|
6965
|
-
h("button", { onClick: () => gn.push("/emailVerification") }, "Email Verification"),
|
|
6966
|
-
h("button", { onClick: () => gn.push("/verifyEmail") }, "Verify Email"),
|
|
6967
|
-
h("button", { onClick: () => gn.push("/forgotPassword") }, "Forgot Password"),
|
|
6968
|
-
h("button", { onClick: () => gn.push("/resetPassword") }, "Reset Password")),
|
|
6969
|
-
h("br", null),
|
|
6970
|
-
h("div", { innerHTML: states.previewTemplate })));
|
|
6971
|
-
}
|
|
6972
|
-
const DefaultPortal = createHookStory(() => {
|
|
6973
|
-
const { states, callbacks } = useTemplate$1(portalTemplate);
|
|
6974
|
-
return (h(DefaultTemplateView, { states: states, callbacks: callbacks, template: portalTemplateWithDashboard }));
|
|
6975
|
-
});
|
|
6976
|
-
const MultiProgramPortal = createHookStory(() => {
|
|
6977
|
-
const { states, callbacks } = useTemplate$1(multiProgramTemplate);
|
|
6978
|
-
return (h(DefaultTemplateView, { states: states, callbacks: callbacks, template: multiProgramTemplateWithDashboard }));
|
|
6979
|
-
});
|
|
6980
|
-
const LeadSubmitPortal = createHookStory(() => {
|
|
6981
|
-
const { states, callbacks } = useTemplate$1(portalLeadSubmitTemplate);
|
|
6982
|
-
return (h(DefaultTemplateView, { states: states, callbacks: callbacks, template: portalLeadSubmitTemplateWithDashboard, leadSubmit: true }));
|
|
6983
|
-
});
|
|
6984
|
-
const Login = createHookStory(() => {
|
|
6985
|
-
const { states, callbacks } = useTemplate$1(loginTemplate);
|
|
6986
|
-
return (h(TemplateView$1, { states: states, callbacks: callbacks, readme: LoginReadme }));
|
|
6987
|
-
});
|
|
6988
|
-
const ForgotPassword = createHookStory(() => {
|
|
6989
|
-
const { states, callbacks } = useTemplate$1(forgotPasswordTemplate);
|
|
6990
|
-
return (h(TemplateView$1, { states: states, callbacks: callbacks, readme: ForgotPasswordReadme }));
|
|
6991
|
-
});
|
|
6992
|
-
const Register = createHookStory(() => {
|
|
6993
|
-
const { states, callbacks } = useTemplate$1(registerTemplate);
|
|
6994
|
-
return (h(TemplateView$1, { states: states, callbacks: callbacks, readme: RegisterReadme }));
|
|
6995
|
-
});
|
|
6996
|
-
const Dashboard$1 = createHookStory(() => {
|
|
6997
|
-
const { states, callbacks } = useTemplate$1(dashboardTemplate);
|
|
6998
|
-
return h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
6999
|
-
});
|
|
7000
|
-
const LeadSubmitIframe = createHookStory(() => {
|
|
7001
|
-
const { states, callbacks } = useTemplate$1(leadSubmitTemplate);
|
|
7002
|
-
return (h(TemplateView$1, { states: states, callbacks: callbacks, readme: ReferralIframeReadme }));
|
|
7003
|
-
});
|
|
7004
|
-
const Activity$1 = createHookStory(() => {
|
|
7005
|
-
const { states, callbacks } = useTemplate$1(activityTemplate);
|
|
7006
|
-
return h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
7007
|
-
});
|
|
7008
|
-
const EditProfile$2 = createHookStory(() => {
|
|
7009
|
-
const { states, callbacks } = useTemplate$1(editProfileTemplate);
|
|
7010
|
-
return (h(TemplateView$1, { states: states, callbacks: callbacks, readme: EditProfileReadme }));
|
|
7011
|
-
});
|
|
7012
|
-
const ResetPassword = createHookStory(() => {
|
|
7013
|
-
const { states, callbacks } = useTemplate$1(resetPasswordTemplate);
|
|
7014
|
-
return (h(TemplateView$1, { states: states, callbacks: callbacks, readme: ResetPasswordReadme }));
|
|
7015
|
-
});
|
|
7016
|
-
const EmailVerification = createHookStory(() => {
|
|
7017
|
-
const { states, callbacks } = useTemplate$1(emailVerificationTemplate);
|
|
7018
|
-
return (h(TemplateView$1, { states: states, callbacks: callbacks, readme: EmailVerificationReadme }));
|
|
7019
|
-
});
|
|
7020
|
-
const EmailVerified = createHookStory(() => {
|
|
7021
|
-
const { states, callbacks } = useTemplate$1(emailVerifiedTemplate);
|
|
7022
|
-
return (h(TemplateView$1, { states: states, callbacks: callbacks, readme: EmailVerifiedReadme }));
|
|
7023
|
-
});
|
|
7024
|
-
const Widget = createHookStory(() => {
|
|
7025
|
-
return (h("sqb-widget", { "widget-type": "p/Vacay-referral/w/referrerWidget", demoData: {
|
|
7026
|
-
data: {
|
|
7027
|
-
html: dashboardTemplate,
|
|
7028
|
-
},
|
|
7029
|
-
} }));
|
|
7030
|
-
});
|
|
7031
|
-
const ResetPasswordEmail = createHookStory(() => {
|
|
7032
|
-
const { states, callbacks } = useTemplate$1(resetPasswordEmailTemplate);
|
|
7033
|
-
return h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
7034
|
-
});
|
|
7035
|
-
const VerifyEmail = createHookStory(() => {
|
|
7036
|
-
const { states, callbacks } = useTemplate$1(verifyEmailTemplate);
|
|
7037
|
-
return h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
7038
|
-
});
|
|
7039
|
-
|
|
7040
|
-
const PortalTemplates = /*#__PURE__*/Object.freeze({
|
|
7041
|
-
__proto__: null,
|
|
7042
|
-
'default': PortalTemplates_stories,
|
|
7043
|
-
TemplateView: TemplateView$1,
|
|
7044
|
-
DefaultPortal: DefaultPortal,
|
|
7045
|
-
MultiProgramPortal: MultiProgramPortal,
|
|
7046
|
-
LeadSubmitPortal: LeadSubmitPortal,
|
|
7047
|
-
Login: Login,
|
|
7048
|
-
ForgotPassword: ForgotPassword,
|
|
7049
|
-
Register: Register,
|
|
7050
|
-
Dashboard: Dashboard$1,
|
|
7051
|
-
LeadSubmitIframe: LeadSubmitIframe,
|
|
7052
|
-
Activity: Activity$1,
|
|
7053
|
-
EditProfile: EditProfile$2,
|
|
7054
|
-
ResetPassword: ResetPassword,
|
|
7055
|
-
EmailVerification: EmailVerification,
|
|
7056
|
-
EmailVerified: EmailVerified,
|
|
7057
|
-
Widget: Widget,
|
|
7058
|
-
ResetPasswordEmail: ResetPasswordEmail,
|
|
7059
|
-
VerifyEmail: VerifyEmail
|
|
7060
|
-
});
|
|
7061
6912
|
|
|
7062
6913
|
const Widget_stories = {
|
|
7063
6914
|
title: "Templates / Widgets",
|
|
@@ -7069,7 +6920,7 @@ const Widget_stories = {
|
|
|
7069
6920
|
// padding="large"
|
|
7070
6921
|
// show-powered-by="false"
|
|
7071
6922
|
// powered-by-link="https://www.saasquatch.com/"
|
|
7072
|
-
function useTemplate$
|
|
6923
|
+
function useTemplate$1(templateString) {
|
|
7073
6924
|
const [editedTemplate, setEditedTemplate] = useState(templateString);
|
|
7074
6925
|
const [previewTemplate, setPreviewTemplate] = useState(templateString);
|
|
7075
6926
|
return {
|
|
@@ -7077,58 +6928,55 @@ function useTemplate$2(templateString) {
|
|
|
7077
6928
|
callbacks: { setEditedTemplate, setPreviewTemplate },
|
|
7078
6929
|
};
|
|
7079
6930
|
}
|
|
7080
|
-
function Buttons$1({ callbacks, states, template }) {
|
|
7081
|
-
return (h("div", null,
|
|
7082
|
-
h("button", { onClick: () => callbacks.setPreviewTemplate(states.editedTemplate) }, "Update Preview"),
|
|
7083
|
-
h("button", { style: { marginLeft: "10px" }, onClick: () => callbacks.setPreviewTemplate(template) }, "Preview Dashboard")));
|
|
7084
|
-
}
|
|
7085
|
-
function DefaultTemplateView$1(props) {
|
|
7086
|
-
const { states, callbacks } = props;
|
|
7087
|
-
return (h("div", { style: { height: "50vh" } },
|
|
7088
|
-
h("textarea", { style: { width: "100%", height: "300px" }, onChange: (e) => callbacks.setEditedTemplate(e.target.value) }, states.editedTemplate),
|
|
7089
|
-
h(Buttons$1, { states: states, callbacks: callbacks, template: props.template }),
|
|
7090
|
-
h("br", null),
|
|
7091
|
-
h("div", { innerHTML: states.previewTemplate })));
|
|
7092
|
-
}
|
|
7093
6931
|
const ReferralWidget = createHookStory(() => {
|
|
7094
|
-
const { states, callbacks } = useTemplate$
|
|
7095
|
-
return (h(DefaultTemplateView
|
|
6932
|
+
const { states, callbacks } = useTemplate$1(referralWidget);
|
|
6933
|
+
return (h(DefaultTemplateView, { states: states, callbacks: callbacks, template: referralWidget }));
|
|
7096
6934
|
});
|
|
7097
6935
|
const MonoWidget = createHookStory(() => {
|
|
7098
|
-
const { states, callbacks } = useTemplate$
|
|
7099
|
-
return (h(DefaultTemplateView
|
|
6936
|
+
const { states, callbacks } = useTemplate$1(monoWidget);
|
|
6937
|
+
return (h(DefaultTemplateView, { states: states, callbacks: callbacks, template: monoWidget }));
|
|
7100
6938
|
});
|
|
7101
6939
|
const Loyalty = createHookStory(() => {
|
|
7102
|
-
const { states, callbacks } = useTemplate$
|
|
7103
|
-
return (h(DefaultTemplateView
|
|
6940
|
+
const { states, callbacks } = useTemplate$1(loyaltyWidget);
|
|
6941
|
+
return (h(DefaultTemplateView, { states: states, callbacks: callbacks, template: loyaltyWidget }));
|
|
6942
|
+
});
|
|
6943
|
+
const InstantAccessReferrerShareWidget = createHookStory(() => {
|
|
6944
|
+
const { states, callbacks } = useTemplate$1(instantAccessReferrerShareWidget);
|
|
6945
|
+
return h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
6946
|
+
});
|
|
6947
|
+
const PaypalMonoWidget = createHookStory(() => {
|
|
6948
|
+
const { states, callbacks } = useTemplate$1(paypalMonoWidget);
|
|
6949
|
+
return h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
7104
6950
|
});
|
|
7105
|
-
const
|
|
7106
|
-
const { states, callbacks } = useTemplate$
|
|
6951
|
+
const PaypalReferralWidget = createHookStory(() => {
|
|
6952
|
+
const { states, callbacks } = useTemplate$1(paypalReferralWidget);
|
|
7107
6953
|
return h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
7108
6954
|
});
|
|
7109
|
-
const
|
|
7110
|
-
const { states, callbacks } = useTemplate$
|
|
6955
|
+
const InstantAccessFriendCouponWidget = createHookStory(() => {
|
|
6956
|
+
const { states, callbacks } = useTemplate$1(instantAccessFriendCouponWidget);
|
|
7111
6957
|
return h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
7112
6958
|
});
|
|
7113
|
-
const
|
|
7114
|
-
const { states, callbacks } = useTemplate$
|
|
6959
|
+
const InstantAccessReferrerRegistrationWidget = createHookStory(() => {
|
|
6960
|
+
const { states, callbacks } = useTemplate$1(instantAccessReferrerRegistrationWidget);
|
|
7115
6961
|
return h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
7116
6962
|
});
|
|
7117
|
-
const
|
|
7118
|
-
const { states, callbacks } = useTemplate$
|
|
6963
|
+
const InstantAccessFriendRegistrationWidget = createHookStory(() => {
|
|
6964
|
+
const { states, callbacks } = useTemplate$1(instantAccessFriendRegistrationWidget);
|
|
7119
6965
|
return h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
7120
6966
|
});
|
|
7121
6967
|
|
|
7122
|
-
const Widget
|
|
6968
|
+
const Widget = /*#__PURE__*/Object.freeze({
|
|
7123
6969
|
__proto__: null,
|
|
7124
6970
|
'default': Widget_stories,
|
|
7125
6971
|
ReferralWidget: ReferralWidget,
|
|
7126
6972
|
MonoWidget: MonoWidget,
|
|
7127
6973
|
Loyalty: Loyalty,
|
|
7128
|
-
|
|
7129
|
-
|
|
7130
|
-
|
|
7131
|
-
|
|
6974
|
+
InstantAccessReferrerShareWidget: InstantAccessReferrerShareWidget,
|
|
6975
|
+
PaypalMonoWidget: PaypalMonoWidget,
|
|
6976
|
+
PaypalReferralWidget: PaypalReferralWidget,
|
|
6977
|
+
InstantAccessFriendCouponWidget: InstantAccessFriendCouponWidget,
|
|
6978
|
+
InstantAccessReferrerRegistrationWidget: InstantAccessReferrerRegistrationWidget,
|
|
6979
|
+
InstantAccessFriendRegistrationWidget: InstantAccessFriendRegistrationWidget
|
|
7132
6980
|
});
|
|
7133
6981
|
|
|
7134
6982
|
const SidebarItem_stories = {
|
|
@@ -7273,7 +7121,12 @@ const defaultProps$3 = {
|
|
|
7273
7121
|
refs: {
|
|
7274
7122
|
formRef: {},
|
|
7275
7123
|
},
|
|
7276
|
-
content: {
|
|
7124
|
+
content: {
|
|
7125
|
+
pageLabel: "Register",
|
|
7126
|
+
confirmPasswordLabel: "Confirm Password",
|
|
7127
|
+
requiredFieldErrorMessage: "Cannot be empty",
|
|
7128
|
+
invalidEmailErrorMessage: "Must be a valid email address",
|
|
7129
|
+
},
|
|
7277
7130
|
};
|
|
7278
7131
|
const errorProps$1 = {
|
|
7279
7132
|
states: {
|
|
@@ -7294,6 +7147,8 @@ const errorProps$1 = {
|
|
|
7294
7147
|
content: {
|
|
7295
7148
|
pageLabel: "Register",
|
|
7296
7149
|
confirmPasswordLabel: "Confirm Password",
|
|
7150
|
+
requiredFieldErrorMessage: "Cannot be empty",
|
|
7151
|
+
invalidEmailErrorMessage: "Must be a valid email address",
|
|
7297
7152
|
},
|
|
7298
7153
|
};
|
|
7299
7154
|
const loadingProps$1 = {
|
|
@@ -7312,7 +7167,12 @@ const loadingProps$1 = {
|
|
|
7312
7167
|
refs: {
|
|
7313
7168
|
formRef: {},
|
|
7314
7169
|
},
|
|
7315
|
-
content: {
|
|
7170
|
+
content: {
|
|
7171
|
+
pageLabel: "Register",
|
|
7172
|
+
confirmPasswordLabel: "Confirm Password",
|
|
7173
|
+
requiredFieldErrorMessage: "Cannot be empty",
|
|
7174
|
+
invalidEmailErrorMessage: "Must be a valid email address",
|
|
7175
|
+
},
|
|
7316
7176
|
};
|
|
7317
7177
|
const slottedProps = {
|
|
7318
7178
|
states: {
|
|
@@ -7333,6 +7193,8 @@ const slottedProps = {
|
|
|
7333
7193
|
content: {
|
|
7334
7194
|
pageLabel: "Register",
|
|
7335
7195
|
confirmPasswordLabel: "Confirm Password",
|
|
7196
|
+
requiredFieldErrorMessage: "Cannot be empty",
|
|
7197
|
+
invalidEmailErrorMessage: "Must be a valid email address",
|
|
7336
7198
|
formData: (h("div", null,
|
|
7337
7199
|
h("sl-input", { style: { marginBottom: "var(--sl-spacing-x-large)" }, exportparts: "label: input-label", label: "Slotted Input", required: true }),
|
|
7338
7200
|
h("sl-input", { exportparts: "label: input-label", label: "Slotted Input 2", required: true }))),
|
|
@@ -9765,6 +9627,158 @@ const TaskCard$2 = /*#__PURE__*/Object.freeze({
|
|
|
9765
9627
|
ProgressBarStepsFinite: ProgressBarStepsFinite
|
|
9766
9628
|
});
|
|
9767
9629
|
|
|
9630
|
+
const portalTemplate = "<sqm-portal-frame>\n <a slot=\"header\" href=\"/\">\n <sqm-text style=\"height: 60px\">\n <img\n style=\"height: 60px\"\n src=\"https://res.cloudinary.com/saasquatch/image/upload/v1634255445/squatch-assets/Copy_of_saasquatch-logo-tree-large-horizontal.png\"\n />\n </sqm-text>\n </a>\n <sqb-program-section program-id=\"referral-program\">\n <sqm-router>\n <template\n path=\"/:path(\\bregister\\b|\\bemailVerification\\b|\\blogin\\b|\\bverifyEmail\\b|\\bforgotPassword\\b|\\bresetPassword\\b|\\blogout\\b)\"\n >\n <sqm-hero\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\n >\n <sqm-router>\n <template path=\"/register\">\n <sqm-portal-register>\n <sqm-name-fields slot=\"formData\"></sqm-name-fields>\n </sqm-portal-register>\n </template>\n\n <template path=\"/emailVerification\">\n <sqm-portal-protected-route\n redirect-to=\"/login\"\n ></sqm-portal-protected-route>\n <sqm-portal-email-verification></sqm-portal-email-verification>\n </template>\n\n <template path=\"/login\">\n <sqm-portal-login></sqm-portal-login>\n </template>\n\n <template path=\"/verifyEmail\">\n <sqm-portal-verify-email></sqm-portal-verify-email>\n </template>\n\n <template path=\"/forgotPassword\">\n <sqm-portal-forgot-password\n email-label=\"Business Email\"\n ></sqm-portal-forgot-password>\n </template>\n\n <template path=\"/resetPassword\">\n <sqm-portal-reset-password\n confirm-password=\"true\"\n ></sqm-portal-reset-password>\n </template>\n <template path=\"/logout\">\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\n </template>\n </sqm-router>\n </sqm-hero>\n </template>\n </sqm-router>\n <sqm-router>\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b)?\">\n <sqm-divided-layout\n direction=\"row\"\n style=\"\n border-top: 1px solid #eaeaea;\n border-bottom: 1px solid #eaeaea;\n \"\n >\n <sqm-navigation-sidebar>\n <sqm-navigation-sidebar-item\n path=\"/\"\n icon=\"house\"\n label=\"Dashboard\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/activity\"\n icon=\"bar-chart\"\n label=\"Activity\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/editProfile\"\n icon=\"person\"\n label=\"Edit Profile\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/logout\"\n icon=\"box-arrow-right\"\n label=\"Logout\"\n ></sqm-navigation-sidebar-item>\n </sqm-navigation-sidebar>\n <sqm-divided-layout direction=\"column\">\n <sqm-router>\n <template path=\"/\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqb-widget\n widget-type=\"p/referral-program/w/referrerWidget\"\n track-loads=\"true\"\n ></sqb-widget>\n </template>\n <template path=\"/editProfile\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\n ><sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-change-password></sqm-portal-change-password>\n </sqm-portal-container>\n </template>\n\n <template path=\"/activity\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-text> <h1>Activity</h1></sqm-text>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container>\n <sqm-referral-table>\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\n <sqm-referral-table-date-column\n column-title=\"Referred\"\n date-shown=\"dateReferralStarted\"\n ></sqm-referral-table-date-column> </sqm-referral-table\n ></sqm-portal-container>\n </template>\n </sqm-router>\n </sqm-divided-layout>\n </sqm-divided-layout>\n </template>\n </sqm-router>\n </sqb-program-section>\n <sqm-portal-footer\n slot=\"footer\"\n support-email=\"support@example.com\"\n terms-link=\"https://example.com\"\n faq-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n ></sqm-portal-footer>\n</sqm-portal-frame>\n";
|
|
9631
|
+
|
|
9632
|
+
const portalLeadSubmitTemplate = "<sqm-portal-frame>\n <a slot=\"header\" href=\"/\">\n <sqm-text style=\"height: 60px\">\n <img\n style=\"height: 60px\"\n src=\"https://res.cloudinary.com/saasquatch/image/upload/v1634255445/squatch-assets/Copy_of_saasquatch-logo-tree-large-horizontal.png\"\n />\n </sqm-text>\n </a>\n <sqb-program-section program-id=\"referral-program\">\n <sqm-router>\n <template\n path=\"/:path(\\bregister\\b|\\bemailVerification\\b|\\blogin\\b|\\bverifyEmail\\b|\\bforgotPassword\\b|\\bresetPassword\\b|\\blogout\\b)\"\n >\n <sqm-hero\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\n >\n <sqm-router>\n <template path=\"/register\">\n <sqm-portal-register>\n <sqm-name-fields slot=\"formData\"></sqm-name-fields>\n </sqm-portal-register>\n </template>\n\n <template path=\"/emailVerification\">\n <sqm-portal-protected-route\n redirect-to=\"/login\"\n ></sqm-portal-protected-route>\n <sqm-portal-email-verification></sqm-portal-email-verification>\n </template>\n\n <template path=\"/login\">\n <sqm-portal-login></sqm-portal-login>\n </template>\n\n <template path=\"/verifyEmail\">\n <sqm-portal-verify-email></sqm-portal-verify-email>\n </template>\n\n <template path=\"/forgotPassword\">\n <sqm-portal-forgot-password\n email-label=\"Business Email\"\n ></sqm-portal-forgot-password>\n </template>\n\n <template path=\"/resetPassword\">\n <sqm-portal-reset-password\n confirm-password=\"true\"\n ></sqm-portal-reset-password>\n </template>\n <template path=\"/logout\">\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\n </template>\n </sqm-router>\n </sqm-hero>\n </template>\n </sqm-router>\n <sqm-router>\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b|\\brefer\\b)?\">\n <sqm-divided-layout\n direction=\"row\"\n style=\"\n border-top: 1px solid #eaeaea;\n border-bottom: 1px solid #eaeaea;\n \"\n >\n <sqm-navigation-sidebar>\n <sqm-navigation-sidebar-item\n path=\"/\"\n icon=\"house\"\n label=\"Dashboard\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/refer\"\n icon=\"inbox\"\n label=\"Submit A Lead\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/activity\"\n icon=\"bar-chart\"\n label=\"Activity\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/editProfile\"\n icon=\"person\"\n label=\"Edit Profile\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/logout\"\n icon=\"box-arrow-right\"\n label=\"Logout\"\n ></sqm-navigation-sidebar-item>\n </sqm-navigation-sidebar>\n <sqm-divided-layout direction=\"column\">\n <sqm-router>\n <template path=\"/\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqb-widget\n widget-type=\"p/referral-program/w/referrerWidget\"\n track-loads=\"true\"\n ></sqb-widget>\n </template>\n <template path=\"/editProfile\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\n ><sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-change-password></sqm-portal-change-password>\n </sqm-portal-container>\n </template>\n <template path=\"/refer\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-referral-iframe></sqm-referral-iframe>\n </template>\n <template path=\"/activity\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-text> <h1>Activity</h1></sqm-text>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container>\n <sqm-referral-table>\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\n <sqm-referral-table-date-column\n column-title=\"Referred\"\n date-shown=\"dateReferralStarted\"\n ></sqm-referral-table-date-column> </sqm-referral-table\n ></sqm-portal-container>\n </template>\n </sqm-router>\n </sqm-divided-layout>\n </sqm-divided-layout>\n </template>\n </sqm-router>\n </sqb-program-section>\n <sqm-portal-footer\n slot=\"footer\"\n support-email=\"support@example.com\"\n terms-link=\"https://example.com\"\n faq-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n ></sqm-portal-footer>\n</sqm-portal-frame>\n";
|
|
9633
|
+
|
|
9634
|
+
const portalLeadSubmitTemplateWithDashboard = "<sqm-portal-frame>\n <a slot=\"header\" href=\"/\">\n <sqm-text style=\"height: 60px\">\n <img\n style=\"height: 60px\"\n src=\"https://res.cloudinary.com/saasquatch/image/upload/v1634255445/squatch-assets/Copy_of_saasquatch-logo-tree-large-horizontal.png\"\n />\n </sqm-text>\n </a>\n <sqb-program-section program-id=\"referral-program\">\n <sqm-router>\n <template\n path=\"/:path(\\bregister\\b|\\bemailVerification\\b|\\blogin\\b|\\bverifyEmail\\b|\\bforgotPassword\\b|\\bresetPassword\\b|\\blogout\\b)\"\n >\n <sqm-hero\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\n >\n <sqm-router>\n <template path=\"/register\">\n <sqm-portal-register>\n <sqm-name-fields slot=\"formData\"></sqm-name-fields>\n </sqm-portal-register>\n </template>\n\n <template path=\"/emailVerification\">\n <sqm-portal-protected-route\n redirect-to=\"/login\"\n ></sqm-portal-protected-route>\n <sqm-portal-email-verification></sqm-portal-email-verification>\n </template>\n\n <template path=\"/login\">\n <sqm-portal-login></sqm-portal-login>\n </template>\n\n <template path=\"/verifyEmail\">\n <sqm-portal-verify-email></sqm-portal-verify-email>\n </template>\n\n <template path=\"/forgotPassword\">\n <sqm-portal-forgot-password\n email-label=\"Business Email\"\n ></sqm-portal-forgot-password>\n </template>\n\n <template path=\"/resetPassword\">\n <sqm-portal-reset-password\n confirm-password=\"true\"\n ></sqm-portal-reset-password>\n </template>\n <template path=\"/logout\">\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\n </template>\n </sqm-router>\n </sqm-hero>\n </template>\n </sqm-router>\n <sqm-router>\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b|\\brefer\\b)?\">\n <sqm-divided-layout\n direction=\"row\"\n style=\"\n border-top: 1px solid #eaeaea;\n border-bottom: 1px solid #eaeaea;\n \"\n >\n <sqm-navigation-sidebar>\n <sqm-navigation-sidebar-item\n path=\"/\"\n icon=\"house\"\n label=\"Dashboard\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/refer\"\n icon=\"inbox\"\n label=\"Submit A Lead\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/activity\"\n icon=\"bar-chart\"\n label=\"Activity\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/editProfile\"\n icon=\"person\"\n label=\"Edit Profile\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/logout\"\n icon=\"box-arrow-right\"\n label=\"Logout\"\n ></sqm-navigation-sidebar-item>\n </sqm-navigation-sidebar>\n <sqm-divided-layout direction=\"column\">\n <sqm-router>\n <template path=\"/\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n ><sqm-titled-section label-margin=\"xx-small\"\n ><sqm-text slot=\"label\"> <p>Welcome back,</p> </sqm-text\n ><sqm-text slot=\"content\">\n <h1>\n <sqm-user-name\n fallback=\"Anonymous User\"\n ></sqm-user-name>\n </h1> </sqm-text\n ></sqm-titled-section>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container> </sqm-portal-container\n ><sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-titled-section padding=\"none\" label-margin=\"x-large\"\n ><sqm-text slot=\"label\">\n <h2>Partner and Profit</h2> </sqm-text\n ><sqm-text slot=\"content\">\n <p>\n Get rewarded for referring potential customers to\n SaaSquatch. Earn commission for each successful lead you\n send our way\n </p>\n </sqm-text></sqm-titled-section\n >\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\n ><sqm-text slot=\"label\">\n <h3>Share your referral link</h3> </sqm-text\n ><sqm-share-link slot=\"content\"></sqm-share-link\n ></sqm-titled-section>\n <sqm-titled-section label-margin=\"small\" padding=\"none\">\n <sqm-text slot=\"label\">\n <h3>Share your referral code</h3> </sqm-text\n ><sqm-share-code slot=\"content\"></sqm-share-code>\n </sqm-titled-section>\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\n ><sqm-text slot=\"label\">\n <h3>Share via social media</h3> </sqm-text\n ><sqm-portal-container\n slot=\"content\"\n direction=\"row\"\n padding=\"none\"\n gap=\"xxx-large\"\n min-width=\"160px\"\n ><sqm-share-button\n icon=\"envelope\"\n medium=\"email\"\n size=\"medium\"\n pill=\"true\"\n >Email a friend</sqm-share-button\n ><sqm-share-button\n medium=\"twitter\"\n size=\"medium\"\n pill=\"true\"\n >Tweet about us</sqm-share-button\n ><sqm-share-button\n medium=\"facebook\"\n size=\"medium\"\n pill=\"true\"\n >Share on Facebook</sqm-share-button\n ></sqm-portal-container\n ></sqm-titled-section\n ></sqm-portal-container\n >\n </template>\n <template path=\"/editProfile\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\n ><sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-change-password></sqm-portal-change-password>\n </sqm-portal-container>\n </template>\n <template path=\"/refer\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-referral-iframe></sqm-referral-iframe>\n </template>\n <template path=\"/activity\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-text> <h1>Activity</h1></sqm-text>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container>\n <sqm-referral-table>\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\n <sqm-referral-table-date-column\n column-title=\"Referred\"\n date-shown=\"dateReferralStarted\"\n ></sqm-referral-table-date-column> </sqm-referral-table\n ></sqm-portal-container>\n </template>\n </sqm-router>\n </sqm-divided-layout>\n </sqm-divided-layout>\n </template>\n </sqm-router>\n </sqb-program-section>\n <sqm-portal-footer\n slot=\"footer\"\n support-email=\"support@example.com\"\n terms-link=\"https://example.com\"\n faq-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n ></sqm-portal-footer>\n</sqm-portal-frame>\n";
|
|
9635
|
+
|
|
9636
|
+
const portalTemplateWithDashboard = "<sqm-portal-frame>\n <a slot=\"header\" href=\"/\">\n <sqm-text style=\"height: 60px\">\n <img\n style=\"height: 60px\"\n src=\"https://res.cloudinary.com/saasquatch/image/upload/v1634255445/squatch-assets/Copy_of_saasquatch-logo-tree-large-horizontal.png\"\n />\n </sqm-text>\n </a>\n <sqb-program-section program-id=\"referral-program\">\n <sqm-router>\n <template\n path=\"/:path(\\bregister\\b|\\bemailVerification\\b|\\blogin\\b|\\bverifyEmail\\b|\\bforgotPassword\\b|\\bresetPassword\\b|\\blogout\\b)\"\n >\n <sqm-hero\n background=\"https://res.cloudinary.com/saasquatch/image/upload/v1683589787/Portal%20Assets/photo-1599676821464-3555954838dc.jpg\"\n >\n <sqm-router>\n <template path=\"/register\">\n <sqm-portal-register>\n <sqm-name-fields slot=\"formData\"></sqm-name-fields>\n </sqm-portal-register>\n </template>\n\n <template path=\"/emailVerification\">\n <sqm-portal-protected-route\n redirect-to=\"/login\"\n ></sqm-portal-protected-route>\n <sqm-portal-email-verification></sqm-portal-email-verification>\n </template>\n\n <template path=\"/login\">\n <sqm-portal-login></sqm-portal-login>\n </template>\n\n <template path=\"/verifyEmail\">\n <sqm-portal-verify-email></sqm-portal-verify-email>\n </template>\n\n <template path=\"/forgotPassword\">\n <sqm-portal-forgot-password\n email-label=\"Business Email\"\n ></sqm-portal-forgot-password>\n </template>\n\n <template path=\"/resetPassword\">\n <sqm-portal-reset-password\n confirm-password=\"true\"\n ></sqm-portal-reset-password>\n </template>\n <template path=\"/logout\">\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\n </template>\n </sqm-router>\n </sqm-hero>\n </template>\n </sqm-router>\n <sqm-router>\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b)?\">\n <sqm-divided-layout\n direction=\"row\"\n style=\"\n border-top: 1px solid #eaeaea;\n border-bottom: 1px solid #eaeaea;\n \"\n >\n <sqm-navigation-sidebar>\n <sqm-navigation-sidebar-item\n path=\"/\"\n icon=\"house\"\n label=\"Dashboard\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/activity\"\n icon=\"bar-chart\"\n label=\"Activity\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/editProfile\"\n icon=\"person\"\n label=\"Edit Profile\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/logout\"\n icon=\"box-arrow-right\"\n label=\"Logout\"\n ></sqm-navigation-sidebar-item>\n </sqm-navigation-sidebar>\n <sqm-divided-layout direction=\"column\">\n <sqm-router>\n <template path=\"/\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n ><sqm-titled-section label-margin=\"xx-small\"\n ><sqm-text slot=\"label\"> <p>Welcome back,</p> </sqm-text\n ><sqm-text slot=\"content\">\n <h1>\n <sqm-user-name\n fallback=\"Anonymous User\"\n ></sqm-user-name>\n </h1> </sqm-text\n ></sqm-titled-section>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container> </sqm-portal-container\n ><sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-titled-section padding=\"none\" label-margin=\"x-large\"\n ><sqm-text slot=\"label\">\n <h2>Partner and Profit</h2> </sqm-text\n ><sqm-text slot=\"content\">\n <p>\n Get rewarded for referring potential customers to\n SaaSquatch. Earn commission for each successful lead you\n send our way\n </p>\n </sqm-text></sqm-titled-section\n >\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\n ><sqm-text slot=\"label\">\n <h3>Share your referral link</h3> </sqm-text\n ><sqm-share-link slot=\"content\"></sqm-share-link\n ></sqm-titled-section>\n <sqm-titled-section label-margin=\"small\" padding=\"none\">\n <sqm-text slot=\"label\">\n <h3>Share your referral code</h3> </sqm-text\n ><sqm-share-code slot=\"content\"></sqm-share-code>\n </sqm-titled-section>\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\n ><sqm-text slot=\"label\">\n <h3>Share via social media</h3> </sqm-text\n ><sqm-portal-container\n slot=\"content\"\n direction=\"row\"\n padding=\"none\"\n gap=\"xxx-large\"\n min-width=\"160px\"\n ><sqm-share-button\n icon=\"envelope\"\n medium=\"email\"\n size=\"medium\"\n pill=\"true\"\n >Email a friend</sqm-share-button\n ><sqm-share-button\n medium=\"twitter\"\n size=\"medium\"\n pill=\"true\"\n >Tweet about us</sqm-share-button\n ><sqm-share-button\n medium=\"facebook\"\n size=\"medium\"\n pill=\"true\"\n >Share on Facebook</sqm-share-button\n ></sqm-portal-container\n ></sqm-titled-section\n ></sqm-portal-container\n >\n </template>\n <template path=\"/editProfile\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\n ><sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-change-password></sqm-portal-change-password>\n </sqm-portal-container>\n </template>\n\n <template path=\"/activity\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-text> <h1>Activity</h1></sqm-text>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container>\n <sqm-referral-table>\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\n <sqm-referral-table-date-column\n column-title=\"Referred\"\n date-shown=\"dateReferralStarted\"\n ></sqm-referral-table-date-column> </sqm-referral-table\n ></sqm-portal-container>\n </template>\n </sqm-router>\n </sqm-divided-layout>\n </sqm-divided-layout>\n </template>\n </sqm-router>\n </sqb-program-section>\n <sqm-portal-footer\n slot=\"footer\"\n support-email=\"support@example.com\"\n terms-link=\"https://example.com\"\n faq-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n ></sqm-portal-footer>\n</sqm-portal-frame>\n";
|
|
9637
|
+
|
|
9638
|
+
const multiProgramTemplate = "<sqm-portal-frame>\n <a slot=\"header\" href=\"/\">\n <sqm-text style=\"height: 60px\">\n <img\n style=\"height: 60px\"\n src=\"https://res.cloudinary.com/saasquatch/image/upload/v1634255445/squatch-assets/Copy_of_saasquatch-logo-tree-large-horizontal.png\"\n />\n </sqm-text>\n </a>\n <sqb-program-section program-id=\"referral-program-1\">\n <sqm-router>\n <template\n path=\"/:path(\\bregister\\b|\\bemailVerification\\b|\\blogin\\b|\\bverifyEmail\\b|\\bforgotPassword\\b|\\bresetPassword\\b|\\blogout\\b)\"\n >\n <sqm-hero\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\n >\n <sqm-router>\n <template path=\"/register\">\n <sqm-portal-register>\n <sqm-name-fields slot=\"formData\"></sqm-name-fields>\n </sqm-portal-register>\n </template>\n\n <template path=\"/emailVerification\">\n <sqm-portal-protected-route\n redirect-to=\"/login\"\n ></sqm-portal-protected-route>\n <sqm-portal-email-verification></sqm-portal-email-verification>\n </template>\n\n <template path=\"/login\">\n <sqm-portal-login></sqm-portal-login>\n </template>\n\n <template path=\"/verifyEmail\">\n <sqm-portal-verify-email></sqm-portal-verify-email>\n </template>\n\n <template path=\"/forgotPassword\">\n <sqm-portal-forgot-password\n email-label=\"Business Email\"\n ></sqm-portal-forgot-password>\n </template>\n\n <template path=\"/resetPassword\">\n <sqm-portal-reset-password\n confirm-password=\"true\"\n ></sqm-portal-reset-password>\n </template>\n <template path=\"/logout\">\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\n </template>\n </sqm-router>\n </sqm-hero>\n </template>\n </sqm-router>\n <sqm-router>\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b)?\">\n <sqm-divided-layout\n direction=\"row\"\n style=\"\n border-top: 1px solid #eaeaea;\n border-bottom: 1px solid #eaeaea;\n \"\n >\n <sqm-navigation-sidebar>\n <sqm-program-menu>\n <sl-menu-item value=\"referral-program-1\"\n >Referral Program 1</sl-menu-item\n >\n <sl-menu-item value=\"referral-program-2\"\n >Referral Program 2</sl-menu-item\n >\n </sqm-program-menu>\n <sqm-navigation-sidebar-item\n path=\"/\"\n icon=\"house\"\n label=\"Dashboard\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/activity\"\n icon=\"bar-chart\"\n label=\"Activity\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/editProfile\"\n icon=\"person\"\n label=\"Edit Profile\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/logout\"\n icon=\"box-arrow-right\"\n label=\"Logout\"\n ></sqm-navigation-sidebar-item>\n </sqm-navigation-sidebar>\n <sqm-divided-layout direction=\"column\">\n <sqm-router>\n <template path=\"/\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqb-program-switch>\n <template program-id=\"referral-program-1\">\n <sqb-widget\n widget-type=\"p/referral-program-1/w/referrerWidget\"\n track-loads=\"true\"\n ></sqb-widget>\n </template>\n <template program-id=\"referral-program-2\">\n <sqb-widget\n widget-type=\"p/referral-program-2/w/referrerWidget\"\n track-loads=\"true\"\n ></sqb-widget>\n </template>\n </sqb-program-switch>\n </template>\n <template path=\"/editProfile\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-profile></sqm-portal-profile></sqm-portal-container\n ><sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-change-password></sqm-portal-change-password>\n </sqm-portal-container>\n </template>\n <template path=\"/activity\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-text> <h1>Activity</h1></sqm-text>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container>\n <sqm-referral-table>\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\n <sqm-referral-table-date-column\n column-title=\"Referred\"\n date-shown=\"dateReferralStarted\"\n ></sqm-referral-table-date-column> </sqm-referral-table\n ></sqm-portal-container>\n </template>\n </sqm-router>\n </sqm-divided-layout>\n </sqm-divided-layout>\n </template>\n </sqm-router>\n </sqb-program-section>\n <sqm-portal-footer\n slot=\"footer\"\n support-email=\"support@example.com\"\n terms-link=\"https://example.com\"\n faq-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n ></sqm-portal-footer>\n</sqm-portal-frame>\n";
|
|
9639
|
+
|
|
9640
|
+
const multiProgramTemplateWithDashboard = "<sqm-portal-frame>\n <a slot=\"header\" href=\"/\">\n <sqm-text style=\"height: 60px\">\n <img\n style=\"height: 60px\"\n src=\"https://res.cloudinary.com/saasquatch/image/upload/v1634255445/squatch-assets/Copy_of_saasquatch-logo-tree-large-horizontal.png\"\n />\n </sqm-text>\n </a>\n <sqb-program-section program-id=\"referral-program-1\">\n <sqm-hero\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\n >\n <sqm-router>\n <template path=\"/register\">\n <sqm-portal-register>\n <sqm-name-fields slot=\"formData\"></sqm-name-fields>\n </sqm-portal-register>\n </template>\n\n <template path=\"/emailVerification\">\n <sqm-portal-protected-route\n redirect-to=\"/login\"\n ></sqm-portal-protected-route>\n <sqm-portal-email-verification></sqm-portal-email-verification>\n </template>\n\n <template path=\"/login\">\n <sqm-portal-login></sqm-portal-login>\n </template>\n\n <template path=\"/verifyEmail\">\n <sqm-portal-verify-email></sqm-portal-verify-email>\n </template>\n\n <template path=\"/forgotPassword\">\n <sqm-portal-forgot-password\n email-label=\"Business Email\"\n ></sqm-portal-forgot-password>\n </template>\n\n <template path=\"/resetPassword\">\n <sqm-portal-reset-password\n confirm-password=\"true\"\n ></sqm-portal-reset-password>\n </template>\n <template path=\"/logout\">\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\n </template>\n </sqm-router>\n </sqm-hero>\n <sqm-router>\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b)?\">\n <sqm-divided-layout\n direction=\"row\"\n style=\"\n border-top: 1px solid #eaeaea;\n border-bottom: 1px solid #eaeaea;\n \"\n >\n <sqm-navigation-sidebar>\n <sqm-program-menu>\n <sl-menu-item value=\"referral-program-1\"\n >Referral Program 1</sl-menu-item\n >\n <sl-menu-item value=\"referral-program-2\"\n >Referral Program 2</sl-menu-item\n >\n </sqm-program-menu>\n <sqm-navigation-sidebar-item\n path=\"/\"\n icon=\"house\"\n label=\"Dashboard\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/activity\"\n icon=\"bar-chart\"\n label=\"Activity\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/editProfile\"\n icon=\"person\"\n label=\"Edit Profile\"\n ></sqm-navigation-sidebar-item>\n <sqm-navigation-sidebar-item\n path=\"/logout\"\n icon=\"box-arrow-right\"\n label=\"Logout\"\n ></sqm-navigation-sidebar-item>\n </sqm-navigation-sidebar>\n <sqm-divided-layout direction=\"column\">\n <sqm-router>\n <template path=\"/\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route\n ><sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n ><sqm-titled-section label-margin=\"xx-small\"\n ><sqm-text slot=\"label\"> <p>Welcome back,</p> </sqm-text\n ><sqm-text slot=\"content\">\n <h1>\n <sqm-user-name\n fallback=\"Anonymous User\"\n ></sqm-user-name>\n </h1> </sqm-text\n ></sqm-titled-section>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container> </sqm-portal-container\n ><sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-titled-section padding=\"none\" label-margin=\"x-large\"\n ><sqm-text slot=\"label\">\n <h2>Partner and Profit</h2> </sqm-text\n ><sqm-text slot=\"content\">\n <p>\n Get rewarded for referring potential customers to\n SaaSquatch. Earn commission for each successful lead you\n send our way\n </p>\n </sqm-text></sqm-titled-section\n >\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\n ><sqm-text slot=\"label\">\n <h3>Share your referral link</h3> </sqm-text\n ><sqm-share-link slot=\"content\"></sqm-share-link\n ></sqm-titled-section>\n <sqm-titled-section label-margin=\"small\" padding=\"none\">\n <sqm-text slot=\"label\">\n <h3>Share your referral code</h3> </sqm-text\n ><sqm-share-code slot=\"content\"></sqm-share-code>\n </sqm-titled-section>\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\n ><sqm-text slot=\"label\">\n <h3>Share via social media</h3> </sqm-text\n ><sqm-portal-container\n slot=\"content\"\n direction=\"row\"\n padding=\"none\"\n gap=\"xxx-large\"\n min-width=\"160px\"\n ><sqm-share-button\n icon=\"envelope\"\n medium=\"email\"\n size=\"medium\"\n pill=\"true\"\n >Email a friend</sqm-share-button\n ><sqm-share-button\n medium=\"twitter\"\n size=\"medium\"\n pill=\"true\"\n >Tweet about us</sqm-share-button\n ><sqm-share-button\n medium=\"facebook\"\n size=\"medium\"\n pill=\"true\"\n >Share on Facebook</sqm-share-button\n ></sqm-portal-container\n ></sqm-titled-section\n ></sqm-portal-container\n >\n </template>\n <template path=\"/editProfile\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\n ><sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-change-password></sqm-portal-change-password>\n </sqm-portal-container>\n </template>\n <template path=\"/activity\">\n <sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n ></sqm-portal-protected-route>\n <sqm-portal-container\n direction=\"column\"\n padding=\"xxx-large\"\n gap=\"xxx-large\"\n >\n <sqm-text> <h1>Activity</h1></sqm-text>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container>\n <sqm-referral-table>\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\n <sqm-referral-table-date-column\n column-title=\"Referred\"\n date-shown=\"dateReferralStarted\"\n ></sqm-referral-table-date-column> </sqm-referral-table\n ></sqm-portal-container>\n </template>\n </sqm-router>\n </sqm-divided-layout>\n </sqm-divided-layout>\n </template>\n </sqm-router>\n </sqb-program-section>\n <sqm-portal-footer\n slot=\"footer\"\n support-email=\"support@example.com\"\n terms-link=\"https://example.com\"\n faq-link=\"https://example.com\"\n terms-text=\"Terms And Conditions\"\n faq-text=\"FAQ\"\n show-powered-by=\"true\"\n ></sqm-portal-footer>\n</sqm-portal-frame>\n";
|
|
9641
|
+
|
|
9642
|
+
const dashboardTemplate = "<sqm-portal-container direction=\"column\" padding=\"xxx-large\" gap=\"xxx-large\"\n ><sqm-titled-section label-margin=\"xx-small\"\n ><sqm-text slot=\"label\"> <p>Welcome back,</p> </sqm-text\n ><sqm-text slot=\"content\">\n <h1>\n <sqm-user-name fallback=\"Anonymous User\"></sqm-user-name>\n </h1> </sqm-text\n ></sqm-titled-section>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container> </sqm-portal-container\n><sqm-portal-container direction=\"column\" padding=\"xxx-large\" gap=\"xxx-large\">\n <sqm-titled-section padding=\"none\" label-margin=\"x-large\"\n ><sqm-text slot=\"label\"> <h2>Partner and Profit</h2> </sqm-text\n ><sqm-text slot=\"content\">\n <p>\n Get rewarded for referring potential customers to SaaSquatch. Earn\n commission for each successful lead you send our way\n </p>\n </sqm-text></sqm-titled-section\n >\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\n ><sqm-text slot=\"label\"> <h3>Share your referral link</h3> </sqm-text\n ><sqm-share-link slot=\"content\"></sqm-share-link\n ></sqm-titled-section>\n <sqm-titled-section label-margin=\"small\" padding=\"none\">\n <sqm-text slot=\"label\"> <h3>Share your referral code</h3> </sqm-text\n ><sqm-share-code slot=\"content\"></sqm-share-code>\n </sqm-titled-section>\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\n ><sqm-text slot=\"label\"> <h3>Share via social media</h3> </sqm-text\n ><sqm-portal-container\n slot=\"content\"\n direction=\"row\"\n padding=\"none\"\n gap=\"xxx-large\"\n min-width=\"160px\"\n ><sqm-share-button\n icon=\"envelope\"\n medium=\"email\"\n size=\"medium\"\n pill=\"true\"\n >Email a friend</sqm-share-button\n ><sqm-share-button medium=\"twitter\" size=\"medium\" pill=\"true\"\n >Tweet about us</sqm-share-button\n ><sqm-share-button medium=\"facebook\" size=\"medium\" pill=\"true\"\n >Share on Facebook</sqm-share-button\n ></sqm-portal-container\n ></sqm-titled-section\n ></sqm-portal-container\n>\n";
|
|
9643
|
+
|
|
9644
|
+
const leadSubmitTemplate = "<sqm-referral-iframe></sqm-referral-iframe>\n";
|
|
9645
|
+
|
|
9646
|
+
const editProfileTemplate = "<sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n></sqm-portal-protected-route>\n<sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\n><sqm-portal-container direction=\"column\" gap=\"xxx-large\">\n <sqm-portal-change-password></sqm-portal-change-password>\n</sqm-portal-container>\n";
|
|
9647
|
+
|
|
9648
|
+
const activityTemplate = "<sqm-portal-protected-route\n require-email-verification=\"true\"\n redirect-to=\"/login\"\n redirect-to-unverified=\"/emailVerification\"\n></sqm-portal-protected-route>\n<sqm-portal-container direction=\"column\" padding=\"xxx-large\" gap=\"xxx-large\">\n <sqm-text> <h1>Activity</h1></sqm-text>\n <sqm-stat-container space=\"xxxx-large\"\n ><sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/referralsCount\"\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\n >\n <sqm-big-stat\n flex-reverse=\"true\"\n alignment=\"left\"\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\n >\n </sqm-stat-container>\n <sqm-referral-table>\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\n <sqm-referral-table-date-column\n column-title=\"Referred\"\n date-shown=\"dateReferralStarted\"\n ></sqm-referral-table-date-column> </sqm-referral-table\n></sqm-portal-container>\n";
|
|
9649
|
+
|
|
9650
|
+
const resetPasswordEmailTemplate = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional //EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n<html\n xmlns=\"http://www.w3.org/1999/xhtml\"\n xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n xmlns:v=\"urn:schemas-microsoft-com:vml\"\n>\n <head>\n <!--[if gte mso 9\n ]><xml\n ><o:OfficeDocumentSettings\n ><o:AllowPNG /><o:PixelsPerInch\n >96</o:PixelsPerInch\n ></o:OfficeDocumentSettings\n ></xml\n ><!\n [endif]-->\n <meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\" />\n <meta content=\"width=device-width\" name=\"viewport\" />\n <!--[if !mso]><!-->\n <meta content=\"IE=edge\" http-equiv=\"X-UA-Compatible\" />\n <!--<![endif]-->\n <title></title>\n <!--[if !mso]><!-->\n <!--<![endif]-->\n <style type=\"text/css\">\n body {\n margin: 0;\n padding: 0;\n }\n\n table,\n td,\n tr {\n vertical-align: top;\n border-collapse: collapse;\n }\n\n * {\n line-height: inherit;\n }\n\n a[x-apple-data-detectors=\"true\"] {\n color: inherit !important;\n text-decoration: none !important;\n }\n </style>\n <style id=\"media-query\" type=\"text/css\">\n @media (max-width: 520px) {\n .block-grid,\n .col {\n min-width: 320px !important;\n max-width: 100% !important;\n display: block !important;\n }\n\n .block-grid {\n width: 100% !important;\n }\n\n .col {\n width: 100% !important;\n }\n\n .col_cont {\n margin: 0 auto;\n }\n\n img.fullwidth,\n img.fullwidthOnMobile {\n max-width: 100% !important;\n }\n\n .no-stack .col {\n min-width: 0 !important;\n display: table-cell !important;\n }\n\n .no-stack.two-up .col {\n width: 50% !important;\n }\n\n .no-stack .col.num2 {\n width: 16.6% !important;\n }\n\n .no-stack .col.num3 {\n width: 25% !important;\n }\n\n .no-stack .col.num4 {\n width: 33% !important;\n }\n\n .no-stack .col.num5 {\n width: 41.6% !important;\n }\n\n .no-stack .col.num6 {\n width: 50% !important;\n }\n\n .no-stack .col.num7 {\n width: 58.3% !important;\n }\n\n .no-stack .col.num8 {\n width: 66.6% !important;\n }\n\n .no-stack .col.num9 {\n width: 75% !important;\n }\n\n .no-stack .col.num10 {\n width: 83.3% !important;\n }\n\n .video-block {\n max-width: none !important;\n }\n\n .mobile_hide {\n min-height: 0px;\n max-height: 0px;\n max-width: 0px;\n display: none;\n overflow: hidden;\n font-size: 0px;\n }\n\n .desktop_hide {\n display: block !important;\n max-height: none !important;\n }\n }\n </style>\n <style id=\"icon-media-query\" type=\"text/css\">\n @media (max-width: 520px) {\n .icons-inner {\n text-align: center;\n }\n\n .icons-inner td {\n margin: 0 auto;\n }\n }\n </style>\n </head>\n <body\n class=\"clean-body\"\n style=\"\n margin: 0;\n padding: 0;\n -webkit-text-size-adjust: 100%;\n background-color: #ffffff;\n \"\n >\n <!--[if IE]><div class=\"ie-browser\"><![endif]-->\n <table\n bgcolor=\"#FFFFFF\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n class=\"nl-container\"\n role=\"presentation\"\n style=\"\n table-layout: fixed;\n vertical-align: top;\n min-width: 320px;\n border-spacing: 0;\n border-collapse: collapse;\n mso-table-lspace: 0pt;\n mso-table-rspace: 0pt;\n background-color: #ffffff;\n width: 100%;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <tbody>\n <tr style=\"vertical-align: top\" valign=\"top\">\n <td style=\"word-break: break-word; vertical-align: top\" valign=\"top\">\n <!--[if (mso)|(IE)]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td align=\"center\" style=\"background-color:#FFFFFF\"><![endif]-->\n <div style=\"background-color: transparent\">\n <div\n class=\"block-grid\"\n style=\"\n min-width: 320px;\n max-width: 500px;\n overflow-wrap: break-word;\n word-wrap: break-word;\n word-break: break-word;\n margin: 0 auto;\n background-color: transparent;\n \"\n >\n <div\n style=\"\n border-collapse: collapse;\n display: table;\n width: 100%;\n background-color: transparent;\n \"\n >\n <!--[if (mso)|(IE)]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"background-color:transparent;\"><tr><td align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"width:500px\"><tr class=\"layout-full-width\" style=\"background-color:transparent\"><![endif]-->\n <!--[if (mso)|(IE)]><td align=\"center\" width=\"500\" style=\"background-color:transparent;width:500px; border-top: 0px solid transparent; border-left: 0px solid transparent; border-bottom: 0px solid transparent; border-right: 0px solid transparent;\" valign=\"top\"><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td style=\"padding-right: 0px; padding-left: 0px; padding-top:5px; padding-bottom:5px;\"><![endif]-->\n <div\n class=\"col num12\"\n style=\"\n min-width: 320px;\n max-width: 500px;\n display: table-cell;\n vertical-align: top;\n width: 500px;\n \"\n >\n <div class=\"col_cont\" style=\"width: 100% !important\">\n <!--[if (!mso)&(!IE)]><!-->\n <div\n style=\"\n border-top: 0px solid transparent;\n border-left: 0px solid transparent;\n border-bottom: 0px solid transparent;\n border-right: 0px solid transparent;\n padding-top: 5px;\n padding-bottom: 5px;\n padding-right: 0px;\n padding-left: 0px;\n \"\n >\n <!--<![endif]-->\n <table\n cellpadding=\"0\"\n cellspacing=\"0\"\n role=\"presentation\"\n style=\"\n table-layout: fixed;\n vertical-align: top;\n border-spacing: 0;\n border-collapse: collapse;\n mso-table-lspace: 0pt;\n mso-table-rspace: 0pt;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <tr style=\"vertical-align: top\" valign=\"top\">\n <td\n align=\"center\"\n style=\"\n word-break: break-word;\n vertical-align: top;\n padding-bottom: 20px;\n padding-left: 10px;\n padding-right: 10px;\n padding-top: 10px;\n text-align: center;\n width: 100%;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <h1\n style=\"\n color: #444445;\n direction: ltr;\n font-family: 'Helvetica Neue', Helvetica,\n Arial, sans-serif;\n font-size: 20px;\n font-weight: normal;\n letter-spacing: normal;\n line-height: 120%;\n text-align: left;\n margin-top: 0;\n margin-bottom: 0;\n \"\n >\n <strong>Reset your password</strong>\n </h1>\n </td>\n </tr>\n </table>\n <!--[if mso]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td style=\"padding-right: 10px; padding-left: 10px; padding-top: 10px; padding-bottom: 10px; font-family: Arial, sans-serif\"><![endif]-->\n <div\n style=\"\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n line-height: 1.8;\n padding-top: 10px;\n padding-right: 10px;\n padding-bottom: 10px;\n padding-left: 10px;\n \"\n >\n <div\n class=\"txtTinyMce-wrapper\"\n style=\"\n font-size: 14px;\n line-height: 1.8;\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n mso-line-height-alt: 25px;\n \"\n >\n <p\n style=\"\n margin: 0;\n font-size: 14px;\n line-height: 1.8;\n word-break: break-word;\n mso-line-height-alt: 25px;\n margin-top: 0;\n margin-bottom: 0;\n \"\n >\n <span style=\"font-size: 14px\"\n >We received a request to reset your password.\n Click the button below to reset your\n password.</span\n >\n </p>\n </div>\n </div>\n <div\n align=\"center\"\n class=\"button-container\"\n style=\"\n padding-top: 10px;\n padding-right: 10px;\n padding-bottom: 10px;\n padding-left: 10px;\n \"\n >\n <!--[if mso]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"border-spacing: 0; border-collapse: collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;\"><tr><td style=\"padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px\" align=\"center\"><v:roundrect xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" target=\"_blank\" href={{validationLink}} style=\"height:31.5pt;width:390pt;v-text-anchor:middle;\" arcsize=\"12%\" stroke=\"false\" fillcolor=\"#2270ee\"><w:anchorlock/><v:textbox inset=\"0,0,0,0\"><center style=\"color:#ffffff; font-family:Arial, sans-serif; font-size:14px\"><!\n [endif]--><a\n href=\"{{validationLink}}\"\n target=\"_blank\"\n style=\"\n -webkit-text-size-adjust: none;\n text-decoration: none;\n display: block;\n color: #ffffff;\n background-color: #2270ee;\n border-radius: 5px;\n -webkit-border-radius: 5px;\n -moz-border-radius: 5px;\n width: 100%;\n width: calc(100% - 2px);\n border-top: 1px solid #2270ee;\n border-right: 1px solid #2270ee;\n border-bottom: 1px solid #2270ee;\n border-left: 1px solid #2270ee;\n padding-top: 5px;\n padding-bottom: 5px;\n font-family: 'Helvetica Neue', Helvetica, Arial,\n sans-serif;\n text-align: center;\n mso-border-alt: none;\n word-break: keep-all;\n \"\n target=\"_blank\"\n ><span\n style=\"\n padding-left: 20px;\n padding-right: 20px;\n font-size: 14px;\n display: inline-block;\n letter-spacing: undefined;\n \"\n ><span\n style=\"\n font-size: 16px;\n line-height: 2;\n word-break: break-word;\n mso-line-height-alt: 32px;\n \"\n ><span\n style=\"font-size: 14px; line-height: 28px\"\n >Reset Password</span\n ></span\n ></span\n ></a\n >\n <!--[if mso]></center></v:textbox></v:roundrect></td></tr></table><![endif]-->\n </div>\n <!--[if mso]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td style=\"padding-right: 10px; padding-left: 10px; padding-top: 15px; padding-bottom: 15px; font-family: Arial, sans-serif\"><![endif]-->\n <div\n style=\"\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n line-height: 1.2;\n padding-top: 15px;\n padding-right: 10px;\n padding-bottom: 15px;\n padding-left: 10px;\n \"\n >\n <div\n class=\"txtTinyMce-wrapper\"\n style=\"\n font-size: 14px;\n line-height: 1.2;\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n mso-line-height-alt: 17px;\n \"\n >\n <p\n style=\"\n margin: 0;\n font-size: 12px;\n line-height: 1.2;\n word-break: break-word;\n mso-line-height-alt: 14px;\n margin-top: 0;\n margin-bottom: 0;\n \"\n >\n <span style=\"font-size: 12px\"\n >If you didn't request a password reset please\n ignore this email. Your password will not\n change.</span\n >\n </p>\n </div>\n </div>\n <!--[if mso]></td></tr></table><![endif]-->\n <!--[if (!mso)&(!IE)]><!-->\n </div>\n <!--<![endif]-->\n </div>\n </div>\n <!--[if (mso)|(IE)]></td></tr></table><![endif]-->\n <!--[if (mso)|(IE)]></td></tr></table></td></tr></table><![endif]-->\n </div>\n </div>\n </div>\n <!--[if (mso)|(IE)]></td></tr></table><![endif]-->\n </td>\n </tr>\n </tbody>\n </table>\n <!--[if (IE)]></div><![endif]-->\n </body>\n</html>";
|
|
9651
|
+
|
|
9652
|
+
const verifyEmailTemplate = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional //EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n\n<html\n xmlns=\"http://www.w3.org/1999/xhtml\"\n xmlns:o=\"urn:schemas-microsoft-com:office:office\"\n xmlns:v=\"urn:schemas-microsoft-com:vml\"\n>\n <head>\n <!--[if gte mso 9\n ]><xml\n ><o:OfficeDocumentSettings\n ><o:AllowPNG /><o:PixelsPerInch\n >96</o:PixelsPerInch\n ></o:OfficeDocumentSettings\n ></xml\n ><!\n [endif]-->\n <meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\" />\n <meta content=\"width=device-width\" name=\"viewport\" />\n <!--[if !mso]><!-->\n <meta content=\"IE=edge\" http-equiv=\"X-UA-Compatible\" />\n <!--<![endif]-->\n <title></title>\n <!--[if !mso]><!-->\n <!--<![endif]-->\n <style type=\"text/css\">\n body {\n margin: 0;\n padding: 0;\n }\n\n table,\n td,\n tr {\n vertical-align: top;\n border-collapse: collapse;\n }\n\n * {\n line-height: inherit;\n }\n\n a[x-apple-data-detectors=\"true\"] {\n color: inherit !important;\n text-decoration: none !important;\n }\n </style>\n <style id=\"media-query\" type=\"text/css\">\n @media (max-width: 520px) {\n .block-grid,\n .col {\n min-width: 320px !important;\n max-width: 100% !important;\n display: block !important;\n }\n\n .block-grid {\n width: 100% !important;\n }\n\n .col {\n width: 100% !important;\n }\n\n .col_cont {\n margin: 0 auto;\n }\n\n img.fullwidth,\n img.fullwidthOnMobile {\n max-width: 100% !important;\n }\n\n .no-stack .col {\n min-width: 0 !important;\n display: table-cell !important;\n }\n\n .no-stack.two-up .col {\n width: 50% !important;\n }\n\n .no-stack .col.num2 {\n width: 16.6% !important;\n }\n\n .no-stack .col.num3 {\n width: 25% !important;\n }\n\n .no-stack .col.num4 {\n width: 33% !important;\n }\n\n .no-stack .col.num5 {\n width: 41.6% !important;\n }\n\n .no-stack .col.num6 {\n width: 50% !important;\n }\n\n .no-stack .col.num7 {\n width: 58.3% !important;\n }\n\n .no-stack .col.num8 {\n width: 66.6% !important;\n }\n\n .no-stack .col.num9 {\n width: 75% !important;\n }\n\n .no-stack .col.num10 {\n width: 83.3% !important;\n }\n\n .video-block {\n max-width: none !important;\n }\n\n .mobile_hide {\n min-height: 0px;\n max-height: 0px;\n max-width: 0px;\n display: none;\n overflow: hidden;\n font-size: 0px;\n }\n\n .desktop_hide {\n display: block !important;\n max-height: none !important;\n }\n }\n </style>\n <style id=\"icon-media-query\" type=\"text/css\">\n @media (max-width: 520px) {\n .icons-inner {\n text-align: center;\n }\n\n .icons-inner td {\n margin: 0 auto;\n }\n }\n </style>\n </head>\n <body\n class=\"clean-body\"\n style=\"\n margin: 0;\n padding: 0;\n -webkit-text-size-adjust: 100%;\n background-color: #ffffff;\n \"\n >\n <!--[if IE]><div class=\"ie-browser\"><![endif]-->\n <table\n bgcolor=\"#FFFFFF\"\n cellpadding=\"0\"\n cellspacing=\"0\"\n class=\"nl-container\"\n role=\"presentation\"\n style=\"\n table-layout: fixed;\n vertical-align: top;\n min-width: 320px;\n border-spacing: 0;\n border-collapse: collapse;\n mso-table-lspace: 0pt;\n mso-table-rspace: 0pt;\n background-color: #ffffff;\n width: 100%;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <tbody>\n <tr style=\"vertical-align: top\" valign=\"top\">\n <td style=\"word-break: break-word; vertical-align: top\" valign=\"top\">\n <!--[if (mso)|(IE)]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td align=\"center\" style=\"background-color:#FFFFFF\"><![endif]-->\n <div style=\"background-color: transparent\">\n <div\n class=\"block-grid\"\n style=\"\n min-width: 320px;\n max-width: 500px;\n overflow-wrap: break-word;\n word-wrap: break-word;\n word-break: break-word;\n margin: 0 auto;\n background-color: transparent;\n \"\n >\n <div\n style=\"\n border-collapse: collapse;\n display: table;\n width: 100%;\n background-color: transparent;\n \"\n >\n <!--[if (mso)|(IE)]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"background-color:transparent;\"><tr><td align=\"center\"><table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"width:500px\"><tr class=\"layout-full-width\" style=\"background-color:transparent\"><![endif]-->\n <!--[if (mso)|(IE)]><td align=\"center\" width=\"500\" style=\"background-color:transparent;width:500px; border-top: 0px solid transparent; border-left: 0px solid transparent; border-bottom: 0px solid transparent; border-right: 0px solid transparent;\" valign=\"top\"><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td style=\"padding-right: 0px; padding-left: 0px; padding-top:5px; padding-bottom:5px;\"><![endif]-->\n <div\n class=\"col num12\"\n style=\"\n min-width: 320px;\n max-width: 500px;\n display: table-cell;\n vertical-align: top;\n width: 500px;\n \"\n >\n <div class=\"col_cont\" style=\"width: 100% !important\">\n <!--[if (!mso)&(!IE)]><!-->\n <div\n style=\"\n border-top: 0px solid transparent;\n border-left: 0px solid transparent;\n border-bottom: 0px solid transparent;\n border-right: 0px solid transparent;\n padding-top: 5px;\n padding-bottom: 5px;\n padding-right: 0px;\n padding-left: 0px;\n \"\n >\n <!--<![endif]-->\n <table\n cellpadding=\"0\"\n cellspacing=\"0\"\n role=\"presentation\"\n style=\"\n table-layout: fixed;\n vertical-align: top;\n border-spacing: 0;\n border-collapse: collapse;\n mso-table-lspace: 0pt;\n mso-table-rspace: 0pt;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <tr style=\"vertical-align: top\" valign=\"top\">\n <td\n align=\"center\"\n style=\"\n word-break: break-word;\n vertical-align: top;\n padding-bottom: 20px;\n padding-left: 10px;\n padding-right: 10px;\n padding-top: 10px;\n text-align: center;\n width: 100%;\n \"\n valign=\"top\"\n width=\"100%\"\n >\n <h1\n style=\"\n color: #444445;\n direction: ltr;\n font-family: 'Helvetica Neue', Helvetica,\n Arial, sans-serif;\n font-size: 20px;\n font-weight: normal;\n letter-spacing: normal;\n line-height: 120%;\n text-align: left;\n margin-top: 0;\n margin-bottom: 0;\n \"\n >\n <strong>Verify your email address</strong>\n </h1>\n </td>\n </tr>\n </table>\n <!--[if mso]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td style=\"padding-right: 10px; padding-left: 10px; padding-top: 10px; padding-bottom: 10px; font-family: Arial, sans-serif\"><![endif]-->\n <div\n style=\"\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n line-height: 1.8;\n padding-top: 10px;\n padding-right: 10px;\n padding-bottom: 10px;\n padding-left: 10px;\n \"\n >\n <div\n class=\"txtTinyMce-wrapper\"\n style=\"\n font-size: 14px;\n line-height: 1.8;\n color: #444445;\n font-family: Arial, Helvetica Neue, Helvetica,\n sans-serif;\n mso-line-height-alt: 25px;\n \"\n >\n <p\n style=\"\n margin: 0;\n font-size: 14px;\n line-height: 1.8;\n word-break: break-word;\n mso-line-height-alt: 25px;\n margin-top: 0;\n margin-bottom: 0;\n \"\n >\n <span style=\"font-size: 14px\"\n >Thank you for signing up! Please click the button below\n to verify your email address.</span\n >\n </p>\n </div>\n </div>\n <!--[if mso]></td></tr></table><![endif]-->\n <div\n align=\"center\"\n class=\"button-container\"\n style=\"\n padding-top: 10px;\n padding-right: 10px;\n padding-bottom: 10px;\n padding-left: 10px;\n \"\n >\n <!--[if mso]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"border-spacing: 0; border-collapse: collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;\"><tr><td style=\"padding-top: 10px; padding-right: 10px; padding-bottom: 10px; padding-left: 10px\" align=\"center\"><v:roundrect xmlns:v=\"urn:schemas-microsoft-com:vml\" xmlns:w=\"urn:schemas-microsoft-com:office:word\" target=\"_blank\" href={{validationLink}} style=\"height:31.5pt;width:390pt;v-text-anchor:middle;\" arcsize=\"12%\" stroke=\"false\" fillcolor=\"#2270ee\"><w:anchorlock/><v:textbox inset=\"0,0,0,0\"><center style=\"color:#ffffff; font-family:Arial, sans-serif; font-size:14px\"><!\n [endif]--><a\n href={{validationLink}}\n\t\t\t\t\t\t\ttarget=\"_blank\"\n style=\"\n -webkit-text-size-adjust: none;\n text-decoration: none;\n display: block;\n color: #ffffff;\n background-color: #2270ee;\n border-radius: 5px;\n -webkit-border-radius: 5px;\n -moz-border-radius: 5px;\n width: 100%;\n width: calc(100% - 2px);\n border-top: 1px solid #2270ee;\n border-right: 1px solid #2270ee;\n border-bottom: 1px solid #2270ee;\n border-left: 1px solid #2270ee;\n padding-top: 5px;\n padding-bottom: 5px;\n font-family: 'Helvetica Neue', Helvetica, Arial,\n sans-serif;\n text-align: center;\n mso-border-alt: none;\n word-break: keep-all;\n \"\n target=\"_blank\"\n ><span\n style=\"\n padding-left: 20px;\n padding-right: 20px;\n font-size: 14px;\n display: inline-block;\n letter-spacing: undefined;\n \"\n ><span\n style=\"\n font-size: 16px;\n line-height: 2;\n word-break: break-word;\n mso-line-height-alt: 32px;\n \"\n ><span\n style=\"font-size: 14px; line-height: 28px\"\n >Verify Email</span\n ></span\n ></span\n ></a\n >\n <!--[if mso]></center></v:textbox></v:roundrect></td></tr></table><![endif]-->\n </div>\n <!--<![endif]-->\n </div>\n </div>\n <!--[if (mso)|(IE)]></td></tr></table><![endif]-->\n <!--[if (mso)|(IE)]></td></tr></table></td></tr></table><![endif]-->\n </div>\n </div>\n </div>\n <!--[if (mso)|(IE)]></td></tr></table><![endif]-->\n </td>\n </tr>\n </tbody>\n </table>\n <!--[if (IE)]></div><![endif]-->\n </body>\n</html>";
|
|
9653
|
+
|
|
9654
|
+
const loginTemplate = "<sqm-hero background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\">\n <sqm-portal-login></sqm-portal-login>\n</sqm-hero>\n";
|
|
9655
|
+
|
|
9656
|
+
const registerTemplate = "<sqm-hero\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\n>\n <sqm-portal-register>\n <sqm-name-fields slot=\"formData\"></sqm-name-fields>\n </sqm-portal-register>\n</sqm-hero>\n";
|
|
9657
|
+
|
|
9658
|
+
const forgotPasswordTemplate = "<sqm-hero background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\">\n <sqm-portal-forgot-password\n email-label=\"Business Email\"\n ></sqm-portal-forgot-password>\n</sqm-hero>\n";
|
|
9659
|
+
|
|
9660
|
+
const resetPasswordTemplate = "<sqm-portal-reset-password confirm-password=\"true\"></sqm-portal-reset-password>\n";
|
|
9661
|
+
|
|
9662
|
+
const emailVerifiedTemplate = "<sqm-portal-verify-email></sqm-portal-verify-email>\n";
|
|
9663
|
+
|
|
9664
|
+
const emailVerificationTemplate = "<sqm-portal-protected-route redirect-to=\"/login\"></sqm-portal-protected-route>\n<sqm-portal-email-verification></sqm-portal-email-verification>\n";
|
|
9665
|
+
|
|
9666
|
+
const LoginReadme = "# sqm-portal-login\n\n\n\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| --------------------- | ----------------------- | ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- |\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; forgotPasswordPath: string; registerPath: string; }; content?: { forgotPasswordButton?: any; secondaryButton?: any; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; }; }` | `undefined` |\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\n| `forgotPasswordLabel` | `forgot-password-label` | | `string` | `\"Forgot Password?\"` |\n| `forgotPasswordPath` | `forgot-password-path` | Redirect participants to this page to reset their password | `string` | `\"/forgotPassword\"` |\n| `nextPage` | `next-page` | Redirect participants to this page after they successfully login. | `string` | `\"/\"` |\n| `pageLabel` | `page-label` | | `string` | `\"Sign in to your account\"` |\n| `passwordLabel` | `password-label` | | `string` | `\"Password\"` |\n| `registerLabel` | `register-label` | | `string` | `\"Register\"` |\n| `registerPath` | `register-path` | Redirect participants to this page to start registration. | `string` | `\"/register\"` |\n| `submitLabel` | `submit-label` | | `string` | `\"Sign In\"` |\n\n\n## Dependencies\n\n### Used by\n\n - [sqm-stencilbook](../sqm-stencilbook)\n\n### Depends on\n\n- [sqm-form-message](../sqm-form-message)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-portal-login --> sqm-form-message\n sqm-stencilbook --> sqm-portal-login\n style sqm-portal-login fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
9667
|
+
|
|
9668
|
+
const ReferralIframeReadme = "# sqm-referral-iframe\n\n\n\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| -------------- | --------------- | ----------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------ | ----------- |\n| `demoData` | -- | | `{ states?: { content: { iframeSrc: string; iframeHeight: string; iframeWidth: string; }; }; data?: { shareCode: string; }; }` | `undefined` |\n| `iframeHeight` | `iframe-height` | Define the height of the iframe with any valid CSS height value. Example: 100px, 5rem, or auto. | `string` | `\"100%\"` |\n| `iframeSrc` | `iframe-src` | URL of iframe to display | `string` | `undefined` |\n| `iframeWidth` | `iframe-width` | Define the width of the iframe with any valid CSS width value. Example: 100px, 5rem, or auto. | `string` | `\"100%\"` |\n\n\n## Dependencies\n\n### Used by\n\n - [sqm-stencilbook](../sqm-stencilbook)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-stencilbook --> sqm-referral-iframe\n style sqm-referral-iframe fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
9669
|
+
|
|
9670
|
+
const ForgotPasswordReadme = "# sqm-portal-forgot-password\n\n\n\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| -------------- | --------------- | ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; success: boolean; loginPath: string; }; content?: { secondaryButton: any; messageSlot: any; emailLabel?: string; submitLabel?: string; }; }` | `undefined` |\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\n| `headerText` | `header-text` | | `string` | `\"Enter your email below to receive a password reset link.\"` |\n| `loginPath` | `login-path` | | `string` | `\"/login\"` |\n| `loginText` | `login-text` | Sign in link text | `string` | `\"Sign In\"` |\n| `redirectPath` | `redirect-path` | Redirect participants to this page after they verify their email. | `string` | `\"/resetPassword\"` |\n| `submitLabel` | `submit-label` | | `string` | `\"Request Password Reset\"` |\n\n\n## Dependencies\n\n### Depends on\n\n- [sqm-form-message](../sqm-form-message)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-portal-forgot-password --> sqm-form-message\n style sqm-portal-forgot-password fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
9671
|
+
|
|
9672
|
+
const RegisterReadme = "# sqm-portal-register\n\n\n\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| ------------------------------ | --------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------- |\n| `confirmPassword` | `confirm-password` | | `boolean` | `false` |\n| `confirmPasswordLabel` | `confirm-password-label` | | `string` | `\"Confirm Password\"` |\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; confirmPassword: boolean; hideInputs: boolean; registrationFormState: RegistrationFormState; disablePasswordValidation?: boolean; loginPath: string; }; refs?: { formRef: any; }; content?: { formData?: VNode; terms?: VNode; passwordField?: VNode; secondaryButton?: VNode; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; confirmPasswordLabel: string; requiredFieldErrorMessage: string; invalidEmailErrorMessage: string; }; }` | `undefined` |\n| `disablePasswordValidation` | `disable-password-validation` | | `boolean` | `false` |\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\n| `hideInputs` | `hide-inputs` | Hides the email and password fields. Note: If you hide default inputs, you must add additional input fields. They must have the input name attributes \"email\" and \"password\" for this form to succeed. | `boolean` | `false` |\n| `invalidEmailErrorMessage` | `invalid-email-error-message` | The message to be displayed when the email used is invalid or blocked. | `string` | `\"Must be a valid email address\"` |\n| `loginLabel` | `login-label` | | `string` | `\"Sign in\"` |\n| `loginPath` | `login-path` | Redirect participants to this page after clicking the login button. | `string` | `\"/login\"` |\n| `networkErrorMessage` | `network-error-message` | The message to be displayed when a the form submission fails unexpectedly. | `string` | `\"Network request failed.\"` |\n| `nextPage` | `next-page` | Redirect participants to this page from their verification email | `string` | `\"/\"` |\n| `pageLabel` | `page-label` | | `string` | `\"Register\"` |\n| `passwordLabel` | `password-label` | | `string` | `\"Password\"` |\n| `passwordMismatchErrorMessage` | `password-mismatch-error-message` | The message to be displayed when password inputs do not match. | `string` | `\"Passwords do not match.\"` |\n| `redirectPath` | `redirect-path` | The page that participants are redirected to from the verification email. | `string` | `\"/verifyEmail\"` |\n| `requiredFieldErrorMessage` | `required-field-error-message` | The message to be displayed when a required field is not filled. | `string` | `\"Cannot be empty\"` |\n| `submitLabel` | `submit-label` | | `string` | `\"Register\"` |\n\n\n## Dependencies\n\n### Used by\n\n - [sqm-stencilbook](../sqm-stencilbook)\n\n### Depends on\n\n- [sqm-form-message](../sqm-form-message)\n- [sqm-password-field](../sqm-password-field)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-portal-register --> sqm-form-message\n sqm-portal-register --> sqm-password-field\n sqm-stencilbook --> sqm-portal-register\n style sqm-portal-register fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
9673
|
+
|
|
9674
|
+
const EditProfileReadme = "# sqm-portal-profile\n\n\n\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| ------------------------ | --------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |\n| `countrytext` | `countrytext` | | `string` | `\"Country\"` |\n| `demoData` | -- | | `{ states?: { success: boolean; loading: boolean; submitDisabled: boolean; showCountry: boolean; formState: { country: string; firstName: string; lastName: string; errors: any; error: string; }; user: { id: string; accountId: string; firstName: string; lastName: string; email: string; countryCode: string; }; text: { firstnametext: string; lastnametext: string; emailtext: string; countrytext: string; editProfileHeader: string; editProfileSubHeader: string; submitChangeButtonText: string; }; }; }` | `undefined` |\n| `editProfileHeader` | `edit-profile-header` | | `string` | `\"Edit your profile\"` |\n| `editProfileSubHeader` | `edit-profile-sub-header` | | `string` | `\"Personal Information\"` |\n| `emailtext` | `emailtext` | | `string` | `\"Email\"` |\n| `firstnametext` | `firstnametext` | | `string` | `\"First Name\"` |\n| `hideCountry` | `hide-country` | | `boolean` | `false` |\n| `lastnametext` | `lastnametext` | | `string` | `\"Last Name\"` |\n| `submitChangeButtonText` | `submit-change-button-text` | | `string` | `\"Submit Changes\"` |\n\n\n## Dependencies\n\n### Depends on\n\n- [sqm-form-message](../sqm-form-message)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-portal-profile --> sqm-form-message\n style sqm-portal-profile fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
9675
|
+
|
|
9676
|
+
const ResetPasswordReadme = "# sqm-portal-reset-password\n\n\n\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| --------------------------- | ------------------------------ | -------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------- |\n| `confirmPassword` | `confirm-password` | | `boolean` | `false` |\n| `confirmPasswordFieldLabel` | `confirm-password-field-label` | | `string` | `\"Confirm Password\"` |\n| `continueButtonText` | `continue-button-text` | Button text displayed after a successful password reset. | `string` | `\"Continue\"` |\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; reset: boolean; confirmPassword: boolean; oobCodeValidating: boolean; oobCodeValid: boolean; passwordDemoData?: PasswordFieldViewDemoProps; content: { passwordResetHeader: string; resetPasswordHeader: string; continueButtonText: string; resetPasswordButtonText: string; confirmPasswordFieldLabel: string; passwordFieldLabel: string; }; }; }` | `undefined` |\n| `failedPage` | `failed-page` | Redirect participants to this page if password reset fails due to an outdated reset attempt. | `string` | `\"/\"` |\n| `nextPage` | `next-page` | Redirect participants to this page when they successfully reset their password. | `string` | `\"/\"` |\n| `passwordFieldLabel` | `password-field-label` | | `string` | `\"New Password\"` |\n| `passwordResetHeader` | `password-reset-header` | Displayed after a successful password reset. | `string` | `\"Password reset\"` |\n| `resetPasswordButtonText` | `reset-password-button-text` | | `string` | `\"Reset Password\"` |\n| `resetPasswordHeader` | `reset-password-header` | | `string` | `\"Reset your password\"` |\n\n\n## Dependencies\n\n### Depends on\n\n- [sqm-form-message](../sqm-form-message)\n- [sqm-password-field](../sqm-password-field)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-portal-reset-password --> sqm-form-message\n sqm-portal-reset-password --> sqm-password-field\n style sqm-portal-reset-password fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
9677
|
+
|
|
9678
|
+
const EmailVerificationReadme = "# sqm-portal-email-verification\n\n\n\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| ---------------------------- | ------------------------------ | ----------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; success: boolean; isVerified?: boolean; loadingVerification?: boolean; countdown?: number; }; content?: { email: string; verifyMessage: string; emailVerificationHeader: string; resendEmailButtonText: string; verificationStatusMessage?: string; verificationLoadingMessage?: string; }; }` | `undefined` |\n| `emailVerificationHeader` | `email-verification-header` | | `string` | `\"Verify your email\"` |\n| `redirectPath` | `redirect-path` | Redirect participants to this page from their verification email. | `string` | `\"/verifyEmail\"` |\n| `resendEmailButtonText` | `resend-email-button-text` | | `string` | `\"Re-send Email\"` |\n| `verificationLoadingMessage` | `verification-loading-message` | | `string` | `\"Checking verification status\"` |\n| `verificationStatusMessage` | `verification-status-message` | | `string` | `\"Checking verification status in {countdown}\"` |\n| `verifyMessage` | `verify-message` | | `string` | `\"A verification email was sent to {email}. Please verify your email to continue to the portal. Resending an email will invalidate the previous email.\"` |\n\n\n## Dependencies\n\n### Depends on\n\n- [sqm-form-message](../sqm-form-message)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-portal-email-verification --> sqm-form-message\n style sqm-portal-email-verification fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
9679
|
+
|
|
9680
|
+
const EmailVerifiedReadme = "# sqm-portal-verify-email\n\n\n\n<!-- Auto Generated Below -->\n\n\n## Properties\n\n| Property | Attribute | Description | Type | Default |\n| ------------ | ------------- | ------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------- | ----------- |\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; verified: boolean; }; data?: { oobCode: string; }; }` | `undefined` |\n| `failedPage` | `failed-page` | Redirect participants to this page if verification fails due to an outdated verification attempt. | `string` | `\"/\"` |\n| `nextPage` | `next-page` | Redirect participants to this page when they successfully verify their email. | `string` | `\"/\"` |\n\n\n## Dependencies\n\n### Depends on\n\n- [sqm-form-message](../sqm-form-message)\n\n### Graph\n```mermaid\ngraph TD;\n sqm-portal-verify-email --> sqm-form-message\n style sqm-portal-verify-email fill:#f9f,stroke:#333,stroke-width:4px\n```\n\n----------------------------------------------\n\n*Built with [StencilJS](https://stenciljs.com/)*\n";
|
|
9681
|
+
|
|
9682
|
+
const PortalTemplates_stories = {
|
|
9683
|
+
title: "Templates / Portal",
|
|
9684
|
+
};
|
|
9685
|
+
function useTemplate$2(templateString) {
|
|
9686
|
+
const [editedTemplate, setEditedTemplate] = useState(templateString);
|
|
9687
|
+
const [previewTemplate, setPreviewTemplate] = useState(templateString);
|
|
9688
|
+
return {
|
|
9689
|
+
states: { previewTemplate, editedTemplate },
|
|
9690
|
+
callbacks: { setEditedTemplate, setPreviewTemplate },
|
|
9691
|
+
};
|
|
9692
|
+
}
|
|
9693
|
+
const DefaultPortal = createHookStory(() => {
|
|
9694
|
+
const { states, callbacks } = useTemplate$2(portalTemplate);
|
|
9695
|
+
return (h(DefaultTemplateView, { states: states, callbacks: callbacks, template: portalTemplateWithDashboard }));
|
|
9696
|
+
});
|
|
9697
|
+
const MultiProgramPortal = createHookStory(() => {
|
|
9698
|
+
const { states, callbacks } = useTemplate$2(multiProgramTemplate);
|
|
9699
|
+
return (h(DefaultTemplateView, { states: states, callbacks: callbacks, template: multiProgramTemplateWithDashboard }));
|
|
9700
|
+
});
|
|
9701
|
+
const LeadSubmitPortal = createHookStory(() => {
|
|
9702
|
+
const { states, callbacks } = useTemplate$2(portalLeadSubmitTemplate);
|
|
9703
|
+
return (h(DefaultTemplateView, { states: states, callbacks: callbacks, template: portalLeadSubmitTemplateWithDashboard, leadSubmit: true }));
|
|
9704
|
+
});
|
|
9705
|
+
const Login = createHookStory(() => {
|
|
9706
|
+
const { states, callbacks } = useTemplate$2(loginTemplate);
|
|
9707
|
+
return (h(TemplateView$1, { states: states, callbacks: callbacks, readme: LoginReadme }));
|
|
9708
|
+
});
|
|
9709
|
+
const ForgotPassword = createHookStory(() => {
|
|
9710
|
+
const { states, callbacks } = useTemplate$2(forgotPasswordTemplate);
|
|
9711
|
+
return (h(TemplateView$1, { states: states, callbacks: callbacks, readme: ForgotPasswordReadme }));
|
|
9712
|
+
});
|
|
9713
|
+
const Register = createHookStory(() => {
|
|
9714
|
+
const { states, callbacks } = useTemplate$2(registerTemplate);
|
|
9715
|
+
return (h(TemplateView$1, { states: states, callbacks: callbacks, readme: RegisterReadme }));
|
|
9716
|
+
});
|
|
9717
|
+
const Dashboard$1 = createHookStory(() => {
|
|
9718
|
+
const { states, callbacks } = useTemplate$2(dashboardTemplate);
|
|
9719
|
+
return h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
9720
|
+
});
|
|
9721
|
+
const LeadSubmitIframe = createHookStory(() => {
|
|
9722
|
+
const { states, callbacks } = useTemplate$2(leadSubmitTemplate);
|
|
9723
|
+
return (h(TemplateView$1, { states: states, callbacks: callbacks, readme: ReferralIframeReadme }));
|
|
9724
|
+
});
|
|
9725
|
+
const Activity$1 = createHookStory(() => {
|
|
9726
|
+
const { states, callbacks } = useTemplate$2(activityTemplate);
|
|
9727
|
+
return h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
9728
|
+
});
|
|
9729
|
+
const EditProfile$2 = createHookStory(() => {
|
|
9730
|
+
const { states, callbacks } = useTemplate$2(editProfileTemplate);
|
|
9731
|
+
return (h(TemplateView$1, { states: states, callbacks: callbacks, readme: EditProfileReadme }));
|
|
9732
|
+
});
|
|
9733
|
+
const ResetPassword = createHookStory(() => {
|
|
9734
|
+
const { states, callbacks } = useTemplate$2(resetPasswordTemplate);
|
|
9735
|
+
return (h(TemplateView$1, { states: states, callbacks: callbacks, readme: ResetPasswordReadme }));
|
|
9736
|
+
});
|
|
9737
|
+
const EmailVerification = createHookStory(() => {
|
|
9738
|
+
const { states, callbacks } = useTemplate$2(emailVerificationTemplate);
|
|
9739
|
+
return (h(TemplateView$1, { states: states, callbacks: callbacks, readme: EmailVerificationReadme }));
|
|
9740
|
+
});
|
|
9741
|
+
const EmailVerified = createHookStory(() => {
|
|
9742
|
+
const { states, callbacks } = useTemplate$2(emailVerifiedTemplate);
|
|
9743
|
+
return (h(TemplateView$1, { states: states, callbacks: callbacks, readme: EmailVerifiedReadme }));
|
|
9744
|
+
});
|
|
9745
|
+
const Widget$1 = createHookStory(() => {
|
|
9746
|
+
return (h("sqb-widget", { "widget-type": "p/Vacay-referral/w/referrerWidget", demoData: {
|
|
9747
|
+
data: {
|
|
9748
|
+
html: dashboardTemplate,
|
|
9749
|
+
},
|
|
9750
|
+
} }));
|
|
9751
|
+
});
|
|
9752
|
+
const ResetPasswordEmail = createHookStory(() => {
|
|
9753
|
+
const { states, callbacks } = useTemplate$2(resetPasswordEmailTemplate);
|
|
9754
|
+
return h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
9755
|
+
});
|
|
9756
|
+
const VerifyEmail = createHookStory(() => {
|
|
9757
|
+
const { states, callbacks } = useTemplate$2(verifyEmailTemplate);
|
|
9758
|
+
return h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
9759
|
+
});
|
|
9760
|
+
|
|
9761
|
+
const PortalTemplates = /*#__PURE__*/Object.freeze({
|
|
9762
|
+
__proto__: null,
|
|
9763
|
+
'default': PortalTemplates_stories,
|
|
9764
|
+
DefaultPortal: DefaultPortal,
|
|
9765
|
+
MultiProgramPortal: MultiProgramPortal,
|
|
9766
|
+
LeadSubmitPortal: LeadSubmitPortal,
|
|
9767
|
+
Login: Login,
|
|
9768
|
+
ForgotPassword: ForgotPassword,
|
|
9769
|
+
Register: Register,
|
|
9770
|
+
Dashboard: Dashboard$1,
|
|
9771
|
+
LeadSubmitIframe: LeadSubmitIframe,
|
|
9772
|
+
Activity: Activity$1,
|
|
9773
|
+
EditProfile: EditProfile$2,
|
|
9774
|
+
ResetPassword: ResetPassword,
|
|
9775
|
+
EmailVerification: EmailVerification,
|
|
9776
|
+
EmailVerified: EmailVerified,
|
|
9777
|
+
Widget: Widget$1,
|
|
9778
|
+
ResetPasswordEmail: ResetPasswordEmail,
|
|
9779
|
+
VerifyEmail: VerifyEmail
|
|
9780
|
+
});
|
|
9781
|
+
|
|
9768
9782
|
const ProgramMenu_stories = {
|
|
9769
9783
|
title: "Components/Program Menu",
|
|
9770
9784
|
};
|
|
@@ -9832,7 +9846,7 @@ const PoweredByImg = /*#__PURE__*/Object.freeze({
|
|
|
9832
9846
|
CustomWidthAndHeight: CustomWidthAndHeight
|
|
9833
9847
|
});
|
|
9834
9848
|
|
|
9835
|
-
const scenario$f = "Feature: Portal Footer\n\n Background: A user is viewing the portal\n Given a hosted portal\n And a user is viewing the portal\n And the portal has a footer\n\n Scenario Outline: FAQ and T&C links/text are configurable and open in a new page when clicked\n Given the footer has prop \"terms-link\" with value \"https://example.com/terms\"\n And prop \"terms-text\" with value \"Terms and Conditions\"\n And prop \"faq-link\" with value \"https://example.com/FAQ\"\n And prop \"faq-text\" with value \"Visit FAQ\"\n When a user clicks on the \"Visit FAQ\" link\n Then they will be redirected to \"https://example.com/FAQ\" in a new page\n When they go back to the portal\n And click on the \"Terms and Conditions\" link\n Then they will be redirected to \"https://example.com/terms\" in a new page\n\n Scenario Outline: FAQ/T&C Links are not shown if a link is not provided\n Given the footer does not have <linkProp>\n But it <mayHave> <textProp> with <value>\n Then the <link> will not be shown in the footer\n Examples:\n | linkProp | mayHave | textProp | value | link |\n | terms-link | has | termsText | Terms and Conditions | T&C Link |\n | faq-link | has | faqText | Visit FAQ | FAQ Link |\n | terms-link | doesn't have | | | T&C Link |\n | faq-link | doesn't have | | | FAQ Link |\n\n Scenario Outline: The support email and text is configurable but has a default\n Given the footer <mayHave> <emailPropWithValue>\n And the footer <mayAlsoHave> <textPropWithValue>\n Then the footer's support email text is <renderedEmailText>\n And the email address will be a mailto link with <mailtoEmail>\n When the user clicks on the email address mailto Link\n Then the users preferred email client will open with a draft email to <mailtoEmail>\n Examples:\n | mayHave | emailPropWithValue | mayAlsoHave | textPropWithValue | mailtoEmail | renderedEmailText |\n | has | support@saasquatch.com | has | For support please contact {email} | support@saasquatch.com | For support please contact support@saasquatch.com |\n | doesn't have | N/A | doesn't have | N/A | support@example.com | For program support, contact support@example.com |\n\n Scenario Outline: Powered by SaaSquatch
|
|
9849
|
+
const scenario$f = "Feature: Portal Footer\n\n Background: A user is viewing the portal\n Given a hosted portal\n And a user is viewing the portal\n And the portal has a footer\n\n Scenario Outline: FAQ and T&C links/text are configurable and open in a new page when clicked\n Given the footer has prop \"terms-link\" with value \"https://example.com/terms\"\n And prop \"terms-text\" with value \"Terms and Conditions\"\n And prop \"faq-link\" with value \"https://example.com/FAQ\"\n And prop \"faq-text\" with value \"Visit FAQ\"\n When a user clicks on the \"Visit FAQ\" link\n Then they will be redirected to \"https://example.com/FAQ\" in a new page\n When they go back to the portal\n And click on the \"Terms and Conditions\" link\n Then they will be redirected to \"https://example.com/terms\" in a new page\n\n Scenario Outline: FAQ/T&C Links are not shown if a link is not provided\n Given the footer does not have <linkProp>\n But it <mayHave> <textProp> with <value>\n Then the <link> will not be shown in the footer\n Examples:\n | linkProp | mayHave | textProp | value | link |\n | terms-link | has | termsText | Terms and Conditions | T&C Link |\n | faq-link | has | faqText | Visit FAQ | FAQ Link |\n | terms-link | doesn't have | | | T&C Link |\n | faq-link | doesn't have | | | FAQ Link |\n\n Scenario Outline: The support email and text is configurable but has a default\n Given the footer <mayHave> <emailPropWithValue>\n And the footer <mayAlsoHave> <textPropWithValue>\n Then the footer's support email text is <renderedEmailText>\n And the email address will be a mailto link with <mailtoEmail>\n When the user clicks on the email address mailto Link\n Then the users preferred email client will open with a draft email to <mailtoEmail>\n Examples:\n | mayHave | emailPropWithValue | mayAlsoHave | textPropWithValue | mailtoEmail | renderedEmailText |\n | has | support@saasquatch.com | has | For support please contact {email} | support@saasquatch.com | For support please contact support@saasquatch.com |\n | doesn't have | N/A | doesn't have | N/A | support@example.com | For program support, contact support@example.com |\n\n Scenario Outline: Powered by SaaSquatch can be hidden\n Given the footer <mayHaveProp> \"hide-powered-by\" with <value>\n Then the powered by SaaSquatch image <mayBeShown>\n Examples:\n | mayHaveProp | value | mayBeShown |\n | has prop | true (default) | isn't shown |\n | has prop | false | is shown |\n | has prop | test | isn't shown |\n | has prop | | isn't shown |\n | doesn't have prop | | is shown |\n\n Scenario Outline: Support text can be hidden\n Given the footer <mayHaveProp> \"hide-support-text\" with <value>\n Then the support text <mayBeShown>\n Examples:\n | mayHaveProp | value | mayBeShown |\n | has prop | false (default) | is shown |\n | has prop | true | isn't shown |\n | has prop | test | isn't shown |\n | has prop | | isn't shown |\n | doesn't have prop | | is shown |\n\n Scenario: Powered By Saasquatch links out to marketing website\n Given the footer has the powered by SaaSquatch image\n When a user clicks on it\n Then they will be redirected to \"https://www.saasquatch.com/?utm_source=app&utm_medium=user-widget&utm_campaign=referral-widget\" in a new page";
|
|
9836
9850
|
|
|
9837
9851
|
const PortalFooter_stories = {
|
|
9838
9852
|
title: "Components/Portal Footer",
|
|
@@ -9868,7 +9882,7 @@ const PortalFooter = /*#__PURE__*/Object.freeze({
|
|
|
9868
9882
|
FooterNoSupportText: FooterNoSupportText
|
|
9869
9883
|
});
|
|
9870
9884
|
|
|
9871
|
-
const scenario$g = "
|
|
9885
|
+
const scenario$g = "@author:noah\n@owner:noah\n\nFeature: Hero Unit\n\n Background: A portal with a hero unit exists\n Given a hosted portal\n And the portal has hero unit on the login page\n And a user is viewing the login page\n\n Scenario: The hero unit defaults to a single column layout\n Given a hero unit does not have a \"columns\" prop\n But the following html is wrapped by the hero unit\n \"\"\"\n <sqm-portal-login></sqm-portal-login>\n <div slot=\"secondary-column\">\n <h1 style=\"text-align:center\">Get Referring!</h1>\n <p style=\"text-align:center\">\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim\n ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut\n aliquip ex ea commodo consequat. Duis aute irure dolor in\n reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla\n pariatur.\n </p>\n </div>\n \"\"\"\n Then only a single column will be displayed\n And within it will be the login component\n\n Scenario Outline: The hero unit supports single or dual column layouts\n Given a hero unit with prop \"columns\" having <columnValue>\n And it wraps <html>\n Then the hero unit displays <columnValue> columns\n Examples:\n | columnValue | html |\n | 1 | <h1>Column 1!</h1> |\n | 2 | <h1>Column 1!</h1><div slot=\"secondary-column\"><h1 style=\"text-align:center\">Column 2!</h1></div> |\n\n Scenario: HTML to be displayed in the second column comes from the \"secondary-column\" slot\n Given a hero unit with \"columns\" \"2\"\n And the following html\n \"\"\"\n <h1>Column 1!</h1>\n <div>\n <h1 style=\"text-align:center\">Column 2!</h1>\n </div>\n \"\"\"\n When the hero unit is rendered\n Then only one column is displayed with content\n And column 1 will contain the \"Column 1!\" text\n And column 1 will contain the \"Column 2!\" text\n When the div for column two is updated to have 'slot=\"secondary-column\"'\n Then the two columns are displayed with content\n And column 1 will contain the \"Column 1!\" text\n And column 2 will contain the \"Column 2!\" text\n\n Scenario Outline: A background for the hero unit can be set as an image or colour\n Given a hero unit with <backgroundPropValue>\n Then the background will be <background>\n Examples:\n | background | background |\n | https://images.unsplash.com/photo-1599676821464-3555954838dc | image of misty mountains |\n | LightSlateGrey | light slate grey |\n | #00FF00 | green |\n | rgb(128,0,128) | purple |\n\n Scenario Outline: Wrap Direction can be configured for mobile experiences\n Given a hero unit with the following HTML\n \"\"\"\n <h1>Column 1!</h1>\n <div slot=\"secondary-column\">\n <h1 style=\"text-align:center\">Column 2!</h1>\n </div>\n \"\"\"\n And prop \"wrap-direction\" has <value>\n When the window width is less than 600px\n Then the two columns will stack\n And <column> will be on top\n Examples:\n | value | column |\n | wrap | 1 |\n | wrap-reverse | 2 |\n | <null> | 1 |\n\n Scenario Outline: Minimum height can be customized\n Given the option \"Mininum Height (in px)\" is <value>\n Then the hero image minimum height is <effectiveValue>\n And the change is reflected in mobile view\n Examples:\n | value | effectiveValue |\n | unset (default value) | 200px |\n | 200px | 500px |";
|
|
9872
9886
|
|
|
9873
9887
|
const Hero_stories = {
|
|
9874
9888
|
title: "Components/Hero Layout",
|
|
@@ -9882,6 +9896,7 @@ const LoginOneColumn = () => {
|
|
|
9882
9896
|
columns: 1,
|
|
9883
9897
|
wrapDirection: "wrap",
|
|
9884
9898
|
paddingSize: "large",
|
|
9899
|
+
minHeight: 0,
|
|
9885
9900
|
},
|
|
9886
9901
|
content: {
|
|
9887
9902
|
primaryColumn: [
|
|
@@ -9893,12 +9908,17 @@ const LoginOneColumn = () => {
|
|
|
9893
9908
|
return (h("div", { style: { height: "800px" } },
|
|
9894
9909
|
h(HeroView, Object.assign({}, props))));
|
|
9895
9910
|
};
|
|
9911
|
+
const LoginOneColumnWithMinHeight = () => {
|
|
9912
|
+
return (h("sqm-hero", { background: "https://res.cloudinary.com/saasquatch/image/upload/v1683589933/Portal%20Assets/Screen-Shot-2022-01-06-at-3.23.58-AM.png", columns: 1, "padding-size": "medium", "wrap-direction": "wrap", "secondary-background": "#FFFFFF" },
|
|
9913
|
+
h("sqm-portal-login", null)));
|
|
9914
|
+
};
|
|
9896
9915
|
const LoginOneColumnWithColor = () => {
|
|
9897
9916
|
const props = {
|
|
9898
9917
|
states: {
|
|
9899
9918
|
columns: 1,
|
|
9900
9919
|
wrapDirection: "wrap",
|
|
9901
9920
|
paddingSize: "large",
|
|
9921
|
+
minHeight: 0,
|
|
9902
9922
|
background: "LightSlateGrey",
|
|
9903
9923
|
},
|
|
9904
9924
|
content: {
|
|
@@ -9914,6 +9934,7 @@ const LoginOneColumnWithImage = () => {
|
|
|
9914
9934
|
columns: 1,
|
|
9915
9935
|
wrapDirection: "wrap",
|
|
9916
9936
|
paddingSize: "large",
|
|
9937
|
+
minHeight: 0,
|
|
9917
9938
|
background: "https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80",
|
|
9918
9939
|
},
|
|
9919
9940
|
content: { primaryColumn: h("sqm-portal-login", null) },
|
|
@@ -9927,6 +9948,7 @@ const TwoColumnLoginLargePadding = () => {
|
|
|
9927
9948
|
columns: 2,
|
|
9928
9949
|
wrapDirection: "wrap",
|
|
9929
9950
|
paddingSize: "large",
|
|
9951
|
+
minHeight: 0,
|
|
9930
9952
|
background: "https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80",
|
|
9931
9953
|
secondaryBackground: "LightSlateGrey",
|
|
9932
9954
|
},
|
|
@@ -9946,6 +9968,7 @@ const TwoColumnLoginMediumPadding = () => {
|
|
|
9946
9968
|
columns: 2,
|
|
9947
9969
|
wrapDirection: "wrap",
|
|
9948
9970
|
paddingSize: "medium",
|
|
9971
|
+
minHeight: 0,
|
|
9949
9972
|
background: "https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80",
|
|
9950
9973
|
secondaryBackground: "LightSlateGrey",
|
|
9951
9974
|
},
|
|
@@ -9965,6 +9988,7 @@ const TwoColumnLoginSmallPadding = () => {
|
|
|
9965
9988
|
columns: 2,
|
|
9966
9989
|
wrapDirection: "wrap",
|
|
9967
9990
|
paddingSize: "small",
|
|
9991
|
+
minHeight: 0,
|
|
9968
9992
|
background: "https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80",
|
|
9969
9993
|
secondaryBackground: "LightSlateGrey",
|
|
9970
9994
|
},
|
|
@@ -9984,6 +10008,7 @@ const TwoColumnLoginNoPadding = () => {
|
|
|
9984
10008
|
columns: 2,
|
|
9985
10009
|
wrapDirection: "wrap",
|
|
9986
10010
|
paddingSize: "none",
|
|
10011
|
+
minHeight: 0,
|
|
9987
10012
|
background: "https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80",
|
|
9988
10013
|
secondaryBackground: "LightSlateGrey",
|
|
9989
10014
|
},
|
|
@@ -10004,6 +10029,7 @@ const TwoColumnLoginReverseWrap = () => {
|
|
|
10004
10029
|
wrapDirection: "wrap-reverse",
|
|
10005
10030
|
background: "LightSlateGrey",
|
|
10006
10031
|
paddingSize: "large",
|
|
10032
|
+
minHeight: 0,
|
|
10007
10033
|
secondaryBackground: "https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80",
|
|
10008
10034
|
},
|
|
10009
10035
|
content: {
|
|
@@ -10022,6 +10048,7 @@ const TwoColumnLoginWithImgElement = () => {
|
|
|
10022
10048
|
columns: 2,
|
|
10023
10049
|
wrapDirection: "wrap",
|
|
10024
10050
|
paddingSize: "large",
|
|
10051
|
+
minHeight: 0,
|
|
10025
10052
|
},
|
|
10026
10053
|
content: {
|
|
10027
10054
|
primaryColumn: (h("div", null,
|
|
@@ -10035,11 +10062,29 @@ const TwoColumnLoginWithImgElement = () => {
|
|
|
10035
10062
|
return (h("div", { style: { height: "800px" } },
|
|
10036
10063
|
h(HeroView, Object.assign({}, props))));
|
|
10037
10064
|
};
|
|
10065
|
+
const MinHeight = () => {
|
|
10066
|
+
const props = {
|
|
10067
|
+
states: {
|
|
10068
|
+
columns: 2,
|
|
10069
|
+
wrapDirection: "wrap",
|
|
10070
|
+
paddingSize: "large",
|
|
10071
|
+
minHeight: 600,
|
|
10072
|
+
background: "https://images.unsplash.com/photo-1487528278747-ba99ed528ebc?ixlib=rb-1.2.1&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=2070&q=80",
|
|
10073
|
+
},
|
|
10074
|
+
content: {
|
|
10075
|
+
secondaryColumn: (h("div", null,
|
|
10076
|
+
h("h1", { style: { textAlign: "center" } }, "Get Referring!"),
|
|
10077
|
+
h("sqm-portal-login", null))),
|
|
10078
|
+
},
|
|
10079
|
+
};
|
|
10080
|
+
return h(HeroView, Object.assign({}, props));
|
|
10081
|
+
};
|
|
10038
10082
|
|
|
10039
10083
|
const Hero = /*#__PURE__*/Object.freeze({
|
|
10040
10084
|
__proto__: null,
|
|
10041
10085
|
'default': Hero_stories,
|
|
10042
10086
|
LoginOneColumn: LoginOneColumn,
|
|
10087
|
+
LoginOneColumnWithMinHeight: LoginOneColumnWithMinHeight,
|
|
10043
10088
|
LoginOneColumnWithColor: LoginOneColumnWithColor,
|
|
10044
10089
|
LoginOneColumnWithImage: LoginOneColumnWithImage,
|
|
10045
10090
|
TwoColumnLoginLargePadding: TwoColumnLoginLargePadding,
|
|
@@ -10047,7 +10092,8 @@ const Hero = /*#__PURE__*/Object.freeze({
|
|
|
10047
10092
|
TwoColumnLoginSmallPadding: TwoColumnLoginSmallPadding,
|
|
10048
10093
|
TwoColumnLoginNoPadding: TwoColumnLoginNoPadding,
|
|
10049
10094
|
TwoColumnLoginReverseWrap: TwoColumnLoginReverseWrap,
|
|
10050
|
-
TwoColumnLoginWithImgElement: TwoColumnLoginWithImgElement
|
|
10095
|
+
TwoColumnLoginWithImgElement: TwoColumnLoginWithImgElement,
|
|
10096
|
+
MinHeight: MinHeight
|
|
10051
10097
|
});
|
|
10052
10098
|
|
|
10053
10099
|
const scenario$h = "@owner:sam\n@author:sam\n\nFeature: Referral Iframe\n\n Used to provide an external form for submitting referral leads using the current user's referral code\n\n Background: A user is logged in\n Given there is a logged in user\n\n @motivating\n Scenario: Referral code is passed to the iframe as a query parameter\n Given the \"iframe-src\" is \"https://example.com\"\n And the user has navigated to \"/refer\"\n And the user's referral code is \"BOBBYREFER\"\n When the iframe content is loaded\n Then the iframe url will be \"https://example.com?rsCode=BOBBYREFER\"\n\n @ui\n Scenario Outline: The height and width of the iFrame can be controlled via props\n Given the \"iframe-src\" is \"https://example.com\"\n And the iframe content is 1000x1000\n And the \"iframe-height\" is set to <heightValue>\n And the \"iframe-width\" is set to <widthValue>\n Then the content of the iframe will be displayed with scrollbars\n And the dimension of the iFrame displayed will be 500x500\n When the \"iframe-height\" is set to <heightValue>\n And the \"iframe-width\" is set to <widthValue>\n Then the full content of the iframe will be displayed on the page\n And the dimension of the iFrame displayed will be 1000x1000\n Examples:\n | heightValue | widthValue |\n | 500px | 500px |\n | 50% | 50% |\n\n @minutia\n Scenario Outline: The iFrame will fail fast if a iFrame source isn't provided\n Given \"iframe-src\" <mayBeAnAttribute>\n And it <mayHaveValue>\n When a user views the referral iFrame component\n Then an alert with an error message is displayed in place of the iFrame\n And it has a details section\n When \"More details\" is clicked\n Then the following information will be displayed\n | component being used |\n | missing attribute(s) |\n\n Examples:\n | mayBeAnAttribute | mayHaveValue |\n | is not an attribute | N/A |\n | is an attribute | \"\" |\n | is an attribute | |";
|
|
@@ -10175,7 +10221,12 @@ const defaultRegisterProps = {
|
|
|
10175
10221
|
refs: {
|
|
10176
10222
|
formRef: {},
|
|
10177
10223
|
},
|
|
10178
|
-
content: {
|
|
10224
|
+
content: {
|
|
10225
|
+
pageLabel: "Register",
|
|
10226
|
+
confirmPasswordLabel: "Confirm Password",
|
|
10227
|
+
requiredFieldErrorMessage: "Cannot be empty",
|
|
10228
|
+
invalidEmailErrorMessage: "Must be a valid email address",
|
|
10229
|
+
},
|
|
10179
10230
|
};
|
|
10180
10231
|
const Default$b = createHookStory(() => (h(CheckboxFieldView, Object.assign({}, defaultProps$a))));
|
|
10181
10232
|
const DefaultChecked = createHookStory(() => (h(CheckboxFieldView, Object.assign({}, defaultProps$a, { states: {
|
|
@@ -10465,7 +10516,12 @@ const defaultRegisterProps$1 = {
|
|
|
10465
10516
|
refs: {
|
|
10466
10517
|
formRef: {},
|
|
10467
10518
|
},
|
|
10468
|
-
content: {
|
|
10519
|
+
content: {
|
|
10520
|
+
pageLabel: "Register",
|
|
10521
|
+
confirmPasswordLabel: "Confirm Password",
|
|
10522
|
+
requiredFieldErrorMessage: "Cannot be empty",
|
|
10523
|
+
invalidEmailErrorMessage: "Must be a valid email address",
|
|
10524
|
+
},
|
|
10469
10525
|
};
|
|
10470
10526
|
const Default$d = () => h(InputFieldView, Object.assign({}, defaultProps$c));
|
|
10471
10527
|
const CustomLabel$2 = () => (h(InputFieldView, Object.assign({}, defaultProps$c, { content: { ...defaultProps$c.content, fieldLabel: "My Label" } })));
|
|
@@ -11096,7 +11152,7 @@ const CardFeed = /*#__PURE__*/Object.freeze({
|
|
|
11096
11152
|
CardFeedGeneric: CardFeedGeneric
|
|
11097
11153
|
});
|
|
11098
11154
|
|
|
11099
|
-
const scenario$q = "@author:kutay\n@owner:noah\nFeature: Portal Container\n\n\t@motivating\n\t@ui\n\tScenario: Horizontal content overflows, but does not stretch\n\t\tGiven there are two element in the container\n\t\tAnd the first is small\n\t\tAnd the second would stretch the container wider than it's parent\n\t\tThen the second one is clipped\n\t\tAnd the first one doesn't stretch\n\n\t@landmine\n\t@ui\n\tScenario: `max-width` is required for displaying as a row\n\t\tGiven I have `direction` to \"row\"\n\t\tAnd I have not set a `max-width`\n\t\tThen it displays as a column\n\n\t@motivating\n\t@ui\n\tScenario Outline: Content padding can be customized\n\t\tGiven prop \"padding\" has <value>\n\t\tThen <padding> is applied to content\n\n\t\tExamples:\n\t\t\t| value | padding |\n\t\t\t| none | no padding |\n\t\t\t| xxx-small | xxx-small |\n\t\t\t| xx-small | xx-small |\n\t\t\t| x-small | x-small |\n\t\t\t| small | small |\n\t\t\t| medium | medium |\n\t\t\t| large | large |\n\t\t\t| x-large | x-large |\n\t\t\t| xx-large | xx-large |\n\t\t\t| xxx-large | xxx-large |\n\t\t\t| xxxx-large | xxxx-large |\n\t\t\t| N/A | no padding |\n\n\n\t@motivating\n\t@ui\n\tScenario Outline: Gap between content elements can be customized\n\t\tGiven prop \"gap\" has <value>\n\t\tThen <gap> is applied to elements between content\n\n\t\tExamples:\n\t\t\t| value | gap |\n\t\t\t| none | no padding |\n\t\t\t| xxx-small | xxx-small |\n\t\t\t| xx-small | xx-small |\n\t\t\t| x-small | x-small |\n\t\t\t| small | small |\n\t\t\t| medium | medium |\n\t\t\t| large | large |\n\t\t\t| x-large | x-large |\n\t\t\t| xx-large | xx-large |\n\t\t\t| xxx-large | xxx-large |\n\t\t\t| xxxx-large | xxxx-large |\n\t\t\t| N/A | no padding |\n\n\t@minutia\n\t@ui\n\tScenario: Content can be center aligned in horizontal view\n\t\tGiven I have supplied the prop \"center\"\n\t\tThen the content is center aligned\n\n\t@minutia\n\t@ui\n\tScenario: Content in the last row can span full width with display in horizontal view\n\t\tGiven I have `display` to \"flex\"\n\t\tThen the content is full width on the last row\n\n\t@motivating\n\t@ui\n\tScenario Outline: Content can be aligned along the x-axis
|
|
11155
|
+
const scenario$q = "@author:kutay\n@owner:noah\nFeature: Portal Container\n\n\t@motivating\n\t@ui\n\tScenario: Horizontal content overflows, but does not stretch\n\t\tGiven there are two element in the container\n\t\tAnd the first is small\n\t\tAnd the second would stretch the container wider than it's parent\n\t\tThen the second one is clipped\n\t\tAnd the first one doesn't stretch\n\n\t@landmine\n\t@ui\n\tScenario: `max-width` is required for displaying as a row\n\t\tGiven I have `direction` to \"row\"\n\t\tAnd I have not set a `max-width`\n\t\tThen it displays as a column\n\n\t@motivating\n\t@ui\n\tScenario Outline: Content padding can be customized\n\t\tGiven prop \"padding\" has <value>\n\t\tThen <padding> is applied to content\n\n\t\tExamples:\n\t\t\t| value | padding |\n\t\t\t| none | no padding |\n\t\t\t| xxx-small | xxx-small |\n\t\t\t| xx-small | xx-small |\n\t\t\t| x-small | x-small |\n\t\t\t| small | small |\n\t\t\t| medium | medium |\n\t\t\t| large | large |\n\t\t\t| x-large | x-large |\n\t\t\t| xx-large | xx-large |\n\t\t\t| xxx-large | xxx-large |\n\t\t\t| xxxx-large | xxxx-large |\n\t\t\t| N/A | no padding |\n\n\n\t@motivating\n\t@ui\n\tScenario Outline: Gap between content elements can be customized\n\t\tGiven prop \"gap\" has <value>\n\t\tThen <gap> is applied to elements between content\n\n\t\tExamples:\n\t\t\t| value | gap |\n\t\t\t| none | no padding |\n\t\t\t| xxx-small | xxx-small |\n\t\t\t| xx-small | xx-small |\n\t\t\t| x-small | x-small |\n\t\t\t| small | small |\n\t\t\t| medium | medium |\n\t\t\t| large | large |\n\t\t\t| x-large | x-large |\n\t\t\t| xx-large | xx-large |\n\t\t\t| xxx-large | xxx-large |\n\t\t\t| xxxx-large | xxxx-large |\n\t\t\t| N/A | no padding |\n\n\t@minutia\n\t@ui\n\tScenario: Content can be center aligned in horizontal view\n\t\tGiven I have supplied the prop \"center\"\n\t\tThen the content is center aligned\n\n\t@minutia\n\t@ui\n\tScenario: Content in the last row can span full width with display in horizontal view\n\t\tGiven I have `display` to \"flex\"\n\t\tThen the content is full width on the last row\n\n\t@motivating\n\t@ui\n\tScenario Outline: Content can be aligned along the x-axis\n\t\tGiven prop \"justify-content\" has <value>\n\t\tThen content within the container is aligned <alignment>\n\n\t\tExamples:\n\t\t\t| value | alignment |\n\t\t\t| none | no alignment |\n\t\t\t| start | to the start |\n\t\t\t| center | to the center |\n\t\t\t| end | to the end |\n\t\t\t| space-between | with space between |\n\t\t\t| space-around | with space around |\n\t\t\t| space-evenly | with space evenly |\n\n\n\t@motivating\n\t@ui\n\tScenario Outline: Component background color can be customized\n\t\tGiven a user is viewing the Portal Container component\n\t\tThen the default value is \"#ffffff00\"\n\t\tWhen the prop \"background-color\" has <value>\n\t\tThen the background has color <backgroundColor>\n\t\tExamples:\n\t\t\t| value | backgroundColor |\n\t\t\t| empty (default value) | var(--sl-color-neutral-0) (#ffffff) |\n\t\t\t| aquamarine | #7fffd4 |\n";
|
|
11100
11156
|
|
|
11101
11157
|
const PortalContainer_stories = {
|
|
11102
11158
|
title: "Components/Portal Container",
|
|
@@ -11215,6 +11271,18 @@ const End = () => {
|
|
|
11215
11271
|
h("p", null, "Points Balance")))),
|
|
11216
11272
|
h("sqm-scroll", { "scroll-id": "tab-2", outline: true, "button-type": "primary", "button-text": "Redeem your rewards", mobile: true }))));
|
|
11217
11273
|
};
|
|
11274
|
+
const BackgroundColor = () => {
|
|
11275
|
+
return (h("div", { style: { width: "1000px", border: "1px dashed grey" } },
|
|
11276
|
+
h("sqm-portal-container", { center: true, direction: "row", display: "flex", "justify-content": "start", "background-color": "red" },
|
|
11277
|
+
h("sqm-stat-container", { space: "xxx-large", display: "flex" },
|
|
11278
|
+
h("sqm-big-stat", { "flex-reverse": "true", alignment: "left", "stat-type": "/rewardsRedeemed/CREDIT/global" },
|
|
11279
|
+
h("sqm-text", null,
|
|
11280
|
+
h("p", null, "Rewards Redeemed"))),
|
|
11281
|
+
h("sqm-big-stat", { "flex-reverse": "true", alignment: "left", "stat-type": "/rewardBalance/CREDIT/POINT/value/global" },
|
|
11282
|
+
h("sqm-text", null,
|
|
11283
|
+
h("p", null, "Points Balance")))),
|
|
11284
|
+
h("sqm-scroll", { "scroll-id": "tab-2", outline: true, "button-type": "primary", "button-text": "Redeem your rewards", mobile: true }))));
|
|
11285
|
+
};
|
|
11218
11286
|
|
|
11219
11287
|
const PortalContainer = /*#__PURE__*/Object.freeze({
|
|
11220
11288
|
__proto__: null,
|
|
@@ -11232,7 +11300,8 @@ const PortalContainer = /*#__PURE__*/Object.freeze({
|
|
|
11232
11300
|
SpaceEvenly: SpaceEvenly,
|
|
11233
11301
|
Start: Start$1,
|
|
11234
11302
|
Center: Center,
|
|
11235
|
-
End: End
|
|
11303
|
+
End: End,
|
|
11304
|
+
BackgroundColor: BackgroundColor
|
|
11236
11305
|
});
|
|
11237
11306
|
|
|
11238
11307
|
const scenario1 = "@author:derek\n@owner:derek\nFeature: Reward Table Date Column\n\n Shows the date of each reward\n\n Background:\n Given the date column is included in the reward table\n\n @motivating\n @ui\n Scenario Outline: The title of the date column is configurable\n Given the \"column-title\" prop is set to <value>\n Then the date column is shown with <columnTitle>\n Examples:\n | value | columnTitle |\n | Date received | |\n | My column title | My column title |\n\n @motivating\n Scenario Outline: A configurable date associated with the reward is shown for each reward\n Given the \"date-shown\" prop is set to <dateType>\n And a user with rewards\n When they view the date column\n Then for each reward the <rewardDate> is shown in the table\n And the date is localized to the users locale\n Examples:\n | dateType | rewardDate |\n | dateGiven | date given |\n | dateExpires | date expires |\n | dateCancelled | date cancelled |\n | dateRedeemed | date redeemed |\n | dateScheduledFor | date scheduled for |\n | | date given |";
|
|
@@ -11872,7 +11941,7 @@ const HeroImage = /*#__PURE__*/Object.freeze({
|
|
|
11872
11941
|
ColumnsCustomColors: ColumnsCustomColors
|
|
11873
11942
|
});
|
|
11874
11943
|
|
|
11875
|
-
const scenario$u = "@author:kutay\n@owner:kutay\nFeature: Referral Card\n\n\tThe Referral Card component takes in two slots and displays them side by side.\n\n\tBackground: A user on the portal is viewing the widget\n\t\tGiven a user viewing the Referral Card component\n\n\t@motivating\n\t@ui\n\tScenario: Referral Card component displays provided content in left and right slots side by side\n\t\tGiven a Referral Card component\n\t\tAnd a slot with the name \"left\"\n\t\tAnd a slot with the name \"right\"\n\t\tWhen the user views the referral card\n\t\tThen the slot contents are displayed the card with equal width\n\t\tWhen the component is scaled down to 499px\n\t\tThen the column layout switches to row layout\n\t\tAnd the \"left\" slot content is displayed above the \"right\" slot content\n\n\t@motivating\n\t@ui\n\tScenario Outline: Referral Card component content can be vertically aligned start, center, end\n\t\tGiven a Referral Card component\n\t\tAnd a slot with the name \"left\"\n\t\tAnd a slot with the name \"right\"\n\t\tAnd the prop \"vertical-alignment\" has <value>\n\t\tThen slots contents are displayed inside the card\n\t\tAnd slots are vertically aligned to <alignment> of the card\n\t\tExamples:\n\t\t\t| value | alignment |\n\t\t\t| start | the top |\n\t\t\t| center | the center |\n\t\t\t| end | the bottom |\n\t\t\t| N/A | the top |\n\n";
|
|
11944
|
+
const scenario$u = "@author:kutay\n@owner:kutay\nFeature: Referral Card\n\n\tThe Referral Card component takes in two slots and displays them side by side.\n\n\tBackground: A user on the portal is viewing the widget\n\t\tGiven a user viewing the Referral Card component\n\n\t@motivating\n\t@ui\n\tScenario: Referral Card component displays provided content in left and right slots side by side\n\t\tGiven a Referral Card component\n\t\tAnd a slot with the name \"left\"\n\t\tAnd a slot with the name \"right\"\n\t\tWhen the user views the referral card\n\t\tThen the slot contents are displayed the card with equal width\n\t\tWhen the component is scaled down to 499px\n\t\tThen the column layout switches to row layout\n\t\tAnd the \"left\" slot content is displayed above the \"right\" slot content\n\n\t@minutia\n\t@ui\n\tScenario: Left or right column content spans the whole card if there is no content in the other column\n\t\tGiven a Referral Card component\n\t\tAnd there content in one column\n\t\tAnd there is no content in the other column\n\t\tThen the column with content spans 100% of the card width\n\t\tAnd the column with content respects the container's padding\n\t\tAnd the column without content has zero width\n\n\t@motivating\n\t@ui\n\tScenario Outline: Referral Card component content can be vertically aligned start, center, end\n\t\tGiven a Referral Card component\n\t\tAnd a slot with the name \"left\"\n\t\tAnd a slot with the name \"right\"\n\t\tAnd the prop \"vertical-alignment\" has <value>\n\t\tThen slots contents are displayed inside the card\n\t\tAnd slots are vertically aligned to <alignment> of the card\n\t\tExamples:\n\t\t\t| value | alignment |\n\t\t\t| start | the top |\n\t\t\t| center | the center |\n\t\t\t| end | the bottom |\n\t\t\t| N/A | the top |\n\n\t@ui\n\tScenario Outline: Container border can be toggled\n\t\tGiven a user is viewing the referral card component\n\t\tThen the default value for the prop \"include-border\" is \"true\"\n\t\tWhen \"include-border\" has <value>\n\t\tThen the referral card component's border <maybe> included\n\t\tExamples:\n\t\t\t| value | maybe |\n\t\t\t| true | is |\n\t\t\t| false | isn't |\n\t\t\t| empty (no value) | is |\n\n\t@motivating\n\t@ui\n\tScenario Outline: Component background color can be customized\n\t\tGiven a user is viewing the Referral Card component\n\t\tThen the default value is \"#ffffff\"\n\t\tWhen the prop \"background-color\" has <value>\n\t\tThen the background has color <backgroundColor>\n\t\tExamples:\n\t\t\t| value | backgroundColor |\n\t\t\t| empty (default value) | var(--sl-color-neutral-0) (#ffffff) |\n\t\t\t| aquamarine | #7fffd4 |\n\n\t@motivating\n\t@ui\n\tScenario Outline: Container padding can be customized\n\t\tGiven a user is looking at the component\n\t\tThen the default values for \"padding-top\", \"padding-bottom\", \"padding-left\", \"padding-right\" is \"large\"\n\t\tWhen prop \"padding-top\" has <value>\n\t\tThen <padding> is applied to content\n\t\tAnd the same applies to \"padding-bottom\", \"padding-left\", \"padding-right\"\n\n\t\tExamples:\n\t\t\t| value | padding |\n\t\t\t| none | no padding |\n\t\t\t| xxx-small | xxx-small |\n\t\t\t| xx-small | xx-small |\n\t\t\t| x-small | x-small |\n\t\t\t| small | small |\n\t\t\t| medium | medium |\n\t\t\t| large | large |\n\t\t\t| x-large | x-large |\n\t\t\t| xx-large | xx-large |\n\t\t\t| xxx-large | xxx-large |\n\t\t\t| xxxx-large | xxxx-large |\n\t\t\t| N/A | no padding |";
|
|
11876
11945
|
|
|
11877
11946
|
const ReferralCard_stories = {
|
|
11878
11947
|
title: "Components/Referral Card",
|
|
@@ -11907,6 +11976,11 @@ const ImageAndShareButtons = () => {
|
|
|
11907
11976
|
media("left"),
|
|
11908
11977
|
sharebutton("right")));
|
|
11909
11978
|
};
|
|
11979
|
+
const LimitWidth = () => {
|
|
11980
|
+
return (h("sqm-referral-card", { limitWidth: true },
|
|
11981
|
+
media("left"),
|
|
11982
|
+
sharebutton("right")));
|
|
11983
|
+
};
|
|
11910
11984
|
const TimelineAndShareButtons = () => {
|
|
11911
11985
|
return (h("sqm-referral-card", null,
|
|
11912
11986
|
timeline("left", 3),
|
|
@@ -11932,6 +12006,12 @@ const FlippedSlots = () => {
|
|
|
11932
12006
|
timeline("right", 3),
|
|
11933
12007
|
sharebutton("left")));
|
|
11934
12008
|
};
|
|
12009
|
+
const NoLeft = () => {
|
|
12010
|
+
return h("sqm-referral-card", null, timeline("right", 3));
|
|
12011
|
+
};
|
|
12012
|
+
const NoRight = () => {
|
|
12013
|
+
return h("sqm-referral-card", null, sharebutton("left"));
|
|
12014
|
+
};
|
|
11935
12015
|
const WithHeader = () => {
|
|
11936
12016
|
return (h("sqm-referral-card", null,
|
|
11937
12017
|
h("h3", { slot: "header" }, "Header slot content"),
|
|
@@ -11944,6 +12024,18 @@ const WithFooter = () => {
|
|
|
11944
12024
|
sharebutton("left"),
|
|
11945
12025
|
h("sqm-portal-footer", { slot: "footer" })));
|
|
11946
12026
|
};
|
|
12027
|
+
const NoBorder = () => {
|
|
12028
|
+
return (h("sqm-referral-card", { "hide-border": "true" },
|
|
12029
|
+
timeline("right", 3),
|
|
12030
|
+
sharebutton("left"),
|
|
12031
|
+
h("sqm-portal-footer", { slot: "footer" })));
|
|
12032
|
+
};
|
|
12033
|
+
const BackgroundColor$1 = () => {
|
|
12034
|
+
return (h("sqm-referral-card", { "background-color": "aquamarine" },
|
|
12035
|
+
timeline("right", 3),
|
|
12036
|
+
sharebutton("left"),
|
|
12037
|
+
h("sqm-portal-footer", { slot: "footer" })));
|
|
12038
|
+
};
|
|
11947
12039
|
const ReferralCardGeneric = () => {
|
|
11948
12040
|
return (h("sqm-referral-card", { "vertical-alignment": "center" },
|
|
11949
12041
|
h("sqm-portal-container", { slot: "left", gap: "x-small" },
|
|
@@ -11968,13 +12060,18 @@ const ReferralCard = /*#__PURE__*/Object.freeze({
|
|
|
11968
12060
|
__proto__: null,
|
|
11969
12061
|
'default': ReferralCard_stories,
|
|
11970
12062
|
ImageAndShareButtons: ImageAndShareButtons,
|
|
12063
|
+
LimitWidth: LimitWidth,
|
|
11971
12064
|
TimelineAndShareButtons: TimelineAndShareButtons,
|
|
11972
12065
|
StartAlignment: StartAlignment,
|
|
11973
12066
|
CenterAlignment: CenterAlignment,
|
|
11974
12067
|
EndAlignment: EndAlignment,
|
|
11975
12068
|
FlippedSlots: FlippedSlots,
|
|
12069
|
+
NoLeft: NoLeft,
|
|
12070
|
+
NoRight: NoRight,
|
|
11976
12071
|
WithHeader: WithHeader,
|
|
11977
12072
|
WithFooter: WithFooter,
|
|
12073
|
+
NoBorder: NoBorder,
|
|
12074
|
+
BackgroundColor: BackgroundColor$1,
|
|
11978
12075
|
ReferralCardGeneric: ReferralCardGeneric
|
|
11979
12076
|
});
|
|
11980
12077
|
|
|
@@ -13003,7 +13100,7 @@ const Tabs = /*#__PURE__*/Object.freeze({
|
|
|
13003
13100
|
RightTabs: RightTabs
|
|
13004
13101
|
});
|
|
13005
13102
|
|
|
13006
|
-
const scenario$z = "@author:johan\n@owner:johan\nFeature: Share Code\n\n The share code component is a box that allows users to see and copy their referral code for a given program\n
|
|
13103
|
+
const scenario$z = "@author:johan\n@owner:johan\nFeature: Share Code\n\n The share code component is a box that allows users to see and copy their referral code for a given program\n\n Background: Environment\n Given there is a valid program ID in the environment\n And there is a valid user ID and account ID in the environment\n\n @motivating\n Scenario: A Users referral code can be copied to their clipboard\n Given tooltiptext is \"hello tooltip\"\n When the component renders\n Then there is a textbox with the user's share code\n When the clipboard icon is clicked\n Then the code is copied to clipboard\n And a tooltip will appear for ~1 second\n\n @minutia\n Scenario: Tooltip lifespan defaults to 2000\n Given the tooltip's lifespan is set to 2000\n And there is tooltip text\n When the component renders\n And the clipboard icon is clicked\n Then a tooltip will appear for ~2 seconds\n\n @minutia\n Scenario: Demo\n Given isDemo() returns true\n Then the share code is \"SHARECODE001\"\n And the component won't be interactive\n And the tooltip is hidden\n\n @minutia\n Scenario: Program ID can be sourced from prop\n Given the programId prop is set to \"program-a\"\n And window.widgetIdent.programId is set to \"program-b\"\n When the component renders\n Then the share code is for \"program-a\"\n\n @minutia\n Scenario: Program ID can be sourced from window\n Given the programId prop is unset\n And window.widgetIdent.programId is set to \"program-b\"\n When the component renders\n Then the share code is for \"program-b\"\n\n @minutia\n Scenario: An analytic event is fired when a user copies their code\n Given a user viewing the share code component\n And the component is rendered for \"program-a\"\n When they click to copy their code\n Then an \"USER_REFERRAL_PROGRAM_ENGAGEMENT_EVENT\" analytic event is fired\n And it is for \"program-a\"\n And it has share medium \"DIRECT\"\n\n\n @ui\n Scenario Outline: user can edit the alignment of the share code text\n Given a user is editing the share code component\n Then they see \"Align text\" props\n And the default value is \"left\"\n When they change the option to <option>\n Then they see the text in <position>\n Examples:\n | option | position |\n | left | left |\n | center | center |\n | right | right |\n\n @ui\n Scenario Outline: The position of the copy button can be changed\n Given a user is editing the share code component\n Then they see \"Style\" props\n And the default value is \"icon\"\n When they change the option to <option>\n Then they see the copy button in <position>\n Examples:\n | option | position |\n | button outside | outside the input, on the right |\n | button below | outside the input, below |\n | icon | inside the input as an icon |\n";
|
|
13007
13104
|
|
|
13008
13105
|
const ShareCode_stories = {
|
|
13009
13106
|
title: "Components/Share Code",
|
|
@@ -13020,6 +13117,9 @@ const CustomTooltipText = () => {
|
|
|
13020
13117
|
const TextAlignCenter$1 = () => {
|
|
13021
13118
|
return h("sqm-share-code", { textAlign: "center" });
|
|
13022
13119
|
};
|
|
13120
|
+
const TextAlignRight$1 = () => {
|
|
13121
|
+
return h("sqm-share-code", { textAlign: "right" });
|
|
13122
|
+
};
|
|
13023
13123
|
const CustomTooltipDuration = () => {
|
|
13024
13124
|
return (h("sqm-share-code", { tooltiplifespan: 5000, tooltiptext: "CUSTOM TOOLTIP TEXT" }));
|
|
13025
13125
|
};
|
|
@@ -13031,20 +13131,12 @@ const CopyButton$1 = () => {
|
|
|
13031
13131
|
isCopyIcon: false,
|
|
13032
13132
|
})));
|
|
13033
13133
|
};
|
|
13034
|
-
const CopyButtonInside$1 = () => {
|
|
13035
|
-
return (h(CopyTextView, Object.assign({}, {
|
|
13036
|
-
copyString: "https://noah.example.com",
|
|
13037
|
-
open: false,
|
|
13038
|
-
tooltiptext: "Copied!",
|
|
13039
|
-
buttonStyle: "button inside",
|
|
13040
|
-
})));
|
|
13041
|
-
};
|
|
13042
13134
|
const CopyButtonBelow$1 = () => {
|
|
13043
13135
|
return (h(CopyTextView, Object.assign({}, {
|
|
13044
13136
|
copyString: "https://noah.example.com",
|
|
13045
13137
|
open: false,
|
|
13046
13138
|
tooltiptext: "Copied!",
|
|
13047
|
-
buttonStyle: "button
|
|
13139
|
+
buttonStyle: "button-below",
|
|
13048
13140
|
})));
|
|
13049
13141
|
};
|
|
13050
13142
|
const Error$7 = () => {
|
|
@@ -13064,9 +13156,9 @@ const ShareCode$1 = /*#__PURE__*/Object.freeze({
|
|
|
13064
13156
|
ShareCode: ShareCode,
|
|
13065
13157
|
CustomTooltipText: CustomTooltipText,
|
|
13066
13158
|
TextAlignCenter: TextAlignCenter$1,
|
|
13159
|
+
TextAlignRight: TextAlignRight$1,
|
|
13067
13160
|
CustomTooltipDuration: CustomTooltipDuration,
|
|
13068
13161
|
CopyButton: CopyButton$1,
|
|
13069
|
-
CopyButtonInside: CopyButtonInside$1,
|
|
13070
13162
|
CopyButtonBelow: CopyButtonBelow$1,
|
|
13071
13163
|
Error: Error$7
|
|
13072
13164
|
});
|
|
@@ -13086,20 +13178,45 @@ const defaultProps$d = {
|
|
|
13086
13178
|
callbacks: {
|
|
13087
13179
|
submit: async (e) => await e,
|
|
13088
13180
|
},
|
|
13089
|
-
content: {
|
|
13181
|
+
content: {
|
|
13182
|
+
invalidEmailErrorMessage: "Must be a valid email address",
|
|
13183
|
+
requiredFieldErrorMessage: "Cannot be empty",
|
|
13184
|
+
paddingTop: "large",
|
|
13185
|
+
paddingRight: "large",
|
|
13186
|
+
paddingBottom: "large",
|
|
13187
|
+
paddingLeft: "large",
|
|
13188
|
+
},
|
|
13090
13189
|
};
|
|
13091
13190
|
const Default$e = () => h(EmailRegistrationView, Object.assign({}, defaultProps$d));
|
|
13092
|
-
const HasFirstNameLastName = () => (h(EmailRegistrationView, Object.assign({},
|
|
13191
|
+
const HasFirstNameLastName = () => (h(EmailRegistrationView, Object.assign({}, {
|
|
13192
|
+
...defaultProps$d,
|
|
13093
13193
|
content: {
|
|
13194
|
+
...defaultProps$d.content,
|
|
13094
13195
|
includeName: true,
|
|
13095
13196
|
},
|
|
13096
13197
|
})));
|
|
13097
|
-
const WithSlots = () => (h(EmailRegistrationView, Object.assign({},
|
|
13198
|
+
const WithSlots = () => (h(EmailRegistrationView, Object.assign({}, {
|
|
13199
|
+
...defaultProps$d,
|
|
13098
13200
|
content: {
|
|
13201
|
+
...defaultProps$d.content,
|
|
13099
13202
|
topSlot: h("div", null, "Hello this is the top slot"),
|
|
13100
13203
|
bottomSlot: h("div", null, "Hello this is the bottom slot"),
|
|
13101
13204
|
},
|
|
13102
13205
|
})));
|
|
13206
|
+
const NoBorder$1 = () => (h(EmailRegistrationView, Object.assign({}, {
|
|
13207
|
+
...defaultProps$d,
|
|
13208
|
+
content: {
|
|
13209
|
+
...defaultProps$d.content,
|
|
13210
|
+
hideBorder: true,
|
|
13211
|
+
},
|
|
13212
|
+
})));
|
|
13213
|
+
const BackgroundColor$2 = () => (h(EmailRegistrationView, Object.assign({}, {
|
|
13214
|
+
...defaultProps$d,
|
|
13215
|
+
content: {
|
|
13216
|
+
...defaultProps$d.content,
|
|
13217
|
+
backgroundColor: "aquamarine",
|
|
13218
|
+
},
|
|
13219
|
+
})));
|
|
13103
13220
|
const Loading$4 = () => (h(EmailRegistrationView, Object.assign({}, {
|
|
13104
13221
|
...defaultProps$d,
|
|
13105
13222
|
states: {
|
|
@@ -13114,6 +13231,16 @@ const Error$8 = () => (h(EmailRegistrationView, Object.assign({}, {
|
|
|
13114
13231
|
loading: false,
|
|
13115
13232
|
},
|
|
13116
13233
|
})));
|
|
13234
|
+
const EmptyEmailError = () => (h(EmailRegistrationView, Object.assign({}, {
|
|
13235
|
+
...defaultProps$d,
|
|
13236
|
+
states: {
|
|
13237
|
+
error: "Something went wrong. Please try again.",
|
|
13238
|
+
loading: false,
|
|
13239
|
+
registrationFormState: {
|
|
13240
|
+
validationErrors: { email: "Email cannot be empty" },
|
|
13241
|
+
},
|
|
13242
|
+
},
|
|
13243
|
+
})));
|
|
13117
13244
|
|
|
13118
13245
|
const EmailRegistration = /*#__PURE__*/Object.freeze({
|
|
13119
13246
|
__proto__: null,
|
|
@@ -13121,14 +13248,19 @@ const EmailRegistration = /*#__PURE__*/Object.freeze({
|
|
|
13121
13248
|
Default: Default$e,
|
|
13122
13249
|
HasFirstNameLastName: HasFirstNameLastName,
|
|
13123
13250
|
WithSlots: WithSlots,
|
|
13251
|
+
NoBorder: NoBorder$1,
|
|
13252
|
+
BackgroundColor: BackgroundColor$2,
|
|
13124
13253
|
Loading: Loading$4,
|
|
13125
|
-
Error: Error$8
|
|
13254
|
+
Error: Error$8,
|
|
13255
|
+
EmptyEmailError: EmptyEmailError
|
|
13126
13256
|
});
|
|
13127
13257
|
|
|
13258
|
+
const scenario$A = "@author:truman\n@owner:truman\nFeature: Coupon Code\n\n The coupon code component is a box that allows users to see and copy their coupon code for a given program\n\n @motivating\n Scenario: Component only fetches codes from current program\n Given a user has multiple rewards from various programs\n When the component is loaded\n Then it fetches the user's rewards from only the program associated with the widget\n\n @motivating\n Scenario: Component only looks at fueltank rewards\n Given a user has multiple rewards of different types\n When the component is loaded\n Then it filters the user's reward to only return FUELTANK rewards\n\n\n @motivating\n Scenario: The first (i.e. most recently received) reward is the reward that is displayed\n Given a user has at least one fueltank reward\n And the fueltank reward is available\n Then the coupon code component shows the first reward returned\n And this reward is the most recently received reward by the user\n\n @motivating\n Scenario Outline: Coupon code has multiple states depending on reward status\n Given a user has at least one fueltank reward\n And the reward has most recent status <status>\n And the dateScheduledFor field is <dateScheduledFor>\n Then the component's status is set to <componentStatus>\n And the <errorMessageTextProp> is displayed under the input field\n\n Examples:\n | status | dateScheduledFor | componentStatus | errorMessageTextProp |\n | AVAILABLE | null | AVAILABLE | N/A |\n | EXPIRED | null | EXPIRED | expiredErrorMessage |\n | REDEEMED | null | REDEEMED | redeemedMessage |\n | CANCELLED | null | CANCELLED | cancelledErrorMessage |\n | PENDING | null | EMPTY_TANK | fullfillmentErrorMessage |\n | PENDING | 123412341234 | PENDING | pendingErrorMessage |\n | null | null | ERROR | genericErrorMessage |\n\n Scenario Outline: Coupon code's error message text props are grouped\n Given an end user is viewing the coupon code component in the widget editor\n And they are looking at the component's properties\n Then they see <prop>\n And <prop> is grouped under \"Coupon code error\"\n Examples:\n | prop |\n | N/A |\n | expiredErrorMessage |\n | redeemedMessage |\n | cancelledErrorMessage |\n | fullfillmentErrorMessage |\n | pendingErrorMessage |\n | genericErrorMessage |\n\n @minutia\n Scenario: Tooltip lifespan defaults to 2000\n Given the tooltip's lifespan is set to 2000\n And there is tooltip text\n When the component renders\n And the clipboard icon is clicked\n Then a tooltip appears for ~2 seconds\n\n @ui\n Scenario: Component shows an error state when there is an error\n Given a user is viewing the coupon code component\n When there is an error in the coupon code\n Then in place of the coupon code is an alert banner\n And the alert banner gives information about the error to the user\n\n @ui\n Scenario: Component shows an loading state\n Given a user is viewing the coupon code component\n When the coupon code is loading in\n Then the text inside the input is \"Loading...\"\n And the coupon code input box has a gray background\n And the cursor is set to \"default\"\n And the user cannot copy the text\n\n @ui\n Scenario Outline: User can edit the alignment of the coupon code text\n Given a user is editing the coupon code component\n Then they see \"Align text\" props\n And the default value is \"left\"\n When they change the option to <option>\n Then they see the text in <position>\n Examples:\n | option | position |\n | left | left |\n | center | center |\n | right | right |\n\n @ui\n Scenario Outline: The position of the copy button can be changed\n Given a user is editing the coupon code component\n Then they see \"Style\" props\n And the default value is \"icon\"\n When they change the option to <option>\n Then they see the copy button in <position>\n Examples:\n | option | position |\n | button outside | outside the input, on the right |\n | button below | outside the input, below |\n | icon | inside the input as an icon |\n\n @minutia\n Scenario: ICU string converts to a date\n Given a user is viewing a live coupon code code component\n And the \"pendingErrorText\" has the \"{unpendDate}\" ICU string\n And the program is configured for rewards to be pending\n Then the user will see an info alert banner\n And the ICU string is converted to the unpend date\n";
|
|
13259
|
+
|
|
13128
13260
|
const CouponCode_stories = {
|
|
13129
13261
|
title: "Components/Coupon Code",
|
|
13130
13262
|
parameters: {
|
|
13131
|
-
|
|
13263
|
+
scenario: scenario$A,
|
|
13132
13264
|
},
|
|
13133
13265
|
};
|
|
13134
13266
|
const defaultProps$e = {
|
|
@@ -13136,7 +13268,9 @@ const defaultProps$e = {
|
|
|
13136
13268
|
copyString: "THANKSJANE125uv125",
|
|
13137
13269
|
open: false,
|
|
13138
13270
|
copyButtonLabel: "Copy Coupon",
|
|
13139
|
-
|
|
13271
|
+
inputPlaceholderText: "CODE ERROR",
|
|
13272
|
+
couponCodeLabel: "Your coupon code:",
|
|
13273
|
+
error: false,
|
|
13140
13274
|
};
|
|
13141
13275
|
const CouponCode = () => {
|
|
13142
13276
|
return h("sqm-coupon-code", { tooltiptext: "Copied to Clipboard" });
|
|
@@ -13150,20 +13284,47 @@ const CustomTooltipDuration$1 = () => {
|
|
|
13150
13284
|
const TextAlignCenter$2 = () => {
|
|
13151
13285
|
return h("sqm-coupon-code", { textAlign: "center" });
|
|
13152
13286
|
};
|
|
13287
|
+
const TextAlignRight$2 = () => {
|
|
13288
|
+
return h("sqm-coupon-code", { textAlign: "right" });
|
|
13289
|
+
};
|
|
13153
13290
|
const CopyButton$2 = () => {
|
|
13154
|
-
return h("sqm-coupon-code", { buttonStyle: "button
|
|
13291
|
+
return (h("sqm-coupon-code", Object.assign({}, defaultProps$e, { buttonStyle: "button-outside" })));
|
|
13155
13292
|
};
|
|
13156
|
-
const
|
|
13157
|
-
return (h(
|
|
13293
|
+
const CopyButtonCustomLabel = () => {
|
|
13294
|
+
return (h("sqm-coupon-code", Object.assign({}, defaultProps$e, { buttonStyle: "button-outside", "copy-button-label": "test long custom label" })));
|
|
13158
13295
|
};
|
|
13159
13296
|
const CopyButtonBelow$2 = () => {
|
|
13160
|
-
return (h(
|
|
13297
|
+
return (h("sqm-coupon-code", Object.assign({}, defaultProps$e, { buttonStyle: "button-below" })));
|
|
13298
|
+
};
|
|
13299
|
+
const CopyButtonBelowCustomLabel = () => {
|
|
13300
|
+
return (h("sqm-coupon-code", Object.assign({}, defaultProps$e, { buttonStyle: "button-below", "copy-button-label": "test long custom label" })));
|
|
13161
13301
|
};
|
|
13162
|
-
const
|
|
13163
|
-
return h(
|
|
13302
|
+
const Loading$5 = () => {
|
|
13303
|
+
return h(CouponCodeView, Object.assign({}, defaultProps$e, { loading: true }));
|
|
13164
13304
|
};
|
|
13165
|
-
const
|
|
13166
|
-
return (h(
|
|
13305
|
+
const CopyButtonLoading = () => {
|
|
13306
|
+
return (h(CouponCodeView, Object.assign({}, defaultProps$e, { buttonStyle: "button-outside", loading: true })));
|
|
13307
|
+
};
|
|
13308
|
+
const CopyButtonBelowLoading = () => {
|
|
13309
|
+
return (h(CouponCodeView, Object.assign({}, defaultProps$e, { buttonStyle: "button-below", loading: true })));
|
|
13310
|
+
};
|
|
13311
|
+
const ErrorGeneric = () => {
|
|
13312
|
+
return (h(CouponCodeView, Object.assign({}, defaultProps$e, { errorType: "warning", error: true, errorText: "We couldn't fetch your code. Please try again later or reach out to the Support team for help resolving this issue." })));
|
|
13313
|
+
};
|
|
13314
|
+
const ErrorPending = () => {
|
|
13315
|
+
return (h(CouponCodeView, Object.assign({}, defaultProps$e, { errorType: "info", error: true, errorText: "Your code will be available on April 24, 2023. Mark your calendar and come back then to redeem your reward!" })));
|
|
13316
|
+
};
|
|
13317
|
+
const ErrorFullfillment = () => {
|
|
13318
|
+
return (h(CouponCodeView, Object.assign({}, defaultProps$e, { errorType: "warning", error: true, errorText: "We couldn't fetch your code. Please try again later or reach out to the Support team for help resolving this issue." })));
|
|
13319
|
+
};
|
|
13320
|
+
const ErrorCancelled = () => {
|
|
13321
|
+
return (h(CouponCodeView, Object.assign({}, defaultProps$e, { errorType: "warning", error: true, errorText: "This code has been cancelled. Please reach out to the Support team for help resolving this issue." })));
|
|
13322
|
+
};
|
|
13323
|
+
const ErrorExpired = () => {
|
|
13324
|
+
return (h(CouponCodeView, Object.assign({}, defaultProps$e, { errorType: "warning", error: true, errorText: "Looks like this code has expired. Please reach out to the Support team for help resolving this issue." })));
|
|
13325
|
+
};
|
|
13326
|
+
const ErrorRedeemed = () => {
|
|
13327
|
+
return (h(CouponCodeView, Object.assign({}, defaultProps$e, { errorType: "success", error: true, errorText: "Looks like you\u2019ve already redeemed this code." })));
|
|
13167
13328
|
};
|
|
13168
13329
|
|
|
13169
13330
|
const CouponCode$1 = /*#__PURE__*/Object.freeze({
|
|
@@ -13173,54 +13334,63 @@ const CouponCode$1 = /*#__PURE__*/Object.freeze({
|
|
|
13173
13334
|
CustomTooltipText: CustomTooltipText$1,
|
|
13174
13335
|
CustomTooltipDuration: CustomTooltipDuration$1,
|
|
13175
13336
|
TextAlignCenter: TextAlignCenter$2,
|
|
13337
|
+
TextAlignRight: TextAlignRight$2,
|
|
13176
13338
|
CopyButton: CopyButton$2,
|
|
13177
|
-
|
|
13339
|
+
CopyButtonCustomLabel: CopyButtonCustomLabel,
|
|
13178
13340
|
CopyButtonBelow: CopyButtonBelow$2,
|
|
13179
|
-
|
|
13180
|
-
|
|
13181
|
-
|
|
13182
|
-
|
|
13183
|
-
|
|
13184
|
-
|
|
13185
|
-
|
|
13186
|
-
|
|
13341
|
+
CopyButtonBelowCustomLabel: CopyButtonBelowCustomLabel,
|
|
13342
|
+
Loading: Loading$5,
|
|
13343
|
+
CopyButtonLoading: CopyButtonLoading,
|
|
13344
|
+
CopyButtonBelowLoading: CopyButtonBelowLoading,
|
|
13345
|
+
ErrorGeneric: ErrorGeneric,
|
|
13346
|
+
ErrorPending: ErrorPending,
|
|
13347
|
+
ErrorFullfillment: ErrorFullfillment,
|
|
13348
|
+
ErrorCancelled: ErrorCancelled,
|
|
13349
|
+
ErrorExpired: ErrorExpired,
|
|
13350
|
+
ErrorRedeemed: ErrorRedeemed
|
|
13351
|
+
});
|
|
13352
|
+
|
|
13353
|
+
const scenario$B = "@author:noah\n@owner:noah\n\nFeature: Logout Current User\n\n Background:\n Given a user viewing an instant access widget\n\n @motivating\n @ui\n Scenario: A user on an instant access widget\n Given the user is identified\n And the user is logged in\n Then the component identifies the user by displaying their email in an ICU string\n And the users email displayed in the ICU string using hte \"{email}\" variable\n\n @motivating\n @ui\n Scenario: Users can switch who they are identified as through a link\n Given the user is identified\n And the user is logged in\n When the user clicks the link in the component\n Then the saved user identity is emptied\n And they are sent back to the registration form to re-identify themselves\n\n @minutia\n Scenario: Logout link empties the saved User Identity\n Given a valid user identity\n And the user is viewing the \"logged-in\" template\n When they click the logout link\n Then the user identity is set to \"undefined\"\n And the user is returned to the \"logged-out\" template";
|
|
13354
|
+
|
|
13355
|
+
const LogoutCurrentUser_stories = {
|
|
13356
|
+
title: "Components/Logout Current User",
|
|
13187
13357
|
parameters: {
|
|
13188
|
-
scenario: scenario$
|
|
13358
|
+
scenario: scenario$B,
|
|
13189
13359
|
},
|
|
13190
13360
|
};
|
|
13191
13361
|
const defaultProps$f = {
|
|
13192
|
-
|
|
13193
|
-
|
|
13362
|
+
filledInEmailText: "Currently showing referral data for noah.clarke@saasquatch.com",
|
|
13363
|
+
onSwitchClick: () => console.log("clicked"),
|
|
13194
13364
|
switchUserText: "not you?",
|
|
13195
13365
|
};
|
|
13196
13366
|
const Default$f = () => {
|
|
13197
|
-
return h(
|
|
13367
|
+
return h(LogoutCurrentUserView, Object.assign({}, defaultProps$f));
|
|
13198
13368
|
};
|
|
13199
13369
|
|
|
13200
|
-
const
|
|
13370
|
+
const LogoutCurrentUser = /*#__PURE__*/Object.freeze({
|
|
13201
13371
|
__proto__: null,
|
|
13202
|
-
'default':
|
|
13372
|
+
'default': LogoutCurrentUser_stories,
|
|
13203
13373
|
Default: Default$f
|
|
13204
13374
|
});
|
|
13205
13375
|
|
|
13206
|
-
const scenario$
|
|
13376
|
+
const scenario$C = "@author:noah\n@owner:noah\n\nFeature: Link Button\n\n\t@ui\n\tScenario: Links can be opened in the same tab\n\t\tWhen a user clicks the button\n\t\tThen a link opens in the same tab\n\t\tAnd if the component is in an iFrame then the link is opened in the parent window not the iFrame\n\n\t@ui\n\tScenario: Links can be opened in a new tab\n\t\tWhen a user clicks the button\n\t\tThen a link opens in a new tab\n\t\tAnd if the component is in an iFrame then the link is still opened in a new tab\n\n\n\t@ui\n\tScenario: Props control the link and button text\n\t\tGiven the \"link\" prop is set to \"https://www.example.com\"\n\t\tAnd the \"buttonText\" prop is set to \"Click me!\"\n\t\tThen a button is shown with the text \"Click me!\"\n\t\tAnd when clicked the button opens https://www.example.com\n\n\t@ui\n\tScenario Outline: The button type can be set\n\t\tGiven the button type is set to <value>\n\t\tThen a <buttonType> is shown\n\t\tExamples:\n\t\t\t| value | buttonType |\n\t\t\t| <null> | primary |\n\t\t\t| default | default |\n\t\t\t| primary | primary |\n\t\t\t| success | success |\n\t\t\t| neutral | neutral |\n\t\t\t| warning | warning |\n\t\t\t| danger | danger |";
|
|
13207
13377
|
|
|
13208
13378
|
const LinkButton_stories = {
|
|
13209
13379
|
title: "Components/Link Button",
|
|
13210
13380
|
parameters: {
|
|
13211
|
-
scenario: scenario$
|
|
13381
|
+
scenario: scenario$C,
|
|
13212
13382
|
},
|
|
13213
13383
|
};
|
|
13214
13384
|
const defaultProps$g = {
|
|
13215
|
-
buttonSlot: h("span", null, "Test Slot Content"),
|
|
13216
13385
|
link: "https://example.com",
|
|
13217
13386
|
openInNewTab: false,
|
|
13387
|
+
buttonText: "Button Text",
|
|
13218
13388
|
};
|
|
13219
13389
|
const Default$g = () => {
|
|
13220
|
-
return h(
|
|
13390
|
+
return h("sqm-link-button", Object.assign({}, defaultProps$g));
|
|
13221
13391
|
};
|
|
13222
13392
|
const OpenInNewTab = () => {
|
|
13223
|
-
return h(
|
|
13393
|
+
return (h("sqm-link-button", Object.assign({}, { ...defaultProps$g, openInNewTab: true })));
|
|
13224
13394
|
};
|
|
13225
13395
|
|
|
13226
13396
|
const LinkButton = /*#__PURE__*/Object.freeze({
|
|
@@ -13230,6 +13400,40 @@ const LinkButton = /*#__PURE__*/Object.freeze({
|
|
|
13230
13400
|
OpenInNewTab: OpenInNewTab
|
|
13231
13401
|
});
|
|
13232
13402
|
|
|
13403
|
+
const CloseButton_stories = {
|
|
13404
|
+
title: "Components/Close Button",
|
|
13405
|
+
parameters: {
|
|
13406
|
+
// scenario,
|
|
13407
|
+
},
|
|
13408
|
+
};
|
|
13409
|
+
const defaultProps$h = {};
|
|
13410
|
+
const containerStyles = {
|
|
13411
|
+
position: "relative",
|
|
13412
|
+
width: "500px",
|
|
13413
|
+
height: "500px",
|
|
13414
|
+
border: "1px solid black",
|
|
13415
|
+
padding: "25px",
|
|
13416
|
+
};
|
|
13417
|
+
const Default$h = () => {
|
|
13418
|
+
return h(CloseButtonView, Object.assign({}, defaultProps$h));
|
|
13419
|
+
};
|
|
13420
|
+
const InAContainer = () => {
|
|
13421
|
+
return (h("div", { style: containerStyles },
|
|
13422
|
+
h(CloseButtonView, Object.assign({}, defaultProps$h))));
|
|
13423
|
+
};
|
|
13424
|
+
const CustomColor$1 = () => {
|
|
13425
|
+
return (h("div", { style: containerStyles },
|
|
13426
|
+
h(CloseButtonView, Object.assign({}, { ...defaultProps$h, color: "blue" }))));
|
|
13427
|
+
};
|
|
13428
|
+
|
|
13429
|
+
const CloseButton = /*#__PURE__*/Object.freeze({
|
|
13430
|
+
__proto__: null,
|
|
13431
|
+
'default': CloseButton_stories,
|
|
13432
|
+
Default: Default$h,
|
|
13433
|
+
InAContainer: InAContainer,
|
|
13434
|
+
CustomColor: CustomColor$1
|
|
13435
|
+
});
|
|
13436
|
+
|
|
13233
13437
|
/**
|
|
13234
13438
|
*
|
|
13235
13439
|
* Themes
|
|
@@ -13242,7 +13446,7 @@ const LinkButton = /*#__PURE__*/Object.freeze({
|
|
|
13242
13446
|
*
|
|
13243
13447
|
*/
|
|
13244
13448
|
//
|
|
13245
|
-
const Default$
|
|
13449
|
+
const Default$i = `
|
|
13246
13450
|
// No CSS
|
|
13247
13451
|
`;
|
|
13248
13452
|
const Orangey = `
|
|
@@ -13276,7 +13480,7 @@ const Klip = `
|
|
|
13276
13480
|
|
|
13277
13481
|
const Themes = /*#__PURE__*/Object.freeze({
|
|
13278
13482
|
__proto__: null,
|
|
13279
|
-
Default: Default$
|
|
13483
|
+
Default: Default$i,
|
|
13280
13484
|
Orangey: Orangey,
|
|
13281
13485
|
Netflix: Netflix,
|
|
13282
13486
|
SaaSquatchCorporate: SaaSquatchCorporate,
|
|
@@ -15909,7 +16113,7 @@ const stories = [
|
|
|
15909
16113
|
PasswordField,
|
|
15910
16114
|
TaskCard$2,
|
|
15911
16115
|
PortalTemplates,
|
|
15912
|
-
Widget
|
|
16116
|
+
Widget,
|
|
15913
16117
|
ProgramMenu,
|
|
15914
16118
|
PoweredByImg,
|
|
15915
16119
|
PortalFooter,
|
|
@@ -15940,9 +16144,10 @@ const stories = [
|
|
|
15940
16144
|
Tabs,
|
|
15941
16145
|
ShareCode$1,
|
|
15942
16146
|
CouponCode$1,
|
|
15943
|
-
|
|
16147
|
+
LogoutCurrentUser,
|
|
15944
16148
|
LinkButton,
|
|
15945
16149
|
EmailRegistration,
|
|
16150
|
+
CloseButton,
|
|
15946
16151
|
];
|
|
15947
16152
|
const StencilStorybook = class {
|
|
15948
16153
|
constructor(hostRef) {
|