@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.
Files changed (200) hide show
  1. package/CHANGELOG.md +32 -9
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/mint-components.cjs.js +1 -1
  4. package/dist/cjs/{sqm-divided-layout_22.cjs.entry.js → sqm-divided-layout_24.cjs.entry.js} +3846 -88
  5. package/dist/cjs/sqm-hero-view-9a179fd2.js +77 -0
  6. package/dist/cjs/sqm-hero.cjs.entry.js +33 -0
  7. package/dist/cjs/{sqm-navigation-sidebar-item-view-089d0eed.js → sqm-navigation-sidebar-item-view-647457cc.js} +2 -2
  8. package/dist/cjs/sqm-navigation-sidebar-item.cjs.entry.js +3 -3
  9. package/dist/cjs/{sqm-portal-change-password-view-8d932bce.js → sqm-portal-change-password-view-faf6ad39.js} +15 -8
  10. package/dist/cjs/sqm-portal-change-password.cjs.entry.js +59 -4
  11. package/dist/cjs/{sqm-portal-email-verification-view-d6b7b37e.js → sqm-portal-email-verification-view-626fc886.js} +3 -3
  12. package/dist/cjs/sqm-portal-email-verification.cjs.entry.js +14 -2
  13. package/dist/cjs/sqm-portal-footer-view-be3adcf2.js +80 -0
  14. package/dist/cjs/sqm-portal-footer.cjs.entry.js +58 -0
  15. package/dist/cjs/{sqm-portal-profile-view-db5658ba.js → sqm-portal-profile-view-76e3e4bb.js} +5 -5
  16. package/dist/cjs/sqm-portal-profile.cjs.entry.js +25 -7
  17. package/dist/cjs/{sqm-portal-reset-password-view-3980aa63.js → sqm-portal-reset-password-view-b7b52d16.js} +10 -6
  18. package/dist/cjs/sqm-portal-reset-password.cjs.entry.js +42 -4
  19. package/dist/cjs/sqm-portal-verify-email.cjs.entry.js +1 -1
  20. package/dist/collection/assets/PoweredBySaaSquatch.png +0 -0
  21. package/dist/collection/collection-manifest.json +2 -0
  22. package/dist/collection/components/sqm-hero/sqm-hero-view.js +73 -0
  23. package/dist/collection/components/sqm-hero/sqm-hero.js +95 -0
  24. package/dist/collection/components/sqm-navigation-sidebar-item/sqm-navigation-sidebar-item-view.js +2 -2
  25. package/dist/collection/components/sqm-navigation-sidebar-item/sqm-navigation-sidebar-item.js +2 -2
  26. package/dist/collection/components/sqm-portal-change-password/sqm-portal-change-password-view.js +15 -8
  27. package/dist/collection/components/sqm-portal-change-password/sqm-portal-change-password.js +215 -2
  28. package/dist/collection/components/sqm-portal-change-password/usePortalChangePassword.js +11 -1
  29. package/dist/collection/components/sqm-portal-email-verification/sqm-portal-email-verification-view.js +3 -3
  30. package/dist/collection/components/sqm-portal-email-verification/sqm-portal-email-verification.js +55 -3
  31. package/dist/collection/components/sqm-portal-email-verification/usePortalEmailVerification.js +2 -0
  32. package/dist/collection/components/sqm-portal-footer/PoweredByImg.js +11 -0
  33. package/dist/collection/components/sqm-portal-footer/sqm-portal-footer-view.js +65 -0
  34. package/dist/collection/components/sqm-portal-footer/sqm-portal-footer.js +305 -0
  35. package/dist/collection/components/sqm-portal-profile/sqm-portal-profile-view.js +5 -5
  36. package/dist/collection/components/sqm-portal-profile/sqm-portal-profile.js +90 -12
  37. package/dist/collection/components/sqm-portal-profile/usePortalProfile.js +3 -0
  38. package/dist/collection/components/sqm-portal-register/sqm-portal-register-view.js +3 -3
  39. package/dist/collection/components/sqm-portal-register/sqm-portal-register.js +28 -2
  40. package/dist/collection/components/sqm-portal-reset-password/sqm-portal-reset-password-view.js +10 -6
  41. package/dist/collection/components/sqm-portal-reset-password/sqm-portal-reset-password.js +137 -1
  42. package/dist/collection/components/sqm-portal-reset-password/usePortalResetPassword.js +10 -3
  43. package/dist/collection/components/sqm-portal-verify-email/sqm-portal-verify-email.js +1 -1
  44. package/dist/collection/components/sqm-program-menu/sqm-program-menu.js +0 -6
  45. package/dist/collection/components/sqm-stencilbook/sqm-stencilbook.js +10 -0
  46. package/dist/collection/stories/ChangePassword.stories.js +72 -2
  47. package/dist/collection/stories/Hero.stories.js +98 -0
  48. package/dist/collection/stories/NewPortal.stories.js +19 -1
  49. package/dist/collection/stories/PortalEmailVerification.stories.js +8 -0
  50. package/dist/collection/stories/PortalFooter.stories.js +21 -0
  51. package/dist/collection/stories/PortalProfile.stories.js +18 -0
  52. package/dist/collection/stories/PortalRegister.stories.js +7 -3
  53. package/dist/collection/stories/PortalResetPassword.stories.js +42 -0
  54. package/dist/collection/stories/PortalTemplates.stories.js +143 -0
  55. package/dist/collection/stories/PoweredByImg.stories.js +14 -0
  56. package/dist/collection/stories/ProgramMenu.stories.js +39 -0
  57. package/dist/collection/stories/Router.stories.js +42 -6
  58. package/dist/collection/stories/UseBigStat.stories.js +1 -0
  59. package/dist/esm/loader.js +1 -1
  60. package/dist/esm/mint-components.js +1 -1
  61. package/dist/esm/{sqm-divided-layout_22.entry.js → sqm-divided-layout_24.entry.js} +3844 -88
  62. package/dist/esm/sqm-hero-view-5b9bbae2.js +75 -0
  63. package/dist/esm/sqm-hero.entry.js +29 -0
  64. package/dist/esm/{sqm-navigation-sidebar-item-view-a75802bb.js → sqm-navigation-sidebar-item-view-000b0afb.js} +2 -2
  65. package/dist/esm/sqm-navigation-sidebar-item.entry.js +3 -3
  66. package/dist/esm/{sqm-portal-change-password-view-8dbe1ea3.js → sqm-portal-change-password-view-24a4adf7.js} +15 -8
  67. package/dist/esm/sqm-portal-change-password.entry.js +59 -4
  68. package/dist/esm/{sqm-portal-email-verification-view-964d21fe.js → sqm-portal-email-verification-view-03495ffa.js} +3 -3
  69. package/dist/esm/sqm-portal-email-verification.entry.js +14 -2
  70. package/dist/esm/sqm-portal-footer-view-728c427c.js +77 -0
  71. package/dist/esm/sqm-portal-footer.entry.js +54 -0
  72. package/dist/esm/{sqm-portal-profile-view-2801882b.js → sqm-portal-profile-view-72e966e2.js} +5 -5
  73. package/dist/esm/sqm-portal-profile.entry.js +25 -7
  74. package/dist/esm/{sqm-portal-reset-password-view-6c1d23eb.js → sqm-portal-reset-password-view-1441849e.js} +10 -6
  75. package/dist/esm/sqm-portal-reset-password.entry.js +42 -4
  76. package/dist/esm/sqm-portal-verify-email.entry.js +1 -1
  77. package/dist/esm-es5/loader.js +1 -1
  78. package/dist/esm-es5/mint-components.js +1 -1
  79. package/dist/esm-es5/sqm-divided-layout_24.entry.js +1 -0
  80. package/dist/esm-es5/sqm-hero-view-5b9bbae2.js +1 -0
  81. package/dist/esm-es5/sqm-hero.entry.js +1 -0
  82. package/dist/esm-es5/sqm-navigation-sidebar-item-view-000b0afb.js +1 -0
  83. package/dist/esm-es5/sqm-navigation-sidebar-item.entry.js +1 -1
  84. package/dist/esm-es5/sqm-portal-change-password-view-24a4adf7.js +1 -0
  85. package/dist/esm-es5/sqm-portal-change-password.entry.js +1 -1
  86. package/dist/esm-es5/sqm-portal-email-verification-view-03495ffa.js +1 -0
  87. package/dist/esm-es5/sqm-portal-email-verification.entry.js +1 -1
  88. package/dist/esm-es5/sqm-portal-footer-view-728c427c.js +1 -0
  89. package/dist/esm-es5/sqm-portal-footer.entry.js +1 -0
  90. package/dist/esm-es5/{sqm-portal-profile-view-2801882b.js → sqm-portal-profile-view-72e966e2.js} +1 -1
  91. package/dist/esm-es5/sqm-portal-profile.entry.js +1 -1
  92. package/dist/esm-es5/sqm-portal-reset-password-view-1441849e.js +1 -0
  93. package/dist/esm-es5/sqm-portal-reset-password.entry.js +1 -1
  94. package/dist/esm-es5/sqm-portal-verify-email.entry.js +1 -1
  95. package/dist/mint-components/mint-components.esm.js +1 -1
  96. package/dist/mint-components/p-0747c54d.system.js +1 -1
  97. package/dist/mint-components/{p-1fd262be.system.js → p-1adc0488.system.js} +1 -1
  98. package/dist/mint-components/p-20fa60f6.system.entry.js +1 -0
  99. package/dist/mint-components/p-2addaaff.system.entry.js +1 -0
  100. package/dist/mint-components/p-3a9d8fd9.js +1 -0
  101. package/dist/mint-components/p-3adace56.entry.js +1 -0
  102. package/dist/mint-components/p-51db87f4.js +1 -0
  103. package/dist/mint-components/p-5442b8ad.js +1 -0
  104. package/dist/mint-components/p-609d6b60.system.entry.js +1 -0
  105. package/dist/mint-components/p-634d5bcc.entry.js +222 -0
  106. package/dist/mint-components/p-659298ed.system.entry.js +1 -0
  107. package/dist/mint-components/p-69e263e0.entry.js +1 -0
  108. package/dist/mint-components/p-6dfcecca.entry.js +33 -0
  109. package/dist/mint-components/p-70dd58a4.system.js +1 -0
  110. package/dist/mint-components/p-759095b4.entry.js +1 -0
  111. package/dist/mint-components/p-79e5f02c.entry.js +1 -0
  112. package/dist/mint-components/p-875d1fdc.system.entry.js +1 -0
  113. package/dist/mint-components/p-8a9ebc3f.system.entry.js +1 -0
  114. package/dist/mint-components/p-8dc6f789.js +1 -0
  115. package/dist/mint-components/p-a741d57c.system.js +1 -0
  116. package/dist/mint-components/p-b7159234.system.js +1 -0
  117. package/dist/mint-components/p-c196dc61.js +1 -0
  118. package/dist/mint-components/{p-eb944c84.system.js → p-c366f729.system.js} +1 -1
  119. package/dist/mint-components/p-c5c2d834.system.js +1 -0
  120. package/dist/mint-components/p-d24845cd.js +1 -0
  121. package/dist/mint-components/{p-5d46f5cc.entry.js → p-d37839f3.entry.js} +1 -1
  122. package/dist/mint-components/p-d441144e.js +1 -0
  123. package/dist/mint-components/{p-0396ec57.system.entry.js → p-d65a1cfd.system.entry.js} +1 -1
  124. package/dist/mint-components/p-d95dc3f1.system.js +1 -0
  125. package/dist/mint-components/p-dfcc1950.entry.js +1 -0
  126. package/dist/mint-components/p-e48cd2c5.system.entry.js +1 -0
  127. package/dist/mint-components/p-e6ce03b2.system.entry.js +1 -0
  128. package/dist/mint-components/p-fa4d1c58.entry.js +1 -0
  129. package/dist/types/components/sqm-hero/sqm-hero-view.d.ts +13 -0
  130. package/dist/types/components/sqm-hero/sqm-hero.d.ts +16 -0
  131. package/dist/types/components/sqm-portal-change-password/sqm-portal-change-password-view.d.ts +10 -0
  132. package/dist/types/components/sqm-portal-change-password/sqm-portal-change-password.d.ts +32 -0
  133. package/dist/types/components/sqm-portal-change-password/usePortalChangePassword.d.ts +11 -1
  134. package/dist/types/components/sqm-portal-email-verification/sqm-portal-email-verification-view.d.ts +2 -0
  135. package/dist/types/components/sqm-portal-email-verification/sqm-portal-email-verification.d.ts +9 -1
  136. package/dist/types/components/sqm-portal-email-verification/usePortalEmailVerification.d.ts +2 -0
  137. package/dist/types/components/sqm-portal-footer/PoweredByImg.d.ts +7 -0
  138. package/dist/types/components/sqm-portal-footer/sqm-portal-footer-view.d.ts +16 -0
  139. package/dist/types/components/sqm-portal-footer/sqm-portal-footer.d.ts +57 -0
  140. package/dist/types/components/sqm-portal-profile/sqm-portal-profile-view.d.ts +3 -0
  141. package/dist/types/components/sqm-portal-profile/sqm-portal-profile.d.ts +17 -5
  142. package/dist/types/components/sqm-portal-profile/usePortalProfile.d.ts +3 -0
  143. package/dist/types/components/sqm-portal-register/sqm-portal-register-view.d.ts +1 -0
  144. package/dist/types/components/sqm-portal-register/sqm-portal-register.d.ts +4 -0
  145. package/dist/types/components/sqm-portal-reset-password/sqm-portal-reset-password-view.d.ts +7 -0
  146. package/dist/types/components/sqm-portal-reset-password/sqm-portal-reset-password.d.ts +24 -0
  147. package/dist/types/components/sqm-portal-reset-password/usePortalResetPassword.d.ts +2 -4
  148. package/dist/types/components.d.ts +314 -12
  149. package/dist/types/saasquatch.d.ts +1 -1
  150. package/dist/types/stories/Hero.stories.d.ts +11 -0
  151. package/dist/types/stories/PortalFooter.stories.d.ts +10 -0
  152. package/dist/types/stories/PortalTemplates.stories.d.ts +88 -0
  153. package/dist/types/stories/PoweredByImg.stories.d.ts +7 -0
  154. package/dist/types/stories/ProgramMenu.stories.d.ts +28 -0
  155. package/dist/types/stories/Router.stories.d.ts +24 -3
  156. package/dist/types/stories/UseBigStat.stories.d.ts +6 -0
  157. package/dist/types/stories/templates.d.ts +4 -0
  158. package/grapesjs/grapesjs.js +1 -1
  159. package/package.json +2 -1
  160. package/dist/cjs/sqm-portal-login-view-20530cd5.js +0 -53
  161. package/dist/cjs/sqm-portal-login.cjs.entry.js +0 -119
  162. package/dist/cjs/sqm-program-menu.cjs.entry.js +0 -57
  163. package/dist/collection/components/sqm-program-menu/sqm-program-menu.css +0 -25
  164. package/dist/esm/sqm-portal-login-view-7e56a959.js +0 -51
  165. package/dist/esm/sqm-portal-login.entry.js +0 -115
  166. package/dist/esm/sqm-program-menu.entry.js +0 -53
  167. package/dist/esm-es5/sqm-divided-layout_22.entry.js +0 -1
  168. package/dist/esm-es5/sqm-navigation-sidebar-item-view-a75802bb.js +0 -1
  169. package/dist/esm-es5/sqm-portal-change-password-view-8dbe1ea3.js +0 -1
  170. package/dist/esm-es5/sqm-portal-email-verification-view-964d21fe.js +0 -1
  171. package/dist/esm-es5/sqm-portal-login-view-7e56a959.js +0 -1
  172. package/dist/esm-es5/sqm-portal-login.entry.js +0 -1
  173. package/dist/esm-es5/sqm-portal-reset-password-view-6c1d23eb.js +0 -1
  174. package/dist/esm-es5/sqm-program-menu.entry.js +0 -1
  175. package/dist/mint-components/p-18142b08.system.entry.js +0 -1
  176. package/dist/mint-components/p-2019910e.system.entry.js +0 -1
  177. package/dist/mint-components/p-3f40e878.js +0 -1
  178. package/dist/mint-components/p-42ca40ee.system.entry.js +0 -1
  179. package/dist/mint-components/p-4a4f97e3.system.js +0 -1
  180. package/dist/mint-components/p-4e298f2f.entry.js +0 -1
  181. package/dist/mint-components/p-4f7e972b.entry.js +0 -222
  182. package/dist/mint-components/p-511ee8d5.js +0 -1
  183. package/dist/mint-components/p-5c2d4489.entry.js +0 -33
  184. package/dist/mint-components/p-6dcb4084.js +0 -1
  185. package/dist/mint-components/p-6edab0e1.js +0 -1
  186. package/dist/mint-components/p-7b5f70cf.system.entry.js +0 -1
  187. package/dist/mint-components/p-7cf1b6bc.system.js +0 -1
  188. package/dist/mint-components/p-8a647b42.entry.js +0 -1
  189. package/dist/mint-components/p-8a9e36b0.entry.js +0 -1
  190. package/dist/mint-components/p-9ec68457.system.js +0 -1
  191. package/dist/mint-components/p-a19cb5dc.entry.js +0 -1
  192. package/dist/mint-components/p-ac1285f3.js +0 -1
  193. package/dist/mint-components/p-aca6d934.system.entry.js +0 -1
  194. package/dist/mint-components/p-ae8f2817.entry.js +0 -1
  195. package/dist/mint-components/p-bcd56164.system.entry.js +0 -1
  196. package/dist/mint-components/p-cccfe42a.system.js +0 -1
  197. package/dist/mint-components/p-d2dfc374.js +0 -1
  198. package/dist/mint-components/p-db23f907.system.entry.js +0 -1
  199. package/dist/mint-components/p-e896917e.entry.js +0 -1
  200. package/dist/mint-components/p-f305ea91.system.entry.js +0 -1
