@saasquatch/mint-components 1.2.1 → 1.2.2-11
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/CHANGELOG.md +32 -9
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/mint-components.cjs.js +1 -1
- package/dist/cjs/{sqm-divided-layout_22.cjs.entry.js → sqm-divided-layout_24.cjs.entry.js} +3846 -88
- package/dist/cjs/sqm-hero-view-9a179fd2.js +77 -0
- package/dist/cjs/sqm-hero.cjs.entry.js +33 -0
- package/dist/cjs/{sqm-navigation-sidebar-item-view-089d0eed.js → sqm-navigation-sidebar-item-view-647457cc.js} +2 -2
- package/dist/cjs/sqm-navigation-sidebar-item.cjs.entry.js +3 -3
- package/dist/cjs/{sqm-portal-change-password-view-8d932bce.js → sqm-portal-change-password-view-faf6ad39.js} +15 -8
- package/dist/cjs/sqm-portal-change-password.cjs.entry.js +59 -4
- package/dist/cjs/{sqm-portal-email-verification-view-d6b7b37e.js → sqm-portal-email-verification-view-626fc886.js} +3 -3
- package/dist/cjs/sqm-portal-email-verification.cjs.entry.js +14 -2
- package/dist/cjs/sqm-portal-footer-view-be3adcf2.js +80 -0
- package/dist/cjs/sqm-portal-footer.cjs.entry.js +58 -0
- package/dist/cjs/{sqm-portal-profile-view-db5658ba.js → sqm-portal-profile-view-76e3e4bb.js} +5 -5
- package/dist/cjs/sqm-portal-profile.cjs.entry.js +25 -7
- package/dist/cjs/{sqm-portal-reset-password-view-3980aa63.js → sqm-portal-reset-password-view-b7b52d16.js} +10 -6
- package/dist/cjs/sqm-portal-reset-password.cjs.entry.js +42 -4
- package/dist/cjs/sqm-portal-verify-email.cjs.entry.js +1 -1
- package/dist/collection/assets/PoweredBySaaSquatch.png +0 -0
- package/dist/collection/collection-manifest.json +2 -0
- package/dist/collection/components/sqm-hero/sqm-hero-view.js +73 -0
- package/dist/collection/components/sqm-hero/sqm-hero.js +95 -0
- 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 +2 -2
- package/dist/collection/components/sqm-portal-change-password/sqm-portal-change-password-view.js +15 -8
- package/dist/collection/components/sqm-portal-change-password/sqm-portal-change-password.js +215 -2
- package/dist/collection/components/sqm-portal-change-password/usePortalChangePassword.js +11 -1
- package/dist/collection/components/sqm-portal-email-verification/sqm-portal-email-verification-view.js +3 -3
- package/dist/collection/components/sqm-portal-email-verification/sqm-portal-email-verification.js +55 -3
- package/dist/collection/components/sqm-portal-email-verification/usePortalEmailVerification.js +2 -0
- package/dist/collection/components/sqm-portal-footer/PoweredByImg.js +11 -0
- package/dist/collection/components/sqm-portal-footer/sqm-portal-footer-view.js +65 -0
- package/dist/collection/components/sqm-portal-footer/sqm-portal-footer.js +305 -0
- package/dist/collection/components/sqm-portal-profile/sqm-portal-profile-view.js +5 -5
- package/dist/collection/components/sqm-portal-profile/sqm-portal-profile.js +90 -12
- package/dist/collection/components/sqm-portal-profile/usePortalProfile.js +3 -0
- package/dist/collection/components/sqm-portal-register/sqm-portal-register-view.js +3 -3
- package/dist/collection/components/sqm-portal-register/sqm-portal-register.js +28 -2
- package/dist/collection/components/sqm-portal-reset-password/sqm-portal-reset-password-view.js +10 -6
- package/dist/collection/components/sqm-portal-reset-password/sqm-portal-reset-password.js +137 -1
- package/dist/collection/components/sqm-portal-reset-password/usePortalResetPassword.js +10 -3
- package/dist/collection/components/sqm-portal-verify-email/sqm-portal-verify-email.js +1 -1
- package/dist/collection/components/sqm-program-menu/sqm-program-menu.js +0 -6
- package/dist/collection/components/sqm-stencilbook/sqm-stencilbook.js +10 -0
- package/dist/collection/stories/ChangePassword.stories.js +72 -2
- package/dist/collection/stories/Hero.stories.js +98 -0
- package/dist/collection/stories/NewPortal.stories.js +19 -1
- package/dist/collection/stories/PortalEmailVerification.stories.js +8 -0
- package/dist/collection/stories/PortalFooter.stories.js +21 -0
- package/dist/collection/stories/PortalProfile.stories.js +18 -0
- package/dist/collection/stories/PortalRegister.stories.js +7 -3
- package/dist/collection/stories/PortalResetPassword.stories.js +42 -0
- package/dist/collection/stories/PortalTemplates.stories.js +143 -0
- package/dist/collection/stories/PoweredByImg.stories.js +14 -0
- package/dist/collection/stories/ProgramMenu.stories.js +39 -0
- package/dist/collection/stories/Router.stories.js +42 -6
- package/dist/collection/stories/UseBigStat.stories.js +1 -0
- package/dist/esm/loader.js +1 -1
- package/dist/esm/mint-components.js +1 -1
- package/dist/esm/{sqm-divided-layout_22.entry.js → sqm-divided-layout_24.entry.js} +3844 -88
- package/dist/esm/sqm-hero-view-5b9bbae2.js +75 -0
- package/dist/esm/sqm-hero.entry.js +29 -0
- package/dist/esm/{sqm-navigation-sidebar-item-view-a75802bb.js → sqm-navigation-sidebar-item-view-000b0afb.js} +2 -2
- package/dist/esm/sqm-navigation-sidebar-item.entry.js +3 -3
- package/dist/esm/{sqm-portal-change-password-view-8dbe1ea3.js → sqm-portal-change-password-view-24a4adf7.js} +15 -8
- package/dist/esm/sqm-portal-change-password.entry.js +59 -4
- package/dist/esm/{sqm-portal-email-verification-view-964d21fe.js → sqm-portal-email-verification-view-03495ffa.js} +3 -3
- package/dist/esm/sqm-portal-email-verification.entry.js +14 -2
- package/dist/esm/sqm-portal-footer-view-728c427c.js +77 -0
- package/dist/esm/sqm-portal-footer.entry.js +54 -0
- package/dist/esm/{sqm-portal-profile-view-2801882b.js → sqm-portal-profile-view-72e966e2.js} +5 -5
- package/dist/esm/sqm-portal-profile.entry.js +25 -7
- package/dist/esm/{sqm-portal-reset-password-view-6c1d23eb.js → sqm-portal-reset-password-view-1441849e.js} +10 -6
- package/dist/esm/sqm-portal-reset-password.entry.js +42 -4
- package/dist/esm/sqm-portal-verify-email.entry.js +1 -1
- package/dist/esm-es5/loader.js +1 -1
- package/dist/esm-es5/mint-components.js +1 -1
- package/dist/esm-es5/sqm-divided-layout_24.entry.js +1 -0
- package/dist/esm-es5/sqm-hero-view-5b9bbae2.js +1 -0
- package/dist/esm-es5/sqm-hero.entry.js +1 -0
- package/dist/esm-es5/sqm-navigation-sidebar-item-view-000b0afb.js +1 -0
- package/dist/esm-es5/sqm-navigation-sidebar-item.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-change-password-view-24a4adf7.js +1 -0
- package/dist/esm-es5/sqm-portal-change-password.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-email-verification-view-03495ffa.js +1 -0
- package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-footer-view-728c427c.js +1 -0
- package/dist/esm-es5/sqm-portal-footer.entry.js +1 -0
- package/dist/esm-es5/{sqm-portal-profile-view-2801882b.js → sqm-portal-profile-view-72e966e2.js} +1 -1
- package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-reset-password-view-1441849e.js +1 -0
- package/dist/esm-es5/sqm-portal-reset-password.entry.js +1 -1
- package/dist/esm-es5/sqm-portal-verify-email.entry.js +1 -1
- package/dist/mint-components/mint-components.esm.js +1 -1
- package/dist/mint-components/p-0747c54d.system.js +1 -1
- package/dist/mint-components/{p-1fd262be.system.js → p-1adc0488.system.js} +1 -1
- package/dist/mint-components/p-20fa60f6.system.entry.js +1 -0
- package/dist/mint-components/p-2addaaff.system.entry.js +1 -0
- package/dist/mint-components/p-3a9d8fd9.js +1 -0
- package/dist/mint-components/p-3adace56.entry.js +1 -0
- package/dist/mint-components/p-51db87f4.js +1 -0
- package/dist/mint-components/p-5442b8ad.js +1 -0
- package/dist/mint-components/p-609d6b60.system.entry.js +1 -0
- package/dist/mint-components/p-634d5bcc.entry.js +222 -0
- package/dist/mint-components/p-659298ed.system.entry.js +1 -0
- package/dist/mint-components/p-69e263e0.entry.js +1 -0
- package/dist/mint-components/p-6dfcecca.entry.js +33 -0
- package/dist/mint-components/p-70dd58a4.system.js +1 -0
- package/dist/mint-components/p-759095b4.entry.js +1 -0
- package/dist/mint-components/p-79e5f02c.entry.js +1 -0
- package/dist/mint-components/p-875d1fdc.system.entry.js +1 -0
- package/dist/mint-components/p-8a9ebc3f.system.entry.js +1 -0
- package/dist/mint-components/p-8dc6f789.js +1 -0
- package/dist/mint-components/p-a741d57c.system.js +1 -0
- package/dist/mint-components/p-b7159234.system.js +1 -0
- package/dist/mint-components/p-c196dc61.js +1 -0
- package/dist/mint-components/{p-eb944c84.system.js → p-c366f729.system.js} +1 -1
- package/dist/mint-components/p-c5c2d834.system.js +1 -0
- package/dist/mint-components/p-d24845cd.js +1 -0
- package/dist/mint-components/{p-5d46f5cc.entry.js → p-d37839f3.entry.js} +1 -1
- package/dist/mint-components/p-d441144e.js +1 -0
- package/dist/mint-components/{p-0396ec57.system.entry.js → p-d65a1cfd.system.entry.js} +1 -1
- package/dist/mint-components/p-d95dc3f1.system.js +1 -0
- package/dist/mint-components/p-dfcc1950.entry.js +1 -0
- package/dist/mint-components/p-e48cd2c5.system.entry.js +1 -0
- package/dist/mint-components/p-e6ce03b2.system.entry.js +1 -0
- package/dist/mint-components/p-fa4d1c58.entry.js +1 -0
- package/dist/types/components/sqm-hero/sqm-hero-view.d.ts +13 -0
- package/dist/types/components/sqm-hero/sqm-hero.d.ts +16 -0
- package/dist/types/components/sqm-portal-change-password/sqm-portal-change-password-view.d.ts +10 -0
- package/dist/types/components/sqm-portal-change-password/sqm-portal-change-password.d.ts +32 -0
- package/dist/types/components/sqm-portal-change-password/usePortalChangePassword.d.ts +11 -1
- package/dist/types/components/sqm-portal-email-verification/sqm-portal-email-verification-view.d.ts +2 -0
- package/dist/types/components/sqm-portal-email-verification/sqm-portal-email-verification.d.ts +9 -1
- package/dist/types/components/sqm-portal-email-verification/usePortalEmailVerification.d.ts +2 -0
- package/dist/types/components/sqm-portal-footer/PoweredByImg.d.ts +7 -0
- package/dist/types/components/sqm-portal-footer/sqm-portal-footer-view.d.ts +16 -0
- package/dist/types/components/sqm-portal-footer/sqm-portal-footer.d.ts +57 -0
- package/dist/types/components/sqm-portal-profile/sqm-portal-profile-view.d.ts +3 -0
- package/dist/types/components/sqm-portal-profile/sqm-portal-profile.d.ts +17 -5
- package/dist/types/components/sqm-portal-profile/usePortalProfile.d.ts +3 -0
- package/dist/types/components/sqm-portal-register/sqm-portal-register-view.d.ts +1 -0
- package/dist/types/components/sqm-portal-register/sqm-portal-register.d.ts +4 -0
- package/dist/types/components/sqm-portal-reset-password/sqm-portal-reset-password-view.d.ts +7 -0
- package/dist/types/components/sqm-portal-reset-password/sqm-portal-reset-password.d.ts +24 -0
- package/dist/types/components/sqm-portal-reset-password/usePortalResetPassword.d.ts +2 -4
- package/dist/types/components.d.ts +314 -12
- package/dist/types/saasquatch.d.ts +1 -1
- package/dist/types/stories/Hero.stories.d.ts +11 -0
- package/dist/types/stories/PortalFooter.stories.d.ts +10 -0
- package/dist/types/stories/PortalTemplates.stories.d.ts +88 -0
- package/dist/types/stories/PoweredByImg.stories.d.ts +7 -0
- package/dist/types/stories/ProgramMenu.stories.d.ts +28 -0
- package/dist/types/stories/Router.stories.d.ts +24 -3
- package/dist/types/stories/UseBigStat.stories.d.ts +6 -0
- package/dist/types/stories/templates.d.ts +4 -0
- package/grapesjs/grapesjs.js +1 -1
- package/package.json +2 -1
- package/dist/cjs/sqm-portal-login-view-20530cd5.js +0 -53
- package/dist/cjs/sqm-portal-login.cjs.entry.js +0 -119
- package/dist/cjs/sqm-program-menu.cjs.entry.js +0 -57
- package/dist/collection/components/sqm-program-menu/sqm-program-menu.css +0 -25
- package/dist/esm/sqm-portal-login-view-7e56a959.js +0 -51
- package/dist/esm/sqm-portal-login.entry.js +0 -115
- package/dist/esm/sqm-program-menu.entry.js +0 -53
- package/dist/esm-es5/sqm-divided-layout_22.entry.js +0 -1
- package/dist/esm-es5/sqm-navigation-sidebar-item-view-a75802bb.js +0 -1
- package/dist/esm-es5/sqm-portal-change-password-view-8dbe1ea3.js +0 -1
- package/dist/esm-es5/sqm-portal-email-verification-view-964d21fe.js +0 -1
- package/dist/esm-es5/sqm-portal-login-view-7e56a959.js +0 -1
- package/dist/esm-es5/sqm-portal-login.entry.js +0 -1
- package/dist/esm-es5/sqm-portal-reset-password-view-6c1d23eb.js +0 -1
- package/dist/esm-es5/sqm-program-menu.entry.js +0 -1
- package/dist/mint-components/p-18142b08.system.entry.js +0 -1
- package/dist/mint-components/p-2019910e.system.entry.js +0 -1
- package/dist/mint-components/p-3f40e878.js +0 -1
- package/dist/mint-components/p-42ca40ee.system.entry.js +0 -1
- package/dist/mint-components/p-4a4f97e3.system.js +0 -1
- package/dist/mint-components/p-4e298f2f.entry.js +0 -1
- package/dist/mint-components/p-4f7e972b.entry.js +0 -222
- package/dist/mint-components/p-511ee8d5.js +0 -1
- package/dist/mint-components/p-5c2d4489.entry.js +0 -33
- package/dist/mint-components/p-6dcb4084.js +0 -1
- package/dist/mint-components/p-6edab0e1.js +0 -1
- package/dist/mint-components/p-7b5f70cf.system.entry.js +0 -1
- package/dist/mint-components/p-7cf1b6bc.system.js +0 -1
- package/dist/mint-components/p-8a647b42.entry.js +0 -1
- package/dist/mint-components/p-8a9e36b0.entry.js +0 -1
- package/dist/mint-components/p-9ec68457.system.js +0 -1
- package/dist/mint-components/p-a19cb5dc.entry.js +0 -1
- package/dist/mint-components/p-ac1285f3.js +0 -1
- package/dist/mint-components/p-aca6d934.system.entry.js +0 -1
- package/dist/mint-components/p-ae8f2817.entry.js +0 -1
- package/dist/mint-components/p-bcd56164.system.entry.js +0 -1
- package/dist/mint-components/p-cccfe42a.system.js +0 -1
- package/dist/mint-components/p-d2dfc374.js +0 -1
- package/dist/mint-components/p-db23f907.system.entry.js +0 -1
- package/dist/mint-components/p-e896917e.entry.js +0 -1
- package/dist/mint-components/p-f305ea91.system.entry.js +0 -1
|
@@ -18,18 +18,19 @@ const useDemoBigStat = require('./useDemoBigStat-91a13c03.js');
|
|
|
18
18
|
const sqmShareLinkView = require('./sqm-share-link-view-b51bbce5.js');
|
|
19
19
|
const ShadowViewAddon = require('./ShadowViewAddon-bb9682fe.js');
|
|
20
20
|
const sqmNavigationSidebarView = require('./sqm-navigation-sidebar-view-3fd81c5f.js');
|
|
21
|
-
const sqmNavigationSidebarItemView = require('./sqm-navigation-sidebar-item-view-
|
|
21
|
+
const sqmNavigationSidebarItemView = require('./sqm-navigation-sidebar-item-view-647457cc.js');
|
|
22
22
|
const sqmPortalSectionView = require('./sqm-portal-section-view-3b008930.js');
|
|
23
23
|
const sqmPortalContainerView = require('./sqm-portal-container-view-d144735a.js');
|
|
24
24
|
const sqmStatContainerView = require('./sqm-stat-container-view-ee7b00ff.js');
|
|
25
|
-
const sqmPortalProfileView = require('./sqm-portal-profile-view-
|
|
26
|
-
const sqmPortalChangePasswordView = require('./sqm-portal-change-password-view-
|
|
27
|
-
const sqmPortalLoginView = require('./sqm-portal-login-view-20530cd5.js');
|
|
25
|
+
const sqmPortalProfileView = require('./sqm-portal-profile-view-76e3e4bb.js');
|
|
26
|
+
const sqmPortalChangePasswordView = require('./sqm-portal-change-password-view-faf6ad39.js');
|
|
28
27
|
const sqmPortalForgotPasswordView = require('./sqm-portal-forgot-password-view-13a5c2f3.js');
|
|
29
|
-
const sqmPortalEmailVerificationView = require('./sqm-portal-email-verification-view-
|
|
30
|
-
const sqmPortalResetPasswordView = require('./sqm-portal-reset-password-view-
|
|
28
|
+
const sqmPortalEmailVerificationView = require('./sqm-portal-email-verification-view-626fc886.js');
|
|
29
|
+
const sqmPortalResetPasswordView = require('./sqm-portal-reset-password-view-b7b52d16.js');
|
|
31
30
|
const sqmPortalVerifyEmailView = require('./sqm-portal-verify-email-view-8d9f3f5f.js');
|
|
32
31
|
const sqmAssetCardView = require('./sqm-asset-card-view-07f86880.js');
|
|
32
|
+
const sqmPortalFooterView = require('./sqm-portal-footer-view-be3adcf2.js');
|
|
33
|
+
const sqmHeroView = require('./sqm-hero-view-9a179fd2.js');
|
|
33
34
|
|
|
34
35
|
function DividedLayoutView(props, children) {
|
|
35
36
|
const getBorder = () => {
|
|
@@ -1164,6 +1165,155 @@ function usePortalFrameDemo(footerContent, headerContent, props) {
|
|
|
1164
1165
|
}
|
|
1165
1166
|
|
|
1166
1167
|
const style$3 = {
|
|
1168
|
+
Wrapper: mixins.AuthWrapper,
|
|
1169
|
+
Column: mixins.AuthColumn,
|
|
1170
|
+
ForgotButtonContainer: {
|
|
1171
|
+
display: "inline",
|
|
1172
|
+
cursor: "pointer",
|
|
1173
|
+
"font-size": "13px",
|
|
1174
|
+
"font-weight": "600",
|
|
1175
|
+
color: "#AAAAAA",
|
|
1176
|
+
margin: "0",
|
|
1177
|
+
},
|
|
1178
|
+
ButtonsContainer: mixins.AuthButtonsContainer,
|
|
1179
|
+
};
|
|
1180
|
+
const vanillaStyle$1 = `
|
|
1181
|
+
:host {
|
|
1182
|
+
margin: 0 auto;
|
|
1183
|
+
width: 100%;
|
|
1184
|
+
display: block;
|
|
1185
|
+
}
|
|
1186
|
+
:host([hidden]): {
|
|
1187
|
+
display: none;
|
|
1188
|
+
}
|
|
1189
|
+
`;
|
|
1190
|
+
jssPresetDefault_esm.jss.setup(jssPresetDefault_esm.create());
|
|
1191
|
+
const sheet$3 = jssPresetDefault_esm.jss.createStyleSheet(style$3);
|
|
1192
|
+
const styleString$3 = sheet$3.toString();
|
|
1193
|
+
function PortalLoginView(props) {
|
|
1194
|
+
const { states, callbacks, content } = props;
|
|
1195
|
+
return (index.h("div", { class: sheet$3.classes.Wrapper },
|
|
1196
|
+
index.h("style", { type: "text/css" },
|
|
1197
|
+
vanillaStyle$1,
|
|
1198
|
+
styleString$3),
|
|
1199
|
+
index.h(sqmTextSpanView.TextSpanView, { type: "h3" }, content.pageLabel),
|
|
1200
|
+
index.h("sl-form", { class: sheet$3.classes.Column, "onSl-submit": callbacks.submit },
|
|
1201
|
+
props.states.error && (index.h("sqm-form-message", { type: "error", exportparts: "erroralert-icon" },
|
|
1202
|
+
index.h("div", { part: "erroralert-text" }, props.states.error))),
|
|
1203
|
+
index.h("sl-input", { exportparts: "label: input-label", type: "email", name: "/email", label: content.emailLabel || "Email", disabled: states.loading, required: true }),
|
|
1204
|
+
index.h("div", null,
|
|
1205
|
+
index.h("sl-input", { exportparts: "label: input-label", type: "password", name: "/password", label: content.passwordLabel || "Password", disabled: states.loading, required: true }),
|
|
1206
|
+
index.h("div", { class: sheet$3.classes.ForgotButtonContainer }, content.forgotPasswordButton)),
|
|
1207
|
+
index.h("div", { class: sheet$3.classes.ButtonsContainer },
|
|
1208
|
+
index.h("sl-button", { submit: true, loading: states.loading, exportparts: "base: primarybutton-base", type: "primary" }, content.submitLabel || "Login"),
|
|
1209
|
+
content.secondaryButton))));
|
|
1210
|
+
}
|
|
1211
|
+
|
|
1212
|
+
function usePortalLogin({ nextPage }) {
|
|
1213
|
+
var _a, _b, _c, _d;
|
|
1214
|
+
const [request, { loading, errors, data }] = index_module.qe();
|
|
1215
|
+
const [error, setError] = _extends.useState("");
|
|
1216
|
+
const urlParams = new URLSearchParams(window.location.search);
|
|
1217
|
+
const nextPageOverride = urlParams.get("nextPage");
|
|
1218
|
+
const submit = async (event) => {
|
|
1219
|
+
setError("");
|
|
1220
|
+
let formData = event.detail.formData;
|
|
1221
|
+
formData === null || formData === void 0 ? void 0 : formData.forEach((value, key) => {
|
|
1222
|
+
jsonpointer.jsonpointer.set(formData, key, value);
|
|
1223
|
+
});
|
|
1224
|
+
const variables = { email: formData.email, password: formData.password };
|
|
1225
|
+
await request(variables);
|
|
1226
|
+
};
|
|
1227
|
+
_extends.useEffect(() => {
|
|
1228
|
+
var _a;
|
|
1229
|
+
if ((_a = data === null || data === void 0 ? void 0 : data.authenticateManagedIdentityWithEmailAndPassword) === null || _a === void 0 ? void 0 : _a.token) {
|
|
1230
|
+
urlParams.delete("nextPage");
|
|
1231
|
+
index_module.rn.push({
|
|
1232
|
+
pathname: nextPageOverride || nextPage,
|
|
1233
|
+
search: urlParams.toString() && "?" + urlParams.toString(),
|
|
1234
|
+
});
|
|
1235
|
+
}
|
|
1236
|
+
}, [(_a = data === null || data === void 0 ? void 0 : data.authenticateManagedIdentityWithEmailAndPassword) === null || _a === void 0 ? void 0 : _a.token]);
|
|
1237
|
+
_extends.useEffect(() => {
|
|
1238
|
+
var _a;
|
|
1239
|
+
if ((errors === null || errors === void 0 ? void 0 : errors.message) || ((_a = errors === null || errors === void 0 ? void 0 : errors.response) === null || _a === void 0 ? void 0 : _a["error"])) {
|
|
1240
|
+
setError("Network request failed.");
|
|
1241
|
+
}
|
|
1242
|
+
}, [errors]);
|
|
1243
|
+
const errorMessage = ((_d = (_c = (_b = errors === null || errors === void 0 ? void 0 : errors.response) === null || _b === void 0 ? void 0 : _b.errors) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.message) || error;
|
|
1244
|
+
return {
|
|
1245
|
+
states: {
|
|
1246
|
+
loading,
|
|
1247
|
+
error: errorMessage,
|
|
1248
|
+
},
|
|
1249
|
+
callbacks: {
|
|
1250
|
+
submit,
|
|
1251
|
+
},
|
|
1252
|
+
};
|
|
1253
|
+
}
|
|
1254
|
+
|
|
1255
|
+
const PortalLogin = class {
|
|
1256
|
+
constructor(hostRef) {
|
|
1257
|
+
index.registerInstance(this, hostRef);
|
|
1258
|
+
this.ignored = true;
|
|
1259
|
+
/**
|
|
1260
|
+
* @uiName Page navigated to after sign-in
|
|
1261
|
+
*/
|
|
1262
|
+
this.nextPage = "/";
|
|
1263
|
+
/**
|
|
1264
|
+
* @uiName Label for email field
|
|
1265
|
+
*/
|
|
1266
|
+
this.emailLabel = "Email";
|
|
1267
|
+
/**
|
|
1268
|
+
* @uiName Label for password field
|
|
1269
|
+
*/
|
|
1270
|
+
this.passwordLabel = "Password";
|
|
1271
|
+
/**
|
|
1272
|
+
* @uiName Label for submit button
|
|
1273
|
+
*/
|
|
1274
|
+
this.submitLabel = "Sign In";
|
|
1275
|
+
/**
|
|
1276
|
+
* @uiName Label for forgotten password button
|
|
1277
|
+
*/
|
|
1278
|
+
this.forgotPasswordLabel = "Forgot Password?";
|
|
1279
|
+
/**
|
|
1280
|
+
* @uiName Label for register navigation button
|
|
1281
|
+
*/
|
|
1282
|
+
this.registerLabel = "Register";
|
|
1283
|
+
/**
|
|
1284
|
+
* @uiName Heading label
|
|
1285
|
+
*/
|
|
1286
|
+
this.pageLabel = "Sign in to your account";
|
|
1287
|
+
_extends.h$1(this);
|
|
1288
|
+
}
|
|
1289
|
+
disconnectedCallback() { }
|
|
1290
|
+
render() {
|
|
1291
|
+
const { states, callbacks } = index_module.j()
|
|
1292
|
+
? useLoginDemo(this)
|
|
1293
|
+
: usePortalLogin(this);
|
|
1294
|
+
const content = {
|
|
1295
|
+
forgotPasswordButton: (index.h("slot", { name: "forgotPassword" }, index.h("a", { onClick: () => index_module.rn.push("/forgotPassword") }, this.forgotPasswordLabel))),
|
|
1296
|
+
secondaryButton: (index.h("slot", { name: "secondaryButton" }, index.h("sl-button", { type: "text", disabled: states.loading, onClick: () => index_module.rn.push("/register") }, this.registerLabel))),
|
|
1297
|
+
emailLabel: this.emailLabel,
|
|
1298
|
+
passwordLabel: this.passwordLabel,
|
|
1299
|
+
submitLabel: this.submitLabel,
|
|
1300
|
+
pageLabel: this.pageLabel,
|
|
1301
|
+
};
|
|
1302
|
+
return (index.h(PortalLoginView, { states: states, callbacks: callbacks, content: content }));
|
|
1303
|
+
}
|
|
1304
|
+
};
|
|
1305
|
+
function useLoginDemo(props) {
|
|
1306
|
+
return cjs.cjs({
|
|
1307
|
+
states: { error: "", loading: false },
|
|
1308
|
+
callbacks: {
|
|
1309
|
+
submit: async (_event) => {
|
|
1310
|
+
console.log("submit");
|
|
1311
|
+
},
|
|
1312
|
+
},
|
|
1313
|
+
}, props.demoData || {}, { arrayMerge: (_, a) => a });
|
|
1314
|
+
}
|
|
1315
|
+
|
|
1316
|
+
const style$4 = {
|
|
1167
1317
|
Wrapper: { ...mixins.AuthWrapper, "max-width": "600px" },
|
|
1168
1318
|
Column: mixins.AuthColumn,
|
|
1169
1319
|
HostBlock: mixins.HostBlock,
|
|
@@ -1174,7 +1324,7 @@ const style$3 = {
|
|
|
1174
1324
|
ButtonsContainer: mixins.AuthButtonsContainer,
|
|
1175
1325
|
ErrorStyle: mixins.ErrorStyles,
|
|
1176
1326
|
};
|
|
1177
|
-
const vanillaStyle$
|
|
1327
|
+
const vanillaStyle$2 = `
|
|
1178
1328
|
sqm-portal-register {
|
|
1179
1329
|
margin: 0 auto;
|
|
1180
1330
|
width: 100%;
|
|
@@ -1192,22 +1342,23 @@ sqm-portal-register {
|
|
|
1192
1342
|
}
|
|
1193
1343
|
`;
|
|
1194
1344
|
jssPresetDefault_esm.jss.setup(jssPresetDefault_esm.create());
|
|
1195
|
-
const sheet$
|
|
1196
|
-
const styleString$
|
|
1345
|
+
const sheet$4 = jssPresetDefault_esm.jss.createStyleSheet(style$4);
|
|
1346
|
+
const styleString$4 = sheet$4.toString();
|
|
1197
1347
|
function PortalRegisterView(props) {
|
|
1198
1348
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
1199
1349
|
const { states, refs, callbacks, content } = props;
|
|
1200
1350
|
if (states.error) {
|
|
1201
1351
|
window.scrollTo({ top: 0, left: 0, behavior: "smooth" });
|
|
1202
1352
|
}
|
|
1203
|
-
return (index.h("div", { class: sheet$
|
|
1353
|
+
return (index.h("div", { class: sheet$4.classes.Wrapper },
|
|
1204
1354
|
index.h("style", { type: "text/css" },
|
|
1205
|
-
vanillaStyle$
|
|
1206
|
-
styleString$
|
|
1355
|
+
vanillaStyle$2,
|
|
1356
|
+
styleString$4),
|
|
1207
1357
|
index.h(sqmTextSpanView.TextSpanView, { type: "h3" }, content.pageLabel),
|
|
1208
|
-
index.h("sl-form", { class: sheet$
|
|
1358
|
+
index.h("sl-form", { class: sheet$4.classes.Column, "onSl-submit": callbacks.submit, ref: (el) => (refs.formRef.current = el), novalidate: true },
|
|
1209
1359
|
states.error && (index.h("sqm-form-message", { type: "error", exportparts: "erroralert-icon" },
|
|
1210
1360
|
index.h("div", { part: "erroralert-text" }, props.states.error))),
|
|
1361
|
+
content.formData,
|
|
1211
1362
|
!states.hideInputs && (index.h("sl-input", Object.assign({ exportparts: "label: input-label", type: "email", name: "/email", label: content.emailLabel || "Email", disabled: states.loading, required: true, validationError: ({ value }) => {
|
|
1212
1363
|
if (!value) {
|
|
1213
1364
|
return "Cannot be empty";
|
|
@@ -1217,21 +1368,20 @@ function PortalRegisterView(props) {
|
|
|
1217
1368
|
return "Must be a valid email address";
|
|
1218
1369
|
}
|
|
1219
1370
|
} }, (((_b = (_a = states.validationState) === null || _a === void 0 ? void 0 : _a.validationErrors) === null || _b === void 0 ? void 0 : _b.email) ? {
|
|
1220
|
-
class: sheet$
|
|
1371
|
+
class: sheet$4.classes.ErrorStyle,
|
|
1221
1372
|
helpText: ((_d = (_c = states.validationState) === null || _c === void 0 ? void 0 : _c.validationErrors) === null || _d === void 0 ? void 0 : _d.email) ||
|
|
1222
1373
|
"Cannot be empty",
|
|
1223
1374
|
}
|
|
1224
1375
|
: [])))),
|
|
1225
|
-
!states.hideInputs && (index.h("sqm-password-field", { "enable-validation": states.enablePasswordValidation })),
|
|
1376
|
+
!states.hideInputs && (index.h("sqm-password-field", { fieldLabel: content.passwordLabel, "enable-validation": states.enablePasswordValidation })),
|
|
1226
1377
|
content.passwordField,
|
|
1227
|
-
!states.hideInputs && states.confirmPassword && (index.h("sl-input", Object.assign({ exportparts: "label: input-label", type: "password", name: "/confirmPassword", label:
|
|
1228
|
-
class: sheet$
|
|
1378
|
+
!states.hideInputs && states.confirmPassword && (index.h("sl-input", Object.assign({ exportparts: "label: input-label", type: "password", name: "/confirmPassword", label: content.confirmPasswordLabel, disabled: states.loading, required: true }, (((_f = (_e = states.validationState) === null || _e === void 0 ? void 0 : _e.validationErrors) === null || _f === void 0 ? void 0 : _f.confirmPassword) ? {
|
|
1379
|
+
class: sheet$4.classes.ErrorStyle,
|
|
1229
1380
|
helpText: ((_h = (_g = states.validationState) === null || _g === void 0 ? void 0 : _g.validationErrors) === null || _h === void 0 ? void 0 : _h.confirmPassword) ||
|
|
1230
1381
|
"Cannot be empty",
|
|
1231
1382
|
}
|
|
1232
1383
|
: [])))),
|
|
1233
|
-
|
|
1234
|
-
index.h("div", { class: sheet$3.classes.ButtonsContainer },
|
|
1384
|
+
index.h("div", { class: sheet$4.classes.ButtonsContainer },
|
|
1235
1385
|
index.h("sl-button", { submit: true, loading: states.loading, exportparts: "base: primarybutton-base", type: "primary" }, content.submitLabel || "Register"),
|
|
1236
1386
|
content.secondaryButton))));
|
|
1237
1387
|
}
|
|
@@ -5238,6 +5388,10 @@ const PortalRegister = class {
|
|
|
5238
5388
|
* @uiName Label for login navigation button
|
|
5239
5389
|
*/
|
|
5240
5390
|
this.loginLabel = "Sign in";
|
|
5391
|
+
/**
|
|
5392
|
+
* @uiName Label for confirm password field
|
|
5393
|
+
*/
|
|
5394
|
+
this.confirmPasswordLabel = "Confirm Password";
|
|
5241
5395
|
/**
|
|
5242
5396
|
* @uiName Show confirm password field
|
|
5243
5397
|
*/
|
|
@@ -5268,6 +5422,7 @@ const PortalRegister = class {
|
|
|
5268
5422
|
passwordLabel: this.passwordLabel,
|
|
5269
5423
|
submitLabel: this.submitLabel,
|
|
5270
5424
|
pageLabel: this.pageLabel,
|
|
5425
|
+
confirmPasswordLabel: this.confirmPasswordLabel,
|
|
5271
5426
|
};
|
|
5272
5427
|
return (index.h(PortalRegisterView, { states: states, callbacks: callbacks, content: content, refs: refs }));
|
|
5273
5428
|
}
|
|
@@ -5278,7 +5433,7 @@ function useRegisterDemo(props) {
|
|
|
5278
5433
|
error: "",
|
|
5279
5434
|
loading: false,
|
|
5280
5435
|
confirmPassword: true,
|
|
5281
|
-
hideInputs: false,
|
|
5436
|
+
hideInputs: props.hideInputs || false,
|
|
5282
5437
|
customPasswordField: false,
|
|
5283
5438
|
},
|
|
5284
5439
|
callbacks: {
|
|
@@ -5293,7 +5448,51 @@ function useRegisterDemo(props) {
|
|
|
5293
5448
|
}, props.demoData || {}, { arrayMerge: (_, a) => a });
|
|
5294
5449
|
}
|
|
5295
5450
|
|
|
5296
|
-
const
|
|
5451
|
+
const debug = _extends.browser('sq:useProgramMenu');
|
|
5452
|
+
const UPDATE_PROGRAM_EVENT = 'sq:update-program-id';
|
|
5453
|
+
function useProgramMenu(props) {
|
|
5454
|
+
const programId = index_module.M();
|
|
5455
|
+
const host = index_module.P();
|
|
5456
|
+
debug({ programId, props });
|
|
5457
|
+
const ref = _extends.useRef();
|
|
5458
|
+
const [, rerender] = index_module.Ze();
|
|
5459
|
+
_extends.useEffect(() => {
|
|
5460
|
+
var _a;
|
|
5461
|
+
(_a = ref.current) === null || _a === void 0 ? void 0 : _a.addEventListener('sl-select', (e) => {
|
|
5462
|
+
const programId = e.detail.item.value;
|
|
5463
|
+
// setProgramId(programId);
|
|
5464
|
+
host.dispatchEvent(new CustomEvent(UPDATE_PROGRAM_EVENT, {
|
|
5465
|
+
detail: programId,
|
|
5466
|
+
bubbles: true,
|
|
5467
|
+
composed: true,
|
|
5468
|
+
}));
|
|
5469
|
+
});
|
|
5470
|
+
}, [ref.current]);
|
|
5471
|
+
return {
|
|
5472
|
+
data: {
|
|
5473
|
+
programId,
|
|
5474
|
+
},
|
|
5475
|
+
callbacks: {
|
|
5476
|
+
rerender,
|
|
5477
|
+
},
|
|
5478
|
+
ref,
|
|
5479
|
+
};
|
|
5480
|
+
}
|
|
5481
|
+
|
|
5482
|
+
const ProgramMenu = class {
|
|
5483
|
+
constructor(hostRef) {
|
|
5484
|
+
index.registerInstance(this, hostRef);
|
|
5485
|
+
this.ignored = true;
|
|
5486
|
+
_extends.h$1(this);
|
|
5487
|
+
}
|
|
5488
|
+
disconnectedCallback() { }
|
|
5489
|
+
render() {
|
|
5490
|
+
const { data, ref } = useProgramMenu(utils.getProps(this));
|
|
5491
|
+
return (index.h(index.Host, { style: { display: "contents" } }, index.h("sl-select", { style: { paddingBottom: "var(--sl-spacing-large)" }, value: data.programId, ref: (r) => (ref.current = r) }, index.h("slot", null))));
|
|
5492
|
+
}
|
|
5493
|
+
};
|
|
5494
|
+
|
|
5495
|
+
const style$5 = {
|
|
5297
5496
|
THead: {
|
|
5298
5497
|
padding: "var(--sl-spacing-small) var(--sl-spacing-medium) var(--sl-spacing-small) 0",
|
|
5299
5498
|
"text-align": "left",
|
|
@@ -5316,29 +5515,29 @@ const style$4 = {
|
|
|
5316
5515
|
},
|
|
5317
5516
|
};
|
|
5318
5517
|
jssPresetDefault_esm.jss.setup(jssPresetDefault_esm.create());
|
|
5319
|
-
const sheet$
|
|
5320
|
-
const styleString$
|
|
5518
|
+
const sheet$5 = jssPresetDefault_esm.jss.createStyleSheet(style$5);
|
|
5519
|
+
const styleString$5 = sheet$5.toString();
|
|
5321
5520
|
function ReferralTableView(props) {
|
|
5322
5521
|
var _a, _b;
|
|
5323
5522
|
const { states, data, callbacks, elements } = props;
|
|
5324
5523
|
const { columns, rows } = elements;
|
|
5325
5524
|
return (index.h("div", null,
|
|
5326
|
-
index.h("style", { type: "text/css" }, styleString$
|
|
5327
|
-
index.h("table", { class: sheet$
|
|
5525
|
+
index.h("style", { type: "text/css" }, styleString$5),
|
|
5526
|
+
index.h("table", { class: sheet$5.classes.Table },
|
|
5328
5527
|
data.textOverrides.showLabels && (index.h("thead", null,
|
|
5329
|
-
index.h("tr", null, columns === null || columns === void 0 ? void 0 : columns.map((column) => (index.h("th", { class: sheet$
|
|
5528
|
+
index.h("tr", null, columns === null || columns === void 0 ? void 0 : columns.map((column) => (index.h("th", { class: sheet$5.classes.THead },
|
|
5330
5529
|
index.h(sqmTextSpanView.TextSpanView, { type: "h3" }, column))))))),
|
|
5331
5530
|
index.h("tbody", null, states.loading
|
|
5332
5531
|
? elements.loadingElement
|
|
5333
5532
|
: !((_a = elements === null || elements === void 0 ? void 0 : elements.rows) === null || _a === void 0 ? void 0 : _a.length) && !((_b = data.referralData) === null || _b === void 0 ? void 0 : _b.length)
|
|
5334
5533
|
? elements.emptyElement
|
|
5335
|
-
: rows === null || rows === void 0 ? void 0 : rows.map((row, i) => (index.h("tr", { class: sheet$
|
|
5534
|
+
: rows === null || rows === void 0 ? void 0 : rows.map((row, i) => (index.h("tr", { class: sheet$5.classes.TRow, style: {
|
|
5336
5535
|
borderTop: `${!data.textOverrides.showLabels && i === 0
|
|
5337
5536
|
? "none"
|
|
5338
5537
|
: ""}`,
|
|
5339
|
-
}, part: "table-row" }, row.map((cell) => (index.h("td", { class: sheet$
|
|
5538
|
+
}, part: "table-row" }, row.map((cell) => (index.h("td", { class: sheet$5.classes.TCell },
|
|
5340
5539
|
index.h(sqmTextSpanView.TextSpanView, { type: "p" }, cell))))))))),
|
|
5341
|
-
index.h("div", { class: sheet$
|
|
5540
|
+
index.h("div", { class: sheet$5.classes.ButtonContainer, part: "sqm-referral-table-button-wrapper" },
|
|
5342
5541
|
index.h("sl-button", { size: "small", disabled: !states.hasPrev, loading: states.loading, onClick: callbacks.prevPage, exportparts: "base: defaultbutton-base" }, data.textOverrides.prevLabel),
|
|
5343
5542
|
index.h("sl-button", { size: "small", loading: states.loading, disabled: !states.hasNext, onClick: callbacks.nextPage, exportparts: "base: defaultbutton-base" }, data.textOverrides.moreLabel))));
|
|
5344
5543
|
}
|
|
@@ -14206,7 +14405,7 @@ const ReferralTableUserCell = class {
|
|
|
14206
14405
|
}
|
|
14207
14406
|
};
|
|
14208
14407
|
|
|
14209
|
-
const debug = _extends.browser("sq:useRouter");
|
|
14408
|
+
const debug$1 = _extends.browser("sq:useRouter");
|
|
14210
14409
|
function matchPath(pattern, page) {
|
|
14211
14410
|
if (!pattern)
|
|
14212
14411
|
return;
|
|
@@ -14234,7 +14433,7 @@ function useRouter() {
|
|
|
14234
14433
|
_extends.useEffect(() => {
|
|
14235
14434
|
var _a, _b;
|
|
14236
14435
|
if (!container || !slot) {
|
|
14237
|
-
debug("DOM not ready for navigation rendering on:", page);
|
|
14436
|
+
debug$1("DOM not ready for navigation rendering on:", page);
|
|
14238
14437
|
return;
|
|
14239
14438
|
}
|
|
14240
14439
|
// <template>
|
|
@@ -14249,7 +14448,7 @@ function useRouter() {
|
|
|
14249
14448
|
});
|
|
14250
14449
|
//@ts-ignore - can't access template attributes directly
|
|
14251
14450
|
const templatePath = (_b = (_a = template === null || template === void 0 ? void 0 : template.attributes) === null || _a === void 0 ? void 0 : _a.path) === null || _b === void 0 ? void 0 : _b.nodeValue;
|
|
14252
|
-
debug({
|
|
14451
|
+
debug$1({
|
|
14253
14452
|
containerDatasetPage: container.dataset.page,
|
|
14254
14453
|
templatePath,
|
|
14255
14454
|
page,
|
|
@@ -14257,15 +14456,15 @@ function useRouter() {
|
|
|
14257
14456
|
// if no routes found, and the old route doesn't match the new route
|
|
14258
14457
|
if (!template) {
|
|
14259
14458
|
// No matching page, display nothing
|
|
14260
|
-
debug("No matching page found for ", page, ", so render nothing");
|
|
14459
|
+
debug$1("No matching page found for ", page, ", so render nothing");
|
|
14261
14460
|
container.innerHTML = "";
|
|
14262
14461
|
container.dataset.page = page;
|
|
14263
14462
|
return;
|
|
14264
14463
|
}
|
|
14265
|
-
debug("Page updated to ", page, template);
|
|
14464
|
+
debug$1("Page updated to ", page, template);
|
|
14266
14465
|
// if pathToRegexp results truthy or page is an exact match
|
|
14267
14466
|
if (!!matchPath(templatePath, container.dataset.page)) {
|
|
14268
|
-
debug("don't rerender");
|
|
14467
|
+
debug$1("don't rerender");
|
|
14269
14468
|
// Same page, do not re-render
|
|
14270
14469
|
// Reduces dom mutations, speeds up page speed
|
|
14271
14470
|
}
|
|
@@ -14298,19 +14497,19 @@ const SqmRouter = class {
|
|
|
14298
14497
|
};
|
|
14299
14498
|
SqmRouter.style = sqmRouterCss;
|
|
14300
14499
|
|
|
14301
|
-
const style$
|
|
14500
|
+
const style$6 = {
|
|
14302
14501
|
HostBlock: mixins.HostBlock,
|
|
14303
14502
|
buttonStyle: {
|
|
14304
14503
|
display: "block",
|
|
14305
14504
|
},
|
|
14306
14505
|
};
|
|
14307
14506
|
jssPresetDefault_esm.jss.setup(jssPresetDefault_esm.create());
|
|
14308
|
-
const sheet$
|
|
14309
|
-
const styleString$
|
|
14507
|
+
const sheet$6 = jssPresetDefault_esm.jss.createStyleSheet(style$6);
|
|
14508
|
+
const styleString$6 = sheet$6.toString();
|
|
14310
14509
|
function ShareButtonView(props, children) {
|
|
14311
14510
|
return props.hide ? (index.h(index.Host, { style: { display: "none" } })) : (index.h("div", null,
|
|
14312
|
-
index.h("style", { type: "text/css" }, styleString$
|
|
14313
|
-
index.h("sl-button", { class: sheet$
|
|
14511
|
+
index.h("style", { type: "text/css" }, styleString$6),
|
|
14512
|
+
index.h("sl-button", { class: sheet$6.classes.buttonStyle, loading: props.loading, disabled: props.disabled, pill: props.pill, size: props.size, type: props.type, onClick: props.onClick, exportparts: `base: ${props.type}sharebutton-base` },
|
|
14314
14513
|
!props.hideicon && (index.h("sl-icon", { slot: props.iconslot, name: props.icon ? props.icon : props.medium })),
|
|
14315
14514
|
!props.hidetext && children)));
|
|
14316
14515
|
}
|
|
@@ -16222,6 +16421,25 @@ const Leaderboard = /*#__PURE__*/Object.freeze({
|
|
|
16222
16421
|
Five: Five
|
|
16223
16422
|
});
|
|
16224
16423
|
|
|
16424
|
+
const HookStoryAddon = ({ story }, children) => {
|
|
16425
|
+
var _a;
|
|
16426
|
+
const hookStory = (_a = story.story.parameters) === null || _a === void 0 ? void 0 : _a.hookStory;
|
|
16427
|
+
if (!hookStory) {
|
|
16428
|
+
return children;
|
|
16429
|
+
}
|
|
16430
|
+
const randomInt = Math.round(Math.random() * 100000);
|
|
16431
|
+
const RandomTagName = "sqm-hook-story-container-" + randomInt;
|
|
16432
|
+
return (index.h(RandomTagName, null,
|
|
16433
|
+
index.h("sqm-hook-story-container", { hookStory: hookStory })));
|
|
16434
|
+
};
|
|
16435
|
+
function createHookStory(hookStory) {
|
|
16436
|
+
const story = () => index.h("div", null);
|
|
16437
|
+
story.parameters = {
|
|
16438
|
+
hookStory,
|
|
16439
|
+
};
|
|
16440
|
+
return story;
|
|
16441
|
+
}
|
|
16442
|
+
|
|
16225
16443
|
const Router_stories = {
|
|
16226
16444
|
title: "Tests/Router",
|
|
16227
16445
|
};
|
|
@@ -16288,7 +16506,7 @@ const routes = `
|
|
|
16288
16506
|
</pre>
|
|
16289
16507
|
</sqm-route>
|
|
16290
16508
|
`;
|
|
16291
|
-
const TemplateNavigation = () => {
|
|
16509
|
+
const TemplateNavigation = createHookStory(() => {
|
|
16292
16510
|
return (index.h("div", null,
|
|
16293
16511
|
index.h("button", { onClick: () => index_module.rn.push("/") }, "/"),
|
|
16294
16512
|
index.h("button", { onClick: () => index_module.rn.push("/foo") }, "/foo"),
|
|
@@ -16301,8 +16519,8 @@ const TemplateNavigation = () => {
|
|
|
16301
16519
|
index.h("button", { onClick: () => index_module.rn.forward() }, "Forward"),
|
|
16302
16520
|
index.h("hr", null),
|
|
16303
16521
|
index.h("sqm-router", { innerHTML: templates })));
|
|
16304
|
-
};
|
|
16305
|
-
const RouteNavigation = () => {
|
|
16522
|
+
});
|
|
16523
|
+
const RouteNavigation = createHookStory(() => {
|
|
16306
16524
|
return (index.h("div", null,
|
|
16307
16525
|
index.h("button", { onClick: () => index_module.rn.push("/") }, "/"),
|
|
16308
16526
|
index.h("button", { onClick: () => index_module.rn.push("/foo") }, "/foo"),
|
|
@@ -16315,8 +16533,8 @@ const RouteNavigation = () => {
|
|
|
16315
16533
|
index.h("button", { onClick: () => index_module.rn.forward() }, "Forward"),
|
|
16316
16534
|
index.h("hr", null),
|
|
16317
16535
|
index.h("sqm-router", { innerHTML: routes })));
|
|
16318
|
-
};
|
|
16319
|
-
const Styling = () => {
|
|
16536
|
+
});
|
|
16537
|
+
const Styling = createHookStory(() => {
|
|
16320
16538
|
return (index.h("div", null,
|
|
16321
16539
|
index.h("button", { onClick: () => index_module.rn.push("/") }, "/"),
|
|
16322
16540
|
index.h("button", { onClick: () => index_module.rn.push("/foo") }, "/foo"),
|
|
@@ -16327,14 +16545,49 @@ const Styling = () => {
|
|
|
16327
16545
|
<div>Column 1</div>
|
|
16328
16546
|
<div>Column 2 </div>
|
|
16329
16547
|
</template>` }))));
|
|
16330
|
-
};
|
|
16548
|
+
});
|
|
16549
|
+
function useTemplate(templateString) {
|
|
16550
|
+
const [editedTemplate, setEditedTemplate] = _extends.useState(templateString);
|
|
16551
|
+
const [previewTemplate, setPreviewTemplate] = _extends.useState(templateString);
|
|
16552
|
+
function setPath(e) {
|
|
16553
|
+
//@ts-ignore
|
|
16554
|
+
index_module.rn.push(e.target.value);
|
|
16555
|
+
}
|
|
16556
|
+
return {
|
|
16557
|
+
states: { previewTemplate, editedTemplate },
|
|
16558
|
+
callbacks: { setEditedTemplate, setPreviewTemplate, setPath },
|
|
16559
|
+
};
|
|
16560
|
+
}
|
|
16561
|
+
const defaultRouter = `
|
|
16562
|
+
<sqm-router>
|
|
16563
|
+
<template path="/">
|
|
16564
|
+
<div>hello world</div>
|
|
16565
|
+
</template>
|
|
16566
|
+
</sqm-router>
|
|
16567
|
+
`;
|
|
16568
|
+
function TemplateView(props) {
|
|
16569
|
+
const { states, callbacks } = props;
|
|
16570
|
+
return [
|
|
16571
|
+
index.h("textarea", { style: { width: "100%", height: "300px" }, onChange: (e) => callbacks.setEditedTemplate(e.target.value) }, states.editedTemplate),
|
|
16572
|
+
index.h("button", { onClick: () => callbacks.setPreviewTemplate(states.editedTemplate) }, "Update Preview"),
|
|
16573
|
+
index.h("label", null,
|
|
16574
|
+
"Current path:",
|
|
16575
|
+
index.h("input", { onInput: callbacks.setPath, value: "/" })),
|
|
16576
|
+
index.h("div", { innerHTML: states.previewTemplate }),
|
|
16577
|
+
];
|
|
16578
|
+
}
|
|
16579
|
+
const RouterPlayground = createHookStory(() => {
|
|
16580
|
+
const { states, callbacks } = useTemplate(defaultRouter);
|
|
16581
|
+
return index.h(TemplateView, { states: states, callbacks: callbacks });
|
|
16582
|
+
});
|
|
16331
16583
|
|
|
16332
16584
|
const Router = /*#__PURE__*/Object.freeze({
|
|
16333
16585
|
__proto__: null,
|
|
16334
16586
|
'default': Router_stories,
|
|
16335
16587
|
TemplateNavigation: TemplateNavigation,
|
|
16336
16588
|
RouteNavigation: RouteNavigation,
|
|
16337
|
-
Styling: Styling
|
|
16589
|
+
Styling: Styling,
|
|
16590
|
+
RouterPlayground: RouterPlayground
|
|
16338
16591
|
});
|
|
16339
16592
|
|
|
16340
16593
|
const LeaderboardRank_stories = {
|
|
@@ -16547,25 +16800,6 @@ const EditProfile$1 = /*#__PURE__*/Object.freeze({
|
|
|
16547
16800
|
FullStackFrameWithMenu: FullStackFrameWithMenu
|
|
16548
16801
|
});
|
|
16549
16802
|
|
|
16550
|
-
const HookStoryAddon = ({ story }, children) => {
|
|
16551
|
-
var _a;
|
|
16552
|
-
const hookStory = (_a = story.story.parameters) === null || _a === void 0 ? void 0 : _a.hookStory;
|
|
16553
|
-
if (!hookStory) {
|
|
16554
|
-
return children;
|
|
16555
|
-
}
|
|
16556
|
-
const randomInt = Math.round(Math.random() * 100000);
|
|
16557
|
-
const RandomTagName = "sqm-hook-story-container-" + randomInt;
|
|
16558
|
-
return (index.h(RandomTagName, null,
|
|
16559
|
-
index.h("sqm-hook-story-container", { hookStory: hookStory })));
|
|
16560
|
-
};
|
|
16561
|
-
function createHookStory(hookStory) {
|
|
16562
|
-
const story = () => index.h("div", null);
|
|
16563
|
-
story.parameters = {
|
|
16564
|
-
hookStory,
|
|
16565
|
-
};
|
|
16566
|
-
return story;
|
|
16567
|
-
}
|
|
16568
|
-
|
|
16569
16803
|
const UseShareLink_stories = {
|
|
16570
16804
|
title: "Hooks / useShareLink",
|
|
16571
16805
|
};
|
|
@@ -16755,6 +16989,7 @@ const GlobalRewardsCountPctDiscountPending = createHookStory(() => View("/reward
|
|
|
16755
16989
|
const RewardsCountByUnit = createHookStory(() => View("/rewardsCountFiltered/CREDIT/COFFEE", "/(rewardsCountFiltered)/:statType([INTEGRATION|PCT_DISCOUNT|CREDIT]*)?/:unit((?!global)(?!PENDING)(?!CANCELLED)(?!EXPIRED)(?!REDEEMED)(?!AVAILABLE)[a-zA-Z0-9%]+)?/:status([PENDING|CANCELLED|EXPIRED|REDEEMED|AVAILABLE]*)?/:global?"));
|
|
16756
16990
|
const GlobalRewardsCountByUnit = createHookStory(() => View("/rewardsCountFiltered/CREDIT/COFFEE/global", "/(rewardsCountFiltered)/:statType([INTEGRATION|PCT_DISCOUNT|CREDIT]*)?/:unit((?!global)(?!PENDING)(?!CANCELLED)(?!EXPIRED)(?!REDEEMED)(?!AVAILABLE)[a-zA-Z0-9%]+)?/:status([PENDING|CANCELLED|EXPIRED|REDEEMED|AVAILABLE]*)?/:global?"));
|
|
16757
16991
|
const GlobalPendingRewardsCount = createHookStory(() => View("/rewardsCountFiltered/CREDIT/COFFEE/PENDING/global", "/(rewardsCountFiltered)/:statType([INTEGRATION|PCT_DISCOUNT|CREDIT]*)?/:unit((?!global)(?!PENDING)(?!CANCELLED)(?!EXPIRED)(?!REDEEMED)(?!AVAILABLE)[a-zA-Z0-9%]+)?/:status([PENDING|CANCELLED|EXPIRED|REDEEMED|AVAILABLE]*)?/:global?"));
|
|
16992
|
+
const RewardsAvailableCount = createHookStory(() => View("/rewardsCountFiltered/AVAILABLE", "/(rewardsCountFiltered)/:statType([INTEGRATION|PCT_DISCOUNT|CREDIT]*)?/:unit((?!global)(?!PENDING)(?!CANCELLED)(?!EXPIRED)(?!REDEEMED)(?!AVAILABLE)[a-zA-Z0-9%]+)?/:status([PENDING|CANCELLED|EXPIRED|REDEEMED|AVAILABLE]*)?/:global?"));
|
|
16758
16993
|
const GlobalRewardsCountByIntegration = createHookStory(() => View("/integrationRewardsCountFiltered/AVAILABLE/global", "/(integrationRewardsCountFiltered)/:format([PENDING|CANCELLED|EXPIRED|REDEEMED|AVAILABLE]*)?/:global?"));
|
|
16759
16994
|
const GlobalRewardsCountByPendingIntegration = createHookStory(() => View("/integrationRewardsCountFiltered/PENDING/global", "/(integrationRewardsCountFiltered)/:format([PENDING|CANCELLED|EXPIRED|REDEEMED|AVAILABLE]*)?/:global?"));
|
|
16760
16995
|
const RewardsMonth = createHookStory(() => View("/rewardsMonth", "/(rewardsMonth)/:global?"));
|
|
@@ -16791,6 +17026,7 @@ const UseBigStat = /*#__PURE__*/Object.freeze({
|
|
|
16791
17026
|
RewardsCountByUnit: RewardsCountByUnit,
|
|
16792
17027
|
GlobalRewardsCountByUnit: GlobalRewardsCountByUnit,
|
|
16793
17028
|
GlobalPendingRewardsCount: GlobalPendingRewardsCount,
|
|
17029
|
+
RewardsAvailableCount: RewardsAvailableCount,
|
|
16794
17030
|
GlobalRewardsCountByIntegration: GlobalRewardsCountByIntegration,
|
|
16795
17031
|
GlobalRewardsCountByPendingIntegration: GlobalRewardsCountByPendingIntegration,
|
|
16796
17032
|
RewardsMonth: RewardsMonth,
|
|
@@ -16965,15 +17201,15 @@ const FormMessage$1 = /*#__PURE__*/Object.freeze({
|
|
|
16965
17201
|
const NewPortal_stories = {
|
|
16966
17202
|
title: "New Portal",
|
|
16967
17203
|
};
|
|
16968
|
-
const style$
|
|
17204
|
+
const style$7 = {
|
|
16969
17205
|
HeaderSubtitleBold: {
|
|
16970
17206
|
"font-weight": 500,
|
|
16971
17207
|
"text-decoration": "underline",
|
|
16972
17208
|
},
|
|
16973
17209
|
};
|
|
16974
17210
|
jssPresetDefault_esm.jss.setup(jssPresetDefault_esm.create());
|
|
16975
|
-
const sheet$
|
|
16976
|
-
const styleString$
|
|
17211
|
+
const sheet$7 = jssPresetDefault_esm.jss.createStyleSheet(style$7);
|
|
17212
|
+
const styleString$7 = sheet$7.toString();
|
|
16977
17213
|
const barProps = {
|
|
16978
17214
|
data: {
|
|
16979
17215
|
programs: [
|
|
@@ -17068,7 +17304,7 @@ const Dashboard = () => {
|
|
|
17068
17304
|
hide: false,
|
|
17069
17305
|
};
|
|
17070
17306
|
return (index.h("sqm-divided-layout", { direction: "row" },
|
|
17071
|
-
index.h("style", { type: "text/css" }, styleString$
|
|
17307
|
+
index.h("style", { type: "text/css" }, styleString$7),
|
|
17072
17308
|
index.h(Sidebar, null),
|
|
17073
17309
|
index.h("sqm-divided-layout", { direction: "column" },
|
|
17074
17310
|
index.h(sqmPortalContainerView.PortalContainerView, Object.assign({}, { direction: "column", padding: "xxx-large", gap: "xxx-large" }),
|
|
@@ -17126,7 +17362,7 @@ const Dashboard = () => {
|
|
|
17126
17362
|
};
|
|
17127
17363
|
const EditProfile$2 = () => {
|
|
17128
17364
|
return (index.h("sqm-divided-layout", { direction: "row" },
|
|
17129
|
-
index.h("style", { type: "text/css" }, styleString$
|
|
17365
|
+
index.h("style", { type: "text/css" }, styleString$7),
|
|
17130
17366
|
index.h(Sidebar, null),
|
|
17131
17367
|
index.h("sqm-divided-layout", { direction: "column" },
|
|
17132
17368
|
index.h(sqmPortalProfileView.PortalProfileView, Object.assign({}, {
|
|
@@ -17148,6 +17384,9 @@ const EditProfile$2 = () => {
|
|
|
17148
17384
|
lastnametext: "Last Name",
|
|
17149
17385
|
emailtext: "Email",
|
|
17150
17386
|
countrytext: "Country",
|
|
17387
|
+
editProfileHeader: "Edit your profile",
|
|
17388
|
+
editProfileSubHeader: "Personal Information",
|
|
17389
|
+
submitChangeButtonText: "Submit Changes",
|
|
17151
17390
|
},
|
|
17152
17391
|
formState: {
|
|
17153
17392
|
country: "Canada",
|
|
@@ -17163,7 +17402,22 @@ const EditProfile$2 = () => {
|
|
|
17163
17402
|
},
|
|
17164
17403
|
})),
|
|
17165
17404
|
index.h(sqmPortalChangePasswordView.PortalChangePasswordView, Object.assign({}, {
|
|
17166
|
-
states: {
|
|
17405
|
+
states: {
|
|
17406
|
+
open: true,
|
|
17407
|
+
error: "",
|
|
17408
|
+
loading: false,
|
|
17409
|
+
success: false,
|
|
17410
|
+
content: {
|
|
17411
|
+
modalChangePasswordHeader: "Change Password",
|
|
17412
|
+
cancelText: "Cancel",
|
|
17413
|
+
changePasswordButtonText: "Change Password",
|
|
17414
|
+
passwordFieldLabel: "Password",
|
|
17415
|
+
confirmPasswordFieldLabel: "Confirm new password",
|
|
17416
|
+
successMessage: "Your password has been updated.",
|
|
17417
|
+
portalChangePasswordHeader: "Password",
|
|
17418
|
+
portalChangePasswordButtonText: "Change your password...",
|
|
17419
|
+
},
|
|
17420
|
+
},
|
|
17167
17421
|
callbacks: {
|
|
17168
17422
|
setOpen: () => console.log("open"),
|
|
17169
17423
|
submit: () => console.log("submit"),
|
|
@@ -17172,7 +17426,7 @@ const EditProfile$2 = () => {
|
|
|
17172
17426
|
};
|
|
17173
17427
|
const Commissions = () => {
|
|
17174
17428
|
return (index.h("sqm-divided-layout", { direction: "row" },
|
|
17175
|
-
index.h("style", { type: "text/css" }, styleString$
|
|
17429
|
+
index.h("style", { type: "text/css" }, styleString$7),
|
|
17176
17430
|
index.h(Sidebar, null),
|
|
17177
17431
|
index.h("sqm-divided-layout", { direction: "column" },
|
|
17178
17432
|
index.h(sqmPortalContainerView.PortalContainerView, Object.assign({}, { direction: "column", padding: "xxx-large", gap: "xxx-large" }),
|
|
@@ -17185,7 +17439,7 @@ const Commissions = () => {
|
|
|
17185
17439
|
index.h("p", null,
|
|
17186
17440
|
"for the",
|
|
17187
17441
|
" ",
|
|
17188
|
-
index.h("span", { class: sheet$
|
|
17442
|
+
index.h("span", { class: sheet$7.classes.HeaderSubtitleBold }, "Partner Program #1"),
|
|
17189
17443
|
" ",
|
|
17190
17444
|
"program"))),
|
|
17191
17445
|
})),
|
|
@@ -17197,7 +17451,7 @@ const Commissions = () => {
|
|
|
17197
17451
|
};
|
|
17198
17452
|
const Activity = () => {
|
|
17199
17453
|
return (index.h("sqm-divided-layout", { direction: "row" },
|
|
17200
|
-
index.h("style", { type: "text/css" }, styleString$
|
|
17454
|
+
index.h("style", { type: "text/css" }, styleString$7),
|
|
17201
17455
|
index.h(Sidebar, null),
|
|
17202
17456
|
index.h("sqm-divided-layout", { direction: "column" },
|
|
17203
17457
|
index.h(sqmPortalContainerView.PortalContainerView, Object.assign({}, { direction: "column", padding: "xxx-large", gap: "xxx-large" }),
|
|
@@ -17210,7 +17464,7 @@ const Activity = () => {
|
|
|
17210
17464
|
index.h("p", null,
|
|
17211
17465
|
"for the",
|
|
17212
17466
|
" ",
|
|
17213
|
-
index.h("span", { class: sheet$
|
|
17467
|
+
index.h("span", { class: sheet$7.classes.HeaderSubtitleBold }, "Partner Program #1"),
|
|
17214
17468
|
" ",
|
|
17215
17469
|
"program"))),
|
|
17216
17470
|
})),
|
|
@@ -17365,11 +17619,11 @@ const loadingProps = {
|
|
|
17365
17619
|
},
|
|
17366
17620
|
content: { pageLabel: "Sign in to your account" }
|
|
17367
17621
|
};
|
|
17368
|
-
const Default$2 = () => index.h(
|
|
17369
|
-
const LoginWithError = () => index.h(
|
|
17370
|
-
const LoginLoading = () => index.h(
|
|
17622
|
+
const Default$2 = () => index.h(PortalLoginView, Object.assign({}, defaultProps$2));
|
|
17623
|
+
const LoginWithError = () => index.h(PortalLoginView, Object.assign({}, errorProps));
|
|
17624
|
+
const LoginLoading = () => index.h(PortalLoginView, Object.assign({}, loadingProps));
|
|
17371
17625
|
|
|
17372
|
-
const PortalLogin = /*#__PURE__*/Object.freeze({
|
|
17626
|
+
const PortalLogin$1 = /*#__PURE__*/Object.freeze({
|
|
17373
17627
|
__proto__: null,
|
|
17374
17628
|
'default': PortalLogin_stories,
|
|
17375
17629
|
Default: Default$2,
|
|
@@ -17394,7 +17648,7 @@ const defaultProps$3 = {
|
|
|
17394
17648
|
refs: {
|
|
17395
17649
|
formRef: {},
|
|
17396
17650
|
},
|
|
17397
|
-
content: { pageLabel: "Register" },
|
|
17651
|
+
content: { pageLabel: "Register", confirmPasswordLabel: "Confirm Password" },
|
|
17398
17652
|
};
|
|
17399
17653
|
const errorProps$1 = {
|
|
17400
17654
|
states: {
|
|
@@ -17410,7 +17664,10 @@ const errorProps$1 = {
|
|
|
17410
17664
|
refs: {
|
|
17411
17665
|
formRef: {},
|
|
17412
17666
|
},
|
|
17413
|
-
content: {
|
|
17667
|
+
content: {
|
|
17668
|
+
pageLabel: "Register",
|
|
17669
|
+
confirmPasswordLabel: "Confirm Password",
|
|
17670
|
+
},
|
|
17414
17671
|
};
|
|
17415
17672
|
const loadingProps$1 = {
|
|
17416
17673
|
states: {
|
|
@@ -17426,7 +17683,7 @@ const loadingProps$1 = {
|
|
|
17426
17683
|
refs: {
|
|
17427
17684
|
formRef: {},
|
|
17428
17685
|
},
|
|
17429
|
-
content: { pageLabel: "Register" },
|
|
17686
|
+
content: { pageLabel: "Register", confirmPasswordLabel: "Confirm Password" },
|
|
17430
17687
|
};
|
|
17431
17688
|
const slottedProps = {
|
|
17432
17689
|
states: {
|
|
@@ -17444,6 +17701,7 @@ const slottedProps = {
|
|
|
17444
17701
|
},
|
|
17445
17702
|
content: {
|
|
17446
17703
|
pageLabel: "Register",
|
|
17704
|
+
confirmPasswordLabel: "Confirm Password",
|
|
17447
17705
|
formData: (index.h("div", null,
|
|
17448
17706
|
index.h("sl-input", { style: { marginBottom: "var(--sl-spacing-x-large)" }, exportparts: "label: input-label", label: "Slotted Input", required: true }),
|
|
17449
17707
|
index.h("sl-input", { exportparts: "label: input-label", label: "Slotted Input 2", required: true }))),
|
|
@@ -17572,6 +17830,8 @@ const defaultProps$5 = {
|
|
|
17572
17830
|
content: {
|
|
17573
17831
|
email: "email@example.com",
|
|
17574
17832
|
verifyMessage: "A verification email was sent to {email}. Please verify your email to continue to the portal.",
|
|
17833
|
+
emailVerificationHeader: "Verify your email",
|
|
17834
|
+
resendEmailButtonText: "Re-send Email",
|
|
17575
17835
|
},
|
|
17576
17836
|
};
|
|
17577
17837
|
const errorProps$3 = {
|
|
@@ -17586,6 +17846,8 @@ const errorProps$3 = {
|
|
|
17586
17846
|
content: {
|
|
17587
17847
|
email: "email@example.com",
|
|
17588
17848
|
verifyMessage: "A verification email was sent to {email}. Please verify your email to continue to the portal.",
|
|
17849
|
+
emailVerificationHeader: "Verify your email",
|
|
17850
|
+
resendEmailButtonText: "Re-send Email",
|
|
17589
17851
|
},
|
|
17590
17852
|
};
|
|
17591
17853
|
const loadingProps$3 = {
|
|
@@ -17600,6 +17862,8 @@ const loadingProps$3 = {
|
|
|
17600
17862
|
content: {
|
|
17601
17863
|
email: "email@example.com",
|
|
17602
17864
|
verifyMessage: "A verification email was sent to {email}. Please verify your email to continue to the portal.",
|
|
17865
|
+
emailVerificationHeader: "Verify your email",
|
|
17866
|
+
resendEmailButtonText: "Re-send Email",
|
|
17603
17867
|
},
|
|
17604
17868
|
};
|
|
17605
17869
|
const successProps$1 = {
|
|
@@ -17614,6 +17878,8 @@ const successProps$1 = {
|
|
|
17614
17878
|
content: {
|
|
17615
17879
|
email: "email@example.com",
|
|
17616
17880
|
verifyMessage: "A verification email was sent to {email}. Please verify your email to continue to the portal.",
|
|
17881
|
+
emailVerificationHeader: "Verify your email",
|
|
17882
|
+
resendEmailButtonText: "Re-send Email",
|
|
17617
17883
|
},
|
|
17618
17884
|
};
|
|
17619
17885
|
const Default$5 = () => index.h(sqmPortalEmailVerificationView.PortalEmailVerificationView, Object.assign({}, defaultProps$5));
|
|
@@ -17646,6 +17912,13 @@ const defaultProps$6 = {
|
|
|
17646
17912
|
confirmPassword: true,
|
|
17647
17913
|
oobCodeValidating: false,
|
|
17648
17914
|
oobCodeValid: true,
|
|
17915
|
+
content: {
|
|
17916
|
+
passwordResetHeader: "Password reset",
|
|
17917
|
+
resetPasswordHeader: "Reset your password",
|
|
17918
|
+
continueButtonText: "Continue",
|
|
17919
|
+
resetPasswordButtonText: "Reset Password",
|
|
17920
|
+
confirmPasswordFieldLabel: "Confirm Password",
|
|
17921
|
+
},
|
|
17649
17922
|
},
|
|
17650
17923
|
callbacks: {
|
|
17651
17924
|
submit: async (e) => await e,
|
|
@@ -17661,6 +17934,13 @@ const defaultPropsNoConfirm = {
|
|
|
17661
17934
|
confirmPassword: false,
|
|
17662
17935
|
oobCodeValidating: false,
|
|
17663
17936
|
oobCodeValid: true,
|
|
17937
|
+
content: {
|
|
17938
|
+
passwordResetHeader: "Password reset",
|
|
17939
|
+
resetPasswordHeader: "Reset your password",
|
|
17940
|
+
continueButtonText: "Continue",
|
|
17941
|
+
resetPasswordButtonText: "Reset Password",
|
|
17942
|
+
confirmPasswordFieldLabel: "Confirm Password",
|
|
17943
|
+
},
|
|
17664
17944
|
},
|
|
17665
17945
|
callbacks: {
|
|
17666
17946
|
submit: async (e) => await e,
|
|
@@ -17676,6 +17956,13 @@ const errorProps$4 = {
|
|
|
17676
17956
|
confirmPassword: true,
|
|
17677
17957
|
oobCodeValidating: false,
|
|
17678
17958
|
oobCodeValid: true,
|
|
17959
|
+
content: {
|
|
17960
|
+
passwordResetHeader: "Password reset",
|
|
17961
|
+
resetPasswordHeader: "Reset your password",
|
|
17962
|
+
continueButtonText: "Continue",
|
|
17963
|
+
resetPasswordButtonText: "Reset Password",
|
|
17964
|
+
confirmPasswordFieldLabel: "Confirm Password",
|
|
17965
|
+
},
|
|
17679
17966
|
},
|
|
17680
17967
|
callbacks: {
|
|
17681
17968
|
submit: async (e) => await e,
|
|
@@ -17691,6 +17978,13 @@ const loadingProps$4 = {
|
|
|
17691
17978
|
confirmPassword: true,
|
|
17692
17979
|
oobCodeValidating: false,
|
|
17693
17980
|
oobCodeValid: true,
|
|
17981
|
+
content: {
|
|
17982
|
+
passwordResetHeader: "Password reset",
|
|
17983
|
+
resetPasswordHeader: "Reset your password",
|
|
17984
|
+
continueButtonText: "Continue",
|
|
17985
|
+
resetPasswordButtonText: "Reset Password",
|
|
17986
|
+
confirmPasswordFieldLabel: "Confirm Password",
|
|
17987
|
+
},
|
|
17694
17988
|
},
|
|
17695
17989
|
callbacks: {
|
|
17696
17990
|
submit: async (e) => await e,
|
|
@@ -17706,6 +18000,13 @@ const successProps$2 = {
|
|
|
17706
18000
|
confirmPassword: true,
|
|
17707
18001
|
oobCodeValidating: false,
|
|
17708
18002
|
oobCodeValid: true,
|
|
18003
|
+
content: {
|
|
18004
|
+
passwordResetHeader: "Password reset",
|
|
18005
|
+
resetPasswordHeader: "Reset your password",
|
|
18006
|
+
continueButtonText: "Continue",
|
|
18007
|
+
resetPasswordButtonText: "Reset Password",
|
|
18008
|
+
confirmPasswordFieldLabel: "Confirm Password",
|
|
18009
|
+
},
|
|
17709
18010
|
},
|
|
17710
18011
|
callbacks: {
|
|
17711
18012
|
submit: async (e) => await e,
|
|
@@ -17721,6 +18022,13 @@ const validatingCodeProps = {
|
|
|
17721
18022
|
confirmPassword: true,
|
|
17722
18023
|
oobCodeValidating: false,
|
|
17723
18024
|
oobCodeValid: false,
|
|
18025
|
+
content: {
|
|
18026
|
+
passwordResetHeader: "Password reset",
|
|
18027
|
+
resetPasswordHeader: "Reset your password",
|
|
18028
|
+
continueButtonText: "Continue",
|
|
18029
|
+
resetPasswordButtonText: "Reset Password",
|
|
18030
|
+
confirmPasswordFieldLabel: "Confirm Password",
|
|
18031
|
+
},
|
|
17724
18032
|
},
|
|
17725
18033
|
callbacks: {
|
|
17726
18034
|
submit: async (e) => await e,
|
|
@@ -17927,14 +18235,44 @@ const ChangePassword_stories = {
|
|
|
17927
18235
|
},
|
|
17928
18236
|
};
|
|
17929
18237
|
const defaultProps$7 = {
|
|
17930
|
-
states: {
|
|
18238
|
+
states: {
|
|
18239
|
+
open: false,
|
|
18240
|
+
loading: false,
|
|
18241
|
+
success: false,
|
|
18242
|
+
error: "",
|
|
18243
|
+
content: {
|
|
18244
|
+
modalChangePasswordHeader: "Change Password",
|
|
18245
|
+
cancelText: "Cancel",
|
|
18246
|
+
changePasswordButtonText: "Change Password",
|
|
18247
|
+
passwordFieldLabel: "Password",
|
|
18248
|
+
confirmPasswordFieldLabel: "Confirm new password",
|
|
18249
|
+
successMessage: "Your password has been updated.",
|
|
18250
|
+
portalChangePasswordHeader: "Password",
|
|
18251
|
+
portalChangePasswordButtonText: "Change your password...",
|
|
18252
|
+
},
|
|
18253
|
+
},
|
|
17931
18254
|
callbacks: {
|
|
17932
18255
|
setOpen: (o) => console.log(o),
|
|
17933
18256
|
submit: (e) => console.log("Submit", e),
|
|
17934
18257
|
},
|
|
17935
18258
|
};
|
|
17936
18259
|
const openProps = {
|
|
17937
|
-
states: {
|
|
18260
|
+
states: {
|
|
18261
|
+
open: true,
|
|
18262
|
+
loading: false,
|
|
18263
|
+
success: false,
|
|
18264
|
+
error: "",
|
|
18265
|
+
content: {
|
|
18266
|
+
modalChangePasswordHeader: "Change Password",
|
|
18267
|
+
cancelText: "Cancel",
|
|
18268
|
+
changePasswordButtonText: "Change Password",
|
|
18269
|
+
passwordFieldLabel: "Password",
|
|
18270
|
+
confirmPasswordFieldLabel: "Confirm new password",
|
|
18271
|
+
successMessage: "Your password has been updated.",
|
|
18272
|
+
portalChangePasswordHeader: "Password",
|
|
18273
|
+
portalChangePasswordButtonText: "Change your password...",
|
|
18274
|
+
},
|
|
18275
|
+
},
|
|
17938
18276
|
callbacks: {
|
|
17939
18277
|
setOpen: (o) => console.log(o),
|
|
17940
18278
|
submit: (e) => console.log("Submit", e),
|
|
@@ -17946,6 +18284,16 @@ const errorProps$6 = {
|
|
|
17946
18284
|
loading: false,
|
|
17947
18285
|
success: false,
|
|
17948
18286
|
error: "Network error. Please try again.",
|
|
18287
|
+
content: {
|
|
18288
|
+
modalChangePasswordHeader: "Change Password",
|
|
18289
|
+
cancelText: "Cancel",
|
|
18290
|
+
changePasswordButtonText: "Change Password",
|
|
18291
|
+
passwordFieldLabel: "Password",
|
|
18292
|
+
confirmPasswordFieldLabel: "Confirm new password",
|
|
18293
|
+
successMessage: "Your password has been updated.",
|
|
18294
|
+
portalChangePasswordHeader: "Password",
|
|
18295
|
+
portalChangePasswordButtonText: "Change your password...",
|
|
18296
|
+
},
|
|
17949
18297
|
},
|
|
17950
18298
|
callbacks: {
|
|
17951
18299
|
setOpen: (o) => console.log(o),
|
|
@@ -17958,6 +18306,16 @@ const passwordErrorProps = {
|
|
|
17958
18306
|
loading: false,
|
|
17959
18307
|
success: false,
|
|
17960
18308
|
error: "Passwords do not match.",
|
|
18309
|
+
content: {
|
|
18310
|
+
modalChangePasswordHeader: "Change Password",
|
|
18311
|
+
cancelText: "Cancel",
|
|
18312
|
+
changePasswordButtonText: "Change Password",
|
|
18313
|
+
passwordFieldLabel: "Password",
|
|
18314
|
+
confirmPasswordFieldLabel: "Confirm new password",
|
|
18315
|
+
successMessage: "Your password has been updated.",
|
|
18316
|
+
portalChangePasswordHeader: "Password",
|
|
18317
|
+
portalChangePasswordButtonText: "Change your password...",
|
|
18318
|
+
},
|
|
17961
18319
|
},
|
|
17962
18320
|
callbacks: {
|
|
17963
18321
|
setOpen: (o) => console.log(o),
|
|
@@ -17970,6 +18328,16 @@ const loadingProps$5 = {
|
|
|
17970
18328
|
loading: true,
|
|
17971
18329
|
success: false,
|
|
17972
18330
|
error: "",
|
|
18331
|
+
content: {
|
|
18332
|
+
modalChangePasswordHeader: "Change Password",
|
|
18333
|
+
cancelText: "Cancel",
|
|
18334
|
+
changePasswordButtonText: "Change Password",
|
|
18335
|
+
passwordFieldLabel: "Password",
|
|
18336
|
+
confirmPasswordFieldLabel: "Confirm new password",
|
|
18337
|
+
successMessage: "Your password has been updated.",
|
|
18338
|
+
portalChangePasswordHeader: "Password",
|
|
18339
|
+
portalChangePasswordButtonText: "Change your password...",
|
|
18340
|
+
},
|
|
17973
18341
|
},
|
|
17974
18342
|
callbacks: {
|
|
17975
18343
|
setOpen: (o) => console.log(o),
|
|
@@ -17982,6 +18350,16 @@ const successProps$3 = {
|
|
|
17982
18350
|
loading: false,
|
|
17983
18351
|
success: true,
|
|
17984
18352
|
error: "",
|
|
18353
|
+
content: {
|
|
18354
|
+
modalChangePasswordHeader: "Change Password",
|
|
18355
|
+
cancelText: "Cancel",
|
|
18356
|
+
changePasswordButtonText: "Change Password",
|
|
18357
|
+
passwordFieldLabel: "Password",
|
|
18358
|
+
confirmPasswordFieldLabel: "Confirm new password",
|
|
18359
|
+
successMessage: "Your password has been updated.",
|
|
18360
|
+
portalChangePasswordHeader: "Password",
|
|
18361
|
+
portalChangePasswordButtonText: "Change your password...",
|
|
18362
|
+
},
|
|
17985
18363
|
},
|
|
17986
18364
|
callbacks: {
|
|
17987
18365
|
setOpen: (o) => console.log(o),
|
|
@@ -18032,6 +18410,9 @@ const defaultProps$8 = {
|
|
|
18032
18410
|
lastnametext: "Last Name",
|
|
18033
18411
|
emailtext: "Email",
|
|
18034
18412
|
countrytext: "Country",
|
|
18413
|
+
editProfileHeader: "Edit your profile",
|
|
18414
|
+
editProfileSubHeader: "Personal Information",
|
|
18415
|
+
submitChangeButtonText: "Submit Changes",
|
|
18035
18416
|
},
|
|
18036
18417
|
formState: {
|
|
18037
18418
|
country: "Canada",
|
|
@@ -18065,6 +18446,9 @@ const noCountry = {
|
|
|
18065
18446
|
lastnametext: "Last Name",
|
|
18066
18447
|
emailtext: "Email",
|
|
18067
18448
|
countrytext: "Country",
|
|
18449
|
+
editProfileHeader: "Edit your profile",
|
|
18450
|
+
editProfileSubHeader: "Personal Information",
|
|
18451
|
+
submitChangeButtonText: "Submit Changes",
|
|
18068
18452
|
},
|
|
18069
18453
|
formState: {
|
|
18070
18454
|
country: "Canada",
|
|
@@ -18098,6 +18482,9 @@ const loadingProps$6 = {
|
|
|
18098
18482
|
lastnametext: "Last Name",
|
|
18099
18483
|
emailtext: "Email",
|
|
18100
18484
|
countrytext: "Country",
|
|
18485
|
+
editProfileHeader: "Edit your profile",
|
|
18486
|
+
editProfileSubHeader: "Personal Information",
|
|
18487
|
+
submitChangeButtonText: "Submit Changes",
|
|
18101
18488
|
},
|
|
18102
18489
|
formState: {
|
|
18103
18490
|
country: "Canada",
|
|
@@ -18131,6 +18518,9 @@ const disabledProps = {
|
|
|
18131
18518
|
lastnametext: "Last Name",
|
|
18132
18519
|
emailtext: "Email",
|
|
18133
18520
|
countrytext: "Country",
|
|
18521
|
+
editProfileHeader: "Edit your profile",
|
|
18522
|
+
editProfileSubHeader: "Personal Information",
|
|
18523
|
+
submitChangeButtonText: "Submit Changes",
|
|
18134
18524
|
},
|
|
18135
18525
|
formState: {
|
|
18136
18526
|
country: "Canada",
|
|
@@ -18164,6 +18554,9 @@ const errorProps$7 = {
|
|
|
18164
18554
|
lastnametext: "Last Name",
|
|
18165
18555
|
emailtext: "Email",
|
|
18166
18556
|
countrytext: "Country",
|
|
18557
|
+
editProfileHeader: "Edit your profile",
|
|
18558
|
+
editProfileSubHeader: "Personal Information",
|
|
18559
|
+
submitChangeButtonText: "Submit Changes",
|
|
18167
18560
|
},
|
|
18168
18561
|
formState: {
|
|
18169
18562
|
country: "Canada",
|
|
@@ -18197,6 +18590,9 @@ const successProps$4 = {
|
|
|
18197
18590
|
lastnametext: "Last Name",
|
|
18198
18591
|
emailtext: "Email",
|
|
18199
18592
|
countrytext: "Country",
|
|
18593
|
+
editProfileHeader: "Edit your profile",
|
|
18594
|
+
editProfileSubHeader: "Personal Information",
|
|
18595
|
+
submitChangeButtonText: "Submit Changes",
|
|
18200
18596
|
},
|
|
18201
18597
|
formState: {
|
|
18202
18598
|
country: "Canada",
|
|
@@ -19090,6 +19486,3361 @@ const PasswordField = /*#__PURE__*/Object.freeze({
|
|
|
19090
19486
|
ValidationError: ValidationError
|
|
19091
19487
|
});
|
|
19092
19488
|
|
|
19489
|
+
const portalTemplate = "<sqm-portal-frame>\r\n <a slot=\"header\" href=\"/\">\r\n <sqm-text style=\"height: 60px\">\r\n <img\r\n style=\"height: 60px\"\r\n src=\"https://docs.saasquatch.com/assets/images/saasquatch-logo-centered-no-slogan-RGB-300dpi.png\"\r\n />\r\n </sqm-text>\r\n </a>\r\n <sqb-program-section program-id=\"referral-program\">\r\n <sqm-router>\r\n <template path=\"/:path(\\bregister\\b|\\bemailVerification\\b|\\blogin\\b|\\bverifyEmail\\b|\\bforgotPassword\\b|\\bresetPassword\\b|\\blogout\\b)\">\r\n <sqm-graphql-client-provider\r\n domain=\"https://managed-identity.saasquatch.com\"\r\n >\r\n <sqm-hero\r\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\r\n >\r\n <sqm-router>\r\n <template path=\"/register\">\r\n <sqm-portal-register>\r\n <sl-input\r\n slot=\"formData\"\r\n exportparts=\"label: input-label\"\r\n type=\"text\"\r\n style=\"margin-bottom: 5px\"\r\n name=\"/firstName\"\r\n label=\"First Name\"\r\n required\r\n ></sl-input>\r\n <sl-input\r\n slot=\"formData\"\r\n exportparts=\"label: input-label\"\r\n type=\"text\"\r\n style=\"margin-bottom: 5px\"\r\n name=\"/lastName\"\r\n label=\"Last Name\"\r\n required\r\n ></sl-input>\r\n </sqm-portal-register>\r\n </template>\r\n\r\n <template path=\"/emailVerification\">\r\n <sqm-portal-protected-route\r\n redirect-to=\"/login\"\r\n ></sqm-portal-protected-route>\r\n <sqm-portal-email-verification></sqm-portal-email-verification>\r\n </template>\r\n\r\n <template path=\"/login\">\r\n <sqm-portal-login></sqm-portal-login>\r\n </template>\r\n\r\n <template path=\"/verifyEmail\">\r\n <sqm-portal-verify-email></sqm-portal-verify-email>\r\n </template>\r\n\r\n <template path=\"/forgotPassword\">\r\n <sqm-portal-forgot-password\r\n email-label=\"Business Email\"\r\n ></sqm-portal-forgot-password>\r\n </template>\r\n\r\n <template path=\"/resetPassword\">\r\n <sqm-portal-reset-password\r\n confirm-password=\"true\"\r\n ></sqm-portal-reset-password>\r\n </template>\r\n <template path=\"/logout\">\r\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\r\n </template>\r\n </sqm-router>\r\n </sqm-hero>\r\n </sqm-graphql-client-provider>\r\n </template>\r\n </sqm-router>\r\n <sqm-router>\r\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b)?\">\r\n <sqm-divided-layout direction=\"row\">\r\n <sqm-navigation-sidebar>\r\n <sqm-navigation-sidebar-item\r\n path=\"/\"\r\n icon=\"house\"\r\n label=\"Dashboard\"\r\n ></sqm-navigation-sidebar-item>\r\n <sqm-navigation-sidebar-item\r\n path=\"/activity\"\r\n icon=\"bar-chart\"\r\n label=\"Activity\"\r\n ></sqm-navigation-sidebar-item>\r\n <sqm-navigation-sidebar-item\r\n path=\"/editProfile\"\r\n icon=\"person\"\r\n label=\"Edit Profile\"\r\n ></sqm-navigation-sidebar-item>\r\n <sqm-navigation-sidebar-item\r\n path=\"/logout\"\r\n icon=\"box-arrow-right\"\r\n label=\"Logout\"\r\n ></sqm-navigation-sidebar-item>\r\n </sqm-navigation-sidebar>\r\n <sqm-divided-layout direction=\"column\">\r\n <sqm-router>\r\n <template path=\"/\">\r\n <sqm-portal-protected-route\r\n require-email-verification=\"true\"\r\n redirect-to=\"/login\"\r\n redirect-to-unverified=\"/emailVerification\"\r\n ></sqm-portal-protected-route>\r\n <sqb-widget\r\n widget-type=\"p/referral-program/w/referrerWidget\"\r\n ></sqb-widget>\r\n </template>\r\n <template path=\"/editProfile\">\r\n <sqm-portal-protected-route\r\n require-email-verification=\"true\"\r\n redirect-to=\"/login\"\r\n redirect-to-unverified=\"/emailVerification\"\r\n ></sqm-portal-protected-route>\r\n <sqm-portal-container\r\n direction=\"column\"\r\n padding=\"xxx-large\"\r\n gap=\"xxx-large\"\r\n >\r\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\r\n ><sqm-portal-container\r\n direction=\"column\"\r\n padding=\"xxx-large\"\r\n gap=\"xxx-large\"\r\n >\r\n <sqm-graphql-client-provider\r\n domain=\"https://managed-identity.saasquatch.com\"\r\n >\r\n <sqm-portal-change-password></sqm-portal-change-password>\r\n </sqm-graphql-client-provider>\r\n </sqm-portal-container>\r\n </template>\r\n\r\n <template path=\"/activity\">\r\n <sqm-portal-protected-route\r\n require-email-verification=\"true\"\r\n redirect-to=\"/login\"\r\n redirect-to-unverified=\"/emailVerification\"\r\n ></sqm-portal-protected-route>\r\n <sqm-portal-container\r\n direction=\"column\"\r\n padding=\"xxx-large\"\r\n gap=\"xxx-large\"\r\n >\r\n <sqm-text> <h2>Activity</h2></sqm-text>\r\n <sqm-stat-container space=\"xxxx-large\"\r\n ><sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/referralsCount\"\r\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\r\n >\r\n <sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\r\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\r\n >\r\n <sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\r\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\r\n >\r\n </sqm-stat-container>\r\n <sqm-referral-table>\r\n <div slot=\"loading\" style=\"display: contents\">\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n </div>\r\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\r\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\r\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\r\n <sqm-referral-table-date-column\r\n column-title=\"Referred\"\r\n date-shown=\"dateReferralStarted\"\r\n ></sqm-referral-table-date-column> </sqm-referral-table\r\n ></sqm-portal-container>\r\n </template>\r\n </sqm-router>\r\n </sqm-divided-layout>\r\n </sqm-divided-layout>\r\n </template>\r\n </sqm-router>\r\n </sqb-program-section>\r\n <sqm-portal-footer\r\n slot=\"footer\"\r\n support-email=\"support@example.com\"\r\n terms-link=\"https://example.com\"\r\n show-powered-by=\"true\"\r\n ></sqm-portal-footer>\r\n</sqm-portal-frame>\r\n";
|
|
19490
|
+
|
|
19491
|
+
const portalTemplateWithDashboard = "<sqm-portal-frame>\r\n <a slot=\"header\" href=\"/\">\r\n <sqm-text style=\"height: 60px\">\r\n <img\r\n style=\"height: 60px\"\r\n src=\"https://docs.saasquatch.com/assets/images/saasquatch-logo-centered-no-slogan-RGB-300dpi.png\"\r\n />\r\n </sqm-text>\r\n </a>\r\n <sqb-program-section program-id=\"referral-program\">\r\n <sqm-router>\r\n <template\r\n path=\"/:path(\\bregister\\b|\\bemailVerification\\b|\\blogin\\b|\\bverifyEmail\\b|\\bforgotPassword\\b|\\bresetPassword\\b|\\blogout\\b)\"\r\n >\r\n <sqm-graphql-client-provider\r\n domain=\"https://managed-identity.saasquatch.com\"\r\n >\r\n <sqm-hero\r\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\r\n >\r\n <sqm-router>\r\n <template path=\"/register\">\r\n <sqm-portal-register>\r\n <sl-input\r\n slot=\"formData\"\r\n exportparts=\"label: input-label\"\r\n type=\"text\"\r\n style=\"margin-bottom: 5px\"\r\n name=\"/firstName\"\r\n label=\"First Name\"\r\n required\r\n ></sl-input>\r\n <sl-input\r\n slot=\"formData\"\r\n exportparts=\"label: input-label\"\r\n type=\"text\"\r\n style=\"margin-bottom: 5px\"\r\n name=\"/lastName\"\r\n label=\"Last Name\"\r\n required\r\n ></sl-input>\r\n </sqm-portal-register>\r\n </template>\r\n\r\n <template path=\"/emailVerification\">\r\n <sqm-portal-protected-route\r\n redirect-to=\"/login\"\r\n ></sqm-portal-protected-route>\r\n <sqm-portal-email-verification></sqm-portal-email-verification>\r\n </template>\r\n\r\n <template path=\"/login\">\r\n <sqm-portal-login></sqm-portal-login>\r\n </template>\r\n\r\n <template path=\"/verifyEmail\">\r\n <sqm-portal-verify-email></sqm-portal-verify-email>\r\n </template>\r\n\r\n <template path=\"/forgotPassword\">\r\n <sqm-portal-forgot-password\r\n email-label=\"Business Email\"\r\n ></sqm-portal-forgot-password>\r\n </template>\r\n\r\n <template path=\"/resetPassword\">\r\n <sqm-portal-reset-password\r\n confirm-password=\"true\"\r\n ></sqm-portal-reset-password>\r\n </template>\r\n <template path=\"/logout\">\r\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\r\n </template>\r\n </sqm-router>\r\n </sqm-hero>\r\n </sqm-graphql-client-provider>\r\n </template>\r\n </sqm-router>\r\n <sqm-router>\r\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b)?\">\r\n <sqm-divided-layout direction=\"row\">\r\n <sqm-navigation-sidebar>\r\n <sqm-navigation-sidebar-item\r\n path=\"/\"\r\n icon=\"house\"\r\n label=\"Dashboard\"\r\n ></sqm-navigation-sidebar-item>\r\n <sqm-navigation-sidebar-item\r\n path=\"/activity\"\r\n icon=\"bar-chart\"\r\n label=\"Activity\"\r\n ></sqm-navigation-sidebar-item>\r\n <sqm-navigation-sidebar-item\r\n path=\"/editProfile\"\r\n icon=\"person\"\r\n label=\"Edit Profile\"\r\n ></sqm-navigation-sidebar-item>\r\n <sqm-navigation-sidebar-item\r\n path=\"/logout\"\r\n icon=\"box-arrow-right\"\r\n label=\"Logout\"\r\n ></sqm-navigation-sidebar-item>\r\n </sqm-navigation-sidebar>\r\n <sqm-divided-layout direction=\"column\">\r\n <sqm-router>\r\n <template path=\"/\">\r\n <sqm-portal-protected-route\r\n require-email-verification=\"true\"\r\n redirect-to=\"/login\"\r\n redirect-to-unverified=\"/emailVerification\"\r\n ></sqm-portal-protected-route>\r\n <sqm-portal-container\r\n direction=\"column\"\r\n padding=\"xxx-large\"\r\n gap=\"xxx-large\"\r\n ><sqm-titled-section label-margin=\"xx-small\"\r\n ><sqm-text slot=\"label\"> <p>Welcome back,</p> </sqm-text\r\n ><sqm-text slot=\"content\">\r\n <h1>\r\n <sqm-user-name\r\n fallback=\"Anonymous User\"\r\n ></sqm-user-name>\r\n </h1> </sqm-text\r\n ></sqm-titled-section>\r\n <sqm-stat-container space=\"xxxx-large\"\r\n ><sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/referralsCount\"\r\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\r\n ><sqm-big-stat\r\n style=\"white-space: nowrap\"\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\r\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\r\n >\r\n </sqm-stat-container> </sqm-portal-container\r\n ><sqm-portal-container\r\n direction=\"column\"\r\n padding=\"xxx-large\"\r\n gap=\"xxx-large\"\r\n >\r\n <sqm-titled-section padding=\"none\" label-margin=\"x-large\"\r\n ><sqm-text slot=\"label\">\r\n <h2>Partner and Profit</h2> </sqm-text\r\n ><sqm-text slot=\"content\">\r\n <p>\r\n Get rewarded for referring potential customers to\r\n SaaSquatch. Earn commission for each successful lead you\r\n send our way\r\n </p>\r\n </sqm-text></sqm-titled-section\r\n >\r\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\r\n ><sqm-text slot=\"label\">\r\n <h3>Share your referral link</h3> </sqm-text\r\n ><sqm-share-link slot=\"content\"></sqm-share-link\r\n ></sqm-titled-section>\r\n <sqm-titled-section label-margin=\"small\" padding=\"none\">\r\n <sqm-text slot=\"label\">\r\n <h3>Share your referral code</h3> </sqm-text\r\n ><sqm-share-code slot=\"content\"></sqm-share-code>\r\n </sqm-titled-section>\r\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\r\n ><sqm-text slot=\"label\">\r\n <h3>Share via social media</h3> </sqm-text\r\n ><sqm-portal-container\r\n slot=\"content\"\r\n direction=\"row\"\r\n padding=\"none\"\r\n gap=\"xxx-large\"\r\n min-width=\"160px\"\r\n ><sqm-share-button\r\n icon=\"envelope\"\r\n medium=\"email\"\r\n size=\"medium\"\r\n pill=\"true\"\r\n >Email a friend</sqm-share-button\r\n ><sqm-share-button\r\n medium=\"twitter\"\r\n size=\"medium\"\r\n pill=\"true\"\r\n >Tweet about us</sqm-share-button\r\n ><sqm-share-button\r\n medium=\"facebook\"\r\n size=\"medium\"\r\n pill=\"true\"\r\n >Share on Facebook</sqm-share-button\r\n ></sqm-portal-container\r\n ></sqm-titled-section\r\n ></sqm-portal-container\r\n >\r\n </template>\r\n <template path=\"/editProfile\">\r\n <sqm-portal-protected-route\r\n require-email-verification=\"true\"\r\n redirect-to=\"/login\"\r\n redirect-to-unverified=\"/emailVerification\"\r\n ></sqm-portal-protected-route>\r\n <sqm-portal-container\r\n direction=\"column\"\r\n padding=\"xxx-large\"\r\n gap=\"xxx-large\"\r\n >\r\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\r\n ><sqm-portal-container\r\n direction=\"column\"\r\n padding=\"xxx-large\"\r\n gap=\"xxx-large\"\r\n >\r\n <sqm-graphql-client-provider\r\n domain=\"https://managed-identity.saasquatch.com\"\r\n >\r\n <sqm-portal-change-password></sqm-portal-change-password>\r\n </sqm-graphql-client-provider>\r\n </sqm-portal-container>\r\n </template>\r\n\r\n <template path=\"/activity\">\r\n <sqm-portal-protected-route\r\n require-email-verification=\"true\"\r\n redirect-to=\"/login\"\r\n redirect-to-unverified=\"/emailVerification\"\r\n ></sqm-portal-protected-route>\r\n <sqm-portal-container\r\n direction=\"column\"\r\n padding=\"xxx-large\"\r\n gap=\"xxx-large\"\r\n >\r\n <sqm-text> <h2>Activity</h2></sqm-text>\r\n <sqm-stat-container space=\"xxxx-large\"\r\n ><sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/referralsCount\"\r\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\r\n >\r\n <sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\r\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\r\n >\r\n <sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\r\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\r\n >\r\n </sqm-stat-container>\r\n <sqm-referral-table>\r\n <div slot=\"loading\" style=\"display: contents\">\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n </div>\r\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\r\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\r\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\r\n <sqm-referral-table-date-column\r\n column-title=\"Referred\"\r\n date-shown=\"dateReferralStarted\"\r\n ></sqm-referral-table-date-column> </sqm-referral-table\r\n ></sqm-portal-container>\r\n </template>\r\n </sqm-router>\r\n </sqm-divided-layout>\r\n </sqm-divided-layout>\r\n </template>\r\n </sqm-router>\r\n </sqb-program-section>\r\n <sqm-portal-footer\r\n slot=\"footer\"\r\n support-email=\"support@example.com\"\r\n terms-link=\"https://example.com\"\r\n show-powered-by=\"true\"\r\n ></sqm-portal-footer>\r\n</sqm-portal-frame>\r\n";
|
|
19492
|
+
|
|
19493
|
+
const multiProgramTemplate = "<sqm-portal-frame>\r\n <a slot=\"header\" href=\"/\">\r\n <sqm-text style=\"height: 60px\">\r\n <img\r\n style=\"height: 60px\"\r\n src=\"https://docs.saasquatch.com/assets/images/saasquatch-logo-centered-no-slogan-RGB-300dpi.png\"\r\n />\r\n </sqm-text>\r\n </a>\r\n <sqb-program-section program-id=\"referral-program-1\">\r\n <sqm-router>\r\n <template\r\n path=\"/:path(\\bregister\\b|\\bemailVerification\\b|\\blogin\\b|\\bverifyEmail\\b|\\bforgotPassword\\b|\\bresetPassword\\b|\\blogout\\b)\"\r\n >\r\n <sqm-graphql-client-provider\r\n domain=\"https://managed-identity.saasquatch.com\"\r\n >\r\n <sqm-hero\r\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\r\n >\r\n <sqm-router>\r\n <template path=\"/register\">\r\n <sqm-portal-register>\r\n <sl-input\r\n slot=\"formData\"\r\n exportparts=\"label: input-label\"\r\n type=\"text\"\r\n style=\"margin-bottom: 5px\"\r\n name=\"/firstName\"\r\n label=\"First Name\"\r\n required\r\n ></sl-input>\r\n <sl-input\r\n slot=\"formData\"\r\n exportparts=\"label: input-label\"\r\n type=\"text\"\r\n style=\"margin-bottom: 5px\"\r\n name=\"/lastName\"\r\n label=\"Last Name\"\r\n required\r\n ></sl-input>\r\n </sqm-portal-register>\r\n </template>\r\n\r\n <template path=\"/emailVerification\">\r\n <sqm-portal-protected-route\r\n redirect-to=\"/login\"\r\n ></sqm-portal-protected-route>\r\n <sqm-portal-email-verification></sqm-portal-email-verification>\r\n </template>\r\n\r\n <template path=\"/login\">\r\n <sqm-portal-login></sqm-portal-login>\r\n </template>\r\n\r\n <template path=\"/verifyEmail\">\r\n <sqm-portal-verify-email></sqm-portal-verify-email>\r\n </template>\r\n\r\n <template path=\"/forgotPassword\">\r\n <sqm-portal-forgot-password\r\n email-label=\"Business Email\"\r\n ></sqm-portal-forgot-password>\r\n </template>\r\n\r\n <template path=\"/resetPassword\">\r\n <sqm-portal-reset-password\r\n confirm-password=\"true\"\r\n ></sqm-portal-reset-password>\r\n </template>\r\n <template path=\"/logout\">\r\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\r\n </template>\r\n </sqm-router>\r\n </sqm-hero>\r\n </sqm-graphql-client-provider>\r\n </template>\r\n </sqm-router>\r\n <sqm-router>\r\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b)?\">\r\n <sqm-divided-layout direction=\"row\">\r\n <sqm-navigation-sidebar>\r\n <sqm-program-menu>\r\n <sl-menu-item value=\"referral-program-1\"\r\n >Referral Program 1</sl-menu-item\r\n >\r\n <sl-menu-item value=\"referral-program-2\"\r\n >Referral Program 2</sl-menu-item\r\n >\r\n </sqm-program-menu>\r\n <sqm-navigation-sidebar-item\r\n path=\"/\"\r\n icon=\"house\"\r\n label=\"Dashboard\"\r\n ></sqm-navigation-sidebar-item>\r\n <sqm-navigation-sidebar-item\r\n path=\"/activity\"\r\n icon=\"bar-chart\"\r\n label=\"Activity\"\r\n ></sqm-navigation-sidebar-item>\r\n <sqm-navigation-sidebar-item\r\n path=\"/editProfile\"\r\n icon=\"person\"\r\n label=\"Edit Profile\"\r\n ></sqm-navigation-sidebar-item>\r\n <sqm-navigation-sidebar-item\r\n path=\"/logout\"\r\n icon=\"box-arrow-right\"\r\n label=\"Logout\"\r\n ></sqm-navigation-sidebar-item>\r\n </sqm-navigation-sidebar>\r\n <sqm-divided-layout direction=\"column\">\r\n <sqm-router>\r\n <template path=\"/\">\r\n <sqm-portal-protected-route\r\n require-email-verification=\"true\"\r\n redirect-to=\"/login\"\r\n redirect-to-unverified=\"/emailVerification\"\r\n ></sqm-portal-protected-route>\r\n <sqb-program-switch>\r\n <template program-id=\"referral-program-1\">\r\n <sqb-widget\r\n widget-type=\"p/referral-program-1/w/referrerWidget\"\r\n ></sqb-widget>\r\n </template>\r\n <template program-id=\"referral-program-2\">\r\n <sqb-widget\r\n widget-type=\"p/referral-program-2/w/referrerWidget\"\r\n ></sqb-widget>\r\n </template>\r\n </sqb-program-switch>\r\n </template>\r\n <template path=\"/editProfile\">\r\n <sqm-portal-protected-route\r\n require-email-verification=\"true\"\r\n redirect-to=\"/login\"\r\n redirect-to-unverified=\"/emailVerification\"\r\n ></sqm-portal-protected-route>\r\n <sqm-portal-container\r\n direction=\"column\"\r\n padding=\"xxx-large\"\r\n gap=\"xxx-large\"\r\n >\r\n <sqm-portal-profile></sqm-portal-profile></sqm-portal-container\r\n ><sqm-portal-container\r\n direction=\"column\"\r\n padding=\"xxx-large\"\r\n gap=\"xxx-large\"\r\n >\r\n <sqm-graphql-client-provider\r\n domain=\"https://managed-identity.saasquatch.com\"\r\n >\r\n <sqm-portal-change-password></sqm-portal-change-password>\r\n </sqm-graphql-client-provider>\r\n </sqm-portal-container>\r\n </template>\r\n <template path=\"/activity\">\r\n <sqm-portal-protected-route\r\n require-email-verification=\"true\"\r\n redirect-to=\"/login\"\r\n redirect-to-unverified=\"/emailVerification\"\r\n ></sqm-portal-protected-route>\r\n <sqm-portal-container\r\n direction=\"column\"\r\n padding=\"xxx-large\"\r\n gap=\"xxx-large\"\r\n >\r\n <sqm-text> <h2>Activity</h2></sqm-text>\r\n <sqm-stat-container space=\"xxxx-large\"\r\n ><sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/referralsCount\"\r\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\r\n >\r\n <sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\r\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\r\n >\r\n <sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\r\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\r\n >\r\n </sqm-stat-container>\r\n <sqm-referral-table>\r\n <div slot=\"loading\" style=\"display: contents\">\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n </div>\r\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\r\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\r\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\r\n <sqm-referral-table-date-column\r\n column-title=\"Referred\"\r\n date-shown=\"dateReferralStarted\"\r\n ></sqm-referral-table-date-column> </sqm-referral-table\r\n ></sqm-portal-container>\r\n </template>\r\n </sqm-router>\r\n </sqm-divided-layout>\r\n </sqm-divided-layout>\r\n </template>\r\n </sqm-router>\r\n </sqb-program-section>\r\n <sqm-portal-footer\r\n slot=\"footer\"\r\n support-email=\"support@example.com\"\r\n terms-link=\"https://example.com\"\r\n show-powered-by=\"true\"\r\n ></sqm-portal-footer>\r\n</sqm-portal-frame>\r\n";
|
|
19494
|
+
|
|
19495
|
+
const multiProgramTemplateWithDashboard = "<sqm-portal-frame>\r\n <a slot=\"header\" href=\"/\">\r\n <sqm-text style=\"height: 60px\">\r\n <img\r\n style=\"height: 60px\"\r\n src=\"https://docs.saasquatch.com/assets/images/saasquatch-logo-centered-no-slogan-RGB-300dpi.png\"\r\n />\r\n </sqm-text>\r\n </a>\r\n <sqb-program-section program-id=\"referral-program-1\">\r\n <sqm-graphql-client-provider\r\n domain=\"https://managed-identity.saasquatch.com\"\r\n >\r\n <sqm-hero\r\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\r\n >\r\n <sqm-router>\r\n <template path=\"/register\">\r\n <sqm-portal-register>\r\n <sl-input\r\n slot=\"formData\"\r\n exportparts=\"label: input-label\"\r\n type=\"text\"\r\n style=\"margin-bottom: 5px\"\r\n name=\"/firstName\"\r\n label=\"First Name\"\r\n required\r\n ></sl-input>\r\n <sl-input\r\n slot=\"formData\"\r\n exportparts=\"label: input-label\"\r\n type=\"text\"\r\n style=\"margin-bottom: 5px\"\r\n name=\"/lastName\"\r\n label=\"Last Name\"\r\n required\r\n ></sl-input>\r\n </sqm-portal-register>\r\n </template>\r\n\r\n <template path=\"/emailVerification\">\r\n <sqm-portal-protected-route\r\n redirect-to=\"/login\"\r\n ></sqm-portal-protected-route>\r\n <sqm-portal-email-verification></sqm-portal-email-verification>\r\n </template>\r\n\r\n <template path=\"/login\">\r\n <sqm-portal-login></sqm-portal-login>\r\n </template>\r\n\r\n <template path=\"/verifyEmail\">\r\n <sqm-portal-verify-email></sqm-portal-verify-email>\r\n </template>\r\n\r\n <template path=\"/forgotPassword\">\r\n <sqm-portal-forgot-password\r\n email-label=\"Business Email\"\r\n ></sqm-portal-forgot-password>\r\n </template>\r\n\r\n <template path=\"/resetPassword\">\r\n <sqm-portal-reset-password\r\n confirm-password=\"true\"\r\n ></sqm-portal-reset-password>\r\n </template>\r\n <template path=\"/logout\">\r\n <sqm-portal-logout next-page=\"/login\"></sqm-portal-logout>\r\n </template>\r\n </sqm-router>\r\n </sqm-hero>\r\n </sqm-graphql-client-provider>\r\n <sqm-router>\r\n <template path=\"/:path(\\bactivity\\b|\\beditProfile\\b)?\">\r\n <sqm-divided-layout direction=\"row\">\r\n <sqm-navigation-sidebar>\r\n <sqm-program-menu>\r\n <sl-menu-item value=\"referral-program-1\"\r\n >Referral Program 1</sl-menu-item\r\n >\r\n <sl-menu-item value=\"referral-program-2\"\r\n >Referral Program 2</sl-menu-item\r\n >\r\n </sqm-program-menu>\r\n <sqm-navigation-sidebar-item\r\n path=\"/\"\r\n icon=\"house\"\r\n label=\"Dashboard\"\r\n ></sqm-navigation-sidebar-item>\r\n <sqm-navigation-sidebar-item\r\n path=\"/activity\"\r\n icon=\"bar-chart\"\r\n label=\"Activity\"\r\n ></sqm-navigation-sidebar-item>\r\n <sqm-navigation-sidebar-item\r\n path=\"/editProfile\"\r\n icon=\"person\"\r\n label=\"Edit Profile\"\r\n ></sqm-navigation-sidebar-item>\r\n <sqm-navigation-sidebar-item\r\n path=\"/logout\"\r\n icon=\"box-arrow-right\"\r\n label=\"Logout\"\r\n ></sqm-navigation-sidebar-item>\r\n </sqm-navigation-sidebar>\r\n <sqm-divided-layout direction=\"column\">\r\n <sqm-router>\r\n <template path=\"/\">\r\n <sqm-portal-protected-route\r\n require-email-verification=\"true\"\r\n redirect-to=\"/login\"\r\n redirect-to-unverified=\"/emailVerification\"\r\n ></sqm-portal-protected-route\r\n ><sqm-portal-container\r\n direction=\"column\"\r\n padding=\"xxx-large\"\r\n gap=\"xxx-large\"\r\n ><sqm-titled-section label-margin=\"xx-small\"\r\n ><sqm-text slot=\"label\"> <p>Welcome back,</p> </sqm-text\r\n ><sqm-text slot=\"content\">\r\n <h1>\r\n <sqm-user-name\r\n fallback=\"Anonymous User\"\r\n ></sqm-user-name>\r\n </h1> </sqm-text\r\n ></sqm-titled-section>\r\n <sqm-stat-container space=\"xxxx-large\"\r\n ><sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/referralsCount\"\r\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\r\n >\r\n <sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\r\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\r\n >\r\n <sqm-big-stat\r\n style=\"white-space: nowrap\"\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\r\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\r\n >\r\n </sqm-stat-container> </sqm-portal-container\r\n ><sqm-portal-container\r\n direction=\"column\"\r\n padding=\"xxx-large\"\r\n gap=\"xxx-large\"\r\n >\r\n <sqm-titled-section padding=\"none\" label-margin=\"x-large\"\r\n ><sqm-text slot=\"label\">\r\n <h2>Partner and Profit</h2> </sqm-text\r\n ><sqm-text slot=\"content\">\r\n <p>\r\n Get rewarded for referring potential customers to\r\n SaaSquatch. Earn commission for each successful lead you\r\n send our way\r\n </p>\r\n </sqm-text></sqm-titled-section\r\n >\r\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\r\n ><sqm-text slot=\"label\">\r\n <h3>Share your referral link</h3> </sqm-text\r\n ><sqm-share-link slot=\"content\"></sqm-share-link\r\n ></sqm-titled-section>\r\n <sqm-titled-section label-margin=\"small\" padding=\"none\">\r\n <sqm-text slot=\"label\">\r\n <h3>Share your referral code</h3> </sqm-text\r\n ><sqm-share-code slot=\"content\"></sqm-share-code>\r\n </sqm-titled-section>\r\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\r\n ><sqm-text slot=\"label\">\r\n <h3>Share via social media</h3> </sqm-text\r\n ><sqm-portal-container\r\n slot=\"content\"\r\n direction=\"row\"\r\n padding=\"none\"\r\n gap=\"xxx-large\"\r\n min-width=\"160px\"\r\n ><sqm-share-button\r\n icon=\"envelope\"\r\n medium=\"email\"\r\n size=\"medium\"\r\n pill=\"true\"\r\n >Email a friend</sqm-share-button\r\n ><sqm-share-button\r\n medium=\"twitter\"\r\n size=\"medium\"\r\n pill=\"true\"\r\n >Tweet about us</sqm-share-button\r\n ><sqm-share-button\r\n medium=\"facebook\"\r\n size=\"medium\"\r\n pill=\"true\"\r\n >Share on Facebook</sqm-share-button\r\n ></sqm-portal-container\r\n ></sqm-titled-section\r\n ></sqm-portal-container\r\n >\r\n </template>\r\n <template path=\"/editProfile\">\r\n <sqm-portal-protected-route\r\n require-email-verification=\"true\"\r\n redirect-to=\"/login\"\r\n redirect-to-unverified=\"/emailVerification\"\r\n ></sqm-portal-protected-route>\r\n <sqm-portal-container\r\n direction=\"column\"\r\n padding=\"xxx-large\"\r\n gap=\"xxx-large\"\r\n >\r\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\r\n ><sqm-portal-container\r\n direction=\"column\"\r\n padding=\"xxx-large\"\r\n gap=\"xxx-large\"\r\n >\r\n <sqm-graphql-client-provider\r\n domain=\"https://managed-identity.saasquatch.com\"\r\n >\r\n <sqm-portal-change-password></sqm-portal-change-password>\r\n </sqm-graphql-client-provider>\r\n </sqm-portal-container>\r\n </template>\r\n <template path=\"/activity\">\r\n <sqm-portal-protected-route\r\n require-email-verification=\"true\"\r\n redirect-to=\"/login\"\r\n redirect-to-unverified=\"/emailVerification\"\r\n ></sqm-portal-protected-route>\r\n <sqm-portal-container\r\n direction=\"column\"\r\n padding=\"xxx-large\"\r\n gap=\"xxx-large\"\r\n >\r\n <sqm-text> <h2>Activity</h2></sqm-text>\r\n <sqm-stat-container space=\"xxxx-large\"\r\n ><sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/referralsCount\"\r\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\r\n >\r\n <sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/rewardsCountFiltered/AVAILABLE\"\r\n ><sqm-text><p>Rewards Earned</p></sqm-text></sqm-big-stat\r\n >\r\n <sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\r\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\r\n >\r\n </sqm-stat-container>\r\n <sqm-referral-table>\r\n <div slot=\"loading\" style=\"display: contents\">\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"\r\n ><sl-skeleton></sl-skeleton\r\n ></sqm-table-cell>\r\n </sqm-table-row>\r\n </div>\r\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\r\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\r\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\r\n <sqm-referral-table-date-column\r\n column-title=\"Referred\"\r\n date-shown=\"dateReferralStarted\"\r\n ></sqm-referral-table-date-column> </sqm-referral-table\r\n ></sqm-portal-container>\r\n </template>\r\n </sqm-router>\r\n </sqm-divided-layout>\r\n </sqm-divided-layout>\r\n </template>\r\n </sqm-router>\r\n </sqb-program-section>\r\n <sqm-portal-footer\r\n slot=\"footer\"\r\n support-email=\"support@example.com\"\r\n terms-link=\"https://example.com\"\r\n show-powered-by=\"true\"\r\n ></sqm-portal-footer>\r\n</sqm-portal-frame>\r\n";
|
|
19496
|
+
|
|
19497
|
+
const dashboardTemplate = "<sqm-portal-container direction=\"column\" padding=\"xxx-large\" gap=\"xxx-large\"\r\n ><sqm-titled-section label-margin=\"xx-small\"\r\n ><sqm-text slot=\"label\"> <p>Welcome back,</p> </sqm-text\r\n ><sqm-text slot=\"content\">\r\n <h1>\r\n <sqm-user-name fallback=\"Anonymous User\"></sqm-user-name>\r\n </h1> </sqm-text\r\n ></sqm-titled-section>\r\n <sqm-stat-container space=\"xxxx-large\"\r\n ><sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/referralsCount\"\r\n ><sqm-text><p>Referrals</p></sqm-text></sqm-big-stat\r\n ><sqm-big-stat\r\n style=\"white-space: nowrap\"\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\r\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\r\n >\r\n </sqm-stat-container> </sqm-portal-container\r\n ><sqm-portal-container direction=\"column\" padding=\"xxx-large\" gap=\"xxx-large\">\r\n <sqm-titled-section padding=\"none\" label-margin=\"x-large\"\r\n ><sqm-text slot=\"label\"> <h2>Partner and Profit</h2> </sqm-text\r\n ><sqm-text slot=\"content\">\r\n <p>\r\n Get rewarded for referring potential customers to SaaSquatch. Earn\r\n commission for each successful lead you send our way\r\n </p>\r\n </sqm-text></sqm-titled-section\r\n >\r\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\r\n ><sqm-text slot=\"label\"> <h3>Share your referral link</h3> </sqm-text\r\n ><sqm-share-link slot=\"content\"></sqm-share-link\r\n ></sqm-titled-section>\r\n <sqm-titled-section label-margin=\"small\" padding=\"none\">\r\n <sqm-text slot=\"label\"> <h3>Share your referral code</h3> </sqm-text\r\n ><sqm-share-code slot=\"content\"></sqm-share-code>\r\n </sqm-titled-section>\r\n <sqm-titled-section label-margin=\"small\" padding=\"none\"\r\n ><sqm-text slot=\"label\"> <h3>Share via social media</h3> </sqm-text\r\n ><sqm-portal-container\r\n slot=\"content\"\r\n direction=\"row\"\r\n padding=\"none\"\r\n gap=\"xxx-large\"\r\n min-width=\"160px\"\r\n ><sqm-share-button\r\n icon=\"envelope\"\r\n medium=\"email\"\r\n size=\"medium\"\r\n pill=\"true\"\r\n >Email a friend</sqm-share-button\r\n ><sqm-share-button medium=\"twitter\" size=\"medium\" pill=\"true\"\r\n >Tweet about us</sqm-share-button\r\n ><sqm-share-button medium=\"facebook\" size=\"medium\" pill=\"true\"\r\n >Share on Facebook</sqm-share-button\r\n ></sqm-portal-container\r\n ></sqm-titled-section\r\n ></sqm-portal-container\r\n >";
|
|
19498
|
+
|
|
19499
|
+
const editProfileTemplate = "<sqm-portal-protected-route\r\n require-email-verification=\"true\"\r\n redirect-to=\"/login\"\r\n redirect-to-unverified=\"/emailVerification\"\r\n></sqm-portal-protected-route>\r\n<sqm-portal-container direction=\"column\" padding=\"xxx-large\" gap=\"xxx-large\">\r\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\r\n><sqm-portal-container direction=\"column\" padding=\"xxx-large\" gap=\"xxx-large\">\r\n <sqm-graphql-client-provider domain=\"https://managed-identity.saasquatch.com\">\r\n <sqm-portal-change-password></sqm-portal-change-password>\r\n </sqm-graphql-client-provider>\r\n</sqm-portal-container>\r\n";
|
|
19500
|
+
|
|
19501
|
+
const activityTemplate = "<sqm-portal-protected-route\r\n require-email-verification=\"true\"\r\n redirect-to=\"/login\"\r\n redirect-to-unverified=\"/emailVerification\"\r\n></sqm-portal-protected-route>\r\n<sqm-portal-container direction=\"column\" padding=\"xxx-large\" gap=\"xxx-large\">\r\n <sqm-text> <h2>Activity</h2></sqm-text>\r\n <sqm-stat-container space=\"xxxx-large\"\r\n ><sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/referralsCount\"\r\n ><sqm-text><p>Subscribers</p></sqm-text></sqm-big-stat\r\n ><sqm-big-stat\r\n flex-reverse=\"true\"\r\n alignment=\"left\"\r\n stat-type=\"/rewardBalance/CREDIT/CENTS\"\r\n ><sqm-text><p>Reward Balance</p></sqm-text></sqm-big-stat\r\n >\r\n </sqm-stat-container>\r\n <sqm-referral-table>\r\n <div slot=\"loading\" style=\"display: contents\">\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"><sl-skeleton></sl-skeleton></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"><sl-skeleton></sl-skeleton></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"><sl-skeleton></sl-skeleton></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"><sl-skeleton></sl-skeleton></sqm-table-cell>\r\n </sqm-table-row>\r\n <sqm-table-row>\r\n <sqm-table-cell colspan=\"5\"><sl-skeleton></sl-skeleton></sqm-table-cell>\r\n </sqm-table-row>\r\n </div>\r\n <sqm-referral-table-user-column></sqm-referral-table-user-column>\r\n <sqm-referral-table-rewards-column></sqm-referral-table-rewards-column>\r\n <sqm-referral-table-status-column></sqm-referral-table-status-column>\r\n <sqm-referral-table-date-column\r\n column-title=\"Referred\"\r\n date-shown=\"dateReferralStarted\"\r\n ></sqm-referral-table-date-column> </sqm-referral-table\r\n></sqm-portal-container>\r\n";
|
|
19502
|
+
|
|
19503
|
+
const resetPasswordEmailTemplate = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional //EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n\r\n<html\r\n xmlns=\"http://www.w3.org/1999/xhtml\"\r\n xmlns:o=\"urn:schemas-microsoft-com:office:office\"\r\n xmlns:v=\"urn:schemas-microsoft-com:vml\"\r\n>\r\n <head>\r\n <!--[if gte mso 9\r\n ]><xml\r\n ><o:OfficeDocumentSettings\r\n ><o:AllowPNG /><o:PixelsPerInch\r\n >96</o:PixelsPerInch\r\n ></o:OfficeDocumentSettings\r\n ></xml\r\n ><!\r\n [endif]-->\r\n <meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\" />\r\n <meta content=\"width=device-width\" name=\"viewport\" />\r\n <!--[if !mso]><!-->\r\n <meta content=\"IE=edge\" http-equiv=\"X-UA-Compatible\" />\r\n <!--<![endif]-->\r\n <title></title>\r\n <!--[if !mso]><!-->\r\n <!--<![endif]-->\r\n <style type=\"text/css\">\r\n body {\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n table,\r\n td,\r\n tr {\r\n vertical-align: top;\r\n border-collapse: collapse;\r\n }\r\n\r\n * {\r\n line-height: inherit;\r\n }\r\n\r\n a[x-apple-data-detectors=\"true\"] {\r\n color: inherit !important;\r\n text-decoration: none !important;\r\n }\r\n </style>\r\n <style id=\"media-query\" type=\"text/css\">\r\n @media (max-width: 520px) {\r\n .block-grid,\r\n .col {\r\n min-width: 320px !important;\r\n max-width: 100% !important;\r\n display: block !important;\r\n }\r\n\r\n .block-grid {\r\n width: 100% !important;\r\n }\r\n\r\n .col {\r\n width: 100% !important;\r\n }\r\n\r\n .col_cont {\r\n margin: 0 auto;\r\n }\r\n\r\n img.fullwidth,\r\n img.fullwidthOnMobile {\r\n max-width: 100% !important;\r\n }\r\n\r\n .no-stack .col {\r\n min-width: 0 !important;\r\n display: table-cell !important;\r\n }\r\n\r\n .no-stack.two-up .col {\r\n width: 50% !important;\r\n }\r\n\r\n .no-stack .col.num2 {\r\n width: 16.6% !important;\r\n }\r\n\r\n .no-stack .col.num3 {\r\n width: 25% !important;\r\n }\r\n\r\n .no-stack .col.num4 {\r\n width: 33% !important;\r\n }\r\n\r\n .no-stack .col.num5 {\r\n width: 41.6% !important;\r\n }\r\n\r\n .no-stack .col.num6 {\r\n width: 50% !important;\r\n }\r\n\r\n .no-stack .col.num7 {\r\n width: 58.3% !important;\r\n }\r\n\r\n .no-stack .col.num8 {\r\n width: 66.6% !important;\r\n }\r\n\r\n .no-stack .col.num9 {\r\n width: 75% !important;\r\n }\r\n\r\n .no-stack .col.num10 {\r\n width: 83.3% !important;\r\n }\r\n\r\n .video-block {\r\n max-width: none !important;\r\n }\r\n\r\n .mobile_hide {\r\n min-height: 0px;\r\n max-height: 0px;\r\n max-width: 0px;\r\n display: none;\r\n overflow: hidden;\r\n font-size: 0px;\r\n }\r\n\r\n .desktop_hide {\r\n display: block !important;\r\n max-height: none !important;\r\n }\r\n }\r\n </style>\r\n <style id=\"icon-media-query\" type=\"text/css\">\r\n @media (max-width: 520px) {\r\n .icons-inner {\r\n text-align: center;\r\n }\r\n\r\n .icons-inner td {\r\n margin: 0 auto;\r\n }\r\n }\r\n </style>\r\n </head>\r\n <body\r\n class=\"clean-body\"\r\n style=\"\r\n margin: 0;\r\n padding: 0;\r\n -webkit-text-size-adjust: 100%;\r\n background-color: #ffffff;\r\n \"\r\n >\r\n <!--[if IE]><div class=\"ie-browser\"><![endif]-->\r\n <table\r\n bgcolor=\"#FFFFFF\"\r\n cellpadding=\"0\"\r\n cellspacing=\"0\"\r\n class=\"nl-container\"\r\n role=\"presentation\"\r\n style=\"\r\n table-layout: fixed;\r\n vertical-align: top;\r\n min-width: 320px;\r\n border-spacing: 0;\r\n border-collapse: collapse;\r\n mso-table-lspace: 0pt;\r\n mso-table-rspace: 0pt;\r\n background-color: #ffffff;\r\n width: 100%;\r\n \"\r\n valign=\"top\"\r\n width=\"100%\"\r\n >\r\n <tbody>\r\n <tr style=\"vertical-align: top\" valign=\"top\">\r\n <td style=\"word-break: break-word; vertical-align: top\" valign=\"top\">\r\n <!--[if (mso)|(IE)]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td align=\"center\" style=\"background-color:#FFFFFF\"><![endif]-->\r\n <div style=\"background-color: transparent\">\r\n <div\r\n class=\"block-grid\"\r\n style=\"\r\n min-width: 320px;\r\n max-width: 500px;\r\n overflow-wrap: break-word;\r\n word-wrap: break-word;\r\n word-break: break-word;\r\n margin: 0 auto;\r\n background-color: transparent;\r\n \"\r\n >\r\n <div\r\n style=\"\r\n border-collapse: collapse;\r\n display: table;\r\n width: 100%;\r\n background-color: transparent;\r\n \"\r\n >\r\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]-->\r\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]-->\r\n <div\r\n class=\"col num12\"\r\n style=\"\r\n min-width: 320px;\r\n max-width: 500px;\r\n display: table-cell;\r\n vertical-align: top;\r\n width: 500px;\r\n \"\r\n >\r\n <div class=\"col_cont\" style=\"width: 100% !important\">\r\n <!--[if (!mso)&(!IE)]><!-->\r\n <div\r\n style=\"\r\n border-top: 0px solid transparent;\r\n border-left: 0px solid transparent;\r\n border-bottom: 0px solid transparent;\r\n border-right: 0px solid transparent;\r\n padding-top: 5px;\r\n padding-bottom: 5px;\r\n padding-right: 0px;\r\n padding-left: 0px;\r\n \"\r\n >\r\n <!--<![endif]-->\r\n <table\r\n cellpadding=\"0\"\r\n cellspacing=\"0\"\r\n role=\"presentation\"\r\n style=\"\r\n table-layout: fixed;\r\n vertical-align: top;\r\n border-spacing: 0;\r\n border-collapse: collapse;\r\n mso-table-lspace: 0pt;\r\n mso-table-rspace: 0pt;\r\n \"\r\n valign=\"top\"\r\n width=\"100%\"\r\n >\r\n <tr style=\"vertical-align: top\" valign=\"top\">\r\n <td\r\n align=\"center\"\r\n style=\"\r\n word-break: break-word;\r\n vertical-align: top;\r\n padding-bottom: 20px;\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n padding-top: 10px;\r\n text-align: center;\r\n width: 100%;\r\n \"\r\n valign=\"top\"\r\n width=\"100%\"\r\n >\r\n <h1\r\n style=\"\r\n color: #444445;\r\n direction: ltr;\r\n font-family: 'Helvetica Neue', Helvetica,\r\n Arial, sans-serif;\r\n font-size: 20px;\r\n font-weight: normal;\r\n letter-spacing: normal;\r\n line-height: 120%;\r\n text-align: left;\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n \"\r\n >\r\n <strong>Reset your password</strong>\r\n </h1>\r\n </td>\r\n </tr>\r\n </table>\r\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]-->\r\n <div\r\n style=\"\r\n color: #444445;\r\n font-family: Arial, Helvetica Neue, Helvetica,\r\n sans-serif;\r\n line-height: 1.8;\r\n padding-top: 10px;\r\n padding-right: 10px;\r\n padding-bottom: 10px;\r\n padding-left: 10px;\r\n \"\r\n >\r\n <div\r\n class=\"txtTinyMce-wrapper\"\r\n style=\"\r\n font-size: 14px;\r\n line-height: 1.8;\r\n color: #444445;\r\n font-family: Arial, Helvetica Neue, Helvetica,\r\n sans-serif;\r\n mso-line-height-alt: 25px;\r\n \"\r\n >\r\n <p\r\n style=\"\r\n margin: 0;\r\n font-size: 14px;\r\n line-height: 1.8;\r\n word-break: break-word;\r\n mso-line-height-alt: 25px;\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n \"\r\n >\r\n <span style=\"font-size: 14px\"\r\n >We received a request to reset your password.\r\n Click the button below to reset your\r\n password.</span\r\n >\r\n </p>\r\n </div>\r\n </div>\r\n <div\r\n align=\"center\"\r\n class=\"button-container\"\r\n style=\"\r\n padding-top: 10px;\r\n padding-right: 10px;\r\n padding-bottom: 10px;\r\n padding-left: 10px;\r\n \"\r\n >\r\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\"><!\r\n [endif]--><a\r\n href=\"{{validationLink}}\"\r\n target=\"_blank\"\r\n style=\"\r\n -webkit-text-size-adjust: none;\r\n text-decoration: none;\r\n display: block;\r\n color: #ffffff;\r\n background-color: #2270ee;\r\n border-radius: 5px;\r\n -webkit-border-radius: 5px;\r\n -moz-border-radius: 5px;\r\n width: 100%;\r\n width: calc(100% - 2px);\r\n border-top: 1px solid #2270ee;\r\n border-right: 1px solid #2270ee;\r\n border-bottom: 1px solid #2270ee;\r\n border-left: 1px solid #2270ee;\r\n padding-top: 5px;\r\n padding-bottom: 5px;\r\n font-family: 'Helvetica Neue', Helvetica, Arial,\r\n sans-serif;\r\n text-align: center;\r\n mso-border-alt: none;\r\n word-break: keep-all;\r\n \"\r\n target=\"_blank\"\r\n ><span\r\n style=\"\r\n padding-left: 20px;\r\n padding-right: 20px;\r\n font-size: 14px;\r\n display: inline-block;\r\n letter-spacing: undefined;\r\n \"\r\n ><span\r\n style=\"\r\n font-size: 16px;\r\n line-height: 2;\r\n word-break: break-word;\r\n mso-line-height-alt: 32px;\r\n \"\r\n ><span\r\n style=\"font-size: 14px; line-height: 28px\"\r\n >Reset Password</span\r\n ></span\r\n ></span\r\n ></a\r\n >\r\n <!--[if mso]></center></v:textbox></v:roundrect></td></tr></table><![endif]-->\r\n </div>\r\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]-->\r\n <div\r\n style=\"\r\n color: #444445;\r\n font-family: Arial, Helvetica Neue, Helvetica,\r\n sans-serif;\r\n line-height: 1.2;\r\n padding-top: 15px;\r\n padding-right: 10px;\r\n padding-bottom: 15px;\r\n padding-left: 10px;\r\n \"\r\n >\r\n <div\r\n class=\"txtTinyMce-wrapper\"\r\n style=\"\r\n font-size: 14px;\r\n line-height: 1.2;\r\n color: #444445;\r\n font-family: Arial, Helvetica Neue, Helvetica,\r\n sans-serif;\r\n mso-line-height-alt: 17px;\r\n \"\r\n >\r\n <p\r\n style=\"\r\n margin: 0;\r\n font-size: 12px;\r\n line-height: 1.2;\r\n word-break: break-word;\r\n mso-line-height-alt: 14px;\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n \"\r\n >\r\n <span style=\"font-size: 12px\"\r\n >If you didn't request a password reset please\r\n ignore this email. Your password will not\r\n change.</span\r\n >\r\n </p>\r\n </div>\r\n </div>\r\n <!--[if mso]></td></tr></table><![endif]-->\r\n <!--[if (!mso)&(!IE)]><!-->\r\n </div>\r\n <!--<![endif]-->\r\n </div>\r\n </div>\r\n <!--[if (mso)|(IE)]></td></tr></table><![endif]-->\r\n <!--[if (mso)|(IE)]></td></tr></table></td></tr></table><![endif]-->\r\n </div>\r\n </div>\r\n </div>\r\n <!--[if (mso)|(IE)]></td></tr></table><![endif]-->\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <!--[if (IE)]></div><![endif]-->\r\n </body>\r\n</html>";
|
|
19504
|
+
|
|
19505
|
+
const verifyEmailTemplate = "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional //EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\r\n\r\n<html\r\n xmlns=\"http://www.w3.org/1999/xhtml\"\r\n xmlns:o=\"urn:schemas-microsoft-com:office:office\"\r\n xmlns:v=\"urn:schemas-microsoft-com:vml\"\r\n>\r\n <head>\r\n <!--[if gte mso 9\r\n ]><xml\r\n ><o:OfficeDocumentSettings\r\n ><o:AllowPNG /><o:PixelsPerInch\r\n >96</o:PixelsPerInch\r\n ></o:OfficeDocumentSettings\r\n ></xml\r\n ><!\r\n [endif]-->\r\n <meta content=\"text/html; charset=utf-8\" http-equiv=\"Content-Type\" />\r\n <meta content=\"width=device-width\" name=\"viewport\" />\r\n <!--[if !mso]><!-->\r\n <meta content=\"IE=edge\" http-equiv=\"X-UA-Compatible\" />\r\n <!--<![endif]-->\r\n <title></title>\r\n <!--[if !mso]><!-->\r\n <!--<![endif]-->\r\n <style type=\"text/css\">\r\n body {\r\n margin: 0;\r\n padding: 0;\r\n }\r\n\r\n table,\r\n td,\r\n tr {\r\n vertical-align: top;\r\n border-collapse: collapse;\r\n }\r\n\r\n * {\r\n line-height: inherit;\r\n }\r\n\r\n a[x-apple-data-detectors=\"true\"] {\r\n color: inherit !important;\r\n text-decoration: none !important;\r\n }\r\n </style>\r\n <style id=\"media-query\" type=\"text/css\">\r\n @media (max-width: 520px) {\r\n .block-grid,\r\n .col {\r\n min-width: 320px !important;\r\n max-width: 100% !important;\r\n display: block !important;\r\n }\r\n\r\n .block-grid {\r\n width: 100% !important;\r\n }\r\n\r\n .col {\r\n width: 100% !important;\r\n }\r\n\r\n .col_cont {\r\n margin: 0 auto;\r\n }\r\n\r\n img.fullwidth,\r\n img.fullwidthOnMobile {\r\n max-width: 100% !important;\r\n }\r\n\r\n .no-stack .col {\r\n min-width: 0 !important;\r\n display: table-cell !important;\r\n }\r\n\r\n .no-stack.two-up .col {\r\n width: 50% !important;\r\n }\r\n\r\n .no-stack .col.num2 {\r\n width: 16.6% !important;\r\n }\r\n\r\n .no-stack .col.num3 {\r\n width: 25% !important;\r\n }\r\n\r\n .no-stack .col.num4 {\r\n width: 33% !important;\r\n }\r\n\r\n .no-stack .col.num5 {\r\n width: 41.6% !important;\r\n }\r\n\r\n .no-stack .col.num6 {\r\n width: 50% !important;\r\n }\r\n\r\n .no-stack .col.num7 {\r\n width: 58.3% !important;\r\n }\r\n\r\n .no-stack .col.num8 {\r\n width: 66.6% !important;\r\n }\r\n\r\n .no-stack .col.num9 {\r\n width: 75% !important;\r\n }\r\n\r\n .no-stack .col.num10 {\r\n width: 83.3% !important;\r\n }\r\n\r\n .video-block {\r\n max-width: none !important;\r\n }\r\n\r\n .mobile_hide {\r\n min-height: 0px;\r\n max-height: 0px;\r\n max-width: 0px;\r\n display: none;\r\n overflow: hidden;\r\n font-size: 0px;\r\n }\r\n\r\n .desktop_hide {\r\n display: block !important;\r\n max-height: none !important;\r\n }\r\n }\r\n </style>\r\n <style id=\"icon-media-query\" type=\"text/css\">\r\n @media (max-width: 520px) {\r\n .icons-inner {\r\n text-align: center;\r\n }\r\n\r\n .icons-inner td {\r\n margin: 0 auto;\r\n }\r\n }\r\n </style>\r\n </head>\r\n <body\r\n class=\"clean-body\"\r\n style=\"\r\n margin: 0;\r\n padding: 0;\r\n -webkit-text-size-adjust: 100%;\r\n background-color: #ffffff;\r\n \"\r\n >\r\n <!--[if IE]><div class=\"ie-browser\"><![endif]-->\r\n <table\r\n bgcolor=\"#FFFFFF\"\r\n cellpadding=\"0\"\r\n cellspacing=\"0\"\r\n class=\"nl-container\"\r\n role=\"presentation\"\r\n style=\"\r\n table-layout: fixed;\r\n vertical-align: top;\r\n min-width: 320px;\r\n border-spacing: 0;\r\n border-collapse: collapse;\r\n mso-table-lspace: 0pt;\r\n mso-table-rspace: 0pt;\r\n background-color: #ffffff;\r\n width: 100%;\r\n \"\r\n valign=\"top\"\r\n width=\"100%\"\r\n >\r\n <tbody>\r\n <tr style=\"vertical-align: top\" valign=\"top\">\r\n <td style=\"word-break: break-word; vertical-align: top\" valign=\"top\">\r\n <!--[if (mso)|(IE)]><table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\"><tr><td align=\"center\" style=\"background-color:#FFFFFF\"><![endif]-->\r\n <div style=\"background-color: transparent\">\r\n <div\r\n class=\"block-grid\"\r\n style=\"\r\n min-width: 320px;\r\n max-width: 500px;\r\n overflow-wrap: break-word;\r\n word-wrap: break-word;\r\n word-break: break-word;\r\n margin: 0 auto;\r\n background-color: transparent;\r\n \"\r\n >\r\n <div\r\n style=\"\r\n border-collapse: collapse;\r\n display: table;\r\n width: 100%;\r\n background-color: transparent;\r\n \"\r\n >\r\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]-->\r\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]-->\r\n <div\r\n class=\"col num12\"\r\n style=\"\r\n min-width: 320px;\r\n max-width: 500px;\r\n display: table-cell;\r\n vertical-align: top;\r\n width: 500px;\r\n \"\r\n >\r\n <div class=\"col_cont\" style=\"width: 100% !important\">\r\n <!--[if (!mso)&(!IE)]><!-->\r\n <div\r\n style=\"\r\n border-top: 0px solid transparent;\r\n border-left: 0px solid transparent;\r\n border-bottom: 0px solid transparent;\r\n border-right: 0px solid transparent;\r\n padding-top: 5px;\r\n padding-bottom: 5px;\r\n padding-right: 0px;\r\n padding-left: 0px;\r\n \"\r\n >\r\n <!--<![endif]-->\r\n <table\r\n cellpadding=\"0\"\r\n cellspacing=\"0\"\r\n role=\"presentation\"\r\n style=\"\r\n table-layout: fixed;\r\n vertical-align: top;\r\n border-spacing: 0;\r\n border-collapse: collapse;\r\n mso-table-lspace: 0pt;\r\n mso-table-rspace: 0pt;\r\n \"\r\n valign=\"top\"\r\n width=\"100%\"\r\n >\r\n <tr style=\"vertical-align: top\" valign=\"top\">\r\n <td\r\n align=\"center\"\r\n style=\"\r\n word-break: break-word;\r\n vertical-align: top;\r\n padding-bottom: 20px;\r\n padding-left: 10px;\r\n padding-right: 10px;\r\n padding-top: 10px;\r\n text-align: center;\r\n width: 100%;\r\n \"\r\n valign=\"top\"\r\n width=\"100%\"\r\n >\r\n <h1\r\n style=\"\r\n color: #444445;\r\n direction: ltr;\r\n font-family: 'Helvetica Neue', Helvetica,\r\n Arial, sans-serif;\r\n font-size: 20px;\r\n font-weight: normal;\r\n letter-spacing: normal;\r\n line-height: 120%;\r\n text-align: left;\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n \"\r\n >\r\n <strong>Verify your email address</strong>\r\n </h1>\r\n </td>\r\n </tr>\r\n </table>\r\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]-->\r\n <div\r\n style=\"\r\n color: #444445;\r\n font-family: Arial, Helvetica Neue, Helvetica,\r\n sans-serif;\r\n line-height: 1.8;\r\n padding-top: 10px;\r\n padding-right: 10px;\r\n padding-bottom: 10px;\r\n padding-left: 10px;\r\n \"\r\n >\r\n <div\r\n class=\"txtTinyMce-wrapper\"\r\n style=\"\r\n font-size: 14px;\r\n line-height: 1.8;\r\n color: #444445;\r\n font-family: Arial, Helvetica Neue, Helvetica,\r\n sans-serif;\r\n mso-line-height-alt: 25px;\r\n \"\r\n >\r\n <p\r\n style=\"\r\n margin: 0;\r\n font-size: 14px;\r\n line-height: 1.8;\r\n word-break: break-word;\r\n mso-line-height-alt: 25px;\r\n margin-top: 0;\r\n margin-bottom: 0;\r\n \"\r\n >\r\n <span style=\"font-size: 14px\"\r\n >Thank you for signing up! Please click the button below\r\n to verify your email address.</span\r\n >\r\n </p>\r\n </div>\r\n </div>\r\n <!--[if mso]></td></tr></table><![endif]-->\r\n <div\r\n align=\"center\"\r\n class=\"button-container\"\r\n style=\"\r\n padding-top: 10px;\r\n padding-right: 10px;\r\n padding-bottom: 10px;\r\n padding-left: 10px;\r\n \"\r\n >\r\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\"><!\r\n [endif]--><a\r\n href={{validationLink}}\r\n\t\t\t\t\t\t\ttarget=\"_blank\"\r\n style=\"\r\n -webkit-text-size-adjust: none;\r\n text-decoration: none;\r\n display: block;\r\n color: #ffffff;\r\n background-color: #2270ee;\r\n border-radius: 5px;\r\n -webkit-border-radius: 5px;\r\n -moz-border-radius: 5px;\r\n width: 100%;\r\n width: calc(100% - 2px);\r\n border-top: 1px solid #2270ee;\r\n border-right: 1px solid #2270ee;\r\n border-bottom: 1px solid #2270ee;\r\n border-left: 1px solid #2270ee;\r\n padding-top: 5px;\r\n padding-bottom: 5px;\r\n font-family: 'Helvetica Neue', Helvetica, Arial,\r\n sans-serif;\r\n text-align: center;\r\n mso-border-alt: none;\r\n word-break: keep-all;\r\n \"\r\n target=\"_blank\"\r\n ><span\r\n style=\"\r\n padding-left: 20px;\r\n padding-right: 20px;\r\n font-size: 14px;\r\n display: inline-block;\r\n letter-spacing: undefined;\r\n \"\r\n ><span\r\n style=\"\r\n font-size: 16px;\r\n line-height: 2;\r\n word-break: break-word;\r\n mso-line-height-alt: 32px;\r\n \"\r\n ><span\r\n style=\"font-size: 14px; line-height: 28px\"\r\n >Verify Email</span\r\n ></span\r\n ></span\r\n ></a\r\n >\r\n <!--[if mso]></center></v:textbox></v:roundrect></td></tr></table><![endif]-->\r\n </div>\r\n <!--<![endif]-->\r\n </div>\r\n </div>\r\n <!--[if (mso)|(IE)]></td></tr></table><![endif]-->\r\n <!--[if (mso)|(IE)]></td></tr></table></td></tr></table><![endif]-->\r\n </div>\r\n </div>\r\n </div>\r\n <!--[if (mso)|(IE)]></td></tr></table><![endif]-->\r\n </td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <!--[if (IE)]></div><![endif]-->\r\n </body>\r\n</html>";
|
|
19506
|
+
|
|
19507
|
+
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\">\r\n <sqm-portal-login></sqm-portal-login>\r\n</sqm-hero>\r\n";
|
|
19508
|
+
|
|
19509
|
+
const registerTemplate = "<sqm-hero\r\n background=\"https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80\"\r\n>\r\n <sqm-portal-register>\r\n <sl-input\r\n slot=\"formData\"\r\n exportparts=\"label: input-label\"\r\n type=\"text\"\r\n style=\"margin-bottom: 5px\"\r\n name=\"/firstName\"\r\n label=\"First Name\"\r\n required\r\n ></sl-input>\r\n <sl-input\r\n slot=\"formData\"\r\n exportparts=\"label: input-label\"\r\n type=\"text\"\r\n style=\"margin-bottom: 5px\"\r\n name=\"/lastName\"\r\n label=\"Last Name\"\r\n required\r\n ></sl-input>\r\n </sqm-portal-register>\r\n</sqm-hero>\r\n";
|
|
19510
|
+
|
|
19511
|
+
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\">\r\n <sqm-portal-forgot-password\r\n email-label=\"Business Email\"\r\n ></sqm-portal-forgot-password>\r\n</sqm-hero>\r\n";
|
|
19512
|
+
|
|
19513
|
+
const resetPasswordTemplate = "<sqm-portal-reset-password confirm-password=\"true\"></sqm-portal-reset-password>\r\n";
|
|
19514
|
+
|
|
19515
|
+
const emailVerifiedTemplate = "<sqm-portal-verify-email></sqm-portal-verify-email>\r\n";
|
|
19516
|
+
|
|
19517
|
+
const emailVerificationTemplate = "<sqm-portal-protected-route redirect-to=\"/login\"></sqm-portal-protected-route>\r\n<sqm-portal-email-verification></sqm-portal-email-verification>\r\n";
|
|
19518
|
+
|
|
19519
|
+
var marked = _extends.createCommonjsModule(function (module, exports) {
|
|
19520
|
+
/**
|
|
19521
|
+
* marked - a markdown parser
|
|
19522
|
+
* Copyright (c) 2011-2021, Christopher Jeffrey. (MIT Licensed)
|
|
19523
|
+
* https://github.com/markedjs/marked
|
|
19524
|
+
*/
|
|
19525
|
+
|
|
19526
|
+
/**
|
|
19527
|
+
* DO NOT EDIT THIS FILE
|
|
19528
|
+
* The code in this file is generated from files in ./src/
|
|
19529
|
+
*/
|
|
19530
|
+
|
|
19531
|
+
(function (global, factory) {
|
|
19532
|
+
module.exports = factory() ;
|
|
19533
|
+
}(_extends.commonjsGlobal, (function () {
|
|
19534
|
+
function _defineProperties(target, props) {
|
|
19535
|
+
for (var i = 0; i < props.length; i++) {
|
|
19536
|
+
var descriptor = props[i];
|
|
19537
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
19538
|
+
descriptor.configurable = true;
|
|
19539
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
19540
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
19541
|
+
}
|
|
19542
|
+
}
|
|
19543
|
+
|
|
19544
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
19545
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
19546
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
19547
|
+
return Constructor;
|
|
19548
|
+
}
|
|
19549
|
+
|
|
19550
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
19551
|
+
if (!o) return;
|
|
19552
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
19553
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
19554
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
19555
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
19556
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
19557
|
+
}
|
|
19558
|
+
|
|
19559
|
+
function _arrayLikeToArray(arr, len) {
|
|
19560
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
19561
|
+
|
|
19562
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
19563
|
+
|
|
19564
|
+
return arr2;
|
|
19565
|
+
}
|
|
19566
|
+
|
|
19567
|
+
function _createForOfIteratorHelperLoose(o, allowArrayLike) {
|
|
19568
|
+
var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
|
|
19569
|
+
if (it) return (it = it.call(o)).next.bind(it);
|
|
19570
|
+
|
|
19571
|
+
if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") {
|
|
19572
|
+
if (it) o = it;
|
|
19573
|
+
var i = 0;
|
|
19574
|
+
return function () {
|
|
19575
|
+
if (i >= o.length) return {
|
|
19576
|
+
done: true
|
|
19577
|
+
};
|
|
19578
|
+
return {
|
|
19579
|
+
done: false,
|
|
19580
|
+
value: o[i++]
|
|
19581
|
+
};
|
|
19582
|
+
};
|
|
19583
|
+
}
|
|
19584
|
+
|
|
19585
|
+
throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
19586
|
+
}
|
|
19587
|
+
|
|
19588
|
+
var defaults$5 = {exports: {}};
|
|
19589
|
+
|
|
19590
|
+
function getDefaults$1() {
|
|
19591
|
+
return {
|
|
19592
|
+
baseUrl: null,
|
|
19593
|
+
breaks: false,
|
|
19594
|
+
extensions: null,
|
|
19595
|
+
gfm: true,
|
|
19596
|
+
headerIds: true,
|
|
19597
|
+
headerPrefix: '',
|
|
19598
|
+
highlight: null,
|
|
19599
|
+
langPrefix: 'language-',
|
|
19600
|
+
mangle: true,
|
|
19601
|
+
pedantic: false,
|
|
19602
|
+
renderer: null,
|
|
19603
|
+
sanitize: false,
|
|
19604
|
+
sanitizer: null,
|
|
19605
|
+
silent: false,
|
|
19606
|
+
smartLists: false,
|
|
19607
|
+
smartypants: false,
|
|
19608
|
+
tokenizer: null,
|
|
19609
|
+
walkTokens: null,
|
|
19610
|
+
xhtml: false
|
|
19611
|
+
};
|
|
19612
|
+
}
|
|
19613
|
+
|
|
19614
|
+
function changeDefaults$1(newDefaults) {
|
|
19615
|
+
defaults$5.exports.defaults = newDefaults;
|
|
19616
|
+
}
|
|
19617
|
+
|
|
19618
|
+
defaults$5.exports = {
|
|
19619
|
+
defaults: getDefaults$1(),
|
|
19620
|
+
getDefaults: getDefaults$1,
|
|
19621
|
+
changeDefaults: changeDefaults$1
|
|
19622
|
+
};
|
|
19623
|
+
|
|
19624
|
+
/**
|
|
19625
|
+
* Helpers
|
|
19626
|
+
*/
|
|
19627
|
+
var escapeTest = /[&<>"']/;
|
|
19628
|
+
var escapeReplace = /[&<>"']/g;
|
|
19629
|
+
var escapeTestNoEncode = /[<>"']|&(?!#?\w+;)/;
|
|
19630
|
+
var escapeReplaceNoEncode = /[<>"']|&(?!#?\w+;)/g;
|
|
19631
|
+
var escapeReplacements = {
|
|
19632
|
+
'&': '&',
|
|
19633
|
+
'<': '<',
|
|
19634
|
+
'>': '>',
|
|
19635
|
+
'"': '"',
|
|
19636
|
+
"'": '''
|
|
19637
|
+
};
|
|
19638
|
+
|
|
19639
|
+
var getEscapeReplacement = function getEscapeReplacement(ch) {
|
|
19640
|
+
return escapeReplacements[ch];
|
|
19641
|
+
};
|
|
19642
|
+
|
|
19643
|
+
function escape$2(html, encode) {
|
|
19644
|
+
if (encode) {
|
|
19645
|
+
if (escapeTest.test(html)) {
|
|
19646
|
+
return html.replace(escapeReplace, getEscapeReplacement);
|
|
19647
|
+
}
|
|
19648
|
+
} else {
|
|
19649
|
+
if (escapeTestNoEncode.test(html)) {
|
|
19650
|
+
return html.replace(escapeReplaceNoEncode, getEscapeReplacement);
|
|
19651
|
+
}
|
|
19652
|
+
}
|
|
19653
|
+
|
|
19654
|
+
return html;
|
|
19655
|
+
}
|
|
19656
|
+
|
|
19657
|
+
var unescapeTest = /&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig;
|
|
19658
|
+
|
|
19659
|
+
function unescape$1(html) {
|
|
19660
|
+
// explicitly match decimal, hex, and named HTML entities
|
|
19661
|
+
return html.replace(unescapeTest, function (_, n) {
|
|
19662
|
+
n = n.toLowerCase();
|
|
19663
|
+
if (n === 'colon') return ':';
|
|
19664
|
+
|
|
19665
|
+
if (n.charAt(0) === '#') {
|
|
19666
|
+
return n.charAt(1) === 'x' ? String.fromCharCode(parseInt(n.substring(2), 16)) : String.fromCharCode(+n.substring(1));
|
|
19667
|
+
}
|
|
19668
|
+
|
|
19669
|
+
return '';
|
|
19670
|
+
});
|
|
19671
|
+
}
|
|
19672
|
+
|
|
19673
|
+
var caret = /(^|[^\[])\^/g;
|
|
19674
|
+
|
|
19675
|
+
function edit$1(regex, opt) {
|
|
19676
|
+
regex = regex.source || regex;
|
|
19677
|
+
opt = opt || '';
|
|
19678
|
+
var obj = {
|
|
19679
|
+
replace: function replace(name, val) {
|
|
19680
|
+
val = val.source || val;
|
|
19681
|
+
val = val.replace(caret, '$1');
|
|
19682
|
+
regex = regex.replace(name, val);
|
|
19683
|
+
return obj;
|
|
19684
|
+
},
|
|
19685
|
+
getRegex: function getRegex() {
|
|
19686
|
+
return new RegExp(regex, opt);
|
|
19687
|
+
}
|
|
19688
|
+
};
|
|
19689
|
+
return obj;
|
|
19690
|
+
}
|
|
19691
|
+
|
|
19692
|
+
var nonWordAndColonTest = /[^\w:]/g;
|
|
19693
|
+
var originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;
|
|
19694
|
+
|
|
19695
|
+
function cleanUrl$1(sanitize, base, href) {
|
|
19696
|
+
if (sanitize) {
|
|
19697
|
+
var prot;
|
|
19698
|
+
|
|
19699
|
+
try {
|
|
19700
|
+
prot = decodeURIComponent(unescape$1(href)).replace(nonWordAndColonTest, '').toLowerCase();
|
|
19701
|
+
} catch (e) {
|
|
19702
|
+
return null;
|
|
19703
|
+
}
|
|
19704
|
+
|
|
19705
|
+
if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {
|
|
19706
|
+
return null;
|
|
19707
|
+
}
|
|
19708
|
+
}
|
|
19709
|
+
|
|
19710
|
+
if (base && !originIndependentUrl.test(href)) {
|
|
19711
|
+
href = resolveUrl(base, href);
|
|
19712
|
+
}
|
|
19713
|
+
|
|
19714
|
+
try {
|
|
19715
|
+
href = encodeURI(href).replace(/%25/g, '%');
|
|
19716
|
+
} catch (e) {
|
|
19717
|
+
return null;
|
|
19718
|
+
}
|
|
19719
|
+
|
|
19720
|
+
return href;
|
|
19721
|
+
}
|
|
19722
|
+
|
|
19723
|
+
var baseUrls = {};
|
|
19724
|
+
var justDomain = /^[^:]+:\/*[^/]*$/;
|
|
19725
|
+
var protocol = /^([^:]+:)[\s\S]*$/;
|
|
19726
|
+
var domain = /^([^:]+:\/*[^/]*)[\s\S]*$/;
|
|
19727
|
+
|
|
19728
|
+
function resolveUrl(base, href) {
|
|
19729
|
+
if (!baseUrls[' ' + base]) {
|
|
19730
|
+
// we can ignore everything in base after the last slash of its path component,
|
|
19731
|
+
// but we might need to add _that_
|
|
19732
|
+
// https://tools.ietf.org/html/rfc3986#section-3
|
|
19733
|
+
if (justDomain.test(base)) {
|
|
19734
|
+
baseUrls[' ' + base] = base + '/';
|
|
19735
|
+
} else {
|
|
19736
|
+
baseUrls[' ' + base] = rtrim$1(base, '/', true);
|
|
19737
|
+
}
|
|
19738
|
+
}
|
|
19739
|
+
|
|
19740
|
+
base = baseUrls[' ' + base];
|
|
19741
|
+
var relativeBase = base.indexOf(':') === -1;
|
|
19742
|
+
|
|
19743
|
+
if (href.substring(0, 2) === '//') {
|
|
19744
|
+
if (relativeBase) {
|
|
19745
|
+
return href;
|
|
19746
|
+
}
|
|
19747
|
+
|
|
19748
|
+
return base.replace(protocol, '$1') + href;
|
|
19749
|
+
} else if (href.charAt(0) === '/') {
|
|
19750
|
+
if (relativeBase) {
|
|
19751
|
+
return href;
|
|
19752
|
+
}
|
|
19753
|
+
|
|
19754
|
+
return base.replace(domain, '$1') + href;
|
|
19755
|
+
} else {
|
|
19756
|
+
return base + href;
|
|
19757
|
+
}
|
|
19758
|
+
}
|
|
19759
|
+
|
|
19760
|
+
var noopTest$1 = {
|
|
19761
|
+
exec: function noopTest() {}
|
|
19762
|
+
};
|
|
19763
|
+
|
|
19764
|
+
function merge$2(obj) {
|
|
19765
|
+
var i = 1,
|
|
19766
|
+
target,
|
|
19767
|
+
key;
|
|
19768
|
+
|
|
19769
|
+
for (; i < arguments.length; i++) {
|
|
19770
|
+
target = arguments[i];
|
|
19771
|
+
|
|
19772
|
+
for (key in target) {
|
|
19773
|
+
if (Object.prototype.hasOwnProperty.call(target, key)) {
|
|
19774
|
+
obj[key] = target[key];
|
|
19775
|
+
}
|
|
19776
|
+
}
|
|
19777
|
+
}
|
|
19778
|
+
|
|
19779
|
+
return obj;
|
|
19780
|
+
}
|
|
19781
|
+
|
|
19782
|
+
function splitCells$1(tableRow, count) {
|
|
19783
|
+
// ensure that every cell-delimiting pipe has a space
|
|
19784
|
+
// before it to distinguish it from an escaped pipe
|
|
19785
|
+
var row = tableRow.replace(/\|/g, function (match, offset, str) {
|
|
19786
|
+
var escaped = false,
|
|
19787
|
+
curr = offset;
|
|
19788
|
+
|
|
19789
|
+
while (--curr >= 0 && str[curr] === '\\') {
|
|
19790
|
+
escaped = !escaped;
|
|
19791
|
+
}
|
|
19792
|
+
|
|
19793
|
+
if (escaped) {
|
|
19794
|
+
// odd number of slashes means | is escaped
|
|
19795
|
+
// so we leave it alone
|
|
19796
|
+
return '|';
|
|
19797
|
+
} else {
|
|
19798
|
+
// add space before unescaped |
|
|
19799
|
+
return ' |';
|
|
19800
|
+
}
|
|
19801
|
+
}),
|
|
19802
|
+
cells = row.split(/ \|/);
|
|
19803
|
+
var i = 0; // First/last cell in a row cannot be empty if it has no leading/trailing pipe
|
|
19804
|
+
|
|
19805
|
+
if (!cells[0].trim()) {
|
|
19806
|
+
cells.shift();
|
|
19807
|
+
}
|
|
19808
|
+
|
|
19809
|
+
if (!cells[cells.length - 1].trim()) {
|
|
19810
|
+
cells.pop();
|
|
19811
|
+
}
|
|
19812
|
+
|
|
19813
|
+
if (cells.length > count) {
|
|
19814
|
+
cells.splice(count);
|
|
19815
|
+
} else {
|
|
19816
|
+
while (cells.length < count) {
|
|
19817
|
+
cells.push('');
|
|
19818
|
+
}
|
|
19819
|
+
}
|
|
19820
|
+
|
|
19821
|
+
for (; i < cells.length; i++) {
|
|
19822
|
+
// leading or trailing whitespace is ignored per the gfm spec
|
|
19823
|
+
cells[i] = cells[i].trim().replace(/\\\|/g, '|');
|
|
19824
|
+
}
|
|
19825
|
+
|
|
19826
|
+
return cells;
|
|
19827
|
+
} // Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').
|
|
19828
|
+
// /c*$/ is vulnerable to REDOS.
|
|
19829
|
+
// invert: Remove suffix of non-c chars instead. Default falsey.
|
|
19830
|
+
|
|
19831
|
+
|
|
19832
|
+
function rtrim$1(str, c, invert) {
|
|
19833
|
+
var l = str.length;
|
|
19834
|
+
|
|
19835
|
+
if (l === 0) {
|
|
19836
|
+
return '';
|
|
19837
|
+
} // Length of suffix matching the invert condition.
|
|
19838
|
+
|
|
19839
|
+
|
|
19840
|
+
var suffLen = 0; // Step left until we fail to match the invert condition.
|
|
19841
|
+
|
|
19842
|
+
while (suffLen < l) {
|
|
19843
|
+
var currChar = str.charAt(l - suffLen - 1);
|
|
19844
|
+
|
|
19845
|
+
if (currChar === c && !invert) {
|
|
19846
|
+
suffLen++;
|
|
19847
|
+
} else if (currChar !== c && invert) {
|
|
19848
|
+
suffLen++;
|
|
19849
|
+
} else {
|
|
19850
|
+
break;
|
|
19851
|
+
}
|
|
19852
|
+
}
|
|
19853
|
+
|
|
19854
|
+
return str.substr(0, l - suffLen);
|
|
19855
|
+
}
|
|
19856
|
+
|
|
19857
|
+
function findClosingBracket$1(str, b) {
|
|
19858
|
+
if (str.indexOf(b[1]) === -1) {
|
|
19859
|
+
return -1;
|
|
19860
|
+
}
|
|
19861
|
+
|
|
19862
|
+
var l = str.length;
|
|
19863
|
+
var level = 0,
|
|
19864
|
+
i = 0;
|
|
19865
|
+
|
|
19866
|
+
for (; i < l; i++) {
|
|
19867
|
+
if (str[i] === '\\') {
|
|
19868
|
+
i++;
|
|
19869
|
+
} else if (str[i] === b[0]) {
|
|
19870
|
+
level++;
|
|
19871
|
+
} else if (str[i] === b[1]) {
|
|
19872
|
+
level--;
|
|
19873
|
+
|
|
19874
|
+
if (level < 0) {
|
|
19875
|
+
return i;
|
|
19876
|
+
}
|
|
19877
|
+
}
|
|
19878
|
+
}
|
|
19879
|
+
|
|
19880
|
+
return -1;
|
|
19881
|
+
}
|
|
19882
|
+
|
|
19883
|
+
function checkSanitizeDeprecation$1(opt) {
|
|
19884
|
+
if (opt && opt.sanitize && !opt.silent) {
|
|
19885
|
+
console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');
|
|
19886
|
+
}
|
|
19887
|
+
} // copied from https://stackoverflow.com/a/5450113/806777
|
|
19888
|
+
|
|
19889
|
+
|
|
19890
|
+
function repeatString$1(pattern, count) {
|
|
19891
|
+
if (count < 1) {
|
|
19892
|
+
return '';
|
|
19893
|
+
}
|
|
19894
|
+
|
|
19895
|
+
var result = '';
|
|
19896
|
+
|
|
19897
|
+
while (count > 1) {
|
|
19898
|
+
if (count & 1) {
|
|
19899
|
+
result += pattern;
|
|
19900
|
+
}
|
|
19901
|
+
|
|
19902
|
+
count >>= 1;
|
|
19903
|
+
pattern += pattern;
|
|
19904
|
+
}
|
|
19905
|
+
|
|
19906
|
+
return result + pattern;
|
|
19907
|
+
}
|
|
19908
|
+
|
|
19909
|
+
var helpers = {
|
|
19910
|
+
escape: escape$2,
|
|
19911
|
+
unescape: unescape$1,
|
|
19912
|
+
edit: edit$1,
|
|
19913
|
+
cleanUrl: cleanUrl$1,
|
|
19914
|
+
resolveUrl: resolveUrl,
|
|
19915
|
+
noopTest: noopTest$1,
|
|
19916
|
+
merge: merge$2,
|
|
19917
|
+
splitCells: splitCells$1,
|
|
19918
|
+
rtrim: rtrim$1,
|
|
19919
|
+
findClosingBracket: findClosingBracket$1,
|
|
19920
|
+
checkSanitizeDeprecation: checkSanitizeDeprecation$1,
|
|
19921
|
+
repeatString: repeatString$1
|
|
19922
|
+
};
|
|
19923
|
+
|
|
19924
|
+
var defaults$4 = defaults$5.exports.defaults;
|
|
19925
|
+
var rtrim = helpers.rtrim,
|
|
19926
|
+
splitCells = helpers.splitCells,
|
|
19927
|
+
_escape = helpers.escape,
|
|
19928
|
+
findClosingBracket = helpers.findClosingBracket;
|
|
19929
|
+
|
|
19930
|
+
function outputLink(cap, link, raw, lexer) {
|
|
19931
|
+
var href = link.href;
|
|
19932
|
+
var title = link.title ? _escape(link.title) : null;
|
|
19933
|
+
var text = cap[1].replace(/\\([\[\]])/g, '$1');
|
|
19934
|
+
|
|
19935
|
+
if (cap[0].charAt(0) !== '!') {
|
|
19936
|
+
lexer.state.inLink = true;
|
|
19937
|
+
var token = {
|
|
19938
|
+
type: 'link',
|
|
19939
|
+
raw: raw,
|
|
19940
|
+
href: href,
|
|
19941
|
+
title: title,
|
|
19942
|
+
text: text,
|
|
19943
|
+
tokens: lexer.inlineTokens(text, [])
|
|
19944
|
+
};
|
|
19945
|
+
lexer.state.inLink = false;
|
|
19946
|
+
return token;
|
|
19947
|
+
} else {
|
|
19948
|
+
return {
|
|
19949
|
+
type: 'image',
|
|
19950
|
+
raw: raw,
|
|
19951
|
+
href: href,
|
|
19952
|
+
title: title,
|
|
19953
|
+
text: _escape(text)
|
|
19954
|
+
};
|
|
19955
|
+
}
|
|
19956
|
+
}
|
|
19957
|
+
|
|
19958
|
+
function indentCodeCompensation(raw, text) {
|
|
19959
|
+
var matchIndentToCode = raw.match(/^(\s+)(?:```)/);
|
|
19960
|
+
|
|
19961
|
+
if (matchIndentToCode === null) {
|
|
19962
|
+
return text;
|
|
19963
|
+
}
|
|
19964
|
+
|
|
19965
|
+
var indentToCode = matchIndentToCode[1];
|
|
19966
|
+
return text.split('\n').map(function (node) {
|
|
19967
|
+
var matchIndentInNode = node.match(/^\s+/);
|
|
19968
|
+
|
|
19969
|
+
if (matchIndentInNode === null) {
|
|
19970
|
+
return node;
|
|
19971
|
+
}
|
|
19972
|
+
|
|
19973
|
+
var indentInNode = matchIndentInNode[0];
|
|
19974
|
+
|
|
19975
|
+
if (indentInNode.length >= indentToCode.length) {
|
|
19976
|
+
return node.slice(indentToCode.length);
|
|
19977
|
+
}
|
|
19978
|
+
|
|
19979
|
+
return node;
|
|
19980
|
+
}).join('\n');
|
|
19981
|
+
}
|
|
19982
|
+
/**
|
|
19983
|
+
* Tokenizer
|
|
19984
|
+
*/
|
|
19985
|
+
|
|
19986
|
+
|
|
19987
|
+
var Tokenizer_1 = /*#__PURE__*/function () {
|
|
19988
|
+
function Tokenizer(options) {
|
|
19989
|
+
this.options = options || defaults$4;
|
|
19990
|
+
}
|
|
19991
|
+
|
|
19992
|
+
var _proto = Tokenizer.prototype;
|
|
19993
|
+
|
|
19994
|
+
_proto.space = function space(src) {
|
|
19995
|
+
var cap = this.rules.block.newline.exec(src);
|
|
19996
|
+
|
|
19997
|
+
if (cap) {
|
|
19998
|
+
if (cap[0].length > 1) {
|
|
19999
|
+
return {
|
|
20000
|
+
type: 'space',
|
|
20001
|
+
raw: cap[0]
|
|
20002
|
+
};
|
|
20003
|
+
}
|
|
20004
|
+
|
|
20005
|
+
return {
|
|
20006
|
+
raw: '\n'
|
|
20007
|
+
};
|
|
20008
|
+
}
|
|
20009
|
+
};
|
|
20010
|
+
|
|
20011
|
+
_proto.code = function code(src) {
|
|
20012
|
+
var cap = this.rules.block.code.exec(src);
|
|
20013
|
+
|
|
20014
|
+
if (cap) {
|
|
20015
|
+
var text = cap[0].replace(/^ {1,4}/gm, '');
|
|
20016
|
+
return {
|
|
20017
|
+
type: 'code',
|
|
20018
|
+
raw: cap[0],
|
|
20019
|
+
codeBlockStyle: 'indented',
|
|
20020
|
+
text: !this.options.pedantic ? rtrim(text, '\n') : text
|
|
20021
|
+
};
|
|
20022
|
+
}
|
|
20023
|
+
};
|
|
20024
|
+
|
|
20025
|
+
_proto.fences = function fences(src) {
|
|
20026
|
+
var cap = this.rules.block.fences.exec(src);
|
|
20027
|
+
|
|
20028
|
+
if (cap) {
|
|
20029
|
+
var raw = cap[0];
|
|
20030
|
+
var text = indentCodeCompensation(raw, cap[3] || '');
|
|
20031
|
+
return {
|
|
20032
|
+
type: 'code',
|
|
20033
|
+
raw: raw,
|
|
20034
|
+
lang: cap[2] ? cap[2].trim() : cap[2],
|
|
20035
|
+
text: text
|
|
20036
|
+
};
|
|
20037
|
+
}
|
|
20038
|
+
};
|
|
20039
|
+
|
|
20040
|
+
_proto.heading = function heading(src) {
|
|
20041
|
+
var cap = this.rules.block.heading.exec(src);
|
|
20042
|
+
|
|
20043
|
+
if (cap) {
|
|
20044
|
+
var text = cap[2].trim(); // remove trailing #s
|
|
20045
|
+
|
|
20046
|
+
if (/#$/.test(text)) {
|
|
20047
|
+
var trimmed = rtrim(text, '#');
|
|
20048
|
+
|
|
20049
|
+
if (this.options.pedantic) {
|
|
20050
|
+
text = trimmed.trim();
|
|
20051
|
+
} else if (!trimmed || / $/.test(trimmed)) {
|
|
20052
|
+
// CommonMark requires space before trailing #s
|
|
20053
|
+
text = trimmed.trim();
|
|
20054
|
+
}
|
|
20055
|
+
}
|
|
20056
|
+
|
|
20057
|
+
var token = {
|
|
20058
|
+
type: 'heading',
|
|
20059
|
+
raw: cap[0],
|
|
20060
|
+
depth: cap[1].length,
|
|
20061
|
+
text: text,
|
|
20062
|
+
tokens: []
|
|
20063
|
+
};
|
|
20064
|
+
this.lexer.inline(token.text, token.tokens);
|
|
20065
|
+
return token;
|
|
20066
|
+
}
|
|
20067
|
+
};
|
|
20068
|
+
|
|
20069
|
+
_proto.hr = function hr(src) {
|
|
20070
|
+
var cap = this.rules.block.hr.exec(src);
|
|
20071
|
+
|
|
20072
|
+
if (cap) {
|
|
20073
|
+
return {
|
|
20074
|
+
type: 'hr',
|
|
20075
|
+
raw: cap[0]
|
|
20076
|
+
};
|
|
20077
|
+
}
|
|
20078
|
+
};
|
|
20079
|
+
|
|
20080
|
+
_proto.blockquote = function blockquote(src) {
|
|
20081
|
+
var cap = this.rules.block.blockquote.exec(src);
|
|
20082
|
+
|
|
20083
|
+
if (cap) {
|
|
20084
|
+
var text = cap[0].replace(/^ *> ?/gm, '');
|
|
20085
|
+
return {
|
|
20086
|
+
type: 'blockquote',
|
|
20087
|
+
raw: cap[0],
|
|
20088
|
+
tokens: this.lexer.blockTokens(text, []),
|
|
20089
|
+
text: text
|
|
20090
|
+
};
|
|
20091
|
+
}
|
|
20092
|
+
};
|
|
20093
|
+
|
|
20094
|
+
_proto.list = function list(src) {
|
|
20095
|
+
var cap = this.rules.block.list.exec(src);
|
|
20096
|
+
|
|
20097
|
+
if (cap) {
|
|
20098
|
+
var raw, istask, ischecked, indent, i, blankLine, endsWithBlankLine, line, lines, itemContents;
|
|
20099
|
+
var bull = cap[1].trim();
|
|
20100
|
+
var isordered = bull.length > 1;
|
|
20101
|
+
var list = {
|
|
20102
|
+
type: 'list',
|
|
20103
|
+
raw: '',
|
|
20104
|
+
ordered: isordered,
|
|
20105
|
+
start: isordered ? +bull.slice(0, -1) : '',
|
|
20106
|
+
loose: false,
|
|
20107
|
+
items: []
|
|
20108
|
+
};
|
|
20109
|
+
bull = isordered ? "\\d{1,9}\\" + bull.slice(-1) : "\\" + bull;
|
|
20110
|
+
|
|
20111
|
+
if (this.options.pedantic) {
|
|
20112
|
+
bull = isordered ? bull : '[*+-]';
|
|
20113
|
+
} // Get next list item
|
|
20114
|
+
|
|
20115
|
+
|
|
20116
|
+
var itemRegex = new RegExp("^( {0,3}" + bull + ")((?: [^\\n]*| *)(?:\\n[^\\n]*)*(?:\\n|$))"); // Get each top-level item
|
|
20117
|
+
|
|
20118
|
+
while (src) {
|
|
20119
|
+
if (this.rules.block.hr.test(src)) {
|
|
20120
|
+
// End list if we encounter an HR (possibly move into itemRegex?)
|
|
20121
|
+
break;
|
|
20122
|
+
}
|
|
20123
|
+
|
|
20124
|
+
if (!(cap = itemRegex.exec(src))) {
|
|
20125
|
+
break;
|
|
20126
|
+
}
|
|
20127
|
+
|
|
20128
|
+
lines = cap[2].split('\n');
|
|
20129
|
+
|
|
20130
|
+
if (this.options.pedantic) {
|
|
20131
|
+
indent = 2;
|
|
20132
|
+
itemContents = lines[0].trimLeft();
|
|
20133
|
+
} else {
|
|
20134
|
+
indent = cap[2].search(/[^ ]/); // Find first non-space char
|
|
20135
|
+
|
|
20136
|
+
indent = cap[1].length + (indent > 4 ? 1 : indent); // intented code blocks after 4 spaces; indent is always 1
|
|
20137
|
+
|
|
20138
|
+
itemContents = lines[0].slice(indent - cap[1].length);
|
|
20139
|
+
}
|
|
20140
|
+
|
|
20141
|
+
blankLine = false;
|
|
20142
|
+
raw = cap[0];
|
|
20143
|
+
|
|
20144
|
+
if (!lines[0] && /^ *$/.test(lines[1])) {
|
|
20145
|
+
// items begin with at most one blank line
|
|
20146
|
+
raw = cap[1] + lines.slice(0, 2).join('\n') + '\n';
|
|
20147
|
+
list.loose = true;
|
|
20148
|
+
lines = [];
|
|
20149
|
+
}
|
|
20150
|
+
|
|
20151
|
+
var nextBulletRegex = new RegExp("^ {0," + Math.min(3, indent - 1) + "}(?:[*+-]|\\d{1,9}[.)])");
|
|
20152
|
+
|
|
20153
|
+
for (i = 1; i < lines.length; i++) {
|
|
20154
|
+
line = lines[i];
|
|
20155
|
+
|
|
20156
|
+
if (this.options.pedantic) {
|
|
20157
|
+
// Re-align to follow commonmark nesting rules
|
|
20158
|
+
line = line.replace(/^ {1,4}(?=( {4})*[^ ])/g, ' ');
|
|
20159
|
+
} // End list item if found start of new bullet
|
|
20160
|
+
|
|
20161
|
+
|
|
20162
|
+
if (nextBulletRegex.test(line)) {
|
|
20163
|
+
raw = cap[1] + lines.slice(0, i).join('\n') + '\n';
|
|
20164
|
+
break;
|
|
20165
|
+
} // Until we encounter a blank line, item contents do not need indentation
|
|
20166
|
+
|
|
20167
|
+
|
|
20168
|
+
if (!blankLine) {
|
|
20169
|
+
if (!line.trim()) {
|
|
20170
|
+
// Check if current line is empty
|
|
20171
|
+
blankLine = true;
|
|
20172
|
+
} // Dedent if possible
|
|
20173
|
+
|
|
20174
|
+
|
|
20175
|
+
if (line.search(/[^ ]/) >= indent) {
|
|
20176
|
+
itemContents += '\n' + line.slice(indent);
|
|
20177
|
+
} else {
|
|
20178
|
+
itemContents += '\n' + line;
|
|
20179
|
+
}
|
|
20180
|
+
|
|
20181
|
+
continue;
|
|
20182
|
+
} // Dedent this line
|
|
20183
|
+
|
|
20184
|
+
|
|
20185
|
+
if (line.search(/[^ ]/) >= indent || !line.trim()) {
|
|
20186
|
+
itemContents += '\n' + line.slice(indent);
|
|
20187
|
+
continue;
|
|
20188
|
+
} else {
|
|
20189
|
+
// Line was not properly indented; end of this item
|
|
20190
|
+
raw = cap[1] + lines.slice(0, i).join('\n') + '\n';
|
|
20191
|
+
break;
|
|
20192
|
+
}
|
|
20193
|
+
}
|
|
20194
|
+
|
|
20195
|
+
if (!list.loose) {
|
|
20196
|
+
// If the previous item ended with a blank line, the list is loose
|
|
20197
|
+
if (endsWithBlankLine) {
|
|
20198
|
+
list.loose = true;
|
|
20199
|
+
} else if (/\n *\n *$/.test(raw)) {
|
|
20200
|
+
endsWithBlankLine = true;
|
|
20201
|
+
}
|
|
20202
|
+
} // Check for task list items
|
|
20203
|
+
|
|
20204
|
+
|
|
20205
|
+
if (this.options.gfm) {
|
|
20206
|
+
istask = /^\[[ xX]\] /.exec(itemContents);
|
|
20207
|
+
|
|
20208
|
+
if (istask) {
|
|
20209
|
+
ischecked = istask[0] !== '[ ] ';
|
|
20210
|
+
itemContents = itemContents.replace(/^\[[ xX]\] +/, '');
|
|
20211
|
+
}
|
|
20212
|
+
}
|
|
20213
|
+
|
|
20214
|
+
list.items.push({
|
|
20215
|
+
type: 'list_item',
|
|
20216
|
+
raw: raw,
|
|
20217
|
+
task: !!istask,
|
|
20218
|
+
checked: ischecked,
|
|
20219
|
+
loose: false,
|
|
20220
|
+
text: itemContents
|
|
20221
|
+
});
|
|
20222
|
+
list.raw += raw;
|
|
20223
|
+
src = src.slice(raw.length);
|
|
20224
|
+
} // Do not consume newlines at end of final item. Alternatively, make itemRegex *start* with any newlines to simplify/speed up endsWithBlankLine logic
|
|
20225
|
+
|
|
20226
|
+
|
|
20227
|
+
list.items[list.items.length - 1].raw = raw.trimRight();
|
|
20228
|
+
list.items[list.items.length - 1].text = itemContents.trimRight();
|
|
20229
|
+
list.raw = list.raw.trimRight();
|
|
20230
|
+
var l = list.items.length; // Item child tokens handled here at end because we needed to have the final item to trim it first
|
|
20231
|
+
|
|
20232
|
+
for (i = 0; i < l; i++) {
|
|
20233
|
+
this.lexer.state.top = false;
|
|
20234
|
+
list.items[i].tokens = this.lexer.blockTokens(list.items[i].text, []);
|
|
20235
|
+
|
|
20236
|
+
if (list.items[i].tokens.some(function (t) {
|
|
20237
|
+
return t.type === 'space';
|
|
20238
|
+
})) {
|
|
20239
|
+
list.loose = true;
|
|
20240
|
+
list.items[i].loose = true;
|
|
20241
|
+
}
|
|
20242
|
+
}
|
|
20243
|
+
|
|
20244
|
+
return list;
|
|
20245
|
+
}
|
|
20246
|
+
};
|
|
20247
|
+
|
|
20248
|
+
_proto.html = function html(src) {
|
|
20249
|
+
var cap = this.rules.block.html.exec(src);
|
|
20250
|
+
|
|
20251
|
+
if (cap) {
|
|
20252
|
+
var token = {
|
|
20253
|
+
type: 'html',
|
|
20254
|
+
raw: cap[0],
|
|
20255
|
+
pre: !this.options.sanitizer && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),
|
|
20256
|
+
text: cap[0]
|
|
20257
|
+
};
|
|
20258
|
+
|
|
20259
|
+
if (this.options.sanitize) {
|
|
20260
|
+
token.type = 'paragraph';
|
|
20261
|
+
token.text = this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]);
|
|
20262
|
+
token.tokens = [];
|
|
20263
|
+
this.lexer.inline(token.text, token.tokens);
|
|
20264
|
+
}
|
|
20265
|
+
|
|
20266
|
+
return token;
|
|
20267
|
+
}
|
|
20268
|
+
};
|
|
20269
|
+
|
|
20270
|
+
_proto.def = function def(src) {
|
|
20271
|
+
var cap = this.rules.block.def.exec(src);
|
|
20272
|
+
|
|
20273
|
+
if (cap) {
|
|
20274
|
+
if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);
|
|
20275
|
+
var tag = cap[1].toLowerCase().replace(/\s+/g, ' ');
|
|
20276
|
+
return {
|
|
20277
|
+
type: 'def',
|
|
20278
|
+
tag: tag,
|
|
20279
|
+
raw: cap[0],
|
|
20280
|
+
href: cap[2],
|
|
20281
|
+
title: cap[3]
|
|
20282
|
+
};
|
|
20283
|
+
}
|
|
20284
|
+
};
|
|
20285
|
+
|
|
20286
|
+
_proto.table = function table(src) {
|
|
20287
|
+
var cap = this.rules.block.table.exec(src);
|
|
20288
|
+
|
|
20289
|
+
if (cap) {
|
|
20290
|
+
var item = {
|
|
20291
|
+
type: 'table',
|
|
20292
|
+
header: splitCells(cap[1]).map(function (c) {
|
|
20293
|
+
return {
|
|
20294
|
+
text: c
|
|
20295
|
+
};
|
|
20296
|
+
}),
|
|
20297
|
+
align: cap[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
|
|
20298
|
+
rows: cap[3] ? cap[3].replace(/\n$/, '').split('\n') : []
|
|
20299
|
+
};
|
|
20300
|
+
|
|
20301
|
+
if (item.header.length === item.align.length) {
|
|
20302
|
+
item.raw = cap[0];
|
|
20303
|
+
var l = item.align.length;
|
|
20304
|
+
var i, j, k, row;
|
|
20305
|
+
|
|
20306
|
+
for (i = 0; i < l; i++) {
|
|
20307
|
+
if (/^ *-+: *$/.test(item.align[i])) {
|
|
20308
|
+
item.align[i] = 'right';
|
|
20309
|
+
} else if (/^ *:-+: *$/.test(item.align[i])) {
|
|
20310
|
+
item.align[i] = 'center';
|
|
20311
|
+
} else if (/^ *:-+ *$/.test(item.align[i])) {
|
|
20312
|
+
item.align[i] = 'left';
|
|
20313
|
+
} else {
|
|
20314
|
+
item.align[i] = null;
|
|
20315
|
+
}
|
|
20316
|
+
}
|
|
20317
|
+
|
|
20318
|
+
l = item.rows.length;
|
|
20319
|
+
|
|
20320
|
+
for (i = 0; i < l; i++) {
|
|
20321
|
+
item.rows[i] = splitCells(item.rows[i], item.header.length).map(function (c) {
|
|
20322
|
+
return {
|
|
20323
|
+
text: c
|
|
20324
|
+
};
|
|
20325
|
+
});
|
|
20326
|
+
} // parse child tokens inside headers and cells
|
|
20327
|
+
// header child tokens
|
|
20328
|
+
|
|
20329
|
+
|
|
20330
|
+
l = item.header.length;
|
|
20331
|
+
|
|
20332
|
+
for (j = 0; j < l; j++) {
|
|
20333
|
+
item.header[j].tokens = [];
|
|
20334
|
+
this.lexer.inlineTokens(item.header[j].text, item.header[j].tokens);
|
|
20335
|
+
} // cell child tokens
|
|
20336
|
+
|
|
20337
|
+
|
|
20338
|
+
l = item.rows.length;
|
|
20339
|
+
|
|
20340
|
+
for (j = 0; j < l; j++) {
|
|
20341
|
+
row = item.rows[j];
|
|
20342
|
+
|
|
20343
|
+
for (k = 0; k < row.length; k++) {
|
|
20344
|
+
row[k].tokens = [];
|
|
20345
|
+
this.lexer.inlineTokens(row[k].text, row[k].tokens);
|
|
20346
|
+
}
|
|
20347
|
+
}
|
|
20348
|
+
|
|
20349
|
+
return item;
|
|
20350
|
+
}
|
|
20351
|
+
}
|
|
20352
|
+
};
|
|
20353
|
+
|
|
20354
|
+
_proto.lheading = function lheading(src) {
|
|
20355
|
+
var cap = this.rules.block.lheading.exec(src);
|
|
20356
|
+
|
|
20357
|
+
if (cap) {
|
|
20358
|
+
var token = {
|
|
20359
|
+
type: 'heading',
|
|
20360
|
+
raw: cap[0],
|
|
20361
|
+
depth: cap[2].charAt(0) === '=' ? 1 : 2,
|
|
20362
|
+
text: cap[1],
|
|
20363
|
+
tokens: []
|
|
20364
|
+
};
|
|
20365
|
+
this.lexer.inline(token.text, token.tokens);
|
|
20366
|
+
return token;
|
|
20367
|
+
}
|
|
20368
|
+
};
|
|
20369
|
+
|
|
20370
|
+
_proto.paragraph = function paragraph(src) {
|
|
20371
|
+
var cap = this.rules.block.paragraph.exec(src);
|
|
20372
|
+
|
|
20373
|
+
if (cap) {
|
|
20374
|
+
var token = {
|
|
20375
|
+
type: 'paragraph',
|
|
20376
|
+
raw: cap[0],
|
|
20377
|
+
text: cap[1].charAt(cap[1].length - 1) === '\n' ? cap[1].slice(0, -1) : cap[1],
|
|
20378
|
+
tokens: []
|
|
20379
|
+
};
|
|
20380
|
+
this.lexer.inline(token.text, token.tokens);
|
|
20381
|
+
return token;
|
|
20382
|
+
}
|
|
20383
|
+
};
|
|
20384
|
+
|
|
20385
|
+
_proto.text = function text(src) {
|
|
20386
|
+
var cap = this.rules.block.text.exec(src);
|
|
20387
|
+
|
|
20388
|
+
if (cap) {
|
|
20389
|
+
var token = {
|
|
20390
|
+
type: 'text',
|
|
20391
|
+
raw: cap[0],
|
|
20392
|
+
text: cap[0],
|
|
20393
|
+
tokens: []
|
|
20394
|
+
};
|
|
20395
|
+
this.lexer.inline(token.text, token.tokens);
|
|
20396
|
+
return token;
|
|
20397
|
+
}
|
|
20398
|
+
};
|
|
20399
|
+
|
|
20400
|
+
_proto.escape = function escape(src) {
|
|
20401
|
+
var cap = this.rules.inline.escape.exec(src);
|
|
20402
|
+
|
|
20403
|
+
if (cap) {
|
|
20404
|
+
return {
|
|
20405
|
+
type: 'escape',
|
|
20406
|
+
raw: cap[0],
|
|
20407
|
+
text: _escape(cap[1])
|
|
20408
|
+
};
|
|
20409
|
+
}
|
|
20410
|
+
};
|
|
20411
|
+
|
|
20412
|
+
_proto.tag = function tag(src) {
|
|
20413
|
+
var cap = this.rules.inline.tag.exec(src);
|
|
20414
|
+
|
|
20415
|
+
if (cap) {
|
|
20416
|
+
if (!this.lexer.state.inLink && /^<a /i.test(cap[0])) {
|
|
20417
|
+
this.lexer.state.inLink = true;
|
|
20418
|
+
} else if (this.lexer.state.inLink && /^<\/a>/i.test(cap[0])) {
|
|
20419
|
+
this.lexer.state.inLink = false;
|
|
20420
|
+
}
|
|
20421
|
+
|
|
20422
|
+
if (!this.lexer.state.inRawBlock && /^<(pre|code|kbd|script)(\s|>)/i.test(cap[0])) {
|
|
20423
|
+
this.lexer.state.inRawBlock = true;
|
|
20424
|
+
} else if (this.lexer.state.inRawBlock && /^<\/(pre|code|kbd|script)(\s|>)/i.test(cap[0])) {
|
|
20425
|
+
this.lexer.state.inRawBlock = false;
|
|
20426
|
+
}
|
|
20427
|
+
|
|
20428
|
+
return {
|
|
20429
|
+
type: this.options.sanitize ? 'text' : 'html',
|
|
20430
|
+
raw: cap[0],
|
|
20431
|
+
inLink: this.lexer.state.inLink,
|
|
20432
|
+
inRawBlock: this.lexer.state.inRawBlock,
|
|
20433
|
+
text: this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0]
|
|
20434
|
+
};
|
|
20435
|
+
}
|
|
20436
|
+
};
|
|
20437
|
+
|
|
20438
|
+
_proto.link = function link(src) {
|
|
20439
|
+
var cap = this.rules.inline.link.exec(src);
|
|
20440
|
+
|
|
20441
|
+
if (cap) {
|
|
20442
|
+
var trimmedUrl = cap[2].trim();
|
|
20443
|
+
|
|
20444
|
+
if (!this.options.pedantic && /^</.test(trimmedUrl)) {
|
|
20445
|
+
// commonmark requires matching angle brackets
|
|
20446
|
+
if (!/>$/.test(trimmedUrl)) {
|
|
20447
|
+
return;
|
|
20448
|
+
} // ending angle bracket cannot be escaped
|
|
20449
|
+
|
|
20450
|
+
|
|
20451
|
+
var rtrimSlash = rtrim(trimmedUrl.slice(0, -1), '\\');
|
|
20452
|
+
|
|
20453
|
+
if ((trimmedUrl.length - rtrimSlash.length) % 2 === 0) {
|
|
20454
|
+
return;
|
|
20455
|
+
}
|
|
20456
|
+
} else {
|
|
20457
|
+
// find closing parenthesis
|
|
20458
|
+
var lastParenIndex = findClosingBracket(cap[2], '()');
|
|
20459
|
+
|
|
20460
|
+
if (lastParenIndex > -1) {
|
|
20461
|
+
var start = cap[0].indexOf('!') === 0 ? 5 : 4;
|
|
20462
|
+
var linkLen = start + cap[1].length + lastParenIndex;
|
|
20463
|
+
cap[2] = cap[2].substring(0, lastParenIndex);
|
|
20464
|
+
cap[0] = cap[0].substring(0, linkLen).trim();
|
|
20465
|
+
cap[3] = '';
|
|
20466
|
+
}
|
|
20467
|
+
}
|
|
20468
|
+
|
|
20469
|
+
var href = cap[2];
|
|
20470
|
+
var title = '';
|
|
20471
|
+
|
|
20472
|
+
if (this.options.pedantic) {
|
|
20473
|
+
// split pedantic href and title
|
|
20474
|
+
var link = /^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(href);
|
|
20475
|
+
|
|
20476
|
+
if (link) {
|
|
20477
|
+
href = link[1];
|
|
20478
|
+
title = link[3];
|
|
20479
|
+
}
|
|
20480
|
+
} else {
|
|
20481
|
+
title = cap[3] ? cap[3].slice(1, -1) : '';
|
|
20482
|
+
}
|
|
20483
|
+
|
|
20484
|
+
href = href.trim();
|
|
20485
|
+
|
|
20486
|
+
if (/^</.test(href)) {
|
|
20487
|
+
if (this.options.pedantic && !/>$/.test(trimmedUrl)) {
|
|
20488
|
+
// pedantic allows starting angle bracket without ending angle bracket
|
|
20489
|
+
href = href.slice(1);
|
|
20490
|
+
} else {
|
|
20491
|
+
href = href.slice(1, -1);
|
|
20492
|
+
}
|
|
20493
|
+
}
|
|
20494
|
+
|
|
20495
|
+
return outputLink(cap, {
|
|
20496
|
+
href: href ? href.replace(this.rules.inline._escapes, '$1') : href,
|
|
20497
|
+
title: title ? title.replace(this.rules.inline._escapes, '$1') : title
|
|
20498
|
+
}, cap[0], this.lexer);
|
|
20499
|
+
}
|
|
20500
|
+
};
|
|
20501
|
+
|
|
20502
|
+
_proto.reflink = function reflink(src, links) {
|
|
20503
|
+
var cap;
|
|
20504
|
+
|
|
20505
|
+
if ((cap = this.rules.inline.reflink.exec(src)) || (cap = this.rules.inline.nolink.exec(src))) {
|
|
20506
|
+
var link = (cap[2] || cap[1]).replace(/\s+/g, ' ');
|
|
20507
|
+
link = links[link.toLowerCase()];
|
|
20508
|
+
|
|
20509
|
+
if (!link || !link.href) {
|
|
20510
|
+
var text = cap[0].charAt(0);
|
|
20511
|
+
return {
|
|
20512
|
+
type: 'text',
|
|
20513
|
+
raw: text,
|
|
20514
|
+
text: text
|
|
20515
|
+
};
|
|
20516
|
+
}
|
|
20517
|
+
|
|
20518
|
+
return outputLink(cap, link, cap[0], this.lexer);
|
|
20519
|
+
}
|
|
20520
|
+
};
|
|
20521
|
+
|
|
20522
|
+
_proto.emStrong = function emStrong(src, maskedSrc, prevChar) {
|
|
20523
|
+
if (prevChar === void 0) {
|
|
20524
|
+
prevChar = '';
|
|
20525
|
+
}
|
|
20526
|
+
|
|
20527
|
+
var match = this.rules.inline.emStrong.lDelim.exec(src);
|
|
20528
|
+
if (!match) return; // _ can't be between two alphanumerics. \p{L}\p{N} includes non-english alphabet/numbers as well
|
|
20529
|
+
|
|
20530
|
+
if (match[3] && prevChar.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08C7\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\u9FFC\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7BF\uA7C2-\uA7CA\uA7F5-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82C[\uDC00-\uDD1E\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDD\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/)) return;
|
|
20531
|
+
var nextChar = match[1] || match[2] || '';
|
|
20532
|
+
|
|
20533
|
+
if (!nextChar || nextChar && (prevChar === '' || this.rules.inline.punctuation.exec(prevChar))) {
|
|
20534
|
+
var lLength = match[0].length - 1;
|
|
20535
|
+
var rDelim,
|
|
20536
|
+
rLength,
|
|
20537
|
+
delimTotal = lLength,
|
|
20538
|
+
midDelimTotal = 0;
|
|
20539
|
+
var endReg = match[0][0] === '*' ? this.rules.inline.emStrong.rDelimAst : this.rules.inline.emStrong.rDelimUnd;
|
|
20540
|
+
endReg.lastIndex = 0; // Clip maskedSrc to same section of string as src (move to lexer?)
|
|
20541
|
+
|
|
20542
|
+
maskedSrc = maskedSrc.slice(-1 * src.length + lLength);
|
|
20543
|
+
|
|
20544
|
+
while ((match = endReg.exec(maskedSrc)) != null) {
|
|
20545
|
+
rDelim = match[1] || match[2] || match[3] || match[4] || match[5] || match[6];
|
|
20546
|
+
if (!rDelim) continue; // skip single * in __abc*abc__
|
|
20547
|
+
|
|
20548
|
+
rLength = rDelim.length;
|
|
20549
|
+
|
|
20550
|
+
if (match[3] || match[4]) {
|
|
20551
|
+
// found another Left Delim
|
|
20552
|
+
delimTotal += rLength;
|
|
20553
|
+
continue;
|
|
20554
|
+
} else if (match[5] || match[6]) {
|
|
20555
|
+
// either Left or Right Delim
|
|
20556
|
+
if (lLength % 3 && !((lLength + rLength) % 3)) {
|
|
20557
|
+
midDelimTotal += rLength;
|
|
20558
|
+
continue; // CommonMark Emphasis Rules 9-10
|
|
20559
|
+
}
|
|
20560
|
+
}
|
|
20561
|
+
|
|
20562
|
+
delimTotal -= rLength;
|
|
20563
|
+
if (delimTotal > 0) continue; // Haven't found enough closing delimiters
|
|
20564
|
+
// Remove extra characters. *a*** -> *a*
|
|
20565
|
+
|
|
20566
|
+
rLength = Math.min(rLength, rLength + delimTotal + midDelimTotal); // Create `em` if smallest delimiter has odd char count. *a***
|
|
20567
|
+
|
|
20568
|
+
if (Math.min(lLength, rLength) % 2) {
|
|
20569
|
+
var _text = src.slice(1, lLength + match.index + rLength);
|
|
20570
|
+
|
|
20571
|
+
return {
|
|
20572
|
+
type: 'em',
|
|
20573
|
+
raw: src.slice(0, lLength + match.index + rLength + 1),
|
|
20574
|
+
text: _text,
|
|
20575
|
+
tokens: this.lexer.inlineTokens(_text, [])
|
|
20576
|
+
};
|
|
20577
|
+
} // Create 'strong' if smallest delimiter has even char count. **a***
|
|
20578
|
+
|
|
20579
|
+
|
|
20580
|
+
var text = src.slice(2, lLength + match.index + rLength - 1);
|
|
20581
|
+
return {
|
|
20582
|
+
type: 'strong',
|
|
20583
|
+
raw: src.slice(0, lLength + match.index + rLength + 1),
|
|
20584
|
+
text: text,
|
|
20585
|
+
tokens: this.lexer.inlineTokens(text, [])
|
|
20586
|
+
};
|
|
20587
|
+
}
|
|
20588
|
+
}
|
|
20589
|
+
};
|
|
20590
|
+
|
|
20591
|
+
_proto.codespan = function codespan(src) {
|
|
20592
|
+
var cap = this.rules.inline.code.exec(src);
|
|
20593
|
+
|
|
20594
|
+
if (cap) {
|
|
20595
|
+
var text = cap[2].replace(/\n/g, ' ');
|
|
20596
|
+
var hasNonSpaceChars = /[^ ]/.test(text);
|
|
20597
|
+
var hasSpaceCharsOnBothEnds = /^ /.test(text) && / $/.test(text);
|
|
20598
|
+
|
|
20599
|
+
if (hasNonSpaceChars && hasSpaceCharsOnBothEnds) {
|
|
20600
|
+
text = text.substring(1, text.length - 1);
|
|
20601
|
+
}
|
|
20602
|
+
|
|
20603
|
+
text = _escape(text, true);
|
|
20604
|
+
return {
|
|
20605
|
+
type: 'codespan',
|
|
20606
|
+
raw: cap[0],
|
|
20607
|
+
text: text
|
|
20608
|
+
};
|
|
20609
|
+
}
|
|
20610
|
+
};
|
|
20611
|
+
|
|
20612
|
+
_proto.br = function br(src) {
|
|
20613
|
+
var cap = this.rules.inline.br.exec(src);
|
|
20614
|
+
|
|
20615
|
+
if (cap) {
|
|
20616
|
+
return {
|
|
20617
|
+
type: 'br',
|
|
20618
|
+
raw: cap[0]
|
|
20619
|
+
};
|
|
20620
|
+
}
|
|
20621
|
+
};
|
|
20622
|
+
|
|
20623
|
+
_proto.del = function del(src) {
|
|
20624
|
+
var cap = this.rules.inline.del.exec(src);
|
|
20625
|
+
|
|
20626
|
+
if (cap) {
|
|
20627
|
+
return {
|
|
20628
|
+
type: 'del',
|
|
20629
|
+
raw: cap[0],
|
|
20630
|
+
text: cap[2],
|
|
20631
|
+
tokens: this.lexer.inlineTokens(cap[2], [])
|
|
20632
|
+
};
|
|
20633
|
+
}
|
|
20634
|
+
};
|
|
20635
|
+
|
|
20636
|
+
_proto.autolink = function autolink(src, mangle) {
|
|
20637
|
+
var cap = this.rules.inline.autolink.exec(src);
|
|
20638
|
+
|
|
20639
|
+
if (cap) {
|
|
20640
|
+
var text, href;
|
|
20641
|
+
|
|
20642
|
+
if (cap[2] === '@') {
|
|
20643
|
+
text = _escape(this.options.mangle ? mangle(cap[1]) : cap[1]);
|
|
20644
|
+
href = 'mailto:' + text;
|
|
20645
|
+
} else {
|
|
20646
|
+
text = _escape(cap[1]);
|
|
20647
|
+
href = text;
|
|
20648
|
+
}
|
|
20649
|
+
|
|
20650
|
+
return {
|
|
20651
|
+
type: 'link',
|
|
20652
|
+
raw: cap[0],
|
|
20653
|
+
text: text,
|
|
20654
|
+
href: href,
|
|
20655
|
+
tokens: [{
|
|
20656
|
+
type: 'text',
|
|
20657
|
+
raw: text,
|
|
20658
|
+
text: text
|
|
20659
|
+
}]
|
|
20660
|
+
};
|
|
20661
|
+
}
|
|
20662
|
+
};
|
|
20663
|
+
|
|
20664
|
+
_proto.url = function url(src, mangle) {
|
|
20665
|
+
var cap;
|
|
20666
|
+
|
|
20667
|
+
if (cap = this.rules.inline.url.exec(src)) {
|
|
20668
|
+
var text, href;
|
|
20669
|
+
|
|
20670
|
+
if (cap[2] === '@') {
|
|
20671
|
+
text = _escape(this.options.mangle ? mangle(cap[0]) : cap[0]);
|
|
20672
|
+
href = 'mailto:' + text;
|
|
20673
|
+
} else {
|
|
20674
|
+
// do extended autolink path validation
|
|
20675
|
+
var prevCapZero;
|
|
20676
|
+
|
|
20677
|
+
do {
|
|
20678
|
+
prevCapZero = cap[0];
|
|
20679
|
+
cap[0] = this.rules.inline._backpedal.exec(cap[0])[0];
|
|
20680
|
+
} while (prevCapZero !== cap[0]);
|
|
20681
|
+
|
|
20682
|
+
text = _escape(cap[0]);
|
|
20683
|
+
|
|
20684
|
+
if (cap[1] === 'www.') {
|
|
20685
|
+
href = 'http://' + text;
|
|
20686
|
+
} else {
|
|
20687
|
+
href = text;
|
|
20688
|
+
}
|
|
20689
|
+
}
|
|
20690
|
+
|
|
20691
|
+
return {
|
|
20692
|
+
type: 'link',
|
|
20693
|
+
raw: cap[0],
|
|
20694
|
+
text: text,
|
|
20695
|
+
href: href,
|
|
20696
|
+
tokens: [{
|
|
20697
|
+
type: 'text',
|
|
20698
|
+
raw: text,
|
|
20699
|
+
text: text
|
|
20700
|
+
}]
|
|
20701
|
+
};
|
|
20702
|
+
}
|
|
20703
|
+
};
|
|
20704
|
+
|
|
20705
|
+
_proto.inlineText = function inlineText(src, smartypants) {
|
|
20706
|
+
var cap = this.rules.inline.text.exec(src);
|
|
20707
|
+
|
|
20708
|
+
if (cap) {
|
|
20709
|
+
var text;
|
|
20710
|
+
|
|
20711
|
+
if (this.lexer.state.inRawBlock) {
|
|
20712
|
+
text = this.options.sanitize ? this.options.sanitizer ? this.options.sanitizer(cap[0]) : _escape(cap[0]) : cap[0];
|
|
20713
|
+
} else {
|
|
20714
|
+
text = _escape(this.options.smartypants ? smartypants(cap[0]) : cap[0]);
|
|
20715
|
+
}
|
|
20716
|
+
|
|
20717
|
+
return {
|
|
20718
|
+
type: 'text',
|
|
20719
|
+
raw: cap[0],
|
|
20720
|
+
text: text
|
|
20721
|
+
};
|
|
20722
|
+
}
|
|
20723
|
+
};
|
|
20724
|
+
|
|
20725
|
+
return Tokenizer;
|
|
20726
|
+
}();
|
|
20727
|
+
|
|
20728
|
+
var noopTest = helpers.noopTest,
|
|
20729
|
+
edit = helpers.edit,
|
|
20730
|
+
merge$1 = helpers.merge;
|
|
20731
|
+
/**
|
|
20732
|
+
* Block-Level Grammar
|
|
20733
|
+
*/
|
|
20734
|
+
|
|
20735
|
+
var block$1 = {
|
|
20736
|
+
newline: /^(?: *(?:\n|$))+/,
|
|
20737
|
+
code: /^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,
|
|
20738
|
+
fences: /^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,
|
|
20739
|
+
hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,
|
|
20740
|
+
heading: /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,
|
|
20741
|
+
blockquote: /^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,
|
|
20742
|
+
list: /^( {0,3}bull)( [^\n]+?)?(?:\n|$)/,
|
|
20743
|
+
html: '^ {0,3}(?:' // optional indentation
|
|
20744
|
+
+ '<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)' // (1)
|
|
20745
|
+
+ '|comment[^\\n]*(\\n+|$)' // (2)
|
|
20746
|
+
+ '|<\\?[\\s\\S]*?(?:\\?>\\n*|$)' // (3)
|
|
20747
|
+
+ '|<![A-Z][\\s\\S]*?(?:>\\n*|$)' // (4)
|
|
20748
|
+
+ '|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)' // (5)
|
|
20749
|
+
+ '|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (6)
|
|
20750
|
+
+ '|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) open tag
|
|
20751
|
+
+ '|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)' // (7) closing tag
|
|
20752
|
+
+ ')',
|
|
20753
|
+
def: /^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,
|
|
20754
|
+
table: noopTest,
|
|
20755
|
+
lheading: /^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,
|
|
20756
|
+
// regex template, placeholders will be replaced according to different paragraph
|
|
20757
|
+
// interruption rules of commonmark and the original markdown spec:
|
|
20758
|
+
_paragraph: /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html| +\n)[^\n]+)*)/,
|
|
20759
|
+
text: /^[^\n]+/
|
|
20760
|
+
};
|
|
20761
|
+
block$1._label = /(?!\s*\])(?:\\[\[\]]|[^\[\]])+/;
|
|
20762
|
+
block$1._title = /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/;
|
|
20763
|
+
block$1.def = edit(block$1.def).replace('label', block$1._label).replace('title', block$1._title).getRegex();
|
|
20764
|
+
block$1.bullet = /(?:[*+-]|\d{1,9}[.)])/;
|
|
20765
|
+
block$1.listItemStart = edit(/^( *)(bull) */).replace('bull', block$1.bullet).getRegex();
|
|
20766
|
+
block$1.list = edit(block$1.list).replace(/bull/g, block$1.bullet).replace('hr', '\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))').replace('def', '\\n+(?=' + block$1.def.source + ')').getRegex();
|
|
20767
|
+
block$1._tag = 'address|article|aside|base|basefont|blockquote|body|caption' + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption' + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe' + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option' + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr' + '|track|ul';
|
|
20768
|
+
block$1._comment = /<!--(?!-?>)[\s\S]*?(?:-->|$)/;
|
|
20769
|
+
block$1.html = edit(block$1.html, 'i').replace('comment', block$1._comment).replace('tag', block$1._tag).replace('attribute', / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
|
|
20770
|
+
block$1.paragraph = edit(block$1._paragraph).replace('hr', block$1.hr).replace('heading', ' {0,3}#{1,6} ').replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs
|
|
20771
|
+
.replace('blockquote', ' {0,3}>').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
|
|
20772
|
+
.replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block$1._tag) // pars can be interrupted by type (6) html blocks
|
|
20773
|
+
.getRegex();
|
|
20774
|
+
block$1.blockquote = edit(block$1.blockquote).replace('paragraph', block$1.paragraph).getRegex();
|
|
20775
|
+
/**
|
|
20776
|
+
* Normal Block Grammar
|
|
20777
|
+
*/
|
|
20778
|
+
|
|
20779
|
+
block$1.normal = merge$1({}, block$1);
|
|
20780
|
+
/**
|
|
20781
|
+
* GFM Block Grammar
|
|
20782
|
+
*/
|
|
20783
|
+
|
|
20784
|
+
block$1.gfm = merge$1({}, block$1.normal, {
|
|
20785
|
+
table: '^ *([^\\n ].*\\|.*)\\n' // Header
|
|
20786
|
+
+ ' {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?' // Align
|
|
20787
|
+
+ '(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)' // Cells
|
|
20788
|
+
|
|
20789
|
+
});
|
|
20790
|
+
block$1.gfm.table = edit(block$1.gfm.table).replace('hr', block$1.hr).replace('heading', ' {0,3}#{1,6} ').replace('blockquote', ' {0,3}>').replace('code', ' {4}[^\\n]').replace('fences', ' {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n').replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt
|
|
20791
|
+
.replace('html', '</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)').replace('tag', block$1._tag) // tables can be interrupted by type (6) html blocks
|
|
20792
|
+
.getRegex();
|
|
20793
|
+
/**
|
|
20794
|
+
* Pedantic grammar (original John Gruber's loose markdown specification)
|
|
20795
|
+
*/
|
|
20796
|
+
|
|
20797
|
+
block$1.pedantic = merge$1({}, block$1.normal, {
|
|
20798
|
+
html: edit('^ *(?:comment *(?:\\n|\\s*$)' + '|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)' // closed tag
|
|
20799
|
+
+ '|<tag(?:"[^"]*"|\'[^\']*\'|\\s[^\'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))').replace('comment', block$1._comment).replace(/tag/g, '(?!(?:' + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub' + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)' + '\\b)\\w+(?!:|[^\\w\\s@]*@)\\b').getRegex(),
|
|
20800
|
+
def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,
|
|
20801
|
+
heading: /^(#{1,6})(.*)(?:\n+|$)/,
|
|
20802
|
+
fences: noopTest,
|
|
20803
|
+
// fences not supported
|
|
20804
|
+
paragraph: edit(block$1.normal._paragraph).replace('hr', block$1.hr).replace('heading', ' *#{1,6} *[^\n]').replace('lheading', block$1.lheading).replace('blockquote', ' {0,3}>').replace('|fences', '').replace('|list', '').replace('|html', '').getRegex()
|
|
20805
|
+
});
|
|
20806
|
+
/**
|
|
20807
|
+
* Inline-Level Grammar
|
|
20808
|
+
*/
|
|
20809
|
+
|
|
20810
|
+
var inline$1 = {
|
|
20811
|
+
escape: /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,
|
|
20812
|
+
autolink: /^<(scheme:[^\s\x00-\x1f<>]*|email)>/,
|
|
20813
|
+
url: noopTest,
|
|
20814
|
+
tag: '^comment' + '|^</[a-zA-Z][\\w:-]*\\s*>' // self-closing tag
|
|
20815
|
+
+ '|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>' // open tag
|
|
20816
|
+
+ '|^<\\?[\\s\\S]*?\\?>' // processing instruction, e.g. <?php ?>
|
|
20817
|
+
+ '|^<![a-zA-Z]+\\s[\\s\\S]*?>' // declaration, e.g. <!DOCTYPE html>
|
|
20818
|
+
+ '|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>',
|
|
20819
|
+
// CDATA section
|
|
20820
|
+
link: /^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,
|
|
20821
|
+
reflink: /^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,
|
|
20822
|
+
nolink: /^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,
|
|
20823
|
+
reflinkSearch: 'reflink|nolink(?!\\()',
|
|
20824
|
+
emStrong: {
|
|
20825
|
+
lDelim: /^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,
|
|
20826
|
+
// (1) and (2) can only be a Right Delimiter. (3) and (4) can only be Left. (5) and (6) can be either Left or Right.
|
|
20827
|
+
// () Skip orphan delim inside strong (1) #*** (2) a***#, a*** (3) #***a, ***a (4) ***# (5) #***# (6) a***a
|
|
20828
|
+
rDelimAst: /^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,
|
|
20829
|
+
rDelimUnd: /^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/ // ^- Not allowed for _
|
|
20830
|
+
|
|
20831
|
+
},
|
|
20832
|
+
code: /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,
|
|
20833
|
+
br: /^( {2,}|\\)\n(?!\s*$)/,
|
|
20834
|
+
del: noopTest,
|
|
20835
|
+
text: /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,
|
|
20836
|
+
punctuation: /^([\spunctuation])/
|
|
20837
|
+
}; // list of punctuation marks from CommonMark spec
|
|
20838
|
+
// without * and _ to handle the different emphasis markers * and _
|
|
20839
|
+
|
|
20840
|
+
inline$1._punctuation = '!"#$%&\'()+\\-.,/:;<=>?@\\[\\]`^{|}~';
|
|
20841
|
+
inline$1.punctuation = edit(inline$1.punctuation).replace(/punctuation/g, inline$1._punctuation).getRegex(); // sequences em should skip over [title](link), `code`, <html>
|
|
20842
|
+
|
|
20843
|
+
inline$1.blockSkip = /\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g;
|
|
20844
|
+
inline$1.escapedEmSt = /\\\*|\\_/g;
|
|
20845
|
+
inline$1._comment = edit(block$1._comment).replace('(?:-->|$)', '-->').getRegex();
|
|
20846
|
+
inline$1.emStrong.lDelim = edit(inline$1.emStrong.lDelim).replace(/punct/g, inline$1._punctuation).getRegex();
|
|
20847
|
+
inline$1.emStrong.rDelimAst = edit(inline$1.emStrong.rDelimAst, 'g').replace(/punct/g, inline$1._punctuation).getRegex();
|
|
20848
|
+
inline$1.emStrong.rDelimUnd = edit(inline$1.emStrong.rDelimUnd, 'g').replace(/punct/g, inline$1._punctuation).getRegex();
|
|
20849
|
+
inline$1._escapes = /\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g;
|
|
20850
|
+
inline$1._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;
|
|
20851
|
+
inline$1._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;
|
|
20852
|
+
inline$1.autolink = edit(inline$1.autolink).replace('scheme', inline$1._scheme).replace('email', inline$1._email).getRegex();
|
|
20853
|
+
inline$1._attribute = /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/;
|
|
20854
|
+
inline$1.tag = edit(inline$1.tag).replace('comment', inline$1._comment).replace('attribute', inline$1._attribute).getRegex();
|
|
20855
|
+
inline$1._label = /(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/;
|
|
20856
|
+
inline$1._href = /<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/;
|
|
20857
|
+
inline$1._title = /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/;
|
|
20858
|
+
inline$1.link = edit(inline$1.link).replace('label', inline$1._label).replace('href', inline$1._href).replace('title', inline$1._title).getRegex();
|
|
20859
|
+
inline$1.reflink = edit(inline$1.reflink).replace('label', inline$1._label).getRegex();
|
|
20860
|
+
inline$1.reflinkSearch = edit(inline$1.reflinkSearch, 'g').replace('reflink', inline$1.reflink).replace('nolink', inline$1.nolink).getRegex();
|
|
20861
|
+
/**
|
|
20862
|
+
* Normal Inline Grammar
|
|
20863
|
+
*/
|
|
20864
|
+
|
|
20865
|
+
inline$1.normal = merge$1({}, inline$1);
|
|
20866
|
+
/**
|
|
20867
|
+
* Pedantic Inline Grammar
|
|
20868
|
+
*/
|
|
20869
|
+
|
|
20870
|
+
inline$1.pedantic = merge$1({}, inline$1.normal, {
|
|
20871
|
+
strong: {
|
|
20872
|
+
start: /^__|\*\*/,
|
|
20873
|
+
middle: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
|
|
20874
|
+
endAst: /\*\*(?!\*)/g,
|
|
20875
|
+
endUnd: /__(?!_)/g
|
|
20876
|
+
},
|
|
20877
|
+
em: {
|
|
20878
|
+
start: /^_|\*/,
|
|
20879
|
+
middle: /^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,
|
|
20880
|
+
endAst: /\*(?!\*)/g,
|
|
20881
|
+
endUnd: /_(?!_)/g
|
|
20882
|
+
},
|
|
20883
|
+
link: edit(/^!?\[(label)\]\((.*?)\)/).replace('label', inline$1._label).getRegex(),
|
|
20884
|
+
reflink: edit(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace('label', inline$1._label).getRegex()
|
|
20885
|
+
});
|
|
20886
|
+
/**
|
|
20887
|
+
* GFM Inline Grammar
|
|
20888
|
+
*/
|
|
20889
|
+
|
|
20890
|
+
inline$1.gfm = merge$1({}, inline$1.normal, {
|
|
20891
|
+
escape: edit(inline$1.escape).replace('])', '~|])').getRegex(),
|
|
20892
|
+
_extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,
|
|
20893
|
+
url: /^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,
|
|
20894
|
+
_backpedal: /(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,
|
|
20895
|
+
del: /^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,
|
|
20896
|
+
text: /^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/
|
|
20897
|
+
});
|
|
20898
|
+
inline$1.gfm.url = edit(inline$1.gfm.url, 'i').replace('email', inline$1.gfm._extended_email).getRegex();
|
|
20899
|
+
/**
|
|
20900
|
+
* GFM + Line Breaks Inline Grammar
|
|
20901
|
+
*/
|
|
20902
|
+
|
|
20903
|
+
inline$1.breaks = merge$1({}, inline$1.gfm, {
|
|
20904
|
+
br: edit(inline$1.br).replace('{2,}', '*').getRegex(),
|
|
20905
|
+
text: edit(inline$1.gfm.text).replace('\\b_', '\\b_| {2,}\\n').replace(/\{2,\}/g, '*').getRegex()
|
|
20906
|
+
});
|
|
20907
|
+
var rules = {
|
|
20908
|
+
block: block$1,
|
|
20909
|
+
inline: inline$1
|
|
20910
|
+
};
|
|
20911
|
+
|
|
20912
|
+
var Tokenizer$1 = Tokenizer_1;
|
|
20913
|
+
var defaults$3 = defaults$5.exports.defaults;
|
|
20914
|
+
var block = rules.block,
|
|
20915
|
+
inline = rules.inline;
|
|
20916
|
+
var repeatString = helpers.repeatString;
|
|
20917
|
+
/**
|
|
20918
|
+
* smartypants text replacement
|
|
20919
|
+
*/
|
|
20920
|
+
|
|
20921
|
+
function smartypants(text) {
|
|
20922
|
+
return text // em-dashes
|
|
20923
|
+
.replace(/---/g, "\u2014") // en-dashes
|
|
20924
|
+
.replace(/--/g, "\u2013") // opening singles
|
|
20925
|
+
.replace(/(^|[-\u2014/(\[{"\s])'/g, "$1\u2018") // closing singles & apostrophes
|
|
20926
|
+
.replace(/'/g, "\u2019") // opening doubles
|
|
20927
|
+
.replace(/(^|[-\u2014/(\[{\u2018\s])"/g, "$1\u201C") // closing doubles
|
|
20928
|
+
.replace(/"/g, "\u201D") // ellipses
|
|
20929
|
+
.replace(/\.{3}/g, "\u2026");
|
|
20930
|
+
}
|
|
20931
|
+
/**
|
|
20932
|
+
* mangle email addresses
|
|
20933
|
+
*/
|
|
20934
|
+
|
|
20935
|
+
|
|
20936
|
+
function mangle(text) {
|
|
20937
|
+
var out = '',
|
|
20938
|
+
i,
|
|
20939
|
+
ch;
|
|
20940
|
+
var l = text.length;
|
|
20941
|
+
|
|
20942
|
+
for (i = 0; i < l; i++) {
|
|
20943
|
+
ch = text.charCodeAt(i);
|
|
20944
|
+
|
|
20945
|
+
if (Math.random() > 0.5) {
|
|
20946
|
+
ch = 'x' + ch.toString(16);
|
|
20947
|
+
}
|
|
20948
|
+
|
|
20949
|
+
out += '&#' + ch + ';';
|
|
20950
|
+
}
|
|
20951
|
+
|
|
20952
|
+
return out;
|
|
20953
|
+
}
|
|
20954
|
+
/**
|
|
20955
|
+
* Block Lexer
|
|
20956
|
+
*/
|
|
20957
|
+
|
|
20958
|
+
|
|
20959
|
+
var Lexer_1 = /*#__PURE__*/function () {
|
|
20960
|
+
function Lexer(options) {
|
|
20961
|
+
this.tokens = [];
|
|
20962
|
+
this.tokens.links = Object.create(null);
|
|
20963
|
+
this.options = options || defaults$3;
|
|
20964
|
+
this.options.tokenizer = this.options.tokenizer || new Tokenizer$1();
|
|
20965
|
+
this.tokenizer = this.options.tokenizer;
|
|
20966
|
+
this.tokenizer.options = this.options;
|
|
20967
|
+
this.tokenizer.lexer = this;
|
|
20968
|
+
this.inlineQueue = [];
|
|
20969
|
+
this.state = {
|
|
20970
|
+
inLink: false,
|
|
20971
|
+
inRawBlock: false,
|
|
20972
|
+
top: true
|
|
20973
|
+
};
|
|
20974
|
+
var rules = {
|
|
20975
|
+
block: block.normal,
|
|
20976
|
+
inline: inline.normal
|
|
20977
|
+
};
|
|
20978
|
+
|
|
20979
|
+
if (this.options.pedantic) {
|
|
20980
|
+
rules.block = block.pedantic;
|
|
20981
|
+
rules.inline = inline.pedantic;
|
|
20982
|
+
} else if (this.options.gfm) {
|
|
20983
|
+
rules.block = block.gfm;
|
|
20984
|
+
|
|
20985
|
+
if (this.options.breaks) {
|
|
20986
|
+
rules.inline = inline.breaks;
|
|
20987
|
+
} else {
|
|
20988
|
+
rules.inline = inline.gfm;
|
|
20989
|
+
}
|
|
20990
|
+
}
|
|
20991
|
+
|
|
20992
|
+
this.tokenizer.rules = rules;
|
|
20993
|
+
}
|
|
20994
|
+
/**
|
|
20995
|
+
* Expose Rules
|
|
20996
|
+
*/
|
|
20997
|
+
|
|
20998
|
+
|
|
20999
|
+
/**
|
|
21000
|
+
* Static Lex Method
|
|
21001
|
+
*/
|
|
21002
|
+
Lexer.lex = function lex(src, options) {
|
|
21003
|
+
var lexer = new Lexer(options);
|
|
21004
|
+
return lexer.lex(src);
|
|
21005
|
+
}
|
|
21006
|
+
/**
|
|
21007
|
+
* Static Lex Inline Method
|
|
21008
|
+
*/
|
|
21009
|
+
;
|
|
21010
|
+
|
|
21011
|
+
Lexer.lexInline = function lexInline(src, options) {
|
|
21012
|
+
var lexer = new Lexer(options);
|
|
21013
|
+
return lexer.inlineTokens(src);
|
|
21014
|
+
}
|
|
21015
|
+
/**
|
|
21016
|
+
* Preprocessing
|
|
21017
|
+
*/
|
|
21018
|
+
;
|
|
21019
|
+
|
|
21020
|
+
var _proto = Lexer.prototype;
|
|
21021
|
+
|
|
21022
|
+
_proto.lex = function lex(src) {
|
|
21023
|
+
src = src.replace(/\r\n|\r/g, '\n').replace(/\t/g, ' ');
|
|
21024
|
+
this.blockTokens(src, this.tokens);
|
|
21025
|
+
var next;
|
|
21026
|
+
|
|
21027
|
+
while (next = this.inlineQueue.shift()) {
|
|
21028
|
+
this.inlineTokens(next.src, next.tokens);
|
|
21029
|
+
}
|
|
21030
|
+
|
|
21031
|
+
return this.tokens;
|
|
21032
|
+
}
|
|
21033
|
+
/**
|
|
21034
|
+
* Lexing
|
|
21035
|
+
*/
|
|
21036
|
+
;
|
|
21037
|
+
|
|
21038
|
+
_proto.blockTokens = function blockTokens(src, tokens) {
|
|
21039
|
+
var _this = this;
|
|
21040
|
+
|
|
21041
|
+
if (tokens === void 0) {
|
|
21042
|
+
tokens = [];
|
|
21043
|
+
}
|
|
21044
|
+
|
|
21045
|
+
if (this.options.pedantic) {
|
|
21046
|
+
src = src.replace(/^ +$/gm, '');
|
|
21047
|
+
}
|
|
21048
|
+
|
|
21049
|
+
var token, lastToken, cutSrc, lastParagraphClipped;
|
|
21050
|
+
|
|
21051
|
+
while (src) {
|
|
21052
|
+
if (this.options.extensions && this.options.extensions.block && this.options.extensions.block.some(function (extTokenizer) {
|
|
21053
|
+
if (token = extTokenizer.call({
|
|
21054
|
+
lexer: _this
|
|
21055
|
+
}, src, tokens)) {
|
|
21056
|
+
src = src.substring(token.raw.length);
|
|
21057
|
+
tokens.push(token);
|
|
21058
|
+
return true;
|
|
21059
|
+
}
|
|
21060
|
+
|
|
21061
|
+
return false;
|
|
21062
|
+
})) {
|
|
21063
|
+
continue;
|
|
21064
|
+
} // newline
|
|
21065
|
+
|
|
21066
|
+
|
|
21067
|
+
if (token = this.tokenizer.space(src)) {
|
|
21068
|
+
src = src.substring(token.raw.length);
|
|
21069
|
+
|
|
21070
|
+
if (token.type) {
|
|
21071
|
+
tokens.push(token);
|
|
21072
|
+
}
|
|
21073
|
+
|
|
21074
|
+
continue;
|
|
21075
|
+
} // code
|
|
21076
|
+
|
|
21077
|
+
|
|
21078
|
+
if (token = this.tokenizer.code(src)) {
|
|
21079
|
+
src = src.substring(token.raw.length);
|
|
21080
|
+
lastToken = tokens[tokens.length - 1]; // An indented code block cannot interrupt a paragraph.
|
|
21081
|
+
|
|
21082
|
+
if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {
|
|
21083
|
+
lastToken.raw += '\n' + token.raw;
|
|
21084
|
+
lastToken.text += '\n' + token.text;
|
|
21085
|
+
this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
|
|
21086
|
+
} else {
|
|
21087
|
+
tokens.push(token);
|
|
21088
|
+
}
|
|
21089
|
+
|
|
21090
|
+
continue;
|
|
21091
|
+
} // fences
|
|
21092
|
+
|
|
21093
|
+
|
|
21094
|
+
if (token = this.tokenizer.fences(src)) {
|
|
21095
|
+
src = src.substring(token.raw.length);
|
|
21096
|
+
tokens.push(token);
|
|
21097
|
+
continue;
|
|
21098
|
+
} // heading
|
|
21099
|
+
|
|
21100
|
+
|
|
21101
|
+
if (token = this.tokenizer.heading(src)) {
|
|
21102
|
+
src = src.substring(token.raw.length);
|
|
21103
|
+
tokens.push(token);
|
|
21104
|
+
continue;
|
|
21105
|
+
} // hr
|
|
21106
|
+
|
|
21107
|
+
|
|
21108
|
+
if (token = this.tokenizer.hr(src)) {
|
|
21109
|
+
src = src.substring(token.raw.length);
|
|
21110
|
+
tokens.push(token);
|
|
21111
|
+
continue;
|
|
21112
|
+
} // blockquote
|
|
21113
|
+
|
|
21114
|
+
|
|
21115
|
+
if (token = this.tokenizer.blockquote(src)) {
|
|
21116
|
+
src = src.substring(token.raw.length);
|
|
21117
|
+
tokens.push(token);
|
|
21118
|
+
continue;
|
|
21119
|
+
} // list
|
|
21120
|
+
|
|
21121
|
+
|
|
21122
|
+
if (token = this.tokenizer.list(src)) {
|
|
21123
|
+
src = src.substring(token.raw.length);
|
|
21124
|
+
tokens.push(token);
|
|
21125
|
+
continue;
|
|
21126
|
+
} // html
|
|
21127
|
+
|
|
21128
|
+
|
|
21129
|
+
if (token = this.tokenizer.html(src)) {
|
|
21130
|
+
src = src.substring(token.raw.length);
|
|
21131
|
+
tokens.push(token);
|
|
21132
|
+
continue;
|
|
21133
|
+
} // def
|
|
21134
|
+
|
|
21135
|
+
|
|
21136
|
+
if (token = this.tokenizer.def(src)) {
|
|
21137
|
+
src = src.substring(token.raw.length);
|
|
21138
|
+
lastToken = tokens[tokens.length - 1];
|
|
21139
|
+
|
|
21140
|
+
if (lastToken && (lastToken.type === 'paragraph' || lastToken.type === 'text')) {
|
|
21141
|
+
lastToken.raw += '\n' + token.raw;
|
|
21142
|
+
lastToken.text += '\n' + token.raw;
|
|
21143
|
+
this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
|
|
21144
|
+
} else if (!this.tokens.links[token.tag]) {
|
|
21145
|
+
this.tokens.links[token.tag] = {
|
|
21146
|
+
href: token.href,
|
|
21147
|
+
title: token.title
|
|
21148
|
+
};
|
|
21149
|
+
}
|
|
21150
|
+
|
|
21151
|
+
continue;
|
|
21152
|
+
} // table (gfm)
|
|
21153
|
+
|
|
21154
|
+
|
|
21155
|
+
if (token = this.tokenizer.table(src)) {
|
|
21156
|
+
src = src.substring(token.raw.length);
|
|
21157
|
+
tokens.push(token);
|
|
21158
|
+
continue;
|
|
21159
|
+
} // lheading
|
|
21160
|
+
|
|
21161
|
+
|
|
21162
|
+
if (token = this.tokenizer.lheading(src)) {
|
|
21163
|
+
src = src.substring(token.raw.length);
|
|
21164
|
+
tokens.push(token);
|
|
21165
|
+
continue;
|
|
21166
|
+
} // top-level paragraph
|
|
21167
|
+
// prevent paragraph consuming extensions by clipping 'src' to extension start
|
|
21168
|
+
|
|
21169
|
+
|
|
21170
|
+
cutSrc = src;
|
|
21171
|
+
|
|
21172
|
+
if (this.options.extensions && this.options.extensions.startBlock) {
|
|
21173
|
+
(function () {
|
|
21174
|
+
var startIndex = Infinity;
|
|
21175
|
+
var tempSrc = src.slice(1);
|
|
21176
|
+
var tempStart = void 0;
|
|
21177
|
+
|
|
21178
|
+
_this.options.extensions.startBlock.forEach(function (getStartIndex) {
|
|
21179
|
+
tempStart = getStartIndex.call({
|
|
21180
|
+
lexer: this
|
|
21181
|
+
}, tempSrc);
|
|
21182
|
+
|
|
21183
|
+
if (typeof tempStart === 'number' && tempStart >= 0) {
|
|
21184
|
+
startIndex = Math.min(startIndex, tempStart);
|
|
21185
|
+
}
|
|
21186
|
+
});
|
|
21187
|
+
|
|
21188
|
+
if (startIndex < Infinity && startIndex >= 0) {
|
|
21189
|
+
cutSrc = src.substring(0, startIndex + 1);
|
|
21190
|
+
}
|
|
21191
|
+
})();
|
|
21192
|
+
}
|
|
21193
|
+
|
|
21194
|
+
if (this.state.top && (token = this.tokenizer.paragraph(cutSrc))) {
|
|
21195
|
+
lastToken = tokens[tokens.length - 1];
|
|
21196
|
+
|
|
21197
|
+
if (lastParagraphClipped && lastToken.type === 'paragraph') {
|
|
21198
|
+
lastToken.raw += '\n' + token.raw;
|
|
21199
|
+
lastToken.text += '\n' + token.text;
|
|
21200
|
+
this.inlineQueue.pop();
|
|
21201
|
+
this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
|
|
21202
|
+
} else {
|
|
21203
|
+
tokens.push(token);
|
|
21204
|
+
}
|
|
21205
|
+
|
|
21206
|
+
lastParagraphClipped = cutSrc.length !== src.length;
|
|
21207
|
+
src = src.substring(token.raw.length);
|
|
21208
|
+
continue;
|
|
21209
|
+
} // text
|
|
21210
|
+
|
|
21211
|
+
|
|
21212
|
+
if (token = this.tokenizer.text(src)) {
|
|
21213
|
+
src = src.substring(token.raw.length);
|
|
21214
|
+
lastToken = tokens[tokens.length - 1];
|
|
21215
|
+
|
|
21216
|
+
if (lastToken && lastToken.type === 'text') {
|
|
21217
|
+
lastToken.raw += '\n' + token.raw;
|
|
21218
|
+
lastToken.text += '\n' + token.text;
|
|
21219
|
+
this.inlineQueue.pop();
|
|
21220
|
+
this.inlineQueue[this.inlineQueue.length - 1].src = lastToken.text;
|
|
21221
|
+
} else {
|
|
21222
|
+
tokens.push(token);
|
|
21223
|
+
}
|
|
21224
|
+
|
|
21225
|
+
continue;
|
|
21226
|
+
}
|
|
21227
|
+
|
|
21228
|
+
if (src) {
|
|
21229
|
+
var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);
|
|
21230
|
+
|
|
21231
|
+
if (this.options.silent) {
|
|
21232
|
+
console.error(errMsg);
|
|
21233
|
+
break;
|
|
21234
|
+
} else {
|
|
21235
|
+
throw new Error(errMsg);
|
|
21236
|
+
}
|
|
21237
|
+
}
|
|
21238
|
+
}
|
|
21239
|
+
|
|
21240
|
+
this.state.top = true;
|
|
21241
|
+
return tokens;
|
|
21242
|
+
};
|
|
21243
|
+
|
|
21244
|
+
_proto.inline = function inline(src, tokens) {
|
|
21245
|
+
this.inlineQueue.push({
|
|
21246
|
+
src: src,
|
|
21247
|
+
tokens: tokens
|
|
21248
|
+
});
|
|
21249
|
+
}
|
|
21250
|
+
/**
|
|
21251
|
+
* Lexing/Compiling
|
|
21252
|
+
*/
|
|
21253
|
+
;
|
|
21254
|
+
|
|
21255
|
+
_proto.inlineTokens = function inlineTokens(src, tokens) {
|
|
21256
|
+
var _this2 = this;
|
|
21257
|
+
|
|
21258
|
+
if (tokens === void 0) {
|
|
21259
|
+
tokens = [];
|
|
21260
|
+
}
|
|
21261
|
+
|
|
21262
|
+
var token, lastToken, cutSrc; // String with links masked to avoid interference with em and strong
|
|
21263
|
+
|
|
21264
|
+
var maskedSrc = src;
|
|
21265
|
+
var match;
|
|
21266
|
+
var keepPrevChar, prevChar; // Mask out reflinks
|
|
21267
|
+
|
|
21268
|
+
if (this.tokens.links) {
|
|
21269
|
+
var links = Object.keys(this.tokens.links);
|
|
21270
|
+
|
|
21271
|
+
if (links.length > 0) {
|
|
21272
|
+
while ((match = this.tokenizer.rules.inline.reflinkSearch.exec(maskedSrc)) != null) {
|
|
21273
|
+
if (links.includes(match[0].slice(match[0].lastIndexOf('[') + 1, -1))) {
|
|
21274
|
+
maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex);
|
|
21275
|
+
}
|
|
21276
|
+
}
|
|
21277
|
+
}
|
|
21278
|
+
} // Mask out other blocks
|
|
21279
|
+
|
|
21280
|
+
|
|
21281
|
+
while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {
|
|
21282
|
+
maskedSrc = maskedSrc.slice(0, match.index) + '[' + repeatString('a', match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
|
|
21283
|
+
} // Mask out escaped em & strong delimiters
|
|
21284
|
+
|
|
21285
|
+
|
|
21286
|
+
while ((match = this.tokenizer.rules.inline.escapedEmSt.exec(maskedSrc)) != null) {
|
|
21287
|
+
maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);
|
|
21288
|
+
}
|
|
21289
|
+
|
|
21290
|
+
while (src) {
|
|
21291
|
+
if (!keepPrevChar) {
|
|
21292
|
+
prevChar = '';
|
|
21293
|
+
}
|
|
21294
|
+
|
|
21295
|
+
keepPrevChar = false; // extensions
|
|
21296
|
+
|
|
21297
|
+
if (this.options.extensions && this.options.extensions.inline && this.options.extensions.inline.some(function (extTokenizer) {
|
|
21298
|
+
if (token = extTokenizer.call({
|
|
21299
|
+
lexer: _this2
|
|
21300
|
+
}, src, tokens)) {
|
|
21301
|
+
src = src.substring(token.raw.length);
|
|
21302
|
+
tokens.push(token);
|
|
21303
|
+
return true;
|
|
21304
|
+
}
|
|
21305
|
+
|
|
21306
|
+
return false;
|
|
21307
|
+
})) {
|
|
21308
|
+
continue;
|
|
21309
|
+
} // escape
|
|
21310
|
+
|
|
21311
|
+
|
|
21312
|
+
if (token = this.tokenizer.escape(src)) {
|
|
21313
|
+
src = src.substring(token.raw.length);
|
|
21314
|
+
tokens.push(token);
|
|
21315
|
+
continue;
|
|
21316
|
+
} // tag
|
|
21317
|
+
|
|
21318
|
+
|
|
21319
|
+
if (token = this.tokenizer.tag(src)) {
|
|
21320
|
+
src = src.substring(token.raw.length);
|
|
21321
|
+
lastToken = tokens[tokens.length - 1];
|
|
21322
|
+
|
|
21323
|
+
if (lastToken && token.type === 'text' && lastToken.type === 'text') {
|
|
21324
|
+
lastToken.raw += token.raw;
|
|
21325
|
+
lastToken.text += token.text;
|
|
21326
|
+
} else {
|
|
21327
|
+
tokens.push(token);
|
|
21328
|
+
}
|
|
21329
|
+
|
|
21330
|
+
continue;
|
|
21331
|
+
} // link
|
|
21332
|
+
|
|
21333
|
+
|
|
21334
|
+
if (token = this.tokenizer.link(src)) {
|
|
21335
|
+
src = src.substring(token.raw.length);
|
|
21336
|
+
tokens.push(token);
|
|
21337
|
+
continue;
|
|
21338
|
+
} // reflink, nolink
|
|
21339
|
+
|
|
21340
|
+
|
|
21341
|
+
if (token = this.tokenizer.reflink(src, this.tokens.links)) {
|
|
21342
|
+
src = src.substring(token.raw.length);
|
|
21343
|
+
lastToken = tokens[tokens.length - 1];
|
|
21344
|
+
|
|
21345
|
+
if (lastToken && token.type === 'text' && lastToken.type === 'text') {
|
|
21346
|
+
lastToken.raw += token.raw;
|
|
21347
|
+
lastToken.text += token.text;
|
|
21348
|
+
} else {
|
|
21349
|
+
tokens.push(token);
|
|
21350
|
+
}
|
|
21351
|
+
|
|
21352
|
+
continue;
|
|
21353
|
+
} // em & strong
|
|
21354
|
+
|
|
21355
|
+
|
|
21356
|
+
if (token = this.tokenizer.emStrong(src, maskedSrc, prevChar)) {
|
|
21357
|
+
src = src.substring(token.raw.length);
|
|
21358
|
+
tokens.push(token);
|
|
21359
|
+
continue;
|
|
21360
|
+
} // code
|
|
21361
|
+
|
|
21362
|
+
|
|
21363
|
+
if (token = this.tokenizer.codespan(src)) {
|
|
21364
|
+
src = src.substring(token.raw.length);
|
|
21365
|
+
tokens.push(token);
|
|
21366
|
+
continue;
|
|
21367
|
+
} // br
|
|
21368
|
+
|
|
21369
|
+
|
|
21370
|
+
if (token = this.tokenizer.br(src)) {
|
|
21371
|
+
src = src.substring(token.raw.length);
|
|
21372
|
+
tokens.push(token);
|
|
21373
|
+
continue;
|
|
21374
|
+
} // del (gfm)
|
|
21375
|
+
|
|
21376
|
+
|
|
21377
|
+
if (token = this.tokenizer.del(src)) {
|
|
21378
|
+
src = src.substring(token.raw.length);
|
|
21379
|
+
tokens.push(token);
|
|
21380
|
+
continue;
|
|
21381
|
+
} // autolink
|
|
21382
|
+
|
|
21383
|
+
|
|
21384
|
+
if (token = this.tokenizer.autolink(src, mangle)) {
|
|
21385
|
+
src = src.substring(token.raw.length);
|
|
21386
|
+
tokens.push(token);
|
|
21387
|
+
continue;
|
|
21388
|
+
} // url (gfm)
|
|
21389
|
+
|
|
21390
|
+
|
|
21391
|
+
if (!this.state.inLink && (token = this.tokenizer.url(src, mangle))) {
|
|
21392
|
+
src = src.substring(token.raw.length);
|
|
21393
|
+
tokens.push(token);
|
|
21394
|
+
continue;
|
|
21395
|
+
} // text
|
|
21396
|
+
// prevent inlineText consuming extensions by clipping 'src' to extension start
|
|
21397
|
+
|
|
21398
|
+
|
|
21399
|
+
cutSrc = src;
|
|
21400
|
+
|
|
21401
|
+
if (this.options.extensions && this.options.extensions.startInline) {
|
|
21402
|
+
(function () {
|
|
21403
|
+
var startIndex = Infinity;
|
|
21404
|
+
var tempSrc = src.slice(1);
|
|
21405
|
+
var tempStart = void 0;
|
|
21406
|
+
|
|
21407
|
+
_this2.options.extensions.startInline.forEach(function (getStartIndex) {
|
|
21408
|
+
tempStart = getStartIndex.call({
|
|
21409
|
+
lexer: this
|
|
21410
|
+
}, tempSrc);
|
|
21411
|
+
|
|
21412
|
+
if (typeof tempStart === 'number' && tempStart >= 0) {
|
|
21413
|
+
startIndex = Math.min(startIndex, tempStart);
|
|
21414
|
+
}
|
|
21415
|
+
});
|
|
21416
|
+
|
|
21417
|
+
if (startIndex < Infinity && startIndex >= 0) {
|
|
21418
|
+
cutSrc = src.substring(0, startIndex + 1);
|
|
21419
|
+
}
|
|
21420
|
+
})();
|
|
21421
|
+
}
|
|
21422
|
+
|
|
21423
|
+
if (token = this.tokenizer.inlineText(cutSrc, smartypants)) {
|
|
21424
|
+
src = src.substring(token.raw.length);
|
|
21425
|
+
|
|
21426
|
+
if (token.raw.slice(-1) !== '_') {
|
|
21427
|
+
// Track prevChar before string of ____ started
|
|
21428
|
+
prevChar = token.raw.slice(-1);
|
|
21429
|
+
}
|
|
21430
|
+
|
|
21431
|
+
keepPrevChar = true;
|
|
21432
|
+
lastToken = tokens[tokens.length - 1];
|
|
21433
|
+
|
|
21434
|
+
if (lastToken && lastToken.type === 'text') {
|
|
21435
|
+
lastToken.raw += token.raw;
|
|
21436
|
+
lastToken.text += token.text;
|
|
21437
|
+
} else {
|
|
21438
|
+
tokens.push(token);
|
|
21439
|
+
}
|
|
21440
|
+
|
|
21441
|
+
continue;
|
|
21442
|
+
}
|
|
21443
|
+
|
|
21444
|
+
if (src) {
|
|
21445
|
+
var errMsg = 'Infinite loop on byte: ' + src.charCodeAt(0);
|
|
21446
|
+
|
|
21447
|
+
if (this.options.silent) {
|
|
21448
|
+
console.error(errMsg);
|
|
21449
|
+
break;
|
|
21450
|
+
} else {
|
|
21451
|
+
throw new Error(errMsg);
|
|
21452
|
+
}
|
|
21453
|
+
}
|
|
21454
|
+
}
|
|
21455
|
+
|
|
21456
|
+
return tokens;
|
|
21457
|
+
};
|
|
21458
|
+
|
|
21459
|
+
_createClass(Lexer, null, [{
|
|
21460
|
+
key: "rules",
|
|
21461
|
+
get: function get() {
|
|
21462
|
+
return {
|
|
21463
|
+
block: block,
|
|
21464
|
+
inline: inline
|
|
21465
|
+
};
|
|
21466
|
+
}
|
|
21467
|
+
}]);
|
|
21468
|
+
|
|
21469
|
+
return Lexer;
|
|
21470
|
+
}();
|
|
21471
|
+
|
|
21472
|
+
var defaults$2 = defaults$5.exports.defaults;
|
|
21473
|
+
var cleanUrl = helpers.cleanUrl,
|
|
21474
|
+
escape$1 = helpers.escape;
|
|
21475
|
+
/**
|
|
21476
|
+
* Renderer
|
|
21477
|
+
*/
|
|
21478
|
+
|
|
21479
|
+
var Renderer_1 = /*#__PURE__*/function () {
|
|
21480
|
+
function Renderer(options) {
|
|
21481
|
+
this.options = options || defaults$2;
|
|
21482
|
+
}
|
|
21483
|
+
|
|
21484
|
+
var _proto = Renderer.prototype;
|
|
21485
|
+
|
|
21486
|
+
_proto.code = function code(_code, infostring, escaped) {
|
|
21487
|
+
var lang = (infostring || '').match(/\S*/)[0];
|
|
21488
|
+
|
|
21489
|
+
if (this.options.highlight) {
|
|
21490
|
+
var out = this.options.highlight(_code, lang);
|
|
21491
|
+
|
|
21492
|
+
if (out != null && out !== _code) {
|
|
21493
|
+
escaped = true;
|
|
21494
|
+
_code = out;
|
|
21495
|
+
}
|
|
21496
|
+
}
|
|
21497
|
+
|
|
21498
|
+
_code = _code.replace(/\n$/, '') + '\n';
|
|
21499
|
+
|
|
21500
|
+
if (!lang) {
|
|
21501
|
+
return '<pre><code>' + (escaped ? _code : escape$1(_code, true)) + '</code></pre>\n';
|
|
21502
|
+
}
|
|
21503
|
+
|
|
21504
|
+
return '<pre><code class="' + this.options.langPrefix + escape$1(lang, true) + '">' + (escaped ? _code : escape$1(_code, true)) + '</code></pre>\n';
|
|
21505
|
+
};
|
|
21506
|
+
|
|
21507
|
+
_proto.blockquote = function blockquote(quote) {
|
|
21508
|
+
return '<blockquote>\n' + quote + '</blockquote>\n';
|
|
21509
|
+
};
|
|
21510
|
+
|
|
21511
|
+
_proto.html = function html(_html) {
|
|
21512
|
+
return _html;
|
|
21513
|
+
};
|
|
21514
|
+
|
|
21515
|
+
_proto.heading = function heading(text, level, raw, slugger) {
|
|
21516
|
+
if (this.options.headerIds) {
|
|
21517
|
+
return '<h' + level + ' id="' + this.options.headerPrefix + slugger.slug(raw) + '">' + text + '</h' + level + '>\n';
|
|
21518
|
+
} // ignore IDs
|
|
21519
|
+
|
|
21520
|
+
|
|
21521
|
+
return '<h' + level + '>' + text + '</h' + level + '>\n';
|
|
21522
|
+
};
|
|
21523
|
+
|
|
21524
|
+
_proto.hr = function hr() {
|
|
21525
|
+
return this.options.xhtml ? '<hr/>\n' : '<hr>\n';
|
|
21526
|
+
};
|
|
21527
|
+
|
|
21528
|
+
_proto.list = function list(body, ordered, start) {
|
|
21529
|
+
var type = ordered ? 'ol' : 'ul',
|
|
21530
|
+
startatt = ordered && start !== 1 ? ' start="' + start + '"' : '';
|
|
21531
|
+
return '<' + type + startatt + '>\n' + body + '</' + type + '>\n';
|
|
21532
|
+
};
|
|
21533
|
+
|
|
21534
|
+
_proto.listitem = function listitem(text) {
|
|
21535
|
+
return '<li>' + text + '</li>\n';
|
|
21536
|
+
};
|
|
21537
|
+
|
|
21538
|
+
_proto.checkbox = function checkbox(checked) {
|
|
21539
|
+
return '<input ' + (checked ? 'checked="" ' : '') + 'disabled="" type="checkbox"' + (this.options.xhtml ? ' /' : '') + '> ';
|
|
21540
|
+
};
|
|
21541
|
+
|
|
21542
|
+
_proto.paragraph = function paragraph(text) {
|
|
21543
|
+
return '<p>' + text + '</p>\n';
|
|
21544
|
+
};
|
|
21545
|
+
|
|
21546
|
+
_proto.table = function table(header, body) {
|
|
21547
|
+
if (body) body = '<tbody>' + body + '</tbody>';
|
|
21548
|
+
return '<table>\n' + '<thead>\n' + header + '</thead>\n' + body + '</table>\n';
|
|
21549
|
+
};
|
|
21550
|
+
|
|
21551
|
+
_proto.tablerow = function tablerow(content) {
|
|
21552
|
+
return '<tr>\n' + content + '</tr>\n';
|
|
21553
|
+
};
|
|
21554
|
+
|
|
21555
|
+
_proto.tablecell = function tablecell(content, flags) {
|
|
21556
|
+
var type = flags.header ? 'th' : 'td';
|
|
21557
|
+
var tag = flags.align ? '<' + type + ' align="' + flags.align + '">' : '<' + type + '>';
|
|
21558
|
+
return tag + content + '</' + type + '>\n';
|
|
21559
|
+
} // span level renderer
|
|
21560
|
+
;
|
|
21561
|
+
|
|
21562
|
+
_proto.strong = function strong(text) {
|
|
21563
|
+
return '<strong>' + text + '</strong>';
|
|
21564
|
+
};
|
|
21565
|
+
|
|
21566
|
+
_proto.em = function em(text) {
|
|
21567
|
+
return '<em>' + text + '</em>';
|
|
21568
|
+
};
|
|
21569
|
+
|
|
21570
|
+
_proto.codespan = function codespan(text) {
|
|
21571
|
+
return '<code>' + text + '</code>';
|
|
21572
|
+
};
|
|
21573
|
+
|
|
21574
|
+
_proto.br = function br() {
|
|
21575
|
+
return this.options.xhtml ? '<br/>' : '<br>';
|
|
21576
|
+
};
|
|
21577
|
+
|
|
21578
|
+
_proto.del = function del(text) {
|
|
21579
|
+
return '<del>' + text + '</del>';
|
|
21580
|
+
};
|
|
21581
|
+
|
|
21582
|
+
_proto.link = function link(href, title, text) {
|
|
21583
|
+
href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);
|
|
21584
|
+
|
|
21585
|
+
if (href === null) {
|
|
21586
|
+
return text;
|
|
21587
|
+
}
|
|
21588
|
+
|
|
21589
|
+
var out = '<a href="' + escape$1(href) + '"';
|
|
21590
|
+
|
|
21591
|
+
if (title) {
|
|
21592
|
+
out += ' title="' + title + '"';
|
|
21593
|
+
}
|
|
21594
|
+
|
|
21595
|
+
out += '>' + text + '</a>';
|
|
21596
|
+
return out;
|
|
21597
|
+
};
|
|
21598
|
+
|
|
21599
|
+
_proto.image = function image(href, title, text) {
|
|
21600
|
+
href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);
|
|
21601
|
+
|
|
21602
|
+
if (href === null) {
|
|
21603
|
+
return text;
|
|
21604
|
+
}
|
|
21605
|
+
|
|
21606
|
+
var out = '<img src="' + href + '" alt="' + text + '"';
|
|
21607
|
+
|
|
21608
|
+
if (title) {
|
|
21609
|
+
out += ' title="' + title + '"';
|
|
21610
|
+
}
|
|
21611
|
+
|
|
21612
|
+
out += this.options.xhtml ? '/>' : '>';
|
|
21613
|
+
return out;
|
|
21614
|
+
};
|
|
21615
|
+
|
|
21616
|
+
_proto.text = function text(_text) {
|
|
21617
|
+
return _text;
|
|
21618
|
+
};
|
|
21619
|
+
|
|
21620
|
+
return Renderer;
|
|
21621
|
+
}();
|
|
21622
|
+
|
|
21623
|
+
/**
|
|
21624
|
+
* TextRenderer
|
|
21625
|
+
* returns only the textual part of the token
|
|
21626
|
+
*/
|
|
21627
|
+
|
|
21628
|
+
var TextRenderer_1 = /*#__PURE__*/function () {
|
|
21629
|
+
function TextRenderer() {}
|
|
21630
|
+
|
|
21631
|
+
var _proto = TextRenderer.prototype;
|
|
21632
|
+
|
|
21633
|
+
// no need for block level renderers
|
|
21634
|
+
_proto.strong = function strong(text) {
|
|
21635
|
+
return text;
|
|
21636
|
+
};
|
|
21637
|
+
|
|
21638
|
+
_proto.em = function em(text) {
|
|
21639
|
+
return text;
|
|
21640
|
+
};
|
|
21641
|
+
|
|
21642
|
+
_proto.codespan = function codespan(text) {
|
|
21643
|
+
return text;
|
|
21644
|
+
};
|
|
21645
|
+
|
|
21646
|
+
_proto.del = function del(text) {
|
|
21647
|
+
return text;
|
|
21648
|
+
};
|
|
21649
|
+
|
|
21650
|
+
_proto.html = function html(text) {
|
|
21651
|
+
return text;
|
|
21652
|
+
};
|
|
21653
|
+
|
|
21654
|
+
_proto.text = function text(_text) {
|
|
21655
|
+
return _text;
|
|
21656
|
+
};
|
|
21657
|
+
|
|
21658
|
+
_proto.link = function link(href, title, text) {
|
|
21659
|
+
return '' + text;
|
|
21660
|
+
};
|
|
21661
|
+
|
|
21662
|
+
_proto.image = function image(href, title, text) {
|
|
21663
|
+
return '' + text;
|
|
21664
|
+
};
|
|
21665
|
+
|
|
21666
|
+
_proto.br = function br() {
|
|
21667
|
+
return '';
|
|
21668
|
+
};
|
|
21669
|
+
|
|
21670
|
+
return TextRenderer;
|
|
21671
|
+
}();
|
|
21672
|
+
|
|
21673
|
+
/**
|
|
21674
|
+
* Slugger generates header id
|
|
21675
|
+
*/
|
|
21676
|
+
|
|
21677
|
+
var Slugger_1 = /*#__PURE__*/function () {
|
|
21678
|
+
function Slugger() {
|
|
21679
|
+
this.seen = {};
|
|
21680
|
+
}
|
|
21681
|
+
|
|
21682
|
+
var _proto = Slugger.prototype;
|
|
21683
|
+
|
|
21684
|
+
_proto.serialize = function serialize(value) {
|
|
21685
|
+
return value.toLowerCase().trim() // remove html tags
|
|
21686
|
+
.replace(/<[!\/a-z].*?>/ig, '') // remove unwanted chars
|
|
21687
|
+
.replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g, '').replace(/\s/g, '-');
|
|
21688
|
+
}
|
|
21689
|
+
/**
|
|
21690
|
+
* Finds the next safe (unique) slug to use
|
|
21691
|
+
*/
|
|
21692
|
+
;
|
|
21693
|
+
|
|
21694
|
+
_proto.getNextSafeSlug = function getNextSafeSlug(originalSlug, isDryRun) {
|
|
21695
|
+
var slug = originalSlug;
|
|
21696
|
+
var occurenceAccumulator = 0;
|
|
21697
|
+
|
|
21698
|
+
if (this.seen.hasOwnProperty(slug)) {
|
|
21699
|
+
occurenceAccumulator = this.seen[originalSlug];
|
|
21700
|
+
|
|
21701
|
+
do {
|
|
21702
|
+
occurenceAccumulator++;
|
|
21703
|
+
slug = originalSlug + '-' + occurenceAccumulator;
|
|
21704
|
+
} while (this.seen.hasOwnProperty(slug));
|
|
21705
|
+
}
|
|
21706
|
+
|
|
21707
|
+
if (!isDryRun) {
|
|
21708
|
+
this.seen[originalSlug] = occurenceAccumulator;
|
|
21709
|
+
this.seen[slug] = 0;
|
|
21710
|
+
}
|
|
21711
|
+
|
|
21712
|
+
return slug;
|
|
21713
|
+
}
|
|
21714
|
+
/**
|
|
21715
|
+
* Convert string to unique id
|
|
21716
|
+
* @param {object} options
|
|
21717
|
+
* @param {boolean} options.dryrun Generates the next unique slug without updating the internal accumulator.
|
|
21718
|
+
*/
|
|
21719
|
+
;
|
|
21720
|
+
|
|
21721
|
+
_proto.slug = function slug(value, options) {
|
|
21722
|
+
if (options === void 0) {
|
|
21723
|
+
options = {};
|
|
21724
|
+
}
|
|
21725
|
+
|
|
21726
|
+
var slug = this.serialize(value);
|
|
21727
|
+
return this.getNextSafeSlug(slug, options.dryrun);
|
|
21728
|
+
};
|
|
21729
|
+
|
|
21730
|
+
return Slugger;
|
|
21731
|
+
}();
|
|
21732
|
+
|
|
21733
|
+
var Renderer$1 = Renderer_1;
|
|
21734
|
+
var TextRenderer$1 = TextRenderer_1;
|
|
21735
|
+
var Slugger$1 = Slugger_1;
|
|
21736
|
+
var defaults$1 = defaults$5.exports.defaults;
|
|
21737
|
+
var unescape = helpers.unescape;
|
|
21738
|
+
/**
|
|
21739
|
+
* Parsing & Compiling
|
|
21740
|
+
*/
|
|
21741
|
+
|
|
21742
|
+
var Parser_1 = /*#__PURE__*/function () {
|
|
21743
|
+
function Parser(options) {
|
|
21744
|
+
this.options = options || defaults$1;
|
|
21745
|
+
this.options.renderer = this.options.renderer || new Renderer$1();
|
|
21746
|
+
this.renderer = this.options.renderer;
|
|
21747
|
+
this.renderer.options = this.options;
|
|
21748
|
+
this.textRenderer = new TextRenderer$1();
|
|
21749
|
+
this.slugger = new Slugger$1();
|
|
21750
|
+
}
|
|
21751
|
+
/**
|
|
21752
|
+
* Static Parse Method
|
|
21753
|
+
*/
|
|
21754
|
+
|
|
21755
|
+
|
|
21756
|
+
Parser.parse = function parse(tokens, options) {
|
|
21757
|
+
var parser = new Parser(options);
|
|
21758
|
+
return parser.parse(tokens);
|
|
21759
|
+
}
|
|
21760
|
+
/**
|
|
21761
|
+
* Static Parse Inline Method
|
|
21762
|
+
*/
|
|
21763
|
+
;
|
|
21764
|
+
|
|
21765
|
+
Parser.parseInline = function parseInline(tokens, options) {
|
|
21766
|
+
var parser = new Parser(options);
|
|
21767
|
+
return parser.parseInline(tokens);
|
|
21768
|
+
}
|
|
21769
|
+
/**
|
|
21770
|
+
* Parse Loop
|
|
21771
|
+
*/
|
|
21772
|
+
;
|
|
21773
|
+
|
|
21774
|
+
var _proto = Parser.prototype;
|
|
21775
|
+
|
|
21776
|
+
_proto.parse = function parse(tokens, top) {
|
|
21777
|
+
if (top === void 0) {
|
|
21778
|
+
top = true;
|
|
21779
|
+
}
|
|
21780
|
+
|
|
21781
|
+
var out = '',
|
|
21782
|
+
i,
|
|
21783
|
+
j,
|
|
21784
|
+
k,
|
|
21785
|
+
l2,
|
|
21786
|
+
l3,
|
|
21787
|
+
row,
|
|
21788
|
+
cell,
|
|
21789
|
+
header,
|
|
21790
|
+
body,
|
|
21791
|
+
token,
|
|
21792
|
+
ordered,
|
|
21793
|
+
start,
|
|
21794
|
+
loose,
|
|
21795
|
+
itemBody,
|
|
21796
|
+
item,
|
|
21797
|
+
checked,
|
|
21798
|
+
task,
|
|
21799
|
+
checkbox,
|
|
21800
|
+
ret;
|
|
21801
|
+
var l = tokens.length;
|
|
21802
|
+
|
|
21803
|
+
for (i = 0; i < l; i++) {
|
|
21804
|
+
token = tokens[i]; // Run any renderer extensions
|
|
21805
|
+
|
|
21806
|
+
if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {
|
|
21807
|
+
ret = this.options.extensions.renderers[token.type].call({
|
|
21808
|
+
parser: this
|
|
21809
|
+
}, token);
|
|
21810
|
+
|
|
21811
|
+
if (ret !== false || !['space', 'hr', 'heading', 'code', 'table', 'blockquote', 'list', 'html', 'paragraph', 'text'].includes(token.type)) {
|
|
21812
|
+
out += ret || '';
|
|
21813
|
+
continue;
|
|
21814
|
+
}
|
|
21815
|
+
}
|
|
21816
|
+
|
|
21817
|
+
switch (token.type) {
|
|
21818
|
+
case 'space':
|
|
21819
|
+
{
|
|
21820
|
+
continue;
|
|
21821
|
+
}
|
|
21822
|
+
|
|
21823
|
+
case 'hr':
|
|
21824
|
+
{
|
|
21825
|
+
out += this.renderer.hr();
|
|
21826
|
+
continue;
|
|
21827
|
+
}
|
|
21828
|
+
|
|
21829
|
+
case 'heading':
|
|
21830
|
+
{
|
|
21831
|
+
out += this.renderer.heading(this.parseInline(token.tokens), token.depth, unescape(this.parseInline(token.tokens, this.textRenderer)), this.slugger);
|
|
21832
|
+
continue;
|
|
21833
|
+
}
|
|
21834
|
+
|
|
21835
|
+
case 'code':
|
|
21836
|
+
{
|
|
21837
|
+
out += this.renderer.code(token.text, token.lang, token.escaped);
|
|
21838
|
+
continue;
|
|
21839
|
+
}
|
|
21840
|
+
|
|
21841
|
+
case 'table':
|
|
21842
|
+
{
|
|
21843
|
+
header = ''; // header
|
|
21844
|
+
|
|
21845
|
+
cell = '';
|
|
21846
|
+
l2 = token.header.length;
|
|
21847
|
+
|
|
21848
|
+
for (j = 0; j < l2; j++) {
|
|
21849
|
+
cell += this.renderer.tablecell(this.parseInline(token.header[j].tokens), {
|
|
21850
|
+
header: true,
|
|
21851
|
+
align: token.align[j]
|
|
21852
|
+
});
|
|
21853
|
+
}
|
|
21854
|
+
|
|
21855
|
+
header += this.renderer.tablerow(cell);
|
|
21856
|
+
body = '';
|
|
21857
|
+
l2 = token.rows.length;
|
|
21858
|
+
|
|
21859
|
+
for (j = 0; j < l2; j++) {
|
|
21860
|
+
row = token.rows[j];
|
|
21861
|
+
cell = '';
|
|
21862
|
+
l3 = row.length;
|
|
21863
|
+
|
|
21864
|
+
for (k = 0; k < l3; k++) {
|
|
21865
|
+
cell += this.renderer.tablecell(this.parseInline(row[k].tokens), {
|
|
21866
|
+
header: false,
|
|
21867
|
+
align: token.align[k]
|
|
21868
|
+
});
|
|
21869
|
+
}
|
|
21870
|
+
|
|
21871
|
+
body += this.renderer.tablerow(cell);
|
|
21872
|
+
}
|
|
21873
|
+
|
|
21874
|
+
out += this.renderer.table(header, body);
|
|
21875
|
+
continue;
|
|
21876
|
+
}
|
|
21877
|
+
|
|
21878
|
+
case 'blockquote':
|
|
21879
|
+
{
|
|
21880
|
+
body = this.parse(token.tokens);
|
|
21881
|
+
out += this.renderer.blockquote(body);
|
|
21882
|
+
continue;
|
|
21883
|
+
}
|
|
21884
|
+
|
|
21885
|
+
case 'list':
|
|
21886
|
+
{
|
|
21887
|
+
ordered = token.ordered;
|
|
21888
|
+
start = token.start;
|
|
21889
|
+
loose = token.loose;
|
|
21890
|
+
l2 = token.items.length;
|
|
21891
|
+
body = '';
|
|
21892
|
+
|
|
21893
|
+
for (j = 0; j < l2; j++) {
|
|
21894
|
+
item = token.items[j];
|
|
21895
|
+
checked = item.checked;
|
|
21896
|
+
task = item.task;
|
|
21897
|
+
itemBody = '';
|
|
21898
|
+
|
|
21899
|
+
if (item.task) {
|
|
21900
|
+
checkbox = this.renderer.checkbox(checked);
|
|
21901
|
+
|
|
21902
|
+
if (loose) {
|
|
21903
|
+
if (item.tokens.length > 0 && item.tokens[0].type === 'paragraph') {
|
|
21904
|
+
item.tokens[0].text = checkbox + ' ' + item.tokens[0].text;
|
|
21905
|
+
|
|
21906
|
+
if (item.tokens[0].tokens && item.tokens[0].tokens.length > 0 && item.tokens[0].tokens[0].type === 'text') {
|
|
21907
|
+
item.tokens[0].tokens[0].text = checkbox + ' ' + item.tokens[0].tokens[0].text;
|
|
21908
|
+
}
|
|
21909
|
+
} else {
|
|
21910
|
+
item.tokens.unshift({
|
|
21911
|
+
type: 'text',
|
|
21912
|
+
text: checkbox
|
|
21913
|
+
});
|
|
21914
|
+
}
|
|
21915
|
+
} else {
|
|
21916
|
+
itemBody += checkbox;
|
|
21917
|
+
}
|
|
21918
|
+
}
|
|
21919
|
+
|
|
21920
|
+
itemBody += this.parse(item.tokens, loose);
|
|
21921
|
+
body += this.renderer.listitem(itemBody, task, checked);
|
|
21922
|
+
}
|
|
21923
|
+
|
|
21924
|
+
out += this.renderer.list(body, ordered, start);
|
|
21925
|
+
continue;
|
|
21926
|
+
}
|
|
21927
|
+
|
|
21928
|
+
case 'html':
|
|
21929
|
+
{
|
|
21930
|
+
// TODO parse inline content if parameter markdown=1
|
|
21931
|
+
out += this.renderer.html(token.text);
|
|
21932
|
+
continue;
|
|
21933
|
+
}
|
|
21934
|
+
|
|
21935
|
+
case 'paragraph':
|
|
21936
|
+
{
|
|
21937
|
+
out += this.renderer.paragraph(this.parseInline(token.tokens));
|
|
21938
|
+
continue;
|
|
21939
|
+
}
|
|
21940
|
+
|
|
21941
|
+
case 'text':
|
|
21942
|
+
{
|
|
21943
|
+
body = token.tokens ? this.parseInline(token.tokens) : token.text;
|
|
21944
|
+
|
|
21945
|
+
while (i + 1 < l && tokens[i + 1].type === 'text') {
|
|
21946
|
+
token = tokens[++i];
|
|
21947
|
+
body += '\n' + (token.tokens ? this.parseInline(token.tokens) : token.text);
|
|
21948
|
+
}
|
|
21949
|
+
|
|
21950
|
+
out += top ? this.renderer.paragraph(body) : body;
|
|
21951
|
+
continue;
|
|
21952
|
+
}
|
|
21953
|
+
|
|
21954
|
+
default:
|
|
21955
|
+
{
|
|
21956
|
+
var errMsg = 'Token with "' + token.type + '" type was not found.';
|
|
21957
|
+
|
|
21958
|
+
if (this.options.silent) {
|
|
21959
|
+
console.error(errMsg);
|
|
21960
|
+
return;
|
|
21961
|
+
} else {
|
|
21962
|
+
throw new Error(errMsg);
|
|
21963
|
+
}
|
|
21964
|
+
}
|
|
21965
|
+
}
|
|
21966
|
+
}
|
|
21967
|
+
|
|
21968
|
+
return out;
|
|
21969
|
+
}
|
|
21970
|
+
/**
|
|
21971
|
+
* Parse Inline Tokens
|
|
21972
|
+
*/
|
|
21973
|
+
;
|
|
21974
|
+
|
|
21975
|
+
_proto.parseInline = function parseInline(tokens, renderer) {
|
|
21976
|
+
renderer = renderer || this.renderer;
|
|
21977
|
+
var out = '',
|
|
21978
|
+
i,
|
|
21979
|
+
token,
|
|
21980
|
+
ret;
|
|
21981
|
+
var l = tokens.length;
|
|
21982
|
+
|
|
21983
|
+
for (i = 0; i < l; i++) {
|
|
21984
|
+
token = tokens[i]; // Run any renderer extensions
|
|
21985
|
+
|
|
21986
|
+
if (this.options.extensions && this.options.extensions.renderers && this.options.extensions.renderers[token.type]) {
|
|
21987
|
+
ret = this.options.extensions.renderers[token.type].call({
|
|
21988
|
+
parser: this
|
|
21989
|
+
}, token);
|
|
21990
|
+
|
|
21991
|
+
if (ret !== false || !['escape', 'html', 'link', 'image', 'strong', 'em', 'codespan', 'br', 'del', 'text'].includes(token.type)) {
|
|
21992
|
+
out += ret || '';
|
|
21993
|
+
continue;
|
|
21994
|
+
}
|
|
21995
|
+
}
|
|
21996
|
+
|
|
21997
|
+
switch (token.type) {
|
|
21998
|
+
case 'escape':
|
|
21999
|
+
{
|
|
22000
|
+
out += renderer.text(token.text);
|
|
22001
|
+
break;
|
|
22002
|
+
}
|
|
22003
|
+
|
|
22004
|
+
case 'html':
|
|
22005
|
+
{
|
|
22006
|
+
out += renderer.html(token.text);
|
|
22007
|
+
break;
|
|
22008
|
+
}
|
|
22009
|
+
|
|
22010
|
+
case 'link':
|
|
22011
|
+
{
|
|
22012
|
+
out += renderer.link(token.href, token.title, this.parseInline(token.tokens, renderer));
|
|
22013
|
+
break;
|
|
22014
|
+
}
|
|
22015
|
+
|
|
22016
|
+
case 'image':
|
|
22017
|
+
{
|
|
22018
|
+
out += renderer.image(token.href, token.title, token.text);
|
|
22019
|
+
break;
|
|
22020
|
+
}
|
|
22021
|
+
|
|
22022
|
+
case 'strong':
|
|
22023
|
+
{
|
|
22024
|
+
out += renderer.strong(this.parseInline(token.tokens, renderer));
|
|
22025
|
+
break;
|
|
22026
|
+
}
|
|
22027
|
+
|
|
22028
|
+
case 'em':
|
|
22029
|
+
{
|
|
22030
|
+
out += renderer.em(this.parseInline(token.tokens, renderer));
|
|
22031
|
+
break;
|
|
22032
|
+
}
|
|
22033
|
+
|
|
22034
|
+
case 'codespan':
|
|
22035
|
+
{
|
|
22036
|
+
out += renderer.codespan(token.text);
|
|
22037
|
+
break;
|
|
22038
|
+
}
|
|
22039
|
+
|
|
22040
|
+
case 'br':
|
|
22041
|
+
{
|
|
22042
|
+
out += renderer.br();
|
|
22043
|
+
break;
|
|
22044
|
+
}
|
|
22045
|
+
|
|
22046
|
+
case 'del':
|
|
22047
|
+
{
|
|
22048
|
+
out += renderer.del(this.parseInline(token.tokens, renderer));
|
|
22049
|
+
break;
|
|
22050
|
+
}
|
|
22051
|
+
|
|
22052
|
+
case 'text':
|
|
22053
|
+
{
|
|
22054
|
+
out += renderer.text(token.text);
|
|
22055
|
+
break;
|
|
22056
|
+
}
|
|
22057
|
+
|
|
22058
|
+
default:
|
|
22059
|
+
{
|
|
22060
|
+
var errMsg = 'Token with "' + token.type + '" type was not found.';
|
|
22061
|
+
|
|
22062
|
+
if (this.options.silent) {
|
|
22063
|
+
console.error(errMsg);
|
|
22064
|
+
return;
|
|
22065
|
+
} else {
|
|
22066
|
+
throw new Error(errMsg);
|
|
22067
|
+
}
|
|
22068
|
+
}
|
|
22069
|
+
}
|
|
22070
|
+
}
|
|
22071
|
+
|
|
22072
|
+
return out;
|
|
22073
|
+
};
|
|
22074
|
+
|
|
22075
|
+
return Parser;
|
|
22076
|
+
}();
|
|
22077
|
+
|
|
22078
|
+
var Lexer = Lexer_1;
|
|
22079
|
+
var Parser = Parser_1;
|
|
22080
|
+
var Tokenizer = Tokenizer_1;
|
|
22081
|
+
var Renderer = Renderer_1;
|
|
22082
|
+
var TextRenderer = TextRenderer_1;
|
|
22083
|
+
var Slugger = Slugger_1;
|
|
22084
|
+
var merge = helpers.merge,
|
|
22085
|
+
checkSanitizeDeprecation = helpers.checkSanitizeDeprecation,
|
|
22086
|
+
escape = helpers.escape;
|
|
22087
|
+
var getDefaults = defaults$5.exports.getDefaults,
|
|
22088
|
+
changeDefaults = defaults$5.exports.changeDefaults,
|
|
22089
|
+
defaults = defaults$5.exports.defaults;
|
|
22090
|
+
/**
|
|
22091
|
+
* Marked
|
|
22092
|
+
*/
|
|
22093
|
+
|
|
22094
|
+
function marked(src, opt, callback) {
|
|
22095
|
+
// throw error in case of non string input
|
|
22096
|
+
if (typeof src === 'undefined' || src === null) {
|
|
22097
|
+
throw new Error('marked(): input parameter is undefined or null');
|
|
22098
|
+
}
|
|
22099
|
+
|
|
22100
|
+
if (typeof src !== 'string') {
|
|
22101
|
+
throw new Error('marked(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');
|
|
22102
|
+
}
|
|
22103
|
+
|
|
22104
|
+
if (typeof opt === 'function') {
|
|
22105
|
+
callback = opt;
|
|
22106
|
+
opt = null;
|
|
22107
|
+
}
|
|
22108
|
+
|
|
22109
|
+
opt = merge({}, marked.defaults, opt || {});
|
|
22110
|
+
checkSanitizeDeprecation(opt);
|
|
22111
|
+
|
|
22112
|
+
if (callback) {
|
|
22113
|
+
var highlight = opt.highlight;
|
|
22114
|
+
var tokens;
|
|
22115
|
+
|
|
22116
|
+
try {
|
|
22117
|
+
tokens = Lexer.lex(src, opt);
|
|
22118
|
+
} catch (e) {
|
|
22119
|
+
return callback(e);
|
|
22120
|
+
}
|
|
22121
|
+
|
|
22122
|
+
var done = function done(err) {
|
|
22123
|
+
var out;
|
|
22124
|
+
|
|
22125
|
+
if (!err) {
|
|
22126
|
+
try {
|
|
22127
|
+
if (opt.walkTokens) {
|
|
22128
|
+
marked.walkTokens(tokens, opt.walkTokens);
|
|
22129
|
+
}
|
|
22130
|
+
|
|
22131
|
+
out = Parser.parse(tokens, opt);
|
|
22132
|
+
} catch (e) {
|
|
22133
|
+
err = e;
|
|
22134
|
+
}
|
|
22135
|
+
}
|
|
22136
|
+
|
|
22137
|
+
opt.highlight = highlight;
|
|
22138
|
+
return err ? callback(err) : callback(null, out);
|
|
22139
|
+
};
|
|
22140
|
+
|
|
22141
|
+
if (!highlight || highlight.length < 3) {
|
|
22142
|
+
return done();
|
|
22143
|
+
}
|
|
22144
|
+
|
|
22145
|
+
delete opt.highlight;
|
|
22146
|
+
if (!tokens.length) return done();
|
|
22147
|
+
var pending = 0;
|
|
22148
|
+
marked.walkTokens(tokens, function (token) {
|
|
22149
|
+
if (token.type === 'code') {
|
|
22150
|
+
pending++;
|
|
22151
|
+
setTimeout(function () {
|
|
22152
|
+
highlight(token.text, token.lang, function (err, code) {
|
|
22153
|
+
if (err) {
|
|
22154
|
+
return done(err);
|
|
22155
|
+
}
|
|
22156
|
+
|
|
22157
|
+
if (code != null && code !== token.text) {
|
|
22158
|
+
token.text = code;
|
|
22159
|
+
token.escaped = true;
|
|
22160
|
+
}
|
|
22161
|
+
|
|
22162
|
+
pending--;
|
|
22163
|
+
|
|
22164
|
+
if (pending === 0) {
|
|
22165
|
+
done();
|
|
22166
|
+
}
|
|
22167
|
+
});
|
|
22168
|
+
}, 0);
|
|
22169
|
+
}
|
|
22170
|
+
});
|
|
22171
|
+
|
|
22172
|
+
if (pending === 0) {
|
|
22173
|
+
done();
|
|
22174
|
+
}
|
|
22175
|
+
|
|
22176
|
+
return;
|
|
22177
|
+
}
|
|
22178
|
+
|
|
22179
|
+
try {
|
|
22180
|
+
var _tokens = Lexer.lex(src, opt);
|
|
22181
|
+
|
|
22182
|
+
if (opt.walkTokens) {
|
|
22183
|
+
marked.walkTokens(_tokens, opt.walkTokens);
|
|
22184
|
+
}
|
|
22185
|
+
|
|
22186
|
+
return Parser.parse(_tokens, opt);
|
|
22187
|
+
} catch (e) {
|
|
22188
|
+
e.message += '\nPlease report this to https://github.com/markedjs/marked.';
|
|
22189
|
+
|
|
22190
|
+
if (opt.silent) {
|
|
22191
|
+
return '<p>An error occurred:</p><pre>' + escape(e.message + '', true) + '</pre>';
|
|
22192
|
+
}
|
|
22193
|
+
|
|
22194
|
+
throw e;
|
|
22195
|
+
}
|
|
22196
|
+
}
|
|
22197
|
+
/**
|
|
22198
|
+
* Options
|
|
22199
|
+
*/
|
|
22200
|
+
|
|
22201
|
+
|
|
22202
|
+
marked.options = marked.setOptions = function (opt) {
|
|
22203
|
+
merge(marked.defaults, opt);
|
|
22204
|
+
changeDefaults(marked.defaults);
|
|
22205
|
+
return marked;
|
|
22206
|
+
};
|
|
22207
|
+
|
|
22208
|
+
marked.getDefaults = getDefaults;
|
|
22209
|
+
marked.defaults = defaults;
|
|
22210
|
+
/**
|
|
22211
|
+
* Use Extension
|
|
22212
|
+
*/
|
|
22213
|
+
|
|
22214
|
+
marked.use = function () {
|
|
22215
|
+
var _this = this;
|
|
22216
|
+
|
|
22217
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
22218
|
+
args[_key] = arguments[_key];
|
|
22219
|
+
}
|
|
22220
|
+
|
|
22221
|
+
var opts = merge.apply(void 0, [{}].concat(args));
|
|
22222
|
+
var extensions = marked.defaults.extensions || {
|
|
22223
|
+
renderers: {},
|
|
22224
|
+
childTokens: {}
|
|
22225
|
+
};
|
|
22226
|
+
var hasExtensions;
|
|
22227
|
+
args.forEach(function (pack) {
|
|
22228
|
+
// ==-- Parse "addon" extensions --== //
|
|
22229
|
+
if (pack.extensions) {
|
|
22230
|
+
hasExtensions = true;
|
|
22231
|
+
pack.extensions.forEach(function (ext) {
|
|
22232
|
+
if (!ext.name) {
|
|
22233
|
+
throw new Error('extension name required');
|
|
22234
|
+
}
|
|
22235
|
+
|
|
22236
|
+
if (ext.renderer) {
|
|
22237
|
+
// Renderer extensions
|
|
22238
|
+
var prevRenderer = extensions.renderers ? extensions.renderers[ext.name] : null;
|
|
22239
|
+
|
|
22240
|
+
if (prevRenderer) {
|
|
22241
|
+
// Replace extension with func to run new extension but fall back if false
|
|
22242
|
+
extensions.renderers[ext.name] = function () {
|
|
22243
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
22244
|
+
args[_key2] = arguments[_key2];
|
|
22245
|
+
}
|
|
22246
|
+
|
|
22247
|
+
var ret = ext.renderer.apply(this, args);
|
|
22248
|
+
|
|
22249
|
+
if (ret === false) {
|
|
22250
|
+
ret = prevRenderer.apply(this, args);
|
|
22251
|
+
}
|
|
22252
|
+
|
|
22253
|
+
return ret;
|
|
22254
|
+
};
|
|
22255
|
+
} else {
|
|
22256
|
+
extensions.renderers[ext.name] = ext.renderer;
|
|
22257
|
+
}
|
|
22258
|
+
}
|
|
22259
|
+
|
|
22260
|
+
if (ext.tokenizer) {
|
|
22261
|
+
// Tokenizer Extensions
|
|
22262
|
+
if (!ext.level || ext.level !== 'block' && ext.level !== 'inline') {
|
|
22263
|
+
throw new Error("extension level must be 'block' or 'inline'");
|
|
22264
|
+
}
|
|
22265
|
+
|
|
22266
|
+
if (extensions[ext.level]) {
|
|
22267
|
+
extensions[ext.level].unshift(ext.tokenizer);
|
|
22268
|
+
} else {
|
|
22269
|
+
extensions[ext.level] = [ext.tokenizer];
|
|
22270
|
+
}
|
|
22271
|
+
|
|
22272
|
+
if (ext.start) {
|
|
22273
|
+
// Function to check for start of token
|
|
22274
|
+
if (ext.level === 'block') {
|
|
22275
|
+
if (extensions.startBlock) {
|
|
22276
|
+
extensions.startBlock.push(ext.start);
|
|
22277
|
+
} else {
|
|
22278
|
+
extensions.startBlock = [ext.start];
|
|
22279
|
+
}
|
|
22280
|
+
} else if (ext.level === 'inline') {
|
|
22281
|
+
if (extensions.startInline) {
|
|
22282
|
+
extensions.startInline.push(ext.start);
|
|
22283
|
+
} else {
|
|
22284
|
+
extensions.startInline = [ext.start];
|
|
22285
|
+
}
|
|
22286
|
+
}
|
|
22287
|
+
}
|
|
22288
|
+
}
|
|
22289
|
+
|
|
22290
|
+
if (ext.childTokens) {
|
|
22291
|
+
// Child tokens to be visited by walkTokens
|
|
22292
|
+
extensions.childTokens[ext.name] = ext.childTokens;
|
|
22293
|
+
}
|
|
22294
|
+
});
|
|
22295
|
+
} // ==-- Parse "overwrite" extensions --== //
|
|
22296
|
+
|
|
22297
|
+
|
|
22298
|
+
if (pack.renderer) {
|
|
22299
|
+
(function () {
|
|
22300
|
+
var renderer = marked.defaults.renderer || new Renderer();
|
|
22301
|
+
|
|
22302
|
+
var _loop = function _loop(prop) {
|
|
22303
|
+
var prevRenderer = renderer[prop]; // Replace renderer with func to run extension, but fall back if false
|
|
22304
|
+
|
|
22305
|
+
renderer[prop] = function () {
|
|
22306
|
+
for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
|
|
22307
|
+
args[_key3] = arguments[_key3];
|
|
22308
|
+
}
|
|
22309
|
+
|
|
22310
|
+
var ret = pack.renderer[prop].apply(renderer, args);
|
|
22311
|
+
|
|
22312
|
+
if (ret === false) {
|
|
22313
|
+
ret = prevRenderer.apply(renderer, args);
|
|
22314
|
+
}
|
|
22315
|
+
|
|
22316
|
+
return ret;
|
|
22317
|
+
};
|
|
22318
|
+
};
|
|
22319
|
+
|
|
22320
|
+
for (var prop in pack.renderer) {
|
|
22321
|
+
_loop(prop);
|
|
22322
|
+
}
|
|
22323
|
+
|
|
22324
|
+
opts.renderer = renderer;
|
|
22325
|
+
})();
|
|
22326
|
+
}
|
|
22327
|
+
|
|
22328
|
+
if (pack.tokenizer) {
|
|
22329
|
+
(function () {
|
|
22330
|
+
var tokenizer = marked.defaults.tokenizer || new Tokenizer();
|
|
22331
|
+
|
|
22332
|
+
var _loop2 = function _loop2(prop) {
|
|
22333
|
+
var prevTokenizer = tokenizer[prop]; // Replace tokenizer with func to run extension, but fall back if false
|
|
22334
|
+
|
|
22335
|
+
tokenizer[prop] = function () {
|
|
22336
|
+
for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {
|
|
22337
|
+
args[_key4] = arguments[_key4];
|
|
22338
|
+
}
|
|
22339
|
+
|
|
22340
|
+
var ret = pack.tokenizer[prop].apply(tokenizer, args);
|
|
22341
|
+
|
|
22342
|
+
if (ret === false) {
|
|
22343
|
+
ret = prevTokenizer.apply(tokenizer, args);
|
|
22344
|
+
}
|
|
22345
|
+
|
|
22346
|
+
return ret;
|
|
22347
|
+
};
|
|
22348
|
+
};
|
|
22349
|
+
|
|
22350
|
+
for (var prop in pack.tokenizer) {
|
|
22351
|
+
_loop2(prop);
|
|
22352
|
+
}
|
|
22353
|
+
|
|
22354
|
+
opts.tokenizer = tokenizer;
|
|
22355
|
+
})();
|
|
22356
|
+
} // ==-- Parse WalkTokens extensions --== //
|
|
22357
|
+
|
|
22358
|
+
|
|
22359
|
+
if (pack.walkTokens) {
|
|
22360
|
+
var walkTokens = marked.defaults.walkTokens;
|
|
22361
|
+
|
|
22362
|
+
opts.walkTokens = function (token) {
|
|
22363
|
+
pack.walkTokens.call(_this, token);
|
|
22364
|
+
|
|
22365
|
+
if (walkTokens) {
|
|
22366
|
+
walkTokens(token);
|
|
22367
|
+
}
|
|
22368
|
+
};
|
|
22369
|
+
}
|
|
22370
|
+
|
|
22371
|
+
if (hasExtensions) {
|
|
22372
|
+
opts.extensions = extensions;
|
|
22373
|
+
}
|
|
22374
|
+
|
|
22375
|
+
marked.setOptions(opts);
|
|
22376
|
+
});
|
|
22377
|
+
};
|
|
22378
|
+
/**
|
|
22379
|
+
* Run callback for every token
|
|
22380
|
+
*/
|
|
22381
|
+
|
|
22382
|
+
|
|
22383
|
+
marked.walkTokens = function (tokens, callback) {
|
|
22384
|
+
var _loop3 = function _loop3() {
|
|
22385
|
+
var token = _step.value;
|
|
22386
|
+
callback(token);
|
|
22387
|
+
|
|
22388
|
+
switch (token.type) {
|
|
22389
|
+
case 'table':
|
|
22390
|
+
{
|
|
22391
|
+
for (var _iterator2 = _createForOfIteratorHelperLoose(token.header), _step2; !(_step2 = _iterator2()).done;) {
|
|
22392
|
+
var cell = _step2.value;
|
|
22393
|
+
marked.walkTokens(cell.tokens, callback);
|
|
22394
|
+
}
|
|
22395
|
+
|
|
22396
|
+
for (var _iterator3 = _createForOfIteratorHelperLoose(token.rows), _step3; !(_step3 = _iterator3()).done;) {
|
|
22397
|
+
var row = _step3.value;
|
|
22398
|
+
|
|
22399
|
+
for (var _iterator4 = _createForOfIteratorHelperLoose(row), _step4; !(_step4 = _iterator4()).done;) {
|
|
22400
|
+
var _cell = _step4.value;
|
|
22401
|
+
marked.walkTokens(_cell.tokens, callback);
|
|
22402
|
+
}
|
|
22403
|
+
}
|
|
22404
|
+
|
|
22405
|
+
break;
|
|
22406
|
+
}
|
|
22407
|
+
|
|
22408
|
+
case 'list':
|
|
22409
|
+
{
|
|
22410
|
+
marked.walkTokens(token.items, callback);
|
|
22411
|
+
break;
|
|
22412
|
+
}
|
|
22413
|
+
|
|
22414
|
+
default:
|
|
22415
|
+
{
|
|
22416
|
+
if (marked.defaults.extensions && marked.defaults.extensions.childTokens && marked.defaults.extensions.childTokens[token.type]) {
|
|
22417
|
+
// Walk any extensions
|
|
22418
|
+
marked.defaults.extensions.childTokens[token.type].forEach(function (childTokens) {
|
|
22419
|
+
marked.walkTokens(token[childTokens], callback);
|
|
22420
|
+
});
|
|
22421
|
+
} else if (token.tokens) {
|
|
22422
|
+
marked.walkTokens(token.tokens, callback);
|
|
22423
|
+
}
|
|
22424
|
+
}
|
|
22425
|
+
}
|
|
22426
|
+
};
|
|
22427
|
+
|
|
22428
|
+
for (var _iterator = _createForOfIteratorHelperLoose(tokens), _step; !(_step = _iterator()).done;) {
|
|
22429
|
+
_loop3();
|
|
22430
|
+
}
|
|
22431
|
+
};
|
|
22432
|
+
/**
|
|
22433
|
+
* Parse Inline
|
|
22434
|
+
*/
|
|
22435
|
+
|
|
22436
|
+
|
|
22437
|
+
marked.parseInline = function (src, opt) {
|
|
22438
|
+
// throw error in case of non string input
|
|
22439
|
+
if (typeof src === 'undefined' || src === null) {
|
|
22440
|
+
throw new Error('marked.parseInline(): input parameter is undefined or null');
|
|
22441
|
+
}
|
|
22442
|
+
|
|
22443
|
+
if (typeof src !== 'string') {
|
|
22444
|
+
throw new Error('marked.parseInline(): input parameter is of type ' + Object.prototype.toString.call(src) + ', string expected');
|
|
22445
|
+
}
|
|
22446
|
+
|
|
22447
|
+
opt = merge({}, marked.defaults, opt || {});
|
|
22448
|
+
checkSanitizeDeprecation(opt);
|
|
22449
|
+
|
|
22450
|
+
try {
|
|
22451
|
+
var tokens = Lexer.lexInline(src, opt);
|
|
22452
|
+
|
|
22453
|
+
if (opt.walkTokens) {
|
|
22454
|
+
marked.walkTokens(tokens, opt.walkTokens);
|
|
22455
|
+
}
|
|
22456
|
+
|
|
22457
|
+
return Parser.parseInline(tokens, opt);
|
|
22458
|
+
} catch (e) {
|
|
22459
|
+
e.message += '\nPlease report this to https://github.com/markedjs/marked.';
|
|
22460
|
+
|
|
22461
|
+
if (opt.silent) {
|
|
22462
|
+
return '<p>An error occurred:</p><pre>' + escape(e.message + '', true) + '</pre>';
|
|
22463
|
+
}
|
|
22464
|
+
|
|
22465
|
+
throw e;
|
|
22466
|
+
}
|
|
22467
|
+
};
|
|
22468
|
+
/**
|
|
22469
|
+
* Expose
|
|
22470
|
+
*/
|
|
22471
|
+
|
|
22472
|
+
|
|
22473
|
+
marked.Parser = Parser;
|
|
22474
|
+
marked.parser = Parser.parse;
|
|
22475
|
+
marked.Renderer = Renderer;
|
|
22476
|
+
marked.TextRenderer = TextRenderer;
|
|
22477
|
+
marked.Lexer = Lexer;
|
|
22478
|
+
marked.lexer = Lexer.lex;
|
|
22479
|
+
marked.Tokenizer = Tokenizer;
|
|
22480
|
+
marked.Slugger = Slugger;
|
|
22481
|
+
marked.parse = marked;
|
|
22482
|
+
var marked_1 = marked;
|
|
22483
|
+
|
|
22484
|
+
return marked_1;
|
|
22485
|
+
|
|
22486
|
+
})));
|
|
22487
|
+
});
|
|
22488
|
+
|
|
22489
|
+
const LoginReadme = "# sqm-portal-login\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| --------------------- | ----------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- |\r\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; }; content?: { forgotPasswordButton?: any; secondaryButton?: any; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; }; }` | `undefined` |\r\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\r\n| `forgotPasswordLabel` | `forgot-password-label` | | `string` | `\"Forgot Password?\"` |\r\n| `nextPage` | `next-page` | | `string` | `\"/\"` |\r\n| `pageLabel` | `page-label` | | `string` | `\"Sign in to your account\"` |\r\n| `passwordLabel` | `password-label` | | `string` | `\"Password\"` |\r\n| `registerLabel` | `register-label` | | `string` | `\"Register\"` |\r\n| `submitLabel` | `submit-label` | | `string` | `\"Sign In\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Used by\r\n\r\n - [sqm-stencilbook](../sqm-stencilbook)\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-login --> sqm-form-message\r\n sqm-stencilbook --> sqm-portal-login\r\n style sqm-portal-login fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
|
|
22490
|
+
|
|
22491
|
+
const ForgotPasswordReadme = "# sqm-portal-forgot-password\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| ------------- | -------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------- |\r\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; success: boolean; }; content?: { secondaryButton: any; messageSlot: any; emailLabel?: string; submitLabel?: string; }; }` | `undefined` |\r\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\r\n| `submitLabel` | `submit-label` | | `string` | `\"Request Password Reset\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-forgot-password --> sqm-form-message\r\n style sqm-portal-forgot-password fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
|
|
22492
|
+
|
|
22493
|
+
const RegisterReadme = "# sqm-portal-register\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| -------------------------- | ---------------------------- | ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |\r\n| `confirmPassword` | `confirm-password` | | `boolean` | `false` |\r\n| `confirmPasswordLabel` | `confirm-password-label` | | `string` | `\"Confirm Password\"` |\r\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; confirmPassword: boolean; hideInputs: boolean; validationState?: FormState; enablePasswordValidation?: boolean; }; content?: { formData?: any; passwordField?: any; secondaryButton?: any; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; confirmPasswordLabel: string; }; refs?: { formRef: any; }; }` | `undefined` |\r\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\r\n| `enablePasswordValidation` | `enable-password-validation` | | `boolean` | `true` |\r\n| `hideInputs` | `hide-inputs` | | `boolean` | `false` |\r\n| `loginLabel` | `login-label` | | `string` | `\"Sign in\"` |\r\n| `nextPage` | `next-page` | | `string` | `\"/\"` |\r\n| `pageLabel` | `page-label` | | `string` | `\"Register\"` |\r\n| `passwordLabel` | `password-label` | | `string` | `\"Password\"` |\r\n| `submitLabel` | `submit-label` | | `string` | `\"Register\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Used by\r\n\r\n - [sqm-stencilbook](../sqm-stencilbook)\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n- [sqm-password-field](../sqm-password-field)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-register --> sqm-form-message\r\n sqm-portal-register --> sqm-password-field\r\n sqm-stencilbook --> sqm-portal-register\r\n style sqm-portal-register fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
|
|
22494
|
+
|
|
22495
|
+
const EditProfileReadme = "# sqm-portal-profile\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| ------------------------ | --------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |\r\n| `countrytext` | `countrytext` | | `string` | `\"Country\"` |\r\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` |\r\n| `editProfileHeader` | `edit-profile-header` | | `string` | `\"Edit your profile\"` |\r\n| `editProfileSubHeader` | `edit-profile-sub-header` | | `string` | `\"Personal Information\"` |\r\n| `emailtext` | `emailtext` | | `string` | `\"Email\"` |\r\n| `firstnametext` | `firstnametext` | | `string` | `\"First Name\"` |\r\n| `lastnametext` | `lastnametext` | | `string` | `\"Last Name\"` |\r\n| `showCountry` | `show-country` | | `boolean` | `true` |\r\n| `submitChangeButtonText` | `submit-change-button-text` | | `string` | `\"Submit Changes\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-profile --> sqm-form-message\r\n style sqm-portal-profile fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
|
|
22496
|
+
|
|
22497
|
+
const ResetPasswordReadme = "# sqm-portal-reset-password\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| --------------------------- | ------------------------------ | ------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------- |\r\n| `confirmPassword` | `confirm-password` | | `boolean` | `false` |\r\n| `confirmPasswordFieldLabel` | `confirm-password-field-label` | | `string` | `\"Confirm Password\"` |\r\n| `continueButtonText` | `continue-button-text` | Displayed after a successful password reset | `string` | `\"Continue\"` |\r\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; }; }; }` | `undefined` |\r\n| `nextPage` | `next-page` | | `string` | `\"/\"` |\r\n| `passwordResetHeader` | `password-reset-header` | Displayed after a successful password reset | `string` | `\"Password reset\"` |\r\n| `resetPasswordButtonText` | `reset-password-button-text` | | `string` | `\"Reset Password\"` |\r\n| `resetPasswordHeader` | `reset-password-header` | | `string` | `\"Reset your password\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n- [sqm-password-field](../sqm-password-field)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-reset-password --> sqm-form-message\r\n sqm-portal-reset-password --> sqm-password-field\r\n style sqm-portal-reset-password fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
|
|
22498
|
+
|
|
22499
|
+
const EmailVerificationReadme = "# sqm-portal-email-verification\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| ------------------------- | --------------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- |\r\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; success: boolean; }; content?: { email: string; verifyMessage: string; emailVerificationHeader: string; resendEmailButtonText: string; }; }` | `undefined` |\r\n| `emailVerificationHeader` | `email-verification-header` | | `string` | `\"Verify your email\"` |\r\n| `resendEmailButtonText` | `resend-email-button-text` | | `string` | `\"Re-send Email\"` |\r\n| `verifyMessage` | `verify-message` | | `string` | `\"A verification email was sent to {email}. Please verify your email to continue to the portal.\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-email-verification --> sqm-form-message\r\n style sqm-portal-email-verification fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
|
|
22500
|
+
|
|
22501
|
+
const EmailVerifiedReadme = "# sqm-portal-verify-email\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| ---------- | ----------- | ----------- | ---------------------------------------------------------------------------------------------------- | ----------- |\r\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; verified: boolean; }; data?: { oobCode: string; }; }` | `undefined` |\r\n| `nextPage` | `next-page` | | `string` | `\"/\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-verify-email --> sqm-form-message\r\n style sqm-portal-verify-email fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
|
|
22502
|
+
|
|
22503
|
+
const PortalTemplates_stories = {
|
|
22504
|
+
title: "Templates / Portal",
|
|
22505
|
+
};
|
|
22506
|
+
// slot="footer"
|
|
22507
|
+
// support-email="john@foodservicerewards.com"
|
|
22508
|
+
// terms-link="example.com"
|
|
22509
|
+
// faq-link="example.com"
|
|
22510
|
+
// padding="large"
|
|
22511
|
+
// show-powered-by="false"
|
|
22512
|
+
// powered-by-link="https://www.saasquatch.com/"
|
|
22513
|
+
function useTemplate$1(templateString) {
|
|
22514
|
+
const [editedTemplate, setEditedTemplate] = _extends.useState(templateString);
|
|
22515
|
+
const [previewTemplate, setPreviewTemplate] = _extends.useState(templateString);
|
|
22516
|
+
return {
|
|
22517
|
+
states: { previewTemplate, editedTemplate },
|
|
22518
|
+
callbacks: { setEditedTemplate, setPreviewTemplate },
|
|
22519
|
+
};
|
|
22520
|
+
}
|
|
22521
|
+
function TemplateView$1(props) {
|
|
22522
|
+
const { states, callbacks, readme } = props;
|
|
22523
|
+
return [
|
|
22524
|
+
index.h("textarea", { style: { width: "100%", height: "300px" }, onChange: (e) => callbacks.setEditedTemplate(e.target.value) }, states.editedTemplate),
|
|
22525
|
+
index.h("button", { onClick: () => callbacks.setPreviewTemplate(states.editedTemplate) }, "Update Preview"),
|
|
22526
|
+
readme ? (index.h("details", null,
|
|
22527
|
+
index.h("summary", null, "Props readme"),
|
|
22528
|
+
index.h("div", { innerHTML: marked(readme) }))) : (""),
|
|
22529
|
+
index.h("div", { innerHTML: states.previewTemplate }),
|
|
22530
|
+
];
|
|
22531
|
+
}
|
|
22532
|
+
function Buttons({ callbacks, states, template }) {
|
|
22533
|
+
return (index.h("div", null,
|
|
22534
|
+
index.h("button", { onClick: () => callbacks.setPreviewTemplate(states.editedTemplate) }, "Update Preview"),
|
|
22535
|
+
index.h("button", { style: { marginLeft: "10px" }, onClick: () => callbacks.setPreviewTemplate(template) }, "Preview Dashboard")));
|
|
22536
|
+
}
|
|
22537
|
+
function DefaultTemplateView(props) {
|
|
22538
|
+
const { states, callbacks } = props;
|
|
22539
|
+
return (index.h("div", null,
|
|
22540
|
+
index.h("textarea", { style: { width: "100%", height: "300px" }, onChange: (e) => callbacks.setEditedTemplate(e.target.value) }, states.editedTemplate),
|
|
22541
|
+
index.h(Buttons, { states: states, callbacks: callbacks, template: props.template }),
|
|
22542
|
+
index.h("h2", null, "Navigation"),
|
|
22543
|
+
index.h("div", { style: {
|
|
22544
|
+
display: "grid",
|
|
22545
|
+
gridTemplateColumns: "repeat(9, 80px)",
|
|
22546
|
+
gridGap: "10px",
|
|
22547
|
+
} },
|
|
22548
|
+
index.h("button", { onClick: () => index_module.rn.push("/") }, "Dashboard"),
|
|
22549
|
+
index.h("button", { onClick: () => index_module.rn.push("/activity") }, "Activity"),
|
|
22550
|
+
index.h("button", { onClick: () => index_module.rn.push("/editProfile") }, "Edit Profile"),
|
|
22551
|
+
index.h("button", { onClick: () => index_module.rn.push("/login") }, "Login"),
|
|
22552
|
+
index.h("button", { onClick: () => index_module.rn.push("/register") }, "Register"),
|
|
22553
|
+
index.h("button", { onClick: () => index_module.rn.push("/emailVerification") }, "Email Verification"),
|
|
22554
|
+
index.h("button", { onClick: () => index_module.rn.push("/verifyEmail") }, "Verify Email"),
|
|
22555
|
+
index.h("button", { onClick: () => index_module.rn.push("/forgotPassword") }, "Forgot Password"),
|
|
22556
|
+
index.h("button", { onClick: () => index_module.rn.push("/resetPassword") }, "Reset Password")),
|
|
22557
|
+
index.h("br", null),
|
|
22558
|
+
index.h("div", { innerHTML: states.previewTemplate })));
|
|
22559
|
+
}
|
|
22560
|
+
const DefaultPortal = createHookStory(() => {
|
|
22561
|
+
const { states, callbacks } = useTemplate$1(portalTemplate);
|
|
22562
|
+
return (index.h(DefaultTemplateView, { states: states, callbacks: callbacks, template: portalTemplateWithDashboard }));
|
|
22563
|
+
});
|
|
22564
|
+
const MultiProgramPortal = createHookStory(() => {
|
|
22565
|
+
const { states, callbacks } = useTemplate$1(multiProgramTemplate);
|
|
22566
|
+
return (index.h(DefaultTemplateView, { states: states, callbacks: callbacks, template: multiProgramTemplateWithDashboard }));
|
|
22567
|
+
});
|
|
22568
|
+
const Login = createHookStory(() => {
|
|
22569
|
+
const { states, callbacks } = useTemplate$1(loginTemplate);
|
|
22570
|
+
return (index.h(TemplateView$1, { states: states, callbacks: callbacks, readme: LoginReadme }));
|
|
22571
|
+
});
|
|
22572
|
+
const ForgotPassword = createHookStory(() => {
|
|
22573
|
+
const { states, callbacks } = useTemplate$1(forgotPasswordTemplate);
|
|
22574
|
+
return (index.h(TemplateView$1, { states: states, callbacks: callbacks, readme: ForgotPasswordReadme }));
|
|
22575
|
+
});
|
|
22576
|
+
const Register = createHookStory(() => {
|
|
22577
|
+
const { states, callbacks } = useTemplate$1(registerTemplate);
|
|
22578
|
+
return (index.h(TemplateView$1, { states: states, callbacks: callbacks, readme: RegisterReadme }));
|
|
22579
|
+
});
|
|
22580
|
+
const Dashboard$1 = createHookStory(() => {
|
|
22581
|
+
const { states, callbacks } = useTemplate$1(dashboardTemplate);
|
|
22582
|
+
return index.h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
22583
|
+
});
|
|
22584
|
+
const Activity$1 = createHookStory(() => {
|
|
22585
|
+
const { states, callbacks } = useTemplate$1(activityTemplate);
|
|
22586
|
+
return index.h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
22587
|
+
});
|
|
22588
|
+
const EditProfile$3 = createHookStory(() => {
|
|
22589
|
+
const { states, callbacks } = useTemplate$1(editProfileTemplate);
|
|
22590
|
+
return (index.h(TemplateView$1, { states: states, callbacks: callbacks, readme: EditProfileReadme }));
|
|
22591
|
+
});
|
|
22592
|
+
const ResetPassword = createHookStory(() => {
|
|
22593
|
+
const { states, callbacks } = useTemplate$1(resetPasswordTemplate);
|
|
22594
|
+
return (index.h(TemplateView$1, { states: states, callbacks: callbacks, readme: ResetPasswordReadme }));
|
|
22595
|
+
});
|
|
22596
|
+
const EmailVerification = createHookStory(() => {
|
|
22597
|
+
const { states, callbacks } = useTemplate$1(emailVerificationTemplate);
|
|
22598
|
+
return (index.h(TemplateView$1, { states: states, callbacks: callbacks, readme: EmailVerificationReadme }));
|
|
22599
|
+
});
|
|
22600
|
+
const EmailVerified = createHookStory(() => {
|
|
22601
|
+
const { states, callbacks } = useTemplate$1(emailVerifiedTemplate);
|
|
22602
|
+
return (index.h(TemplateView$1, { states: states, callbacks: callbacks, readme: EmailVerifiedReadme }));
|
|
22603
|
+
});
|
|
22604
|
+
const Widget = createHookStory(() => {
|
|
22605
|
+
return (index.h("sqb-widget", { "widget-type": "p/Vacay-referral/w/referrerWidget", demoData: {
|
|
22606
|
+
data: {
|
|
22607
|
+
html: dashboardTemplate,
|
|
22608
|
+
},
|
|
22609
|
+
} }));
|
|
22610
|
+
});
|
|
22611
|
+
const ResetPasswordEmail = createHookStory(() => {
|
|
22612
|
+
const { states, callbacks } = useTemplate$1(resetPasswordEmailTemplate);
|
|
22613
|
+
return index.h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
22614
|
+
});
|
|
22615
|
+
const VerifyEmail = createHookStory(() => {
|
|
22616
|
+
const { states, callbacks } = useTemplate$1(verifyEmailTemplate);
|
|
22617
|
+
return index.h(TemplateView$1, { states: states, callbacks: callbacks });
|
|
22618
|
+
});
|
|
22619
|
+
|
|
22620
|
+
const PortalTemplates = /*#__PURE__*/Object.freeze({
|
|
22621
|
+
__proto__: null,
|
|
22622
|
+
'default': PortalTemplates_stories,
|
|
22623
|
+
DefaultPortal: DefaultPortal,
|
|
22624
|
+
MultiProgramPortal: MultiProgramPortal,
|
|
22625
|
+
Login: Login,
|
|
22626
|
+
ForgotPassword: ForgotPassword,
|
|
22627
|
+
Register: Register,
|
|
22628
|
+
Dashboard: Dashboard$1,
|
|
22629
|
+
Activity: Activity$1,
|
|
22630
|
+
EditProfile: EditProfile$3,
|
|
22631
|
+
ResetPassword: ResetPassword,
|
|
22632
|
+
EmailVerification: EmailVerification,
|
|
22633
|
+
EmailVerified: EmailVerified,
|
|
22634
|
+
Widget: Widget,
|
|
22635
|
+
ResetPasswordEmail: ResetPasswordEmail,
|
|
22636
|
+
VerifyEmail: VerifyEmail
|
|
22637
|
+
});
|
|
22638
|
+
|
|
22639
|
+
const ProgramMenu_stories = {
|
|
22640
|
+
title: "Program Menu",
|
|
22641
|
+
};
|
|
22642
|
+
const OneProgram = createHookStory(() => {
|
|
22643
|
+
return (index.h("sqm-program-menu", null,
|
|
22644
|
+
index.h("sl-menu-item", { value: "referral-program" }, "Referral Program")));
|
|
22645
|
+
});
|
|
22646
|
+
const TwoProgram = createHookStory(() => {
|
|
22647
|
+
return (index.h("sqm-program-menu", null,
|
|
22648
|
+
index.h("sl-menu-item", { value: "referral-program" }, "Referral Program"),
|
|
22649
|
+
index.h("sl-menu-item", { value: "partner-program" }, "Partner Program")));
|
|
22650
|
+
});
|
|
22651
|
+
const FiveProgram = createHookStory(() => {
|
|
22652
|
+
return (index.h("sqm-program-menu", null,
|
|
22653
|
+
index.h("sl-menu-item", { value: "program1" }, "Program 1"),
|
|
22654
|
+
index.h("sl-menu-item", { value: "program2" }, "Program 2"),
|
|
22655
|
+
index.h("sl-menu-item", { value: "program3" }, "Program 3"),
|
|
22656
|
+
index.h("sl-menu-item", { value: "program4" }, "Program 4"),
|
|
22657
|
+
index.h("sl-menu-item", { value: "program5" }, "Program 5")));
|
|
22658
|
+
});
|
|
22659
|
+
const ProgramMenuWithSwitch = createHookStory(() => {
|
|
22660
|
+
return (index.h("div", null,
|
|
22661
|
+
index.h("sqb-program-section", { "program-id": "Vacay-referral" },
|
|
22662
|
+
index.h("sqm-program-menu", null,
|
|
22663
|
+
index.h("sl-menu-item", { value: "Vacay-referral" }, "Vacay-referral"),
|
|
22664
|
+
index.h("sl-menu-item", { value: "vacay-affiliates" }, "vacay-affiliates")),
|
|
22665
|
+
index.h("sqb-program-switch", null,
|
|
22666
|
+
index.h("template", { "program-id": "Vacay-referral" },
|
|
22667
|
+
index.h("sqb-widget", { "widget-type": "p/Vacay-referral/w/referrerWidget", demoData: {
|
|
22668
|
+
data: { html: dashboardTemplate },
|
|
22669
|
+
} })),
|
|
22670
|
+
index.h("template", { "program-id": "vacay-affiliates" },
|
|
22671
|
+
index.h("sqb-widget", { "widget-type": "p/vacay-affiliates/w/referrerWidget", demoData: {
|
|
22672
|
+
data: { html: dashboardTemplate },
|
|
22673
|
+
} }))))));
|
|
22674
|
+
});
|
|
22675
|
+
|
|
22676
|
+
const ProgramMenu$1 = /*#__PURE__*/Object.freeze({
|
|
22677
|
+
__proto__: null,
|
|
22678
|
+
'default': ProgramMenu_stories,
|
|
22679
|
+
OneProgram: OneProgram,
|
|
22680
|
+
TwoProgram: TwoProgram,
|
|
22681
|
+
FiveProgram: FiveProgram,
|
|
22682
|
+
ProgramMenuWithSwitch: ProgramMenuWithSwitch
|
|
22683
|
+
});
|
|
22684
|
+
|
|
22685
|
+
const PoweredByImg_stories = {
|
|
22686
|
+
title: "Powered By",
|
|
22687
|
+
};
|
|
22688
|
+
const Default$a = () => {
|
|
22689
|
+
return index.h(sqmPortalFooterView.PoweredByImg, null);
|
|
22690
|
+
};
|
|
22691
|
+
const CustomColor = () => {
|
|
22692
|
+
return index.h(sqmPortalFooterView.PoweredByImg, { color: "salmon" });
|
|
22693
|
+
};
|
|
22694
|
+
const CustomWidthAndHeight = () => {
|
|
22695
|
+
return index.h(sqmPortalFooterView.PoweredByImg, { width: 300, height: 50 });
|
|
22696
|
+
};
|
|
22697
|
+
|
|
22698
|
+
const PoweredByImg = /*#__PURE__*/Object.freeze({
|
|
22699
|
+
__proto__: null,
|
|
22700
|
+
'default': PoweredByImg_stories,
|
|
22701
|
+
Default: Default$a,
|
|
22702
|
+
CustomColor: CustomColor,
|
|
22703
|
+
CustomWidthAndHeight: CustomWidthAndHeight
|
|
22704
|
+
});
|
|
22705
|
+
|
|
22706
|
+
const PortalFooter_stories = {
|
|
22707
|
+
title: "Portal Footer",
|
|
22708
|
+
parameters: {},
|
|
22709
|
+
};
|
|
22710
|
+
const defaultProps$9 = {
|
|
22711
|
+
supportEmail: "support@example.com",
|
|
22712
|
+
supportText: "For program support, contact {email}",
|
|
22713
|
+
showPoweredBy: true,
|
|
22714
|
+
poweredByLink: "https://saasquatch.com",
|
|
22715
|
+
paddingTop: "large",
|
|
22716
|
+
paddingRight: "large",
|
|
22717
|
+
paddingBottom: "large",
|
|
22718
|
+
paddingLeft: "large",
|
|
22719
|
+
};
|
|
22720
|
+
const DefaultFooter = () => index.h(sqmPortalFooterView.PortalFooterView, Object.assign({}, defaultProps$9));
|
|
22721
|
+
const FooterWithTerms = () => (index.h(sqmPortalFooterView.PortalFooterView, Object.assign({}, defaultProps$9, { termsLink: "https://example.com", termsText: "Terms and Conditions" })));
|
|
22722
|
+
const FooterWithFAQ = () => (index.h(sqmPortalFooterView.PortalFooterView, Object.assign({}, defaultProps$9, { faqLink: "https://example.com", faqText: "FAQ" })));
|
|
22723
|
+
const FooterWithTermsAndFAQ = () => (index.h(sqmPortalFooterView.PortalFooterView, Object.assign({}, defaultProps$9, { termsLink: "https://example.com", termsText: "Terms and Conditions", faqLink: "https://example.com", faqText: "FAQ" })));
|
|
22724
|
+
const FooterNoPoweredBy = () => (index.h(sqmPortalFooterView.PortalFooterView, Object.assign({}, defaultProps$9, { termsLink: "https://example.com", termsText: "Terms and Conditions", faqLink: "https://example.com", faqText: "FAQ", showPoweredBy: false })));
|
|
22725
|
+
|
|
22726
|
+
const PortalFooter = /*#__PURE__*/Object.freeze({
|
|
22727
|
+
__proto__: null,
|
|
22728
|
+
'default': PortalFooter_stories,
|
|
22729
|
+
DefaultFooter: DefaultFooter,
|
|
22730
|
+
FooterWithTerms: FooterWithTerms,
|
|
22731
|
+
FooterWithFAQ: FooterWithFAQ,
|
|
22732
|
+
FooterWithTermsAndFAQ: FooterWithTermsAndFAQ,
|
|
22733
|
+
FooterNoPoweredBy: FooterNoPoweredBy
|
|
22734
|
+
});
|
|
22735
|
+
|
|
22736
|
+
const Hero_stories = {
|
|
22737
|
+
title: "Hero Layout",
|
|
22738
|
+
parameters: {
|
|
22739
|
+
// scenario,
|
|
22740
|
+
},
|
|
22741
|
+
};
|
|
22742
|
+
const LoginOneColumn = () => {
|
|
22743
|
+
const props = {
|
|
22744
|
+
states: {
|
|
22745
|
+
columns: 1,
|
|
22746
|
+
wrapDirection: "wrap",
|
|
22747
|
+
},
|
|
22748
|
+
content: {
|
|
22749
|
+
primaryColumn: [
|
|
22750
|
+
index.h("h1", { style: { textAlign: "center" } }, "Get Referring!"),
|
|
22751
|
+
index.h("sqm-portal-login", null)
|
|
22752
|
+
]
|
|
22753
|
+
},
|
|
22754
|
+
};
|
|
22755
|
+
return (index.h("div", { style: { height: "800px" } },
|
|
22756
|
+
index.h(sqmHeroView.HeroView, Object.assign({}, props))));
|
|
22757
|
+
};
|
|
22758
|
+
const LoginOneColumnWithColor = () => {
|
|
22759
|
+
const props = {
|
|
22760
|
+
states: {
|
|
22761
|
+
columns: 1,
|
|
22762
|
+
wrapDirection: "wrap",
|
|
22763
|
+
background: "LightSlateGrey",
|
|
22764
|
+
},
|
|
22765
|
+
content: {
|
|
22766
|
+
primaryColumn: index.h("sqm-portal-login", null),
|
|
22767
|
+
},
|
|
22768
|
+
};
|
|
22769
|
+
return (index.h("div", { style: { height: "800px" } },
|
|
22770
|
+
index.h(sqmHeroView.HeroView, Object.assign({}, props))));
|
|
22771
|
+
};
|
|
22772
|
+
const LoginOneColumnWithImage = () => {
|
|
22773
|
+
const props = {
|
|
22774
|
+
states: {
|
|
22775
|
+
columns: 1,
|
|
22776
|
+
wrapDirection: "wrap",
|
|
22777
|
+
background: "https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80",
|
|
22778
|
+
},
|
|
22779
|
+
content: { primaryColumn: index.h("sqm-portal-login", null) },
|
|
22780
|
+
};
|
|
22781
|
+
return (index.h("div", { style: { height: "800px" } },
|
|
22782
|
+
index.h(sqmHeroView.HeroView, Object.assign({}, props))));
|
|
22783
|
+
};
|
|
22784
|
+
const TwoColumnLogin = () => {
|
|
22785
|
+
const props = {
|
|
22786
|
+
states: {
|
|
22787
|
+
columns: 2,
|
|
22788
|
+
wrapDirection: "wrap",
|
|
22789
|
+
},
|
|
22790
|
+
content: {
|
|
22791
|
+
primaryColumn: (index.h("sqm-portal-login", { style: { width: "85%" } })),
|
|
22792
|
+
secondaryColumn: (index.h("div", { style: { width: "85%" } },
|
|
22793
|
+
index.h("h1", { style: { textAlign: "center" } }, "Get Referring!"),
|
|
22794
|
+
index.h("p", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."))),
|
|
22795
|
+
},
|
|
22796
|
+
};
|
|
22797
|
+
return (index.h("div", { style: { height: "800px" } },
|
|
22798
|
+
index.h(sqmHeroView.HeroView, Object.assign({}, props))));
|
|
22799
|
+
};
|
|
22800
|
+
const TwoColumnLoginReverseWrap = () => {
|
|
22801
|
+
const props = {
|
|
22802
|
+
states: {
|
|
22803
|
+
columns: 2,
|
|
22804
|
+
wrapDirection: "wrap-reverse",
|
|
22805
|
+
},
|
|
22806
|
+
content: {
|
|
22807
|
+
primaryColumn: (index.h("sqm-portal-login", { style: { width: "85%" } })),
|
|
22808
|
+
secondaryColumn: (index.h("div", { style: { width: "85%" } },
|
|
22809
|
+
index.h("h1", { style: { textAlign: "center" } }, "Get Referring!"),
|
|
22810
|
+
index.h("p", null, "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."))),
|
|
22811
|
+
},
|
|
22812
|
+
};
|
|
22813
|
+
return (index.h("div", { style: { height: "800px" } },
|
|
22814
|
+
index.h(sqmHeroView.HeroView, Object.assign({}, props))));
|
|
22815
|
+
};
|
|
22816
|
+
const TwoColumnLoginWithImage = () => {
|
|
22817
|
+
const props = {
|
|
22818
|
+
states: {
|
|
22819
|
+
columns: 2,
|
|
22820
|
+
wrapDirection: "wrap",
|
|
22821
|
+
},
|
|
22822
|
+
content: {
|
|
22823
|
+
primaryColumn: (index.h("div", { style: { width: "85%" } },
|
|
22824
|
+
index.h("h1", { style: { textAlign: "center" } }, "Get Referring!"),
|
|
22825
|
+
index.h("sqm-portal-login", null))),
|
|
22826
|
+
secondaryColumn: (index.h("img", { src: "https://images.unsplash.com/photo-1629004021495-83fe9b730acb?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=735&q=80" })),
|
|
22827
|
+
},
|
|
22828
|
+
};
|
|
22829
|
+
return (index.h("div", { style: { height: "800px" } },
|
|
22830
|
+
index.h(sqmHeroView.HeroView, Object.assign({}, props))));
|
|
22831
|
+
};
|
|
22832
|
+
|
|
22833
|
+
const Hero = /*#__PURE__*/Object.freeze({
|
|
22834
|
+
__proto__: null,
|
|
22835
|
+
'default': Hero_stories,
|
|
22836
|
+
LoginOneColumn: LoginOneColumn,
|
|
22837
|
+
LoginOneColumnWithColor: LoginOneColumnWithColor,
|
|
22838
|
+
LoginOneColumnWithImage: LoginOneColumnWithImage,
|
|
22839
|
+
TwoColumnLogin: TwoColumnLogin,
|
|
22840
|
+
TwoColumnLoginReverseWrap: TwoColumnLoginReverseWrap,
|
|
22841
|
+
TwoColumnLoginWithImage: TwoColumnLoginWithImage
|
|
22842
|
+
});
|
|
22843
|
+
|
|
19093
22844
|
function deepFreeze(obj) {
|
|
19094
22845
|
if (obj instanceof Map) {
|
|
19095
22846
|
obj.clear = obj.delete = obj.set = function () {
|
|
@@ -21692,7 +25443,7 @@ const stories = [
|
|
|
21692
25443
|
NewPortal,
|
|
21693
25444
|
SidebarItem,
|
|
21694
25445
|
NavigationSidebar,
|
|
21695
|
-
PortalLogin,
|
|
25446
|
+
PortalLogin$1,
|
|
21696
25447
|
PortalRegister$1,
|
|
21697
25448
|
PortalForgotPassword,
|
|
21698
25449
|
PortalEmailVerification,
|
|
@@ -21707,6 +25458,11 @@ const stories = [
|
|
|
21707
25458
|
ReferralTableRewardsCell$1,
|
|
21708
25459
|
UserName,
|
|
21709
25460
|
PasswordField,
|
|
25461
|
+
PortalTemplates,
|
|
25462
|
+
ProgramMenu$1,
|
|
25463
|
+
PoweredByImg,
|
|
25464
|
+
PortalFooter,
|
|
25465
|
+
Hero
|
|
21710
25466
|
];
|
|
21711
25467
|
const StencilStorybook = class {
|
|
21712
25468
|
constructor(hostRef) {
|
|
@@ -21746,7 +25502,7 @@ const TableRow = class {
|
|
|
21746
25502
|
}
|
|
21747
25503
|
};
|
|
21748
25504
|
|
|
21749
|
-
const debug$
|
|
25505
|
+
const debug$2 = _extends.browser("sq:global");
|
|
21750
25506
|
const textStyles = `
|
|
21751
25507
|
sqm-text {
|
|
21752
25508
|
display: block;
|
|
@@ -21806,7 +25562,7 @@ const Text = class {
|
|
|
21806
25562
|
global.insertCSS(textStyles);
|
|
21807
25563
|
}
|
|
21808
25564
|
catch (error) {
|
|
21809
|
-
debug$
|
|
25565
|
+
debug$2(error);
|
|
21810
25566
|
}
|
|
21811
25567
|
}
|
|
21812
25568
|
render() {
|
|
@@ -21878,7 +25634,9 @@ exports.sqm_hook_story_container = SqmHookStoryContainer;
|
|
|
21878
25634
|
exports.sqm_navigation_menu = NavigationMenu;
|
|
21879
25635
|
exports.sqm_password_field = PortalPasswordField;
|
|
21880
25636
|
exports.sqm_portal_frame = PortalFrame;
|
|
25637
|
+
exports.sqm_portal_login = PortalLogin;
|
|
21881
25638
|
exports.sqm_portal_register = PortalRegister;
|
|
25639
|
+
exports.sqm_program_menu = ProgramMenu;
|
|
21882
25640
|
exports.sqm_referral_table = ReferralTable;
|
|
21883
25641
|
exports.sqm_referral_table_cell = ReferralTableCell;
|
|
21884
25642
|
exports.sqm_referral_table_date_cell = ReferralTableDateCell;
|