@designcrowd/fe-shared-lib 1.2.0-kp-1 → 1.2.0-ml-jj-1

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-1",
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,49 @@ export default {
7
7
  component: PublishBrandPageModal,
8
8
  };
9
9
 
10
+ const locale = 'en-test';
11
+
12
+ const localePublishBrandPageModalContent = {
13
+ 'en-US': {
14
+ firstTimePublishHeaderLabel: `Set the URL for your Website`,
15
+ sitePublishedLabel: `Site published!`,
16
+ publishSuccessLabel: `Your Website is live! Start using your link:`,
17
+ freePublishCardTitleLabel: `Free Address`,
18
+ freePublishCardDescriptionLabel: `Choose a free address to publish now. You can always edit the URL later`,
19
+ slugInputPlaceholderYourNameLabel: 'your-name',
20
+ slugInputPlaceholderYourBusinessNameLabel: 'your-business-name',
21
+ freeDomainLabel: `Free domain`,
22
+ purchasedDomainLabel: `Purchased domain`,
23
+ setUrlLabel: 'Set URL',
24
+ publishLabel: 'Publish',
25
+ viewMoreDomainLabel: 'VIEW MORE DOMAINS',
26
+ viewMyWebsiteLabel: 'View Website',
27
+ copyLabel: 'Copy',
28
+ copySuccessLabel: 'Copied!',
29
+ publishedSuccessDescriptionLabel: 'Buy matching domain name for your brand',
30
+ hasAlreadyPurchasedDomainCloseButtonLabel: 'No thanks, maybe later',
31
+ },
32
+ 'en-test': {
33
+ firstTimePublishHeaderLabel: `++Set the URL for your Website`,
34
+ sitePublishedLabel: `++Site published!`,
35
+ publishSuccessLabel: `++Your Website is live! Start using your link:`,
36
+ freePublishCardTitleLabel: `++Free Address`,
37
+ freePublishCardDescriptionLabel: `++Choose a free address to publish now. You can always edit the URL later`,
38
+ slugInputPlaceholderYourNameLabel: '++your-name',
39
+ slugInputPlaceholderYourBusinessNameLabel: '++your-business-name',
40
+ freeDomainLabel: `++Free domain`,
41
+ purchasedDomainLabel: `++Purchased domain`,
42
+ setUrlLabel: '++Set URL',
43
+ publishLabel: '++Publish',
44
+ viewMoreDomainLabel: '++VIEW MORE DOMAINS',
45
+ viewMyWebsiteLabel: '++View Website',
46
+ copyLabel: '++Copy',
47
+ copySuccessLabel: '++Copied!',
48
+ publishedSuccessDescriptionLabel: '++Buy matching domain name for your brand',
49
+ hasAlreadyPurchasedDomainCloseButtonLabel: '++No thanks, maybe later',
50
+ },
51
+ };
52
+
10
53
  export const NotPublishedWithPurchasedDomains = () => {
11
54
  return {
12
55
  components: {
@@ -15,6 +58,7 @@ export const NotPublishedWithPurchasedDomains = () => {
15
58
  data() {
16
59
  return {
17
60
  domains,
61
+ publishBrandPageModalContent: localePublishBrandPageModalContent[locale],
18
62
  };
19
63
  },
20
64
  methods: {},
@@ -29,6 +73,7 @@ export const NotPublishedWithPurchasedDomains = () => {
29
73
  brand-page-base-url="https://brand.site/"
30
74
  radio-value="slug"
31
75
  :show-radio-buttons="domains.length > 0"
76
+ :publishBrandPageModalContent="publishBrandPageModalContent"
32
77
  />
33
78
  `,
34
79
  };
@@ -51,6 +96,7 @@ export const PublishWithSelectedDomain = () => {
51
96
  isRegistrationComplete: false,
52
97
  status: 'Active',
53
98
  },
99
+ publishBrandPageModalContent: localePublishBrandPageModalContent[locale],
54
100
  };
55
101
  },
56
102
  methods: {
@@ -69,6 +115,7 @@ export const PublishWithSelectedDomain = () => {
69
115
  brand-page-base-url="https://brand.site/"
70
116
  radio-value="purchased"
71
117
  :show-radio-buttons="domains.length > 0"
118
+ :publishBrandPageModalContent="publishBrandPageModalContent"
72
119
  @radio-button-changed="onRadioButtonChanged"
73
120
  />
74
121
  `,
@@ -83,6 +130,7 @@ export const SetSlug = () => {
83
130
  data() {
84
131
  return {
85
132
  domains,
133
+ publishBrandPageModalContent: localePublishBrandPageModalContent[locale],
86
134
  };
87
135
  },
88
136
  methods: {},
@@ -97,6 +145,7 @@ export const SetSlug = () => {
97
145
  brand-page-base-url="https://brand.site/"
98
146
  brand-page-slug='test-slug'
99
147
  :show-radio-buttons="domains.length > 0"
148
+ :publishBrandPageModalContent="publishBrandPageModalContent"
100
149
  />
101
150
  `,
102
151
  };
@@ -109,6 +158,7 @@ export const Published = () => {
109
158
  data() {
110
159
  return {
111
160
  domains,
161
+ publishBrandPageModalContent: localePublishBrandPageModalContent[locale],
112
162
  };
113
163
  },
114
164
  methods: {},
@@ -122,6 +172,7 @@ export const Published = () => {
122
172
  brand-page-base-url="https://brand.site/"
123
173
  radio-value="slug"
124
174
  brand-page-url="https://brand.site/brandname"
175
+ :publishBrandPageModalContent="publishBrandPageModalContent"
125
176
  />
126
177
  `,
127
178
  };
@@ -134,6 +185,7 @@ export const PublishedNoDomains = () => {
134
185
  data() {
135
186
  return {
136
187
  domains: [],
188
+ publishBrandPageModalContent: localePublishBrandPageModalContent[locale],
137
189
  };
138
190
  },
139
191
  methods: {},
@@ -149,6 +201,7 @@ export const PublishedNoDomains = () => {
149
201
  brand-page-base-url="https://brand.site/"
150
202
  radio-value="slug"
151
203
  brand-page-url="https://brand.site/test-slug"
204
+ :publishBrandPageModalContent="publishBrandPageModalContent"
152
205
  />
153
206
  `,
154
207
  };
@@ -164,6 +217,7 @@ export const Free = () => {
164
217
  domains: [],
165
218
  isSearchDomainListModalVisible: false,
166
219
  isDesignCom: false,
220
+ publishBrandPageModalContent: localePublishBrandPageModalContent[locale],
167
221
  };
168
222
  },
169
223
  methods: {
@@ -185,6 +239,7 @@ export const Free = () => {
185
239
  brand-page-url="https://brand.site/brandname"
186
240
  :show-radio-buttons="domains.length > 0"
187
241
  :is-search-domain-list-modal-visible="isSearchDomainListModalVisible"
242
+ :publishBrandPageModalContent="publishBrandPageModalContent"
188
243
  @on-hide-domain-modal="onHideDomainListModal"
189
244
  >
190
245
  <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"
@@ -196,11 +196,10 @@
196
196
  :display-result-limit="4"
197
197
  :domain-search-location="sitePublishedModal"
198
198
  @on-change-search="onSearchTextChanged"
199
- @on-buy-now-click="onBuyNowClick"
200
199
  />
201
200
  </div>
202
201
  <Button
203
- label="VIEW MORE DOMAINS"
202
+ :label="viewMoreDomainLabel"
204
203
  variant="no-border"
205
204
  size="small-medium"
206
205
  class="tw-text-center"
@@ -211,11 +210,13 @@
211
210
  <TextCopyField
212
211
  button-variant="secondary"
213
212
  :text="brandPageUrl"
213
+ :default-copy-button-text="copyLabel"
214
+ :copied-button-text="copySuccessLabel"
214
215
  data-test-brand-page-copy-input
215
216
  @on-click="onCopyUrlClick"
216
217
  />
217
218
  <Button
218
- :label="`View ${brandPageDisplayName}`"
219
+ :label="viewMyWebsiteLabel"
219
220
  :variant="isDesignCom ? 'primary' : 'primary-with-icon'"
220
221
  icon="chevron-right-wide"
221
222
  size="medium"
@@ -246,13 +247,13 @@
246
247
  </div>
247
248
  </template>
248
249
  <script>
249
- import Modal from '../../../../src/atoms/components/Modal/Modal.vue';
250
+ import Modal from '../../../atoms/components/Modal/Modal.vue';
250
251
  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';
252
+ import TextInput from '../../../atoms/components/TextInput/TextInput.vue';
253
+ import Dropdown from '../../../atoms/components/Dropdown/Dropdown.vue';
254
+ import DropdownItem from '../../../atoms/components/Dropdown/DropdownItem.vue';
255
+ import Button from '../../../atoms/components/Button/Button.vue';
256
+ import TextCopyField from '../../../atoms/components/TextCopyField/TextCopyField.vue';
256
257
 
257
258
  import SellDomainNameSearchWithResults from '../SellDomainNameSearchWithResults/SellDomainNameSearchWithResults.vue';
258
259
  import SellDomainNameListModal from '../SellDomainNameListModal/SellDomainNameListModal.vue';
@@ -260,8 +261,6 @@ import brandCrowdApiClient from '../../clients/brand-crowd-api.client';
260
261
  import Events, { sitePublishedModal } from '../../constants/event-constants';
261
262
  import mediaQueryMixin from '../../mixins/mediaQueryMixin';
262
263
 
263
- const headerSubtitle = 'Buy matching domain name for your brand';
264
-
265
264
  const DOMAIN_TYPES = {
266
265
  slug: 'slug',
267
266
  purchased: 'purchased',
@@ -400,7 +399,11 @@ export default {
400
399
  brandPageType: {
401
400
  type: String,
402
401
  required: true,
403
- default: false,
402
+ default: '',
403
+ },
404
+ publishBrandPageModalContent: {
405
+ type: Object,
406
+ required: true,
404
407
  },
405
408
  },
406
409
  emits: [
@@ -415,11 +418,30 @@ export default {
415
418
  ],
416
419
  data() {
417
420
  return {
421
+ firstTimePublishHeaderLabel: this.publishBrandPageModalContent.firstTimePublishHeaderLabel,
422
+ sitePublishedLabel: this.publishBrandPageModalContent.sitePublishedLabel,
423
+ publishSuccessLabel: this.publishBrandPageModalContent.publishSuccessLabel,
424
+ freePublishCardTitleLabel: this.publishBrandPageModalContent.freePublishCardTitleLabel,
425
+ freePublishCardDescriptionLabel: this.publishBrandPageModalContent.freePublishCardDescriptionLabel,
426
+ slugInputPlaceholderYourNameLabel: this.publishBrandPageModalContent.slugInputPlaceholderYourNameLabel,
427
+ slugInputPlaceholderYourBusinessNameLabel:
428
+ this.publishBrandPageModalContent.slugInputPlaceholderYourBusinessNameLabel,
429
+ freeDomainLabel: this.publishBrandPageModalContent.freeDomainLabel,
430
+ purchasedDomainLabel: this.publishBrandPageModalContent.purchasedDomainLabel,
431
+ setUrlLabel: this.publishBrandPageModalContent.setUrlLabel,
432
+ publishLabel: this.publishBrandPageModalContent.publishLabel,
433
+ viewMoreDomainLabel: this.publishBrandPageModalContent.viewMoreDomainLabel,
434
+ viewMyWebsiteLabel: this.publishBrandPageModalContent.viewMyWebsiteLabel,
435
+ copyLabel: this.publishBrandPageModalContent.copyLabel,
436
+ copySuccessLabel: this.publishBrandPageModalContent.copySuccessLabel,
437
+ hasAlreadyPurchasedDomainCloseButtonLabel:
438
+ this.publishBrandPageModalContent.hasAlreadyPurchasedDomainCloseButtonLabel,
439
+ publishedSuccessDescriptionLabel: this.publishBrandPageModalContent.publishedSuccessDescriptionLabel,
440
+
418
441
  DOMAIN_TYPES,
419
442
  domainTypeValue: this.radioValue,
420
443
  internalSlug: this.brandPageSlug,
421
444
  selectedCustomDomain: this.customDomain,
422
- headerSubtitle,
423
445
  userCurrency: undefined,
424
446
  isModalVisible: false,
425
447
  isLoading: false,
@@ -458,7 +480,9 @@ export default {
458
480
  return !this.allowPublish || this.isPublishing;
459
481
  },
460
482
  getPlaceHolder() {
461
- return this.brandPageType === 'brandContact' ? 'your-name' : 'your-business-name';
483
+ return this.brandPageType === 'brandContact'
484
+ ? this.slugInputPlaceholderYourNameLabel
485
+ : this.slugInputPlaceholderYourBusinessNameLabel;
462
486
  },
463
487
  },
464
488
  watch: {
@@ -490,7 +514,7 @@ export default {
490
514
  this.$emit('on-hide-domain-modal');
491
515
  },
492
516
  onCopyUrlClick() {
493
- this.$emit('copy-url-clicked');
517
+ this.$emit('copy-url-click');
494
518
  },
495
519
  onSlugChanged(e) {
496
520
  this.searchText = e;
@@ -510,7 +534,6 @@ export default {
510
534
  },
511
535
  onSearchTextChanged(val) {
512
536
  this.searchText = val;
513
- this.$emit('on-change-search', val);
514
537
  },
515
538
  onSelectPurchasedDomain(newVal) {
516
539
  this.selectedCustomDomain = newVal;
@@ -526,9 +549,6 @@ export default {
526
549
  onSellDomainNameListCloseModal() {
527
550
  this.$emit('on-hide-domain-modal');
528
551
  },
529
- onBuyNowClick() {
530
- this.$emit('on-buy-now-clicked');
531
- },
532
552
  async searchDomainName(isUserTriggered) {
533
553
  this.isLoading = true;
534
554
  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,
@@ -25,7 +25,6 @@
25
25
  :load-more-domains-button-text="loadMoreDomainsButtonText"
26
26
  :domain-search-location="domainSearchLocation"
27
27
  @load-more-domains="onLoadMoreDomains"
28
- @on-buy-now-click="onBuyNowClick"
29
28
  />
30
29
  <div v-else-if="shouldShowDomainNameNotFound" class="tw-flex tw-justify-center tw-text-center">
31
30
  Sorry, we couldn't find any domain for "{{ previousSearchText }}".
@@ -37,8 +36,8 @@
37
36
  </template>
38
37
 
39
38
  <script>
40
- import Loader from '../../../../src/atoms/components/Loader/Loader.vue';
41
- import Picture from '../../../../src/atoms/components/Picture/Picture.vue';
39
+ import Loader from '../../../atoms/components/Loader/Loader.vue';
40
+ import Picture from '../../../atoms/components/Picture/Picture.vue';
42
41
 
43
42
  import SellDomainNameList from '../SellDomainNameList/SellDomainNameList.vue';
44
43
  import Events from '../../constants/event-constants';
@@ -146,9 +145,6 @@ export default {
146
145
  window.dispatchEvent(new CustomEvent(Events.DomainLoadMoreEvent));
147
146
  this.domainNameItemsInView += this.domainNameItemsPerPage;
148
147
  },
149
- onBuyNowClick() {
150
- this.$emit('on-buy-now-click');
151
- },
152
148
  resetDomainNameItemsInView() {
153
149
  this.domainNameItemsInView = this.domainNameItemsPerPage;
154
150
  },
@@ -20,7 +20,6 @@
20
20
  :domain-name-items-per-page="domainNameItemsPerPage"
21
21
  :load-more-domains-button-text="loadMoreDomainsButtonText"
22
22
  :domain-search-location="domainSearchLocation"
23
- @on-buy-now-click="onBuyNowClick"
24
23
  />
25
24
  </div>
26
25
  </template>
@@ -171,9 +170,6 @@ export default {
171
170
  this.isBusy = false;
172
171
  }
173
172
  },
174
- onBuyNowClick() {
175
- this.$emit('on-buy-now-click');
176
- },
177
173
  cleanText(inputText) {
178
174
  // In this function, we use the Unicode property escapes \p{L} and \p{N} to match any Unicode letters (characters from various scripts) and Unicode numbers, respectively.
179
175
  const cleanedText = inputText.replace(/[^\p{L}\p{N}\-.]+/gu, '');