@designcrowd/fe-shared-lib 1.4.7-jj-3 → 1.4.7

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 (146) hide show
  1. package/dist/css/tailwind-brandCrowd.css +86 -6
  2. package/dist/css/tailwind-brandPage.css +82 -6
  3. package/dist/css/tailwind-crazyDomains.css +86 -6
  4. package/dist/css/tailwind-designCom.css +86 -6
  5. package/dist/css/tailwind-designCrowd.css +86 -6
  6. package/package.json +1 -1
  7. package/src/experiences/components/PublishBrandPageModal/PublishBrandPageModal.vue +297 -96
  8. package/.storybook-static/assets/Auth-CV5AmoX8.css +0 -1
  9. package/.storybook-static/assets/Auth.stories-CX3sjxh5.js +0 -490
  10. package/.storybook-static/assets/AuthCrazyDomains.stories-Didj_VFa.js +0 -73
  11. package/.storybook-static/assets/Button-5UzSGUF6.css +0 -1
  12. package/.storybook-static/assets/Button-DtVlr_q3.js +0 -1
  13. package/.storybook-static/assets/ButtonGroup-Dfr7bNL2.css +0 -1
  14. package/.storybook-static/assets/ButtonGroup.stories-4EQk-ktb.js +0 -503
  15. package/.storybook-static/assets/ButtonPrimary-Bu6bXb_c.css +0 -1
  16. package/.storybook-static/assets/ButtonPrimary-DG9wNod9.js +0 -1
  17. package/.storybook-static/assets/Buttons.stories-B_KpeCzt.js +0 -761
  18. package/.storybook-static/assets/ButtonsCrazyDomains.stories-oZtahAmR.js +0 -199
  19. package/.storybook-static/assets/Checkbox.mixin-DkHpdvGa.js +0 -1
  20. package/.storybook-static/assets/Checkbox.stories-C67RL0ut.js +0 -203
  21. package/.storybook-static/assets/Checktile.stories-DN2wfzd6.js +0 -88
  22. package/.storybook-static/assets/CollapsiblePanel.stories-BkzrqfVG.js +0 -39
  23. package/.storybook-static/assets/ColorPicker.stories-85BQwpyF.js +0 -73
  24. package/.storybook-static/assets/CopyToClipboardText.stories-Csh5nVRs.js +0 -32
  25. package/.storybook-static/assets/Dropdown.stories-NNlxNopk.js +0 -159
  26. package/.storybook-static/assets/DropdownItem-CDX_V6Mi.js +0 -1
  27. package/.storybook-static/assets/DropdownItem-CLNmWtKh.css +0 -1
  28. package/.storybook-static/assets/FormControl.mixin-_gXRExB7.js +0 -1
  29. package/.storybook-static/assets/HashRouteModal.stories-Dy1_nLTJ.js +0 -64
  30. package/.storybook-static/assets/HelloBar-z54fob0q.js +0 -1
  31. package/.storybook-static/assets/HelloBar.stories-ClJ9_KRK.js +0 -342
  32. package/.storybook-static/assets/Icon-8mZGP41G.js +0 -144
  33. package/.storybook-static/assets/Icon.stories-BcXMvpuh.js +0 -126
  34. package/.storybook-static/assets/Icon.stories-D6ECVMta.js +0 -751
  35. package/.storybook-static/assets/Loader-D61Ki9P1.js +0 -1
  36. package/.storybook-static/assets/LogoBusinessBrandColours-B1_8hw0H.js +0 -1
  37. package/.storybook-static/assets/LogoBusinessBrandColours-DEFhAyxR.css +0 -1
  38. package/.storybook-static/assets/LogoBusinessBrandColours.stories-CIWe9ndn.js +0 -36
  39. package/.storybook-static/assets/Masonry-C2MNiGg0.css +0 -1
  40. package/.storybook-static/assets/Masonry.stories-CDT8kZCv.js +0 -71
  41. package/.storybook-static/assets/Modal-BQrpXSGA.js +0 -1
  42. package/.storybook-static/assets/Modal-BvVMN71n.css +0 -1
  43. package/.storybook-static/assets/Modal.stories-BycF7YL6.js +0 -345
  44. package/.storybook-static/assets/Notice.stories-BufkrC1b.js +0 -222
  45. package/.storybook-static/assets/NumberStepper-Blffv09R.css +0 -1
  46. package/.storybook-static/assets/NumberStepper.stories-6_y_lEgC.js +0 -64
  47. package/.storybook-static/assets/PaymentConfigList-wI1eTv5x.css +0 -1
  48. package/.storybook-static/assets/PaymentConfigList.stories-BlzzKrzz.js +0 -126
  49. package/.storybook-static/assets/Picture-Cq76CaoK.js +0 -1
  50. package/.storybook-static/assets/Picture.stories-BDqRm9_g.js +0 -119
  51. package/.storybook-static/assets/Pill-BsMeJhV9.js +0 -1
  52. package/.storybook-static/assets/Pill.stories-DUvzbtnS.js +0 -18
  53. package/.storybook-static/assets/PillBar-os4mJV3M.css +0 -1
  54. package/.storybook-static/assets/PillBar.stories-BUMLXBij.js +0 -41
  55. package/.storybook-static/assets/Price-DKOwLeD0.js +0 -1
  56. package/.storybook-static/assets/Price.stories-DlqrNUWI.js +0 -221
  57. package/.storybook-static/assets/PublishBrandPageModal-CLU8-If3.css +0 -1
  58. package/.storybook-static/assets/PublishBrandPageModal.stories-Dqobvq-n.js +0 -273
  59. package/.storybook-static/assets/SearchBar.stories-_wPX3-Rl.js +0 -12
  60. package/.storybook-static/assets/Select-Dw-zvSUg.css +0 -1
  61. package/.storybook-static/assets/Select.stories-BWINGxdY.js +0 -108
  62. package/.storybook-static/assets/SellDomainNameList.fixtures-LC6fjr_b.js +0 -1
  63. package/.storybook-static/assets/SellDomainNameListModal-ByK_ak0A.js +0 -1
  64. package/.storybook-static/assets/SellDomainNameListModal-CdfyEX1a.css +0 -1
  65. package/.storybook-static/assets/SellDomainNameListModal.stories-DrL8w2AY.js +0 -71
  66. package/.storybook-static/assets/SellDomainNameListSearchResult-1WuAKfzI.css +0 -1
  67. package/.storybook-static/assets/SellDomainNameListSearchResult-By0IpIM_.js +0 -1
  68. package/.storybook-static/assets/SellDomainNameSearchWithResults-BttjI4PH.js +0 -1
  69. package/.storybook-static/assets/SellDomainNameSearchWithResults.stories-Dm1Q8Cza.js +0 -37
  70. package/.storybook-static/assets/SellDomainNameWidget.stories-CKoz3WnZ.js +0 -36
  71. package/.storybook-static/assets/SignIn-DNYeJu86.css +0 -1
  72. package/.storybook-static/assets/SignIn-Dt8OJr0J.js +0 -1
  73. package/.storybook-static/assets/Slider-Cog2FFdj.css +0 -1
  74. package/.storybook-static/assets/Slider.stories-08DN2SFB.js +0 -141
  75. package/.storybook-static/assets/StarRating-BtKh7pzm.css +0 -1
  76. package/.storybook-static/assets/StarRating.stories-BEIj9ufA.js +0 -45
  77. package/.storybook-static/assets/TabMenu.stories-D9f0pyZI.js +0 -47
  78. package/.storybook-static/assets/TextCopyField-B04vTGbG.js +0 -1
  79. package/.storybook-static/assets/TextCopyField.stories-KD0WUWzA.js +0 -47
  80. package/.storybook-static/assets/TextInput-JK1M0hv6.js +0 -1
  81. package/.storybook-static/assets/TextInput.stories-BO0eQqBY.js +0 -233
  82. package/.storybook-static/assets/Textarea.stories-Bcn4sCkV.js +0 -207
  83. package/.storybook-static/assets/Toggle.stories-CuTFLoNh.js +0 -161
  84. package/.storybook-static/assets/Tooltip-DcSbUh5f.js +0 -1
  85. package/.storybook-static/assets/Tooltip-DyXIgFQH.css +0 -1
  86. package/.storybook-static/assets/Tooltip.stories-B0I_PBGG.js +0 -953
  87. package/.storybook-static/assets/UploadYourLogoApplication-EyTEQx-x.css +0 -9
  88. package/.storybook-static/assets/UploadYourLogoApplication.stories-Dixp1ynI.js +0 -194
  89. package/.storybook-static/assets/UploadYourLogoDropzone-DQqACf-e.css +0 -1
  90. package/.storybook-static/assets/UploadYourLogoDropzone-DouZtNvi.js +0 -24
  91. package/.storybook-static/assets/UploadYourLogoDropzone.stories-BHYeu4gz.js +0 -55
  92. package/.storybook-static/assets/UploadedLogoSearchResultCard.stories-D1KR63O4.js +0 -79
  93. package/.storybook-static/assets/_commonjsHelpers-D6-XlEtG.js +0 -1
  94. package/.storybook-static/assets/_plugin-vue_export-helper-DlAUqK2U.js +0 -1
  95. package/.storybook-static/assets/api-lSJGRrF2.js +0 -1
  96. package/.storybook-static/assets/axe-nGVJxRof.js +0 -30
  97. package/.storybook-static/assets/brand-crowd-api.client-DiPM1Wo-.js +0 -1
  98. package/.storybook-static/assets/bundled-translations-BZ57czTo.js +0 -1
  99. package/.storybook-static/assets/bundled-translations.de-DE-DXggTXB2.js +0 -1
  100. package/.storybook-static/assets/bundled-translations.es-ES-DtMmvicd.js +0 -1
  101. package/.storybook-static/assets/bundled-translations.fr-FR-BrQqbieG.js +0 -1
  102. package/.storybook-static/assets/bundled-translations.pt-PT-CpiWEAtr.js +0 -1
  103. package/.storybook-static/assets/carousel-CMMZ5MZ-.css +0 -1
  104. package/.storybook-static/assets/carousel.stories-o3eu2Qyc.js +0 -374
  105. package/.storybook-static/assets/event-constants-CMO9VQVu.js +0 -1
  106. package/.storybook-static/assets/iframe-C86bI_2U.js +0 -1126
  107. package/.storybook-static/assets/index-Bw-gCGc_.js +0 -6
  108. package/.storybook-static/assets/index-DhkYCT1V.js +0 -29
  109. package/.storybook-static/assets/matchers-7Z3WT2CE-T3xScrR7.js +0 -14
  110. package/.storybook-static/assets/tracking-ATsLLehC.js +0 -1
  111. package/.storybook-static/css/tailwind-brandCrowd.css +0 -2404
  112. package/.storybook-static/css/tailwind-brandPage.css +0 -2088
  113. package/.storybook-static/css/tailwind-crazyDomains.css +0 -2404
  114. package/.storybook-static/css/tailwind-designCom.css +0 -2404
  115. package/.storybook-static/css/tailwind-designCrowd.css +0 -2404
  116. package/.storybook-static/favicon.svg +0 -1
  117. package/.storybook-static/iframe.html +0 -694
  118. package/.storybook-static/index.html +0 -156
  119. package/.storybook-static/index.json +0 -1
  120. package/.storybook-static/nunito-sans-bold-italic.woff2 +0 -0
  121. package/.storybook-static/nunito-sans-bold.woff2 +0 -0
  122. package/.storybook-static/nunito-sans-italic.woff2 +0 -0
  123. package/.storybook-static/nunito-sans-regular.woff2 +0 -0
  124. package/.storybook-static/project.json +0 -1
  125. package/.storybook-static/sb-addons/a11y-1/manager-bundle.js +0 -5
  126. package/.storybook-static/sb-addons/links-2/manager-bundle.js +0 -3
  127. package/.storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +0 -188
  128. package/.storybook-static/sb-addons/themes-3/manager-bundle.js +0 -3
  129. package/.storybook-static/sb-common-assets/favicon.svg +0 -1
  130. package/.storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  131. package/.storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  132. package/.storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  133. package/.storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  134. package/.storybook-static/sb-manager/globals-module-info.js +0 -797
  135. package/.storybook-static/sb-manager/globals-runtime.js +0 -72062
  136. package/.storybook-static/sb-manager/globals.js +0 -34
  137. package/.storybook-static/sb-manager/runtime.js +0 -13002
  138. package/public/css/tailwind-brandCrowd.css +0 -2414
  139. package/public/css/tailwind-brandPage.css +0 -2098
  140. package/public/css/tailwind-crazyDomains.css +0 -2414
  141. package/public/css/tailwind-designCom.css +0 -2414
  142. package/public/css/tailwind-designCrowd.css +0 -2414
  143. package/src/experiences/components/PublishBrandPageModal/views/PublishWhenHasDomainsView.vue +0 -271
  144. package/src/experiences/components/PublishBrandPageModal/views/PublishWhenNoDomainsView.vue +0 -168
  145. package/src/experiences/components/PublishBrandPageModal/views/PublishedView.vue +0 -149
  146. package/src/experiences/components/PublishBrandPageModal/views/SetUrlView.vue +0 -155
