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