@designcrowd/fe-shared-lib 1.5.0-eng-3440-eng-3442 → 1.5.0-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.
Files changed (148) hide show
  1. package/.storybook-static/assets/Auth-CV5AmoX8.css +1 -0
  2. package/.storybook-static/assets/Auth.stories-CX3sjxh5.js +490 -0
  3. package/.storybook-static/assets/AuthCrazyDomains.stories-Didj_VFa.js +73 -0
  4. package/.storybook-static/assets/Button-5UzSGUF6.css +1 -0
  5. package/.storybook-static/assets/Button-DtVlr_q3.js +1 -0
  6. package/.storybook-static/assets/ButtonGroup-Dfr7bNL2.css +1 -0
  7. package/.storybook-static/assets/ButtonGroup.stories-4EQk-ktb.js +503 -0
  8. package/.storybook-static/assets/ButtonPrimary-Bu6bXb_c.css +1 -0
  9. package/.storybook-static/assets/ButtonPrimary-DG9wNod9.js +1 -0
  10. package/.storybook-static/assets/Buttons.stories-B_KpeCzt.js +761 -0
  11. package/.storybook-static/assets/ButtonsCrazyDomains.stories-oZtahAmR.js +199 -0
  12. package/.storybook-static/assets/Checkbox.mixin-DkHpdvGa.js +1 -0
  13. package/.storybook-static/assets/Checkbox.stories-C67RL0ut.js +203 -0
  14. package/.storybook-static/assets/Checktile.stories-DN2wfzd6.js +88 -0
  15. package/.storybook-static/assets/CollapsiblePanel.stories-BkzrqfVG.js +39 -0
  16. package/.storybook-static/assets/ColorPicker.stories-85BQwpyF.js +73 -0
  17. package/.storybook-static/assets/CopyToClipboardText.stories-Csh5nVRs.js +32 -0
  18. package/.storybook-static/assets/Dropdown.stories-NNlxNopk.js +159 -0
  19. package/.storybook-static/assets/DropdownItem-CDX_V6Mi.js +1 -0
  20. package/.storybook-static/assets/DropdownItem-CLNmWtKh.css +1 -0
  21. package/.storybook-static/assets/FormControl.mixin-_gXRExB7.js +1 -0
  22. package/.storybook-static/assets/HashRouteModal.stories-Dy1_nLTJ.js +64 -0
  23. package/.storybook-static/assets/HelloBar-z54fob0q.js +1 -0
  24. package/.storybook-static/assets/HelloBar.stories-ClJ9_KRK.js +342 -0
  25. package/.storybook-static/assets/Icon-8mZGP41G.js +144 -0
  26. package/.storybook-static/assets/Icon.stories-BcXMvpuh.js +126 -0
  27. package/.storybook-static/assets/Icon.stories-D6ECVMta.js +751 -0
  28. package/.storybook-static/assets/Loader-D61Ki9P1.js +1 -0
  29. package/.storybook-static/assets/LogoBusinessBrandColours-B1_8hw0H.js +1 -0
  30. package/.storybook-static/assets/LogoBusinessBrandColours-DEFhAyxR.css +1 -0
  31. package/.storybook-static/assets/LogoBusinessBrandColours.stories-CIWe9ndn.js +36 -0
  32. package/.storybook-static/assets/Masonry-C2MNiGg0.css +1 -0
  33. package/.storybook-static/assets/Masonry.stories-CDT8kZCv.js +71 -0
  34. package/.storybook-static/assets/Modal-BQrpXSGA.js +1 -0
  35. package/.storybook-static/assets/Modal-BvVMN71n.css +1 -0
  36. package/.storybook-static/assets/Modal.stories-BycF7YL6.js +345 -0
  37. package/.storybook-static/assets/Notice.stories-BufkrC1b.js +222 -0
  38. package/.storybook-static/assets/NumberStepper-Blffv09R.css +1 -0
  39. package/.storybook-static/assets/NumberStepper.stories-6_y_lEgC.js +64 -0
  40. package/.storybook-static/assets/PaymentConfigList-wI1eTv5x.css +1 -0
  41. package/.storybook-static/assets/PaymentConfigList.stories-BlzzKrzz.js +126 -0
  42. package/.storybook-static/assets/Picture-Cq76CaoK.js +1 -0
  43. package/.storybook-static/assets/Picture.stories-BDqRm9_g.js +119 -0
  44. package/.storybook-static/assets/Pill-BsMeJhV9.js +1 -0
  45. package/.storybook-static/assets/Pill.stories-DUvzbtnS.js +18 -0
  46. package/.storybook-static/assets/PillBar-os4mJV3M.css +1 -0
  47. package/.storybook-static/assets/PillBar.stories-BUMLXBij.js +41 -0
  48. package/.storybook-static/assets/Price-DKOwLeD0.js +1 -0
  49. package/.storybook-static/assets/Price.stories-DlqrNUWI.js +221 -0
  50. package/.storybook-static/assets/PublishBrandPageModal-CLU8-If3.css +1 -0
  51. package/.storybook-static/assets/PublishBrandPageModal.stories-Dqobvq-n.js +273 -0
  52. package/.storybook-static/assets/SearchBar.stories-_wPX3-Rl.js +12 -0
  53. package/.storybook-static/assets/Select-Dw-zvSUg.css +1 -0
  54. package/.storybook-static/assets/Select.stories-BWINGxdY.js +108 -0
  55. package/.storybook-static/assets/SellDomainNameList.fixtures-LC6fjr_b.js +1 -0
  56. package/.storybook-static/assets/SellDomainNameListModal-ByK_ak0A.js +1 -0
  57. package/.storybook-static/assets/SellDomainNameListModal-CdfyEX1a.css +1 -0
  58. package/.storybook-static/assets/SellDomainNameListModal.stories-DrL8w2AY.js +71 -0
  59. package/.storybook-static/assets/SellDomainNameListSearchResult-1WuAKfzI.css +1 -0
  60. package/.storybook-static/assets/SellDomainNameListSearchResult-By0IpIM_.js +1 -0
  61. package/.storybook-static/assets/SellDomainNameSearchWithResults-BttjI4PH.js +1 -0
  62. package/.storybook-static/assets/SellDomainNameSearchWithResults.stories-Dm1Q8Cza.js +37 -0
  63. package/.storybook-static/assets/SellDomainNameWidget.stories-CKoz3WnZ.js +36 -0
  64. package/.storybook-static/assets/SignIn-DNYeJu86.css +1 -0
  65. package/.storybook-static/assets/SignIn-Dt8OJr0J.js +1 -0
  66. package/.storybook-static/assets/Slider-Cog2FFdj.css +1 -0
  67. package/.storybook-static/assets/Slider.stories-08DN2SFB.js +141 -0
  68. package/.storybook-static/assets/StarRating-BtKh7pzm.css +1 -0
  69. package/.storybook-static/assets/StarRating.stories-BEIj9ufA.js +45 -0
  70. package/.storybook-static/assets/TabMenu.stories-D9f0pyZI.js +47 -0
  71. package/.storybook-static/assets/TextCopyField-B04vTGbG.js +1 -0
  72. package/.storybook-static/assets/TextCopyField.stories-KD0WUWzA.js +47 -0
  73. package/.storybook-static/assets/TextInput-JK1M0hv6.js +1 -0
  74. package/.storybook-static/assets/TextInput.stories-BO0eQqBY.js +233 -0
  75. package/.storybook-static/assets/Textarea.stories-Bcn4sCkV.js +207 -0
  76. package/.storybook-static/assets/Toggle.stories-CuTFLoNh.js +161 -0
  77. package/.storybook-static/assets/Tooltip-DcSbUh5f.js +1 -0
  78. package/.storybook-static/assets/Tooltip-DyXIgFQH.css +1 -0
  79. package/.storybook-static/assets/Tooltip.stories-B0I_PBGG.js +953 -0
  80. package/.storybook-static/assets/UploadYourLogoApplication-EyTEQx-x.css +9 -0
  81. package/.storybook-static/assets/UploadYourLogoApplication.stories-Dixp1ynI.js +194 -0
  82. package/.storybook-static/assets/UploadYourLogoDropzone-DQqACf-e.css +1 -0
  83. package/.storybook-static/assets/UploadYourLogoDropzone-DouZtNvi.js +24 -0
  84. package/.storybook-static/assets/UploadYourLogoDropzone.stories-BHYeu4gz.js +55 -0
  85. package/.storybook-static/assets/UploadedLogoSearchResultCard.stories-D1KR63O4.js +79 -0
  86. package/.storybook-static/assets/_commonjsHelpers-D6-XlEtG.js +1 -0
  87. package/.storybook-static/assets/_plugin-vue_export-helper-DlAUqK2U.js +1 -0
  88. package/.storybook-static/assets/api-lSJGRrF2.js +1 -0
  89. package/.storybook-static/assets/axe-nGVJxRof.js +30 -0
  90. package/.storybook-static/assets/brand-crowd-api.client-DiPM1Wo-.js +1 -0
  91. package/.storybook-static/assets/bundled-translations-BZ57czTo.js +1 -0
  92. package/.storybook-static/assets/bundled-translations.de-DE-DXggTXB2.js +1 -0
  93. package/.storybook-static/assets/bundled-translations.es-ES-DtMmvicd.js +1 -0
  94. package/.storybook-static/assets/bundled-translations.fr-FR-BrQqbieG.js +1 -0
  95. package/.storybook-static/assets/bundled-translations.pt-PT-CpiWEAtr.js +1 -0
  96. package/.storybook-static/assets/carousel-CMMZ5MZ-.css +1 -0
  97. package/.storybook-static/assets/carousel.stories-o3eu2Qyc.js +374 -0
  98. package/.storybook-static/assets/event-constants-CMO9VQVu.js +1 -0
  99. package/.storybook-static/assets/iframe-C86bI_2U.js +1126 -0
  100. package/.storybook-static/assets/index-Bw-gCGc_.js +6 -0
  101. package/.storybook-static/assets/index-DhkYCT1V.js +29 -0
  102. package/.storybook-static/assets/matchers-7Z3WT2CE-T3xScrR7.js +14 -0
  103. package/.storybook-static/assets/tracking-ATsLLehC.js +1 -0
  104. package/.storybook-static/css/tailwind-brandCrowd.css +2404 -0
  105. package/.storybook-static/css/tailwind-brandPage.css +2088 -0
  106. package/.storybook-static/css/tailwind-crazyDomains.css +2404 -0
  107. package/.storybook-static/css/tailwind-designCom.css +2404 -0
  108. package/.storybook-static/css/tailwind-designCrowd.css +2404 -0
  109. package/.storybook-static/favicon.svg +1 -0
  110. package/.storybook-static/iframe.html +694 -0
  111. package/.storybook-static/index.html +156 -0
  112. package/.storybook-static/index.json +1 -0
  113. package/.storybook-static/nunito-sans-bold-italic.woff2 +0 -0
  114. package/.storybook-static/nunito-sans-bold.woff2 +0 -0
  115. package/.storybook-static/nunito-sans-italic.woff2 +0 -0
  116. package/.storybook-static/nunito-sans-regular.woff2 +0 -0
  117. package/.storybook-static/project.json +1 -0
  118. package/.storybook-static/sb-addons/a11y-1/manager-bundle.js +5 -0
  119. package/.storybook-static/sb-addons/links-2/manager-bundle.js +3 -0
  120. package/.storybook-static/sb-addons/storybook-core-server-presets-0/common-manager-bundle.js +188 -0
  121. package/.storybook-static/sb-addons/themes-3/manager-bundle.js +3 -0
  122. package/.storybook-static/sb-common-assets/favicon.svg +1 -0
  123. package/.storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  124. package/.storybook-static/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  125. package/.storybook-static/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  126. package/.storybook-static/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  127. package/.storybook-static/sb-manager/globals-module-info.js +797 -0
  128. package/.storybook-static/sb-manager/globals-runtime.js +72062 -0
  129. package/.storybook-static/sb-manager/globals.js +34 -0
  130. package/.storybook-static/sb-manager/runtime.js +13002 -0
  131. package/dist/css/tailwind-brandCrowd.css +6 -86
  132. package/dist/css/tailwind-brandPage.css +6 -82
  133. package/dist/css/tailwind-crazyDomains.css +6 -86
  134. package/dist/css/tailwind-designCom.css +6 -86
  135. package/dist/css/tailwind-designCrowd.css +6 -86
  136. package/package.json +1 -1
  137. package/public/css/tailwind-brandCrowd.css +2417 -0
  138. package/public/css/tailwind-brandPage.css +2101 -0
  139. package/public/css/tailwind-crazyDomains.css +2417 -0
  140. package/public/css/tailwind-designCom.css +2417 -0
  141. package/public/css/tailwind-designCrowd.css +2417 -0
  142. package/src/atoms/components/Icon/Icon.vue +0 -2
  143. package/src/experiences/components/PublishBrandPageModal/PublishBrandPageModal.vue +96 -297
  144. package/src/experiences/components/PublishBrandPageModal/views/PublishWhenHasDomainsView.vue +271 -0
  145. package/src/experiences/components/PublishBrandPageModal/views/PublishWhenNoDomainsView.vue +168 -0
  146. package/src/experiences/components/PublishBrandPageModal/views/PublishedView.vue +149 -0
  147. package/src/experiences/components/PublishBrandPageModal/views/SetUrlView.vue +155 -0
  148. package/src/atoms/components/Icon/icons/calculator.vue +0 -3
