@salesforcedevs/mrkt-components 0.0.0-alpha.0

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 (52) hide show
  1. package/lwc.config.json +21 -0
  2. package/package.json +18 -0
  3. package/src/assets/svg/mrkt-cta-section-img-left.svg +28 -0
  4. package/src/assets/svg/mrkt-cta-section-img-right.svg +18 -0
  5. package/src/assets/svg/mrkt-no-code-section-graphic.svg +23 -0
  6. package/src/assets/svg/mrkt-section-header-graphic.svg +110 -0
  7. package/src/assets/svg/mrkt-two-col-panel-section-graphic-1-light.svg +9 -0
  8. package/src/assets/svg/mrkt-two-col-panel-section-graphic-1.svg +9 -0
  9. package/src/assets/svg/mrkt-two-col-panel-section-graphic-2-light.svg +16 -0
  10. package/src/assets/svg/mrkt-two-col-panel-section-graphic-2.svg +16 -0
  11. package/src/assets/svg/mrkt-two-col-panel-section-graphic-3-light.svg +3 -0
  12. package/src/assets/svg/mrkt-two-col-panel-section-graphic-3.svg +3 -0
  13. package/src/assets/svg/mrkt-two-col-panel-section-swoop.svg +3 -0
  14. package/src/modules/mrkt/ctaSection/ctaSection.css +99 -0
  15. package/src/modules/mrkt/ctaSection/ctaSection.html +17 -0
  16. package/src/modules/mrkt/ctaSection/ctaSection.ts +44 -0
  17. package/src/modules/mrkt/fullImgSection/fullImgSection.css +54 -0
  18. package/src/modules/mrkt/fullImgSection/fullImgSection.html +11 -0
  19. package/src/modules/mrkt/fullImgSection/fullImgSection.ts +17 -0
  20. package/src/modules/mrkt/noCodeSection/noCodeSection.css +82 -0
  21. package/src/modules/mrkt/noCodeSection/noCodeSection.html +14 -0
  22. package/src/modules/mrkt/noCodeSection/noCodeSection.ts +8 -0
  23. package/src/modules/mrkt/rectangularHeading/rectangularHeading.css +97 -0
  24. package/src/modules/mrkt/rectangularHeading/rectangularHeading.html +10 -0
  25. package/src/modules/mrkt/rectangularHeading/rectangularHeading.ts +14 -0
  26. package/src/modules/mrkt/sectionHeader/sectionHeader.css +165 -0
  27. package/src/modules/mrkt/sectionHeader/sectionHeader.html +24 -0
  28. package/src/modules/mrkt/sectionHeader/sectionHeader.ts +35 -0
  29. package/src/modules/mrkt/socials/socials.css +65 -0
  30. package/src/modules/mrkt/socials/socials.html +16 -0
  31. package/src/modules/mrkt/socials/socials.ts +17 -0
  32. package/src/modules/mrkt/subNavBar/subNavBar.css +141 -0
  33. package/src/modules/mrkt/subNavBar/subNavBar.html +37 -0
  34. package/src/modules/mrkt/subNavBar/subNavBar.ts +130 -0
  35. package/src/modules/mrkt/tdxSection/tdxSection.css +115 -0
  36. package/src/modules/mrkt/tdxSection/tdxSection.html +14 -0
  37. package/src/modules/mrkt/tdxSection/tdxSection.ts +12 -0
  38. package/src/modules/mrkt/threeColListSection/threeColListSection.css +102 -0
  39. package/src/modules/mrkt/threeColListSection/threeColListSection.html +27 -0
  40. package/src/modules/mrkt/threeColListSection/threeColListSection.ts +24 -0
  41. package/src/modules/mrkt/twoColListSection/twoColListSection.css +65 -0
  42. package/src/modules/mrkt/twoColListSection/twoColListSection.html +19 -0
  43. package/src/modules/mrkt/twoColListSection/twoColListSection.ts +29 -0
  44. package/src/modules/mrkt/twoColPanelSection/twoColPanelSection.css +143 -0
  45. package/src/modules/mrkt/twoColPanelSection/twoColPanelSection.html +55 -0
  46. package/src/modules/mrkt/twoColPanelSection/twoColPanelSection.ts +15 -0
  47. package/src/modules/mrkt/twoColSection/twoColSection.css +67 -0
  48. package/src/modules/mrkt/twoColSection/twoColSection.html +9 -0
  49. package/src/modules/mrkt/twoColSection/twoColSection.ts +14 -0
  50. package/src/modules/mrkt/videoPlayerSection/videoPlayerSection.css +76 -0
  51. package/src/modules/mrkt/videoPlayerSection/videoPlayerSection.html +22 -0
  52. package/src/modules/mrkt/videoPlayerSection/videoPlayerSection.ts +6 -0
