@saasquatch/mint-components 1.5.0-3 → 1.5.0-4

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.
Files changed (54) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/mint-components.cjs.js +1 -1
  3. package/dist/cjs/sqm-brand_31.cjs.entry.js +417 -364
  4. package/dist/cjs/{sqm-program-explainer-step-view-98958ab1.js → sqm-program-explainer-step-view-74863815.js} +8 -2
  5. package/dist/cjs/sqm-program-explainer-step.cjs.entry.js +1 -1
  6. package/dist/cjs/{sqm-program-explainer-view-ba7ed24a.js → sqm-program-explainer-view-afed92f5.js} +1 -0
  7. package/dist/cjs/sqm-program-explainer.cjs.entry.js +1 -1
  8. package/dist/collection/components/sqm-brand/SqmBrand.stories.js +31 -13
  9. package/dist/collection/components/sqm-brand/sqm-brand.js +51 -13
  10. package/dist/collection/components/sqm-program-explainer/ProgramExplainer.stories.js +3 -0
  11. package/dist/collection/components/sqm-program-explainer/sqm-program-explainer-view.js +1 -0
  12. package/dist/collection/components/sqm-program-explainer-step/ProgramExplainerStep.stories.js +2 -1
  13. package/dist/collection/components/sqm-program-explainer-step/sqm-program-explainer-step-view.js +8 -2
  14. package/dist/collection/components/sqm-program-explainer-step/sqm-program-explainer-step.js +23 -0
  15. package/dist/collection/fonts/GoogleFonts.js +12 -0
  16. package/dist/esm/loader.js +1 -1
  17. package/dist/esm/mint-components.js +1 -1
  18. package/dist/esm/sqm-brand_31.entry.js +418 -365
  19. package/dist/esm/{sqm-program-explainer-step-view-64fc0c37.js → sqm-program-explainer-step-view-f190277a.js} +8 -2
  20. package/dist/esm/sqm-program-explainer-step.entry.js +1 -1
  21. package/dist/esm/{sqm-program-explainer-view-68f0d242.js → sqm-program-explainer-view-1c603bb7.js} +1 -0
  22. package/dist/esm/sqm-program-explainer.entry.js +1 -1
  23. package/dist/esm-es5/loader.js +1 -1
  24. package/dist/esm-es5/mint-components.js +1 -1
  25. package/dist/esm-es5/sqm-brand_31.entry.js +2 -2
  26. package/dist/esm-es5/{sqm-program-explainer-step-view-64fc0c37.js → sqm-program-explainer-step-view-f190277a.js} +1 -1
  27. package/dist/esm-es5/sqm-program-explainer-step.entry.js +1 -1
  28. package/dist/esm-es5/{sqm-program-explainer-view-68f0d242.js → sqm-program-explainer-view-1c603bb7.js} +1 -1
  29. package/dist/esm-es5/sqm-program-explainer.entry.js +1 -1
  30. package/dist/mint-components/mint-components.esm.js +1 -1
  31. package/dist/mint-components/mint-components.js +1 -1
  32. package/dist/mint-components/p-16f5a7cb.system.js +1 -1
  33. package/dist/mint-components/{p-1435350e.system.js → p-2d6421b6.system.js} +1 -1
  34. package/dist/mint-components/p-3b6228f4.system.js +1 -0
  35. package/dist/mint-components/p-5f4d838e.system.entry.js +58 -0
  36. package/dist/mint-components/p-6c9c4477.js +1 -0
  37. package/dist/mint-components/{p-dd865aa8.entry.js → p-84dc4854.entry.js} +9 -9
  38. package/dist/mint-components/{p-259d31fc.entry.js → p-96a1967b.entry.js} +1 -1
  39. package/dist/mint-components/{p-5cda79ed.system.entry.js → p-9e4e397a.system.entry.js} +1 -1
  40. package/dist/mint-components/p-bc8b6125.js +1 -0
  41. package/dist/mint-components/{p-f52bc20c.entry.js → p-bf1b79ba.entry.js} +1 -1
  42. package/dist/mint-components/{p-864f49d2.system.entry.js → p-c3f91add.system.entry.js} +1 -1
  43. package/dist/types/components/sqm-brand/SqmBrand.stories.d.ts +1 -0
  44. package/dist/types/components/sqm-brand/sqm-brand.d.ts +6 -0
  45. package/dist/types/components/sqm-program-explainer-step/sqm-program-explainer-step-view.d.ts +1 -0
  46. package/dist/types/components/sqm-program-explainer-step/sqm-program-explainer-step.d.ts +5 -0
  47. package/dist/types/components.d.ts +20 -0
  48. package/dist/types/fonts/GoogleFonts.d.ts +9 -0
  49. package/grapesjs/grapesjs.js +1 -1
  50. package/package.json +1 -1
  51. package/dist/mint-components/p-6d6be8bd.system.js +0 -1
  52. package/dist/mint-components/p-8c4931a5.js +0 -1
  53. package/dist/mint-components/p-adcde089.system.entry.js +0 -58
  54. package/dist/mint-components/p-bf7fcf0c.js +0 -1
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h as h$1, c as Host, d as getAssetPath } from './index-17b4da69.js';
2
- import { c as createCommonjsModule, a as commonjsGlobal, m as h, j as useState, e as useEffect, f as useRef, n as d$2, y as y$1, b as browser, u as useReducer, k as useMemo } from './extends-3a3f9fe2.js';
2
+ import { c as createCommonjsModule, a as commonjsGlobal, m as h, e as useEffect, j as useState, f as useRef, n as d$2, y as y$1, b as browser, u as useReducer, k as useMemo } from './extends-3a3f9fe2.js';
3
3
  import { i as intl, a as insertCSS } from './global-90da933f.js';
4
4
  import { u as useCallback } from './use-callback-b38a1523.js';
5
5
  import { d as dist, T as T$1, e as en, b as be, j as j$1, Z as Ze, r as rn, D as De, q as qe, P as P$1, E as Ee, M as M$1, a as sn, c as an, x as x$1, f as D$1, L as L$1, N as Ne, A as A$1 } from './index.module-90d2c3ad.js';
@@ -28,8 +28,21 @@ import { A as AssetCardView } from './sqm-asset-card-view-6f360937.js';
28
28
  import { P as PoweredByImg$1, a as PortalFooterView } from './sqm-portal-footer-view-d9fe0bf8.js';
29
29
  import { H as HeroView } from './sqm-hero-view-bfd8abd1.js';
30
30
  import { N as NameFieldsView } from './sqm-name-fields-view-4162fb7b.js';
31
- import { P as ProgramExplainerView } from './sqm-program-explainer-view-68f0d242.js';
32
- import { P as ProgramExplainerStepView } from './sqm-program-explainer-step-view-64fc0c37.js';
31
+ import { P as ProgramExplainerView } from './sqm-program-explainer-view-1c603bb7.js';
32
+ import { P as ProgramExplainerStepView } from './sqm-program-explainer-step-view-f190277a.js';
33
+
34
+ /**
35
+ * Build a font CSS URL using the Google Fonts CSS API
36
+ *
37
+ * Docs: https://developers.google.com/fonts/docs/css2
38
+ *
39
+ * @param fonts - the font family or families to load
40
+ * @returns url to a .css file
41
+ */
42
+ function buildFontsCssUrl(...fonts) {
43
+ const queryString = fonts.map(f => `family=${encodeURIComponent(f)}`).join("&");
44
+ return `https://fonts.googleapis.com/css2?${queryString}`;
45
+ }
33
46
 