@@ -401,13 +401,11 @@ import IconFile from './icons/file.vue';
401
401
  import IconPenTool from './icons/pen-tool.vue';
402
402
  import IconClipboardCheck from './icons/clipboard-check.vue';
403
403
  import IconBadge from './icons/badge.vue';
404
- import IconCalculator from './icons/calculator.vue';
405
404
 
406
405
  export default {
407
406
  components: {
408
407
  IconFile,
409
408
  IconPenTool,
410
- IconCalculator,
411
409
  IconAbout,
412
410
  IconAddPage,
413
411
  IconAi,
@@ -30,211 +30,73 @@
30
30
  </div>
31
31
  </template>
32
32
  <template #default>
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>
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
+ />
238
100
  </template>
239
101
  </Modal>
240
102
  <SellDomainNameListModal
@@ -253,41 +115,32 @@
253
115
  </template>
254
116
  <script>
255
117
  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';
264
118
  import SellDomainNameListModal from '../SellDomainNameListModal/SellDomainNameListModal.vue';
265
119
  import brandCrowdApiClient from '../../clients/brand-crowd-api.client';
266
120
  import Events, { sitePublishedModal } from '../../constants/event-constants';
267
121
  import mediaQueryMixin from '../../mixins/mediaQueryMixin';
268
122
  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';
269
127
 
270
128
  const DOMAIN_TYPES = {
271
129
  slug: 'slug',
272
130
  purchased: 'purchased',
273
131
  };
274
132
 
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';
277
133
  const WEBSITE_FRIENDLY_NAME = 'Website';
278
134
  export const DIGITAL_BUSINESS_CARD = 'Digital Business Card';
279
135
 
280
136
  export default {
281
137
  components: {
282
138
  Modal,
283
- TextInput,
284
- Dropdown,
285
- DropdownItem,
286
- Button,
287
- TextCopyField,
288
- SellDomainNameSearchWithResults,
289
139
  SellDomainNameListModal,
290
- PublishBrandPageCard,
140
+ PublishedView,
141
+ SetUrlView,
142
+ PublishWhenNoDomainsView,
143
+ PublishWhenHasDomainsView,
291
144
  },
292
145
  mixins: [mediaQueryMixin],
293
146
  props: {
@@ -423,31 +276,19 @@ export default {
423
276
  emits: [
424
277
  'close-modal',
425
278
  'radio-button-changed',
426
- 'copy-url-click',
279
+ 'copy-url-clicked',
427
280
  'internal-publish-brand-page',
428
281
  'on-select-domain',
429
282
  'on-brand-page-url-click',
430
283
  'on-view-more-domains',
431
284
  'on-slug-changed',
285
+ 'on-show-domain-modal',
432
286
  ],
433
287
  setup() {
434
288
  return {
435
289
  publishBrandPageModalTr,
436
290
  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'),
449
291
  publishedSuccessDescriptionLabel: publishBrandPageModalTr('publishedSuccessDescriptionLabel'),
450
- selectDomainDropdownPlaceholder: publishBrandPageModalTr('selectDomainDropdownPlaceholder'),
451
292
  };
452
293
  },
453
294
  data() {
@@ -466,9 +307,6 @@ export default {
466
307
  };
467
308
  },
468
309
  computed: {
469
- brandPageBaseUrlWithoutHttps() {
470
- return this.brandPageBaseUrl.replace('https://', '');
471
- },
472
310
  firstTimePublishHeaderLabel() {
473
311
  const translatedBrandPageName = this.getLanguageAwareBrandPageDisplayName(this.brandPageDisplayName);
474
312
  return this.publishBrandPageModalTr('firstTimePublishHeaderLabel', {
@@ -480,43 +318,15 @@ export default {
480
318
  brandPageDisplayName: this.brandPageDisplayName,
481
319
  });
482
320
  },
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
- },
494
321
  hasPurchasedDomains() {
495
322
  return this.domains && this.domains.length > 0;
496
323
  },
497
- slugErrorMessage() {
498
- return this.slugValidationError ? this.slugValidationError : this.publishErrorMessage;
499
- },
500
324
  isNotPublished() {
501
325
  return !this.isPublished || !this.shouldPublish;
502
326
  },
503
327
  isSlugEditMode() {
504
328
  return this.isPublished && this.shouldPublish && this.isBrandPageSlugEditMode;
505
329
  },
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
- },
520
330
  showUpsellRotationContainer() {
521
331
  if (!this.isSubsequentPublish) {
522
332
  return false;
@@ -553,28 +363,10 @@ export default {
553
363
  return brandPageName;
554
364
  }
555
365
  },
556
- onDomainTypeRadioButtonClick(domain) {
557
- this.domainTypeValue = domain;
558
- this.closePurchasedDomainDropdown();
559
- this.$emit('radio-button-changed', domain);
560
- },
561
366
  onCloseModal() {
562
367
  this.$emit('close-modal');
563
368
  this.$emit('on-hide-domain-modal');
564
369
  },
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
- },
578
370
  onViewMore() {
579
371
  this.$emit('on-show-domain-modal');
580
372
  if (this.searchText) {
@@ -585,22 +377,29 @@ export default {
585
377
  this.searchText = val;
586
378
  this.$emit('on-change-search', val);
587
379
  },
588
- onSelectPurchasedDomain(newVal) {
589
- this.selectedCustomDomain = newVal;
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) {
590
393
  this.$emit('on-select-domain', newVal);
591
- this.closePurchasedDomainDropdown();
592
394
  },
593
-
594
- closePurchasedDomainDropdown() {
595
- if (this.$refs.dropdown?.hideMenu) {
596
- this.$refs.dropdown.hideMenu();
597
- }
395
+ onCopyUrlClick(newVal) {
396
+ this.$emit('copy-url-clicked', newVal);
598
397
  },
599
- onSellDomainNameListCloseModal() {
600
- this.$emit('on-hide-domain-modal');
398
+ onBrandPageUrlClick(newVal) {
399
+ this.$emit('on-brand-page-url-click', newVal);
601
400
  },
602
- onBuyNowClick() {
603
- this.$emit('on-buy-now-clicked');
401
+ onBuyNow(newVal) {
402
+ this.$emit('on-buy-now-clicked', newVal);
604
403
  },
605
404
  async searchDomainName(isUserTriggered) {
606
405
  this.isLoading = true;