@salesforcedevs/dw-components 1.3.151-canary.1 → 1.3.155
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +12 -0
- package/lwc.config.json +0 -3
- package/package.json +3 -2
- package/src/modules/dw/blogsGrid/blogsGrid.css +2 -2
- package/src/modules/dw/contentArchive/contentArchive.css +1 -1
- package/src/modules/dw/contentArchive/contentArchive.html +2 -2
- package/src/modules/dw/podcastSubscription/podcastSubscription.css +2 -2
- package/src/modules/dw/podcastSubscription/podcastSubscription.ts +9 -15
- package/src/modules/dw/slackCta/slackCta.css +2 -2
- package/src/modules/dw/tbidLoginMenu/tbidLoginMenu.html +2 -2
- package/src/modules/dw/j2sCardSequence/j2sCardSequence.css +0 -14
- package/src/modules/dw/j2sCardSequence/j2sCardSequence.html +0 -37
- package/src/modules/dw/j2sCardSequence/j2sCardSequence.ts +0 -403
- package/src/modules/dw/j2sCardSequence/mockProps.ts +0 -61
- package/src/modules/dw/j2sCardSequenceStep/j2sCardSequenceStep.css +0 -47
- package/src/modules/dw/j2sCardSequenceStep/j2sCardSequenceStep.html +0 -59
- package/src/modules/dw/j2sCardSequenceStep/j2sCardSequenceStep.ts +0 -152
- package/src/modules/dw/j2sForm/j2sForm.css +0 -56
- package/src/modules/dw/j2sForm/j2sForm.html +0 -162
- package/src/modules/dw/j2sForm/j2sForm.ts +0 -319
- package/src/modules/dw/j2sForm/mockProps.ts +0 -3095
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
export const stepSequenceData = {
|
|
2
|
-
animateTransitions: "true",
|
|
3
|
-
stepsData: [
|
|
4
|
-
{
|
|
5
|
-
bodyHtml:
|
|
6
|
-
'<p class="dx-text-display-7">Register for Journey to Salesforce and you\'ll be on your way to becoming a Salesforce Developer.</p><ul class="dx-text-display-8"><li>Step 1: Log in or sign up for a free Trailblazer.me account</li><li>Step 2: Confirm your program registration</li><li>Step 3: Begin your journey!</li></ul>',
|
|
7
|
-
primaryAction: {
|
|
8
|
-
text: "Get Started"
|
|
9
|
-
},
|
|
10
|
-
showStepNumber: "true",
|
|
11
|
-
stepTitle: "Get started now."
|
|
12
|
-
},
|
|
13
|
-
{
|
|
14
|
-
bodyHtml:
|
|
15
|
-
'<p class="dx-text-display-7">You\'re almost done! Please review your information and agree to the Journey to Salesforce program terms and conditions.</p>',
|
|
16
|
-
formData: {
|
|
17
|
-
countriesWithReferralInput: ["IN"],
|
|
18
|
-
countriesWithRequiredJobRole: ["CA"],
|
|
19
|
-
formId: "j2s-form",
|
|
20
|
-
j2sTerms:
|
|
21
|
-
'I agree to the Journey to Salesforce Program Terms, subject to the <a href="http://www.google.com">Salesforce Program Agreement</a>.',
|
|
22
|
-
notAvailableAlertInfo: {
|
|
23
|
-
title: "Not Available",
|
|
24
|
-
body:
|
|
25
|
-
'The Journey to Salesforce program is not currently available in your country. See the <a href="https://www.google.com/">program FAQs</a> for a list of participating countries.'
|
|
26
|
-
},
|
|
27
|
-
participatingCountryCodes: ["US", "CA", "IN"]
|
|
28
|
-
},
|
|
29
|
-
primaryAction: {
|
|
30
|
-
text: "Complete Registration"
|
|
31
|
-
},
|
|
32
|
-
secondaryActionHtml:
|
|
33
|
-
'<span class="required-notice">* Required to participate in Journey to Salesforce</span>',
|
|
34
|
-
showStepNumber: "true",
|
|
35
|
-
stepTitle: "Complete your registration."
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
bodyHtml:
|
|
39
|
-
'<div class="dx-text-display-8"><p>Welcome to Journey to Salesforce! Congratulations on taking this step in your journey towards becoming a Salesforce Developer. Through this program you\'ll gain the knowledge, experience, and skills to help you excel in the Salesforce ecosystem.</p><p>To get started, click the button below to join the Journey to Salesforce community, and make sure to check your email for links to bookmark!</p></div>',
|
|
40
|
-
headerData: {
|
|
41
|
-
backgroundColor: "green-vibrant-95",
|
|
42
|
-
iconSymbol: "check-circle",
|
|
43
|
-
iconSprite: "general",
|
|
44
|
-
iconColor: "green-vibrant-65",
|
|
45
|
-
textColor: "indigo-vibrant-20"
|
|
46
|
-
},
|
|
47
|
-
primaryAction: {
|
|
48
|
-
iconSprite: "utility",
|
|
49
|
-
iconSymbol: "new_window",
|
|
50
|
-
link:
|
|
51
|
-
"https://salesforce-external.slack.com/archives/C05HJK4PGJV",
|
|
52
|
-
text: "Join Slack",
|
|
53
|
-
variant: "custom"
|
|
54
|
-
},
|
|
55
|
-
secondaryActionHtml:
|
|
56
|
-
'<span class="dx-text-display-7">Ready to jump in?</span>',
|
|
57
|
-
showStepNumber: "true",
|
|
58
|
-
stepTitle: "Your Registration is Confirmed"
|
|
59
|
-
}
|
|
60
|
-
]
|
|
61
|
-
};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
@import "dxHelpers/reset";
|
|
2
|
-
@import "dxHelpers/text";
|
|
3
|
-
@import "dxHelpers/card";
|
|
4
|
-
|
|
5
|
-
/* Special styling for the final step's actions if they are shown */
|
|
6
|
-
dx-card-step.final-card-with-action::part(footer-container) {
|
|
7
|
-
background-color: var(--dx-g-indigo-vibrant-95);
|
|
8
|
-
border-radius: 8px;
|
|
9
|
-
margin: 0 30px 30px 30px;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
[slot="secondary-action-section"] {
|
|
13
|
-
color: var(--dx-g-red-vibrant-50);
|
|
14
|
-
position: relative;
|
|
15
|
-
font-size: var(--dx-g-text-xs, 12px);
|
|
16
|
-
font-family: var(--dx-g-font-sans);
|
|
17
|
-
line-height: 18px;
|
|
18
|
-
text-align: left;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
.body-container li {
|
|
22
|
-
line-height: var(--dx-g-text-2xl);
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
.body-container p:not(:last-child) {
|
|
26
|
-
padding-bottom: 20px;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.body-markup {
|
|
30
|
-
display: block;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.final-email-address {
|
|
34
|
-
display: block;
|
|
35
|
-
margin-top: 20px;
|
|
36
|
-
line-height: 24px;
|
|
37
|
-
color: var(--dx-g-blue-vibrant-50);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
.referral-email-field {
|
|
41
|
-
--dx-c-input-width: 100%;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.spinner-container {
|
|
45
|
-
min-height: 200px;
|
|
46
|
-
position: relative;
|
|
47
|
-
}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<dx-card-step
|
|
3
|
-
class={stepClassName}
|
|
4
|
-
header-icon-symbol={stepDatum.headerData.iconSymbol}
|
|
5
|
-
header-icon-sprite={stepDatum.headerData.iconSprite}
|
|
6
|
-
header-icon-color={stepDatum.headerData.iconColor}
|
|
7
|
-
header-background-color={stepDatum.headerData.backgroundColor}
|
|
8
|
-
header-text-color={stepDatum.headerData.textColor}
|
|
9
|
-
show-step-number={stepDatum.showStepNumber}
|
|
10
|
-
step-count={stepTotalCount}
|
|
11
|
-
step-index={stepIndex}
|
|
12
|
-
step-title={stepDatum.stepTitle}
|
|
13
|
-
>
|
|
14
|
-
<div slot="card-body" class="body-container">
|
|
15
|
-
<template if:true={isLoading}>
|
|
16
|
-
<div class="spinner-container">
|
|
17
|
-
<dx-spinner size="large" variant="brand"></dx-spinner>
|
|
18
|
-
</div>
|
|
19
|
-
</template>
|
|
20
|
-
<template if:false={isLoading}>
|
|
21
|
-
<span lwc:dom="manual" class="body-markup"></span>
|
|
22
|
-
<template if:true={stepDatum.formData}>
|
|
23
|
-
<dw-j2s-form
|
|
24
|
-
id={stepDatum.formData.formId}
|
|
25
|
-
countries={countryOptions}
|
|
26
|
-
form-metadata={stepDatum.formData}
|
|
27
|
-
incoming-user-info={userInfo}
|
|
28
|
-
onformvaliditychange={handleFormValidityChange}
|
|
29
|
-
recaptcha-token={recaptchaToken}
|
|
30
|
-
>
|
|
31
|
-
<div slot="form-captcha-slot">
|
|
32
|
-
<slot name="card-step-captcha-slot"></slot>
|
|
33
|
-
</div>
|
|
34
|
-
</dw-j2s-form>
|
|
35
|
-
</template>
|
|
36
|
-
</template>
|
|
37
|
-
</div>
|
|
38
|
-
<div slot="secondary-action-section">
|
|
39
|
-
<span lwc:dom="manual" class="secondary-action-markup"></span>
|
|
40
|
-
</div>
|
|
41
|
-
<div slot="primary-action-section">
|
|
42
|
-
<dx-button
|
|
43
|
-
if:true={showPrimaryAction}
|
|
44
|
-
class="primary-action"
|
|
45
|
-
disabled={isJ2sFormInvalid}
|
|
46
|
-
href={primaryActionLink}
|
|
47
|
-
icon-sprite={stepDatum.primaryAction.iconSprite}
|
|
48
|
-
icon-symbol={stepDatum.primaryAction.iconSymbol}
|
|
49
|
-
loading={isLoading}
|
|
50
|
-
onclick={handlePrimaryAction}
|
|
51
|
-
size="large"
|
|
52
|
-
target={primaryActionLinkTarget}
|
|
53
|
-
variant={primaryActionVariant}
|
|
54
|
-
>
|
|
55
|
-
{primaryActionText}
|
|
56
|
-
</dx-button>
|
|
57
|
-
</div>
|
|
58
|
-
</dx-card-step>
|
|
59
|
-
</template>
|
|
@@ -1,152 +0,0 @@
|
|
|
1
|
-
import { api, LightningElement } from "lwc";
|
|
2
|
-
import { DrmFormData, StepDatum } from "dw/j2sCardSequence";
|
|
3
|
-
import { track } from "dxUtils/analytics";
|
|
4
|
-
import J2sForm from "dw/j2sForm";
|
|
5
|
-
|
|
6
|
-
export default class J2sCardSequenceStep extends LightningElement {
|
|
7
|
-
@api countryOptions: any[] = [];
|
|
8
|
-
@api isLoading = false;
|
|
9
|
-
@api recaptchaToken = "";
|
|
10
|
-
@api selectedCountry = "";
|
|
11
|
-
@api stepDatum!: StepDatum;
|
|
12
|
-
@api stepIndex = 0;
|
|
13
|
-
@api stepTotalCount = 0;
|
|
14
|
-
@api userInfo: any = {};
|
|
15
|
-
|
|
16
|
-
@api
|
|
17
|
-
public notifyFormSubmitFailure(formFailureData: Partial<DrmFormData>) {
|
|
18
|
-
(
|
|
19
|
-
this.template.querySelector("dw-j2s-form") as unknown as J2sForm
|
|
20
|
-
)?.notifySubmitFailure(formFailureData);
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
private _isJ2sFormInvalid = false;
|
|
24
|
-
|
|
25
|
-
private get stepClassName() {
|
|
26
|
-
return this.stepIndex === 2 && this.selectedCountry === "IN"
|
|
27
|
-
? "final-card-with-action"
|
|
28
|
-
: "";
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
private get isJ2sFormInvalid() {
|
|
32
|
-
return this.stepIndex === 1 && this._isJ2sFormInvalid;
|
|
33
|
-
}
|
|
34
|
-
private set isJ2sFormInvalid(value: boolean) {
|
|
35
|
-
this._isJ2sFormInvalid = value;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
private get primaryActionLink() {
|
|
39
|
-
const { link } = this.stepDatum.primaryAction;
|
|
40
|
-
return typeof link === "string"
|
|
41
|
-
? link
|
|
42
|
-
: link?.[this.selectedCountry] || link?.default;
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
private get primaryActionText() {
|
|
46
|
-
const { text } = this.stepDatum.primaryAction;
|
|
47
|
-
return typeof text === "string"
|
|
48
|
-
? text
|
|
49
|
-
: text[this.selectedCountry] || text.default;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
private get primaryActionVariant() {
|
|
53
|
-
if (this.stepIndex === 1 && this.isJ2sFormInvalid) {
|
|
54
|
-
return "custom"; // override for disabled button styling
|
|
55
|
-
}
|
|
56
|
-
return this.stepDatum.primaryAction.variant;
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
private get primaryActionLinkTarget() {
|
|
60
|
-
return this.stepDatum.primaryAction.linkTarget || "_blank";
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
private get showPrimaryAction() {
|
|
64
|
-
return this.stepIndex !== 2 || this.selectedCountry === "IN";
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
private get showSecondaryAction() {
|
|
68
|
-
return this.showPrimaryAction; // same requirement as above for now
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
renderedCallback() {
|
|
72
|
-
this.updateStaticInnerHtml();
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
handleFormValidityChange({ detail }: CustomEvent) {
|
|
76
|
-
this.isJ2sFormInvalid = !detail.isValid;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
handlePrimaryAction(evt: Event) {
|
|
80
|
-
this.track(evt);
|
|
81
|
-
|
|
82
|
-
if (this.stepIndex === 0) {
|
|
83
|
-
this.dispatchEvent(new CustomEvent("getstarted"));
|
|
84
|
-
} else if (this.stepIndex === 1 && !this.isJ2sFormInvalid) {
|
|
85
|
-
const j2sFormEl = this.template.querySelector(
|
|
86
|
-
"dw-j2s-form"
|
|
87
|
-
) as unknown as J2sForm;
|
|
88
|
-
const formData = j2sFormEl.formDataForDrm;
|
|
89
|
-
|
|
90
|
-
// For some countries, explicit approvals will be present; for others, it is implicitly assumed
|
|
91
|
-
if (typeof formData.Opt_In__c !== "boolean") {
|
|
92
|
-
formData.Opt_In__c = true;
|
|
93
|
-
}
|
|
94
|
-
if (typeof formData.Privacy_Statement__c !== "boolean") {
|
|
95
|
-
formData.Privacy_Statement__c = true;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
this.dispatchEvent(
|
|
99
|
-
new CustomEvent("formsubmit", {
|
|
100
|
-
detail: formData
|
|
101
|
-
})
|
|
102
|
-
);
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
private updateStaticInnerHtml() {
|
|
107
|
-
const { bodyHtml, secondaryActionHtml } = this.stepDatum;
|
|
108
|
-
const bodyMarkupContainer =
|
|
109
|
-
this.template.querySelector("span.body-markup");
|
|
110
|
-
const secondaryActionMarkupContainer = this.template.querySelector(
|
|
111
|
-
"span.secondary-action-markup"
|
|
112
|
-
);
|
|
113
|
-
|
|
114
|
-
if (bodyMarkupContainer) {
|
|
115
|
-
let markup =
|
|
116
|
-
typeof bodyHtml === "string"
|
|
117
|
-
? bodyHtml
|
|
118
|
-
: bodyHtml?.[this.selectedCountry] || bodyHtml?.default;
|
|
119
|
-
|
|
120
|
-
if (this.stepIndex === 2) {
|
|
121
|
-
// User's email is supposed to show on final step
|
|
122
|
-
markup = `${markup}${
|
|
123
|
-
!this.userInfo.Email
|
|
124
|
-
? ""
|
|
125
|
-
: `<span class="final-email-address">${this.userInfo.Email}</span>`
|
|
126
|
-
}`;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
bodyMarkupContainer.innerHTML = markup || "";
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
if (secondaryActionMarkupContainer) {
|
|
133
|
-
// new special exception on step 2 to only show secondary action for IN
|
|
134
|
-
secondaryActionMarkupContainer.innerHTML =
|
|
135
|
-
secondaryActionHtml && this.showSecondaryAction
|
|
136
|
-
? secondaryActionHtml
|
|
137
|
-
: "";
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
private track(evt: Event) {
|
|
142
|
-
const target = evt.target as HTMLButtonElement;
|
|
143
|
-
|
|
144
|
-
track(target, "custEv_ctaButtonClick", {
|
|
145
|
-
click_text: target.textContent,
|
|
146
|
-
element_title: this.stepDatum.stepTitle,
|
|
147
|
-
click_url: this.stepDatum.primaryAction.link || "",
|
|
148
|
-
element_type: "button",
|
|
149
|
-
content_category: "cta"
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
.hidden {
|
|
2
|
-
display: none;
|
|
3
|
-
}
|
|
4
|
-
|
|
5
|
-
.form-row {
|
|
6
|
-
display: flex;
|
|
7
|
-
justify-content: space-between;
|
|
8
|
-
padding-bottom: var(--dx-g-spacing-md);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
.form-row > * {
|
|
12
|
-
--dx-c-input-width: 100%;
|
|
13
|
-
|
|
14
|
-
font-family: var(--dx-g-font-sans);
|
|
15
|
-
width: calc(50% - 20px);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
.form-row > :only-child {
|
|
19
|
-
max-width: 100%;
|
|
20
|
-
width: 100%;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
.form-row .terms {
|
|
24
|
-
--dx-c-checkbox-text-line-height: var(--dx-g-text-lg);
|
|
25
|
-
--dx-c-checkbox-font-size: var(--dx-g-text-sm);
|
|
26
|
-
|
|
27
|
-
font-family: var(--dx-g-font-sans);
|
|
28
|
-
font-size: var(--dx-c-checkbox-font-size);
|
|
29
|
-
font-weight: var(--dx-g-font-normal);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.form-row .legal-terms-learn-more:not(.hidden) {
|
|
33
|
-
display: block;
|
|
34
|
-
padding-top: var(--dx-g-spacing-md);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.form-row .legal-terms.no-checkbox {
|
|
38
|
-
font-family: var(--dx-g-font-sans);
|
|
39
|
-
font-size: var(--dx-g-text-xs);
|
|
40
|
-
font-weight: var(--dx-g-font-normal);
|
|
41
|
-
margin-left: 28px;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.form-terms-container {
|
|
45
|
-
padding-top: var(--dx-g-spacing-sm);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.form-captcha-slot {
|
|
49
|
-
align-items: center;
|
|
50
|
-
display: flex;
|
|
51
|
-
justify-content: center;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
dx-input[disabled] {
|
|
55
|
-
--dx-c-input-background: revert;
|
|
56
|
-
}
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<!-- For the names of the form fields, see: https://salesforce.quip.com/daInAFETbPGm -->
|
|
3
|
-
<form class="j2s-form">
|
|
4
|
-
<div class="form-row">
|
|
5
|
-
<dx-input
|
|
6
|
-
class="first-name-field"
|
|
7
|
-
label="First Name"
|
|
8
|
-
missing-error-message="Enter your first name"
|
|
9
|
-
name="FirstName"
|
|
10
|
-
placeholder="Your first name"
|
|
11
|
-
required
|
|
12
|
-
validity-on-blur
|
|
13
|
-
onchange={handleFormFieldChange}
|
|
14
|
-
value={state.FirstName}
|
|
15
|
-
></dx-input>
|
|
16
|
-
<dx-input
|
|
17
|
-
class="last-name-field"
|
|
18
|
-
label="Last Name"
|
|
19
|
-
missing-error-message="Enter your last name"
|
|
20
|
-
name="LastName"
|
|
21
|
-
placeholder="Your last name"
|
|
22
|
-
required
|
|
23
|
-
validity-on-blur
|
|
24
|
-
onchange={handleFormFieldChange}
|
|
25
|
-
value={state.LastName}
|
|
26
|
-
></dx-input>
|
|
27
|
-
</div>
|
|
28
|
-
<div class="form-row">
|
|
29
|
-
<dx-input
|
|
30
|
-
class="company-name-field"
|
|
31
|
-
label="Company Name"
|
|
32
|
-
missing-error-message="Enter your company name"
|
|
33
|
-
name="Company__c"
|
|
34
|
-
placeholder="Your company name"
|
|
35
|
-
required
|
|
36
|
-
validity-on-blur
|
|
37
|
-
value={state.Company__c}
|
|
38
|
-
onchange={handleFormFieldChange}
|
|
39
|
-
></dx-input>
|
|
40
|
-
<dx-select
|
|
41
|
-
class="job-role-field"
|
|
42
|
-
label="Job Role"
|
|
43
|
-
message-when-value-missing="Select your job role"
|
|
44
|
-
name="DRM_Role__c"
|
|
45
|
-
options={jobRoles}
|
|
46
|
-
placeholder="Select Job Role"
|
|
47
|
-
required
|
|
48
|
-
value={state.DRM_Role__c}
|
|
49
|
-
onchange={handleFormFieldChange}
|
|
50
|
-
></dx-select>
|
|
51
|
-
</div>
|
|
52
|
-
<div class="form-row">
|
|
53
|
-
<dx-input
|
|
54
|
-
name="Email"
|
|
55
|
-
type="email"
|
|
56
|
-
placeholder="Your email address"
|
|
57
|
-
label="Email"
|
|
58
|
-
missing-error-message="Enter your email address"
|
|
59
|
-
validity-on-blur="true"
|
|
60
|
-
disabled
|
|
61
|
-
readonly="true"
|
|
62
|
-
required
|
|
63
|
-
value={state.Email}
|
|
64
|
-
></dx-input>
|
|
65
|
-
<dx-select
|
|
66
|
-
label="Country/Region"
|
|
67
|
-
message-when-value-missing="Select your country/region"
|
|
68
|
-
name="MailingCountry"
|
|
69
|
-
options={countries}
|
|
70
|
-
placeholder="Select Country/Region"
|
|
71
|
-
required
|
|
72
|
-
value={state.MailingCountry}
|
|
73
|
-
onchange={handleFormFieldChange}
|
|
74
|
-
></dx-select>
|
|
75
|
-
</div>
|
|
76
|
-
<div class="form-row" if:true={isCountryWithReferralInput}>
|
|
77
|
-
<dx-input
|
|
78
|
-
name="Referral_Email__c"
|
|
79
|
-
class="referral-email-field full-width"
|
|
80
|
-
label="If anyone has referred you, please share their Email ID below, with their consent."
|
|
81
|
-
validity-on-blur="true"
|
|
82
|
-
type="email"
|
|
83
|
-
value={state.Referral_Email__c}
|
|
84
|
-
onchange={handleFormFieldChange}
|
|
85
|
-
></dx-input>
|
|
86
|
-
</div>
|
|
87
|
-
<div class="form-row" if:true={isNotParticipatingCountry}>
|
|
88
|
-
<dx-alert
|
|
89
|
-
alert-info={notAvailableAlertInfo}
|
|
90
|
-
class="full-width"
|
|
91
|
-
type="danger"
|
|
92
|
-
variant="accented"
|
|
93
|
-
></dx-alert>
|
|
94
|
-
</div>
|
|
95
|
-
<div class="form-row" if:true={showSubmitFailureAlert}>
|
|
96
|
-
<dx-alert
|
|
97
|
-
alert-info={formSubmitFailureAlertInfo}
|
|
98
|
-
class="full-width"
|
|
99
|
-
type="danger"
|
|
100
|
-
variant="accented"
|
|
101
|
-
></dx-alert>
|
|
102
|
-
</div>
|
|
103
|
-
<div class="form-terms-container">
|
|
104
|
-
<div class="form-row" if:true={state.showMarketingText}>
|
|
105
|
-
<dx-checkbox
|
|
106
|
-
value="marketing-terms"
|
|
107
|
-
name="Opt_In__c"
|
|
108
|
-
required
|
|
109
|
-
class="terms"
|
|
110
|
-
onchange={handleFormFieldChange}
|
|
111
|
-
disabled={isNotParticipatingCountry}
|
|
112
|
-
>
|
|
113
|
-
<span lwc:dom="manual" class="marketing-terms"></span>
|
|
114
|
-
</dx-checkbox>
|
|
115
|
-
</div>
|
|
116
|
-
<div class="form-row">
|
|
117
|
-
<dx-checkbox
|
|
118
|
-
value="j2s-terms"
|
|
119
|
-
name="j2s_terms"
|
|
120
|
-
required
|
|
121
|
-
class="terms"
|
|
122
|
-
onchange={handleFormFieldChange}
|
|
123
|
-
disabled={isNotParticipatingCountry}
|
|
124
|
-
>
|
|
125
|
-
<span lwc:dom="manual" class="j2s-terms"></span>
|
|
126
|
-
</dx-checkbox>
|
|
127
|
-
</div>
|
|
128
|
-
<div class="form-row">
|
|
129
|
-
<dx-checkbox
|
|
130
|
-
if:true={state.showLegalCheckbox}
|
|
131
|
-
value="legal-terms"
|
|
132
|
-
name="Privacy_Statement__c"
|
|
133
|
-
required
|
|
134
|
-
class="terms"
|
|
135
|
-
onchange={handleFormFieldChange}
|
|
136
|
-
disabled={isNotParticipatingCountry}
|
|
137
|
-
>
|
|
138
|
-
<span lwc:dom="manual" class="legal-terms"></span>
|
|
139
|
-
<template if:true={state.learnMore}>
|
|
140
|
-
|
|
141
|
-
<dx-button
|
|
142
|
-
variant="inline-inherit"
|
|
143
|
-
onclick={handleLearnMore}
|
|
144
|
-
>
|
|
145
|
-
Learn more.
|
|
146
|
-
</dx-button>
|
|
147
|
-
<span
|
|
148
|
-
lwc:dom="manual"
|
|
149
|
-
class="legal-terms-learn-more hidden"
|
|
150
|
-
></span>
|
|
151
|
-
</template>
|
|
152
|
-
</dx-checkbox>
|
|
153
|
-
<span
|
|
154
|
-
if:false={state.showLegalCheckbox}
|
|
155
|
-
lwc:dom="manual"
|
|
156
|
-
class="legal-terms no-checkbox"
|
|
157
|
-
></span>
|
|
158
|
-
</div>
|
|
159
|
-
<slot class="form-captcha-slot" name="form-captcha-slot"></slot>
|
|
160
|
-
</div>
|
|
161
|
-
</form>
|
|
162
|
-
</template>
|