@designcrowd/fe-shared-lib 1.2.0-kp-1 → 1.2.0-ml-jj-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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@designcrowd/fe-shared-lib",
3
- "version": "1.2.0-kp-1",
3
+ "version": "1.2.0-ml-jj-2",
4
4
  "scripts": {
5
5
  "start": "npm run storybook",
6
6
  "build": "npm run build:css --production",
@@ -719,6 +719,9 @@ video {
719
719
  .theme-brandCrowd .tw-ml-auto {
720
720
  margin-left: auto;
721
721
  }
722
+ .theme-brandCrowd .tw-mr-1 {
723
+ margin-right: 0.25rem;
724
+ }
722
725
  .theme-brandCrowd .tw-mr-2 {
723
726
  margin-right: 0.5rem;
724
727
  }
@@ -1450,6 +1453,17 @@ video {
1450
1453
  .theme-brandCrowd .tw-bg-opacity-80 {
1451
1454
  --tw-bg-opacity: 0.8;
1452
1455
  }
1456
+ .theme-brandCrowd .tw-bg-gradient-to-t {
1457
+ background-image: linear-gradient(to top, var(--tw-gradient-stops));
1458
+ }
1459
+ .theme-brandCrowd .tw-from-\[\#d946ef\] {
1460
+ --tw-gradient-from: #d946ef var(--tw-gradient-from-position);
1461
+ --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
1462
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
1463
+ }
1464
+ .theme-brandCrowd .tw-to-\[\#8b5cf6\] {
1465
+ --tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position);
1466
+ }
1453
1467
  .theme-brandCrowd .tw-bg-no-repeat {
1454
1468
  background-repeat: no-repeat;
1455
1469
  }
@@ -2027,6 +2041,10 @@ video {
2027
2041
  --tw-bg-opacity: 1;
2028
2042
  background-color: rgb(0 121 172 / var(--tw-bg-opacity));
2029
2043
  }
2044
+ .theme-brandCrowd .hover\:tw-bg-primary-100:hover {
2045
+ --tw-bg-opacity: 1;
2046
+ background-color: rgb(252 209 217 / var(--tw-bg-opacity));
2047
+ }
2030
2048
  .theme-brandCrowd .hover\:tw-bg-primary-400:hover {
2031
2049
  --tw-bg-opacity: 1;
2032
2050
  background-color: rgb(245 73 101 / var(--tw-bg-opacity));
@@ -2091,6 +2109,10 @@ video {
2091
2109
  --tw-shadow-color: #0097D7 !important;
2092
2110
  --tw-shadow: var(--tw-shadow-colored) !important;
2093
2111
  }
2112
+ .theme-brandCrowd .hover\:tw-brightness-\[0\.85\]:hover {
2113
+ --tw-brightness: brightness(0.85);
2114
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
2115
+ }
2094
2116
  .theme-brandCrowd .focus\:tw-border-error-600:focus {
2095
2117
  --tw-border-opacity: 1;
2096
2118
  border-color: rgb(194 22 50 / var(--tw-border-opacity));
@@ -719,6 +719,9 @@ video {
719
719
  .theme-brandPage .tw-ml-auto {
720
720
  margin-left: auto;
721
721
  }
722
+ .theme-brandPage .tw-mr-1 {
723
+ margin-right: 0.25rem;
724
+ }
722
725
  .theme-brandPage .tw-mr-2 {
723
726
  margin-right: 0.5rem;
724
727
  }
@@ -1298,6 +1301,17 @@ video {
1298
1301
  .theme-brandPage .tw-bg-opacity-80 {
1299
1302
  --tw-bg-opacity: 0.8;
1300
1303
  }
1304
+ .theme-brandPage .tw-bg-gradient-to-t {
1305
+ background-image: linear-gradient(to top, var(--tw-gradient-stops));
1306
+ }
1307
+ .theme-brandPage .tw-from-\[\#d946ef\] {
1308
+ --tw-gradient-from: #d946ef var(--tw-gradient-from-position);
1309
+ --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
1310
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
1311
+ }
1312
+ .theme-brandPage .tw-to-\[\#8b5cf6\] {
1313
+ --tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position);
1314
+ }
1301
1315
  .theme-brandPage .tw-bg-no-repeat {
1302
1316
  background-repeat: no-repeat;
1303
1317
  }
@@ -1795,6 +1809,10 @@ video {
1795
1809
  --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
1796
1810
  box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
1797
1811
  }
1812
+ .theme-brandPage .hover\:tw-brightness-\[0\.85\]:hover {
1813
+ --tw-brightness: brightness(0.85);
1814
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
1815
+ }
1798
1816
  .theme-brandPage .focus\:tw-border-grayscale-600:focus {
1799
1817
  --tw-border-opacity: 1;
1800
1818
  border-color: rgb(94 94 94 / var(--tw-border-opacity));
@@ -719,6 +719,9 @@ video {
719
719
  .theme-crazyDomains .tw-ml-auto {
720
720
  margin-left: auto;
721
721
  }
722
+ .theme-crazyDomains .tw-mr-1 {
723
+ margin-right: 0.25rem;
724
+ }
722
725
  .theme-crazyDomains .tw-mr-2 {
723
726
  margin-right: 0.5rem;
724
727
  }
@@ -1450,6 +1453,17 @@ video {
1450
1453
  .theme-crazyDomains .tw-bg-opacity-80 {
1451
1454
  --tw-bg-opacity: 0.8;
1452
1455
  }
1456
+ .theme-crazyDomains .tw-bg-gradient-to-t {
1457
+ background-image: linear-gradient(to top, var(--tw-gradient-stops));
1458
+ }
1459
+ .theme-crazyDomains .tw-from-\[\#d946ef\] {
1460
+ --tw-gradient-from: #d946ef var(--tw-gradient-from-position);
1461
+ --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
1462
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
1463
+ }
1464
+ .theme-crazyDomains .tw-to-\[\#8b5cf6\] {
1465
+ --tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position);
1466
+ }
1453
1467
  .theme-crazyDomains .tw-bg-no-repeat {
1454
1468
  background-repeat: no-repeat;
1455
1469
  }
@@ -2027,6 +2041,10 @@ video {
2027
2041
  --tw-bg-opacity: 1;
2028
2042
  background-color: rgb(0 129 191 / var(--tw-bg-opacity));
2029
2043
  }
2044
+ .theme-crazyDomains .hover\:tw-bg-primary-100:hover {
2045
+ --tw-bg-opacity: 1;
2046
+ background-color: rgb(226 238 213 / var(--tw-bg-opacity));
2047
+ }
2030
2048
  .theme-crazyDomains .hover\:tw-bg-primary-400:hover {
2031
2049
  --tw-bg-opacity: 1;
2032
2050
  background-color: rgb(140 189 89 / var(--tw-bg-opacity));
@@ -2091,6 +2109,10 @@ video {
2091
2109
  --tw-shadow-color: #00A1EF !important;
2092
2110
  --tw-shadow: var(--tw-shadow-colored) !important;
2093
2111
  }
2112
+ .theme-crazyDomains .hover\:tw-brightness-\[0\.85\]:hover {
2113
+ --tw-brightness: brightness(0.85);
2114
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
2115
+ }
2094
2116
  .theme-crazyDomains .focus\:tw-border-error-600:focus {
2095
2117
  --tw-border-opacity: 1;
2096
2118
  border-color: rgb(186 24 79 / var(--tw-border-opacity));
@@ -719,6 +719,9 @@ video {
719
719
  .theme-designCom .tw-ml-auto {
720
720
  margin-left: auto;
721
721
  }
722
+ .theme-designCom .tw-mr-1 {
723
+ margin-right: 0.25rem;
724
+ }
722
725
  .theme-designCom .tw-mr-2 {
723
726
  margin-right: 0.5rem;
724
727
  }
@@ -1450,6 +1453,17 @@ video {
1450
1453
  .theme-designCom .tw-bg-opacity-80 {
1451
1454
  --tw-bg-opacity: 0.8;
1452
1455
  }
1456
+ .theme-designCom .tw-bg-gradient-to-t {
1457
+ background-image: linear-gradient(to top, var(--tw-gradient-stops));
1458
+ }
1459
+ .theme-designCom .tw-from-\[\#d946ef\] {
1460
+ --tw-gradient-from: #d946ef var(--tw-gradient-from-position);
1461
+ --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
1462
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
1463
+ }
1464
+ .theme-designCom .tw-to-\[\#8b5cf6\] {
1465
+ --tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position);
1466
+ }
1453
1467
  .theme-designCom .tw-bg-no-repeat {
1454
1468
  background-repeat: no-repeat;
1455
1469
  }
@@ -2027,6 +2041,10 @@ video {
2027
2041
  --tw-bg-opacity: 1;
2028
2042
  background-color: rgb(50 71 197 / var(--tw-bg-opacity));
2029
2043
  }
2044
+ .theme-designCom .hover\:tw-bg-primary-100:hover {
2045
+ --tw-bg-opacity: 1;
2046
+ background-color: rgb(236 238 254 / var(--tw-bg-opacity));
2047
+ }
2030
2048
  .theme-designCom .hover\:tw-bg-primary-400:hover {
2031
2049
  --tw-bg-opacity: 1;
2032
2050
  background-color: rgb(121 139 249 / var(--tw-bg-opacity));
@@ -2091,6 +2109,10 @@ video {
2091
2109
  --tw-shadow-color: #3f59f6 !important;
2092
2110
  --tw-shadow: var(--tw-shadow-colored) !important;
2093
2111
  }
2112
+ .theme-designCom .hover\:tw-brightness-\[0\.85\]:hover {
2113
+ --tw-brightness: brightness(0.85);
2114
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
2115
+ }
2094
2116
  .theme-designCom .focus\:tw-border-error-600:focus {
2095
2117
  --tw-border-opacity: 1;
2096
2118
  border-color: rgb(182 58 42 / var(--tw-border-opacity));
@@ -719,6 +719,9 @@ video {
719
719
  .theme-designCrowd .tw-ml-auto {
720
720
  margin-left: auto;
721
721
  }
722
+ .theme-designCrowd .tw-mr-1 {
723
+ margin-right: 0.25rem;
724
+ }
722
725
  .theme-designCrowd .tw-mr-2 {
723
726
  margin-right: 0.5rem;
724
727
  }
@@ -1450,6 +1453,17 @@ video {
1450
1453
  .theme-designCrowd .tw-bg-opacity-80 {
1451
1454
  --tw-bg-opacity: 0.8;
1452
1455
  }
1456
+ .theme-designCrowd .tw-bg-gradient-to-t {
1457
+ background-image: linear-gradient(to top, var(--tw-gradient-stops));
1458
+ }
1459
+ .theme-designCrowd .tw-from-\[\#d946ef\] {
1460
+ --tw-gradient-from: #d946ef var(--tw-gradient-from-position);
1461
+ --tw-gradient-to: rgb(217 70 239 / 0) var(--tw-gradient-to-position);
1462
+ --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to);
1463
+ }
1464
+ .theme-designCrowd .tw-to-\[\#8b5cf6\] {
1465
+ --tw-gradient-to: #8b5cf6 var(--tw-gradient-to-position);
1466
+ }
1453
1467
  .theme-designCrowd .tw-bg-no-repeat {
1454
1468
  background-repeat: no-repeat;
1455
1469
  }
@@ -2027,6 +2041,10 @@ video {
2027
2041
  --tw-bg-opacity: 1;
2028
2042
  background-color: rgb(14 121 188 / var(--tw-bg-opacity));
2029
2043
  }
2044
+ .theme-designCrowd .hover\:tw-bg-primary-100:hover {
2045
+ --tw-bg-opacity: 1;
2046
+ background-color: rgb(207 234 251 / var(--tw-bg-opacity));
2047
+ }
2030
2048
  .theme-designCrowd .hover\:tw-bg-primary-400:hover {
2031
2049
  --tw-bg-opacity: 1;
2032
2050
  background-color: rgb(65 172 239 / var(--tw-bg-opacity));
@@ -2091,6 +2109,10 @@ video {
2091
2109
  --tw-shadow-color: #1197EB !important;
2092
2110
  --tw-shadow: var(--tw-shadow-colored) !important;
2093
2111
  }
2112
+ .theme-designCrowd .hover\:tw-brightness-\[0\.85\]:hover {
2113
+ --tw-brightness: brightness(0.85);
2114
+ filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
2115
+ }
2094
2116
  .theme-designCrowd .focus\:tw-border-error-600:focus {
2095
2117
  --tw-border-opacity: 1;
2096
2118
  border-color: rgb(195 50 48 / var(--tw-border-opacity));
@@ -7,6 +7,63 @@ export default {
7
7
  component: PublishBrandPageModal,
8
8
  };
9
9
 
10
+ const locale = 'en-test';
11
+
12
+ const localePublishBrandPageModalContent = {
13
+ 'en-US': {
14
+ searchButtonLabel: 'Search',
15
+ publishBrandPageModalContent: {
16
+ firstTimePublishHeaderLabel: `Set the URL for your Website`,
17
+ sitePublishedLabel: `Site published!`,
18
+ publishSuccessLabel: `Your Website is live! Start using your link:`,
19
+ freePublishCardTitleLabel: `Free Address`,
20
+ freePublishCardDescriptionLabel: `Choose a free address to publish now. You can always edit the URL later`,
21
+ slugInputPlaceholderYourNameLabel: 'your-name',
22
+ slugInputPlaceholderYourBusinessNameLabel: 'your-business-name',
23
+ freeDomainLabel: `Free domain`,
24
+ purchasedDomainLabel: `Purchased domain`,
25
+ setUrlLabel: 'Set URL',
26
+ publishLabel: 'Publish',
27
+ viewMoreDomainLabel: 'VIEW MORE DOMAINS',
28
+ viewMyWebsiteLabel: 'View Website',
29
+ copyLabel: 'Copy',
30
+ copySuccessLabel: 'Copied!',
31
+ publishedSuccessDescriptionLabel: 'Buy matching domain name for your brand',
32
+ hasAlreadyPurchasedDomainCloseButtonLabel: 'No thanks, maybe later',
33
+ },
34
+ sellDomainNameListSearchResult: {
35
+ domainSearchEmptyMessage: 'Sorry, we couldn\'t find any domain for "{domainNameSearchTerm}".',
36
+ searchAnotherDomainMessage: 'Try searching with another domain name.',
37
+ },
38
+ },
39
+ 'en-test': {
40
+ searchButtonLabel: '++Search',
41
+ publishBrandPageModalContent: {
42
+ firstTimePublishHeaderLabel: `++Set the URL for your Website`,
43
+ sitePublishedLabel: `++Site published!`,
44
+ publishSuccessLabel: `++Your Website is live! Start using your link:`,
45
+ freePublishCardTitleLabel: `++Free Address`,
46
+ freePublishCardDescriptionLabel: `++Choose a free address to publish now. You can always edit the URL later`,
47
+ slugInputPlaceholderYourNameLabel: '++your-name',
48
+ slugInputPlaceholderYourBusinessNameLabel: '++your-business-name',
49
+ freeDomainLabel: `++Free domain`,
50
+ purchasedDomainLabel: `++Purchased domain`,
51
+ setUrlLabel: '++Set URL',
52
+ publishLabel: '++Publish',
53
+ viewMoreDomainLabel: '++VIEW MORE DOMAINS',
54
+ viewMyWebsiteLabel: '++View Website',
55
+ copyLabel: '++Copy',
56
+ copySuccessLabel: '++Copied!',
57
+ publishedSuccessDescriptionLabel: '++Buy matching domain name for your brand',
58
+ hasAlreadyPurchasedDomainCloseButtonLabel: '++No thanks, maybe later',
59
+ },
60
+ sellDomainNameListSearchResult: {
61
+ domainSearchEmptyMessage: '++Sorry, we couldn\'t find any domain for "{domainNameSearchTerm}".',
62
+ searchAnotherDomainMessage: '++Try searching with another domain name.',
63
+ },
64
+ },
65
+ };
66
+
10
67
  export const NotPublishedWithPurchasedDomains = () => {
11
68
  return {
12
69
  components: {
@@ -15,6 +72,7 @@ export const NotPublishedWithPurchasedDomains = () => {
15
72
  data() {
16
73
  return {
17
74
  domains,
75
+ content: localePublishBrandPageModalContent[locale],
18
76
  };
19
77
  },
20
78
  methods: {},
@@ -29,6 +87,7 @@ export const NotPublishedWithPurchasedDomains = () => {
29
87
  brand-page-base-url="https://brand.site/"
30
88
  radio-value="slug"
31
89
  :show-radio-buttons="domains.length > 0"
90
+ :content="content"
32
91
  />
33
92
  `,
34
93
  };
@@ -51,6 +110,7 @@ export const PublishWithSelectedDomain = () => {
51
110
  isRegistrationComplete: false,
52
111
  status: 'Active',
53
112
  },
113
+ content: localePublishBrandPageModalContent[locale],
54
114
  };
55
115
  },
56
116
  methods: {
@@ -69,6 +129,7 @@ export const PublishWithSelectedDomain = () => {
69
129
  brand-page-base-url="https://brand.site/"
70
130
  radio-value="purchased"
71
131
  :show-radio-buttons="domains.length > 0"
132
+ :content="content"
72
133
  @radio-button-changed="onRadioButtonChanged"
73
134
  />
74
135
  `,
@@ -83,6 +144,7 @@ export const SetSlug = () => {
83
144
  data() {
84
145
  return {
85
146
  domains,
147
+ content: localePublishBrandPageModalContent[locale],
86
148
  };
87
149
  },
88
150
  methods: {},
@@ -97,6 +159,7 @@ export const SetSlug = () => {
97
159
  brand-page-base-url="https://brand.site/"
98
160
  brand-page-slug='test-slug'
99
161
  :show-radio-buttons="domains.length > 0"
162
+ :content="content"
100
163
  />
101
164
  `,
102
165
  };
@@ -109,6 +172,7 @@ export const Published = () => {
109
172
  data() {
110
173
  return {
111
174
  domains,
175
+ content: localePublishBrandPageModalContent[locale],
112
176
  };
113
177
  },
114
178
  methods: {},
@@ -122,6 +186,7 @@ export const Published = () => {
122
186
  brand-page-base-url="https://brand.site/"
123
187
  radio-value="slug"
124
188
  brand-page-url="https://brand.site/brandname"
189
+ :content="content"
125
190
  />
126
191
  `,
127
192
  };
@@ -134,6 +199,7 @@ export const PublishedNoDomains = () => {
134
199
  data() {
135
200
  return {
136
201
  domains: [],
202
+ content: localePublishBrandPageModalContent[locale],
137
203
  };
138
204
  },
139
205
  methods: {},
@@ -149,6 +215,7 @@ export const PublishedNoDomains = () => {
149
215
  brand-page-base-url="https://brand.site/"
150
216
  radio-value="slug"
151
217
  brand-page-url="https://brand.site/test-slug"
218
+ :content="content"
152
219
  />
153
220
  `,
154
221
  };
@@ -164,6 +231,7 @@ export const Free = () => {
164
231
  domains: [],
165
232
  isSearchDomainListModalVisible: false,
166
233
  isDesignCom: false,
234
+ content: localePublishBrandPageModalContent[locale],
167
235
  };
168
236
  },
169
237
  methods: {
@@ -185,6 +253,7 @@ export const Free = () => {
185
253
  brand-page-url="https://brand.site/brandname"
186
254
  :show-radio-buttons="domains.length > 0"
187
255
  :is-search-domain-list-modal-visible="isSearchDomainListModalVisible"
256
+ :content="content"
188
257
  @on-hide-domain-modal="onHideDomainListModal"
189
258
  >
190
259
  <template #recommended>
@@ -11,15 +11,15 @@
11
11
  >
12
12
  <template #header>
13
13
  <div v-if="isNotPublished || isSlugEditMode" class="tw-text-center tw-font-bold tw-mb-8 tw-mt-8 tw-text-4xl">
14
- <span>Set the URL for your {{ brandPageDisplayName }}</span>
14
+ <span>{{ firstTimePublishHeaderLabel }}</span>
15
15
  </div>
16
16
  <div v-if="isPublished && !isSlugEditMode" class="tw-text-center tw-font-bold tw-mb-8 tw-mt-8">
17
- <p class="tw-font-bold tw-text-black tw-mb-2 tw-text-4xl">Site published!</p>
17
+ <p class="tw-font-bold tw-text-black tw-mb-2 tw-text-4xl">{{ sitePublishedLabel }}</p>
18
18
  <p v-if="hasPurchasedDomains || isCustomDomainActive" class="tw-text-grayscale-600 tw-mb-8">
19
- Your {{ brandPageDisplayName }} is live! Start using your link:
19
+ {{ publishSuccessLabel }}
20
20
  </p>
21
21
  <p v-else class="tw-text-grayscale-600 tw-mb-8 tw-font-normal">
22
- {{ headerSubtitle }}
22
+ {{ publishedSuccessDescriptionLabel }}
23
23
  </p>
24
24
  </div>
25
25
  </template>
@@ -44,15 +44,15 @@
44
44
  for="domain-type"
45
45
  class="tw-font-sans tw-w-full tw-text-grayscale-600 tw-text-sm tw-cursor-pointer tw-ml-2"
46
46
  >
47
- <span class="tw-inline-block tw-rounded-full">Free domain</span>
47
+ <span class="tw-inline-block tw-rounded-full">{{ freeDomainLabel }}</span>
48
48
  </label>
49
49
  </div>
50
50
  <div v-if="isNotPublished || isSlugEditMode" class="tw-mt-4">
51
51
  <PublishBrandPageCard
52
52
  v-if="!hasPurchasedDomains"
53
- :imgUrl="iconUrl"
54
- title="Free Address"
55
- description="Choose a free address to publish now. You can always edit the URL later"
53
+ :img-url="iconUrl"
54
+ :title="freePublishCardTitleLabel"
55
+ :description="freePublishCardDescriptionLabel"
56
56
  :is-design-com="isDesignCom"
57
57
  :has-search-button="false"
58
58
  >
@@ -78,17 +78,17 @@
78
78
  </div>
79
79
  </div>
80
80
  <Button
81
- label="Publish"
81
+ :label="publishLabel"
82
82
  :disabled="isPublishingDisabled"
83
83
  class="tw-flex tw-items-center tw-justify-center md:tw-ml-2 tw-mt-2 md:tw-mt-0 tw-font-sans tw-font-bold tw-transition-colors tw-duration-300 tw-text-sm tw-w-full tw-rounded tw-cursor-pointer tw-w-full md:tw-w-24"
84
84
  data-test-brand-page-publish-button
85
85
  variant="primary"
86
86
  size="small-medium"
87
- @on-click="onPublish"
88
87
  :full-width="isMobile"
89
88
  :class="{
90
89
  'tw-uppercase': !isDesignCom,
91
90
  }"
91
+ @on-click="onPublish"
92
92
  />
93
93
  </div>
94
94
  </template>
@@ -128,7 +128,7 @@
128
128
  for="domain-type"
129
129
  class="tw-font-sans tw-w-full tw-text-grayscale-600 tw-text-sm tw-cursor-pointer tw-ml-2"
130
130
  >
131
- <span class="tw-inline-block tw-rounded-full">Purchased domain</span>
131
+ <span class="tw-inline-block tw-rounded-full">{{ purchasedDomainLabel }}</span>
132
132
  </label>
133
133
  </div>
134
134
  <div class="tw-mt-4 domain-dropdown">
@@ -167,7 +167,7 @@
167
167
  :style="isMobile ? 'padding-left: 1.5rem; padding-right: 1.5rem;' : ''"
168
168
  >
169
169
  <Button
170
- :label="isSlugEditMode ? 'Set URL' : 'Publish'"
170
+ :label="isSlugEditMode ? setUrlLabel : publishLabel"
171
171
  :variant="isDesignCom ? 'primary' : 'primary-with-icon'"
172
172
  icon="chevron-right-wide"
173
173
  :disabled="isPublishingDisabled"
@@ -177,7 +177,7 @@
177
177
  @on-click="onPublish"
178
178
  />
179
179
  <Button
180
- label="No thanks, maybe later"
180
+ :label="hasAlreadyPurchasedDomainCloseButtonLabel"
181
181
  variant="no-border"
182
182
  size="large"
183
183
  class="tw-my-4"
@@ -195,12 +195,12 @@
195
195
  :currency="userCurrency"
196
196
  :display-result-limit="4"
197
197
  :domain-search-location="sitePublishedModal"
198
+ :content="content"
198
199
  @on-change-search="onSearchTextChanged"
199
- @on-buy-now-click="onBuyNowClick"
200
200
  />
201
201
  </div>
202
202
  <Button
203
- label="VIEW MORE DOMAINS"
203
+ :label="viewMoreDomainLabel"
204
204
  variant="no-border"
205
205
  size="small-medium"
206
206
  class="tw-text-center"
@@ -211,11 +211,13 @@
211
211
  <TextCopyField
212
212
  button-variant="secondary"
213
213
  :text="brandPageUrl"
214
+ :default-copy-button-text="copyLabel"
215
+ :copied-button-text="copySuccessLabel"
214
216
  data-test-brand-page-copy-input
215
217
  @on-click="onCopyUrlClick"
216
218
  />
217
219
  <Button
218
- :label="`View ${brandPageDisplayName}`"
220
+ :label="viewMyWebsiteLabel"
219
221
  :variant="isDesignCom ? 'primary' : 'primary-with-icon'"
220
222
  icon="chevron-right-wide"
221
223
  size="medium"
@@ -246,13 +248,13 @@
246
248
  </div>
247
249
  </template>
248
250
  <script>
249
- import Modal from '../../../../src/atoms/components/Modal/Modal.vue';
251
+ import Modal from '../../../atoms/components/Modal/Modal.vue';
250
252
  import PublishBrandPageCard from './PublishBrandPageCard.vue';
251
- import TextInput from '../../../../src/atoms/components/TextInput/TextInput.vue';
252
- import Dropdown from '../../../../src/atoms/components/Dropdown/Dropdown.vue';
253
- import DropdownItem from '../../../../src/atoms/components/Dropdown/DropdownItem.vue';
254
- import Button from '../../../../src/atoms/components/Button/Button.vue';
255
- import TextCopyField from '../../../../src/atoms/components/TextCopyField/TextCopyField.vue';
253
+ import TextInput from '../../../atoms/components/TextInput/TextInput.vue';
254
+ import Dropdown from '../../../atoms/components/Dropdown/Dropdown.vue';
255
+ import DropdownItem from '../../../atoms/components/Dropdown/DropdownItem.vue';
256
+ import Button from '../../../atoms/components/Button/Button.vue';
257
+ import TextCopyField from '../../../atoms/components/TextCopyField/TextCopyField.vue';
256
258
 
257
259
  import SellDomainNameSearchWithResults from '../SellDomainNameSearchWithResults/SellDomainNameSearchWithResults.vue';
258
260
  import SellDomainNameListModal from '../SellDomainNameListModal/SellDomainNameListModal.vue';
@@ -260,8 +262,6 @@ import brandCrowdApiClient from '../../clients/brand-crowd-api.client';
260
262
  import Events, { sitePublishedModal } from '../../constants/event-constants';
261
263
  import mediaQueryMixin from '../../mixins/mediaQueryMixin';
262
264
 
263
- const headerSubtitle = 'Buy matching domain name for your brand';
264
-
265
265
  const DOMAIN_TYPES = {
266
266
  slug: 'slug',
267
267
  purchased: 'purchased',
@@ -400,7 +400,11 @@ export default {
400
400
  brandPageType: {
401
401
  type: String,
402
402
  required: true,
403
- default: false,
403
+ default: '',
404
+ },
405
+ content: {
406
+ type: Object,
407
+ required: true,
404
408
  },
405
409
  },
406
410
  emits: [
@@ -415,11 +419,30 @@ export default {
415
419
  ],
416
420
  data() {
417
421
  return {
422
+ firstTimePublishHeaderLabel: this.content.publishBrandPageModalContent.firstTimePublishHeaderLabel,
423
+ sitePublishedLabel: this.content.publishBrandPageModalContent.sitePublishedLabel,
424
+ publishSuccessLabel: this.content.publishBrandPageModalContent.publishSuccessLabel,
425
+ freePublishCardTitleLabel: this.content.publishBrandPageModalContent.freePublishCardTitleLabel,
426
+ freePublishCardDescriptionLabel: this.content.publishBrandPageModalContent.freePublishCardDescriptionLabel,
427
+ slugInputPlaceholderYourNameLabel:
428
+ this.content.publishBrandPageModalContent.slugInputPlaceholderYourNameLabel,
429
+ slugInputPlaceholderYourBusinessNameLabel:
430
+ this.content.publishBrandPageModalContent.slugInputPlaceholderYourBusinessNameLabel,
431
+ freeDomainLabel: this.content.publishBrandPageModalContent.freeDomainLabel,
432
+ purchasedDomainLabel: this.content.publishBrandPageModalContent.purchasedDomainLabel,
433
+ setUrlLabel: this.content.publishBrandPageModalContent.setUrlLabel,
434
+ publishLabel: this.content.publishBrandPageModalContent.publishLabel,
435
+ viewMoreDomainLabel: this.content.publishBrandPageModalContent.viewMoreDomainLabel,
436
+ viewMyWebsiteLabel: this.content.publishBrandPageModalContent.viewMyWebsiteLabel,
437
+ copyLabel: this.content.publishBrandPageModalContent.copyLabel,
438
+ copySuccessLabel: this.content.publishBrandPageModalContent.copySuccessLabel,
439
+ hasAlreadyPurchasedDomainCloseButtonLabel:
440
+ this.content.publishBrandPageModalContent.hasAlreadyPurchasedDomainCloseButtonLabel,
441
+ publishedSuccessDescriptionLabel: this.content.publishBrandPageModalContent.publishedSuccessDescriptionLabel,
418
442
  DOMAIN_TYPES,
419
443
  domainTypeValue: this.radioValue,
420
444
  internalSlug: this.brandPageSlug,
421
445
  selectedCustomDomain: this.customDomain,
422
- headerSubtitle,
423
446
  userCurrency: undefined,
424
447
  isModalVisible: false,
425
448
  isLoading: false,
@@ -458,7 +481,9 @@ export default {
458
481
  return !this.allowPublish || this.isPublishing;
459
482
  },
460
483
  getPlaceHolder() {
461
- return this.brandPageType === 'brandContact' ? 'your-name' : 'your-business-name';
484
+ return this.brandPageType === 'brandContact'
485
+ ? this.slugInputPlaceholderYourNameLabel
486
+ : this.slugInputPlaceholderYourBusinessNameLabel;
462
487
  },
463
488
  },
464
489
  watch: {
@@ -490,7 +515,7 @@ export default {
490
515
  this.$emit('on-hide-domain-modal');
491
516
  },
492
517
  onCopyUrlClick() {
493
- this.$emit('copy-url-clicked');
518
+ this.$emit('copy-url-click');
494
519
  },
495
520
  onSlugChanged(e) {
496
521
  this.searchText = e;
@@ -510,7 +535,6 @@ export default {
510
535
  },
511
536
  onSearchTextChanged(val) {
512
537
  this.searchText = val;
513
- this.$emit('on-change-search', val);
514
538
  },
515
539
  onSelectPurchasedDomain(newVal) {
516
540
  this.selectedCustomDomain = newVal;
@@ -526,9 +550,6 @@ export default {
526
550
  onSellDomainNameListCloseModal() {
527
551
  this.$emit('on-hide-domain-modal');
528
552
  },
529
- onBuyNowClick() {
530
- this.$emit('on-buy-now-clicked');
531
- },
532
553
  async searchDomainName(isUserTriggered) {
533
554
  this.isLoading = true;
534
555
  let searchSlug = '';
@@ -114,7 +114,6 @@ export default {
114
114
  if (typeof this.domainSearchLocation !== 'undefined') {
115
115
  request.domainSearchLocation = this.domainSearchLocation;
116
116
  }
117
- this.$emit('on-buy-now-click');
118
117
  window.dispatchEvent(
119
118
  new CustomEvent(Events.DomainSelectedEvent, {
120
119
  detail: request,