34
47
  var chroma = createCommonjsModule(function (module, exports) {
35
48
  /**
@@ -3296,24 +3309,41 @@ function makeColorScale(color) {
3296
3309
  const BrandComponent = class {
3297
3310
  constructor(hostRef) {
3298
3311
  registerInstance(this, hostRef);
3299
- /**
3300
- * Controls the primary brand color used in the Mint Components library. Note that this
3301
- * does not affect vanilla components or other component libraries.
3302
- *
3303
- * @uiName Brand Color
3304
- */
3305
- this.brandColor = "#0000FF";
3306
3312
  h(this);
3307
3313
  }
3308
3314
  disconnectedCallback() { }
3309
3315
  render() {
3310
- const css = autoColorScaleCss(this.brandColor);
3316
+ var _a, _b;
3317
+ const brandColor = (_a = this.brandColor) !== null && _a !== void 0 ? _a : "inherit";
3318
+ const css = autoColorScaleCss(brandColor);
3319
+ const sanitizedFont = ((_b = this.brandFont) !== null && _b !== void 0 ? _b : "").trim() || undefined;
3320
+ useEffect(() => {
3321
+ if (!sanitizedFont) {
3322
+ // Nothing required in default case.
3323
+ return;
3324
+ }
3325
+ const sheet = document.createElement("link");
3326
+ sheet.setAttribute("href", buildFontsCssUrl(sanitizedFont));
3327
+ sheet.setAttribute("rel", "stylesheet");
3328
+ document.head.appendChild(sheet);
3329
+ return () => document.head.removeChild(sheet);
3330
+ }, [sanitizedFont]);
3331
+ const font = sanitizedFont !== null && sanitizedFont !== void 0 ? sanitizedFont : "inherit";
3311
3332
  return (h$1(Host, null, h$1("style", null, `
3312
3333
  :host{
3313
3334
  display: contents;
3314
3335
  }
3315
- /* Selects any element placed inside a slot */
3336
+ /*
3337
+ Selects any element placed inside a slot
3338
+ - resets css variable inheritence for fonts
3339
+
3340
+ */
3316
3341
  ::slotted(*) {
3342
+ --sl-font-sans: "${font}", arial;
3343
+ --sl-input-font-family: "${font}", arial;
3344
+ --sl-tooltip-font-family: "${font}", arial;
3345
+ font-family: "${font}", arial;
3346
+
3317
3347
  ${css}
3318
3348
  }`), h$1("slot", null)));
3319
3349
  }
@@ -21072,15 +21102,15 @@ const FullStackIcon = () => {
21072
21102
  };
21073
21103
 
21074
21104
  const ShareButton$1 = /*#__PURE__*/Object.freeze({
21075
- __proto__: null,
21076
- 'default': ShareButton_stories,
21077
- WithIcon: WithIcon,
21078
- WithIconOverride: WithIconOverride,
21079
- TextStyle: TextStyle,
21080
- WithoutIcon: WithoutIcon,
21081
- WithoutText: WithoutText,
21082
- TextStyleWithoutIcon: TextStyleWithoutIcon,
21083
- FullStackIcon: FullStackIcon
21105
+ __proto__: null,
21106
+ 'default': ShareButton_stories,
21107
+ WithIcon: WithIcon,
21108
+ WithIconOverride: WithIconOverride,
21109
+ TextStyle: TextStyle,
21110
+ WithoutIcon: WithoutIcon,
21111
+ WithoutText: WithoutText,
21112
+ TextStyleWithoutIcon: TextStyleWithoutIcon,
21113
+ FullStackIcon: FullStackIcon
21084
21114
  });
21085
21115
 
21086
21116
  const ShareLink_stories = {
@@ -21116,12 +21146,12 @@ const FullStack = () => {
21116
21146
  };
21117
21147
 
21118
21148
  const ShareLink$1 = /*#__PURE__*/Object.freeze({
21119
- __proto__: null,
21120
- 'default': ShareLink_stories,
21121
- Default: Default,
21122
- Tooltip: Tooltip,
21123
- Disabled: Disabled,
21124
- FullStack: FullStack
21149
+ __proto__: null,
21150
+ 'default': ShareLink_stories,
21151
+ Default: Default,
21152
+ Tooltip: Tooltip,
21153
+ Disabled: Disabled,
21154
+ FullStack: FullStack
21125
21155
  });
21126
21156
 
21127
21157
  const BigStat_stories = {
@@ -21189,16 +21219,16 @@ const InvalidStatValue = () => {
21189
21219
  };
21190
21220
 
21191
21221
  const BigStat = /*#__PURE__*/Object.freeze({
21192
- __proto__: null,
21193
- 'default': BigStat_stories,
21194
- Default: Default$1,
21195
- LeftAlign: LeftAlign,
21196
- RightAlign: RightAlign,
21197
- FlexReverse: FlexReverse,
21198
- FlexReverseRight: FlexReverseRight,
21199
- FlexReverseLeft: FlexReverseLeft,
21200
- NoStatValue: NoStatValue,
21201
- InvalidStatValue: InvalidStatValue
21222
+ __proto__: null,
21223
+ 'default': BigStat_stories,
21224
+ Default: Default$1,
21225
+ LeftAlign: LeftAlign,
21226
+ RightAlign: RightAlign,
21227
+ FlexReverse: FlexReverse,
21228
+ FlexReverseRight: FlexReverseRight,
21229
+ FlexReverseLeft: FlexReverseLeft,
21230
+ NoStatValue: NoStatValue,
21231
+ InvalidStatValue: InvalidStatValue
21202
21232
  });
21203
21233
 
21204
21234
  const Leaderboard_stories = {
@@ -21301,12 +21331,12 @@ const Five = () => {
21301
21331
  };
21302
21332
 
21303
21333
  const Leaderboard = /*#__PURE__*/Object.freeze({
21304
- __proto__: null,
21305
- 'default': Leaderboard_stories,
21306
- Empty: Empty,
21307
- Loading: Loading,
21308
- One: One,
21309
- Five: Five
21334
+ __proto__: null,
21335
+ 'default': Leaderboard_stories,
21336
+ Empty: Empty,
21337
+ Loading: Loading,
21338
+ One: One,
21339
+ Five: Five
21310
21340
  });
21311
21341
 
21312
21342
  const HookStoryAddon = ({ story }, children) => {
@@ -21470,12 +21500,12 @@ const RouterPlayground = createHookStory(() => {
21470
21500
  });
21471
21501
 
21472
21502
  const Router = /*#__PURE__*/Object.freeze({
21473
- __proto__: null,
21474
- 'default': Router_stories,
21475
- TemplateNavigation: TemplateNavigation,
21476
- RouteNavigation: RouteNavigation,
21477
- Styling: Styling,
21478
- RouterPlayground: RouterPlayground
21503
+ __proto__: null,
21504
+ 'default': Router_stories,
21505
+ TemplateNavigation: TemplateNavigation,
21506
+ RouteNavigation: RouteNavigation,
21507
+ Styling: Styling,
21508
+ RouterPlayground: RouterPlayground
21479
21509
  });
21480
21510
 
21481
21511
  const LeaderboardRank_stories = {
@@ -21490,9 +21520,9 @@ const First = () => {
21490
21520
  };
21491
21521
 
21492
21522
  const LeaderboardRank = /*#__PURE__*/Object.freeze({
21493
- __proto__: null,
21494
- 'default': LeaderboardRank_stories,
21495
- First: First
21523
+ __proto__: null,
21524
+ 'default': LeaderboardRank_stories,
21525
+ First: First
21496
21526
  });
21497
21527
 
21498
21528
  function setupGraphQL() {
@@ -21612,12 +21642,12 @@ const FullStackFrameLoggedOut = () => {
21612
21642
  };
21613
21643
 
21614
21644
  const PortalFrame$1 = /*#__PURE__*/Object.freeze({
21615
- __proto__: null,
21616
- 'default': PortalFrame_stories,
21617
- FrameWithMenu: FrameWithMenu,
21618
- FrameWithoutMenu: FrameWithoutMenu,
21619
- FullStackFrame: FullStackFrame,
21620
- FullStackFrameLoggedOut: FullStackFrameLoggedOut
21645
+ __proto__: null,
21646
+ 'default': PortalFrame_stories,
21647
+ FrameWithMenu: FrameWithMenu,
21648
+ FrameWithoutMenu: FrameWithoutMenu,
21649
+ FullStackFrame: FullStackFrame,
21650
+ FullStackFrameLoggedOut: FullStackFrameLoggedOut
21621
21651
  });
21622
21652
 
21623
21653
  const EditProfileForm_stories = {
@@ -21681,11 +21711,11 @@ const FullStackFrameWithMenu = () => {
21681
21711
  };
21682
21712
 
21683
21713
  const EditProfile$1 = /*#__PURE__*/Object.freeze({
21684
- __proto__: null,
21685
- 'default': EditProfileForm_stories,
21686
- EditProfileFormDisabled: EditProfileFormDisabled,
21687
- EditProfileFormEnabled: EditProfileFormEnabled,
21688
- FullStackFrameWithMenu: FullStackFrameWithMenu
21714
+ __proto__: null,
21715
+ 'default': EditProfileForm_stories,
21716
+ EditProfileFormDisabled: EditProfileFormDisabled,
21717
+ EditProfileFormEnabled: EditProfileFormEnabled,
21718
+ FullStackFrameWithMenu: FullStackFrameWithMenu
21689
21719
  });
21690
21720
 
21691
21721
  const UseShareLink_stories = {
@@ -21743,11 +21773,11 @@ const FastTooltip = createHookStory(() => {
21743
21773
  });
21744
21774
 
21745
21775
  const UseShareLink = /*#__PURE__*/Object.freeze({
21746
- __proto__: null,
21747
- 'default': UseShareLink_stories,
21748
- BareBonesView: BareBonesView,
21749
- RegularView: RegularView,
21750
- FastTooltip: FastTooltip
21776
+ __proto__: null,
21777
+ 'default': UseShareLink_stories,
21778
+ BareBonesView: BareBonesView,
21779
+ RegularView: RegularView,
21780
+ FastTooltip: FastTooltip
21751
21781
  });
21752
21782
 
21753
21783
  const UseShareButton_stories = {
@@ -21806,10 +21836,10 @@ const RegularView$1 = createHookStory(() => {
21806
21836
  });
21807
21837
 
21808
21838
  const UseShareButton = /*#__PURE__*/Object.freeze({
21809
- __proto__: null,
21810
- 'default': UseShareButton_stories,
21811
- BareBonesView: BareBonesView$1,
21812
- RegularView: RegularView$1
21839
+ __proto__: null,
21840
+ 'default': UseShareButton_stories,
21841
+ BareBonesView: BareBonesView$1,
21842
+ RegularView: RegularView$1
21813
21843
  });
21814
21844
 
21815
21845
  const UseBigStat_stories = {
@@ -21914,36 +21944,36 @@ const CustomField = createHookStory(() => {
21914
21944
  });
21915
21945
 
21916
21946
  const UseBigStat = /*#__PURE__*/Object.freeze({
21917
- __proto__: null,
21918
- 'default': UseBigStat_stories,
21919
- Demo: Demo,
21920
- ReferralsCount: ReferralsCount,
21921
- referralsConvertedCount: referralsConvertedCount,
21922
- referralsStartedCount: referralsStartedCount,
21923
- ReferralsMonth: ReferralsMonth,
21924
- ReferralsWeek: ReferralsWeek,
21925
- RewardsCount: RewardsCount,
21926
- GlobalRewardsCount: GlobalRewardsCount,
21927
- GlobalRewardsCountFiltered: GlobalRewardsCountFiltered,
21928
- GlobalRewardsCountPctDiscount: GlobalRewardsCountPctDiscount,
21929
- GlobalRewardsCountPctDiscountPending: GlobalRewardsCountPctDiscountPending,
21930
- RewardsCountByUnit: RewardsCountByUnit,
21931
- GlobalRewardsCountByUnit: GlobalRewardsCountByUnit,
21932
- GlobalPendingRewardsCount: GlobalPendingRewardsCount,
21933
- RewardsAvailableCount: RewardsAvailableCount,
21934
- GlobalRewardsCountByIntegration: GlobalRewardsCountByIntegration,
21935
- GlobalRewardsCountByPendingIntegration: GlobalRewardsCountByPendingIntegration,
21936
- RewardsMonth: RewardsMonth,
21937
- RewardsWeek: RewardsWeek,
21938
- RewardsAssigned: RewardsAssigned,
21939
- RewardsAssignedCashUSD: RewardsAssignedCashUSD,
21940
- RewardsRedeemed: RewardsRedeemed,
21941
- RewardsAvailable: RewardsAvailable,
21942
- RewardsAvailableWithSlash: RewardsAvailableWithSlash,
21943
- RewardBalance: RewardBalance,
21944
- RewardBalanceCashUSD: RewardBalanceCashUSD,
21945
- ProgramGoals: ProgramGoals,
21946
- CustomField: CustomField
21947
+ __proto__: null,
21948
+ 'default': UseBigStat_stories,
21949
+ Demo: Demo,
21950
+ ReferralsCount: ReferralsCount,
21951
+ referralsConvertedCount: referralsConvertedCount,
21952
+ referralsStartedCount: referralsStartedCount,
21953
+ ReferralsMonth: ReferralsMonth,
21954
+ ReferralsWeek: ReferralsWeek,
21955
+ RewardsCount: RewardsCount,
21956
+ GlobalRewardsCount: GlobalRewardsCount,
21957
+ GlobalRewardsCountFiltered: GlobalRewardsCountFiltered,
21958
+ GlobalRewardsCountPctDiscount: GlobalRewardsCountPctDiscount,
21959
+ GlobalRewardsCountPctDiscountPending: GlobalRewardsCountPctDiscountPending,
21960
+ RewardsCountByUnit: RewardsCountByUnit,
21961
+ GlobalRewardsCountByUnit: GlobalRewardsCountByUnit,
21962
+ GlobalPendingRewardsCount: GlobalPendingRewardsCount,
21963
+ RewardsAvailableCount: RewardsAvailableCount,
21964
+ GlobalRewardsCountByIntegration: GlobalRewardsCountByIntegration,
21965
+ GlobalRewardsCountByPendingIntegration: GlobalRewardsCountByPendingIntegration,
21966
+ RewardsMonth: RewardsMonth,
21967
+ RewardsWeek: RewardsWeek,
21968
+ RewardsAssigned: RewardsAssigned,
21969
+ RewardsAssignedCashUSD: RewardsAssignedCashUSD,
21970
+ RewardsRedeemed: RewardsRedeemed,
21971
+ RewardsAvailable: RewardsAvailable,
21972
+ RewardsAvailableWithSlash: RewardsAvailableWithSlash,
21973
+ RewardBalance: RewardBalance,
21974
+ RewardBalanceCashUSD: RewardBalanceCashUSD,
21975
+ ProgramGoals: ProgramGoals,
21976
+ CustomField: CustomField
21947
21977
  });
21948
21978
 
21949
21979
  function setupGraphQL$4() {
@@ -21985,9 +22015,9 @@ const RegularView$2 = createHookStory(() => {
21985
22015
  });
21986
22016
 
21987
22017
  const UseEditProfile = /*#__PURE__*/Object.freeze({
21988
- __proto__: null,
21989
- 'default': UseEditProfile_stories,
21990
- RegularView: RegularView$2
22018
+ __proto__: null,
22019
+ 'default': UseEditProfile_stories,
22020
+ RegularView: RegularView$2
21991
22021
  });
21992
22022
 
21993
22023
  const UseLeaderboard_stories = {
@@ -22065,10 +22095,10 @@ const TopStartedReferrers = createHookStory(() => {
22065
22095
  });
22066
22096
 
22067
22097
  const UseLeaderboard = /*#__PURE__*/Object.freeze({
22068
- __proto__: null,
22069
- 'default': UseLeaderboard_stories,
22070
- TopConvertedReferrers: TopConvertedReferrers,
22071
- TopStartedReferrers: TopStartedReferrers
22098
+ __proto__: null,
22099
+ 'default': UseLeaderboard_stories,
22100
+ TopConvertedReferrers: TopConvertedReferrers,
22101
+ TopStartedReferrers: TopStartedReferrers
22072
22102
  });
22073
22103
 
22074
22104
  const FormMessage_stories = {
@@ -22100,12 +22130,12 @@ const FullStackSuccess = () => {
22100
22130
  };
22101
22131
 
22102
22132
  const FormMessage$1 = /*#__PURE__*/Object.freeze({
22103
- __proto__: null,
22104
- 'default': FormMessage_stories,
22105
- SuccessAlert: SuccessAlert,
22106
- ErrorAlert: ErrorAlert,
22107
- InfoAlert: InfoAlert,
22108
- FullStackSuccess: FullStackSuccess
22133
+ __proto__: null,
22134
+ 'default': FormMessage_stories,
22135
+ SuccessAlert: SuccessAlert,
22136
+ ErrorAlert: ErrorAlert,
22137
+ InfoAlert: InfoAlert,
22138
+ FullStackSuccess: FullStackSuccess
22109
22139
  });
22110
22140
 
22111
22141
  const EXCHANGE$1 = dist.gql `
@@ -22242,12 +22272,12 @@ const VariableCreditReward = createHookStory(() => {
22242
22272
  });
22243
22273
 
22244
22274
  const UseRewardExchangeList = /*#__PURE__*/Object.freeze({
22245
- __proto__: null,
22246
- 'default': UseRewardExchangeList_stories,
22247
- RewardList: RewardList,
22248
- FixedGlobalReward: FixedGlobalReward,
22249
- VariableGlobalReward: VariableGlobalReward,
22250
- VariableCreditReward: VariableCreditReward
22275
+ __proto__: null,
22276
+ 'default': UseRewardExchangeList_stories,
22277
+ RewardList: RewardList,
22278
+ FixedGlobalReward: FixedGlobalReward,
22279
+ VariableGlobalReward: VariableGlobalReward,
22280
+ VariableCreditReward: VariableCreditReward
22251
22281
  });
22252
22282
 
22253
22283
  const UseRewardsTable_stories = {
@@ -22288,10 +22318,10 @@ const RewardsTableNoProgram = createHookStory(() => {
22288
22318
  });
22289
22319
 
22290
22320
  const UseRewardsTable = /*#__PURE__*/Object.freeze({
22291
- __proto__: null,
22292
- 'default': UseRewardsTable_stories,
22293
- RewardsTableWithProgram: RewardsTableWithProgram,
22294
- RewardsTableNoProgram: RewardsTableNoProgram
22321
+ __proto__: null,
22322
+ 'default': UseRewardsTable_stories,
22323
+ RewardsTableWithProgram: RewardsTableWithProgram,
22324
+ RewardsTableNoProgram: RewardsTableNoProgram
22295
22325
  });
22296
22326
 
22297
22327
  const JWT = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyIjp7ImlkIjoic2FtK2tsaXBAc2Fhc3F1YXQuY2giLCJhY2NvdW50SWQiOiJzYW0ra2xpcEBzYWFzcXVhdC5jaCJ9fQ.FMNZ6oajyr6SiCcRqKKdyPqvNTvWROQ60MKAyfvWGfc";
@@ -22327,9 +22357,9 @@ const TaskCard = createHookStory(() => {
22327
22357
  });
22328
22358
 
22329
22359
  const UseTaskCard = /*#__PURE__*/Object.freeze({
22330
- __proto__: null,
22331
- 'default': UseTaskCard_stories,
22332
- TaskCard: TaskCard
22360
+ __proto__: null,
22361
+ 'default': UseTaskCard_stories,
22362
+ TaskCard: TaskCard
22333
22363
  });
22334
22364
 
22335
22365
  const NewPortal_stories = {
@@ -22626,12 +22656,12 @@ const Activity = () => {
22626
22656
  };
22627
22657
 
22628
22658
  const NewPortal = /*#__PURE__*/Object.freeze({
22629
- __proto__: null,
22630
- 'default': NewPortal_stories,
22631
- Dashboard: Dashboard,
22632
- EditProfile: EditProfile$2,
22633
- Commissions: Commissions,
22634
- Activity: Activity
22659
+ __proto__: null,
22660
+ 'default': NewPortal_stories,
22661
+ Dashboard: Dashboard,
22662
+ EditProfile: EditProfile$2,
22663
+ Commissions: Commissions,
22664
+ Activity: Activity
22635
22665
  });
22636
22666
 
22637
22667
  const SidebarItem_stories = {
@@ -22665,10 +22695,10 @@ const ActiveItem = () => {
22665
22695
  };
22666
22696
 
22667
22697
  const SidebarItem = /*#__PURE__*/Object.freeze({
22668
- __proto__: null,
22669
- 'default': SidebarItem_stories,
22670
- InactiveItem: InactiveItem,
22671
- ActiveItem: ActiveItem
22698
+ __proto__: null,
22699
+ 'default': SidebarItem_stories,
22700
+ InactiveItem: InactiveItem,
22701
+ ActiveItem: ActiveItem
22672
22702
  });
22673
22703
 
22674
22704
  const NavigationSidebar_stories = {
@@ -22715,9 +22745,9 @@ const DefaultNavigationSidebar = () => {
22715
22745
  };
22716
22746
 
22717
22747
  const NavigationSidebar = /*#__PURE__*/Object.freeze({
22718
- __proto__: null,
22719
- 'default': NavigationSidebar_stories,
22720
- DefaultNavigationSidebar: DefaultNavigationSidebar
22748
+ __proto__: null,
22749
+ 'default': NavigationSidebar_stories,
22750
+ DefaultNavigationSidebar: DefaultNavigationSidebar
22721
22751
  });
22722
22752
 
22723
22753
  const PortalLogin_stories = {
@@ -22758,11 +22788,11 @@ const LoginWithError = () => h$1(PortalLoginView, Object.assign({}, errorProps))
22758
22788
  const LoginLoading = () => h$1(PortalLoginView, Object.assign({}, loadingProps));
22759
22789
 
22760
22790
  const PortalLogin$1 = /*#__PURE__*/Object.freeze({
22761
- __proto__: null,
22762
- 'default': PortalLogin_stories,
22763
- Default: Default$2,
22764
- LoginWithError: LoginWithError,
22765
- LoginLoading: LoginLoading
22791
+ __proto__: null,
22792
+ 'default': PortalLogin_stories,
22793
+ Default: Default$2,
22794
+ LoginWithError: LoginWithError,
22795
+ LoginLoading: LoginLoading
22766
22796
  });
22767
22797
 
22768
22798
  const PortalRegister_stories = {
@@ -22857,13 +22887,13 @@ const FieldsHidden = () => {
22857
22887
  const SlottedInputs = () => h$1(PortalRegisterView, Object.assign({}, slottedProps));
22858
22888
 
22859
22889
  const PortalRegister$1 = /*#__PURE__*/Object.freeze({
22860
- __proto__: null,
22861
- 'default': PortalRegister_stories,
22862
- Default: Default$3,
22863
- RegisterWithError: RegisterWithError,
22864
- RegisterLoading: RegisterLoading,
22865
- FieldsHidden: FieldsHidden,
22866
- SlottedInputs: SlottedInputs
22890
+ __proto__: null,
22891
+ 'default': PortalRegister_stories,
22892
+ Default: Default$3,
22893
+ RegisterWithError: RegisterWithError,
22894
+ RegisterLoading: RegisterLoading,
22895
+ FieldsHidden: FieldsHidden,
22896
+ SlottedInputs: SlottedInputs
22867
22897
  });
22868
22898
 
22869
22899
  const scenario = "@author:\r\n@owner:ian\r\nFeature: Forgot Password\r\n\r\n @motivating\r\n Scenario: Users can request to reset their password\r\n Given a user enters their email address\r\n And that email address is linked to a previously created account\r\n When they click \"Reset Password\"\r\n Then the button enters a loading state\r\n When the password reset email is sent\r\n Then a confirmation banner is shown stating a password reset email was sent\r\n\r\n @motivating\r\n Scenario: Users are notified if sending their password reset email fails\r\n Given a user enters their email address\r\n And that email address is linked to a previously created account\r\n When they click \"Reset Password\"\r\n Then the button enters a loading state\r\n When the password reset email fails to send\r\n Then the user will not receive a password reset email\r\n And an error banner is shown stating that they should try again\r\n\r\n @motivating\r\n @landmine\r\n Scenario: If the input email is not associated to an account a success banner will be shown but an email will not be sent\r\n Given the user entered an email address that is not associated to an accoun\r\n When they click \"Reset Password\"\r\n Then the button enters a loading state\r\n But no email will be sent\r\n And a success banner is shown stating a password reset email was sent if the given email was associated to an account\r\n\r\n @motivating\r\n Scenario: Users can resend password reset email\r\n Given a user had previously requested to reset their password\r\n When they enter their email address\r\n And that email address is linked to a previously created account\r\n And they click \"Reset Password\"\r\n Then the user will receive a second password reset email\r\n And a success banner is shown stating that their email was sent\r\n";
@@ -22936,12 +22966,12 @@ const ForgotPasswordLoading = () => (h$1(PortalForgotPasswordView, Object.assign
22936
22966
  const ForgotPasswordSuccess = () => (h$1(PortalForgotPasswordView, Object.assign({}, successProps)));
22937
22967
 
22938
22968
  const PortalForgotPassword = /*#__PURE__*/Object.freeze({
22939
- __proto__: null,
22940
- 'default': PortalForgotPassword_stories,
22941
- Default: Default$4,
22942
- ForgotPasswordWithError: ForgotPasswordWithError,
22943
- ForgotPasswordLoading: ForgotPasswordLoading,
22944
- ForgotPasswordSuccess: ForgotPasswordSuccess
22969
+ __proto__: null,
22970
+ 'default': PortalForgotPassword_stories,
22971
+ Default: Default$4,
22972
+ ForgotPasswordWithError: ForgotPasswordWithError,
22973
+ ForgotPasswordLoading: ForgotPasswordLoading,
22974
+ ForgotPasswordSuccess: ForgotPasswordSuccess
22945
22975
  });
22946
22976
 
22947
22977
  const scenario$1 = "@author:\r\n@owner: ian\r\nFeature: Email Verification\r\n\r\n @minutae\r\n Scenario: User's redirected from registration can re-send their verification email\r\n Given a user has registered\r\n And they have been sent a verification email\r\n When they are redirected to the email verification page\r\n Then a message will be displayed\r\n And it will reflect that a email has already been sent to their email\r\n But they can still re-send the email\r\n When they click to \"Resend-Email\"\r\n Then the user will receive a verification email\r\n\r\n @motivating\r\n Scenario: Users are notified if sending the email verification message fails\r\n Given a user with an email was stored in session data from registration\r\n When they click to \"Resend-Email\"\r\n Then the button enters a loading state\r\n When an error occurs trying to send the verification email\r\n Then the user will not receive a verification email\r\n And an error banner is shown stating that they should try again\r\n\r\n @motivating\r\n Scenario: Users are notified if sending the email verification message succeeds\r\n Given a user with an email was stored in session data from registration\r\n When they click to \"Resend-Email\"\r\n Then the button enters a loading state\r\n When the email verification message sends\r\n Then the user will receive a verification email\r\n And a success banner is shown stating that their email was resent";
@@ -23022,12 +23052,12 @@ const EmailVerificationLoading = () => (h$1(PortalEmailVerificationView, Object.
23022
23052
  const EmailVerificationSuccess = () => (h$1(PortalEmailVerificationView, Object.assign({}, successProps$1)));
23023
23053
 
23024
23054
  const PortalEmailVerification = /*#__PURE__*/Object.freeze({
23025
- __proto__: null,
23026
- 'default': PortalEmailVerification_stories,
23027
- Default: Default$5,
23028
- EmailVerificationWithError: EmailVerificationWithError,
23029
- EmailVerificationLoading: EmailVerificationLoading,
23030
- EmailVerificationSuccess: EmailVerificationSuccess
23055
+ __proto__: null,
23056
+ 'default': PortalEmailVerification_stories,
23057
+ Default: Default$5,
23058
+ EmailVerificationWithError: EmailVerificationWithError,
23059
+ EmailVerificationLoading: EmailVerificationLoading,
23060
+ EmailVerificationSuccess: EmailVerificationSuccess
23031
23061
  });
23032
23062
 
23033
23063
  const scenario$2 = "@author:\r\n@owner:ian\r\nFeature: Reset Password\r\n\r\n\r\n Background: A user in on the password reset page\r\n Given a user who has been redirected to the password reset page\r\n\r\n @motivating\r\n Scenario: Users can reset their password\r\n Given a user has a valid oob code as a url query parameter\r\n When they enter their password twice\r\n And they click \"Update\"\r\n Then their password is updated\r\n And a banner with a success message will be displayed\r\n And they can log in with their new password\r\n\r\n @motivating\r\n Scenario Outline: Users cannot reset their password with an invalid or missing oob code\r\n Given a user has a <oobCode> as a url query parameter\r\n Then they will see an error message saying that their password reset code is invalid or expired\r\n When they click \"Continue\"\r\n Then they will be redirected to \"/\"\r\n Examples:\r\n | oobCode |\r\n | invalid oob code |\r\n | non existant oob code |\r\n\r\n @motivating\r\n Scenario: Users must enter the same password twice to successfully reset their password\r\n Given a user has been redirected to the password reset page\r\n And they have a valid oob code as a url query parameter\r\n When they enter two different passwords into the password reset form\r\n And they click \"Update\"\r\n Then their password is not be reset\r\n And an error banner stating the input passwords must match appears\r\n And their password will not be reset\r\n When they enter the same password twice\r\n And they click \"Update\"\r\n Then a banner appears with a success message\r\n And they can log in with their new password\r\n\r\n @motivating\r\n Scenario: Users are redirected to \"/\" by default\r\n Given the component does not have prop \"nextPage\"\r\n And the users url does not contain a \"nextPage\" query parameter\r\n And a user has entered their password twice\r\n When they click \"Update\"\r\n Then their password is updated\r\n And they are redirected to \"/\"\r\n\r\n @motivating\r\n Scenario: Custom redirection can be configured\r\n Given the component has prop \"nextPage\" with value \"/activity\"\r\n And the users url does not contain a \"nextPage\" query parameter\r\n And a user has entered their password twice\r\n When they click \"Update\"\r\n Then their password is updated\r\n And they are redirected to \"/activity\"";
@@ -23184,14 +23214,14 @@ const ResetPasswordSuccess = () => (h$1(PortalResetPasswordView$1, Object.assign
23184
23214
  const CodeValidating = () => (h$1(PortalResetPasswordView$1, Object.assign({}, validatingCodeProps)));
23185
23215
 
23186
23216
  const PortalResetPassword = /*#__PURE__*/Object.freeze({
23187
- __proto__: null,
23188
- 'default': PortalResetPassword_stories,
23189
- Default: Default$6,
23190
- DefaultWithoutConfirmField: DefaultWithoutConfirmField,
23191
- ResetPasswordWithError: ResetPasswordWithError,
23192
- ResetPasswordLoading: ResetPasswordLoading,
23193
- ResetPasswordSuccess: ResetPasswordSuccess,
23194
- CodeValidating: CodeValidating
23217
+ __proto__: null,
23218
+ 'default': PortalResetPassword_stories,
23219
+ Default: Default$6,
23220
+ DefaultWithoutConfirmField: DefaultWithoutConfirmField,
23221
+ ResetPasswordWithError: ResetPasswordWithError,
23222
+ ResetPasswordLoading: ResetPasswordLoading,
23223
+ ResetPasswordSuccess: ResetPasswordSuccess,
23224
+ CodeValidating: CodeValidating
23195
23225
  });
23196
23226
 
23197
23227
  const scenario$3 = "@author:\r\n@owner:ian\r\nFeature: Verify Email\r\n\r\n\r\n Background: A user is on the email verification page\r\n Given a user who has been redirected to the email verification page\r\n\r\n @motivating\r\n Scenario: Verifying your email will take you to the portal login page\r\n Given a user has a valid oob code as a url query parameter\r\n When they click \"Verify Email\"\r\n Then the button will enter a loading state\r\n When their email is validated\r\n Then a button that says \"Continue\" will appear\r\n When they click \"Continue\"\r\n Then they will be redirected to login\r\n\r\n @motivating\r\n Scenario: Users will be automatically redirected if they dont click \"Continue\"\r\n Given a user has a valid oob code as a url query parameter\r\n When they click \"Verify Email\"\r\n Then the button will enter a loading state\r\n When their email is validated\r\n Then a button that says \"Continue\" will appear\r\n When they wait 5 seconds\r\n Then they will be redirected to login\r\n\r\n @motivating\r\n Scenario: Users are notified if verifying their email has failed\r\n Given a user has a valid oob code as a url query parameter\r\n When they click \"Verify Email\"\r\n Then the button will enter a loading state\r\n When their email fails to be validated\r\n Then an banner is shown stating that an error occured\r\n\r\n @motivating\r\n Scenario Outline: Users cannot verify their email with an invalid or missing oob code\r\n Given a user has a <oobCode> as a url query parameter\r\n Then they will see an error message saying that their verification code is invalid or expired\r\n When they click \"Continue\"\r\n Then they will be redirected to \"/\"\r\n Examples:\r\n | oobCode |\r\n | invalid oob code |\r\n | non existant oob code |\r\n\r\n @motivating\r\n Scenario: Users are redirected to \"/\" by default\r\n Given the component does not have prop \"nextPage\"\r\n And the users url does not contain a \"nextPage\" query parameter\r\n And a user has verified their email\r\n When they click \"Continue\"\r\n Then they will be redirected to \"/\"\r\n\r\n @motivating\r\n Scenario: Custom redirection can be configured\r\n Given the component has prop \"nextPage\" with value \"/activity\"\r\n And the users url does not contain a \"nextPage\" query parameter\r\n And a user has verified their email\r\n When they click \"Continue\"\r\n Then they will be redirected to \"/activity\"\r\n\r\n @motivating\r\n Scenario Outline: Users will be redirected to the value of the nextPage url parameter if it exists\r\n Given the component <mayHave> prop \"nextPage\" with <nextPageValue>\r\n And the users url contains a \"nextPage\" query paramater with <nextPageParamValue>\r\n And the user has verified their email\r\n When they click \"Continue\"\r\n Then they are redirected to <nextPageParamValue>\r\n Examples:\r\n | mayHave | nextPageValue | nextPageParamValue |\r\n | has | /dashboard | /activity |\r\n | does not have | N/A | /activity |";
@@ -23234,10 +23264,10 @@ const EmailVerificationWithError$1 = () => (h$1(PortalVerifyEmailView, Object.as
23234
23264
  const EmailVerificationSuccess$1 = () => (h$1(PortalVerifyEmailView, Object.assign({}, verifiedProps)));
23235
23265
 
23236
23266
  const PortalVerifyEmail = /*#__PURE__*/Object.freeze({
23237
- __proto__: null,
23238
- 'default': PortalVerifyEmail_stories,
23239
- EmailVerificationWithError: EmailVerificationWithError$1,
23240
- EmailVerificationSuccess: EmailVerificationSuccess$1
23267
+ __proto__: null,
23268
+ 'default': PortalVerifyEmail_stories,
23269
+ EmailVerificationWithError: EmailVerificationWithError$1,
23270
+ EmailVerificationSuccess: EmailVerificationSuccess$1
23241
23271
  });
23242
23272
 
23243
23273
  const AssetCard_stories = {
@@ -23269,11 +23299,11 @@ const CardWithNoImg = () => {
23269
23299
  };
23270
23300
 
23271
23301
  const AssetCard = /*#__PURE__*/Object.freeze({
23272
- __proto__: null,
23273
- 'default': AssetCard_stories,
23274
- Default: Default$7,
23275
- CardWithLongText: CardWithLongText,
23276
- CardWithNoImg: CardWithNoImg
23302
+ __proto__: null,
23303
+ 'default': AssetCard_stories,
23304
+ Default: Default$7,
23305
+ CardWithLongText: CardWithLongText,
23306
+ CardWithNoImg: CardWithNoImg
23277
23307
  });
23278
23308
 
23279
23309
  const DividedLayout_stories = {
@@ -23359,11 +23389,11 @@ const ColumnCustomDivider = () => {
23359
23389
  };
23360
23390
 
23361
23391
  const DividedLayout$1 = /*#__PURE__*/Object.freeze({
23362
- __proto__: null,
23363
- 'default': DividedLayout_stories,
23364
- Row: Row,
23365
- Column: Column,
23366
- ColumnCustomDivider: ColumnCustomDivider
23392
+ __proto__: null,
23393
+ 'default': DividedLayout_stories,
23394
+ Row: Row,
23395
+ Column: Column,
23396
+ ColumnCustomDivider: ColumnCustomDivider
23367
23397
  });
23368
23398
 
23369
23399
  const scenario$4 = "Feature: Change Password\r\n\r\n @motivating\r\n Scenario: Users can change their password\r\n Given a user has registered for the portal\r\n And they have a password\r\n When they navigate to the edit profile page\r\n And click \"Change your password...\"\r\n Then a popup will appear\r\n When they enter their new password\r\n And confirm it\r\n And click \"Change Password\"\r\n Then they will see a success banner stating that the change was successful\r\n When they logout\r\n And try to login\r\n Then they will not be able to login with their old password\r\n But they will be able to login with their new password\r\n\r\n @motivating\r\n Scenario: Users must confirm their password change\r\n Given a user has registered for the portal\r\n When they navigate to the edit profile page\r\n And click \"Change your password...\"\r\n Then a popup will appear\r\n When they enter their new password\r\n But they enter a different password to confirm\r\n And click \"Change Password\"\r\n Then they will see an error banner stating that the passwords didnt match\r\n When they logout\r\n And try to login\r\n Then they will be able to login with their existing password\r\n\r\n @motivating\r\n Scenario: Users must enter a new password and confirm it to change their password\r\n Given a user has registered for the portal\r\n When they navigate to the edit profile page\r\n And click \"Change your password...\"\r\n Then a popup will appear\r\n When they click \"Change password\"\r\n Then a validation error will appear for the new password field\r\n And their password will not be changed\r\n When they enter a new password\r\n And they click \"Change password\"\r\n Then a validation error will appear for the confirm new password field\r\n And their password will not be changed\r\n\r\n @motivating\r\n Scenario: An error banner will be displayed if the password change fails\r\n Given a user has registered for the portal\r\n When they navigate to the edit profile page\r\n And click \"Change your password...\"\r\n When they enter their new password\r\n And confirm it\r\n And click \"Change Password\"\r\n But the change fails\r\n Then they will see an error banner stating that the change failed\r\n When they logout\r\n And try to login\r\n Then they will be able to login with their existing password";
@@ -23514,14 +23544,14 @@ const Loading$1 = () => h$1(PortalChangePasswordView, Object.assign({}, loadingP
23514
23544
  const Success = () => h$1(PortalChangePasswordView, Object.assign({}, successProps$3));
23515
23545
 
23516
23546
  const ChangePassword = /*#__PURE__*/Object.freeze({
23517
- __proto__: null,
23518
- 'default': ChangePassword_stories,
23519
- Default: Default$8,
23520
- Open: Open,
23521
- Error: Error$1,
23522
- PaswordError: PaswordError,
23523
- Loading: Loading$1,
23524
- Success: Success
23547
+ __proto__: null,
23548
+ 'default': ChangePassword_stories,
23549
+ Default: Default$8,
23550
+ Open: Open,
23551
+ Error: Error$1,
23552
+ PaswordError: PaswordError,
23553
+ Loading: Loading$1,
23554
+ Success: Success
23525
23555
  });
23526
23556
 
23527
23557
  const PortalProfile_stories = {
@@ -23755,14 +23785,14 @@ const Error$2 = () => h$1(PortalProfileView, Object.assign({}, errorProps$7));
23755
23785
  const Success$1 = () => h$1(PortalProfileView, Object.assign({}, successProps$4));
23756
23786
 
23757
23787
  const PortalProfile = /*#__PURE__*/Object.freeze({
23758
- __proto__: null,
23759
- 'default': PortalProfile_stories,
23760
- Default: Default$9,
23761
- DefaultNoCountry: DefaultNoCountry,
23762
- Loading: Loading$2,
23763
- Disabled: Disabled$1,
23764
- Error: Error$2,
23765
- Success: Success$1
23788
+ __proto__: null,
23789
+ 'default': PortalProfile_stories,
23790
+ Default: Default$9,
23791
+ DefaultNoCountry: DefaultNoCountry,
23792
+ Loading: Loading$2,
23793
+ Disabled: Disabled$1,
23794
+ Error: Error$2,
23795
+ Success: Success$1
23766
23796
  });
23767
23797
 
23768
23798
  const ReferralTableRewardsCell_stories = {
@@ -23978,23 +24008,23 @@ const tenRewardsCell = () => {
23978
24008
  };
23979
24009
 
23980
24010
  const ReferralTableRewardsCell$1 = /*#__PURE__*/Object.freeze({
23981
- __proto__: null,
23982
- 'default': ReferralTableRewardsCell_stories,
23983
- PendingNoUnpend: PendingNoUnpend,
23984
- PendingNoUnpendNoDetails: PendingNoUnpendNoDetails,
23985
- PendingWithUnpend: PendingWithUnpend,
23986
- AvailableNoExpiry: AvailableNoExpiry,
23987
- AvailableWithExpiry: AvailableWithExpiry,
23988
- Redeemed: Redeemed,
23989
- Cancelled: Cancelled,
23990
- Expired: Expired,
23991
- EmptyCell: EmptyCell,
23992
- oneRewardCell: oneRewardCell,
23993
- twoRewardsCell: twoRewardsCell,
23994
- threeRewardsCell: threeRewardsCell,
23995
- fiveRewardsCell: fiveRewardsCell,
23996
- eightRewardsCell: eightRewardsCell,
23997
- tenRewardsCell: tenRewardsCell
24011
+ __proto__: null,
24012
+ 'default': ReferralTableRewardsCell_stories,
24013
+ PendingNoUnpend: PendingNoUnpend,
24014
+ PendingNoUnpendNoDetails: PendingNoUnpendNoDetails,
24015
+ PendingWithUnpend: PendingWithUnpend,
24016
+ AvailableNoExpiry: AvailableNoExpiry,
24017
+ AvailableWithExpiry: AvailableWithExpiry,
24018
+ Redeemed: Redeemed,
24019
+ Cancelled: Cancelled,
24020
+ Expired: Expired,
24021
+ EmptyCell: EmptyCell,
24022
+ oneRewardCell: oneRewardCell,
24023
+ twoRewardsCell: twoRewardsCell,
24024
+ threeRewardsCell: threeRewardsCell,
24025
+ fiveRewardsCell: fiveRewardsCell,
24026
+ eightRewardsCell: eightRewardsCell,
24027
+ tenRewardsCell: tenRewardsCell
23998
24028
  });
23999
24029
 
24000
24030
  const ReferralTable_stories = {
@@ -24471,17 +24501,17 @@ const FullRewardsTable = () => {
24471
24501
  };
24472
24502
 
24473
24503
  const ReferralTable$1 = /*#__PURE__*/Object.freeze({
24474
- __proto__: null,
24475
- 'default': ReferralTable_stories,
24476
- SimpleUserTable: SimpleUserTable,
24477
- HiddenLabelsTable: HiddenLabelsTable,
24478
- CustomButtonTextTable: CustomButtonTextTable,
24479
- FullUserTable: FullUserTable,
24480
- LongCellTextTable: LongCellTextTable,
24481
- LongColumnTextTable: LongColumnTextTable,
24482
- EmptyTable: EmptyTable,
24483
- LoadingTable: LoadingTable,
24484
- FullRewardsTable: FullRewardsTable
24504
+ __proto__: null,
24505
+ 'default': ReferralTable_stories,
24506
+ SimpleUserTable: SimpleUserTable,
24507
+ HiddenLabelsTable: HiddenLabelsTable,
24508
+ CustomButtonTextTable: CustomButtonTextTable,
24509
+ FullUserTable: FullUserTable,
24510
+ LongCellTextTable: LongCellTextTable,
24511
+ LongColumnTextTable: LongColumnTextTable,
24512
+ EmptyTable: EmptyTable,
24513
+ LoadingTable: LoadingTable,
24514
+ FullRewardsTable: FullRewardsTable
24485
24515
  });
24486
24516
 
24487
24517
  const ReferralTableCell_stories = {
@@ -24547,14 +24577,14 @@ const RewardsCell = () => {
24547
24577
  };
24548
24578
 
24549
24579
  const ReferralTableCell$1 = /*#__PURE__*/Object.freeze({
24550
- __proto__: null,
24551
- 'default': ReferralTableCell_stories,
24552
- TableCell: TableCell,
24553
- TableUserCell: TableUserCell,
24554
- EmptyCell: EmptyCell$1,
24555
- StatusCell: StatusCell,
24556
- DateCell: DateCell,
24557
- RewardsCell: RewardsCell
24580
+ __proto__: null,
24581
+ 'default': ReferralTableCell_stories,
24582
+ TableCell: TableCell,
24583
+ TableUserCell: TableUserCell,
24584
+ EmptyCell: EmptyCell$1,
24585
+ StatusCell: StatusCell,
24586
+ DateCell: DateCell,
24587
+ RewardsCell: RewardsCell
24558
24588
  });
24559
24589
 
24560
24590
  const UserName_stories = {
@@ -24572,10 +24602,10 @@ const Username = () => {
24572
24602
  };
24573
24603
 
24574
24604
  const UserName = /*#__PURE__*/Object.freeze({
24575
- __proto__: null,
24576
- 'default': UserName_stories,
24577
- DemoData: DemoData,
24578
- Username: Username
24605
+ __proto__: null,
24606
+ 'default': UserName_stories,
24607
+ DemoData: DemoData,
24608
+ Username: Username
24579
24609
  });
24580
24610
 
24581
24611
  const PasswordField_stories = {
@@ -24619,11 +24649,11 @@ const ValidationError = () => {
24619
24649
  };
24620
24650
 
24621
24651
  const PasswordField = /*#__PURE__*/Object.freeze({
24622
- __proto__: null,
24623
- 'default': PasswordField_stories,
24624
- Start: Start,
24625
- EmptyError: EmptyError,
24626
- ValidationError: ValidationError
24652
+ __proto__: null,
24653
+ 'default': PasswordField_stories,
24654
+ Start: Start,
24655
+ EmptyError: EmptyError,
24656
+ ValidationError: ValidationError
24627
24657
  });
24628
24658
 
24629
24659
  /**
@@ -25763,21 +25793,21 @@ const ProgressBarStepsRepeatableFinite = () => {
25763
25793
  };
25764
25794
 
25765
25795
  const TaskCard$2 = /*#__PURE__*/Object.freeze({
25766
- __proto__: null,
25767
- 'default': TaskCard_stories,
25768
- TaskCard: TaskCard$1,
25769
- TaskCardNotRepeatable: TaskCardNotRepeatable,
25770
- TaskCardRepeatable: TaskCardRepeatable,
25771
- TaskCardRepeatableFinite: TaskCardRepeatableFinite,
25772
- TaskCardEndDate: TaskCardEndDate,
25773
- TaskCardLoading: TaskCardLoading,
25774
- TaskCardNotStarted: TaskCardNotStarted,
25775
- TaskCardEnded: TaskCardEnded,
25776
- ProgressBar: ProgressBar$1,
25777
- ProgressBarSteps: ProgressBarSteps,
25778
- ProgressBarRepeatable: ProgressBarRepeatable,
25779
- ProgressBarStepsRepeatable: ProgressBarStepsRepeatable,
25780
- ProgressBarStepsRepeatableFinite: ProgressBarStepsRepeatableFinite
25796
+ __proto__: null,
25797
+ 'default': TaskCard_stories,
25798
+ TaskCard: TaskCard$1,
25799
+ TaskCardNotRepeatable: TaskCardNotRepeatable,
25800
+ TaskCardRepeatable: TaskCardRepeatable,
25801
+ TaskCardRepeatableFinite: TaskCardRepeatableFinite,
25802
+ TaskCardEndDate: TaskCardEndDate,
25803
+ TaskCardLoading: TaskCardLoading,
25804
+ TaskCardNotStarted: TaskCardNotStarted,
25805
+ TaskCardEnded: TaskCardEnded,
25806
+ ProgressBar: ProgressBar$1,
25807
+ ProgressBarSteps: ProgressBarSteps,
25808
+ ProgressBarRepeatable: ProgressBarRepeatable,
25809
+ ProgressBarStepsRepeatable: ProgressBarStepsRepeatable,
25810
+ ProgressBarStepsRepeatableFinite: ProgressBarStepsRepeatableFinite
25781
25811
  });
25782
25812
 
25783
25813
  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://res.cloudinary.com/saasquatch/image/upload/v1634255445/squatch-assets/Copy_of_saasquatch-logo-tree-large-horizontal.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 <sqm-name-fields slot=\"formData\"></sqm-name-fields>\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\r\n direction=\"row\"\r\n style=\"\r\n border-top: 1px solid #eaeaea;\r\n border-bottom: 1px solid #eaeaea;\r\n \"\r\n >\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 track-loads=\"true\"\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 direction=\"column\" gap=\"xxx-large\">\r\n <sqm-portal-profile></sqm-portal-profile> </sqm-portal-container\r\n ><sqm-portal-container direction=\"column\" gap=\"xxx-large\">\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> <h1>Activity</h1></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 <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 faq-link=\"https://example.com\"\r\n terms-text=\"Terms And Conditions\"\r\n faq-text=\"FAQ\"\r\n show-powered-by=\"true\"\r\n ></sqm-portal-footer>\r\n</sqm-portal-frame>\r\n";
@@ -28929,24 +28959,24 @@ const VerifyEmail = createHookStory(() => {
28929
28959
  });
28930
28960
 
28931
28961
  const PortalTemplates = /*#__PURE__*/Object.freeze({
28932
- __proto__: null,
28933
- 'default': PortalTemplates_stories,
28934
- DefaultPortal: DefaultPortal,
28935
- MultiProgramPortal: MultiProgramPortal,
28936
- LeadSubmitPortal: LeadSubmitPortal,
28937
- Login: Login,
28938
- ForgotPassword: ForgotPassword,
28939
- Register: Register,
28940
- Dashboard: Dashboard$1,
28941
- LeadSubmitIframe: LeadSubmitIframe,
28942
- Activity: Activity$1,
28943
- EditProfile: EditProfile$3,
28944
- ResetPassword: ResetPassword,
28945
- EmailVerification: EmailVerification,
28946
- EmailVerified: EmailVerified,
28947
- Widget: Widget,
28948
- ResetPasswordEmail: ResetPasswordEmail,
28949
- VerifyEmail: VerifyEmail
28962
+ __proto__: null,
28963
+ 'default': PortalTemplates_stories,
28964
+ DefaultPortal: DefaultPortal,
28965
+ MultiProgramPortal: MultiProgramPortal,
28966
+ LeadSubmitPortal: LeadSubmitPortal,
28967
+ Login: Login,
28968
+ ForgotPassword: ForgotPassword,
28969
+ Register: Register,
28970
+ Dashboard: Dashboard$1,
28971
+ LeadSubmitIframe: LeadSubmitIframe,
28972
+ Activity: Activity$1,
28973
+ EditProfile: EditProfile$3,
28974
+ ResetPassword: ResetPassword,
28975
+ EmailVerification: EmailVerification,
28976
+ EmailVerified: EmailVerified,
28977
+ Widget: Widget,
28978
+ ResetPasswordEmail: ResetPasswordEmail,
28979
+ VerifyEmail: VerifyEmail
28950
28980
  });
28951
28981
 
28952
28982
  const ProgramMenu_stories = {
@@ -28987,12 +29017,12 @@ const ProgramMenuWithSwitch = createHookStory(() => {
28987
29017
  });
28988
29018
 
28989
29019
  const ProgramMenu$1 = /*#__PURE__*/Object.freeze({
28990
- __proto__: null,
28991
- 'default': ProgramMenu_stories,
28992
- OneProgram: OneProgram,
28993
- TwoProgram: TwoProgram,
28994
- FiveProgram: FiveProgram,
28995
- ProgramMenuWithSwitch: ProgramMenuWithSwitch
29020
+ __proto__: null,
29021
+ 'default': ProgramMenu_stories,
29022
+ OneProgram: OneProgram,
29023
+ TwoProgram: TwoProgram,
29024
+ FiveProgram: FiveProgram,
29025
+ ProgramMenuWithSwitch: ProgramMenuWithSwitch
28996
29026
  });
28997
29027
 
28998
29028
  const PoweredByImg_stories = {
@@ -29009,11 +29039,11 @@ const CustomWidthAndHeight = () => {
29009
29039
  };
29010
29040
 
29011
29041
  const PoweredByImg = /*#__PURE__*/Object.freeze({
29012
- __proto__: null,
29013
- 'default': PoweredByImg_stories,
29014
- Default: Default$a,
29015
- CustomColor: CustomColor,
29016
- CustomWidthAndHeight: CustomWidthAndHeight
29042
+ __proto__: null,
29043
+ 'default': PoweredByImg_stories,
29044
+ Default: Default$a,
29045
+ CustomColor: CustomColor,
29046
+ CustomWidthAndHeight: CustomWidthAndHeight
29017
29047
  });
29018
29048
 
29019
29049
  const scenario$6 = "Feature: Portal Footer\r\n\r\n Background: A user is viewing the portal\r\n Given a hosted portal\r\n And a user is viewing the portal\r\n And the portal has a footer\r\n\r\n Scenario Outline: FAQ and T&C links/text are configurable and open in a new page when clicked\r\n Given the footer has prop \"terms-link\" with value \"https://example.com/terms\"\r\n And prop \"terms-text\" with value \"Terms and Conditions\"\r\n And prop \"faq-link\" with value \"https://example.com/FAQ\"\r\n And prop \"faq-text\" with value \"Visit FAQ\"\r\n When a user clicks on the \"Visit FAQ\" link\r\n Then they will be redirected to \"https://example.com/FAQ\" in a new page\r\n When they go back to the portal\r\n And click on the \"Terms and Conditions\" link\r\n Then they will be redirected to \"https://example.com/terms\" in a new page\r\n\r\n Scenario Outline: FAQ/T&C Links are not shown if a link is not provided\r\n Given the footer does not have <linkProp>\r\n But it <mayHave> <textProp> with <value>\r\n Then the <link> will not be shown in the footer\r\n Examples:\r\n | linkProp | mayHave | textProp | value | link |\r\n | terms-link | has | termsText | Terms and Conditions | T&C Link |\r\n | faq-link | has | faqText | Visit FAQ | FAQ Link |\r\n | terms-link | doesn't have | | | T&C Link |\r\n | faq-link | doesn't have | | | FAQ Link |\r\n\r\n Scenario Outline: The support email and text is configurable but has a default\r\n Given the footer <mayHave> <emailPropWithValue>\r\n And the footer <mayAlsoHave> <textPropWithValue>\r\n Then the footer's support email text is <renderedEmailText>\r\n And the email address will be a mailto link with <mailtoEmail>\r\n When the user clicks on the email address mailto Link\r\n Then the users preferred email client will open with a draft email to <mailtoEmail>\r\n Examples:\r\n | mayHave | emailPropWithValue | mayAlsoHave | textPropWithValue | mailtoEmail | renderedEmailText |\r\n | has | support@saasquatch.com | has | For support please contact {email} | support@saasquatch.com | For support please contact support@saasquatch.com |\r\n | doesn't have | N/A | doesn't have | N/A | support@example.com | For program support, contact support@example.com |\r\n\r\n Scenario Outline: Powered by SaaSquatch is shown by default\r\n Given the footer <mayHaveProp> \"show-powered-by\" with <value>\r\n Then the powered by SaaSquatch image <mayBeShown>\r\n Examples:\r\n | mayHaveProp | value | mayBeShown |\r\n | has prop | true | is shown |\r\n | has prop | false | isn't shown |\r\n | has prop | test | is shown |\r\n | has prop | | is shown |\r\n | doesn't have prop | | is shown |\r\n\r\n Scenario: Powered By Saasquatch links out to \"https://saasquatch.com\"\r\n Given the footer has the powered by SaaSquatch image\r\n When a user clicks on it\r\n Then they will be redirected to \"https://saasquatch.com\" in a new page";
@@ -29041,13 +29071,13 @@ const FooterWithTermsAndFAQ = () => (h$1(PortalFooterView, Object.assign({}, def
29041
29071
  const FooterNoPoweredBy = () => (h$1(PortalFooterView, Object.assign({}, defaultProps$9, { termsLink: "https://example.com", termsText: "Terms and Conditions", faqLink: "https://example.com", faqText: "FAQ", showPoweredBy: false })));
29042
29072
 
29043
29073
  const PortalFooter = /*#__PURE__*/Object.freeze({
29044
- __proto__: null,
29045
- 'default': PortalFooter_stories,
29046
- DefaultFooter: DefaultFooter,
29047
- FooterWithTerms: FooterWithTerms,
29048
- FooterWithFAQ: FooterWithFAQ,
29049
- FooterWithTermsAndFAQ: FooterWithTermsAndFAQ,
29050
- FooterNoPoweredBy: FooterNoPoweredBy
29074
+ __proto__: null,
29075
+ 'default': PortalFooter_stories,
29076
+ DefaultFooter: DefaultFooter,
29077
+ FooterWithTerms: FooterWithTerms,
29078
+ FooterWithFAQ: FooterWithFAQ,
29079
+ FooterWithTermsAndFAQ: FooterWithTermsAndFAQ,
29080
+ FooterNoPoweredBy: FooterNoPoweredBy
29051
29081
  });
29052
29082
 
29053
29083
  const scenario$7 = "Feature: Hero Unit\r\n\r\n Background: A portal with a hero unit exists\r\n Given a hosted portal\r\n And the portal has hero unit on the login page\r\n And a user is viewing the login page\r\n\r\n Scenario: The hero unit defaults to a single column layout\r\n Given a hero unit does not have a \"columns\" prop\r\n But the following html is wrapped by the hero unit\r\n \"\"\"\r\n <sqm-portal-login></sqm-portal-login>\r\n <div slot=\"secondary-column\">\r\n <h1 style=\"text-align:center\">Get Referring!</h1>\r\n <p style=\"text-align:center\">\r\n Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do\r\n eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim\r\n ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut\r\n aliquip ex ea commodo consequat. Duis aute irure dolor in\r\n reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla\r\n pariatur.\r\n </p>\r\n </div>\r\n \"\"\"\r\n Then only a single column will be displayed\r\n And within it will be the login component\r\n\r\n Scenario Outline: The hero unit supports single or dual column layouts\r\n Given a hero unit with prop \"columns\" having <columnValue>\r\n And it wraps <html>\r\n Then the hero unit displays <columnValue> columns\r\n Examples:\r\n | columnValue | html |\r\n | 1 | <h1>Column 1!</h1> |\r\n | 2 | <h1>Column 1!</h1><div slot=\"secondary-column\"><h1 style=\"text-align:center\">Column 2!</h1></div> |\r\n\r\n Scenario: HTML to be displayed in the second column comes from the \"secondary-column\" slot\r\n Given a hero unit with \"columns\" \"2\"\r\n And the following html\r\n \"\"\"\r\n <h1>Column 1!</h1>\r\n <div>\r\n <h1 style=\"text-align:center\">Column 2!</h1>\r\n </div>\r\n \"\"\"\r\n When the hero unit is rendered\r\n Then only one column is displayed with content\r\n And column 1 will contain the \"Column 1!\" text\r\n And column 1 will contain the \"Column 2!\" text\r\n When the div for column two is updated to have 'slot=\"secondary-column\"'\r\n Then the two columns are displayed with content\r\n And column 1 will contain the \"Column 1!\" text\r\n And column 2 will contain the \"Column 2!\" text\r\n\r\n Scenario Outline: A background for the hero unit can be set as an image or colour\r\n Given a hero unit with <backgroundPropValue>\r\n Then the background will be <background>\r\n Examples:\r\n | background | background |\r\n | https://images.unsplash.com/photo-1599676821464-3555954838d | image of misty mountains |\r\n | LightSlateGrey | light slate grey |\r\n | #00FF00 | green |\r\n | rgb(128,0,128) | purple |\r\n\r\n Scenario Outline: Wrap Direction can be configured for mobile experiences\r\n Given a hero unit with the following HTML\r\n \"\"\"\r\n <h1>Column 1!</h1>\r\n <div slot=\"secondary-column\">\r\n <h1 style=\"text-align:center\">Column 2!</h1>\r\n </div>\r\n \"\"\"\r\n And prop \"wrap-direction\" has <value>\r\n When the window width is less than 600px\r\n Then the two columns will stack\r\n And <column> will be on top\r\n Examples:\r\n | value | column |\r\n | wrap | 1 |\r\n | wrap-reverse | 2 |\r\n | | 1 |";
@@ -29219,17 +29249,17 @@ const TwoColumnLoginWithImgElement = () => {
29219
29249
  };
29220
29250
 
29221
29251
  const Hero = /*#__PURE__*/Object.freeze({
29222
- __proto__: null,
29223
- 'default': Hero_stories,
29224
- LoginOneColumn: LoginOneColumn,
29225
- LoginOneColumnWithColor: LoginOneColumnWithColor,
29226
- LoginOneColumnWithImage: LoginOneColumnWithImage,
29227
- TwoColumnLoginLargePadding: TwoColumnLoginLargePadding,
29228
- TwoColumnLoginMediumPadding: TwoColumnLoginMediumPadding,
29229
- TwoColumnLoginSmallPadding: TwoColumnLoginSmallPadding,
29230
- TwoColumnLoginNoPadding: TwoColumnLoginNoPadding,
29231
- TwoColumnLoginReverseWrap: TwoColumnLoginReverseWrap,
29232
- TwoColumnLoginWithImgElement: TwoColumnLoginWithImgElement
29252
+ __proto__: null,
29253
+ 'default': Hero_stories,
29254
+ LoginOneColumn: LoginOneColumn,
29255
+ LoginOneColumnWithColor: LoginOneColumnWithColor,
29256
+ LoginOneColumnWithImage: LoginOneColumnWithImage,
29257
+ TwoColumnLoginLargePadding: TwoColumnLoginLargePadding,
29258
+ TwoColumnLoginMediumPadding: TwoColumnLoginMediumPadding,
29259
+ TwoColumnLoginSmallPadding: TwoColumnLoginSmallPadding,
29260
+ TwoColumnLoginNoPadding: TwoColumnLoginNoPadding,
29261
+ TwoColumnLoginReverseWrap: TwoColumnLoginReverseWrap,
29262
+ TwoColumnLoginWithImgElement: TwoColumnLoginWithImgElement
29233
29263
  });
29234
29264
 
29235
29265
  const scenario$8 = "@owner:sam\r\n@author:sam\r\n\r\nFeature: Referral Iframe\r\n\r\n Used to provide an external form for submitting referral leads using the current user's referral code\r\n\r\n Background: A user is logged in\r\n Given there is a logged in user\r\n\r\n @motivating\r\n Scenario: Referral code is passed to the iframe as a query parameter\r\n Given the \"iframe-src\" is \"https://example.com\"\r\n And the user has navigated to \"/refer\"\r\n And the user's referral code is \"BOBBYREFER\"\r\n When the iframe content is loaded\r\n Then the iframe url will be \"https://example.com?rsCode=BOBBYREFER\"\r\n\r\n @ui\r\n Scenario Outline: The height and width of the iFrame can be controlled via props\r\n Given the \"iframe-src\" is \"https://example.com\"\r\n And the iframe content is 1000x1000\r\n And the \"iframe-height\" is set to <heightValue>\r\n And the \"iframe-width\" is set to <widthValue>\r\n Then the content of the iframe will be displayed with scrollbars\r\n And the dimension of the iFrame displayed will be 500x500\r\n When the \"iframe-height\" is set to <heightValue>\r\n And the \"iframe-width\" is set to <widthValue>\r\n Then the full content of the iframe will be displayed on the page\r\n And the dimension of the iFrame displayed will be 1000x1000\r\n Examples:\r\n | heightValue | widthValue |\r\n | 500px | 500px |\r\n | 50% | 50% |\r\n\r\n @minutae\r\n Scenario Outline: The iFrame will fail fast if a iFrame source isn't provided\r\n Given \"iframe-src\" <mayBeAnAttribute>\r\n And it <mayHaveValue>\r\n When a user views the referral iFrame component\r\n Then an alert with an error message is displayed in place of the iFrame\r\n And it has a details section\r\n When \"More details\" is clicked\r\n Then the following information will be displayed\r\n | component being used |\r\n | missing attribute(s) |\r\n\r\n Examples:\r\n | mayBeAnAttribute | mayHaveValue |\r\n | is not an attribute | N/A |\r\n | is an attribute | \"\" |\r\n | is an attribute | |";
@@ -29262,10 +29292,10 @@ const ReferralIframeError = () => {
29262
29292
  };
29263
29293
 
29264
29294
  const ReferralIframe$1 = /*#__PURE__*/Object.freeze({
29265
- __proto__: null,
29266
- 'default': ReferralIframe_stories,
29267
- ReferralIframe: ReferralIframe,
29268
- ReferralIframeError: ReferralIframeError
29295
+ __proto__: null,
29296
+ 'default': ReferralIframe_stories,
29297
+ ReferralIframe: ReferralIframe,
29298
+ ReferralIframeError: ReferralIframeError
29269
29299
  });
29270
29300
 
29271
29301
  const scenario$9 = "@owner:sam\r\n@author:sam\r\n\r\nFeature: Name Fields\r\n\r\n Fields to be used to fill the first and last name of a user during registration\r\n\r\n Background:\r\n Given the current page is \"/register\"\r\n\r\n @motivating\r\n Scenario: Both first name and last name are required\r\n Given the email field has valid input\r\n And the password field has valid input\r\n And first name field is empty\r\n And last name field is empty\r\n When register is clicked\r\n Then the name fields will be highlighted in red\r\n And the error messages will say \"Cannot be empty\"\r\n\r\n @motivating\r\n Scenario: First and last name are upserted with the SaaSquatch user\r\n Given all fields have been filled with data\r\n | firstName | lastName | email | password |\r\n | Bob | Testerson | bob@example.com | SecurePassword1 |\r\n When register is clicked\r\n Then the email verification page will be loaded\r\n And the user will be upserted\r\n And the SaaSquatch user will contain data\r\n | firstName | lastName | email |\r\n | Bob | Testerson | bob@example.com |\r\n\r\n";
@@ -29305,10 +29335,10 @@ const NameFieldsWithErrors = () => {
29305
29335
  };
29306
29336
 
29307
29337
  const NameFields$1 = /*#__PURE__*/Object.freeze({
29308
- __proto__: null,
29309
- 'default': NameFields_stories,
29310
- NameFields: NameFields,
29311
- NameFieldsWithErrors: NameFieldsWithErrors
29338
+ __proto__: null,
29339
+ 'default': NameFields_stories,
29340
+ NameFields: NameFields,
29341
+ NameFieldsWithErrors: NameFieldsWithErrors
29312
29342
  });
29313
29343
 
29314
29344
  const baseResponse = (data, stage = "chooseReward", selectedItem = null, selectedStep = null, error = false, loading = false, fueltank = null) => ({
@@ -29561,19 +29591,19 @@ const SuccessPromo = StoryBase(success3);
29561
29591
  const Loading$3 = StoryBase(loading);
29562
29592
 
29563
29593
  const RewardExchangeList = /*#__PURE__*/Object.freeze({
29564
- __proto__: null,
29565
- 'default': RewardExchangeList_stories,
29566
- ChooseReward: ChooseReward,
29567
- ChooseRewardSelected: ChooseRewardSelected,
29568
- ChooseAmount: ChooseAmount,
29569
- ChooseAmountVariable: ChooseAmountVariable,
29570
- Confirm: Confirm,
29571
- ConfirmVariable: ConfirmVariable,
29572
- Error: Error$3,
29573
- Success: Success$2,
29574
- SuccessVariable: SuccessVariable,
29575
- SuccessPromo: SuccessPromo,
29576
- Loading: Loading$3
29594
+ __proto__: null,
29595
+ 'default': RewardExchangeList_stories,
29596
+ ChooseReward: ChooseReward,
29597
+ ChooseRewardSelected: ChooseRewardSelected,
29598
+ ChooseAmount: ChooseAmount,
29599
+ ChooseAmountVariable: ChooseAmountVariable,
29600
+ Confirm: Confirm,
29601
+ ConfirmVariable: ConfirmVariable,
29602
+ Error: Error$3,
29603
+ Success: Success$2,
29604
+ SuccessVariable: SuccessVariable,
29605
+ SuccessPromo: SuccessPromo,
29606
+ Loading: Loading$3
29577
29607
  });
29578
29608
 
29579
29609
  const ProgramExplainer_stories = {
@@ -29591,18 +29621,21 @@ const steps1 = {
29591
29621
  description: "Earn up to $1200 in rewards for each referral",
29592
29622
  color: "white",
29593
29623
  background: "#5B3EDA",
29624
+ icon: "person-plus-fill",
29594
29625
  };
29595
29626
  const steps2 = {
29596
29627
  title: "If your friend signs up for a Klip Business plan",
29597
29628
  description: "Get a $50 VISA giftcard when they pay for their first month",
29598
29629
  color: "black",
29599
29630
  background: "#F3CC66",
29631
+ icon: "server",
29600
29632
  };
29601
29633
  const steps3 = {
29602
29634
  title: "If your friend signs up for a Klip Enterprise plan",
29603
29635
  description: "Get up to $1200 in rewards - a $200 VISA giftcard when our sales team qualifies them as a good fit for Klip, and a $1000 VISA giftcard when they become a paying customer",
29604
29636
  color: "black",
29605
29637
  background: "#D3CCF5",
29638
+ icon: "people-fill",
29606
29639
  };
29607
29640
  const OneStep = () => {
29608
29641
  return (h$1(ProgramExplainerView, Object.assign({}, props$2),
@@ -29621,11 +29654,11 @@ const ThreeSteps = () => {
29621
29654
  };
29622
29655
 
29623
29656
  const ProgramExplainer = /*#__PURE__*/Object.freeze({
29624
- __proto__: null,
29625
- 'default': ProgramExplainer_stories,
29626
- OneStep: OneStep,
29627
- TwoSteps: TwoSteps,
29628
- ThreeSteps: ThreeSteps
29657
+ __proto__: null,
29658
+ 'default': ProgramExplainer_stories,
29659
+ OneStep: OneStep,
29660
+ TwoSteps: TwoSteps,
29661
+ ThreeSteps: ThreeSteps
29629
29662
  });
29630
29663
 
29631
29664
  const ProgramExplainerStep_stories = {
@@ -29636,7 +29669,8 @@ const Example1 = () => {
29636
29669
  title: "Invite your friends to Klip",
29637
29670
  description: "Earn up to $1200 in rewards for each referral",
29638
29671
  color: "white",
29639
- background: "#5B3EDA"
29672
+ background: "#5B3EDA",
29673
+ icon: "person-plus-fill",
29640
29674
  };
29641
29675
  return h$1(ProgramExplainerStepView, Object.assign({}, props));
29642
29676
  };
@@ -29649,27 +29683,28 @@ const Example1 = () => {
29649
29683
  // };
29650
29684
 
29651
29685
  const ProgramExplainerStep = /*#__PURE__*/Object.freeze({
29652
- __proto__: null,
29653
- 'default': ProgramExplainerStep_stories,
29654
- Example1: Example1
29686
+ __proto__: null,
29687
+ 'default': ProgramExplainerStep_stories,
29688
+ Example1: Example1
29655
29689
  });
29656
29690
 
29657
29691
  const SqmBrand_stories = {
29658
29692
  title: "Components/Brand",
29659
29693
  };
29660
29694
  const SampleComponents = () => (h$1("div", { style: { padding: "10px", border: "5px solid #EEE" } },
29661
- h$1("sl-button", { type: "default" }, "Default"),
29662
- h$1("sl-button", { type: "primary" }, "Primary"),
29663
- h$1("sl-button", { type: "success" }, "Success"),
29664
- h$1("sl-button", { type: "neutral" }, "Neutral"),
29665
- h$1("sl-button", { type: "warning" }, "Warning"),
29666
- h$1("sl-button", { type: "danger" }, "Danger"),
29667
- h$1("br", null),
29668
- h$1("sl-badge", { type: "primary" }, "Primary"),
29669
- h$1("sl-badge", { type: "success" }, "Success"),
29670
- h$1("sl-badge", { type: "neutral" }, "Neutral"),
29671
- h$1("sl-badge", { type: "warning" }, "Warning"),
29672
- h$1("sl-badge", { type: "danger" }, "Danger"),
29695
+ h$1("div", { style: { display: "flex", gap: "5px", padding: "5px" } },
29696
+ h$1("sl-button", { type: "default" }, "Default"),
29697
+ h$1("sl-button", { type: "primary" }, "Primary"),
29698
+ h$1("sl-button", { type: "success" }, "Success"),
29699
+ h$1("sl-button", { type: "neutral" }, "Neutral"),
29700
+ h$1("sl-button", { type: "warning" }, "Warning"),
29701
+ h$1("sl-button", { type: "danger" }, "Danger")),
29702
+ h$1("div", { style: { display: "flex", gap: "5px", padding: "5px" } },
29703
+ h$1("sl-badge", { type: "primary" }, "Primary"),
29704
+ h$1("sl-badge", { type: "success" }, "Success"),
29705
+ h$1("sl-badge", { type: "neutral" }, "Neutral"),
29706
+ h$1("sl-badge", { type: "warning" }, "Warning"),
29707
+ h$1("sl-badge", { type: "danger" }, "Danger")),
29673
29708
  h$1("div", { class: "color-palette" },
29674
29709
  h$1("div", { class: "color-palette__name" },
29675
29710
  "Primary",
@@ -29721,19 +29756,37 @@ const Nested = () => {
29721
29756
  function ColorSwatch({ depth }) {
29722
29757
  return (h$1("div", { style: {
29723
29758
  backgroundColor: `var(--sl-color-primary-${depth})`,
29759
+ color: `var(--sl-color-neutral-${1000 - depth})`,
29724
29760
  width: "50px",
29725
29761
  height: "50px",
29726
29762
  display: "flex",
29727
29763
  justifyContent: "center",
29728
- alignItems: "center"
29764
+ alignItems: "center",
29729
29765
  } }, depth));
29730
- }
29766
+ }
29767
+ const Fonts = () => {
29768
+ return (h$1("div", null,
29769
+ h$1(SampleComponents, null),
29770
+ h$1("sqm-brand", { "brand-font": "Roboto" },
29771
+ "Roboto",
29772
+ h$1(SampleComponents, null)),
29773
+ h$1("sqm-brand", { "brand-font": "Open Sans" },
29774
+ "Open Sans",
29775
+ h$1(SampleComponents, null)),
29776
+ h$1("sqm-brand", { "brand-font": "Lato" },
29777
+ "Lato",
29778
+ h$1(SampleComponents, null)),
29779
+ h$1("sqm-brand", { "brand-font": "Oswald" },
29780
+ "Oswald",
29781
+ h$1(SampleComponents, null))));
29782
+ };
29731
29783
 
29732
29784
  const BrandStories = /*#__PURE__*/Object.freeze({
29733
- __proto__: null,
29734
- 'default': SqmBrand_stories,
29735
- Examples: Examples,
29736
- Nested: Nested
29785
+ __proto__: null,
29786
+ 'default': SqmBrand_stories,
29787
+ Examples: Examples,
29788
+ Nested: Nested,
29789
+ Fonts: Fonts
29737
29790
  });
29738
29791
 
29739
29792
  /**
@@ -29789,13 +29842,13 @@ const Klip = `
29789
29842
  `;
29790
29843
 
29791
29844
  const Themes = /*#__PURE__*/Object.freeze({
29792
- __proto__: null,
29793
- Default: Default$b,
29794
- Orangey: Orangey,
29795
- Netflix: Netflix,
29796
- SaaSquatchCorporate: SaaSquatchCorporate,
29797
- NYTimes: NYTimes,
29798
- Klip: Klip
29845
+ __proto__: null,
29846
+ Default: Default$b,
29847
+ Orangey: Orangey,
29848
+ Netflix: Netflix,
29849
+ SaaSquatchCorporate: SaaSquatchCorporate,
29850
+ NYTimes: NYTimes,
29851
+ Klip: Klip
29799
29852
  });
29800
29853
 
29801
29854
  function deepFreeze(obj) {