@@ -8,14 +8,44 @@ export default {
8
8
  },
9
9
  };
10
10
  const defaultProps = {
11
- states: { open: false, loading: false, success: false, error: "" },
11
+ states: {
12
+ open: false,
13
+ loading: false,
14
+ success: false,
15
+ error: "",
16
+ content: {
17
+ modalChangePasswordHeader: "Change Password",
18
+ cancelText: "Cancel",
19
+ changePasswordButtonText: "Change Password",
20
+ passwordFieldLabel: "Password",
21
+ confirmPasswordFieldLabel: "Confirm new password",
22
+ successMessage: "Your password has been updated.",
23
+ portalChangePasswordHeader: "Password",
24
+ portalChangePasswordButtonText: "Change your password...",
25
+ },
26
+ },
12
27
  callbacks: {
13
28
  setOpen: (o) => console.log(o),
14
29
  submit: (e) => console.log("Submit", e),
15
30
  },
16
31
  };
17
32
  const openProps = {
18
- states: { open: true, loading: false, success: false, error: "" },
33
+ states: {
34
+ open: true,
35
+ loading: false,
36
+ success: false,
37
+ error: "",
38
+ content: {
39
+ modalChangePasswordHeader: "Change Password",
40
+ cancelText: "Cancel",
41
+ changePasswordButtonText: "Change Password",
42
+ passwordFieldLabel: "Password",
43
+ confirmPasswordFieldLabel: "Confirm new password",
44
+ successMessage: "Your password has been updated.",
45
+ portalChangePasswordHeader: "Password",
46
+ portalChangePasswordButtonText: "Change your password...",
47
+ },
48
+ },
19
49
  callbacks: {
20
50
  setOpen: (o) => console.log(o),
21
51
  submit: (e) => console.log("Submit", e),
@@ -27,6 +57,16 @@ const errorProps = {
27
57
  loading: false,
28
58
  success: false,
29
59
  error: "Network error. Please try again.",
60
+ content: {
61
+ modalChangePasswordHeader: "Change Password",
62
+ cancelText: "Cancel",
63
+ changePasswordButtonText: "Change Password",
64
+ passwordFieldLabel: "Password",
65
+ confirmPasswordFieldLabel: "Confirm new password",
66
+ successMessage: "Your password has been updated.",
67
+ portalChangePasswordHeader: "Password",
68
+ portalChangePasswordButtonText: "Change your password...",
69
+ },
30
70
  },
31
71
  callbacks: {
32
72
  setOpen: (o) => console.log(o),
@@ -39,6 +79,16 @@ const passwordErrorProps = {
39
79
  loading: false,
40
80
  success: false,
41
81
  error: "Passwords do not match.",
82
+ content: {
83
+ modalChangePasswordHeader: "Change Password",
84
+ cancelText: "Cancel",
85
+ changePasswordButtonText: "Change Password",
86
+ passwordFieldLabel: "Password",
87
+ confirmPasswordFieldLabel: "Confirm new password",
88
+ successMessage: "Your password has been updated.",
89
+ portalChangePasswordHeader: "Password",
90
+ portalChangePasswordButtonText: "Change your password...",
91
+ },
42
92
  },
43
93
  callbacks: {
44
94
  setOpen: (o) => console.log(o),
@@ -51,6 +101,16 @@ const loadingProps = {
51
101
  loading: true,
52
102
  success: false,
53
103
  error: "",
104
+ content: {
105
+ modalChangePasswordHeader: "Change Password",
106
+ cancelText: "Cancel",
107
+ changePasswordButtonText: "Change Password",
108
+ passwordFieldLabel: "Password",
109
+ confirmPasswordFieldLabel: "Confirm new password",
110
+ successMessage: "Your password has been updated.",
111
+ portalChangePasswordHeader: "Password",
112
+ portalChangePasswordButtonText: "Change your password...",
113
+ },
54
114
  },
55
115
  callbacks: {
56
116
  setOpen: (o) => console.log(o),
@@ -63,6 +123,16 @@ const successProps = {
63
123
  loading: false,
64
124
  success: true,
65
125
  error: "",
126
+ content: {
127
+ modalChangePasswordHeader: "Change Password",
128
+ cancelText: "Cancel",
129
+ changePasswordButtonText: "Change Password",
130
+ passwordFieldLabel: "Password",
131
+ confirmPasswordFieldLabel: "Confirm new password",
132
+ successMessage: "Your password has been updated.",
133
+ portalChangePasswordHeader: "Password",
134
+ portalChangePasswordButtonText: "Change your password...",
135
+ },
66
136
  },
67
137
  callbacks: {
68
138
  setOpen: (o) => console.log(o),
@@ -0,0 +1,98 @@
1
+ import { h } from "@stencil/core";
2
+ import { HeroView } from "../components/sqm-hero/sqm-hero-view";
3
+ export default {
4
+ title: "Hero Layout",
5
+ parameters: {
6
+ // scenario,
7
+ },
8
+ };
9
+ export const LoginOneColumn = () => {
10
+ const props = {
11
+ states: {
12
+ columns: 1,
13
+ wrapDirection: "wrap",
14
+ },
15
+ content: {
16
+ primaryColumn: [
17
+ h("h1", { style: { textAlign: "center" } }, "Get Referring!"),
18
+ h("sqm-portal-login", null)
19
+ ]
20
+ },
21
+ };
22
+ return (h("div", { style: { height: "800px" } },
23
+ h(HeroView, Object.assign({}, props))));
24
+ };
25
+ export const LoginOneColumnWithColor = () => {
26
+ const props = {
27
+ states: {
28
+ columns: 1,
29
+ wrapDirection: "wrap",
30
+ background: "LightSlateGrey",
31
+ },
32
+ content: {
33
+ primaryColumn: h("sqm-portal-login", null),
34
+ },
35
+ };
36
+ return (h("div", { style: { height: "800px" } },
37
+ h(HeroView, Object.assign({}, props))));
38
+ };
39
+ export const LoginOneColumnWithImage = () => {
40
+ const props = {
41
+ states: {
42
+ columns: 1,
43
+ wrapDirection: "wrap",
44
+ background: "https://images.unsplash.com/photo-1599676821464-3555954838dc?ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&ixlib=rb-1.2.1&auto=format&fit=crop&w=1939&q=80",
45
+ },
46
+ content: { primaryColumn: h("sqm-portal-login", null) },
47
+ };
48
+ return (h("div", { style: { height: "800px" } },
49
+ h(HeroView, Object.assign({}, props))));
50
+ };
51
+ export const TwoColumnLogin = () => {
52
+ const props = {
53
+ states: {
54
+ columns: 2,
55
+ wrapDirection: "wrap",
56
+ },
57
+ content: {
58
+ primaryColumn: (h("sqm-portal-login", { style: { width: "85%" } })),
59
+ secondaryColumn: (h("div", { style: { width: "85%" } },
60
+ h("h1", { style: { textAlign: "center" } }, "Get Referring!"),
61
+ 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."))),
62
+ },
63
+ };
64
+ return (h("div", { style: { height: "800px" } },
65
+ h(HeroView, Object.assign({}, props))));
66
+ };
67
+ export const TwoColumnLoginReverseWrap = () => {
68
+ const props = {
69
+ states: {
70
+ columns: 2,
71
+ wrapDirection: "wrap-reverse",
72
+ },
73
+ content: {
74
+ primaryColumn: (h("sqm-portal-login", { style: { width: "85%" } })),
75
+ secondaryColumn: (h("div", { style: { width: "85%" } },
76
+ h("h1", { style: { textAlign: "center" } }, "Get Referring!"),
77
+ 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."))),
78
+ },
79
+ };
80
+ return (h("div", { style: { height: "800px" } },
81
+ h(HeroView, Object.assign({}, props))));
82
+ };
83
+ export const TwoColumnLoginWithImage = () => {
84
+ const props = {
85
+ states: {
86
+ columns: 2,
87
+ wrapDirection: "wrap",
88
+ },
89
+ content: {
90
+ primaryColumn: (h("div", { style: { width: "85%" } },
91
+ h("h1", { style: { textAlign: "center" } }, "Get Referring!"),
92
+ h("sqm-portal-login", null))),
93
+ secondaryColumn: (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" })),
94
+ },
95
+ };
96
+ return (h("div", { style: { height: "800px" } },
97
+ h(HeroView, Object.assign({}, props))));
98
+ };
@@ -197,6 +197,9 @@ export const EditProfile = () => {
197
197
  lastnametext: "Last Name",
198
198
  emailtext: "Email",
199
199
  countrytext: "Country",
200
+ editProfileHeader: "Edit your profile",
201
+ editProfileSubHeader: "Personal Information",
202
+ submitChangeButtonText: "Submit Changes",
200
203
  },
201
204
  formState: {
202
205
  country: "Canada",
@@ -212,7 +215,22 @@ export const EditProfile = () => {
212
215
  },
213
216
  })),
214
217
  h(PortalChangePasswordView, Object.assign({}, {
215
- states: { open: true, error: "", loading: false, success: false },
218
+ states: {
219
+ open: true,
220
+ error: "",
221
+ loading: false,
222
+ success: false,
223
+ content: {
224
+ modalChangePasswordHeader: "Change Password",
225
+ cancelText: "Cancel",
226
+ changePasswordButtonText: "Change Password",
227
+ passwordFieldLabel: "Password",
228
+ confirmPasswordFieldLabel: "Confirm new password",
229
+ successMessage: "Your password has been updated.",
230
+ portalChangePasswordHeader: "Password",
231
+ portalChangePasswordButtonText: "Change your password...",
232
+ },
233
+ },
216
234
  callbacks: {
217
235
  setOpen: () => console.log("open"),
218
236
  submit: () => console.log("submit"),
@@ -19,6 +19,8 @@ const defaultProps = {
19
19
  content: {
20
20
  email: "email@example.com",
21
21
  verifyMessage: "A verification email was sent to {email}. Please verify your email to continue to the portal.",
22
+ emailVerificationHeader: "Verify your email",
23
+ resendEmailButtonText: "Re-send Email",
22
24
  },
23
25
  };
24
26
  const errorProps = {
@@ -33,6 +35,8 @@ const errorProps = {
33
35
  content: {
34
36
  email: "email@example.com",
35
37
  verifyMessage: "A verification email was sent to {email}. Please verify your email to continue to the portal.",
38
+ emailVerificationHeader: "Verify your email",
39
+ resendEmailButtonText: "Re-send Email",
36
40
  },
37
41
  };
38
42
  const loadingProps = {
@@ -47,6 +51,8 @@ const loadingProps = {
47
51
  content: {
48
52
  email: "email@example.com",
49
53
  verifyMessage: "A verification email was sent to {email}. Please verify your email to continue to the portal.",
54
+ emailVerificationHeader: "Verify your email",
55
+ resendEmailButtonText: "Re-send Email",
50
56
  },
51
57
  };
52
58
  const successProps = {
@@ -61,6 +67,8 @@ const successProps = {
61
67
  content: {
62
68
  email: "email@example.com",
63
69
  verifyMessage: "A verification email was sent to {email}. Please verify your email to continue to the portal.",
70
+ emailVerificationHeader: "Verify your email",
71
+ resendEmailButtonText: "Re-send Email",
64
72
  },
65
73
  };
66
74
  export const Default = () => h(PortalEmailVerificationView, Object.assign({}, defaultProps));
@@ -0,0 +1,21 @@
1
+ import { h } from "@stencil/core";
2
+ import { PortalFooterView } from "../components/sqm-portal-footer/sqm-portal-footer-view";
3
+ export default {
4
+ title: "Portal Footer",
5
+ parameters: {},
6
+ };
7
+ const defaultProps = {
8
+ supportEmail: "support@example.com",
9
+ supportText: "For program support, contact {email}",
10
+ showPoweredBy: true,
11
+ poweredByLink: "https://saasquatch.com",
12
+ paddingTop: "large",
13
+ paddingRight: "large",
14
+ paddingBottom: "large",
15
+ paddingLeft: "large",
16
+ };
17
+ export const DefaultFooter = () => h(PortalFooterView, Object.assign({}, defaultProps));
18
+ export const FooterWithTerms = () => (h(PortalFooterView, Object.assign({}, defaultProps, { termsLink: "https://example.com", termsText: "Terms and Conditions" })));
19
+ export const FooterWithFAQ = () => (h(PortalFooterView, Object.assign({}, defaultProps, { faqLink: "https://example.com", faqText: "FAQ" })));
20
+ export const FooterWithTermsAndFAQ = () => (h(PortalFooterView, Object.assign({}, defaultProps, { termsLink: "https://example.com", termsText: "Terms and Conditions", faqLink: "https://example.com", faqText: "FAQ" })));
21
+ export const FooterNoPoweredBy = () => (h(PortalFooterView, Object.assign({}, defaultProps, { termsLink: "https://example.com", termsText: "Terms and Conditions", faqLink: "https://example.com", faqText: "FAQ", showPoweredBy: false })));
@@ -28,6 +28,9 @@ const defaultProps = {
28
28
  lastnametext: "Last Name",
29
29
  emailtext: "Email",
30
30
  countrytext: "Country",
31
+ editProfileHeader: "Edit your profile",
32
+ editProfileSubHeader: "Personal Information",
33
+ submitChangeButtonText: "Submit Changes",
31
34
  },
32
35
  formState: {
33
36
  country: "Canada",
@@ -61,6 +64,9 @@ const noCountry = {
61
64
  lastnametext: "Last Name",
62
65
  emailtext: "Email",
63
66
  countrytext: "Country",
67
+ editProfileHeader: "Edit your profile",
68
+ editProfileSubHeader: "Personal Information",
69
+ submitChangeButtonText: "Submit Changes",
64
70
  },
65
71
  formState: {
66
72
  country: "Canada",
@@ -94,6 +100,9 @@ const loadingProps = {
94
100
  lastnametext: "Last Name",
95
101
  emailtext: "Email",
96
102
  countrytext: "Country",
103
+ editProfileHeader: "Edit your profile",
104
+ editProfileSubHeader: "Personal Information",
105
+ submitChangeButtonText: "Submit Changes",
97
106
  },
98
107
  formState: {
99
108
  country: "Canada",
@@ -127,6 +136,9 @@ const disabledProps = {
127
136
  lastnametext: "Last Name",
128
137
  emailtext: "Email",
129
138
  countrytext: "Country",
139
+ editProfileHeader: "Edit your profile",
140
+ editProfileSubHeader: "Personal Information",
141
+ submitChangeButtonText: "Submit Changes",
130
142
  },
131
143
  formState: {
132
144
  country: "Canada",
@@ -160,6 +172,9 @@ const errorProps = {
160
172
  lastnametext: "Last Name",
161
173
  emailtext: "Email",
162
174
  countrytext: "Country",
175
+ editProfileHeader: "Edit your profile",
176
+ editProfileSubHeader: "Personal Information",
177
+ submitChangeButtonText: "Submit Changes",
163
178
  },
164
179
  formState: {
165
180
  country: "Canada",
@@ -193,6 +208,9 @@ const successProps = {
193
208
  lastnametext: "Last Name",
194
209
  emailtext: "Email",
195
210
  countrytext: "Country",
211
+ editProfileHeader: "Edit your profile",
212
+ editProfileSubHeader: "Personal Information",
213
+ submitChangeButtonText: "Submit Changes",
196
214
  },
197
215
  formState: {
198
216
  country: "Canada",
@@ -17,7 +17,7 @@ const defaultProps = {
17
17
  refs: {
18
18
  formRef: {},
19
19
  },
20
- content: { pageLabel: "Register" },
20
+ content: { pageLabel: "Register", confirmPasswordLabel: "Confirm Password" },
21
21
  };
22
22
  const errorProps = {
23
23
  states: {
@@ -33,7 +33,10 @@ const errorProps = {
33
33
  refs: {
34
34
  formRef: {},
35
35
  },
36
- content: { pageLabel: "Register" },
36
+ content: {
37
+ pageLabel: "Register",
38
+ confirmPasswordLabel: "Confirm Password",
39
+ },
37
40
  };
38
41
  const loadingProps = {
39
42
  states: {
@@ -49,7 +52,7 @@ const loadingProps = {
49
52
  refs: {
50
53
  formRef: {},
51
54
  },
52
- content: { pageLabel: "Register" },
55
+ content: { pageLabel: "Register", confirmPasswordLabel: "Confirm Password" },
53
56
  };
54
57
  const slottedProps = {
55
58
  states: {
@@ -67,6 +70,7 @@ const slottedProps = {
67
70
  },
68
71
  content: {
69
72
  pageLabel: "Register",
73
+ confirmPasswordLabel: "Confirm Password",
70
74
  formData: (h("div", null,
71
75
  h("sl-input", { style: { marginBottom: "var(--sl-spacing-x-large)" }, exportparts: "label: input-label", label: "Slotted Input", required: true }),
72
76
  h("sl-input", { exportparts: "label: input-label", label: "Slotted Input 2", required: true }))),
@@ -15,6 +15,13 @@ const defaultProps = {
15
15
  confirmPassword: true,
16
16
  oobCodeValidating: false,
17
17
  oobCodeValid: true,
18
+ content: {
19
+ passwordResetHeader: "Password reset",
20
+ resetPasswordHeader: "Reset your password",
21
+ continueButtonText: "Continue",
22
+ resetPasswordButtonText: "Reset Password",
23
+ confirmPasswordFieldLabel: "Confirm Password",
24
+ },
18
25
  },
19
26
  callbacks: {
20
27
  submit: async (e) => await e,
@@ -30,6 +37,13 @@ const defaultPropsNoConfirm = {
30
37
  confirmPassword: false,
31
38
  oobCodeValidating: false,
32
39
  oobCodeValid: true,
40
+ content: {
41
+ passwordResetHeader: "Password reset",
42
+ resetPasswordHeader: "Reset your password",
43
+ continueButtonText: "Continue",
44
+ resetPasswordButtonText: "Reset Password",
45
+ confirmPasswordFieldLabel: "Confirm Password",
46
+ },
33
47
  },
34
48
  callbacks: {
35
49
  submit: async (e) => await e,
@@ -45,6 +59,13 @@ const errorProps = {
45
59
  confirmPassword: true,
46
60
  oobCodeValidating: false,
47
61
  oobCodeValid: true,
62
+ content: {
63
+ passwordResetHeader: "Password reset",
64
+ resetPasswordHeader: "Reset your password",
65
+ continueButtonText: "Continue",
66
+ resetPasswordButtonText: "Reset Password",
67
+ confirmPasswordFieldLabel: "Confirm Password",
68
+ },
48
69
  },
49
70
  callbacks: {
50
71
  submit: async (e) => await e,
@@ -60,6 +81,13 @@ const loadingProps = {
60
81
  confirmPassword: true,
61
82
  oobCodeValidating: false,
62
83
  oobCodeValid: true,
84
+ content: {
85
+ passwordResetHeader: "Password reset",
86
+ resetPasswordHeader: "Reset your password",
87
+ continueButtonText: "Continue",
88
+ resetPasswordButtonText: "Reset Password",
89
+ confirmPasswordFieldLabel: "Confirm Password",
90
+ },
63
91
  },
64
92
  callbacks: {
65
93
  submit: async (e) => await e,
@@ -75,6 +103,13 @@ const successProps = {
75
103
  confirmPassword: true,
76
104
  oobCodeValidating: false,
77
105
  oobCodeValid: true,
106
+ content: {
107
+ passwordResetHeader: "Password reset",
108
+ resetPasswordHeader: "Reset your password",
109
+ continueButtonText: "Continue",
110
+ resetPasswordButtonText: "Reset Password",
111
+ confirmPasswordFieldLabel: "Confirm Password",
112
+ },
78
113
  },
79
114
  callbacks: {
80
115
  submit: async (e) => await e,
@@ -90,6 +125,13 @@ const validatingCodeProps = {
90
125
  confirmPassword: true,
91
126
  oobCodeValidating: false,
92
127
  oobCodeValid: false,
128
+ content: {
129
+ passwordResetHeader: "Password reset",
130
+ resetPasswordHeader: "Reset your password",
131
+ continueButtonText: "Continue",
132
+ resetPasswordButtonText: "Reset Password",
133
+ confirmPasswordFieldLabel: "Confirm Password",
134
+ },
93
135
  },
94
136
  callbacks: {
95
137
  submit: async (e) => await e,
@@ -0,0 +1,143 @@
1
+ import { useState } from "@saasquatch/universal-hooks";
2
+ import { h } from "@stencil/core";
3
+ import { createHookStory } from "../components/sqm-stencilbook/HookStoryAddon";
4
+ import portalTemplate from "../templates/Portal.html";
5
+ import portalTemplateWithDashboard from "../templates/PortalWithDashboard.html";
6
+ import multiProgramTemplate from "../templates/MultiProgramPortal.html";
7
+ import multiProgramTemplateWithDashboard from "../templates/MultiProgramPortalWithDashboard.html";
8
+ import dashboardTemplate from "../templates/Dashboard.html";
9
+ import editProfileTemplate from "../templates/EditProfile.html";
10
+ import activityTemplate from "../templates/Activity.html";
11
+ import resetPasswordEmailTemplate from "../templates/ResetPasswordEmail.html";
12
+ import verifyEmailTemplate from "../templates/VerifyEmail.html";
13
+ import loginTemplate from "../templates/Login.html";
14
+ import registerTemplate from "../templates/Register.html";
15
+ import forgotPasswordTemplate from "../templates/ForgotPassword.html";
16
+ import resetPasswordTemplate from "../templates/ResetPassword.html";
17
+ import emailVerifiedTemplate from "../templates/EmailVerified.html";
18
+ import emailVerificationTemplate from "../templates/EmailVerification.html";
19
+ import marked from "marked";
20
+ import LoginReadme from "../components/sqm-portal-login/readme.md";
21
+ import ForgotPasswordReadme from "../components/sqm-portal-forgot-password/readme.md";
22
+ import RegisterReadme from "../components/sqm-portal-register/readme.md";
23
+ import EditProfileReadme from "../components/sqm-portal-profile/readme.md";
24
+ import ResetPasswordReadme from "../components/sqm-portal-reset-password/readme.md";
25
+ import EmailVerificationReadme from "../components/sqm-portal-email-verification/readme.md";
26
+ import EmailVerifiedReadme from "../components/sqm-portal-verify-email/readme.md";
27
+ import { navigation } from "@saasquatch/component-boilerplate";
28
+ export default {
29
+ title: "Templates / Portal",
30
+ };
31
+ // slot="footer"
32
+ // support-email="john@foodservicerewards.com"
33
+ // terms-link="example.com"
34
+ // faq-link="example.com"
35
+ // padding="large"
36
+ // show-powered-by="false"
37
+ // powered-by-link="https://www.saasquatch.com/"
38
+ function useTemplate(templateString) {
39
+ const [editedTemplate, setEditedTemplate] = useState(templateString);
40
+ const [previewTemplate, setPreviewTemplate] = useState(templateString);
41
+ return {
42
+ states: { previewTemplate, editedTemplate },
43
+ callbacks: { setEditedTemplate, setPreviewTemplate },
44
+ };
45
+ }
46
+ function TemplateView(props) {
47
+ const { states, callbacks, readme } = props;
48
+ return [
49
+ h("textarea", { style: { width: "100%", height: "300px" }, onChange: (e) => callbacks.setEditedTemplate(e.target.value) }, states.editedTemplate),
50
+ h("button", { onClick: () => callbacks.setPreviewTemplate(states.editedTemplate) }, "Update Preview"),
51
+ readme ? (h("details", null,
52
+ h("summary", null, "Props readme"),
53
+ h("div", { innerHTML: marked(readme) }))) : (""),
54
+ h("div", { innerHTML: states.previewTemplate }),
55
+ ];
56
+ }
57
+ function Buttons({ callbacks, states, template }) {
58
+ return (h("div", null,
59
+ h("button", { onClick: () => callbacks.setPreviewTemplate(states.editedTemplate) }, "Update Preview"),
60
+ h("button", { style: { marginLeft: "10px" }, onClick: () => callbacks.setPreviewTemplate(template) }, "Preview Dashboard")));
61
+ }
62
+ function DefaultTemplateView(props) {
63
+ const { states, callbacks } = props;
64
+ return (h("div", null,
65
+ h("textarea", { style: { width: "100%", height: "300px" }, onChange: (e) => callbacks.setEditedTemplate(e.target.value) }, states.editedTemplate),
66
+ h(Buttons, { states: states, callbacks: callbacks, template: props.template }),
67
+ h("h2", null, "Navigation"),
68
+ h("div", { style: {
69
+ display: "grid",
70
+ gridTemplateColumns: "repeat(9, 80px)",
71
+ gridGap: "10px",
72
+ } },
73
+ h("button", { onClick: () => navigation.push("/") }, "Dashboard"),
74
+ h("button", { onClick: () => navigation.push("/activity") }, "Activity"),
75
+ h("button", { onClick: () => navigation.push("/editProfile") }, "Edit Profile"),
76
+ h("button", { onClick: () => navigation.push("/login") }, "Login"),
77
+ h("button", { onClick: () => navigation.push("/register") }, "Register"),
78
+ h("button", { onClick: () => navigation.push("/emailVerification") }, "Email Verification"),
79
+ h("button", { onClick: () => navigation.push("/verifyEmail") }, "Verify Email"),
80
+ h("button", { onClick: () => navigation.push("/forgotPassword") }, "Forgot Password"),
81
+ h("button", { onClick: () => navigation.push("/resetPassword") }, "Reset Password")),
82
+ h("br", null),
83
+ h("div", { innerHTML: states.previewTemplate })));
84
+ }
85
+ export const DefaultPortal = createHookStory(() => {
86
+ const { states, callbacks } = useTemplate(portalTemplate);
87
+ return (h(DefaultTemplateView, { states: states, callbacks: callbacks, template: portalTemplateWithDashboard }));
88
+ });
89
+ export const MultiProgramPortal = createHookStory(() => {
90
+ const { states, callbacks } = useTemplate(multiProgramTemplate);
91
+ return (h(DefaultTemplateView, { states: states, callbacks: callbacks, template: multiProgramTemplateWithDashboard }));
92
+ });
93
+ export const Login = createHookStory(() => {
94
+ const { states, callbacks } = useTemplate(loginTemplate);
95
+ return (h(TemplateView, { states: states, callbacks: callbacks, readme: LoginReadme }));
96
+ });
97
+ export const ForgotPassword = createHookStory(() => {
98
+ const { states, callbacks } = useTemplate(forgotPasswordTemplate);
99
+ return (h(TemplateView, { states: states, callbacks: callbacks, readme: ForgotPasswordReadme }));
100
+ });
101
+ export const Register = createHookStory(() => {
102
+ const { states, callbacks } = useTemplate(registerTemplate);
103
+ return (h(TemplateView, { states: states, callbacks: callbacks, readme: RegisterReadme }));
104
+ });
105
+ export const Dashboard = createHookStory(() => {
106
+ const { states, callbacks } = useTemplate(dashboardTemplate);
107
+ return h(TemplateView, { states: states, callbacks: callbacks });
108
+ });
109
+ export const Activity = createHookStory(() => {
110
+ const { states, callbacks } = useTemplate(activityTemplate);
111
+ return h(TemplateView, { states: states, callbacks: callbacks });
112
+ });
113
+ export const EditProfile = createHookStory(() => {
114
+ const { states, callbacks } = useTemplate(editProfileTemplate);
115
+ return (h(TemplateView, { states: states, callbacks: callbacks, readme: EditProfileReadme }));
116
+ });
117
+ export const ResetPassword = createHookStory(() => {
118
+ const { states, callbacks } = useTemplate(resetPasswordTemplate);
119
+ return (h(TemplateView, { states: states, callbacks: callbacks, readme: ResetPasswordReadme }));
120
+ });
121
+ export const EmailVerification = createHookStory(() => {
122
+ const { states, callbacks } = useTemplate(emailVerificationTemplate);
123
+ return (h(TemplateView, { states: states, callbacks: callbacks, readme: EmailVerificationReadme }));
124
+ });
125
+ export const EmailVerified = createHookStory(() => {
126
+ const { states, callbacks } = useTemplate(emailVerifiedTemplate);
127
+ return (h(TemplateView, { states: states, callbacks: callbacks, readme: EmailVerifiedReadme }));
128
+ });
129
+ export const Widget = createHookStory(() => {
130
+ return (h("sqb-widget", { "widget-type": "p/Vacay-referral/w/referrerWidget", demoData: {
131
+ data: {
132
+ html: dashboardTemplate,
133
+ },
134
+ } }));
135
+ });
136
+ export const ResetPasswordEmail = createHookStory(() => {
137
+ const { states, callbacks } = useTemplate(resetPasswordEmailTemplate);
138
+ return h(TemplateView, { states: states, callbacks: callbacks });
139
+ });
140
+ export const VerifyEmail = createHookStory(() => {
141
+ const { states, callbacks } = useTemplate(verifyEmailTemplate);
142
+ return h(TemplateView, { states: states, callbacks: callbacks });
143
+ });
@@ -0,0 +1,14 @@
1
+ import { h } from "@stencil/core";
2
+ import { PoweredByImg } from "../components/sqm-portal-footer/PoweredByImg";
3
+ export default {
4
+ title: "Powered By",
5
+ };
6
+ export const Default = () => {
7
+ return h(PoweredByImg, null);
8
+ };
9
+ export const CustomColor = () => {
10
+ return h(PoweredByImg, { color: "salmon" });
11
+ };
12
+ export const CustomWidthAndHeight = () => {
13
+ return h(PoweredByImg, { width: 300, height: 50 });
14
+ };