@@ -0,0 +1,115 @@
1
+ @import "dxHelpers/reset";
2
+ @import "dxHelpers/text";
3
+
4
+ :host {
5
+ --dx-g-text-heading-color: white;
6
+ --padding-top: 54px;
7
+ --padding-bottom: 74px;
8
+ }
9
+
10
+ .container {
11
+ background-color: var(--dx-g-indigo-vibrant-20);
12
+ display: flex;
13
+ justify-content: space-between;
14
+ padding: 0 var(--dx-g-page-padding-horizontal);
15
+ margin-top: 120px;
16
+ }
17
+
18
+ .content {
19
+ flex-grow: 1;
20
+ margin: var(--padding-top) 0 var(--padding-bottom) 0;
21
+ }
22
+
23
+ .content-body {
24
+ color: white;
25
+ font-family: var(--dx-g-font-sans);
26
+ font-size: var(--dx-g-text-base);
27
+ margin-top: var(--dx-g-spacing-smd);
28
+ }
29
+
30
+ .content-info {
31
+ margin-top: 30px;
32
+ margin-bottom: var(--dx-g-spacing-lg);
33
+ }
34
+
35
+ .image-container {
36
+ width: 550px;
37
+ flex-shrink: 0;
38
+ position: relative;
39
+ }
40
+
41
+ img {
42
+ position: absolute;
43
+ right: 0;
44
+ bottom: 0;
45
+ }
46
+
47
+ @media screen and (max-width: 1024px) {
48
+ :host {
49
+ --padding-top: 38px;
50
+ --padding-bottom: 72px;
51
+ }
52
+
53
+ .container {
54
+ align-items: center;
55
+ margin-top: 0;
56
+ }
57
+
58
+ .content {
59
+ padding: 0 var(--dx-g-page-padding-horizontal);
60
+ width: auto;
61
+ }
62
+
63
+ .content-title {
64
+ font-size: var(--dx-g-text-3xl);
65
+ }
66
+
67
+ .image-container {
68
+ height: unset;
69
+ padding: var(--dx-g-spacing-sm) 0;
70
+ width: 400px;
71
+ }
72
+
73
+ img {
74
+ position: relative;
75
+ margin: 0 auto;
76
+ }
77
+ }
78
+
79
+ @media screen and (max-width: 768px) {
80
+ .container {
81
+ flex-direction: column-reverse;
82
+ text-align: center;
83
+ margin-top: 170px;
84
+ }
85
+
86
+ .content {
87
+ display: flex;
88
+ flex-direction: column;
89
+ justify-content: center;
90
+ align-items: center;
91
+ margin-top: 0;
92
+ }
93
+
94
+ .content-title {
95
+ font-size: var(--dx-g-text-3xl);
96
+ }
97
+
98
+ .content-info {
99
+ margin-top: var(--dx-g-spacing-lg);
100
+ }
101
+
102
+ .image-container {
103
+ height: 212px;
104
+ width: 100%;
105
+ max-width: 381px;
106
+ padding: unset;
107
+ }
108
+
109
+ img {
110
+ position: absolute;
111
+ bottom: 0;
112
+ right: 0;
113
+ width: 100%;
114
+ }
115
+ }
@@ -0,0 +1,14 @@
1
+ <template>
2
+ <div class="container">
3
+ <div class="content">
4
+ <h3 class="content-title dx-text-heading-2b">{title}</h3>
5
+ <h4 class="dx-text-heading-4">{subtitle}</h4>
6
+ <p class="content-body">{body}</p>
7
+ <p class="content-info dx-text-heading-6">{info}</p>
8
+ <dx-button href={buttonHref}>{buttonLabel}</dx-button>
9
+ </div>
10
+ <div class="image-container">
11
+ <img src={imgSrc} alt={imgAlt} />
12
+ </div>
13
+ </div>
14
+ </template>
@@ -0,0 +1,12 @@
1
+ import { api, LightningElement } from "lwc";
2
+
3
+ export default class TdxSection extends LightningElement {
4
+ @api title!: string;
5
+ @api subtitle!: string;
6
+ @api body!: string;
7
+ @api info!: string;
8
+ @api buttonLabel!: string;
9
+ @api buttonHref!: string;
10
+ @api imgSrc!: string;
11
+ @api imgAlt!: string;
12
+ }
@@ -0,0 +1,102 @@
1
+ @import "dxHelpers/reset";
2
+ @import "dxHelpers/text";
3
+
4
+ :host {
5
+ --padding-vertical: 56px;
6
+ --mrkt-c-three-col-list-section-padding-top: var(--padding-vertical);
7
+ }
8
+
9
+ .three-col-list-section {
10
+ width: 100%;
11
+ padding-top: var(--mrkt-c-three-col-list-section-padding-top);
12
+ }
13
+
14
+ .three-col-list-section.dark {
15
+ background: var(--dx-g-indigo-vibrant-15);
16
+ }
17
+
18
+ .item-grid-padding {
19
+ width: 100%;
20
+ display: flex;
21
+ flex-direction: column;
22
+ align-items: center;
23
+ padding: 0 var(--dx-g-page-padding-horizontal);
24
+ }
25
+
26
+ .item-grid {
27
+ display: grid;
28
+ grid-template-columns: 1fr 1fr 1fr;
29
+ grid-gap: var(--dx-g-spacing-xl) var(--dx-g-spacing-3xl);
30
+ justify-items: center;
31
+ width: 100%;
32
+ max-width: 1024px;
33
+ }
34
+
35
+ .item {
36
+ width: 100%;
37
+ max-width: 450px;
38
+ display: grid;
39
+ grid-template-areas:
40
+ "icon"
41
+ "title"
42
+ "subtitle";
43
+ grid-gap: var(--dx-g-spacing-sm);
44
+ justify-items: center;
45
+ }
46
+
47
+ dx-icon-badge {
48
+ --dx-c-icon-badge-size: 60px;
49
+
50
+ grid-area: icon;
51
+ margin-bottom: var(--dx-g-spacing-md);
52
+ }
53
+
54
+ .title,
55
+ .subtitle {
56
+ text-align: center;
57
+ }
58
+
59
+ .title {
60
+ grid-area: title;
61
+ }
62
+
63
+ .subtitle {
64
+ grid-area: subtitle;
65
+ }
66
+
67
+ .three-col-list-section.dark .title,
68
+ .three-col-list-section.dark .subtitle {
69
+ color: white;
70
+ }
71
+
72
+ .img-container {
73
+ position: relative;
74
+ width: 100%;
75
+ display: flex;
76
+ flex-direction: row;
77
+ justify-content: space-between;
78
+ z-index: 2;
79
+ margin-top: var(--dx-g-spacing-3xl);
80
+ margin-bottom: -35px;
81
+ }
82
+
83
+ img {
84
+ width: 250px;
85
+ aspect-ratio: 25 / 14;
86
+ }
87
+
88
+ @media (max-width: 1024px) {
89
+ .img-container {
90
+ margin-bottom: -28px;
91
+ }
92
+
93
+ img {
94
+ width: 200px;
95
+ }
96
+ }
97
+
98
+ @media (max-width: 768px) {
99
+ .item-grid {
100
+ grid-template-columns: 1fr;
101
+ }
102
+ }
@@ -0,0 +1,27 @@
1
+ <template>
2
+ <div class="three-col-list-section">
3
+ <div class="item-grid-padding">
4
+ <div class="item-grid">
5
+ <template for:each={items} for:item="item">
6
+ <div class="item" key={item.title}>
7
+ <dx-icon-badge
8
+ symbol={item.iconSymbol}
9
+ sprite={item.iconSprite}
10
+ color={item.iconColor}
11
+ background-color={item.iconBackgroundColor}
12
+ background-size="large"
13
+ ></dx-icon-badge>
14
+ <h3 class="title dx-text-heading-4b">{item.title}</h3>
15
+ <span class="subtitle dx-text-body-2">
16
+ {item.subtitle}
17
+ </span>
18
+ </div>
19
+ </template>
20
+ </div>
21
+ </div>
22
+ <div class="img-container">
23
+ <img src="/assets/svg/mrkt-cta-section-img-left.svg" alt="" />
24
+ <img src="/assets/svg/mrkt-cta-section-img-right.svg" alt="" />
25
+ </div>
26
+ </div>
27
+ </template>
@@ -0,0 +1,24 @@
1
+ import { api, LightningElement } from "lwc";
2
+ import { toJson } from "dxUtils/normalizers";
3
+
4
+ type Item = {
5
+ title: string;
6
+ subtitle: string;
7
+ iconSymbol: string;
8
+ iconSprite: string;
9
+ iconColor: string;
10
+ iconBackgroundColor: string;
11
+ };
12
+
13
+ export default class ThreeColListSection extends LightningElement {
14
+ @api dark?: boolean;
15
+ @api
16
+ get items() {
17
+ return this._items;
18
+ }
19
+ set items(value) {
20
+ this._items = toJson(value);
21
+ }
22
+
23
+ private _items!: Item[];
24
+ }
@@ -0,0 +1,65 @@
1
+ @import "dxHelpers/reset";
2
+ @import "dxHelpers/text";
3
+
4
+ :host {
5
+ --padding-vertical: 56px;
6
+ --mrkt-c-two-col-list-section-padding-top: var(--padding-vertical);
7
+ --mrkt-c-two-col-list-section-padding-bottom: var(--padding-vertical);
8
+ }
9
+
10
+ .two-col-list-section {
11
+ padding: var(--mrkt-c-two-col-list-section-padding-top)
12
+ var(--dx-g-page-padding-horizontal)
13
+ var(--mrkt-c-two-col-list-section-padding-bottom)
14
+ var(--dx-g-page-padding-horizontal);
15
+ display: flex;
16
+ }
17
+
18
+ .two-col-list-section.dark {
19
+ background: var(--dx-g-indigo-vibrant-15);
20
+ }
21
+
22
+ .item-grid {
23
+ display: grid;
24
+ grid-template-columns: 1fr 1fr;
25
+ grid-gap: var(--dx-g-spacing-3xl) var(--dx-g-spacing-6xl);
26
+ width: max-content;
27
+ margin: auto;
28
+ }
29
+
30
+ .item {
31
+ width: 100%;
32
+ max-width: 414px;
33
+ display: grid;
34
+ grid-template-areas:
35
+ "icon title"
36
+ "icon subtitle";
37
+ grid-template-columns: min-content auto;
38
+ grid-template-rows: min-content;
39
+ grid-gap: var(--dx-g-spacing-xs) var(--dx-g-spacing-mlg);
40
+ }
41
+
42
+ dx-icon-badge {
43
+ --dx-c-icon-badge-size: 60px;
44
+
45
+ grid-area: icon;
46
+ }
47
+
48
+ .title {
49
+ grid-area: title;
50
+ }
51
+
52
+ .subtitle {
53
+ grid-area: subtitle;
54
+ }
55
+
56
+ .two-col-list-section.dark .title,
57
+ .two-col-list-section.dark .subtitle {
58
+ color: white;
59
+ }
60
+
61
+ @media (max-width: 768px) {
62
+ .item-grid {
63
+ grid-template-columns: 1fr;
64
+ }
65
+ }
@@ -0,0 +1,19 @@
1
+ <template>
2
+ <div class={className}>
3
+ <div class="item-grid">
4
+ <template for:each={items} for:item="item">
5
+ <div class="item" key={item.title}>
6
+ <dx-icon-badge
7
+ symbol={item.iconSymbol}
8
+ sprite={item.iconSprite}
9
+ color={item.iconColor}
10
+ background-color={item.iconBackgroundColor}
11
+ background-size="large"
12
+ ></dx-icon-badge>
13
+ <h3 class="title dx-text-heading-4b">{item.title}</h3>
14
+ <span class="subtitle dx-text-body-2">{item.subtitle}</span>
15
+ </div>
16
+ </template>
17
+ </div>
18
+ </div>
19
+ </template>
@@ -0,0 +1,29 @@
1
+ import { api, LightningElement } from "lwc";
2
+ import cx from "classnames";
3
+ import { toJson } from "dxUtils/normalizers";
4
+
5
+ type Item = {
6
+ title: string;
7
+ subtitle: string;
8
+ iconSymbol: string;
9
+ iconSprite: string;
10
+ iconColor: string;
11
+ iconBackgroundColor: string;
12
+ };
13
+
14
+ export default class TwoColListSection extends LightningElement {
15
+ @api dark?: boolean;
16
+ @api
17
+ get items() {
18
+ return this._items;
19
+ }
20
+ set items(value) {
21
+ this._items = toJson(value);
22
+ }
23
+
24
+ private _items!: Item[];
25
+
26
+ private get className(): string {
27
+ return cx("two-col-list-section", this.dark && "dark");
28
+ }
29
+ }
@@ -0,0 +1,143 @@
1
+ @import "dxHelpers/reset";
2
+ @import "dxHelpers/text";
3
+
4
+ :host {
5
+ --padding-vertical: 108px;
6
+ --mrkt-c-two-col-list-section-padding-top: var(--padding-vertical);
7
+ --mrkt-c-two-col-list-section-padding-bottom: var(--padding-vertical);
8
+ }
9
+
10
+ .two-col-panel-section {
11
+ display: flex;
12
+ flex-direction: row;
13
+ justify-content: space-between;
14
+ align-items: center;
15
+ width: 100%;
16
+ padding: var(--mrkt-c-two-col-list-section-padding-top)
17
+ var(--dx-g-page-padding-horizontal)
18
+ var(--mrkt-c-two-col-list-section-padding-bottom)
19
+ var(--dx-g-page-padding-horizontal);
20
+ overflow: hidden;
21
+ }
22
+
23
+ .text-container {
24
+ display: flex;
25
+ flex-direction: column;
26
+ padding-right: 80px;
27
+ width: 50%;
28
+ z-index: 1;
29
+ }
30
+
31
+ .text-container > * {
32
+ max-width: 500px;
33
+ }
34
+
35
+ .text-container > *:not(:last-child) {
36
+ margin-bottom: var(--dx-g-spacing-md);
37
+ }
38
+
39
+ dx-button {
40
+ margin-top: var(--dx-g-spacing-sm);
41
+ }
42
+
43
+ .card-container {
44
+ position: relative;
45
+ width: 100%;
46
+ max-width: 400px;
47
+ margin: 0 auto;
48
+ }
49
+
50
+ .subtitle {
51
+ color: var(--dx-g-blue-vibrant-20);
52
+ }
53
+
54
+ .dark .subtitle,
55
+ .dark .title,
56
+ .dark .body {
57
+ color: white;
58
+ }
59
+
60
+ img {
61
+ position: absolute;
62
+ }
63
+
64
+ .graphic-1 {
65
+ width: 306px;
66
+ bottom: -32px;
67
+ left: -106px;
68
+ z-index: 0;
69
+ }
70
+
71
+ .graphic-2 {
72
+ width: 170px;
73
+ top: 15px;
74
+ left: calc(100% - 38px);
75
+ z-index: 1;
76
+ }
77
+
78
+ .graphic-3 {
79
+ width: 142px;
80
+ right: -38px;
81
+ bottom: -38px;
82
+ z-index: 0;
83
+ }
84
+
85
+ .graphic-swoop {
86
+ position: relative;
87
+ width: 100%;
88
+ }
89
+
90
+ .dark {
91
+ background: var(--dx-g-indigo-vibrant-15);
92
+ }
93
+
94
+ @media (max-width: 1024px) {
95
+ :host {
96
+ --padding-vertical: var(--dx-g-spacing-3xl);
97
+ }
98
+
99
+ .title {
100
+ font-size: var(--dx-g-text-2xl);
101
+ }
102
+
103
+ .body {
104
+ font-size: var(--dx-g-text-sm);
105
+ line-height: 20px;
106
+ }
107
+
108
+ .text-container {
109
+ max-width: 440px;
110
+ }
111
+
112
+ .graphic-1 {
113
+ width: 220px;
114
+ left: -80px;
115
+ top: 30px;
116
+ z-index: 0;
117
+ }
118
+
119
+ .graphic-2,
120
+ .graphic-3 {
121
+ display: none;
122
+ }
123
+ }
124
+
125
+ @media (max-width: 768px) {
126
+ .two-col-panel-section {
127
+ display: flex;
128
+ flex-direction: column;
129
+ }
130
+
131
+ .text-container {
132
+ width: 100%;
133
+ text-align: center;
134
+ justify-content: center;
135
+ align-items: center;
136
+ padding-right: unset;
137
+ padding-bottom: 72px;
138
+ }
139
+
140
+ .graphic-1 {
141
+ display: none;
142
+ }
143
+ }
@@ -0,0 +1,55 @@
1
+ <template>
2
+ <div class={className}>
3
+ <div class="text-container">
4
+ <span class="subtitle dx-text-label-4">{subtitle}</span>
5
+ <h2 class="title dx-text-heading-3">{title}</h2>
6
+ <p class="body dx-text-body-2">{body}</p>
7
+ <dx-button href={buttonHref}>{buttonText}</dx-button>
8
+ </div>
9
+ <div class="card-container">
10
+ <img
11
+ if:false={light}
12
+ class="graphic-1"
13
+ src="/assets/svg/mrkt-two-col-panel-section-graphic-1.svg"
14
+ alt=""
15
+ />
16
+ <img
17
+ if:false={light}
18
+ class="graphic-2"
19
+ src="/assets/svg/mrkt-two-col-panel-section-graphic-2.svg"
20
+ alt=""
21
+ />
22
+ <img
23
+ if:false={light}
24
+ class="graphic-3"
25
+ src="/assets/svg/mrkt-two-col-panel-section-graphic-3.svg"
26
+ alt=""
27
+ />
28
+ <img
29
+ if:true={light}
30
+ class="graphic-1"
31
+ src="/assets/svg/mrkt-two-col-panel-section-graphic-1-light.svg"
32
+ alt=""
33
+ />
34
+ <img
35
+ if:true={light}
36
+ class="graphic-2"
37
+ src="/assets/svg/mrkt-two-col-panel-section-graphic-2-light.svg"
38
+ alt=""
39
+ />
40
+ <img
41
+ if:true={light}
42
+ class="graphic-3"
43
+ src="/assets/svg/mrkt-two-col-panel-section-graphic-3-light.svg"
44
+ alt=""
45
+ />
46
+ <slot></slot>
47
+ </div>
48
+ </div>
49
+ <img
50
+ if:false={light}
51
+ class="graphic-swoop"
52
+ src="/assets/svg/mrkt-two-col-panel-section-swoop.svg"
53
+ alt=""
54
+ />
55
+ </template>
@@ -0,0 +1,15 @@
1
+ import { api, LightningElement } from "lwc";
2
+ import cx from "classnames";
3
+
4
+ export default class TwoColPanelSection extends LightningElement {
5
+ @api body!: string;
6
+ @api buttonHref!: string;
7
+ @api buttonText!: string;
8
+ @api subtitle!: string;
9
+ @api title!: string;
10
+ @api light?: boolean = false;
11
+
12
+ private get className(): string {
13
+ return cx("two-col-panel-section", !this.light && "dark");
14
+ }
15
+ }
@@ -0,0 +1,67 @@
1
+ @import "dxHelpers/reset";
2
+ @import "dxHelpers/text";
3
+
4
+ :host {
5
+ --padding-vertical: 56px;
6
+ --mrkt-c-two-col-section-padding-top: var(--padding-vertical);
7
+ --mrkt-c-two-col-section-padding-bottom: var(--padding-vertical);
8
+ }
9
+
10
+ .two-col-section {
11
+ background: var(--dx-g-cloud-blue-vibrant-95);
12
+ padding: var(--mrkt-c-two-col-section-padding-top)
13
+ var(--dx-g-page-padding-horizontal)
14
+ var(--mrkt-c-two-col-section-padding-bottom)
15
+ var(--dx-g-page-padding-horizontal);
16
+ width: 100%;
17
+ display: flex;
18
+ flex-direction: row;
19
+ justify-content: stretch;
20
+ align-items: center;
21
+ }
22
+
23
+ .two-col-section.dark {
24
+ background: var(--dx-g-indigo-vibrant-15);
25
+ }
26
+
27
+ img {
28
+ width: 50%;
29
+ max-width: 400px;
30
+ flex-grow: 1;
31
+ margin-right: 60px;
32
+ }
33
+
34
+ .text-container {
35
+ flex-grow: 1;
36
+ }
37
+
38
+ h2 {
39
+ padding-bottom: var(--dx-g-spacing-smd);
40
+ }
41
+
42
+ .two-col-section.dark h2,
43
+ .two-col-section.dark span {
44
+ color: white;
45
+ }
46
+
47
+ @media (max-width: 1024px) {
48
+ img {
49
+ margin-right: var(--dx-g-spacing-2xl);
50
+ }
51
+ }
52
+
53
+ @media (max-width: 768px) {
54
+ .two-col-section {
55
+ flex-direction: column;
56
+ }
57
+
58
+ .text-container {
59
+ width: 100%;
60
+ text-align: center;
61
+ }
62
+
63
+ img {
64
+ width: 100%;
65
+ margin: 0 auto 56px auto;
66
+ }
67
+ }
@@ -0,0 +1,9 @@
1
+ <template>
2
+ <div class={className}>
3
+ <img src={imgSrc} alt={imgAlt} />
4
+ <div class="text-container">
5
+ <h2 class="dx-text-heading-4">{title}</h2>
6
+ <span class="dx-text-body-2">{subtitle}</span>
7
+ </div>
8
+ </div>
9
+ </template>