@designcrowd/fe-shared-lib 1.5.1-icontranslation → 1.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) 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/CLAUDE.md +65 -227
  132. package/dist/css/tailwind-brandCrowd.css +2419 -0
  133. package/dist/css/tailwind-brandPage.css +2107 -0
  134. package/dist/css/tailwind-crazyDomains.css +2419 -0
  135. package/dist/css/tailwind-designCom.css +2419 -0
  136. package/dist/css/tailwind-designCrowd.css +2419 -0
  137. package/package.json +1 -1
  138. package/public/css/tailwind-brandCrowd.css +6 -3
  139. package/public/css/tailwind-brandPage.css +6 -3
  140. package/public/css/tailwind-crazyDomains.css +6 -3
  141. package/public/css/tailwind-designCom.css +6 -3
  142. package/public/css/tailwind-designCrowd.css +6 -3
  143. package/src/atoms/components/design-com/Icon/Icon.stories.js +0 -62
  144. package/src/atoms/components/design-com/Icon/Icon.vue +2 -7
  145. package/src/experiences/components/PublishBrandPageModal/PublishBrandPageModal.stories.js +36 -0
  146. package/src/experiences/components/PublishBrandPageModal/PublishBrandPageModal.vue +100 -297
  147. package/src/experiences/components/PublishBrandPageModal/views/PublishWhenHasDomainsView.vue +271 -0
  148. package/src/experiences/components/PublishBrandPageModal/views/PublishWhenNoDomainsView.vue +168 -0
  149. package/src/experiences/components/PublishBrandPageModal/views/PublishedView.vue +149 -0
  150. package/src/experiences/components/PublishBrandPageModal/views/SetUrlView.vue +155 -0
  151. package/.claude/settings.local.json +0 -17
  152. package/.claude/skills/publishing-test-versions.md +0 -285
  153. package/.storybook/image-1.png +0 -0
  154. package/.storybook/image-2.png +0 -0
  155. package/.storybook/image.png +0 -0
  156. package/.storybook/test.md +0 -3
  157. package/APasking.md +0 -9
  158. package/GT-8753.md +0 -127
  159. package/docs/plans/2025-11-03-typescript-declarations-design.md +0 -222
@@ -1,7 +1,7 @@
1
1
  <template>
2
2
  <div class="publish-bp--container">
3
3
  <Modal
4
- classes="publish-bp--modal tw-pt-4"
4
+ classes="publish-bp--modal tw-p-4"
5
5
  close-on-esc
6
6
  :visible="visible"
7
7
  :hide-scrollbar="false"
@@ -30,211 +30,77 @@
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">
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
+ >
100
+ <template #upsellContainer>
235
101
  <slot name="upsellContainer" />
236
- </div>
237
- </div>
102
+ </template>
103
+ </PublishedView>
238
104
  </template>
239
105
  </Modal>
240
106
  <SellDomainNameListModal
@@ -253,41 +119,32 @@
253
119
  </template>
254
120
  <script>
255
121
  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
122
  import SellDomainNameListModal from '../SellDomainNameListModal/SellDomainNameListModal.vue';
265
123
  import brandCrowdApiClient from '../../clients/brand-crowd-api.client';
266
124
  import Events, { sitePublishedModal } from '../../constants/event-constants';
267
125
  import mediaQueryMixin from '../../mixins/mediaQueryMixin';
268
126
  import { publishBrandPageModalTr } from '../../../useSharedLibTranslate';
127
+ import PublishedView from './views/PublishedView.vue';
128
+ import SetUrlView from './views/SetUrlView.vue';
129
+ import PublishWhenNoDomainsView from './views/PublishWhenNoDomainsView.vue';
130
+ import PublishWhenHasDomainsView from './views/PublishWhenHasDomainsView.vue';
269
131
 
270
132
  const DOMAIN_TYPES = {
271
133
  slug: 'slug',
272
134
  purchased: 'purchased',
273
135
  };
274
136
 
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
137
  const WEBSITE_FRIENDLY_NAME = 'Website';
278
138
  export const DIGITAL_BUSINESS_CARD = 'Digital Business Card';
279
139
 