@@ -30,73 +30,211 @@
30
30
  </div>
31
31
  </template>
32
32
  <template #default>
33
- <PublishWhenNoDomainsView
34
- v-if="isNotPublished && !hasPurchasedDomains"
35
- :brand-page-base-url="brandPageBaseUrl"
36
- :brand-page-slug="brandPageSlug"
37
- :slug-validation-error="slugValidationError"
38
- :error-message="errorMessage"
39
- :publish-error-message="publishErrorMessage"
40
- :is-publishing="isPublishing"
41
- :is-design-com="isDesignCom"
42
- :brand-page-type="brandPageType"
43
- @on-slug-changed="onSlugChanged"
44
- @internal-publish-brand-page="onInternalPublishBrandPage"
45
- >
46
- <template #recommended>
47
- <slot name="recommended" />
48
- </template>
49
- </PublishWhenNoDomainsView>
50
- <PublishWhenHasDomainsView
51
- v-if="isNotPublished && showRadioButtons && hasPurchasedDomains"
52
- :radio-value="radioValue"
53
- :domains="domains"
54
- :brand-page-base-url="brandPageBaseUrl"
55
- :brand-page-slug="brandPageSlug"
56
- :custom-domain="customDomain"
57
- :slug-validation-error="slugValidationError"
58
- :error-message="errorMessage"
59
- :publish-error-message="publishErrorMessage"
60
- :is-publishing="isPublishing"
61
- :is-design-com="isDesignCom"
62
- :brand-page-type="brandPageType"
63
- @close-modal="onCloseModal"
64
- @on-slug-changed="onSlugChanged"
65
- @radio-button-changed="onRadioButtonChanged"
66
- @on-select-domain="onSelectDomain"
67
- @internal-publish-brand-page="onInternalPublishBrandPage"
68
- />
69
- <SetUrlView
70
- v-if="isSlugEditMode"
71
- :brand-page-base-url="brandPageBaseUrl"
72
- :brand-page-slug="brandPageSlug"
73
- :slug-validation-error="slugValidationError"
74
- :error-message="errorMessage"
75
- :publish-error-message="publishErrorMessage"
76
- :is-publishing="isPublishing"
77
- :is-design-com="isDesignCom"
78
- :brand-page-type="brandPageType"
79
- @close-modal="onCloseModal"
80
- @on-slug-changed="onSlugChanged"
81
- @internal-publish-brand-page="onInternalPublishBrandPage"
82
- />
83
- <PublishedView
84
- v-if="!isNotPublished && !isSlugEditMode"
85
- :brand-page-url="brandPageUrl"
86
- :is-design-com="isDesignCom"
87
- :show-upsell-rotation="showUpsellRotation"
88
- :is-subsequent-publish="isSubsequentPublish"
89
- :search-text="searchText"
90
- :brand-page-display-name="brandPageDisplayName"
91
- :has-purchased-domain="hasPurchasedDomains"
92
- :show-upsell-rotation-container="showUpsellRotationContainer"
93
- :user-currency="userCurrency"
94
- @copy-url-clicked="onCopyUrlClick"
95
- @on-brand-page-url-click="onBrandPageUrlClick"
96
- @on-view-more-domains="onViewMore"
97
- @on-buy-now-clicked="onBuyNowClick"
98
- @on-search-text-changed="onSearchTextChanged"
99
- />
33
+ <div v-if="isNotPublished || isSlugEditMode" :class="{ 'tw-mb-8': !hasPurchasedDomains }">
34
+ <div
35
+ v-if="!isSlugEditMode"
36
+ class="tw-flex tw-items-center tw-mr-2 tw-mb-1"
37
+ @click="onDomainTypeRadioButtonClick(DOMAIN_TYPES.slug)"
38
+ >
39
+ <input
40
+ v-if="showRadioButtons"
41
+ type="radio"
42
+ class="tw-w-6 tw-h-8 tw-cursor-pointer tw-mb-0"
43
+ :style="{ 'accent-color': 'rgb(242 27 63)' }"
44
+ name="domainTypeValue"
45
+ :checked="domainTypeValue === DOMAIN_TYPES.slug"
46
+ :value="domainTypeValue === DOMAIN_TYPES.slug"
47
+ />
48
+ <label
49
+ v-if="!isPublished && hasPurchasedDomains"
50
+ for="domain-type"
51
+ class="tw-font-sans tw-w-full tw-text-grayscale-600 tw-text-sm tw-cursor-pointer tw-ml-2"
52
+ >
53
+ <span class="tw-inline-block tw-rounded-full">{{ freeDomainLabel }}</span>
54
+ </label>
55
+ </div>
56
+ <div v-if="isNotPublished || isSlugEditMode" class="tw-mt-4">
57
+ <PublishBrandPageCard
58
+ v-if="!hasPurchasedDomains"
59
+ :img-url="iconUrl"
60
+ :title="freePublishCardTitleLabel"
61
+ :description="freePublishCardDescriptionLabel"
62
+ :is-design-com="isDesignCom"
63
+ :has-search-button="false"
64
+ >
65
+ <template #slug>
66
+ <div class="tw-flex tw-flex-col md:tw-flex-row tw-justify-between">
67
+ <div class="tw-grow md:tw-mr-2">
68
+ <TextInput
69
+ v-model="internalSlug"
70
+ element-classes="tw-mb-0 !tw-rounded-l-none tw-text-md"
71
+ :prefix-text="`${brandPageBaseUrlWithoutHttps}/`"
72
+ :error="!!slugValidationError"
73
+ :disabled="isInputEnabled"
74
+ :placeholder="getPlaceHolder"
75
+ data-test-brand-page-slug-input
76
+ :attrs="{ 'data-test-set-url-text-field': '' }"
77
+ @input="onSlugChanged"
78
+ />
79
+ <div
80
+ v-if="slugErrorMessage"
81
+ class="tw-mt-2 tw-text-sm tw-text-left tw-text-error-500 tw-font-normal"
82
+ >
83
+ {{ slugErrorMessage }}
84
+ </div>
85
+ </div>
86
+ <Button
87
+ :label="publishLabel"
88
+ :disabled="isPublishingDisabled"
89
+ class="tw-flex tw-items-center tw-justify-center tw-mt-2 md:tw-mt-0 tw-font-bold tw-transition-colors tw-duration-300"
90
+ data-test-brand-page-publish-button
91
+ variant="primary"
92
+ size="small-medium"
93
+ :full-width="isMobile"
94
+ :class="{
95
+ 'tw-uppercase': !isDesignCom,
96
+ }"
97
+ @on-click="onPublish"
98
+ />
99
+ </div>
100
+ </template>
101
+ </PublishBrandPageCard>
102
+ <div v-else>
103
+ <TextInput
104
+ v-model="internalSlug"
105
+ element-classes="tw-mb-0 !tw-rounded-l-none tw-text-lg"
106
+ :prefix-text="`${brandPageBaseUrlWithoutHttps}/`"
107
+ :error="!!slugValidationError"
108
+ :disabled="isInputEnabled"
109
+ :placeholder="getPlaceHolder"
110
+ data-test-brand-page-slug-input
111
+ :attrs="{ 'data-test-set-url-text-field': '' }"
112
+ @input="onSlugChanged"
113
+ />
114
+ <div v-if="slugErrorMessage" class="tw-mt-2 tw-text-sm tw-text-left tw-text-error-500 tw-font-normal">
115
+ {{ slugErrorMessage }}
116
+ </div>
117
+ </div>
118
+ </div>
119
+ <div v-if="isNotPublished || !isSlugEditMode" class="tw-mt-4">
120
+ <div v-if="showRadioButtons">
121
+ <div
122
+ class="tw-flex tw-items-center tw-mr-2 tw-mb-1"
123
+ @click="onDomainTypeRadioButtonClick(DOMAIN_TYPES.purchased)"
124
+ >
125
+ <input
126
+ type="radio"
127
+ class="tw-w-6 tw-h-8 tw-cursor-pointer tw-mb-0"
128
+ :style="{ 'accent-color': 'rgb(242 27 63)' }"
129
+ name="domainTypeValue"
130
+ :checked="domainTypeValue === DOMAIN_TYPES.purchased"
131
+ :value="domainTypeValue === DOMAIN_TYPES.purchased"
132
+ />
133
+ <label
134
+ for="domain-type"
135
+ class="tw-font-sans tw-w-full tw-text-grayscale-600 tw-text-sm tw-cursor-pointer tw-ml-2"
136
+ >
137
+ <span class="tw-inline-block tw-rounded-full">{{ purchasedDomainLabel }}</span>
138
+ </label>
139
+ </div>
140
+ <div class="tw-mt-4 domain-dropdown">
141
+ <Dropdown
142
+ v-if="domains"
143
+ ref="dropdown"
144
+ :element-classes="{
145
+ 'tw-h-12': true,
146
+ }"
147
+ menu-element-classes="tw-w-full"
148
+ :disabled="domainTypeValue === DOMAIN_TYPES.slug"
149
+ :class="{
150
+ 'tw-text-grayscale-600 tw-font-normal': !selectedCustomDomain,
151
+ }"
152
+ :title="(selectedCustomDomain && selectedCustomDomain.domainName) || selectDomainDropdownPlaceholder"
153
+ >
154
+ <DropdownItem
155
+ v-for="purchasedDomain of domains"
156
+ :key="purchasedDomain.domainName"
157
+ class="tw-font-bold tw-break-all tw-flex tw-gap-2 tw-text-black"
158
+ @click="onSelectPurchasedDomain(purchasedDomain)"
159
+ >
160
+ {{ purchasedDomain.domainName }}
161
+ </DropdownItem>
162
+ </Dropdown>
163
+ </div>
164
+ <div v-if="errorMessage" class="tw-mt-2 tw-text-sm tw-text-left tw-text-error-500 tw-font-normal">
165
+ {{ errorMessage }}
166
+ </div>
167
+ </div>
168
+ <slot v-if="!hasPurchasedDomains" name="recommended" />
169
+ </div>
170
+ <div
171
+ v-if="hasPurchasedDomains"
172
+ class="tw-font-sans tw-text-center"
173
+ :style="isMobile ? 'padding-left: 1.5rem; padding-right: 1.5rem;' : ''"
174
+ >
175
+ <Button
176
+ :label="isSlugEditMode ? setUrlLabel : publishLabel"
177
+ :variant="isDesignCom ? 'primary' : 'primary-with-icon'"
178
+ icon="chevron-right-wide"
179
+ :disabled="isPublishingDisabled"
180
+ class="tw-my-4"
181
+ :full-width="isMobile"
182
+ data-test-brand-page-publish-button
183
+ @on-click="onPublish"
184
+ />
185
+ <Button
186
+ :label="hasAlreadyPurchasedDomainCloseButtonLabel"
187
+ variant="no-border"
188
+ size="large"
189
+ class="tw-my-4"
190
+ :full-width="isMobile"
191
+ @on-click="onCloseModal"
192
+ />
193
+ </div>
194
+ </div>
195
+ <div v-else class="tw-font-sans">
196
+ <div v-if="!showUpsellRotationContainer" class="tw-mb-6 tw-text-left">
197
+ <div class="tw-mb-6">
198
+ <SellDomainNameSearchWithResults
199
+ :is-design-com="isDesignCom"
200
+ :initial-search-term="searchText"
201
+ :currency="userCurrency"
202
+ :display-result-limit="4"
203
+ :domain-search-location="sitePublishedModal"
204
+ show-view-more-button
205
+ @on-change-search="onSearchTextChanged"
206
+ @on-buy-now-click="onBuyNowClick"
207
+ @on-view-more="onViewMore"
208
+ />
209
+ </div>
210
+ </div>
211
+ <div class="tw-px-4 tw-text-center" :class="{ 'lg:tw-px-20': hasPurchasedDomains }">
212
+ <TextCopyField
213
+ button-variant="secondary"
214
+ :text="brandPageUrl"
215
+ :default-copy-button-text="copyLabel"
216
+ :copied-button-text="copySuccessLabel"
217
+ data-test-brand-page-copy-input
218
+ @on-click="onCopyUrlClick"
219
+ />
220
+ <Button
221
+ :label="viewMyWebsiteLabel"
222
+ :variant="isDesignCom ? 'primary' : 'primary-with-icon'"
223
+ icon="chevron-right-wide"
224
+ size="medium"
225
+ icon-view-box="0 0 24 24"
226
+ class="tw-my-4"
227
+ target="_blank"
228
+ rel="noopener noreferrer"
229
+ :url="brandPageUrl"
230
+ :full-width="isMobile"
231
+ @on-click="onBrandPageUrlClick"
232
+ />
233
+ </div>
234
+ <div v-if="showUpsellRotationContainer" class="tw-border-t tw-border-solid tw-border-grayscale-500 tw-p-5">
235
+ <slot name="upsellContainer" />
236
+ </div>
237
+ </div>
100
238
  </template>
