@saasquatch/mint-components 1.4.1 → 1.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +14 -2
- package/dist/cjs/sqm-divided-layout_26.cjs.entry.js +18 -8
- package/dist/collection/components/sqm-portal-register/sqm-portal-register-view.js +1 -0
- package/dist/collection/components/sqm-portal-register/sqm-portal-register.js +2 -1
- package/dist/collection/stories/PortalRegister.stories.js +12 -5
- package/dist/esm/sqm-divided-layout_26.entry.js +18 -8
- package/dist/esm-es5/sqm-divided-layout_26.entry.js +1 -1
- package/dist/mint-components/mint-components.esm.js +1 -1
- package/dist/mint-components/p-bf26396f.system.js +1 -1
- package/dist/mint-components/p-c833872f.system.entry.js +1 -0
- package/dist/mint-components/p-db062719.entry.js +230 -0
- package/dist/types/components/sqm-portal-register/sqm-portal-register-view.d.ts +5 -3
- package/dist/types/stories/PortalRegister.stories.d.ts +1 -0
- package/package.json +1 -1
- package/dist/mint-components/p-406bf49b.entry.js +0 -230
- package/dist/mint-components/p-ca71dd2d.system.entry.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,7 +7,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
|
|
11
|
+
## [1.4.2] - 2022-01-14
|
|
12
|
+
|
|
13
|
+
### Changed
|
|
14
|
+
|
|
15
|
+
- Added ability to include slotted content on \<sqm-portal-register> using `slot="terms"`
|
|
16
|
+
- Slotted content is displayed above the registration button
|
|
17
|
+
|
|
18
|
+
## [1.4.1] - 2021-01-17
|
|
11
19
|
|
|
12
20
|
### Fixed
|
|
13
21
|
|
|
@@ -15,6 +23,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
15
23
|
|
|
16
24
|
## [1.4.0] - 2021-12-09
|
|
17
25
|
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
18
28
|
- Updated version of component-boilerplate to prevent rare case of user context being deleted during register
|
|
19
29
|
- Updated version of component-boilerplate to support new registration, password reset, and verify requests
|
|
20
30
|
- Changed components:
|
|
@@ -188,7 +198,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
188
198
|
- \<sqm-popup-container>
|
|
189
199
|
- \<sqm-stencilbook>
|
|
190
200
|
|
|
191
|
-
|
|
201
|
+
|
|
202
|
+
[unreleased]: https://github.com/saasquatch/program-tools/compare/mint-components@1.4.2...HEAD
|
|
203
|
+
[1.4.2]: https://github.com/saasquatch/program-tools/releases/tag/%40saasquatch%2Fmint-components%401.4.2
|
|
192
204
|
[1.4.1]: https://github.com/saasquatch/program-tools/releases/tag/%40saasquatch%2Fmint-components%401.4.1
|
|
193
205
|
[1.4.0]: https://github.com/saasquatch/program-tools/releases/tag/%40saasquatch%2Fmint-components%401.4.0
|
|
194
206
|
[1.3.0]: https://github.com/saasquatch/program-tools/releases/tag/%40saasquatch%2Fmint-components%401.3.0
|
|
@@ -1579,6 +1579,7 @@ function PortalRegisterView(props) {
|
|
|
1579
1579
|
"Cannot be empty",
|
|
1580
1580
|
}
|
|
1581
1581
|
: [])))),
|
|
1582
|
+
content.terms,
|
|
1582
1583
|
index.h("div", { class: sheet$4.classes.ButtonsContainer },
|
|
1583
1584
|
index.h("sl-button", { submit: true, loading: states.loading, exportparts: "base: primarybutton-base", type: "primary" }, content.submitLabel || "Register"),
|
|
1584
1585
|
content.secondaryButton))));
|
|
@@ -5637,6 +5638,7 @@ const PortalRegister = class {
|
|
|
5637
5638
|
const content = {
|
|
5638
5639
|
formData: index.h("slot", { name: "formData" }),
|
|
5639
5640
|
secondaryButton: (index.h("slot", { name: "secondaryButton" }, index.h("sl-button", { type: "text", disabled: states.loading, onClick: () => index_module.mn.push(states.loginPath) }, this.loginLabel))),
|
|
5641
|
+
terms: index.h("slot", { name: "terms" }),
|
|
5640
5642
|
emailLabel: this.emailLabel,
|
|
5641
5643
|
passwordLabel: this.passwordLabel,
|
|
5642
5644
|
submitLabel: this.submitLabel,
|
|
@@ -18067,7 +18069,7 @@ const defaultProps$3 = {
|
|
|
18067
18069
|
loading: false,
|
|
18068
18070
|
confirmPassword: true,
|
|
18069
18071
|
hideInputs: false,
|
|
18070
|
-
loginPath: "/login"
|
|
18072
|
+
loginPath: "/login",
|
|
18071
18073
|
},
|
|
18072
18074
|
callbacks: {
|
|
18073
18075
|
submit: () => console.log("Submit!"),
|
|
@@ -18084,7 +18086,7 @@ const errorProps$1 = {
|
|
|
18084
18086
|
loading: false,
|
|
18085
18087
|
confirmPassword: true,
|
|
18086
18088
|
hideInputs: false,
|
|
18087
|
-
loginPath: "/login"
|
|
18089
|
+
loginPath: "/login",
|
|
18088
18090
|
},
|
|
18089
18091
|
callbacks: {
|
|
18090
18092
|
submit: () => console.log("Submit!"),
|
|
@@ -18104,7 +18106,7 @@ const loadingProps$1 = {
|
|
|
18104
18106
|
loading: true,
|
|
18105
18107
|
confirmPassword: true,
|
|
18106
18108
|
hideInputs: false,
|
|
18107
|
-
loginPath: "/login"
|
|
18109
|
+
loginPath: "/login",
|
|
18108
18110
|
},
|
|
18109
18111
|
callbacks: {
|
|
18110
18112
|
submit: () => console.log("Submit!"),
|
|
@@ -18121,7 +18123,7 @@ const slottedProps = {
|
|
|
18121
18123
|
loading: false,
|
|
18122
18124
|
confirmPassword: true,
|
|
18123
18125
|
hideInputs: false,
|
|
18124
|
-
loginPath: "/login"
|
|
18126
|
+
loginPath: "/login",
|
|
18125
18127
|
},
|
|
18126
18128
|
callbacks: {
|
|
18127
18129
|
submit: () => console.log("Submit!"),
|
|
@@ -18148,11 +18150,18 @@ const FieldsHidden = () => {
|
|
|
18148
18150
|
loading: true,
|
|
18149
18151
|
confirmPassword: true,
|
|
18150
18152
|
hideInputs: true,
|
|
18151
|
-
loginPath: "/login"
|
|
18153
|
+
loginPath: "/login",
|
|
18152
18154
|
},
|
|
18153
18155
|
} }));
|
|
18154
18156
|
};
|
|
18155
|
-
const SlottedInputs = () => index.h(PortalRegisterView, Object.assign({}, slottedProps));
|
|
18157
|
+
const SlottedInputs = () => index.h(PortalRegisterView, Object.assign({}, slottedProps));
|
|
18158
|
+
const TermsAndConditions = () => (index.h(PortalRegisterView, Object.assign({}, defaultProps$3, { content: {
|
|
18159
|
+
...defaultProps$3.content,
|
|
18160
|
+
terms: (index.h("p", null,
|
|
18161
|
+
"By signing up you agree to the",
|
|
18162
|
+
" ",
|
|
18163
|
+
index.h("a", { href: "https://example.com", target: "_blank" }, "Terms and Conditions"))),
|
|
18164
|
+
} })));
|
|
18156
18165
|
|
|
18157
18166
|
const PortalRegister$1 = /*#__PURE__*/Object.freeze({
|
|
18158
18167
|
__proto__: null,
|
|
@@ -18161,7 +18170,8 @@ const PortalRegister$1 = /*#__PURE__*/Object.freeze({
|
|
|
18161
18170
|
RegisterWithError: RegisterWithError,
|
|
18162
18171
|
RegisterLoading: RegisterLoading,
|
|
18163
18172
|
FieldsHidden: FieldsHidden,
|
|
18164
|
-
SlottedInputs: SlottedInputs
|
|
18173
|
+
SlottedInputs: SlottedInputs,
|
|
18174
|
+
TermsAndConditions: TermsAndConditions
|
|
18165
18175
|
});
|
|
18166
18176
|
|
|
18167
18177
|
const scenario = "@author:derek\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 does 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 is shown but an email is 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 is 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 receives a second password reset email\r\n And a success banner is shown stating that their email was sent\r\n\r\n @motivating\r\n Scenario Outline: The email link can be configured to redirect users to a specific base path but defaults to \"/resetPassword\"\r\n Given a user viewing the password reset component\r\n And the component <mayHave> \"redirect-path\" with <value>\r\n When they request a password reset email\r\n And they click the link in the email\r\n Then they are redirected to <redirectPath>\r\n Examples:\r\n | mayHave | value | redirectPath |\r\n | doesn't have | N/A | /resetPassword |\r\n | has | /resetMyPassword | /resetMyPassword |\r\n\r\n @minutae\r\n Scenario Outline: Navigation back to the login page can be customized but defaults to \"/login\"\r\n Given a user viewing the password reset component\r\n And the component <mayHave> \"login-path\" with <value>\r\n Then they see a \"Sign In\" text button\r\n When they click \"Sign In\"\r\n Then they are redirected to <redirectPath>\r\n Examples:\r\n | mayHave | value | redirectPath |\r\n | doesn't have | N/A | /login |\r\n | has | /signin | /signin |";
|
|
@@ -22940,7 +22950,7 @@ const ReferralIframeReadme = "# sqm-referral-iframe\r\n\r\n\r\n\r\n<!-- Auto Gen
|
|
|
22940
22950
|
|
|
22941
22951
|
const ForgotPasswordReadme = "# sqm-portal-forgot-password\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| -------------- | --------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- |\r\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; success: boolean; loginPath: string; }; content?: { secondaryButton: any; messageSlot: any; emailLabel?: string; submitLabel?: string; }; }` | `undefined` |\r\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\r\n| `loginPath` | `login-path` | | `string` | `\"/login\"` |\r\n| `redirectPath` | `redirect-path` | The page that users are redirected to from the password reset email. | `string` | `\"/resetPassword\"` |\r\n| `submitLabel` | `submit-label` | | `string` | `\"Request Password Reset\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-forgot-password --> sqm-form-message\r\n style sqm-portal-forgot-password fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
|
|
22942
22952
|
|
|
22943
|
-
const RegisterReadme = "# sqm-portal-register\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type
|
|
22953
|
+
const RegisterReadme = "# sqm-portal-register\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| -------------------------- | ---------------------------- | ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |\r\n| `confirmPassword` | `confirm-password` | | `boolean` | `false` |\r\n| `confirmPasswordLabel` | `confirm-password-label` | | `string` | `\"Confirm Password\"` |\r\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; confirmPassword: boolean; hideInputs: boolean; validationState?: FormState; enablePasswordValidation?: boolean; loginPath: string; }; content?: { formData?: VNode; terms?: VNode; passwordField?: VNode; secondaryButton?: VNode; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; confirmPasswordLabel: string; }; refs?: { formRef: any; }; }` | `undefined` |\r\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\r\n| `enablePasswordValidation` | `enable-password-validation` | | `boolean` | `true` |\r\n| `hideInputs` | `hide-inputs` | | `boolean` | `false` |\r\n| `loginLabel` | `login-label` | | `string` | `\"Sign in\"` |\r\n| `loginPath` | `login-path` | | `string` | `\"/login\"` |\r\n| `nextPage` | `next-page` | | `string` | `\"/\"` |\r\n| `pageLabel` | `page-label` | | `string` | `\"Register\"` |\r\n| `passwordLabel` | `password-label` | | `string` | `\"Password\"` |\r\n| `redirectPath` | `redirect-path` | The page that users are redirected to from the verification email. | `string` | `\"/verifyEmail\"` |\r\n| `submitLabel` | `submit-label` | | `string` | `\"Register\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Used by\r\n\r\n - [sqm-stencilbook](../sqm-stencilbook)\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n- [sqm-password-field](../sqm-password-field)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-register --> sqm-form-message\r\n sqm-portal-register --> sqm-password-field\r\n sqm-stencilbook --> sqm-portal-register\r\n style sqm-portal-register fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
|
|
22944
22954
|
|
|
22945
22955
|
const EditProfileReadme = "# sqm-portal-profile\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| ------------------------ | --------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |\r\n| `countrytext` | `countrytext` | | `string` | `\"Country\"` |\r\n| `demoData` | -- | | `{ states?: { success: boolean; loading: boolean; submitDisabled: boolean; showCountry: boolean; formState: { country: string; firstName: string; lastName: string; errors: any; error: string; }; user: { id: string; accountId: string; firstName: string; lastName: string; email: string; countryCode: string; }; text: { firstnametext: string; lastnametext: string; emailtext: string; countrytext: string; editProfileHeader: string; editProfileSubHeader: string; submitChangeButtonText: string; }; }; }` | `undefined` |\r\n| `editProfileHeader` | `edit-profile-header` | | `string` | `\"Edit your profile\"` |\r\n| `editProfileSubHeader` | `edit-profile-sub-header` | | `string` | `\"Personal Information\"` |\r\n| `emailtext` | `emailtext` | | `string` | `\"Email\"` |\r\n| `firstnametext` | `firstnametext` | | `string` | `\"First Name\"` |\r\n| `lastnametext` | `lastnametext` | | `string` | `\"Last Name\"` |\r\n| `showCountry` | `show-country` | | `boolean` | `true` |\r\n| `submitChangeButtonText` | `submit-change-button-text` | | `string` | `\"Submit Changes\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-profile --> sqm-form-message\r\n style sqm-portal-profile fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
|
|
22946
22956
|
|
|
@@ -69,6 +69,7 @@ export function PortalRegisterView(props) {
|
|
|
69
69
|
"Cannot be empty",
|
|
70
70
|
}
|
|
71
71
|
: [])))),
|
|
72
|
+
content.terms,
|
|
72
73
|
h("div", { class: sheet.classes.ButtonsContainer },
|
|
73
74
|
h("sl-button", { submit: true, loading: states.loading, exportparts: "base: primarybutton-base", type: "primary" }, content.submitLabel || "Register"),
|
|
74
75
|
content.secondaryButton))));
|
|
@@ -71,6 +71,7 @@ export class PortalRegister {
|
|
|
71
71
|
formData: h("slot", { name: "formData" }),
|
|
72
72
|
secondaryButton: (h("slot", { name: "secondaryButton" },
|
|
73
73
|
h("sl-button", { type: "text", disabled: states.loading, onClick: () => navigation.push(states.loginPath) }, this.loginLabel))),
|
|
74
|
+
terms: h("slot", { name: "terms" }),
|
|
74
75
|
emailLabel: this.emailLabel,
|
|
75
76
|
passwordLabel: this.passwordLabel,
|
|
76
77
|
submitLabel: this.submitLabel,
|
|
@@ -339,7 +340,7 @@ export class PortalRegister {
|
|
|
339
340
|
"mutable": false,
|
|
340
341
|
"complexType": {
|
|
341
342
|
"original": "DemoData<PortalRegisterViewProps>",
|
|
342
|
-
"resolved": "{ states?: { error: string; loading: boolean; confirmPassword: boolean; hideInputs: boolean; validationState?: FormState; enablePasswordValidation?: boolean; loginPath: string; }; content?: { formData?:
|
|
343
|
+
"resolved": "{ states?: { error: string; loading: boolean; confirmPassword: boolean; hideInputs: boolean; validationState?: FormState; enablePasswordValidation?: boolean; loginPath: string; }; content?: { formData?: VNode; terms?: VNode; passwordField?: VNode; secondaryButton?: VNode; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; confirmPasswordLabel: string; }; refs?: { formRef: any; }; }",
|
|
343
344
|
"references": {
|
|
344
345
|
"DemoData": {
|
|
345
346
|
"location": "import",
|
|
@@ -9,7 +9,7 @@ const defaultProps = {
|
|
|
9
9
|
loading: false,
|
|
10
10
|
confirmPassword: true,
|
|
11
11
|
hideInputs: false,
|
|
12
|
-
loginPath: "/login"
|
|
12
|
+
loginPath: "/login",
|
|
13
13
|
},
|
|
14
14
|
callbacks: {
|
|
15
15
|
submit: () => console.log("Submit!"),
|
|
@@ -26,7 +26,7 @@ const errorProps = {
|
|
|
26
26
|
loading: false,
|
|
27
27
|
confirmPassword: true,
|
|
28
28
|
hideInputs: false,
|
|
29
|
-
loginPath: "/login"
|
|
29
|
+
loginPath: "/login",
|
|
30
30
|
},
|
|
31
31
|
callbacks: {
|
|
32
32
|
submit: () => console.log("Submit!"),
|
|
@@ -46,7 +46,7 @@ const loadingProps = {
|
|
|
46
46
|
loading: true,
|
|
47
47
|
confirmPassword: true,
|
|
48
48
|
hideInputs: false,
|
|
49
|
-
loginPath: "/login"
|
|
49
|
+
loginPath: "/login",
|
|
50
50
|
},
|
|
51
51
|
callbacks: {
|
|
52
52
|
submit: () => console.log("Submit!"),
|
|
@@ -63,7 +63,7 @@ const slottedProps = {
|
|
|
63
63
|
loading: false,
|
|
64
64
|
confirmPassword: true,
|
|
65
65
|
hideInputs: false,
|
|
66
|
-
loginPath: "/login"
|
|
66
|
+
loginPath: "/login",
|
|
67
67
|
},
|
|
68
68
|
callbacks: {
|
|
69
69
|
submit: () => console.log("Submit!"),
|
|
@@ -90,8 +90,15 @@ export const FieldsHidden = () => {
|
|
|
90
90
|
loading: true,
|
|
91
91
|
confirmPassword: true,
|
|
92
92
|
hideInputs: true,
|
|
93
|
-
loginPath: "/login"
|
|
93
|
+
loginPath: "/login",
|
|
94
94
|
},
|
|
95
95
|
} }));
|
|
96
96
|
};
|
|
97
97
|
export const SlottedInputs = () => h(PortalRegisterView, Object.assign({}, slottedProps));
|
|
98
|
+
export const TermsAndConditions = () => (h(PortalRegisterView, Object.assign({}, defaultProps, { content: {
|
|
99
|
+
...defaultProps.content,
|
|
100
|
+
terms: (h("p", null,
|
|
101
|
+
"By signing up you agree to the",
|
|
102
|
+
" ",
|
|
103
|
+
h("a", { href: "https://example.com", target: "_blank" }, "Terms and Conditions"))),
|
|
104
|
+
} })));
|
|
@@ -1575,6 +1575,7 @@ function PortalRegisterView(props) {
|
|
|
1575
1575
|
"Cannot be empty",
|
|
1576
1576
|
}
|
|
1577
1577
|
: [])))),
|
|
1578
|
+
content.terms,
|
|
1578
1579
|
h("div", { class: sheet$4.classes.ButtonsContainer },
|
|
1579
1580
|
h("sl-button", { submit: true, loading: states.loading, exportparts: "base: primarybutton-base", type: "primary" }, content.submitLabel || "Register"),
|
|
1580
1581
|
content.secondaryButton))));
|
|
@@ -5633,6 +5634,7 @@ const PortalRegister = class {
|
|
|
5633
5634
|
const content = {
|
|
5634
5635
|
formData: h("slot", { name: "formData" }),
|
|
5635
5636
|
secondaryButton: (h("slot", { name: "secondaryButton" }, h("sl-button", { type: "text", disabled: states.loading, onClick: () => mn.push(states.loginPath) }, this.loginLabel))),
|
|
5637
|
+
terms: h("slot", { name: "terms" }),
|
|
5636
5638
|
emailLabel: this.emailLabel,
|
|
5637
5639
|
passwordLabel: this.passwordLabel,
|
|
5638
5640
|
submitLabel: this.submitLabel,
|
|
@@ -18063,7 +18065,7 @@ const defaultProps$3 = {
|
|
|
18063
18065
|
loading: false,
|
|
18064
18066
|
confirmPassword: true,
|
|
18065
18067
|
hideInputs: false,
|
|
18066
|
-
loginPath: "/login"
|
|
18068
|
+
loginPath: "/login",
|
|
18067
18069
|
},
|
|
18068
18070
|
callbacks: {
|
|
18069
18071
|
submit: () => console.log("Submit!"),
|
|
@@ -18080,7 +18082,7 @@ const errorProps$1 = {
|
|
|
18080
18082
|
loading: false,
|
|
18081
18083
|
confirmPassword: true,
|
|
18082
18084
|
hideInputs: false,
|
|
18083
|
-
loginPath: "/login"
|
|
18085
|
+
loginPath: "/login",
|
|
18084
18086
|
},
|
|
18085
18087
|
callbacks: {
|
|
18086
18088
|
submit: () => console.log("Submit!"),
|
|
@@ -18100,7 +18102,7 @@ const loadingProps$1 = {
|
|
|
18100
18102
|
loading: true,
|
|
18101
18103
|
confirmPassword: true,
|
|
18102
18104
|
hideInputs: false,
|
|
18103
|
-
loginPath: "/login"
|
|
18105
|
+
loginPath: "/login",
|
|
18104
18106
|
},
|
|
18105
18107
|
callbacks: {
|
|
18106
18108
|
submit: () => console.log("Submit!"),
|
|
@@ -18117,7 +18119,7 @@ const slottedProps = {
|
|
|
18117
18119
|
loading: false,
|
|
18118
18120
|
confirmPassword: true,
|
|
18119
18121
|
hideInputs: false,
|
|
18120
|
-
loginPath: "/login"
|
|
18122
|
+
loginPath: "/login",
|
|
18121
18123
|
},
|
|
18122
18124
|
callbacks: {
|
|
18123
18125
|
submit: () => console.log("Submit!"),
|
|
@@ -18144,11 +18146,18 @@ const FieldsHidden = () => {
|
|
|
18144
18146
|
loading: true,
|
|
18145
18147
|
confirmPassword: true,
|
|
18146
18148
|
hideInputs: true,
|
|
18147
|
-
loginPath: "/login"
|
|
18149
|
+
loginPath: "/login",
|
|
18148
18150
|
},
|
|
18149
18151
|
} }));
|
|
18150
18152
|
};
|
|
18151
|
-
const SlottedInputs = () => h(PortalRegisterView, Object.assign({}, slottedProps));
|
|
18153
|
+
const SlottedInputs = () => h(PortalRegisterView, Object.assign({}, slottedProps));
|
|
18154
|
+
const TermsAndConditions = () => (h(PortalRegisterView, Object.assign({}, defaultProps$3, { content: {
|
|
18155
|
+
...defaultProps$3.content,
|
|
18156
|
+
terms: (h("p", null,
|
|
18157
|
+
"By signing up you agree to the",
|
|
18158
|
+
" ",
|
|
18159
|
+
h("a", { href: "https://example.com", target: "_blank" }, "Terms and Conditions"))),
|
|
18160
|
+
} })));
|
|
18152
18161
|
|
|
18153
18162
|
const PortalRegister$1 = /*#__PURE__*/Object.freeze({
|
|
18154
18163
|
__proto__: null,
|
|
@@ -18157,7 +18166,8 @@ const PortalRegister$1 = /*#__PURE__*/Object.freeze({
|
|
|
18157
18166
|
RegisterWithError: RegisterWithError,
|
|
18158
18167
|
RegisterLoading: RegisterLoading,
|
|
18159
18168
|
FieldsHidden: FieldsHidden,
|
|
18160
|
-
SlottedInputs: SlottedInputs
|
|
18169
|
+
SlottedInputs: SlottedInputs,
|
|
18170
|
+
TermsAndConditions: TermsAndConditions
|
|
18161
18171
|
});
|
|
18162
18172
|
|
|
18163
18173
|
const scenario = "@author:derek\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 does 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 is shown but an email is 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 is 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 receives a second password reset email\r\n And a success banner is shown stating that their email was sent\r\n\r\n @motivating\r\n Scenario Outline: The email link can be configured to redirect users to a specific base path but defaults to \"/resetPassword\"\r\n Given a user viewing the password reset component\r\n And the component <mayHave> \"redirect-path\" with <value>\r\n When they request a password reset email\r\n And they click the link in the email\r\n Then they are redirected to <redirectPath>\r\n Examples:\r\n | mayHave | value | redirectPath |\r\n | doesn't have | N/A | /resetPassword |\r\n | has | /resetMyPassword | /resetMyPassword |\r\n\r\n @minutae\r\n Scenario Outline: Navigation back to the login page can be customized but defaults to \"/login\"\r\n Given a user viewing the password reset component\r\n And the component <mayHave> \"login-path\" with <value>\r\n Then they see a \"Sign In\" text button\r\n When they click \"Sign In\"\r\n Then they are redirected to <redirectPath>\r\n Examples:\r\n | mayHave | value | redirectPath |\r\n | doesn't have | N/A | /login |\r\n | has | /signin | /signin |";
|
|
@@ -22936,7 +22946,7 @@ const ReferralIframeReadme = "# sqm-referral-iframe\r\n\r\n\r\n\r\n<!-- Auto Gen
|
|
|
22936
22946
|
|
|
22937
22947
|
const ForgotPasswordReadme = "# sqm-portal-forgot-password\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| -------------- | --------------- | -------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- |\r\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; success: boolean; loginPath: string; }; content?: { secondaryButton: any; messageSlot: any; emailLabel?: string; submitLabel?: string; }; }` | `undefined` |\r\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\r\n| `loginPath` | `login-path` | | `string` | `\"/login\"` |\r\n| `redirectPath` | `redirect-path` | The page that users are redirected to from the password reset email. | `string` | `\"/resetPassword\"` |\r\n| `submitLabel` | `submit-label` | | `string` | `\"Request Password Reset\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-forgot-password --> sqm-form-message\r\n style sqm-portal-forgot-password fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
|
|
22938
22948
|
|
|
22939
|
-
const RegisterReadme = "# sqm-portal-register\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type
|
|
22949
|
+
const RegisterReadme = "# sqm-portal-register\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| -------------------------- | ---------------------------- | ------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- |\r\n| `confirmPassword` | `confirm-password` | | `boolean` | `false` |\r\n| `confirmPasswordLabel` | `confirm-password-label` | | `string` | `\"Confirm Password\"` |\r\n| `demoData` | -- | | `{ states?: { error: string; loading: boolean; confirmPassword: boolean; hideInputs: boolean; validationState?: FormState; enablePasswordValidation?: boolean; loginPath: string; }; content?: { formData?: VNode; terms?: VNode; passwordField?: VNode; secondaryButton?: VNode; emailLabel?: string; passwordLabel?: string; submitLabel?: string; pageLabel?: string; confirmPasswordLabel: string; }; refs?: { formRef: any; }; }` | `undefined` |\r\n| `emailLabel` | `email-label` | | `string` | `\"Email\"` |\r\n| `enablePasswordValidation` | `enable-password-validation` | | `boolean` | `true` |\r\n| `hideInputs` | `hide-inputs` | | `boolean` | `false` |\r\n| `loginLabel` | `login-label` | | `string` | `\"Sign in\"` |\r\n| `loginPath` | `login-path` | | `string` | `\"/login\"` |\r\n| `nextPage` | `next-page` | | `string` | `\"/\"` |\r\n| `pageLabel` | `page-label` | | `string` | `\"Register\"` |\r\n| `passwordLabel` | `password-label` | | `string` | `\"Password\"` |\r\n| `redirectPath` | `redirect-path` | The page that users are redirected to from the verification email. | `string` | `\"/verifyEmail\"` |\r\n| `submitLabel` | `submit-label` | | `string` | `\"Register\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Used by\r\n\r\n - [sqm-stencilbook](../sqm-stencilbook)\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n- [sqm-password-field](../sqm-password-field)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-register --> sqm-form-message\r\n sqm-portal-register --> sqm-password-field\r\n sqm-stencilbook --> sqm-portal-register\r\n style sqm-portal-register fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
|
|
22940
22950
|
|
|
22941
22951
|
const EditProfileReadme = "# sqm-portal-profile\r\n\r\n\r\n\r\n<!-- Auto Generated Below -->\r\n\r\n\r\n## Properties\r\n\r\n| Property | Attribute | Description | Type | Default |\r\n| ------------------------ | --------------------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------ |\r\n| `countrytext` | `countrytext` | | `string` | `\"Country\"` |\r\n| `demoData` | -- | | `{ states?: { success: boolean; loading: boolean; submitDisabled: boolean; showCountry: boolean; formState: { country: string; firstName: string; lastName: string; errors: any; error: string; }; user: { id: string; accountId: string; firstName: string; lastName: string; email: string; countryCode: string; }; text: { firstnametext: string; lastnametext: string; emailtext: string; countrytext: string; editProfileHeader: string; editProfileSubHeader: string; submitChangeButtonText: string; }; }; }` | `undefined` |\r\n| `editProfileHeader` | `edit-profile-header` | | `string` | `\"Edit your profile\"` |\r\n| `editProfileSubHeader` | `edit-profile-sub-header` | | `string` | `\"Personal Information\"` |\r\n| `emailtext` | `emailtext` | | `string` | `\"Email\"` |\r\n| `firstnametext` | `firstnametext` | | `string` | `\"First Name\"` |\r\n| `lastnametext` | `lastnametext` | | `string` | `\"Last Name\"` |\r\n| `showCountry` | `show-country` | | `boolean` | `true` |\r\n| `submitChangeButtonText` | `submit-change-button-text` | | `string` | `\"Submit Changes\"` |\r\n\r\n\r\n## Dependencies\r\n\r\n### Depends on\r\n\r\n- [sqm-form-message](../sqm-form-message)\r\n\r\n### Graph\r\n```mermaid\r\ngraph TD;\r\n sqm-portal-profile --> sqm-form-message\r\n style sqm-portal-profile fill:#f9f,stroke:#333,stroke-width:4px\r\n```\r\n\r\n----------------------------------------------\r\n\r\n*Built with [StencilJS](https://stenciljs.com/)*\r\n";
|
|
22942
22952
|
|