280
140
  export default {
281
141
  components: {
282
142
  Modal,
283
- TextInput,
284
- Dropdown,
285
- DropdownItem,
286
- Button,
287
- TextCopyField,
288
- SellDomainNameSearchWithResults,
289
143
  SellDomainNameListModal,
290
- PublishBrandPageCard,
144
+ PublishedView,
145
+ SetUrlView,
146
+ PublishWhenNoDomainsView,
147
+ PublishWhenHasDomainsView,
291
148
  },
292
149
  mixins: [mediaQueryMixin],
293
150
  props: {
@@ -423,31 +280,19 @@ export default {
423
280
  emits: [
424
281
  'close-modal',
425
282
  'radio-button-changed',
426
- 'copy-url-click',
283
+ 'copy-url-clicked',
427
284
  'internal-publish-brand-page',
428
285
  'on-select-domain',
429
286
  'on-brand-page-url-click',
430
287
  'on-view-more-domains',
431
288
  'on-slug-changed',
289
+ 'on-show-domain-modal',
432
290
  ],
433
291
  setup() {
434
292
  return {
435
293
  publishBrandPageModalTr,
436
294
  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
295
  publishedSuccessDescriptionLabel: publishBrandPageModalTr('publishedSuccessDescriptionLabel'),
450
- selectDomainDropdownPlaceholder: publishBrandPageModalTr('selectDomainDropdownPlaceholder'),
451
296
  };
452
297
  },
453
298
  data() {
@@ -466,9 +311,6 @@ export default {
466
311
  };
467
312
  },
468
313
  computed: {
469
- brandPageBaseUrlWithoutHttps() {
470
- return this.brandPageBaseUrl.replace('https://', '');
471
- },
472
314
  firstTimePublishHeaderLabel() {
473
315
  const translatedBrandPageName = this.getLanguageAwareBrandPageDisplayName(this.brandPageDisplayName);
474
316
  return this.publishBrandPageModalTr('firstTimePublishHeaderLabel', {
@@ -480,43 +322,15 @@ export default {
480
322
  brandPageDisplayName: this.brandPageDisplayName,
481
323
  });
482
324
  },
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
325
  hasPurchasedDomains() {
495
326
  return this.domains && this.domains.length > 0;
496
327
  },
497
- slugErrorMessage() {
498
- return this.slugValidationError ? this.slugValidationError : this.publishErrorMessage;
499
- },
500
328
  isNotPublished() {
501
329
  return !this.isPublished || !this.shouldPublish;
502
330
  },
503
331
  isSlugEditMode() {
504
332
  return this.isPublished && this.shouldPublish && this.isBrandPageSlugEditMode;
505
333
  },
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
334
  showUpsellRotationContainer() {
521
335
  if (!this.isSubsequentPublish) {
522
336
  return false;
@@ -553,28 +367,10 @@ export default {
553
367
  return brandPageName;
554
368
  }
555
369
  },
556
- onDomainTypeRadioButtonClick(domain) {
557
- this.domainTypeValue = domain;
558
- this.closePurchasedDomainDropdown();
559
- this.$emit('radio-button-changed', domain);
560
- },
561
370
  onCloseModal() {
562
371
  this.$emit('close-modal');
563
372
  this.$emit('on-hide-domain-modal');
564
373
  },
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
374
  onViewMore() {
579
375
  this.$emit('on-show-domain-modal');
580
376
  if (this.searchText) {
@@ -585,22 +381,29 @@ export default {
585
381
  this.searchText = val;
586
382
  this.$emit('on-change-search', val);
587
383
  },
588
- onSelectPurchasedDomain(newVal) {
589
- this.selectedCustomDomain = newVal;
384
+ onSellDomainNameListCloseModal() {
385
+ this.$emit('on-hide-domain-modal');
386
+ },
387
+ onSlugChanged(e) {
388
+ this.$emit('on-slug-changed', e);
389
+ },
390
+ onInternalPublishBrandPage(slug, customdomain) {
391
+ this.$emit('internal-publish-brand-page', slug, customdomain);
392
+ },
393
+ onRadioButtonChanged(domain) {
394
+ this.$emit('radio-button-changed', domain);
395
+ },
396
+ onSelectDomain(newVal) {
590
397
  this.$emit('on-select-domain', newVal);
591
- this.closePurchasedDomainDropdown();
592
398
  },
593
-
594
- closePurchasedDomainDropdown() {
595
- if (this.$refs.dropdown?.hideMenu) {
596
- this.$refs.dropdown.hideMenu();
597
- }
399
+ onCopyUrlClick(newVal) {
400
+ this.$emit('copy-url-clicked', newVal);
598
401
  },
599
- onSellDomainNameListCloseModal() {
600
- this.$emit('on-hide-domain-modal');
402
+ onBrandPageUrlClick(newVal) {
403
+ this.$emit('on-brand-page-url-click', newVal);
601
404
  },
602
- onBuyNowClick() {
603
- this.$emit('on-buy-now-clicked');
405
+ onBuyNow(newVal) {
406
+ this.$emit('on-buy-now-clicked', newVal);
604
407
  },
605
408
  async searchDomainName(isUserTriggered) {
606
409
  this.isLoading = true;