101
239
  </Modal>
102
240
  <SellDomainNameListModal
@@ -115,32 +253,41 @@
115
253
  </template>
116
254
  <script>
117
255
  import Modal from '../../../atoms/components/Modal/Modal.vue';
256
+ import PublishBrandPageCard from './PublishBrandPageCard.vue';
257
+ import TextInput from '../../../atoms/components/TextInput/TextInput.vue';
258
+ import Dropdown from '../../../atoms/components/Dropdown/Dropdown.vue';
259
+ import DropdownItem from '../../../atoms/components/Dropdown/DropdownItem.vue';
260
+ import Button from '../../../atoms/components/Button/Button.vue';
261
+ import TextCopyField from '../../../atoms/components/TextCopyField/TextCopyField.vue';
262
+
263
+ import SellDomainNameSearchWithResults from '../SellDomainNameSearchWithResults/SellDomainNameSearchWithResults.vue';
118
264
  import SellDomainNameListModal from '../SellDomainNameListModal/SellDomainNameListModal.vue';
119
265
  import brandCrowdApiClient from '../../clients/brand-crowd-api.client';
120
266
  import Events, { sitePublishedModal } from '../../constants/event-constants';
121
267
  import mediaQueryMixin from '../../mixins/mediaQueryMixin';
122
268
  import { publishBrandPageModalTr } from '../../../useSharedLibTranslate';
123
- import PublishedView from './views/PublishedView.vue';
124
- import SetUrlView from './views/SetUrlView.vue';
125
- import PublishWhenNoDomainsView from './views/PublishWhenNoDomainsView.vue';
126
- import PublishWhenHasDomainsView from './views/PublishWhenHasDomainsView.vue';
127
269
 
128
270
  const DOMAIN_TYPES = {
129
271
  slug: 'slug',
130
272
  purchased: 'purchased',
131
273
  };
132
274
 
275
+ const DCOM_IMG_FREE = 'https://brandcrowd-cdn.s3.amazonaws.com/public/assets/images/icons/publish/dcom-free-url.svg';
276
+ const BC_IMG_FREE = 'https://brandcrowd-cdn.s3.amazonaws.com/public/assets/images/icons/publish/bc-free-url.svg';
133
277
  const WEBSITE_FRIENDLY_NAME = 'Website';
134
278
  export const DIGITAL_BUSINESS_CARD = 'Digital Business Card';
135
279
 
136
280
  export default {
137
281
  components: {
138
282
  Modal,
283
+ TextInput,
284
+ Dropdown,
285
+ DropdownItem,
286
+ Button,
287
+ TextCopyField,
288
+ SellDomainNameSearchWithResults,
139
289
  SellDomainNameListModal,
140
- PublishedView,
141
- SetUrlView,
142
- PublishWhenNoDomainsView,
143
- PublishWhenHasDomainsView,
290
+ PublishBrandPageCard,
144
291
  },
145
292
  mixins: [mediaQueryMixin],
146
293
  props: {
@@ -276,19 +423,31 @@ export default {
276
423
  emits: [
277
424
  'close-modal',
278
425
  'radio-button-changed',
279
- 'copy-url-clicked',
426
+ 'copy-url-click',
280
427
  'internal-publish-brand-page',
281
428
  'on-select-domain',
282
429
  'on-brand-page-url-click',
283
430
  'on-view-more-domains',
284
431
  'on-slug-changed',
285
- 'on-show-domain-modal',
286
432
  ],
287
433
  setup() {
288
434
  return {
289
435
  publishBrandPageModalTr,
290
436
  sitePublishedLabel: publishBrandPageModalTr('sitePublishedLabel'),
437
+ freePublishCardTitleLabel: publishBrandPageModalTr('freePublishCardTitleLabel'),
438
+ freePublishCardDescriptionLabel: publishBrandPageModalTr('freePublishCardDescriptionLabel'),
439
+ slugInputPlaceholderYourNameLabel: publishBrandPageModalTr('slugInputPlaceholderYourNameLabel'),
440
+ slugInputPlaceholderYourBusinessNameLabel: publishBrandPageModalTr('slugInputPlaceholderYourBusinessNameLabel'),
441
+ freeDomainLabel: publishBrandPageModalTr('freeDomainLabel'),
442
+ purchasedDomainLabel: publishBrandPageModalTr('purchasedDomainLabel'),
443
+ setUrlLabel: publishBrandPageModalTr('setUrlLabel'),
444
+ publishLabel: publishBrandPageModalTr('publishLabel'),
445
+ viewMoreDomainLabel: publishBrandPageModalTr('viewMoreDomainLabel'),
446
+ copyLabel: publishBrandPageModalTr('copyLabel'),
447
+ copySuccessLabel: publishBrandPageModalTr('copySuccessLabel'),
448
+ hasAlreadyPurchasedDomainCloseButtonLabel: publishBrandPageModalTr('hasAlreadyPurchasedDomainCloseButtonLabel'),
291
449
  publishedSuccessDescriptionLabel: publishBrandPageModalTr('publishedSuccessDescriptionLabel'),
450
+ selectDomainDropdownPlaceholder: publishBrandPageModalTr('selectDomainDropdownPlaceholder'),
292
451
  };
293
452
  },
294
453
  data() {
@@ -307,6 +466,9 @@ export default {
307
466
  };
308
467
  },
309
468
  computed: {
469
+ brandPageBaseUrlWithoutHttps() {
470
+ return this.brandPageBaseUrl.replace('https://', '');
471
+ },
310
472
  firstTimePublishHeaderLabel() {
311
473
  const translatedBrandPageName = this.getLanguageAwareBrandPageDisplayName(this.brandPageDisplayName);
312
474
  return this.publishBrandPageModalTr('firstTimePublishHeaderLabel', {
@@ -318,15 +480,43 @@ export default {
318
480
  brandPageDisplayName: this.brandPageDisplayName,
319
481
  });
320
482
  },
483
+ viewMyWebsiteLabel() {
484
+ return this.publishBrandPageModalTr('viewMyWebsiteLabel', {
485
+ brandPageDisplayName: this.brandPageDisplayName,
486
+ });
487
+ },
488
+ allowPublish() {
489
+ if (this.domainTypeValue === DOMAIN_TYPES.slug) {
490
+ return this.internalSlug && !this.slugValidationError;
491
+ }
492
+ return this.selectedCustomDomain;
493
+ },
321
494
  hasPurchasedDomains() {
322
495
  return this.domains && this.domains.length > 0;
323
496
  },
497
+ slugErrorMessage() {
498
+ return this.slugValidationError ? this.slugValidationError : this.publishErrorMessage;
499
+ },
324
500
  isNotPublished() {
325
501
  return !this.isPublished || !this.shouldPublish;
326
502
  },
327
503
  isSlugEditMode() {
328
504
  return this.isPublished && this.shouldPublish && this.isBrandPageSlugEditMode;
329
505
  },
506
+ iconUrl() {
507
+ return this.isDesignCom ? DCOM_IMG_FREE : BC_IMG_FREE;
508
+ },
509
+ isInputEnabled() {
510
+ return this.isPublishing || this.domainTypeValue === DOMAIN_TYPES.purchased;
511
+ },
512
+ isPublishingDisabled() {
513
+ return !this.allowPublish || this.isPublishing;
514
+ },
515
+ getPlaceHolder() {
516
+ return this.brandPageType === 'brandContact'
517
+ ? this.slugInputPlaceholderYourNameLabel
518
+ : this.slugInputPlaceholderYourBusinessNameLabel;
519
+ },
330
520
  showUpsellRotationContainer() {
331
521
  if (!this.isSubsequentPublish) {
332
522
  return false;
@@ -363,10 +553,28 @@ export default {
363
553
  return brandPageName;
364
554
  }
365
555
  },
556
+ onDomainTypeRadioButtonClick(domain) {
557
+ this.domainTypeValue = domain;
558
+ this.closePurchasedDomainDropdown();
559
+ this.$emit('radio-button-changed', domain);
560
+ },
366
561
  onCloseModal() {
367
562
  this.$emit('close-modal');
368
563
  this.$emit('on-hide-domain-modal');
369
564
  },
565
+ onCopyUrlClick() {
566
+ this.$emit('copy-url-clicked');
567
+ },
568
+ onSlugChanged(e) {
569
+ this.searchText = e;
570
+ this.$emit('on-slug-changed', e);
571
+ },
572
+ onPublish() {
573
+ this.$emit('internal-publish-brand-page', this.internalSlug, this.selectedCustomDomain);
574
+ },
575
+ onBrandPageUrlClick() {
576
+ this.$emit('on-brand-page-url-click');
577
+ },
370
578
  onViewMore() {
371
579
  this.$emit('on-show-domain-modal');
372
580
  if (this.searchText) {
@@ -377,29 +585,22 @@ export default {
377
585
  this.searchText = val;
378
586
  this.$emit('on-change-search', val);
379
587
  },
380
- onSellDomainNameListCloseModal() {
381
- this.$emit('on-hide-domain-modal');
382
- },
383
- onSlugChanged(e) {
384
- this.$emit('on-slug-changed', e);
385
- },
386
- onInternalPublishBrandPage(slug, customdomain) {
387
- this.$emit('internal-publish-brand-page', slug, customdomain);
388
- },
389
- onRadioButtonChanged(domain) {
390
- this.$emit('radio-button-changed', domain);
391
- },
392
- onSelectDomain(newVal) {
588
+ onSelectPurchasedDomain(newVal) {
589
+ this.selectedCustomDomain = newVal;
393
590
  this.$emit('on-select-domain', newVal);
591
+ this.closePurchasedDomainDropdown();
394
592
  },
395
- onCopyUrlClick(newVal) {
396
- this.$emit('copy-url-clicked', newVal);
593
+
594
+ closePurchasedDomainDropdown() {
595
+ if (this.$refs.dropdown?.hideMenu) {
596
+ this.$refs.dropdown.hideMenu();
597
+ }
397
598
  },
398
- onBrandPageUrlClick(newVal) {
399
- this.$emit('on-brand-page-url-click', newVal);
599
+ onSellDomainNameListCloseModal() {
600
+ this.$emit('on-hide-domain-modal');
400
601
  },
401
- onBuyNow(newVal) {
402
- this.$emit('on-buy-now-clicked', newVal);
602
+ onBuyNowClick() {
603
+ this.$emit('on-buy-now-clicked');
403
604
  },
404
605
  async searchDomainName(isUserTriggered) {
405
606
  this.isLoading = true;
@@ -1 +0,0 @@
1
- .email-input[data-v-bb7289b6]{background-image:url(https://dcstatic.com/images/icons/forms/forms-email-58207f9a5c.svg);background-position:top 50% left .5rem}.password-input[data-v-bb7289b6]{background-image:url(https://dcstatic.com/images/icons/forms/forms-password-ff538cd5e4.svg);background-position:top 50% left .5rem}.tw-pl-10-important[data-v-bb7289b6]{padding-left:2.5rem!important}.email-input[data-v-965d0268]{background-image:url(https://dcstatic.com/images/icons/forms/forms-email-58207f9a5c.svg);background-position:top 50% left .5rem}.tw-pl-10-important[data-v-965d0268]{padding-left:2.5rem!important}.password-input[data-v-da12bb42]{background-image:url(https://dcstatic.com/images/icons/forms/forms-password-ff538cd5e4.svg);background-position:top 50% left .5rem}.tw-pl-10-important[data-v-da12bb42]{padding-left:2.5rem!important}